@haiilo/catalyst 14.4.0 → 14.5.0
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/catalyst/catalyst.css +15 -4
- package/dist/catalyst/catalyst.esm.js +1 -1
- package/dist/catalyst/{p-CFGROHMy.js → p-7uZgmxXB.js} +2 -2
- package/dist/catalyst/p-7uZgmxXB.js.map +1 -0
- package/dist/catalyst/p-fb92a2f1.entry.js +10 -0
- package/dist/catalyst/p-fb92a2f1.entry.js.map +1 -0
- package/dist/catalyst/scss/core/_nav.scss +2 -1
- package/dist/catalyst/scss/core/sanitize-overwrite.scss +3 -0
- package/dist/catalyst/scss/index.scss +1 -0
- package/dist/cjs/{cat-alert_30.cjs.entry.js → cat-alert_32.cjs.entry.js} +346 -103
- package/dist/cjs/catalyst.cjs.js +2 -2
- package/dist/cjs/{index-B8-TCsLD.js → index-Ddad39qn.js} +7 -4
- package/dist/cjs/index-Ddad39qn.js.map +1 -0
- package/dist/cjs/loader.cjs.js +2 -2
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/cat-alert/cat-alert.js +1 -1
- package/dist/collection/components/cat-badge/cat-badge.js +1 -1
- package/dist/collection/components/cat-button/cat-button.css +9 -2
- package/dist/collection/components/cat-button/cat-button.js +26 -1
- package/dist/collection/components/cat-button/cat-button.js.map +1 -1
- package/dist/collection/components/cat-button-group/cat-button-group.js +1 -1
- package/dist/collection/components/cat-card/cat-card.js +1 -1
- package/dist/collection/components/cat-checkbox/cat-checkbox.js +2 -2
- package/dist/collection/components/cat-date/cat-date.js +2 -2
- package/dist/collection/components/cat-date-inline/cat-date-inline.js +4 -4
- package/dist/collection/components/cat-datepicker/cat-datepicker.js +3 -3
- package/dist/collection/components/cat-datepicker-inline/cat-datepicker-inline.js +2 -2
- package/dist/collection/components/cat-dropdown/cat-dropdown.js +116 -47
- package/dist/collection/components/cat-dropdown/cat-dropdown.js.map +1 -1
- package/dist/collection/components/cat-menu/cat-menu.css +9 -0
- package/dist/collection/components/cat-menu/cat-menu.js +652 -0
- package/dist/collection/components/cat-menu/cat-menu.js.map +1 -0
- package/dist/collection/components/cat-menu-item/cat-menu-item.js +387 -0
- package/dist/collection/components/cat-menu-item/cat-menu-item.js.map +1 -0
- package/dist/collection/components/cat-pagination/cat-pagination.js +2 -2
- package/dist/collection/components/cat-radio/cat-radio.js +2 -2
- package/dist/collection/components/cat-radio-group/cat-radio-group.js +1 -1
- package/dist/collection/components/cat-scrollable/cat-scrollable.js +3 -3
- package/dist/collection/components/cat-select/cat-select.js +14 -18
- package/dist/collection/components/cat-select/cat-select.js.map +1 -1
- package/dist/collection/components/cat-select-demo/cat-select-demo.js +1 -1
- package/dist/collection/components/cat-skeleton/cat-skeleton.js +1 -1
- package/dist/collection/components/cat-spinner/cat-spinner.js +2 -2
- package/dist/collection/components/cat-tab/cat-tab.js +1 -1
- package/dist/collection/components/cat-tabs/cat-tabs.js +1 -1
- package/dist/collection/components/cat-tag/cat-tag.js +1 -1
- package/dist/collection/components/cat-textarea/cat-textarea.js +3 -3
- package/dist/collection/components/cat-time/cat-time.css +0 -9
- package/dist/collection/components/cat-time/cat-time.js +4 -5
- package/dist/collection/components/cat-time/cat-time.js.map +1 -1
- package/dist/collection/components/cat-toggle/cat-toggle.js +2 -2
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/scss/core/_nav.scss +2 -1
- package/dist/collection/scss/core/sanitize-overwrite.scss +3 -0
- package/dist/collection/scss/index.scss +1 -0
- package/dist/components/cat-alert.js +1 -1
- package/dist/components/cat-badge.js +1 -1
- package/dist/components/cat-button-group.js +1 -1
- package/dist/components/cat-button2.js +8 -2
- package/dist/components/cat-button2.js.map +1 -1
- package/dist/components/cat-card.js +1 -1
- package/dist/components/cat-checkbox2.js +2 -2
- package/dist/components/cat-date-inline2.js +4 -4
- package/dist/components/cat-date.js +2 -2
- package/dist/components/cat-datepicker-inline.js +2 -2
- package/dist/components/cat-datepicker.js +3 -3
- package/dist/components/cat-dropdown2.js +69 -44
- package/dist/components/cat-dropdown2.js.map +1 -1
- package/dist/components/cat-menu-item.d.ts +11 -0
- package/dist/components/cat-menu-item.js +9 -0
- package/dist/components/cat-menu-item.js.map +1 -0
- package/dist/components/cat-menu-item2.js +111 -0
- package/dist/components/cat-menu-item2.js.map +1 -0
- package/dist/components/cat-menu.d.ts +11 -0
- package/dist/components/cat-menu.js +9 -0
- package/dist/components/cat-menu.js.map +1 -0
- package/dist/components/cat-menu2.js +227 -0
- package/dist/components/cat-menu2.js.map +1 -0
- package/dist/components/cat-pagination.js +2 -2
- package/dist/components/cat-radio-group.js +1 -1
- package/dist/components/cat-radio.js +2 -2
- package/dist/components/cat-scrollable2.js +3 -3
- package/dist/components/cat-select-demo.js +1 -1
- package/dist/components/cat-select2.js +5 -5
- package/dist/components/cat-select2.js.map +1 -1
- package/dist/components/cat-skeleton2.js +1 -1
- package/dist/components/cat-spinner2.js +2 -2
- package/dist/components/cat-tab.js +1 -1
- package/dist/components/cat-tabs.js +1 -1
- package/dist/components/cat-tag.js +1 -1
- package/dist/components/cat-textarea.js +3 -3
- package/dist/components/cat-time.js +25 -14
- package/dist/components/cat-time.js.map +1 -1
- package/dist/components/cat-toggle.js +2 -2
- package/dist/esm/{cat-alert_30.entry.js → cat-alert_32.entry.js} +345 -104
- package/dist/esm/catalyst.js +3 -3
- package/dist/esm/{index-CFGROHMy.js → index-7uZgmxXB.js} +7 -4
- package/dist/esm/index-7uZgmxXB.js.map +1 -0
- package/dist/esm/loader.js +3 -3
- package/dist/types/components/cat-button/cat-button.d.ts +4 -0
- package/dist/types/components/cat-dropdown/cat-dropdown.d.ts +14 -2
- package/dist/types/components/cat-menu/cat-menu.d.ts +124 -0
- package/dist/types/components/cat-menu-item/cat-menu-item.d.ts +80 -0
- package/dist/types/components/cat-select/cat-select.d.ts +3 -2
- package/dist/types/components.d.ts +426 -7
- package/dist/types/index.d.ts +2 -1
- package/package.json +2 -2
- package/dist/catalyst/p-76436f4e.entry.js +0 -10
- package/dist/catalyst/p-76436f4e.entry.js.map +0 -1
- package/dist/catalyst/p-CFGROHMy.js.map +0 -1
- package/dist/cjs/index-B8-TCsLD.js.map +0 -1
- package/dist/esm/index-CFGROHMy.js.map +0 -1
|
@@ -51,11 +51,11 @@ const CatDatepickerInline$1 = /*@__PURE__*/ proxyCustomElement(class CatDatepick
|
|
|
51
51
|
this.pickr = this.initDatepicker(this.input);
|
|
52
52
|
}
|
|
53
53
|
render() {
|
|
54
|
-
return (h(Host, { key: '
|
|
54
|
+
return (h(Host, { key: '22ff03e4cb6c74bc944e5022764308b6d2b2fe29' }, h("div", { key: '1c7e6b0beab570e1357014384ab8eaf76458858f', tabIndex: this.disabled || this.readonly ? -1 : undefined, class: {
|
|
55
55
|
'datepicker-wrapper': true,
|
|
56
56
|
'datepicker-disabled': this.disabled,
|
|
57
57
|
'datepicker-readonly': this.readonly
|
|
58
|
-
} }, h("input", { key: '
|
|
58
|
+
} }, h("input", { key: '75edfdc337ba101bd0cb9afa1ddef11571e94bf9', ref: el => (this.input = el), value: this.value, disabled: this.disabled, readonly: this.readonly }))));
|
|
59
59
|
}
|
|
60
60
|
initDatepicker(input) {
|
|
61
61
|
if (!input) {
|
|
@@ -139,7 +139,7 @@ const CatDatepickerFlat = /*@__PURE__*/ proxyCustomElement(class CatDatepickerFl
|
|
|
139
139
|
}
|
|
140
140
|
render() {
|
|
141
141
|
return [
|
|
142
|
-
h("cat-input", { key: '
|
|
142
|
+
h("cat-input", { key: 'd81f695ecf9eb3dd175a14070811b8ca99e13f67', ref: el => (this._input = el), requiredMarker: this.requiredMarker, horizontal: this.horizontal ?? this.fallbackHorizontal, autoComplete: this.autoComplete, clearable: this.clearable, disabled: this.disabled, hint: this.hint, icon: this.icon, iconRight: this.iconRight, identifier: this.identifier, label: this.label, labelHidden: this.labelHidden, name: this.name, placeholder: this.placeholder, textPrefix: this.textPrefix, textSuffix: this.textSuffix, readonly: this.readonly, required: this.required, value: this.value, errors: this.errors, errorUpdate: this.errorUpdate, nativeAttributes: this.nativeAttributes, onCatChange: e => {
|
|
143
143
|
e.stopPropagation();
|
|
144
144
|
this.value = e.detail || undefined;
|
|
145
145
|
}, onCatFocus: e => {
|
|
@@ -148,8 +148,8 @@ const CatDatepickerFlat = /*@__PURE__*/ proxyCustomElement(class CatDatepickerFl
|
|
|
148
148
|
}, onCatBlur: e => {
|
|
149
149
|
e.stopPropagation();
|
|
150
150
|
this.catBlur.emit(e.detail);
|
|
151
|
-
} }, this.hasSlottedLabel && (h("span", { key: '
|
|
152
|
-
h("div", { key: '
|
|
151
|
+
} }, this.hasSlottedLabel && (h("span", { key: '41f0dfcbe0a7ab562a80416a109ee6283d602147', slot: "label" }, h("slot", { key: '4148dec98c036b3f7d604b16c05dfed648ec16a3', name: "label" }))), this.hasSlottedHint && (h("span", { key: '8181253f8adadc606f0d66abe5bad5a85b7a0f7f', slot: "hint" }, h("slot", { key: 'c6807aed385298a19d67e1f2652de82473ea6f16', name: "hint" })))),
|
|
152
|
+
h("div", { key: '8b0f02c5f6cf61ad89dccd831937649c6740035c', ref: el => (this._calendarWrapper = el), class: "datepicker-wrapper" })
|
|
153
153
|
];
|
|
154
154
|
}
|
|
155
155
|
initDatepicker(input) {
|
|
@@ -1056,12 +1056,13 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1056
1056
|
this.catClose = createEvent(this, "catClose", 7);
|
|
1057
1057
|
this.id = nextUniqueId++;
|
|
1058
1058
|
this._isOpen = false;
|
|
1059
|
+
this.tabbableOptions = { getShadowRoot: true };
|
|
1059
1060
|
/**
|
|
1060
1061
|
* Tracking the origin of opening the dropdown and specify if initial focus should be set.
|
|
1061
1062
|
* Currently we set it only when the origin is keyboard.
|
|
1062
1063
|
* We might not need to track this in future when focus-visible support is improved across browsers
|
|
1063
1064
|
*/
|
|
1064
|
-
this.
|
|
1065
|
+
this.isFocusVisible = false;
|
|
1065
1066
|
/**
|
|
1066
1067
|
* The placement of the dropdown.
|
|
1067
1068
|
*/
|
|
@@ -1078,6 +1079,7 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1078
1079
|
this.noAutoClose = false;
|
|
1079
1080
|
/**
|
|
1080
1081
|
* Do not navigate focus inside the dropdown via vertical arrow keys.
|
|
1082
|
+
* @deprecated use cat-menu
|
|
1081
1083
|
*/
|
|
1082
1084
|
this.arrowNavigation = 'vertical';
|
|
1083
1085
|
/**
|
|
@@ -1100,6 +1102,7 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1100
1102
|
this.noInitialFocus = false;
|
|
1101
1103
|
/**
|
|
1102
1104
|
* Trigger element will not receive focus when dropdown is closed.
|
|
1105
|
+
* @deprecated the property can be removed, focus is arranged internally
|
|
1103
1106
|
*/
|
|
1104
1107
|
this.noReturnFocus = false;
|
|
1105
1108
|
/**
|
|
@@ -1107,6 +1110,12 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1107
1110
|
* Can be useful when trigger is rendered dynamically.
|
|
1108
1111
|
*/
|
|
1109
1112
|
this.delayedTriggerInit = false;
|
|
1113
|
+
/**
|
|
1114
|
+
* Whether the focus should be trapped inside dropdown popup.
|
|
1115
|
+
* Use it only when the dropdown popup content has role dialog.
|
|
1116
|
+
* @internal
|
|
1117
|
+
*/
|
|
1118
|
+
this.focusTrap = true;
|
|
1110
1119
|
}
|
|
1111
1120
|
/**
|
|
1112
1121
|
* Whether the dropdown is open.
|
|
@@ -1117,7 +1126,7 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1117
1126
|
}
|
|
1118
1127
|
clickHandler(event) {
|
|
1119
1128
|
if (!this.trigger && this.delayedTriggerInit) {
|
|
1120
|
-
this.
|
|
1129
|
+
this.isFocusVisible = this.isEventOriginFromKeyboard(event.detail);
|
|
1121
1130
|
this.initTrigger();
|
|
1122
1131
|
this.toggle();
|
|
1123
1132
|
}
|
|
@@ -1133,6 +1142,21 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1133
1142
|
this.close();
|
|
1134
1143
|
}
|
|
1135
1144
|
}
|
|
1145
|
+
keydownHandler(event) {
|
|
1146
|
+
if (this.isOpen && event.key === 'Escape') {
|
|
1147
|
+
this.close();
|
|
1148
|
+
}
|
|
1149
|
+
}
|
|
1150
|
+
globalClickHandler(event) {
|
|
1151
|
+
if (this.isOpen &&
|
|
1152
|
+
!this.noAutoClose &&
|
|
1153
|
+
// check if click was outside of the dropdown content
|
|
1154
|
+
!event.composedPath().includes(this.content) &&
|
|
1155
|
+
// check if click was not on an element marked with data-dropdown-no-close
|
|
1156
|
+
!event.composedPath().find(el => this.hasAttribute(el, 'data-dropdown-no-close'))) {
|
|
1157
|
+
this.close();
|
|
1158
|
+
}
|
|
1159
|
+
}
|
|
1136
1160
|
/**
|
|
1137
1161
|
* Toggles the dropdown.
|
|
1138
1162
|
*/
|
|
@@ -1152,58 +1176,55 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1152
1176
|
}
|
|
1153
1177
|
this._isOpen = null;
|
|
1154
1178
|
this.content.style.display = 'block';
|
|
1155
|
-
this.
|
|
1179
|
+
this.isFocusVisible = isFocusVisible ?? this.isFocusVisible;
|
|
1156
1180
|
const trigger = this.anchor || this.trigger;
|
|
1157
1181
|
if (trigger) {
|
|
1158
1182
|
this.cleanupFloatingUi = autoUpdate(trigger, this.content, () => this.update(trigger));
|
|
1159
1183
|
}
|
|
1160
1184
|
// give CSS transition time to apply
|
|
1161
|
-
|
|
1185
|
+
requestAnimationFrame(() => {
|
|
1162
1186
|
this._isOpen = true;
|
|
1163
1187
|
this.content.classList.add('show');
|
|
1164
1188
|
this.trigger?.setAttribute('aria-expanded', 'true');
|
|
1165
|
-
this.
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
(this.arrowNavigation === '
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
event.preventDefault();
|
|
1192
|
-
return true;
|
|
1189
|
+
if (this.focusTrap) {
|
|
1190
|
+
this.trap = this.trap
|
|
1191
|
+
? this.trap.updateContainerElements(this.content)
|
|
1192
|
+
: createFocusTrap(this.content, {
|
|
1193
|
+
tabbableOptions: this.tabbableOptions,
|
|
1194
|
+
allowOutsideClick: true,
|
|
1195
|
+
onPostActivate: () => this.catOpen.emit(),
|
|
1196
|
+
setReturnFocus: elem => (!this.isFocusVisible ? false : this.trigger || elem),
|
|
1197
|
+
isKeyForward: event => {
|
|
1198
|
+
if ((this.arrowNavigation === 'horizontal' && event.key === 'ArrowRight') ||
|
|
1199
|
+
(this.arrowNavigation === 'vertical' && event.key === 'ArrowDown')) {
|
|
1200
|
+
event.preventDefault();
|
|
1201
|
+
return true;
|
|
1202
|
+
}
|
|
1203
|
+
return event.key === 'Tab';
|
|
1204
|
+
},
|
|
1205
|
+
isKeyBackward: event => {
|
|
1206
|
+
if ((this.arrowNavigation === 'horizontal' && event.key === 'ArrowLeft') ||
|
|
1207
|
+
(this.arrowNavigation === 'vertical' && event.key === 'ArrowUp')) {
|
|
1208
|
+
event.preventDefault();
|
|
1209
|
+
return true;
|
|
1210
|
+
}
|
|
1211
|
+
return event.key === 'Tab' && event.shiftKey;
|
|
1212
|
+
},
|
|
1213
|
+
initialFocus: () => {
|
|
1214
|
+
return this.isFocusVisible ? undefined : false;
|
|
1193
1215
|
}
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
this.trap.activate();
|
|
1216
|
+
});
|
|
1217
|
+
this.trap.activate();
|
|
1218
|
+
}
|
|
1219
|
+
else {
|
|
1220
|
+
this.catOpen.emit();
|
|
1221
|
+
}
|
|
1201
1222
|
});
|
|
1202
1223
|
}
|
|
1203
1224
|
/**
|
|
1204
1225
|
* Closes the dropdown.
|
|
1205
1226
|
*/
|
|
1206
|
-
async close() {
|
|
1227
|
+
async close(shouldReturnFocus = this.isFocusVisible) {
|
|
1207
1228
|
if (!this._isOpen) {
|
|
1208
1229
|
return; // busy or closed
|
|
1209
1230
|
}
|
|
@@ -1211,6 +1232,9 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1211
1232
|
this.trap?.deactivate();
|
|
1212
1233
|
this.trap = undefined;
|
|
1213
1234
|
this.content.classList.remove('show');
|
|
1235
|
+
if (shouldReturnFocus) {
|
|
1236
|
+
this.trigger?.focus();
|
|
1237
|
+
}
|
|
1214
1238
|
// give CSS transition time to apply
|
|
1215
1239
|
setTimeout(() => {
|
|
1216
1240
|
this._isOpen = false;
|
|
@@ -1235,7 +1259,7 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1235
1259
|
this.cleanupFloatingUi = undefined;
|
|
1236
1260
|
}
|
|
1237
1261
|
render() {
|
|
1238
|
-
return (h(Host, { key: '
|
|
1262
|
+
return (h(Host, { key: '865e31b60994932637b3530afe48b2317868ecd3' }, h("slot", { key: '393e1697e6dd728bb2f3c8294370de7deaba95d1', name: "anchor", ref: el => (this.anchorSlot = el) }), h("slot", { key: '2bd3a3528005bebf7dcba84e52f5b6f6786a7f50', name: "trigger", ref: el => (this.triggerSlot = el) }), h("div", { key: '74ae76bb604041881af0247002d6a383dc386f50', id: this.contentId, class: { content: true, 'overflow-auto': !this.overflow, justified: this.justify, aligned: !this.justify }, ref: el => (this.content = el) }, h("slot", { key: '6fd6acedb2c4044edd8f09f1418916e5086465fc', name: "content" }))));
|
|
1239
1263
|
}
|
|
1240
1264
|
get contentId() {
|
|
1241
1265
|
return `cat-dropdown-${this.id}`;
|
|
@@ -1247,7 +1271,7 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1247
1271
|
this.trigger.setAttribute('aria-expanded', 'false');
|
|
1248
1272
|
this.trigger.setAttribute('aria-controls', this.contentId);
|
|
1249
1273
|
this.trigger.addEventListener('click', (event) => {
|
|
1250
|
-
this.
|
|
1274
|
+
this.isFocusVisible = this.isEventOriginFromKeyboard(event);
|
|
1251
1275
|
this.toggle();
|
|
1252
1276
|
});
|
|
1253
1277
|
}
|
|
@@ -1325,7 +1349,7 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1325
1349
|
computePosition(anchorElement, this.content, {
|
|
1326
1350
|
strategy: 'fixed',
|
|
1327
1351
|
placement: this.placement,
|
|
1328
|
-
middleware: [
|
|
1352
|
+
middleware: [...middleware, ...resize]
|
|
1329
1353
|
}).then(({ x, y, placement }) => {
|
|
1330
1354
|
this.content.dataset.placement = placement;
|
|
1331
1355
|
Object.assign(this.content.style, {
|
|
@@ -1350,10 +1374,11 @@ const CatDropdown = /*@__PURE__*/ proxyCustomElement(class CatDropdown extends H
|
|
|
1350
1374
|
"isOpen": [2052, "is-open"],
|
|
1351
1375
|
"noReturnFocus": [4, "no-return-focus"],
|
|
1352
1376
|
"delayedTriggerInit": [4, "delayed-trigger-init"],
|
|
1377
|
+
"focusTrap": [4, "focus-trap"],
|
|
1353
1378
|
"toggle": [64],
|
|
1354
1379
|
"open": [64],
|
|
1355
1380
|
"close": [64]
|
|
1356
|
-
}, [[0, "catClick", "clickHandler"]]]);
|
|
1381
|
+
}, [[0, "catClick", "clickHandler"], [0, "keydown", "keydownHandler"], [8, "click", "globalClickHandler"]]]);
|
|
1357
1382
|
CatDropdown.OFFSET = 4;
|
|
1358
1383
|
function defineCustomElement() {
|
|
1359
1384
|
if (typeof customElements === "undefined") {
|