@lion/ui 0.18.0-menu-system.2 → 0.18.0-menu-system.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/components/menu/src/InteractiveListMixin.js +1 -1
- package/components/menu/src/MoreButtonMenuMixin.js +79 -92
- package/components/menu/src/MultiLevelListMixin.js +1 -1
- package/components/navigation-bar/src/LionNavigationBar.js +2 -2
- package/custom-elements.json +91 -35
- package/dist-types/components/menu/src/MoreButtonMenuMixin.d.ts +11 -2
- package/dist-types/components/menu/src/MoreButtonMenuMixin.d.ts.map +1 -1
- package/dist-types/components/navigation-bar/src/LionNavigationBar.d.ts +4 -4
- 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/overview.md +1 -1
- package/docs/components/combobox/use-cases.md +1 -1
- 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/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/menu/extensions.md +27 -0
- package/docs/components/radio-group/overview.md +3 -3
- package/docs/components/select/use-cases.md +1 -1
- package/docs/components/select-rich/use-cases.md +2 -2
- package/docs/components/tabs/examples.md +1 -1
- 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/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/package.json +1 -1
|
@@ -457,7 +457,7 @@ const InteractiveListMixinImplementation = superclass =>
|
|
|
457
457
|
* menuitemradios or -checkboxes.
|
|
458
458
|
* When no role at all, we might deal with a wrapped node (for instance triggering a
|
|
459
459
|
* submenu)
|
|
460
|
-
* Alternatively, when _activeMode is ['disclosure'](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-navigation.html),
|
|
460
|
+
* Alternatively, when _activeMode is ['tabbable-disclosure'](https://www.w3.org/TR/wai-aria-practices-1.1/examples/disclosure/disclosure-navigation.html),
|
|
461
461
|
* we search for a[href]
|
|
462
462
|
*/
|
|
463
463
|
if (node.getAttribute('role') === 'group') {
|
|
@@ -1,62 +1,31 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
:host([responsive-mode='desktop']) [level='1'] > [slot='list'] > [role='listitem'] > button,
|
|
32
|
-
:host([responsive-mode='desktop']) [level='1'] > [slot='list'] > [role='listitem'] > a,
|
|
33
|
-
:host([responsive-mode='desktop'])
|
|
34
|
-
[level='1']
|
|
35
|
-
> [slot='list']
|
|
36
|
-
> [data-more-button-wrapper]
|
|
37
|
-
> [role='listitem']
|
|
38
|
-
> button,
|
|
39
|
-
:host([responsive-mode='desktop'])
|
|
40
|
-
[level='1']
|
|
41
|
-
> [slot='list']
|
|
42
|
-
> [data-more-button-wrapper]
|
|
43
|
-
> [role='listitem']
|
|
44
|
-
> a {
|
|
45
|
-
white-space: nowrap;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* TODO listitem rigth margin/gap is not taken at the account ATM
|
|
49
|
-
*/
|
|
50
|
-
/**
|
|
51
|
-
* More button relies on the fact that the menu items do not break the line
|
|
52
|
-
* TODO is it optimal?
|
|
53
|
-
*/
|
|
54
|
-
:host([responsive-mode='desktop']) > [role='list'] > [role='listitem'] > button,
|
|
55
|
-
:host([responsive-mode='desktop']) > [role='list'] > [role='listitem'] > a {
|
|
56
|
-
white-space: nowrap;
|
|
57
|
-
}
|
|
58
|
-
</style>
|
|
59
|
-
`;
|
|
1
|
+
// eslint-disable-next-line import/no-extraneous-dependencies
|
|
2
|
+
import { css } from 'lit';
|
|
3
|
+
|
|
4
|
+
const styles = css`
|
|
5
|
+
/** More button is hidden by default */
|
|
6
|
+
[data-more-button-wrapper] {
|
|
7
|
+
display: none;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
[data-more-button-menu][data-open]:not(:has([role='listitem'] [aria-expanded='true'])) {
|
|
11
|
+
position: absolute;
|
|
12
|
+
overflow: visible;
|
|
13
|
+
height: auto;
|
|
14
|
+
width: auto;
|
|
15
|
+
top: 100%;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/** N.B. this is a simplified version of sr-only. when we move to overlayctrl, we should build this into overlayctrl */
|
|
19
|
+
[data-more-button-menu] {
|
|
20
|
+
overflow: hidden;
|
|
21
|
+
height: 1px;
|
|
22
|
+
width: 1px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
[role='list']:has(> [data-more-button-wrapper]) > [role='listitem'] > :is(button, a) {
|
|
26
|
+
white-space: nowrap;
|
|
27
|
+
}
|
|
28
|
+
`;
|
|
60
29
|
|
|
61
30
|
// @ts-ignore - JS mixin typing
|
|
62
31
|
export const MoreButtonMenuMixin = superclass =>
|
|
@@ -85,7 +54,7 @@ export const MoreButtonMenuMixin = superclass =>
|
|
|
85
54
|
// eslint-disable-next-line class-methods-use-this
|
|
86
55
|
_getDeepActiveElement() {
|
|
87
56
|
let host = document.activeElement || document.body;
|
|
88
|
-
while (host
|
|
57
|
+
while (host?.shadowRoot?.activeElement) {
|
|
89
58
|
host = host.shadowRoot.activeElement;
|
|
90
59
|
}
|
|
91
60
|
return host;
|
|
@@ -94,7 +63,7 @@ export const MoreButtonMenuMixin = superclass =>
|
|
|
94
63
|
_createMoreButtonWrapper() {
|
|
95
64
|
const moreButtonWrapper = document.createElement('div');
|
|
96
65
|
const style = document.createElement('style');
|
|
97
|
-
style.textContent = styles;
|
|
66
|
+
style.textContent = styles.cssText;
|
|
98
67
|
moreButtonWrapper.appendChild(style);
|
|
99
68
|
moreButtonWrapper.setAttribute('data-more-button-wrapper', '');
|
|
100
69
|
[...this.getMoreButtonSlotProjection().childNodes].forEach(node =>
|
|
@@ -107,32 +76,38 @@ export const MoreButtonMenuMixin = superclass =>
|
|
|
107
76
|
const moreButtonMenu = document.createElement('div');
|
|
108
77
|
moreButtonMenu.setAttribute('data-more-button-menu', '');
|
|
109
78
|
moreButtonWrapper.appendChild(moreButtonMenu);
|
|
110
|
-
moreButtonMenu.setAttribute('role', 'none');
|
|
111
79
|
this._listNode.appendChild(moreButtonWrapper);
|
|
112
80
|
|
|
113
|
-
const isElementDirectFocusableItemUnderMoreButtonMenu = element =>
|
|
114
|
-
|
|
115
|
-
return (
|
|
116
|
-
element?.parentElement?.parentElement === moreButtonMenu &&
|
|
117
|
-
(targetTagName === 'BUTTON' || targetTagName === 'A')
|
|
118
|
-
);
|
|
119
|
-
};
|
|
81
|
+
const isElementDirectFocusableItemUnderMoreButtonMenu = (/** @type {Element} */ element) =>
|
|
82
|
+
this.listItems.includes(element) && moreButtonMenu.contains(element);
|
|
120
83
|
|
|
121
|
-
moreButtonMenu.addEventListener(
|
|
122
|
-
|
|
123
|
-
|
|
84
|
+
moreButtonMenu.addEventListener(
|
|
85
|
+
'focusin',
|
|
86
|
+
/** @type {FocusEvent} */ event => {
|
|
87
|
+
const target = /** @type {HTMLElement} */ (event?.target);
|
|
88
|
+
if (!isElementDirectFocusableItemUnderMoreButtonMenu(target)) return;
|
|
89
|
+
|
|
90
|
+
// A user did `Shift + Tab` from L2 menu to More menu
|
|
124
91
|
if (target?.getAttribute('aria-expanded') === 'true') {
|
|
92
|
+
// close L2 menu
|
|
125
93
|
target?.click();
|
|
126
94
|
}
|
|
127
95
|
moreButton?.setAttribute('aria-expanded', 'true');
|
|
128
|
-
|
|
129
|
-
|
|
96
|
+
moreButtonMenu.setAttribute('data-open', '');
|
|
97
|
+
},
|
|
98
|
+
);
|
|
130
99
|
|
|
131
|
-
moreButtonMenu.addEventListener('focusout',
|
|
132
|
-
|
|
133
|
-
|
|
100
|
+
moreButtonMenu.addEventListener('focusout', () => {
|
|
101
|
+
// We need this timeout for Safari/WebKit.
|
|
102
|
+
// Unfortunately, an in progress click gets canceled when overflow:hidden is applied.
|
|
103
|
+
// Although mousedown would work instead, the consuming developer should have the freedom to apply all possible interaction pattterns.
|
|
104
|
+
// Especially, we should be compatible with 'withClickInteraction'
|
|
105
|
+
setTimeout(() => {
|
|
106
|
+
if (isElementDirectFocusableItemUnderMoreButtonMenu(this._getDeepActiveElement())) return;
|
|
134
107
|
moreButton?.setAttribute('aria-expanded', 'false');
|
|
135
|
-
|
|
108
|
+
|
|
109
|
+
moreButtonMenu.removeAttribute('data-open');
|
|
110
|
+
}, 100);
|
|
136
111
|
});
|
|
137
112
|
|
|
138
113
|
this.hasMoreButtonMenuAnyFocusedFirstLevelItems = false;
|
|
@@ -140,22 +115,26 @@ export const MoreButtonMenuMixin = superclass =>
|
|
|
140
115
|
moreButton?.addEventListener('mousedown', () => {
|
|
141
116
|
this.hasMoreButtonMenuAnyFocusedFirstLevelItems = false;
|
|
142
117
|
const focusableFirstLevelItems = moreButtonMenu.querySelectorAll(
|
|
143
|
-
':scope > [role="listitem"] > a,
|
|
118
|
+
':scope > [role="listitem"] > :is(a, button)',
|
|
144
119
|
);
|
|
145
120
|
|
|
146
|
-
[
|
|
121
|
+
// @ts-ignore Type 'NodeListOf<Element>' must have a '[Symbol.iterator]()' method that returns an iterator.
|
|
122
|
+
for (const focusableFirstLevelItem of focusableFirstLevelItems) {
|
|
147
123
|
if (this._getDeepActiveElement() === focusableFirstLevelItem) {
|
|
148
124
|
this.hasMoreButtonMenuAnyFocusedFirstLevelItems = true;
|
|
149
125
|
}
|
|
150
|
-
}
|
|
126
|
+
}
|
|
151
127
|
});
|
|
152
128
|
|
|
153
129
|
moreButton?.addEventListener('click', () => {
|
|
154
|
-
if (
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
130
|
+
if (this.hasMoreButtonMenuAnyFocusedFirstLevelItems) return;
|
|
131
|
+
/** @type {HTMLElement | null} */
|
|
132
|
+
const firstInteractiveItem = moreButtonMenu.querySelector(
|
|
133
|
+
':scope > [role="listitem"] > :is(a, button)',
|
|
134
|
+
);
|
|
135
|
+
|
|
136
|
+
firstInteractiveItem?.focus();
|
|
137
|
+
moreButtonMenu.setAttribute('data-open', '');
|
|
159
138
|
});
|
|
160
139
|
}
|
|
161
140
|
|
|
@@ -232,13 +211,13 @@ export const MoreButtonMenuMixin = superclass =>
|
|
|
232
211
|
return fragment;
|
|
233
212
|
};
|
|
234
213
|
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
214
|
+
/**
|
|
215
|
+
* @param {{ moreButtonMenuElement: HTMLButtonElement, listItem: HTMLElement }} opts
|
|
216
|
+
*/
|
|
217
|
+
moveItemToMoreButtonMenuFromMainMenu({ moreButtonMenuElement, listItem }) {
|
|
240
218
|
const fragment = this.getListItemWithAdjacentNodes(listItem);
|
|
241
219
|
moreButtonMenuElement.prepend(fragment);
|
|
220
|
+
// eslint-disable-next-line no-param-reassign
|
|
242
221
|
listItem.style.display = '';
|
|
243
222
|
this.displayMoreButton();
|
|
244
223
|
}
|
|
@@ -268,9 +247,15 @@ export const MoreButtonMenuMixin = superclass =>
|
|
|
268
247
|
return hiddenItemsCount;
|
|
269
248
|
}
|
|
270
249
|
|
|
250
|
+
/**
|
|
251
|
+
* @param {number} hiddenItemsCount
|
|
252
|
+
*/
|
|
271
253
|
moveHiddenItemsFromMainMenuToMoreButtonMenu(hiddenItemsCount) {
|
|
254
|
+
const moreButtonMenuElement = this.getMoreButtonMenu();
|
|
255
|
+
const listItems = this._listNode.querySelectorAll(':scope > [role="listitem"]');
|
|
272
256
|
for (let i = 0; i < hiddenItemsCount; i += 1) {
|
|
273
|
-
|
|
257
|
+
const listItem = listItems[listItems.length - 1 - i];
|
|
258
|
+
this.moveItemToMoreButtonMenuFromMainMenu({ moreButtonMenuElement, listItem });
|
|
274
259
|
}
|
|
275
260
|
}
|
|
276
261
|
|
|
@@ -279,6 +264,8 @@ export const MoreButtonMenuMixin = superclass =>
|
|
|
279
264
|
return;
|
|
280
265
|
}
|
|
281
266
|
|
|
267
|
+
this.style.visibility = 'hidden';
|
|
268
|
+
|
|
282
269
|
this.__resizeTimeout = setTimeout(() => {
|
|
283
270
|
this.__resizeTimeout = null;
|
|
284
271
|
|
|
@@ -214,7 +214,7 @@ const MultiLevelListMixinImplementation = superclass =>
|
|
|
214
214
|
if (
|
|
215
215
|
this.orientation === 'horizontal' &&
|
|
216
216
|
subListOfActiveItem &&
|
|
217
|
-
this._activeMode !== 'disclosure'
|
|
217
|
+
this._activeMode !== 'tabbable-disclosure'
|
|
218
218
|
) {
|
|
219
219
|
this.activeItem.click();
|
|
220
220
|
}
|
|
@@ -199,7 +199,7 @@ export class LionNavigationBar extends ScopedElementsMixin(LitElement) {
|
|
|
199
199
|
openableConfig: {
|
|
200
200
|
// We want to do the absolute positioning ourselves, popper is not suited for this...
|
|
201
201
|
placementMode: 'custom',
|
|
202
|
-
|
|
202
|
+
isActivated: false,
|
|
203
203
|
hidesOnOutsideClick: false,
|
|
204
204
|
inheritsReferenceWidth: 'none',
|
|
205
205
|
},
|
|
@@ -231,7 +231,7 @@ export class LionNavigationBar extends ScopedElementsMixin(LitElement) {
|
|
|
231
231
|
// We want disclosure behavior
|
|
232
232
|
placementMode: 'custom',
|
|
233
233
|
// N.B. we don't have an invoker...
|
|
234
|
-
|
|
234
|
+
isActivated: false,
|
|
235
235
|
inheritsReferenceWidth: 'none',
|
|
236
236
|
focusContentOnOpen: true,
|
|
237
237
|
},
|
package/custom-elements.json
CHANGED
|
@@ -2252,6 +2252,36 @@
|
|
|
2252
2252
|
}
|
|
2253
2253
|
]
|
|
2254
2254
|
},
|
|
2255
|
+
{
|
|
2256
|
+
"kind": "javascript-module",
|
|
2257
|
+
"path": "exports/define-helpers/sb-action-logger.js",
|
|
2258
|
+
"declarations": [],
|
|
2259
|
+
"exports": [
|
|
2260
|
+
{
|
|
2261
|
+
"kind": "custom-element-definition",
|
|
2262
|
+
"name": "sb-action-logger",
|
|
2263
|
+
"declaration": {
|
|
2264
|
+
"name": "SbActionLogger",
|
|
2265
|
+
"module": "/exports/helpers.js"
|
|
2266
|
+
}
|
|
2267
|
+
}
|
|
2268
|
+
]
|
|
2269
|
+
},
|
|
2270
|
+
{
|
|
2271
|
+
"kind": "javascript-module",
|
|
2272
|
+
"path": "exports/define-helpers/sb-locale-switcher.js",
|
|
2273
|
+
"declarations": [],
|
|
2274
|
+
"exports": [
|
|
2275
|
+
{
|
|
2276
|
+
"kind": "custom-element-definition",
|
|
2277
|
+
"name": "sb-locale-switcher",
|
|
2278
|
+
"declaration": {
|
|
2279
|
+
"name": "SbLocaleSwitcher",
|
|
2280
|
+
"module": "/exports/helpers.js"
|
|
2281
|
+
}
|
|
2282
|
+
}
|
|
2283
|
+
]
|
|
2284
|
+
},
|
|
2255
2285
|
{
|
|
2256
2286
|
"kind": "javascript-module",
|
|
2257
2287
|
"path": "exports/define/lion-accordion.js",
|
|
@@ -3047,36 +3077,6 @@
|
|
|
3047
3077
|
}
|
|
3048
3078
|
]
|
|
3049
3079
|
},
|
|
3050
|
-
{
|
|
3051
|
-
"kind": "javascript-module",
|
|
3052
|
-
"path": "exports/define-helpers/sb-action-logger.js",
|
|
3053
|
-
"declarations": [],
|
|
3054
|
-
"exports": [
|
|
3055
|
-
{
|
|
3056
|
-
"kind": "custom-element-definition",
|
|
3057
|
-
"name": "sb-action-logger",
|
|
3058
|
-
"declaration": {
|
|
3059
|
-
"name": "SbActionLogger",
|
|
3060
|
-
"module": "/exports/helpers.js"
|
|
3061
|
-
}
|
|
3062
|
-
}
|
|
3063
|
-
]
|
|
3064
|
-
},
|
|
3065
|
-
{
|
|
3066
|
-
"kind": "javascript-module",
|
|
3067
|
-
"path": "exports/define-helpers/sb-locale-switcher.js",
|
|
3068
|
-
"declarations": [],
|
|
3069
|
-
"exports": [
|
|
3070
|
-
{
|
|
3071
|
-
"kind": "custom-element-definition",
|
|
3072
|
-
"name": "sb-locale-switcher",
|
|
3073
|
-
"declaration": {
|
|
3074
|
-
"name": "SbLocaleSwitcher",
|
|
3075
|
-
"module": "/exports/helpers.js"
|
|
3076
|
-
}
|
|
3077
|
-
}
|
|
3078
|
-
]
|
|
3079
|
-
},
|
|
3080
3080
|
{
|
|
3081
3081
|
"kind": "javascript-module",
|
|
3082
3082
|
"path": "components/accordion/src/LionAccordion.js",
|
|
@@ -125214,6 +125214,17 @@
|
|
|
125214
125214
|
{
|
|
125215
125215
|
"kind": "method",
|
|
125216
125216
|
"name": "moveItemToMoreButtonMenuFromMainMenu",
|
|
125217
|
+
"parameters": [
|
|
125218
|
+
{
|
|
125219
|
+
"name": "{ moreButtonMenuElement, listItem }"
|
|
125220
|
+
},
|
|
125221
|
+
{
|
|
125222
|
+
"name": "opts",
|
|
125223
|
+
"type": {
|
|
125224
|
+
"text": "{ moreButtonMenuElement: HTMLButtonElement, listItem: HTMLElement }"
|
|
125225
|
+
}
|
|
125226
|
+
}
|
|
125227
|
+
],
|
|
125217
125228
|
"inheritedFrom": {
|
|
125218
125229
|
"name": "MoreButtonMenuMixin",
|
|
125219
125230
|
"module": "components/menu/src/MoreButtonMenuMixin.js"
|
|
@@ -125248,7 +125259,10 @@
|
|
|
125248
125259
|
"name": "moveHiddenItemsFromMainMenuToMoreButtonMenu",
|
|
125249
125260
|
"parameters": [
|
|
125250
125261
|
{
|
|
125251
|
-
"name": "hiddenItemsCount"
|
|
125262
|
+
"name": "hiddenItemsCount",
|
|
125263
|
+
"type": {
|
|
125264
|
+
"text": "number"
|
|
125265
|
+
}
|
|
125252
125266
|
}
|
|
125253
125267
|
],
|
|
125254
125268
|
"inheritedFrom": {
|
|
@@ -129621,6 +129635,17 @@
|
|
|
129621
129635
|
{
|
|
129622
129636
|
"kind": "method",
|
|
129623
129637
|
"name": "moveItemToMoreButtonMenuFromMainMenu",
|
|
129638
|
+
"parameters": [
|
|
129639
|
+
{
|
|
129640
|
+
"name": "{ moreButtonMenuElement, listItem }"
|
|
129641
|
+
},
|
|
129642
|
+
{
|
|
129643
|
+
"name": "opts",
|
|
129644
|
+
"type": {
|
|
129645
|
+
"text": "{ moreButtonMenuElement: HTMLButtonElement, listItem: HTMLElement }"
|
|
129646
|
+
}
|
|
129647
|
+
}
|
|
129648
|
+
],
|
|
129624
129649
|
"inheritedFrom": {
|
|
129625
129650
|
"name": "MoreButtonMenuMixin",
|
|
129626
129651
|
"module": "components/menu/src/MoreButtonMenuMixin.js"
|
|
@@ -129655,7 +129680,10 @@
|
|
|
129655
129680
|
"name": "moveHiddenItemsFromMainMenuToMoreButtonMenu",
|
|
129656
129681
|
"parameters": [
|
|
129657
129682
|
{
|
|
129658
|
-
"name": "hiddenItemsCount"
|
|
129683
|
+
"name": "hiddenItemsCount",
|
|
129684
|
+
"type": {
|
|
129685
|
+
"text": "number"
|
|
129686
|
+
}
|
|
129659
129687
|
}
|
|
129660
129688
|
],
|
|
129661
129689
|
"inheritedFrom": {
|
|
@@ -164090,6 +164118,17 @@
|
|
|
164090
164118
|
{
|
|
164091
164119
|
"kind": "method",
|
|
164092
164120
|
"name": "moveItemToMoreButtonMenuFromMainMenu",
|
|
164121
|
+
"parameters": [
|
|
164122
|
+
{
|
|
164123
|
+
"name": "{ moreButtonMenuElement, listItem }"
|
|
164124
|
+
},
|
|
164125
|
+
{
|
|
164126
|
+
"name": "opts",
|
|
164127
|
+
"type": {
|
|
164128
|
+
"text": "{ moreButtonMenuElement: HTMLButtonElement, listItem: HTMLElement }"
|
|
164129
|
+
}
|
|
164130
|
+
}
|
|
164131
|
+
],
|
|
164093
164132
|
"inheritedFrom": {
|
|
164094
164133
|
"name": "MoreButtonMenuMixin",
|
|
164095
164134
|
"module": "components/menu/src/MoreButtonMenuMixin.js"
|
|
@@ -164124,7 +164163,10 @@
|
|
|
164124
164163
|
"name": "moveHiddenItemsFromMainMenuToMoreButtonMenu",
|
|
164125
164164
|
"parameters": [
|
|
164126
164165
|
{
|
|
164127
|
-
"name": "hiddenItemsCount"
|
|
164166
|
+
"name": "hiddenItemsCount",
|
|
164167
|
+
"type": {
|
|
164168
|
+
"text": "number"
|
|
164169
|
+
}
|
|
164128
164170
|
}
|
|
164129
164171
|
],
|
|
164130
164172
|
"inheritedFrom": {
|
|
@@ -164608,7 +164650,18 @@
|
|
|
164608
164650
|
},
|
|
164609
164651
|
{
|
|
164610
164652
|
"kind": "method",
|
|
164611
|
-
"name": "moveItemToMoreButtonMenuFromMainMenu"
|
|
164653
|
+
"name": "moveItemToMoreButtonMenuFromMainMenu",
|
|
164654
|
+
"parameters": [
|
|
164655
|
+
{
|
|
164656
|
+
"name": "{ moreButtonMenuElement, listItem }"
|
|
164657
|
+
},
|
|
164658
|
+
{
|
|
164659
|
+
"name": "opts",
|
|
164660
|
+
"type": {
|
|
164661
|
+
"text": "{ moreButtonMenuElement: HTMLButtonElement, listItem: HTMLElement }"
|
|
164662
|
+
}
|
|
164663
|
+
}
|
|
164664
|
+
]
|
|
164612
164665
|
},
|
|
164613
164666
|
{
|
|
164614
164667
|
"kind": "method",
|
|
@@ -164627,7 +164680,10 @@
|
|
|
164627
164680
|
"name": "moveHiddenItemsFromMainMenuToMoreButtonMenu",
|
|
164628
164681
|
"parameters": [
|
|
164629
164682
|
{
|
|
164630
|
-
"name": "hiddenItemsCount"
|
|
164683
|
+
"name": "hiddenItemsCount",
|
|
164684
|
+
"type": {
|
|
164685
|
+
"text": "number"
|
|
164686
|
+
}
|
|
164631
164687
|
}
|
|
164632
164688
|
]
|
|
164633
164689
|
},
|
|
@@ -20,11 +20,20 @@ export function MoreButtonMenuMixin(superclass: any): {
|
|
|
20
20
|
* @param {Node} listItem
|
|
21
21
|
*/
|
|
22
22
|
getListItemWithAdjacentNodes: (listItem: Node) => DocumentFragment;
|
|
23
|
-
|
|
23
|
+
/**
|
|
24
|
+
* @param {{ moreButtonMenuElement: HTMLButtonElement, listItem: HTMLElement }} opts
|
|
25
|
+
*/
|
|
26
|
+
moveItemToMoreButtonMenuFromMainMenu({ moreButtonMenuElement, listItem }: {
|
|
27
|
+
moreButtonMenuElement: HTMLButtonElement;
|
|
28
|
+
listItem: HTMLElement;
|
|
29
|
+
}): void;
|
|
24
30
|
moveAllItemsToMainMenuFromMoreButtonMenu(): void;
|
|
25
31
|
renderAllItemsInMainMenu(): void;
|
|
26
32
|
hideItemsOneByOneInMainMenuUntilTheyFit(): number;
|
|
27
|
-
|
|
33
|
+
/**
|
|
34
|
+
* @param {number} hiddenItemsCount
|
|
35
|
+
*/
|
|
36
|
+
moveHiddenItemsFromMainMenuToMoreButtonMenu(hiddenItemsCount: number): void;
|
|
28
37
|
};
|
|
29
38
|
[x: string]: any;
|
|
30
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MoreButtonMenuMixin.d.ts","sourceRoot":"","sources":["../../../../components/menu/src/MoreButtonMenuMixin.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"MoreButtonMenuMixin.d.ts","sourceRoot":"","sources":["../../../../components/menu/src/MoreButtonMenuMixin.js"],"names":[],"mappings":"AA8BO;;;;;;;;;;;;;;;;;;QAmJH;;WAEG;iDADQ,IAAI;QAmCf;;WAEG;kFADQ;YAAE,qBAAqB,EAAE,iBAAiB,CAAC;YAAC,QAAQ,EAAE,WAAW,CAAA;SAAE;;;;QAmC9E;;WAEG;sEADQ,MAAM;;;EAoClB"}
|
|
@@ -66,7 +66,7 @@ export class LionNavigationBar extends LionNavigationBar_base {
|
|
|
66
66
|
isBar: boolean;
|
|
67
67
|
openableConfig: {
|
|
68
68
|
placementMode: string;
|
|
69
|
-
|
|
69
|
+
isActivated: boolean;
|
|
70
70
|
hidesOnOutsideClick: boolean;
|
|
71
71
|
inheritsReferenceWidth: string;
|
|
72
72
|
focusContentOnOpen?: undefined;
|
|
@@ -97,7 +97,7 @@ export class LionNavigationBar extends LionNavigationBar_base {
|
|
|
97
97
|
hasFullWidthFlyout: boolean;
|
|
98
98
|
openableConfig: {
|
|
99
99
|
placementMode: string;
|
|
100
|
-
|
|
100
|
+
isActivated: boolean;
|
|
101
101
|
inheritsReferenceWidth: string;
|
|
102
102
|
focusContentOnOpen: boolean;
|
|
103
103
|
hidesOnOutsideClick?: undefined;
|
|
@@ -138,7 +138,7 @@ export class LionNavigationBar extends LionNavigationBar_base {
|
|
|
138
138
|
isBar: boolean;
|
|
139
139
|
openableConfig: {
|
|
140
140
|
placementMode: string;
|
|
141
|
-
|
|
141
|
+
isActivated: boolean;
|
|
142
142
|
hidesOnOutsideClick: boolean;
|
|
143
143
|
inheritsReferenceWidth: string;
|
|
144
144
|
focusContentOnOpen?: undefined;
|
|
@@ -169,7 +169,7 @@ export class LionNavigationBar extends LionNavigationBar_base {
|
|
|
169
169
|
hasFullWidthFlyout: boolean;
|
|
170
170
|
openableConfig: {
|
|
171
171
|
placementMode: string;
|
|
172
|
-
|
|
172
|
+
isActivated: boolean;
|
|
173
173
|
inheritsReferenceWidth: string;
|
|
174
174
|
focusContentOnOpen: boolean;
|
|
175
175
|
hidesOnOutsideClick?: undefined;
|