@m3e/core 1.0.0-rc.2 → 1.0.0-rc.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/a11y.js.map +1 -1
- package/dist/a11y.min.js.map +1 -1
- package/dist/css-custom-data.json +20 -0
- package/dist/custom-elements.json +263 -50
- package/dist/html-custom-data.json +22 -0
- package/dist/index.js +242 -15
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +43 -32
- package/dist/index.min.js.map +1 -1
- package/dist/src/a11y/AriaDescriber.d.ts +31 -0
- package/dist/src/a11y/AriaDescriber.d.ts.map +1 -0
- package/dist/src/a11y/FocusTrapElement.d.ts +25 -0
- package/dist/src/a11y/FocusTrapElement.d.ts.map +1 -0
- package/dist/src/a11y/InteractivityChecker.d.ts +22 -0
- package/dist/src/a11y/InteractivityChecker.d.ts.map +1 -0
- package/dist/src/a11y/LiveAnnouncer.d.ts +56 -0
- package/dist/src/a11y/LiveAnnouncer.d.ts.map +1 -0
- package/dist/src/a11y/aria-reference.d.ts +30 -0
- package/dist/src/a11y/aria-reference.d.ts.map +1 -0
- package/dist/src/a11y/index.d.ts +8 -0
- package/dist/src/a11y/index.d.ts.map +1 -0
- package/dist/src/a11y/keycodes/KeyCode.d.ts +118 -0
- package/dist/src/a11y/keycodes/KeyCode.d.ts.map +1 -0
- package/dist/src/a11y/keycodes/ModifierKeys.d.ts +5 -0
- package/dist/src/a11y/keycodes/ModifierKeys.d.ts.map +1 -0
- package/dist/src/a11y/keycodes/getKeyCode.d.ts +7 -0
- package/dist/src/a11y/keycodes/getKeyCode.d.ts.map +1 -0
- package/dist/src/a11y/keycodes/hasModifierKey.d.ts +9 -0
- package/dist/src/a11y/keycodes/hasModifierKey.d.ts.map +1 -0
- package/dist/src/a11y/keycodes/index.d.ts +6 -0
- package/dist/src/a11y/keycodes/index.d.ts.map +1 -0
- package/dist/src/a11y/keycodes/isModifierAllowed.d.ts +9 -0
- package/dist/src/a11y/keycodes/isModifierAllowed.d.ts.map +1 -0
- package/dist/src/a11y/list-key/FocusKeyManager.d.ts +17 -0
- package/dist/src/a11y/list-key/FocusKeyManager.d.ts.map +1 -0
- package/dist/src/a11y/list-key/ListKeyManager.d.ts +114 -0
- package/dist/src/a11y/list-key/ListKeyManager.d.ts.map +1 -0
- package/dist/src/a11y/list-key/ListManager.d.ts +37 -0
- package/dist/src/a11y/list-key/ListManager.d.ts.map +1 -0
- package/dist/src/a11y/list-key/RadioKeyManager.d.ts +20 -0
- package/dist/src/a11y/list-key/RadioKeyManager.d.ts.map +1 -0
- package/dist/src/a11y/list-key/RovingTabIndexManager.d.ts +22 -0
- package/dist/src/a11y/list-key/RovingTabIndexManager.d.ts.map +1 -0
- package/dist/src/a11y/list-key/SelectionManager.d.ts +46 -0
- package/dist/src/a11y/list-key/SelectionManager.d.ts.map +1 -0
- package/dist/src/a11y/list-key/Typeahead.d.ts +64 -0
- package/dist/src/a11y/list-key/Typeahead.d.ts.map +1 -0
- package/dist/src/a11y/list-key/index.d.ts +8 -0
- package/dist/src/a11y/list-key/index.d.ts.map +1 -0
- package/dist/src/a11y/visuallyHide.d.ts +6 -0
- package/dist/src/a11y/visuallyHide.d.ts.map +1 -0
- package/dist/src/anchoring/AnchorOptions.d.ts +15 -0
- package/dist/src/anchoring/AnchorOptions.d.ts.map +1 -0
- package/dist/src/anchoring/AnchorPosition.d.ts +3 -0
- package/dist/src/anchoring/AnchorPosition.d.ts.map +1 -0
- package/dist/src/anchoring/index.d.ts +4 -0
- package/dist/src/anchoring/index.d.ts.map +1 -0
- package/dist/src/anchoring/positionAnchor.d.ts +12 -0
- package/dist/src/anchoring/positionAnchor.d.ts.map +1 -0
- package/dist/src/bidi/Directionality.d.ts +27 -0
- package/dist/src/bidi/Directionality.d.ts.map +1 -0
- package/dist/src/bidi/index.d.ts +2 -0
- package/dist/src/bidi/index.d.ts.map +1 -0
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/layout/Breakpoint.d.ts +26 -0
- package/dist/src/layout/Breakpoint.d.ts.map +1 -0
- package/dist/src/layout/BreakpointObserver.d.ts +18 -0
- package/dist/src/layout/BreakpointObserver.d.ts.map +1 -0
- package/dist/src/layout/index.d.ts +3 -0
- package/dist/src/layout/index.d.ts.map +1 -0
- package/dist/src/platform/Platform.d.ts +34 -0
- package/dist/src/platform/Platform.d.ts.map +1 -0
- package/dist/src/platform/index.d.ts +2 -0
- package/dist/src/platform/index.d.ts.map +1 -0
- package/dist/src/shared/controllers/FocusController.d.ts +30 -0
- package/dist/src/shared/controllers/FocusController.d.ts.map +1 -0
- package/dist/src/shared/controllers/HoverController.d.ts +40 -0
- package/dist/src/shared/controllers/HoverController.d.ts.map +1 -0
- package/dist/src/shared/controllers/IntersectionController.d.ts +40 -0
- package/dist/src/shared/controllers/IntersectionController.d.ts.map +1 -0
- package/dist/src/shared/controllers/LongPressController.d.ts +32 -0
- package/dist/src/shared/controllers/LongPressController.d.ts.map +1 -0
- package/dist/src/shared/controllers/MonitorControllerBase.d.ts +62 -0
- package/dist/src/shared/controllers/MonitorControllerBase.d.ts.map +1 -0
- package/dist/src/shared/controllers/MutationController.d.ts +37 -0
- package/dist/src/shared/controllers/MutationController.d.ts.map +1 -0
- package/dist/src/shared/controllers/PressedController.d.ts +47 -0
- package/dist/src/shared/controllers/PressedController.d.ts.map +1 -0
- package/dist/src/shared/controllers/ResizeController.d.ts +40 -0
- package/dist/src/shared/controllers/ResizeController.d.ts.map +1 -0
- package/dist/src/shared/controllers/ScrollController.d.ts +34 -0
- package/dist/src/shared/controllers/ScrollController.d.ts.map +1 -0
- package/dist/src/shared/controllers/index.d.ts +9 -0
- package/dist/src/shared/controllers/index.d.ts.map +1 -0
- package/dist/src/shared/decorators/debounce.d.ts +7 -0
- package/dist/src/shared/decorators/debounce.d.ts.map +1 -0
- package/dist/src/shared/decorators/index.d.ts +2 -0
- package/dist/src/shared/decorators/index.d.ts.map +1 -0
- package/dist/src/shared/directives/index.d.ts +2 -0
- package/dist/src/shared/directives/index.d.ts.map +1 -0
- package/dist/src/shared/directives/safeStyleMap.d.ts +44 -0
- package/dist/src/shared/directives/safeStyleMap.d.ts.map +1 -0
- package/dist/src/shared/index.d.ts +8 -0
- package/dist/src/shared/index.d.ts.map +1 -0
- package/dist/src/shared/mixins/AttachInternals.d.ts +24 -0
- package/dist/src/shared/mixins/AttachInternals.d.ts.map +1 -0
- package/dist/src/shared/mixins/Checked.d.ts +24 -0
- package/dist/src/shared/mixins/Checked.d.ts.map +1 -0
- package/dist/src/shared/mixins/CheckedIndeterminate.d.ts +25 -0
- package/dist/src/shared/mixins/CheckedIndeterminate.d.ts.map +1 -0
- package/dist/src/shared/mixins/CheckedOrSelected.d.ts +23 -0
- package/dist/src/shared/mixins/CheckedOrSelected.d.ts.map +1 -0
- package/dist/src/shared/mixins/ConstraintValidation.d.ts +48 -0
- package/dist/src/shared/mixins/ConstraintValidation.d.ts.map +1 -0
- package/dist/src/shared/mixins/Constructor.d.ts +3 -0
- package/dist/src/shared/mixins/Constructor.d.ts.map +1 -0
- package/dist/src/shared/mixins/Dirty.d.ts +27 -0
- package/dist/src/shared/mixins/Dirty.d.ts.map +1 -0
- package/dist/src/shared/mixins/Disabled.d.ts +25 -0
- package/dist/src/shared/mixins/Disabled.d.ts.map +1 -0
- package/dist/src/shared/mixins/DisabledInteractive.d.ts +25 -0
- package/dist/src/shared/mixins/DisabledInteractive.d.ts.map +1 -0
- package/dist/src/shared/mixins/EventAttribute.d.ts +11 -0
- package/dist/src/shared/mixins/EventAttribute.d.ts.map +1 -0
- package/dist/src/shared/mixins/Focusable.d.ts +11 -0
- package/dist/src/shared/mixins/Focusable.d.ts.map +1 -0
- package/dist/src/shared/mixins/FormAssociated.d.ts +34 -0
- package/dist/src/shared/mixins/FormAssociated.d.ts.map +1 -0
- package/dist/src/shared/mixins/FormSubmitter.d.ts +34 -0
- package/dist/src/shared/mixins/FormSubmitter.d.ts.map +1 -0
- package/dist/src/shared/mixins/HtmlFor.d.ts +30 -0
- package/dist/src/shared/mixins/HtmlFor.d.ts.map +1 -0
- package/dist/src/shared/mixins/KeyboardClick.d.ts +11 -0
- package/dist/src/shared/mixins/KeyboardClick.d.ts.map +1 -0
- package/dist/src/shared/mixins/Labelled.d.ts +26 -0
- package/dist/src/shared/mixins/Labelled.d.ts.map +1 -0
- package/dist/src/shared/mixins/LinkButton.d.ts +46 -0
- package/dist/src/shared/mixins/LinkButton.d.ts.map +1 -0
- package/dist/src/shared/mixins/ReadOnly.d.ts +25 -0
- package/dist/src/shared/mixins/ReadOnly.d.ts.map +1 -0
- package/dist/src/shared/mixins/Required.d.ts +26 -0
- package/dist/src/shared/mixins/Required.d.ts.map +1 -0
- package/dist/src/shared/mixins/RequiredConstraintValidation.d.ts +21 -0
- package/dist/src/shared/mixins/RequiredConstraintValidation.d.ts.map +1 -0
- package/dist/src/shared/mixins/Role.d.ts +13 -0
- package/dist/src/shared/mixins/Role.d.ts.map +1 -0
- package/dist/src/shared/mixins/Selected.d.ts +24 -0
- package/dist/src/shared/mixins/Selected.d.ts.map +1 -0
- package/dist/src/shared/mixins/Touched.d.ts +27 -0
- package/dist/src/shared/mixins/Touched.d.ts.map +1 -0
- package/dist/src/shared/mixins/Vertical.d.ts +24 -0
- package/dist/src/shared/mixins/Vertical.d.ts.map +1 -0
- package/dist/src/shared/mixins/hasKeys.d.ts +9 -0
- package/dist/src/shared/mixins/hasKeys.d.ts.map +1 -0
- package/dist/src/shared/mixins/index.d.ts +25 -0
- package/dist/src/shared/mixins/index.d.ts.map +1 -0
- package/dist/src/shared/primitives/CollapsibleElement.d.ts +58 -0
- package/dist/src/shared/primitives/CollapsibleElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/ElevationElement.d.ts +87 -0
- package/dist/src/shared/primitives/ElevationElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/ElevationLevel.d.ts +3 -0
- package/dist/src/shared/primitives/ElevationLevel.d.ts.map +1 -0
- package/dist/src/shared/primitives/ElevationToken.d.ts +15 -0
- package/dist/src/shared/primitives/ElevationToken.d.ts.map +1 -0
- package/dist/src/shared/primitives/FocusRingElement.d.ts +77 -0
- package/dist/src/shared/primitives/FocusRingElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/FocusRingToken.d.ts +17 -0
- package/dist/src/shared/primitives/FocusRingToken.d.ts.map +1 -0
- package/dist/src/shared/primitives/PseudoCheckboxElement.d.ts +49 -0
- package/dist/src/shared/primitives/PseudoCheckboxElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/PseudoRadioElement.d.ts +40 -0
- package/dist/src/shared/primitives/PseudoRadioElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/RippleElement.d.ts +109 -0
- package/dist/src/shared/primitives/RippleElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/RippleToken.d.ts +12 -0
- package/dist/src/shared/primitives/RippleToken.d.ts.map +1 -0
- package/dist/src/shared/primitives/ScrollContainerElement.d.ts +61 -0
- package/dist/src/shared/primitives/ScrollContainerElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/ScrollDividers.d.ts +3 -0
- package/dist/src/shared/primitives/ScrollDividers.d.ts.map +1 -0
- package/dist/src/shared/primitives/SlideElement.d.ts +46 -0
- package/dist/src/shared/primitives/SlideElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/StateLayerElement.d.ts +76 -0
- package/dist/src/shared/primitives/StateLayerElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/StateLayerToken.d.ts +13 -0
- package/dist/src/shared/primitives/StateLayerToken.d.ts.map +1 -0
- package/dist/src/shared/primitives/TextHighlightElement.d.ts +81 -0
- package/dist/src/shared/primitives/TextHighlightElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/TextOverflowElement.d.ts +38 -0
- package/dist/src/shared/primitives/TextOverflowElement.d.ts.map +1 -0
- package/dist/src/shared/primitives/index.d.ts +14 -0
- package/dist/src/shared/primitives/index.d.ts.map +1 -0
- package/dist/src/shared/tokens/ColorToken.d.ts +96 -0
- package/dist/src/shared/tokens/ColorToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/DensityToken.d.ts +15 -0
- package/dist/src/shared/tokens/DensityToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/DesignToken.d.ts +366 -0
- package/dist/src/shared/tokens/DesignToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/ElevationToken.d.ts +16 -0
- package/dist/src/shared/tokens/ElevationToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/MotionToken.d.ts +69 -0
- package/dist/src/shared/tokens/MotionToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/ScrollbarToken.d.ts +10 -0
- package/dist/src/shared/tokens/ScrollbarToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/ShapeToken.d.ts +79 -0
- package/dist/src/shared/tokens/ShapeToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/StateToken.d.ts +10 -0
- package/dist/src/shared/tokens/StateToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/TypescaleToken.d.ts +220 -0
- package/dist/src/shared/tokens/TypescaleToken.d.ts.map +1 -0
- package/dist/src/shared/tokens/index.d.ts +2 -0
- package/dist/src/shared/tokens/index.d.ts.map +1 -0
- package/dist/src/shared/utils/getTextContent.d.ts +8 -0
- package/dist/src/shared/utils/getTextContent.d.ts.map +1 -0
- package/dist/src/shared/utils/guid.d.ts +6 -0
- package/dist/src/shared/utils/guid.d.ts.map +1 -0
- package/dist/src/shared/utils/hasAssignedNodes.d.ts +7 -0
- package/dist/src/shared/utils/hasAssignedNodes.d.ts.map +1 -0
- package/dist/src/shared/utils/index.d.ts +6 -0
- package/dist/src/shared/utils/index.d.ts.map +1 -0
- package/dist/src/shared/utils/prefersReducedMotion.d.ts +6 -0
- package/dist/src/shared/utils/prefersReducedMotion.d.ts.map +1 -0
- package/dist/src/shared/utils/scrollIntoViewIfNeeded.d.ts +8 -0
- package/dist/src/shared/utils/scrollIntoViewIfNeeded.d.ts.map +1 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -519,7 +519,9 @@ _PressedController_capture = new WeakMap(), _PressedController_callback = new We
|
|
|
519
519
|
}
|
|
520
520
|
}
|
|
521
521
|
}, _PressedController_handleKeyDown = function _PressedController_handleKeyDown(e) {
|
|
522
|
-
|
|
522
|
+
if (e.target !== e.currentTarget)
|
|
523
|
+
return;
|
|
524
|
+
const target = e.currentTarget;
|
|
523
525
|
if (!__classPrivateFieldGet(this, _PressedController_pressedTargets, "f").has(target) && __classPrivateFieldGet(this, _PressedController_isPressedKey, "f")?.call(this, e.key)) {
|
|
524
526
|
if (e.key === " ") {
|
|
525
527
|
e.preventDefault();
|
|
@@ -982,10 +984,17 @@ function Selected(base) {
|
|
|
982
984
|
if (this.role === "button") {
|
|
983
985
|
this.ariaPressed = `${this.selected}`;
|
|
984
986
|
this.ariaSelected = null;
|
|
987
|
+
this.ariaChecked = null;
|
|
988
|
+
}
|
|
989
|
+
else if (this.role === "radio") {
|
|
990
|
+
this.ariaChecked = `${this.selected}`;
|
|
991
|
+
this.ariaSelected = null;
|
|
992
|
+
this.ariaPressed = null;
|
|
985
993
|
}
|
|
986
994
|
else if (this.role && this.role !== "none" && this.role !== "presentation") {
|
|
987
995
|
this.ariaSelected = `${this.selected}`;
|
|
988
996
|
this.ariaPressed = null;
|
|
997
|
+
this.ariaChecked = null;
|
|
989
998
|
}
|
|
990
999
|
}
|
|
991
1000
|
}
|
|
@@ -1116,12 +1125,12 @@ function Touched(base) {
|
|
|
1116
1125
|
connectedCallback() {
|
|
1117
1126
|
this.markAsUntouched();
|
|
1118
1127
|
super.connectedCallback();
|
|
1119
|
-
this.addEventListener("focusout", this[_eventHandler$1]);
|
|
1128
|
+
this.addEventListener("focusout", this[_eventHandler$1], { capture: true });
|
|
1120
1129
|
}
|
|
1121
1130
|
/** @inheritdoc */
|
|
1122
1131
|
disconnectedCallback() {
|
|
1123
1132
|
super.disconnectedCallback();
|
|
1124
|
-
this.removeEventListener("focusout", this[_eventHandler$1]);
|
|
1133
|
+
this.removeEventListener("focusout", this[_eventHandler$1], { capture: true });
|
|
1125
1134
|
}
|
|
1126
1135
|
/** Marks the element as touched. */
|
|
1127
1136
|
markAsTouched() {
|
|
@@ -1873,6 +1882,8 @@ function DisabledInteractive(base) {
|
|
|
1873
1882
|
return _DisabledInteractiveMixin;
|
|
1874
1883
|
}
|
|
1875
1884
|
|
|
1885
|
+
/** A symbol through which to update labels to reflect a control's current state. */
|
|
1886
|
+
const updateLabels = Symbol("updateLabels");
|
|
1876
1887
|
/**
|
|
1877
1888
|
* Determines whether a value is a `LabelledMixin`.
|
|
1878
1889
|
* @param {unknown} value The value to test.
|
|
@@ -1881,7 +1892,6 @@ function DisabledInteractive(base) {
|
|
|
1881
1892
|
function isLabelledMixin(value) {
|
|
1882
1893
|
return hasKeys(value, "labels") && isAttachInternalsMixin(value);
|
|
1883
1894
|
}
|
|
1884
|
-
const _updateLabels = Symbol("_updateLabels");
|
|
1885
1895
|
const _eventHandler = Symbol("_eventHandler");
|
|
1886
1896
|
/**
|
|
1887
1897
|
* Mixin to augment an element with support for labelling.
|
|
@@ -1897,7 +1907,7 @@ function Labelled(base) {
|
|
|
1897
1907
|
/** @private */
|
|
1898
1908
|
this[_a] = (e) => {
|
|
1899
1909
|
if (!e.defaultPrevented) {
|
|
1900
|
-
this[
|
|
1910
|
+
this[updateLabels]();
|
|
1901
1911
|
}
|
|
1902
1912
|
};
|
|
1903
1913
|
}
|
|
@@ -1920,18 +1930,19 @@ function Labelled(base) {
|
|
|
1920
1930
|
/** @inheritdoc */
|
|
1921
1931
|
update(changedProperties) {
|
|
1922
1932
|
super.update(changedProperties);
|
|
1923
|
-
this[
|
|
1933
|
+
this[updateLabels]();
|
|
1924
1934
|
}
|
|
1925
|
-
/** @
|
|
1926
|
-
[(_a = _eventHandler,
|
|
1935
|
+
/** @internal */
|
|
1936
|
+
[(_a = _eventHandler, updateLabels)]() {
|
|
1927
1937
|
const focusable = this.hasAttribute("tabindex");
|
|
1928
1938
|
const disabled = (isDisabledMixin(this) && this.disabled) || (isDisabledInteractiveMixin(this) && this.disabledInteractive);
|
|
1929
|
-
|
|
1939
|
+
const invalid = isTouchedMixin(this) && this.touched && (this.ariaInvalid || this.classList.contains("-invalid"));
|
|
1940
|
+
for (const label of this.labels ?? []) {
|
|
1930
1941
|
label.style.userSelect = focusable ? "none" : "";
|
|
1931
|
-
label.style.cursor = !disabled ? "pointer" : "";
|
|
1942
|
+
label.style.cursor = !disabled && focusable ? "pointer" : "";
|
|
1932
1943
|
label.style.color = disabled
|
|
1933
1944
|
? `color-mix(in srgb, ${DesignToken.color.onSurface} 38%, transparent)`
|
|
1934
|
-
:
|
|
1945
|
+
: invalid
|
|
1935
1946
|
? `${DesignToken.color.error}`
|
|
1936
1947
|
: "";
|
|
1937
1948
|
}
|
|
@@ -2168,6 +2179,9 @@ function ConstraintValidation(base) {
|
|
|
2168
2179
|
this[internals].setValidity(validity, validityMessage);
|
|
2169
2180
|
this.ariaInvalid = invalid ? "true" : null;
|
|
2170
2181
|
this.classList.toggle("-invalid", invalid === true);
|
|
2182
|
+
if (isLabelledMixin(this)) {
|
|
2183
|
+
this[updateLabels]?.();
|
|
2184
|
+
}
|
|
2171
2185
|
}
|
|
2172
2186
|
}
|
|
2173
2187
|
__ConstraintValidation_getNativeMessage = function __ConstraintValidation_getNativeMessage(flags) {
|
|
@@ -2230,7 +2244,7 @@ function ConstraintValidation(base) {
|
|
|
2230
2244
|
*/
|
|
2231
2245
|
function EventAttribute(base, ...types) {
|
|
2232
2246
|
class _EventAttribute extends base {
|
|
2233
|
-
/** @
|
|
2247
|
+
/** @internal */
|
|
2234
2248
|
dispatchEvent(event) {
|
|
2235
2249
|
if (types.includes(event.type)) {
|
|
2236
2250
|
const eventAttribute = this.getAttribute(`on${event.type}`);
|
|
@@ -2321,7 +2335,9 @@ function FormSubmitter(base) {
|
|
|
2321
2335
|
this.type = "button";
|
|
2322
2336
|
/** @private */
|
|
2323
2337
|
this[_a] = async (e) => {
|
|
2324
|
-
if (
|
|
2338
|
+
if (e.defaultPrevented ||
|
|
2339
|
+
(isDisabledMixin(this) && this.disabled) ||
|
|
2340
|
+
(isDisabledInteractiveMixin(this) && this.disabledInteractive)) {
|
|
2325
2341
|
return;
|
|
2326
2342
|
}
|
|
2327
2343
|
const form = this[internals].form;
|
|
@@ -2387,6 +2403,8 @@ function FormSubmitter(base) {
|
|
|
2387
2403
|
}
|
|
2388
2404
|
}
|
|
2389
2405
|
_a = _clickHandler$1;
|
|
2406
|
+
/** Indicates that this custom element participates in form submission, validation, and form state restoration. */
|
|
2407
|
+
_FormSubmitterMixin.formAssociated = true;
|
|
2390
2408
|
__decorate([
|
|
2391
2409
|
n$1()
|
|
2392
2410
|
], _FormSubmitterMixin.prototype, "name", null);
|
|
@@ -2501,7 +2519,10 @@ function KeyboardClick(base, allowEnter = true) {
|
|
|
2501
2519
|
}
|
|
2502
2520
|
}
|
|
2503
2521
|
__KeyboardClickMixin_keyUpHandler = new WeakMap(), __KeyboardClickMixin_instances = new WeakSet(), __KeyboardClickMixin_handleKeyUp = function __KeyboardClickMixin_handleKeyUp(e) {
|
|
2504
|
-
if (
|
|
2522
|
+
if (e.defaultPrevented ||
|
|
2523
|
+
e.target !== e.currentTarget ||
|
|
2524
|
+
(isDisabledMixin(this) && this.disabled) ||
|
|
2525
|
+
(isDisabledInteractiveMixin(this) && this.disabledInteractive)) {
|
|
2505
2526
|
return;
|
|
2506
2527
|
}
|
|
2507
2528
|
if (e.key === " " || (allowEnter && e.key === "Enter")) {
|
|
@@ -4507,5 +4528,211 @@ M3eTextOverflowElement = __decorate([
|
|
|
4507
4528
|
t$2("m3e-text-overflow")
|
|
4508
4529
|
], M3eTextOverflowElement);
|
|
4509
4530
|
|
|
4510
|
-
|
|
4531
|
+
var _M3eTextHighlightElement_instances, _M3eTextHighlightElement_id, _M3eTextHighlightElement_ranges, _M3eTextHighlightElement_styles, _M3eTextHighlightElement_isTextNode, _M3eTextHighlightElement_findTextNodes, _M3eTextHighlightElement_highlight;
|
|
4532
|
+
var M3eTextHighlightElement_1;
|
|
4533
|
+
/**
|
|
4534
|
+
* Highlights text which matches a given search term.
|
|
4535
|
+
*
|
|
4536
|
+
* @description
|
|
4537
|
+
* Highlights all text ranges in slotted content that match a given search term using the CSS Custom Highlight API.
|
|
4538
|
+
*
|
|
4539
|
+
* @example
|
|
4540
|
+
* The following example illustrates highlighting "Lor".
|
|
4541
|
+
* ```html
|
|
4542
|
+
* <m3e-text-highlight term="Lor">
|
|
4543
|
+
* <p>
|
|
4544
|
+
* Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt
|
|
4545
|
+
* ut labore et dolore magna aliqua.
|
|
4546
|
+
* </p>
|
|
4547
|
+
* </m3e-text-highlight>
|
|
4548
|
+
* ```
|
|
4549
|
+
*
|
|
4550
|
+
* @tag m3e-text-highlight
|
|
4551
|
+
*
|
|
4552
|
+
* @slot - Renders the content to highlight.
|
|
4553
|
+
*
|
|
4554
|
+
* @attr case-sensitive - A value indicating whether matching is case sensitive.
|
|
4555
|
+
* @attr disabled - A value indicating whether text highlighting is disabled.
|
|
4556
|
+
* @attr term - The term to highlight.
|
|
4557
|
+
*
|
|
4558
|
+
* @fires highlight - Emitted when content is highlighted.
|
|
4559
|
+
*
|
|
4560
|
+
* @cssprop --m3e-text-highlight-container-color - Background color applied to highlighted text ranges.
|
|
4561
|
+
* @cssprop --m3e-text-highlight-color - Foreground color of highlighted text content.
|
|
4562
|
+
* @cssprop --m3e-text-highlight-decoration - Optional text decoration (e.g., underline, line-through) for highlighted text.
|
|
4563
|
+
* @cssprop --m3e-text-highlight-shadow - Optional text shadow for emphasis or contrast.
|
|
4564
|
+
*/
|
|
4565
|
+
let M3eTextHighlightElement = M3eTextHighlightElement_1 = class M3eTextHighlightElement extends LitElement {
|
|
4566
|
+
constructor() {
|
|
4567
|
+
super();
|
|
4568
|
+
_M3eTextHighlightElement_instances.add(this);
|
|
4569
|
+
/** @private */ _M3eTextHighlightElement_id.set(this, `m3e-text-highlight-${M3eTextHighlightElement_1.__nextId++}`);
|
|
4570
|
+
/** @private */ _M3eTextHighlightElement_ranges.set(this, new Array());
|
|
4571
|
+
/** @private */ _M3eTextHighlightElement_styles.set(this, null);
|
|
4572
|
+
/**
|
|
4573
|
+
* A value indicating whether text highlighting is disabled.
|
|
4574
|
+
* @default false
|
|
4575
|
+
*/
|
|
4576
|
+
this.disabled = false;
|
|
4577
|
+
/**
|
|
4578
|
+
* The term to highlight.
|
|
4579
|
+
* @default ""
|
|
4580
|
+
*/
|
|
4581
|
+
this.term = "";
|
|
4582
|
+
/**
|
|
4583
|
+
* A value indicating whether matching is case sensitive.
|
|
4584
|
+
* @default false
|
|
4585
|
+
*/
|
|
4586
|
+
this.caseSensitive = false;
|
|
4587
|
+
if (this.isSupported) {
|
|
4588
|
+
__classPrivateFieldSet(this, _M3eTextHighlightElement_styles, new CSSStyleSheet(), "f");
|
|
4589
|
+
__classPrivateFieldGet(this, _M3eTextHighlightElement_styles, "f").replaceSync(css `
|
|
4590
|
+
::highlight(${unsafeCSS(__classPrivateFieldGet(this, _M3eTextHighlightElement_id, "f"))}) {
|
|
4591
|
+
background-color: var(--m3e-text-highlight-container-color, ${DesignToken.color.secondaryContainer});
|
|
4592
|
+
color: var(--m3e-text-highlight-color, ${DesignToken.color.onSecondaryContainer});
|
|
4593
|
+
text-decoration: var(--m3e-text-highlight-decoration);
|
|
4594
|
+
text-shadow: var(--m3e-text-highlight-shadow);
|
|
4595
|
+
}
|
|
4596
|
+
`.toString());
|
|
4597
|
+
}
|
|
4598
|
+
}
|
|
4599
|
+
/** A value indicating whether text highlighting is supported by the browser. */
|
|
4600
|
+
get isSupported() {
|
|
4601
|
+
return !isServer && CSS.highlights ? true : false;
|
|
4602
|
+
}
|
|
4603
|
+
/** The ranges that match the current term. */
|
|
4604
|
+
get ranges() {
|
|
4605
|
+
return __classPrivateFieldGet(this, _M3eTextHighlightElement_ranges, "f");
|
|
4606
|
+
}
|
|
4607
|
+
/** @inheritdoc */
|
|
4608
|
+
firstUpdated(_changedProperties) {
|
|
4609
|
+
super.firstUpdated(_changedProperties);
|
|
4610
|
+
if (this.shadowRoot && __classPrivateFieldGet(this, _M3eTextHighlightElement_styles, "f") && !this.shadowRoot.adoptedStyleSheets.includes(__classPrivateFieldGet(this, _M3eTextHighlightElement_styles, "f"))) {
|
|
4611
|
+
this.shadowRoot.adoptedStyleSheets.push(__classPrivateFieldGet(this, _M3eTextHighlightElement_styles, "f"));
|
|
4612
|
+
}
|
|
4613
|
+
}
|
|
4614
|
+
/** @inheritdoc */
|
|
4615
|
+
updated(_changedProperties) {
|
|
4616
|
+
super.updated(_changedProperties);
|
|
4617
|
+
if (_changedProperties.has("term") ||
|
|
4618
|
+
_changedProperties.has("caseSensitive") ||
|
|
4619
|
+
_changedProperties.has("disabled")) {
|
|
4620
|
+
__classPrivateFieldGet(this, _M3eTextHighlightElement_instances, "m", _M3eTextHighlightElement_highlight).call(this);
|
|
4621
|
+
}
|
|
4622
|
+
}
|
|
4623
|
+
/** @inheritdoc */
|
|
4624
|
+
render() {
|
|
4625
|
+
return html `<slot @slotchange="${__classPrivateFieldGet(this, _M3eTextHighlightElement_instances, "m", _M3eTextHighlightElement_highlight)}"></slot>`;
|
|
4626
|
+
}
|
|
4627
|
+
};
|
|
4628
|
+
_M3eTextHighlightElement_id = new WeakMap();
|
|
4629
|
+
_M3eTextHighlightElement_ranges = new WeakMap();
|
|
4630
|
+
_M3eTextHighlightElement_styles = new WeakMap();
|
|
4631
|
+
_M3eTextHighlightElement_instances = new WeakSet();
|
|
4632
|
+
_M3eTextHighlightElement_isTextNode = function _M3eTextHighlightElement_isTextNode(node) {
|
|
4633
|
+
return /^(\\s|\\n)+$/gi.test(node.data) ? false : true;
|
|
4634
|
+
};
|
|
4635
|
+
_M3eTextHighlightElement_findTextNodes = function _M3eTextHighlightElement_findTextNodes(parent, nodes) {
|
|
4636
|
+
if (parent instanceof HTMLSlotElement) {
|
|
4637
|
+
parent.assignedElements({ flatten: true }).forEach((x) => {
|
|
4638
|
+
switch (x.nodeType) {
|
|
4639
|
+
case Node.TEXT_NODE:
|
|
4640
|
+
if (__classPrivateFieldGet(this, _M3eTextHighlightElement_instances, "m", _M3eTextHighlightElement_isTextNode).call(this, x)) {
|
|
4641
|
+
nodes.push(x);
|
|
4642
|
+
}
|
|
4643
|
+
break;
|
|
4644
|
+
case Node.ELEMENT_NODE:
|
|
4645
|
+
__classPrivateFieldGet(this, _M3eTextHighlightElement_instances, "m", _M3eTextHighlightElement_findTextNodes).call(this, x, nodes);
|
|
4646
|
+
break;
|
|
4647
|
+
}
|
|
4648
|
+
});
|
|
4649
|
+
}
|
|
4650
|
+
else {
|
|
4651
|
+
parent.childNodes.forEach((x) => {
|
|
4652
|
+
switch (x.nodeType) {
|
|
4653
|
+
case Node.TEXT_NODE:
|
|
4654
|
+
if (__classPrivateFieldGet(this, _M3eTextHighlightElement_instances, "m", _M3eTextHighlightElement_isTextNode).call(this, x)) {
|
|
4655
|
+
nodes.push(x);
|
|
4656
|
+
}
|
|
4657
|
+
break;
|
|
4658
|
+
case Node.ELEMENT_NODE:
|
|
4659
|
+
__classPrivateFieldGet(this, _M3eTextHighlightElement_instances, "m", _M3eTextHighlightElement_findTextNodes).call(this, x, nodes);
|
|
4660
|
+
break;
|
|
4661
|
+
}
|
|
4662
|
+
});
|
|
4663
|
+
}
|
|
4664
|
+
};
|
|
4665
|
+
_M3eTextHighlightElement_highlight = function _M3eTextHighlightElement_highlight() {
|
|
4666
|
+
if (!this.isSupported || !this.isConnected)
|
|
4667
|
+
return;
|
|
4668
|
+
CSS.highlights.delete(__classPrivateFieldGet(this, _M3eTextHighlightElement_id, "f"));
|
|
4669
|
+
__classPrivateFieldGet(this, _M3eTextHighlightElement_ranges, "f").length = 0;
|
|
4670
|
+
if (this.disabled)
|
|
4671
|
+
return;
|
|
4672
|
+
if (!this.term) {
|
|
4673
|
+
this.dispatchEvent(new CustomEvent("highlight", {
|
|
4674
|
+
detail: [...__classPrivateFieldGet(this, _M3eTextHighlightElement_ranges, "f")],
|
|
4675
|
+
bubbles: false,
|
|
4676
|
+
composed: false,
|
|
4677
|
+
}));
|
|
4678
|
+
return;
|
|
4679
|
+
}
|
|
4680
|
+
const texts = new Array();
|
|
4681
|
+
__classPrivateFieldGet(this, _M3eTextHighlightElement_instances, "m", _M3eTextHighlightElement_findTextNodes).call(this, this, texts);
|
|
4682
|
+
const term = !this.caseSensitive ? this.term.toLowerCase() : this.term;
|
|
4683
|
+
__classPrivateFieldSet(this, _M3eTextHighlightElement_ranges, texts
|
|
4684
|
+
.map((x) => {
|
|
4685
|
+
return {
|
|
4686
|
+
el: x,
|
|
4687
|
+
text: (!this.caseSensitive ? x.textContent?.toLowerCase() : x.textContent) ?? "",
|
|
4688
|
+
};
|
|
4689
|
+
})
|
|
4690
|
+
.map(({ el, text }) => {
|
|
4691
|
+
const indices = new Array();
|
|
4692
|
+
let startPos = 0;
|
|
4693
|
+
while (startPos < text.length) {
|
|
4694
|
+
const index = text.indexOf(term, startPos);
|
|
4695
|
+
if (index === -1)
|
|
4696
|
+
break;
|
|
4697
|
+
indices.push(index);
|
|
4698
|
+
startPos = index + term.length;
|
|
4699
|
+
}
|
|
4700
|
+
return indices.map((index) => {
|
|
4701
|
+
const range = new Range();
|
|
4702
|
+
range.setStart(el, index);
|
|
4703
|
+
range.setEnd(el, index + term.length);
|
|
4704
|
+
return range;
|
|
4705
|
+
});
|
|
4706
|
+
})
|
|
4707
|
+
.flat(), "f");
|
|
4708
|
+
if (__classPrivateFieldGet(this, _M3eTextHighlightElement_ranges, "f").length > 0) {
|
|
4709
|
+
CSS.highlights.set(__classPrivateFieldGet(this, _M3eTextHighlightElement_id, "f"), new Highlight(...__classPrivateFieldGet(this, _M3eTextHighlightElement_ranges, "f")));
|
|
4710
|
+
}
|
|
4711
|
+
this.dispatchEvent(new CustomEvent("highlight", {
|
|
4712
|
+
detail: [...__classPrivateFieldGet(this, _M3eTextHighlightElement_ranges, "f")],
|
|
4713
|
+
bubbles: false,
|
|
4714
|
+
composed: false,
|
|
4715
|
+
}));
|
|
4716
|
+
};
|
|
4717
|
+
/** The styles of the element. */
|
|
4718
|
+
M3eTextHighlightElement.styles = css `
|
|
4719
|
+
:host {
|
|
4720
|
+
display: contents;
|
|
4721
|
+
}
|
|
4722
|
+
`;
|
|
4723
|
+
/** @private */ M3eTextHighlightElement.__nextId = 0;
|
|
4724
|
+
__decorate([
|
|
4725
|
+
n$1({ type: Boolean, reflect: true })
|
|
4726
|
+
], M3eTextHighlightElement.prototype, "disabled", void 0);
|
|
4727
|
+
__decorate([
|
|
4728
|
+
n$1()
|
|
4729
|
+
], M3eTextHighlightElement.prototype, "term", void 0);
|
|
4730
|
+
__decorate([
|
|
4731
|
+
n$1({ attribute: "case-sensitive", type: Boolean })
|
|
4732
|
+
], M3eTextHighlightElement.prototype, "caseSensitive", void 0);
|
|
4733
|
+
M3eTextHighlightElement = M3eTextHighlightElement_1 = __decorate([
|
|
4734
|
+
t$2("m3e-text-highlight")
|
|
4735
|
+
], M3eTextHighlightElement);
|
|
4736
|
+
|
|
4737
|
+
export { AttachInternals, Checked, CheckedIndeterminate, ConstraintValidation, DesignToken, Dirty, Disabled, DisabledInteractive, EventAttribute, FocusController, Focusable, FormAssociated, FormSubmitter, HoverController, HtmlFor, IntersectionController, KeyboardClick, Labelled, LinkButton, LongPressController, M3eCollapsibleElement, M3eElevationElement, M3eFocusRingElement, M3ePseudoCheckboxElement, M3ePseudoRadioElement, M3eRippleElement, M3eScrollContainerElement, M3eSlide, M3eStateLayerElement, M3eTextHighlightElement, M3eTextOverflowElement, MutationController, PressedController, ReadOnly, Required, RequiredConstraintValidation, ResizeController, Role, ScrollController, Selected, Touched, Vertical, checkOrSelect, debounce, defaultValue, formValue, getTextContent, guid, hasAssignedNodes, hasKeys, internals, isAttachInternalsMixin, isCheckedIndeterminateMixin, isCheckedMixin, isCheckedOrSelected, isCheckedOrSelectedMixin, isConstraintValidationMixin, isDirtyMixin, isDisabledInteractiveMixin, isDisabledMixin, isFormAssociatedMixin, isFormSubmitterMixin, isHtmlForMixin, isLabelledMixin, isLinkButtonMixin, isReadOnlyMixin, isRequiredConstraintValidationMixin, isRequiredMixin, isSelectedMixin, isTouchedMixin, isVerticalMixin, prefersReducedMotion, renderPseudoLink, safeStyleMap, scrollIntoViewIfNeeded, updateLabels, validate };
|
|
4511
4738
|
//# sourceMappingURL=index.js.map
|