129 lines
4.2 KiB
JavaScript
129 lines
4.2 KiB
JavaScript
/**
|
|
* @license
|
|
* Copyright 2023 Google LLC
|
|
* SPDX-License-Identifier: BSD-3-Clause
|
|
*/
|
|
/**
|
|
* Map of ARIAMixin properties to attributes
|
|
*/
|
|
export const ariaMixinAttributes = {
|
|
ariaAtomic: 'aria-atomic',
|
|
ariaAutoComplete: 'aria-autocomplete',
|
|
ariaBraileLabel: 'aria-brailelabel',
|
|
ariaBraileRoleDescription: 'aria-braileroledescription',
|
|
ariaBusy: 'aria-busy',
|
|
ariaChecked: 'aria-checked',
|
|
ariaColCount: 'aria-colcount',
|
|
ariaColIndex: 'aria-colindex',
|
|
ariaColSpan: 'aria-colspan',
|
|
ariaCurrent: 'aria-current',
|
|
ariaDescription: 'aria-description',
|
|
ariaDisabled: 'aria-disabled',
|
|
ariaExpanded: 'aria-expanded',
|
|
ariaHasPopup: 'aria-haspopup',
|
|
ariaHidden: 'aria-hidden',
|
|
ariaInvalid: 'aria-invalid',
|
|
ariaKeyShortcuts: 'aria-keyshortcuts',
|
|
ariaLabel: 'aria-label',
|
|
ariaLevel: 'aria-level',
|
|
ariaLive: 'aria-live',
|
|
ariaModal: 'aria-modal',
|
|
ariaMultiLine: 'aria-multiline',
|
|
ariaMultiSelectable: 'aria-multiselectable',
|
|
ariaOrientation: 'aria-orientation',
|
|
ariaPlaceholder: 'aria-placeholder',
|
|
ariaPosInSet: 'aria-posinset',
|
|
ariaPressed: 'aria-pressed',
|
|
ariaReadOnly: 'aria-readonly',
|
|
ariaRequired: 'aria-required',
|
|
ariaRoleDescription: 'aria-roledescription',
|
|
ariaRowCount: 'aria-rowcount',
|
|
ariaRowIndex: 'aria-rowindex',
|
|
ariaRowSpan: 'aria-rowspan',
|
|
ariaSelected: 'aria-selected',
|
|
ariaSetSize: 'aria-setsize',
|
|
ariaSort: 'aria-sort',
|
|
ariaValueMax: 'aria-valuemax',
|
|
ariaValueMin: 'aria-valuemin',
|
|
ariaValueNow: 'aria-valuenow',
|
|
ariaValueText: 'aria-valuetext',
|
|
role: 'role',
|
|
};
|
|
// Shim the global element internals object
|
|
// Methods should be fine as noops and properties can generally
|
|
// be while on the server.
|
|
export const ElementInternalsShim = class ElementInternals {
|
|
get shadowRoot() {
|
|
// Grab the shadow root instance from the Element shim
|
|
// to ensure that the shadow root is always available
|
|
// to the internals instance even if the mode is 'closed'
|
|
return this.__host
|
|
.__shadowRoot;
|
|
}
|
|
constructor(_host) {
|
|
this.ariaAtomic = '';
|
|
this.ariaAutoComplete = '';
|
|
this.ariaBraileLabel = '';
|
|
this.ariaBraileRoleDescription = '';
|
|
this.ariaBusy = '';
|
|
this.ariaChecked = '';
|
|
this.ariaColCount = '';
|
|
this.ariaColIndex = '';
|
|
this.ariaColSpan = '';
|
|
this.ariaCurrent = '';
|
|
this.ariaDescription = '';
|
|
this.ariaDisabled = '';
|
|
this.ariaExpanded = '';
|
|
this.ariaHasPopup = '';
|
|
this.ariaHidden = '';
|
|
this.ariaInvalid = '';
|
|
this.ariaKeyShortcuts = '';
|
|
this.ariaLabel = '';
|
|
this.ariaLevel = '';
|
|
this.ariaLive = '';
|
|
this.ariaModal = '';
|
|
this.ariaMultiLine = '';
|
|
this.ariaMultiSelectable = '';
|
|
this.ariaOrientation = '';
|
|
this.ariaPlaceholder = '';
|
|
this.ariaPosInSet = '';
|
|
this.ariaPressed = '';
|
|
this.ariaReadOnly = '';
|
|
this.ariaRequired = '';
|
|
this.ariaRoleDescription = '';
|
|
this.ariaRowCount = '';
|
|
this.ariaRowIndex = '';
|
|
this.ariaRowSpan = '';
|
|
this.ariaSelected = '';
|
|
this.ariaSetSize = '';
|
|
this.ariaSort = '';
|
|
this.ariaValueMax = '';
|
|
this.ariaValueMin = '';
|
|
this.ariaValueNow = '';
|
|
this.ariaValueText = '';
|
|
this.role = '';
|
|
this.form = null;
|
|
this.labels = [];
|
|
this.states = new Set();
|
|
this.validationMessage = '';
|
|
this.validity = {};
|
|
this.willValidate = true;
|
|
this.__host = _host;
|
|
}
|
|
checkValidity() {
|
|
// TODO(augustjk) Consider actually implementing logic.
|
|
// See https://github.com/lit/lit/issues/3740
|
|
console.warn('`ElementInternals.checkValidity()` was called on the server.' +
|
|
'This method always returns true.');
|
|
return true;
|
|
}
|
|
reportValidity() {
|
|
return true;
|
|
}
|
|
setFormValue() { }
|
|
setValidity() { }
|
|
};
|
|
const ElementInternalsShimWithRealType = ElementInternalsShim;
|
|
export { ElementInternalsShimWithRealType as ElementInternals };
|
|
export const HYDRATE_INTERNALS_ATTR_PREFIX = 'hydrate-internals-';
|
|
//# sourceMappingURL=element-internals.js.map
|