@lion/ui 0.17.0-menu-system.0 → 0.17.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/collapsible.js +0 -1
- package/components/button/src/LionButton.js +0 -4
- package/components/button/test-suites/LionButton.suite.js +0 -1
- package/components/calendar/src/LionCalendar.js +0 -2
- package/components/combobox/test/lion-combobox.test.js +0 -1
- package/components/form-core/src/form-group/FormGroupMixin.js +0 -7
- package/components/form-core/src/registration/FormRegistrarMixin.js +0 -11
- package/components/form-core/test/FormControlMixin.test.js +0 -1
- package/components/form-core/test/validate/Validator.test.js +0 -2
- package/components/form-core/test-suites/ValidateMixin.suite.js +0 -2
- package/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.js +0 -1
- package/components/input-datepicker/src/localizeNamespaceLoader.js +0 -1
- package/components/input-datepicker/test/lion-input-datepicker.test.js +6 -5
- package/components/localize/test/date/formatDate.test.js +0 -1
- package/components/overlays/src/OverlayController.js +76 -160
- package/components/overlays/src/OverlayMixin.js +11 -57
- package/components/overlays/src/OverlaysManager.js +2 -2
- package/components/overlays/src/utils/adopt-styles.js +1 -2
- package/components/overlays/src/utils/get-focusable-elements.js +0 -4
- package/components/overlays/src/utils/is-equal-config.js +1 -4
- package/components/overlays/test/OverlayController.test.js +2 -2
- package/components/overlays/types/OverlayConfig.ts +5 -10
- package/components/select-rich/test/lion-select-rich.test.js +0 -3
- package/custom-elements.json +19168 -31113
- package/dist-types/components/button/src/LionButton.d.ts +0 -1
- package/dist-types/components/button/src/LionButton.d.ts.map +1 -1
- package/dist-types/components/button/test-suites/LionButton.suite.d.ts.map +1 -1
- package/dist-types/components/calendar/src/LionCalendar.d.ts.map +1 -1
- package/dist-types/components/dialog/src/LionDialog.d.ts +1 -2
- package/dist-types/components/dialog/src/LionDialog.d.ts.map +1 -1
- package/dist-types/components/form-core/src/form-group/FormGroupMixin.d.ts.map +1 -1
- package/dist-types/components/form-core/src/registration/FormRegistrarMixin.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/ValidateMixin.suite.d.ts.map +1 -1
- package/dist-types/components/form-core/test-suites/ValidateMixinFeedbackPart.suite.d.ts.map +1 -1
- package/dist-types/components/input-datepicker/src/localizeNamespaceLoader.d.ts.map +1 -1
- package/dist-types/components/overlays/src/OverlayController.d.ts +6 -6
- package/dist-types/components/overlays/src/OverlayController.d.ts.map +1 -1
- package/dist-types/components/overlays/src/OverlayMixin.d.ts.map +1 -1
- package/dist-types/components/overlays/src/utils/get-focusable-elements.d.ts.map +1 -1
- package/dist-types/components/overlays/src/utils/is-equal-config.d.ts.map +1 -1
- package/dist-types/components/overlays/types/OverlayConfig.d.ts +2 -5
- package/dist-types/components/overlays/types/OverlayConfig.d.ts.map +1 -1
- package/dist-types/components/select-rich/src/LionSelectRich.d.ts +2 -7
- package/dist-types/components/select-rich/src/LionSelectRich.d.ts.map +1 -1
- package/dist-types/exports/overlays.d.ts +0 -2
- package/dist-types/tsconfig.tsbuildinfo +1 -1
- package/docs/components/checkbox-group/overview.md +2 -2
- package/docs/components/collapsible/overview.md +1 -1
- package/docs/components/combobox/api-table.md +8 -21
- package/docs/components/combobox/overview.md +1 -1
- package/docs/components/combobox/use-cases.md +1 -1
- package/docs/components/dialog/api-table.md +6 -31
- package/docs/components/dialog/overview.md +1 -1
- package/docs/components/fieldset/overview.md +5 -5
- package/docs/components/form/overview.md +3 -3
- package/docs/components/form/use-cases.md +2 -2
- package/docs/components/icon/use-cases.md +1 -1
- package/docs/components/input/overview.md +1 -1
- package/docs/components/input-amount/overview.md +3 -3
- package/docs/components/input-date/overview.md +3 -3
- package/docs/components/input-datepicker/api-table.md +4 -21
- package/docs/components/input-datepicker/overview.md +5 -5
- package/docs/components/input-email/overview.md +2 -2
- package/docs/components/input-file/overview.md +1 -1
- package/docs/components/input-iban/overview.md +2 -2
- package/docs/components/input-range/overview.md +2 -2
- package/docs/components/input-stepper/overview.md +1 -1
- package/docs/components/input-tel/overview.md +1 -1
- package/docs/components/input-tel/use-cases.md +6 -6
- package/docs/components/input-tel-dropdown/overview.md +1 -1
- package/docs/components/listbox/use-cases.md +1 -1
- package/docs/components/radio-group/overview.md +3 -3
- package/docs/components/select/use-cases.md +1 -1
- package/docs/components/select-rich/api-table.md +5 -21
- package/docs/components/select-rich/use-cases.md +2 -2
- package/docs/components/tabs/examples.md +1 -1
- package/docs/components/tooltip/api-table.md +11 -36
- package/docs/fundamentals/index.md +4 -4
- package/docs/fundamentals/node-tools/publish-docs/overview.md +3 -3
- package/docs/fundamentals/node-tools/rocket-preset-extend-lion-docs/overview.md +2 -2
- package/docs/fundamentals/rationales/accessibility.md +1 -1
- package/docs/fundamentals/systems/core/SlotMixin.md +1 -1
- package/docs/fundamentals/systems/core/overview.md +1 -1
- package/docs/fundamentals/systems/form/formatting-and-parsing.md +4 -4
- package/docs/fundamentals/systems/form/model-value.md +1 -1
- package/docs/fundamentals/systems/form/overview.md +28 -28
- package/docs/fundamentals/systems/form/validate.md +2 -2
- package/docs/fundamentals/systems/localize/overview.md +4 -4
- package/docs/fundamentals/systems/overlays/api-table.md +34 -34
- package/docs/fundamentals/systems/overlays/configuration.md +2 -2
- package/docs/fundamentals/systems/overlays/overview.md +5 -5
- package/docs/fundamentals/systems/overlays/use-cases.md +2 -2
- package/docs/fundamentals/tools/helpers/overview.md +1 -1
- package/docs/fundamentals/tools/singleton-manager/overview.md +4 -4
- package/docs/guides/how-to/create-a-custom-field.md +5 -5
- package/docs/guides/how-to/create-a-form.md +4 -4
- package/docs/guides/how-to/extend-a-native-input.md +2 -2
- package/docs/guides/how-to/index.md +1 -1
- package/docs/guides/index.md +8 -8
- package/docs/guides/principles/index.md +5 -5
- package/docs/guides/principles/styling.md +1 -1
- package/exports/collapsible.js +0 -1
- package/exports/overlays.js +0 -2
- package/overlays.js +0 -2
- package/package.json +1 -1
- package/components/collapsible/src/DisclosureMixin.js +0 -313
- package/components/collapsible/types/DisclosureMixinTypes.ts +0 -48
- package/components/menu/CHANGELOG.md +0 -37
- package/components/menu/README.md +0 -335
- package/components/menu/index.js +0 -2
- package/components/menu/lion-menu-overlay.js +0 -3
- package/components/menu/lion-menu.js +0 -3
- package/components/menu/lion-spinbutton.js +0 -3
- package/components/menu/lion-toolbar.js +0 -3
- package/components/menu/lion-tree.js +0 -3
- package/components/menu/package.json +0 -46
- package/components/menu/requirements.temp.md +0 -12
- package/components/menu/src/InteractiveListMixin.js +0 -796
- package/components/menu/src/LionMenu.js +0 -250
- package/components/menu/src/LionMenuHybrid.js +0 -46
- package/components/menu/src/LionMenuOverlay.js +0 -155
- package/components/menu/src/LionSpinbutton.js +0 -213
- package/components/menu/src/LionToolbar.js +0 -94
- package/components/menu/src/LionTree.js +0 -52
- package/components/menu/src/MultiLevelListMixin.js +0 -275
- package/components/menu/src/utils/isInView.js +0 -26
- package/components/menu/src/utils/listItemInteractions.js +0 -104
- package/components/menu/src/utils/uuid.js +0 -3
- package/components/menu/test/lion-menu.test.js +0 -3
- package/components/menu/test-suites/InteractiveListMixin.suite.js +0 -142
- package/components/menu/types/InteractiveListMixinTypes.d.ts +0 -82
- package/components/navigation-bar/README.md +0 -1
- package/components/navigation-bar/src/LionNavigationBar.js +0 -449
- package/components/navigation-bar/src/types.js +0 -41
- package/components/overlays/NEXT.md +0 -49
- package/dist-types/components/collapsible/src/DisclosureMixin.d.ts +0 -3
- package/dist-types/components/collapsible/src/DisclosureMixin.d.ts.map +0 -1
- package/dist-types/components/collapsible/types/DisclosureMixinTypes.d.ts +0 -24
- package/dist-types/components/collapsible/types/DisclosureMixinTypes.d.ts.map +0 -1
- package/dist-types/components/menu/index.d.ts +0 -3
- package/dist-types/components/menu/index.d.ts.map +0 -1
- package/dist-types/components/menu/lion-menu-overlay.d.ts +0 -2
- package/dist-types/components/menu/lion-menu-overlay.d.ts.map +0 -1
- package/dist-types/components/menu/lion-menu.d.ts +0 -2
- package/dist-types/components/menu/lion-menu.d.ts.map +0 -1
- package/dist-types/components/menu/lion-spinbutton.d.ts +0 -2
- package/dist-types/components/menu/lion-spinbutton.d.ts.map +0 -1
- package/dist-types/components/menu/lion-toolbar.d.ts +0 -2
- package/dist-types/components/menu/lion-toolbar.d.ts.map +0 -1
- package/dist-types/components/menu/lion-tree.d.ts +0 -2
- package/dist-types/components/menu/lion-tree.d.ts.map +0 -1
- package/dist-types/components/menu/src/InteractiveListMixin.d.ts +0 -611
- package/dist-types/components/menu/src/InteractiveListMixin.d.ts.map +0 -1
- package/dist-types/components/menu/src/LionMenu.d.ts +0 -563
- package/dist-types/components/menu/src/LionMenu.d.ts.map +0 -1
- package/dist-types/components/menu/src/LionMenuHybrid.d.ts +0 -19
- package/dist-types/components/menu/src/LionMenuHybrid.d.ts.map +0 -1
- package/dist-types/components/menu/src/LionMenuOverlay.d.ts +0 -1006
- package/dist-types/components/menu/src/LionMenuOverlay.d.ts.map +0 -1
- package/dist-types/components/menu/src/LionSpinbutton.d.ts +0 -58
- package/dist-types/components/menu/src/LionSpinbutton.d.ts.map +0 -1
- package/dist-types/components/menu/src/LionToolbar.d.ts +0 -8
- package/dist-types/components/menu/src/LionToolbar.d.ts.map +0 -1
- package/dist-types/components/menu/src/LionTree.d.ts +0 -445
- package/dist-types/components/menu/src/LionTree.d.ts.map +0 -1
- package/dist-types/components/menu/src/MultiLevelListMixin.d.ts +0 -493
- package/dist-types/components/menu/src/MultiLevelListMixin.d.ts.map +0 -1
- package/dist-types/components/menu/src/utils/isInView.d.ts +0 -9
- package/dist-types/components/menu/src/utils/isInView.d.ts.map +0 -1
- package/dist-types/components/menu/src/utils/listItemInteractions.d.ts +0 -42
- package/dist-types/components/menu/src/utils/listItemInteractions.d.ts.map +0 -1
- package/dist-types/components/menu/src/utils/uuid.d.ts +0 -2
- package/dist-types/components/menu/src/utils/uuid.d.ts.map +0 -1
- package/dist-types/components/menu/test/lion-menu.test.d.ts +0 -2
- package/dist-types/components/menu/test/lion-menu.test.d.ts.map +0 -1
- package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts +0 -13
- package/dist-types/components/menu/test-suites/InteractiveListMixin.suite.d.ts.map +0 -1
- package/dist-types/components/navigation-bar/src/LionNavigationBar.d.ts +0 -226
- package/dist-types/components/navigation-bar/src/LionNavigationBar.d.ts.map +0 -1
- package/dist-types/components/navigation-bar/src/types.d.ts +0 -85
- package/dist-types/components/navigation-bar/src/types.d.ts.map +0 -1
- package/dist-types/exports/define/lion-item.d.ts +0 -2
- package/dist-types/exports/define/lion-item.d.ts.map +0 -1
- package/dist-types/exports/define/lion-menu-overlay.d.ts +0 -2
- package/dist-types/exports/define/lion-menu-overlay.d.ts.map +0 -1
- package/dist-types/exports/define/lion-menu.d.ts +0 -2
- package/dist-types/exports/define/lion-menu.d.ts.map +0 -1
- package/dist-types/exports/define/lion-navigation-bar.d.ts +0 -2
- package/dist-types/exports/define/lion-navigation-bar.d.ts.map +0 -1
- package/dist-types/exports/define/lion-toolbar.d.ts +0 -2
- package/dist-types/exports/define/lion-toolbar.d.ts.map +0 -1
- package/dist-types/exports/define/lion-tree.d.ts +0 -2
- package/dist-types/exports/define/lion-tree.d.ts.map +0 -1
- package/dist-types/exports/menu.d.ts +0 -7
- package/dist-types/exports/menu.d.ts.map +0 -1
- package/dist-types/exports/navigation-bar.d.ts +0 -2
- package/dist-types/exports/navigation-bar.d.ts.map +0 -1
- package/docs/components/menu/api-table.md +0 -450
- package/docs/components/menu/applyMenuDemoStyles.js +0 -173
- package/docs/components/menu/extensions.md +0 -216
- package/docs/components/menu/index.md +0 -13
- package/docs/components/menu/overview.md +0 -422
- package/exports/define/lion-item.js +0 -3
- package/exports/define/lion-menu-overlay.js +0 -3
- package/exports/define/lion-menu.js +0 -3
- package/exports/define/lion-navigation-bar.js +0 -3
- package/exports/define/lion-toolbar.js +0 -3
- package/exports/define/lion-tree.js +0 -3
- package/exports/menu.js +0 -6
- package/exports/navigation-bar.js +0 -1
- package/menu.js +0 -6
- package/navigation-bar.js +0 -1
|
@@ -33,7 +33,10 @@ export const OverlayMixinImplementation = superclass => {
|
|
|
33
33
|
class OverlayMixin extends superclass {
|
|
34
34
|
static get properties() {
|
|
35
35
|
return {
|
|
36
|
-
opened: {
|
|
36
|
+
opened: {
|
|
37
|
+
type: Boolean,
|
|
38
|
+
reflect: true,
|
|
39
|
+
},
|
|
37
40
|
};
|
|
38
41
|
}
|
|
39
42
|
|
|
@@ -59,17 +62,6 @@ export const OverlayMixinImplementation = superclass => {
|
|
|
59
62
|
this.open = this.open.bind(this);
|
|
60
63
|
/** @type {EventListener} */
|
|
61
64
|
this.close = this.close.bind(this);
|
|
62
|
-
|
|
63
|
-
// // By default, we go for disclosure behavior
|
|
64
|
-
// // TODO: in the future, bring disclosure behavior to a controller (and therefore directive).
|
|
65
|
-
// // Take inspiration from VisibilityToggleCtrl of portal elements
|
|
66
|
-
// /**
|
|
67
|
-
// * Terminology aligned with https://open-ui.org/components/openable.explainer/
|
|
68
|
-
// * @type {'disclosure'|'overlay'}
|
|
69
|
-
// */
|
|
70
|
-
// this.openableMode = 'disclosure';
|
|
71
|
-
|
|
72
|
-
// allow hybrid disclosure/overlay components
|
|
73
65
|
}
|
|
74
66
|
|
|
75
67
|
get config() {
|
|
@@ -169,8 +161,6 @@ export const OverlayMixinImplementation = superclass => {
|
|
|
169
161
|
*/
|
|
170
162
|
// eslint-disable-next-line class-methods-use-this
|
|
171
163
|
_setupOpenCloseListeners() {
|
|
172
|
-
// Keeps the close-overlay event private for the controller.
|
|
173
|
-
// (we already have )
|
|
174
164
|
/**
|
|
175
165
|
* @param {{ stopPropagation: () => void; }} ev
|
|
176
166
|
*/
|
|
@@ -228,11 +218,11 @@ export const OverlayMixinImplementation = superclass => {
|
|
|
228
218
|
// @ts-expect-error
|
|
229
219
|
static enabledWarnings = super.enabledWarnings?.filter(w => w !== 'change-in-update') || [];
|
|
230
220
|
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
221
|
+
get _overlayInvokerNode() {
|
|
222
|
+
return /** @type {HTMLElement | undefined} */ (
|
|
223
|
+
Array.from(this.children).find(child => child.slot === 'invoker')
|
|
224
|
+
);
|
|
225
|
+
}
|
|
236
226
|
|
|
237
227
|
/**
|
|
238
228
|
* @overridable
|
|
@@ -266,46 +256,13 @@ export const OverlayMixinImplementation = superclass => {
|
|
|
266
256
|
);
|
|
267
257
|
}
|
|
268
258
|
|
|
269
|
-
/**
|
|
270
|
-
* @param {Element} focusableElOrWrapper
|
|
271
|
-
* @returns {Element|null}
|
|
272
|
-
*/
|
|
273
|
-
static _getFocusableInvokerEl(focusableElOrWrapper) {
|
|
274
|
-
// return focusableElOrWrapper;
|
|
275
|
-
return (
|
|
276
|
-
focusableElOrWrapper &&
|
|
277
|
-
(focusableElOrWrapper.hasAttribute('tabindex') || focusableElOrWrapper.tagName === 'BUTTON'
|
|
278
|
-
? focusableElOrWrapper
|
|
279
|
-
: focusableElOrWrapper.querySelector('[role=button], button'))
|
|
280
|
-
);
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
get _overlayInvokerNode() {
|
|
284
|
-
const ctor = /** @type {typeof OverlayMixin} */ (this.constructor);
|
|
285
|
-
if (!this.__invokerNode) {
|
|
286
|
-
const slottedNode = Array.from(this.children).find(child => child.slot === 'invoker');
|
|
287
|
-
if (slottedNode) {
|
|
288
|
-
this.__invokerNode = ctor._getFocusableInvokerEl(slottedNode);
|
|
289
|
-
} else {
|
|
290
|
-
// Look for preceeding sibling with [data-invoker] attribute, and try to find a focusable element in it (either itself or a child)
|
|
291
|
-
this.__invokerNode =
|
|
292
|
-
this.previousElementSibling?.hasAttribute('data-invoker') &&
|
|
293
|
-
ctor._getFocusableInvokerEl(this.previousElementSibling);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
return this.__invokerNode;
|
|
297
|
-
}
|
|
298
|
-
|
|
299
259
|
/** @protected */
|
|
300
260
|
_setupOverlayCtrl() {
|
|
301
261
|
if (this.#hasSetup) return;
|
|
302
|
-
|
|
303
|
-
const invokerNode = this._overlayInvokerNode;
|
|
304
|
-
|
|
305
262
|
const config = {
|
|
306
263
|
contentNode: this._overlayContentNode,
|
|
307
264
|
contentWrapperNode: this._overlayContentWrapperNode,
|
|
308
|
-
invokerNode:
|
|
265
|
+
invokerNode: this._overlayInvokerNode,
|
|
309
266
|
referenceNode: this._overlayReferenceNode,
|
|
310
267
|
backdropNode: this._overlayBackdropNode,
|
|
311
268
|
};
|
|
@@ -325,8 +282,6 @@ export const OverlayMixinImplementation = superclass => {
|
|
|
325
282
|
|
|
326
283
|
/** @protected */
|
|
327
284
|
_teardownOverlayCtrl() {
|
|
328
|
-
// Make sure that dynamic behavior (e.g. responsive) is possible by allowing multiple setups and teardowns of the overlay controller.
|
|
329
|
-
this.#hasSetup = false;
|
|
330
285
|
if (!this._overlayCtrl) return;
|
|
331
286
|
|
|
332
287
|
this._teardownOpenCloseListeners();
|
|
@@ -479,7 +434,6 @@ export const OverlayMixinImplementation = superclass => {
|
|
|
479
434
|
for (const postProcessor of overlayMixinPostProcessors) {
|
|
480
435
|
postProcessor(OverlayMixin);
|
|
481
436
|
}
|
|
482
|
-
|
|
483
|
-
return OverlayMixin;
|
|
437
|
+
return /** @type {* & OverlayMixin} */ (OverlayMixin);
|
|
484
438
|
};
|
|
485
439
|
export const OverlayMixin = dedupeMixin(OverlayMixinImplementation);
|
|
@@ -209,9 +209,9 @@ export class OverlaysManager {
|
|
|
209
209
|
const newMarginBottom = this.__bodySizeVars.marginBottom + scrollbarHeight;
|
|
210
210
|
// @ts-expect-error [external]: CSS not yet typed
|
|
211
211
|
if (window.CSS?.number && document.body.attributeStyleMap?.set) {
|
|
212
|
-
// @ts-ignore
|
|
212
|
+
// @ts-ignore
|
|
213
213
|
document.body.attributeStyleMap.set('margin-right', CSS.px(newMarginRight));
|
|
214
|
-
// @ts-ignore
|
|
214
|
+
// @ts-ignore
|
|
215
215
|
document.body.attributeStyleMap.set('margin-bottom', CSS.px(newMarginBottom));
|
|
216
216
|
} else {
|
|
217
217
|
document.body.style.marginRight = `${newMarginRight}px`;
|
|
@@ -56,8 +56,7 @@ function adoptStyleWhenAdoptedStylesheetsNotSupported(
|
|
|
56
56
|
const styleEl = document.createElement('style');
|
|
57
57
|
// keep notation, so it's not renamed in minification/build
|
|
58
58
|
// eslint-disable-next-line dot-notation
|
|
59
|
-
|
|
60
|
-
const nonce = window.litNonce;
|
|
59
|
+
const nonce = window['litNonce'];
|
|
61
60
|
if (nonce !== undefined) {
|
|
62
61
|
styleEl.setAttribute('nonce', nonce);
|
|
63
62
|
}
|
|
@@ -8,7 +8,6 @@ import { isVisible } from './is-visible.js';
|
|
|
8
8
|
import { sortByTabIndex } from './sort-by-tabindex.js';
|
|
9
9
|
|
|
10
10
|
// IE11 supports matches as 'msMatchesSelector'
|
|
11
|
-
/** @type {'matches' | 'msMatchesSelector'} */
|
|
12
11
|
const matchesFunc = 'matches' in Element.prototype ? 'matches' : 'msMatchesSelector';
|
|
13
12
|
|
|
14
13
|
/**
|
|
@@ -17,14 +16,11 @@ const matchesFunc = 'matches' in Element.prototype ? 'matches' : 'msMatchesSelec
|
|
|
17
16
|
*/
|
|
18
17
|
function isFocusable(element) {
|
|
19
18
|
// Elements that cannot be focused if they have [disabled] attribute.
|
|
20
|
-
// @ts-ignore - msMatchesSelector is legacy
|
|
21
19
|
if (element[matchesFunc]('input, select, textarea, button, object')) {
|
|
22
|
-
// @ts-ignore
|
|
23
20
|
return element[matchesFunc](':not([disabled])');
|
|
24
21
|
}
|
|
25
22
|
|
|
26
23
|
// Elements that can be focused even if they have [disabled] attribute.
|
|
27
|
-
// @ts-ignore
|
|
28
24
|
return element[matchesFunc]('a[href], area[href], iframe, [tabindex], [contentEditable]');
|
|
29
25
|
}
|
|
30
26
|
|
|
@@ -19,9 +19,6 @@ export function isEqualConfig(a, b) {
|
|
|
19
19
|
if (aProps.length !== bProps.length) {
|
|
20
20
|
return false;
|
|
21
21
|
}
|
|
22
|
-
const isEqual =
|
|
23
|
-
/** @param {string} prop */
|
|
24
|
-
// @ts-ignore - dynamic property access
|
|
25
|
-
prop => isEqualConfig(a[prop], b[prop]);
|
|
22
|
+
const isEqual = /** @param {string} prop */ prop => isEqualConfig(a[prop], b[prop]);
|
|
26
23
|
return aProps.every(isEqual);
|
|
27
24
|
}
|
|
@@ -403,7 +403,7 @@ describe('OverlayController', () => {
|
|
|
403
403
|
{ ignoreAttributes: ['closedby'] },
|
|
404
404
|
);
|
|
405
405
|
|
|
406
|
-
expect(el).lightDom.to.equal(`<div
|
|
406
|
+
expect(el).lightDom.to.equal(`<div slot="content">projected</div>`);
|
|
407
407
|
});
|
|
408
408
|
});
|
|
409
409
|
|
|
@@ -425,7 +425,7 @@ describe('OverlayController', () => {
|
|
|
425
425
|
`
|
|
426
426
|
<dialog data-overlay-outer-wrapper="" open="" role="none" style="${wrappingDialogNodeStyle}">
|
|
427
427
|
<div data-id="content-wrapper">
|
|
428
|
-
<div
|
|
428
|
+
<div id="content">non projected</div>
|
|
429
429
|
</div>
|
|
430
430
|
</dialog>
|
|
431
431
|
`,
|
|
@@ -21,6 +21,7 @@ export type OverlayPhase =
|
|
|
21
21
|
| 'add'
|
|
22
22
|
| 'remove';
|
|
23
23
|
|
|
24
|
+
|
|
24
25
|
export interface ViewportConfig {
|
|
25
26
|
placement: ViewportPlacement;
|
|
26
27
|
}
|
|
@@ -96,20 +97,14 @@ export interface OverlayConfig {
|
|
|
96
97
|
/** By default, the tooltip content is a 'description' for the invoker (uses aria-describedby) Setting this property to 'label' makes the content function as a label (via aria-labelledby) */
|
|
97
98
|
invokerRelation?: 'label' | 'description';
|
|
98
99
|
|
|
100
|
+
/** render a div instead of dialog */
|
|
101
|
+
_noDialogEl?: Boolean;
|
|
102
|
+
|
|
99
103
|
/**
|
|
100
104
|
* Determines the conditions hiding/showing should be based on. It gets the OverlayController as input and returns an object with
|
|
101
105
|
* functions with Overlay phases as keys
|
|
102
106
|
*/
|
|
103
107
|
visibilityTriggerFunction?: Function;
|
|
108
|
+
}
|
|
104
109
|
|
|
105
|
-
/**
|
|
106
|
-
* Whether the overlay content should receive focus when shown.
|
|
107
|
-
*/
|
|
108
|
-
focusContentOnOpen?: boolean;
|
|
109
110
|
|
|
110
|
-
/*
|
|
111
|
-
* By default, we function either as overlay or disclosure. In some cases, this should be dynamically set (think of responsive changes).
|
|
112
|
-
* or it depends on the context (a top level menu is not openable (unless it's a context menu), its children menus are).
|
|
113
|
-
*/
|
|
114
|
-
isOpenable?: boolean;
|
|
115
|
-
}
|
|
@@ -832,7 +832,6 @@ describe('lion-select-rich', () => {
|
|
|
832
832
|
await waitUntil(isSelectRichRendered);
|
|
833
833
|
getInvoker()?.click();
|
|
834
834
|
await waitUntil(isDialogVisible);
|
|
835
|
-
// @ts-ignore - NodeList array access
|
|
836
835
|
const optionBlue = /** @type { HTMLElement | undefined } */ (
|
|
837
836
|
wrapperElementShadowRoot?.querySelectorAll('lion-option')
|
|
838
837
|
)?.[1];
|
|
@@ -956,7 +955,6 @@ describe('lion-select-rich', () => {
|
|
|
956
955
|
await waitUntil(isSelectRichRendered);
|
|
957
956
|
getInvoker()?.click();
|
|
958
957
|
await waitUntil(isDialogVisible);
|
|
959
|
-
// @ts-ignore - NodeList array access
|
|
960
958
|
const optionBlue = /** @type { HTMLElement | undefined } */ (
|
|
961
959
|
wrapperElementShadowRoot?.querySelectorAll('lion-option')
|
|
962
960
|
)?.[1];
|
|
@@ -1084,7 +1082,6 @@ describe('lion-select-rich', () => {
|
|
|
1084
1082
|
await waitUntil(isSelectRichRendered);
|
|
1085
1083
|
getInvoker()?.click();
|
|
1086
1084
|
await waitUntil(isDialogVisible);
|
|
1087
|
-
// @ts-ignore - NodeList array access
|
|
1088
1085
|
const optionBlue = /** @type { HTMLElement | undefined } */ (
|
|
1089
1086
|
wrapperElementShadowRoot?.querySelectorAll('lion-option')
|
|
1090
1087
|
)?.[1];
|