@limetech/lime-elements 37.1.0-next.66 → 37.1.0-next.68
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/cjs/{component-9c3fa668.js → component-66df95e7.js} +935 -12
- package/dist/cjs/component-66df95e7.js.map +1 -0
- package/dist/cjs/index.es-75b5e7c4.js +222 -0
- package/dist/cjs/index.es-75b5e7c4.js.map +1 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-breadcrumbs_3.cjs.entry.js +147 -28
- package/dist/cjs/limel-breadcrumbs_3.cjs.entry.js.map +1 -1
- package/dist/cjs/{limel-list.cjs.entry.js → limel-input-field_3.cjs.entry.js} +820 -4
- package/dist/cjs/limel-input-field_3.cjs.entry.js.map +1 -0
- package/dist/cjs/limel-picker.cjs.entry.js +2 -218
- package/dist/cjs/limel-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/limel-select.cjs.entry.js +8 -0
- package/dist/cjs/limel-select.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/menu/menu.js +178 -16
- package/dist/collection/components/menu/menu.js.map +1 -1
- package/dist/collection/components/menu/menu.types.js.map +1 -1
- package/dist/collection/components/select/select.template.js +8 -0
- package/dist/collection/components/select/select.template.js.map +1 -1
- package/dist/esm/{component-0be247ac.js → component-fffa3419.js} +934 -13
- package/dist/esm/component-fffa3419.js.map +1 -0
- package/dist/esm/index.es-61c13ecf.js +220 -0
- package/dist/esm/index.es-61c13ecf.js.map +1 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-breadcrumbs_3.entry.js +137 -18
- package/dist/esm/limel-breadcrumbs_3.entry.js.map +1 -1
- package/dist/esm/{limel-list.entry.js → limel-input-field_3.entry.js} +818 -4
- package/dist/esm/limel-input-field_3.entry.js.map +1 -0
- package/dist/esm/limel-picker.entry.js +1 -217
- package/dist/esm/limel-picker.entry.js.map +1 -1
- package/dist/esm/limel-select.entry.js +8 -0
- package/dist/esm/limel-select.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js.map +1 -1
- package/dist/lime-elements/p-0bbfc036.entry.js +82 -0
- package/dist/lime-elements/{p-4db3e907.entry.js.map → p-0bbfc036.entry.js.map} +1 -1
- package/dist/lime-elements/p-78a442a0.entry.js +2 -0
- package/dist/lime-elements/p-78a442a0.entry.js.map +1 -0
- package/dist/lime-elements/p-97107e34.js +16 -0
- package/dist/lime-elements/p-97107e34.js.map +1 -0
- package/dist/lime-elements/{p-2ce8168b.entry.js → p-ade5366a.entry.js} +6 -6
- package/dist/lime-elements/p-ade5366a.entry.js.map +1 -0
- package/dist/lime-elements/p-dfba92de.js +206 -0
- package/dist/lime-elements/p-dfba92de.js.map +1 -0
- package/dist/lime-elements/p-dfc927a3.entry.js +2 -0
- package/dist/lime-elements/p-dfc927a3.entry.js.map +1 -0
- package/dist/types/components/menu/menu.d.ts +27 -7
- package/dist/types/components/menu/menu.types.d.ts +8 -0
- package/dist/types/components.d.ts +22 -2
- package/package.json +2 -2
- package/dist/cjs/component-9c3fa668.js.map +0 -1
- package/dist/cjs/component-a0124759.js +0 -929
- package/dist/cjs/component-a0124759.js.map +0 -1
- package/dist/cjs/limel-input-field.cjs.entry.js +0 -707
- package/dist/cjs/limel-input-field.cjs.entry.js.map +0 -1
- package/dist/cjs/limel-list.cjs.entry.js.map +0 -1
- package/dist/cjs/limel-menu-surface.cjs.entry.js +0 -130
- package/dist/cjs/limel-menu-surface.cjs.entry.js.map +0 -1
- package/dist/esm/component-0be247ac.js.map +0 -1
- package/dist/esm/component-6d079abe.js +0 -926
- package/dist/esm/component-6d079abe.js.map +0 -1
- package/dist/esm/limel-input-field.entry.js +0 -703
- package/dist/esm/limel-input-field.entry.js.map +0 -1
- package/dist/esm/limel-list.entry.js.map +0 -1
- package/dist/esm/limel-menu-surface.entry.js +0 -126
- package/dist/esm/limel-menu-surface.entry.js.map +0 -1
- package/dist/lime-elements/p-2ce8168b.entry.js.map +0 -1
- package/dist/lime-elements/p-32ff1b76.entry.js +0 -2
- package/dist/lime-elements/p-32ff1b76.entry.js.map +0 -1
- package/dist/lime-elements/p-3efb6ac5.entry.js +0 -2
- package/dist/lime-elements/p-3efb6ac5.entry.js.map +0 -1
- package/dist/lime-elements/p-4db3e907.entry.js +0 -82
- package/dist/lime-elements/p-5dd6d677.js +0 -82
- package/dist/lime-elements/p-5dd6d677.js.map +0 -1
- package/dist/lime-elements/p-99b26036.entry.js +0 -2
- package/dist/lime-elements/p-99b26036.entry.js.map +0 -1
- package/dist/lime-elements/p-bbf317b8.entry.js +0 -16
- package/dist/lime-elements/p-bbf317b8.entry.js.map +0 -1
- package/dist/lime-elements/p-e3b16b61.js +0 -126
- package/dist/lime-elements/p-e3b16b61.js.map +0 -1
|
@@ -7,13 +7,13 @@ const makeEnterClickable = require('./make-enter-clickable-59460fd6.js');
|
|
|
7
7
|
const randomString = require('./random-string-c8445652.js');
|
|
8
8
|
const getIconProps = require('./get-icon-props-46a7e937.js');
|
|
9
9
|
const keycodes = require('./keycodes-3949f425.js');
|
|
10
|
+
const index_es = require('./index.es-75b5e7c4.js');
|
|
10
11
|
const eq = require('./eq-9a943b00.js');
|
|
11
12
|
const zipObject = require('./zipObject-93a471fa.js');
|
|
12
|
-
const component$
|
|
13
|
+
const component$1 = require('./component-67144c1c.js');
|
|
13
14
|
const ponyfill = require('./ponyfill-98ca4766.js');
|
|
14
|
-
const component
|
|
15
|
-
const component = require('./component-
|
|
16
|
-
const component$3 = require('./component-cf490570.js');
|
|
15
|
+
const component = require('./component-66df95e7.js');
|
|
16
|
+
const component$2 = require('./component-cf490570.js');
|
|
17
17
|
require('./isObject-e28b7997.js');
|
|
18
18
|
require('./_assignValue-7c18d8d6.js');
|
|
19
19
|
require('./_defineProperty-8f56146d.js');
|
|
@@ -103,6 +103,7 @@ Breadcrumbs.style = breadcrumbsCss;
|
|
|
103
103
|
|
|
104
104
|
const menuCss = ":host(limel-menu){isolation:isolate;position:relative;display:inline-block;--badge-background-color:var(\n --notification-badge-background-color,\n rgb(var(--color-red-default))\n );--badge-text-color:var(\n --notification-badge-text-color,\n rgb(var(--color-white))\n )}:host([hidden]){display:none}.menu__trigger{border-color:transparent;border-width:1px;border-style:solid;background:none;color:rgb(var(--contrast-800));height:2.25rem}.menu__trigger-enabled:hover{border-color:rgb(var(--contrast-800));color:rgb(var(--contrast-1100))}.mdc-menu-surface--anchor{position:relative}limel-badge{position:absolute;top:-0.25rem;right:-0.25rem}";
|
|
105
105
|
|
|
106
|
+
const SEARCH_DEBOUNCE = 500;
|
|
106
107
|
const Menu = class {
|
|
107
108
|
constructor(hostRef) {
|
|
108
109
|
index.registerInstance(this, hostRef);
|
|
@@ -141,8 +142,35 @@ const Menu = class {
|
|
|
141
142
|
}
|
|
142
143
|
this.handleSelect(event.detail.menuItem);
|
|
143
144
|
};
|
|
145
|
+
this.renderSearchField = () => {
|
|
146
|
+
if (!this.searcher) {
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
return (index.h("limel-input-field", { tabindex: "0", ref: this.setSearchElement, type: "search", leadingIcon: "search", style: {
|
|
150
|
+
padding: '0.25rem',
|
|
151
|
+
'box-sizing': 'border-box',
|
|
152
|
+
}, value: this.searchValue, onChange: this.handleTextInput, onKeyDown: this.handleInputKeyDown }));
|
|
153
|
+
};
|
|
154
|
+
this.renderEmptyMessage = () => {
|
|
155
|
+
var _a;
|
|
156
|
+
if (this.loading ||
|
|
157
|
+
this.loadingSubItems ||
|
|
158
|
+
!this.emptyResultMessage ||
|
|
159
|
+
!Array.isArray(this.searchResults) ||
|
|
160
|
+
((_a = this.searchResults) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
161
|
+
return null;
|
|
162
|
+
}
|
|
163
|
+
return (index.h("p", { style: {
|
|
164
|
+
padding: '0 1rem',
|
|
165
|
+
'text-align': 'center',
|
|
166
|
+
} }, this.emptyResultMessage));
|
|
167
|
+
};
|
|
144
168
|
this.renderMenuList = () => {
|
|
169
|
+
var _a;
|
|
145
170
|
let items = this.visibleItems;
|
|
171
|
+
if ((_a = this.searchResults) === null || _a === void 0 ? void 0 : _a.length) {
|
|
172
|
+
items = this.searchResults;
|
|
173
|
+
}
|
|
146
174
|
if (this.loadingSubItems || this.loading) {
|
|
147
175
|
items = [];
|
|
148
176
|
}
|
|
@@ -153,19 +181,67 @@ const Menu = class {
|
|
|
153
181
|
'has-grid-layout has-interactive-items': this.gridLayout,
|
|
154
182
|
}, items: items, type: "menu", badgeIcons: this.badgeIcons, onSelect: this.onSelect, ref: this.setListElement, onKeyDown: this.handleMenuKeyDown }));
|
|
155
183
|
};
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
184
|
+
this.handleTextInput = async (event) => {
|
|
185
|
+
event.stopPropagation();
|
|
186
|
+
const query = event.detail;
|
|
187
|
+
this.searchValue = query;
|
|
188
|
+
if (query === '') {
|
|
189
|
+
this.searchResults = null;
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
this.loadingSubItems = true;
|
|
193
|
+
const result = await this.debouncedSearch(query);
|
|
194
|
+
this.searchResults = result;
|
|
195
|
+
this.loadingSubItems = false;
|
|
196
|
+
};
|
|
197
|
+
// Key handler for the input search field
|
|
198
|
+
// Will change focus to the first/last item in the dropdown
|
|
199
|
+
// list to enable selection with the keyboard
|
|
200
|
+
this.handleInputKeyDown = (event) => {
|
|
201
|
+
const isForwardTab = (event.key === keycodes.TAB || event.keyCode === keycodes.TAB_KEY_CODE) &&
|
|
202
|
+
!event.altKey &&
|
|
203
|
+
!event.metaKey &&
|
|
204
|
+
!event.shiftKey;
|
|
205
|
+
const isUp = event.key === keycodes.ARROW_UP || event.keyCode === keycodes.ARROW_UP_KEY_CODE;
|
|
206
|
+
const isDown = event.key === keycodes.ARROW_DOWN || event.keyCode === keycodes.ARROW_DOWN_KEY_CODE;
|
|
207
|
+
if (!isForwardTab && !isUp && !isDown) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
if (!this.list) {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
event.stopPropagation();
|
|
214
|
+
event.preventDefault();
|
|
215
|
+
if (isForwardTab || isDown) {
|
|
216
|
+
const listElement = this.list.shadowRoot.querySelector('.mdc-deprecated-list-item:first-child');
|
|
217
|
+
listElement.focus();
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
if (isUp) {
|
|
221
|
+
const listElement = this.list.shadowRoot.querySelector('.mdc-deprecated-list-item:last-child');
|
|
222
|
+
listElement.focus();
|
|
223
|
+
}
|
|
224
|
+
};
|
|
225
|
+
// Key handler for the menu list
|
|
226
|
+
// Will change focus to the search field if using shift+tab
|
|
227
|
+
// And can go forward/back with righ/left arrow keys
|
|
162
228
|
this.handleMenuKeyDown = (event) => {
|
|
229
|
+
var _a;
|
|
230
|
+
const isBackwardTab = (event.key === keycodes.TAB || event.keyCode === keycodes.TAB_KEY_CODE) &&
|
|
231
|
+
!event.altKey &&
|
|
232
|
+
!event.metaKey &&
|
|
233
|
+
event.shiftKey;
|
|
163
234
|
const isLeft = event.key === keycodes.ARROW_LEFT || event.keyCode === keycodes.ARROW_LEFT_KEY_CODE;
|
|
164
235
|
const isRight = event.key === keycodes.ARROW_RIGHT || event.keyCode === keycodes.ARROW_RIGHT_KEY_CODE;
|
|
165
|
-
if (!isLeft && !isRight) {
|
|
236
|
+
if (!isBackwardTab && !isLeft && !isRight) {
|
|
166
237
|
return;
|
|
167
238
|
}
|
|
168
|
-
if (
|
|
239
|
+
if (isBackwardTab) {
|
|
240
|
+
event.stopPropagation();
|
|
241
|
+
event.preventDefault();
|
|
242
|
+
(_a = this.searchInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
243
|
+
}
|
|
244
|
+
else if (!this.gridLayout) {
|
|
169
245
|
const currentItem = this.getCurrentItem();
|
|
170
246
|
event.stopPropagation();
|
|
171
247
|
event.preventDefault();
|
|
@@ -177,6 +253,10 @@ const Menu = class {
|
|
|
177
253
|
}
|
|
178
254
|
}
|
|
179
255
|
};
|
|
256
|
+
this.clearSearch = () => {
|
|
257
|
+
this.searchValue = '';
|
|
258
|
+
this.searchResults = null;
|
|
259
|
+
};
|
|
180
260
|
this.getCurrentItem = () => {
|
|
181
261
|
var _a, _b, _c;
|
|
182
262
|
const activeItem = (_b = (_a = this.list) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[role="menuitem"][tabindex="0"]');
|
|
@@ -233,6 +313,7 @@ const Menu = class {
|
|
|
233
313
|
};
|
|
234
314
|
this.handleSelect = async (menuItem, selectOnEmptyChildren = true) => {
|
|
235
315
|
if (Array.isArray(menuItem === null || menuItem === void 0 ? void 0 : menuItem.items) && menuItem.items.length > 0) {
|
|
316
|
+
this.clearSearch();
|
|
236
317
|
this.currentSubMenu = menuItem;
|
|
237
318
|
this.navigateMenu.emit(menuItem);
|
|
238
319
|
this.setFocus();
|
|
@@ -268,13 +349,28 @@ const Menu = class {
|
|
|
268
349
|
};
|
|
269
350
|
this.setFocus = () => {
|
|
270
351
|
setTimeout(() => {
|
|
271
|
-
|
|
272
|
-
observer
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
352
|
+
if (this.searchInput && this.searcher) {
|
|
353
|
+
const observer = new IntersectionObserver(() => {
|
|
354
|
+
observer.unobserve(this.searchInput);
|
|
355
|
+
if (this.searchInput === window.document.activeElement) {
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
this.searchInput.focus();
|
|
359
|
+
});
|
|
360
|
+
observer.observe(this.searchInput);
|
|
361
|
+
}
|
|
362
|
+
else if (this.list) {
|
|
363
|
+
const observer = new IntersectionObserver(() => {
|
|
364
|
+
observer.unobserve(this.list);
|
|
365
|
+
this.focusMenuItem();
|
|
366
|
+
});
|
|
367
|
+
observer.observe(this.list);
|
|
368
|
+
}
|
|
276
369
|
}, 0);
|
|
277
370
|
};
|
|
371
|
+
this.setSearchElement = (element) => {
|
|
372
|
+
this.searchInput = element;
|
|
373
|
+
};
|
|
278
374
|
this.focusMenuItem = () => {
|
|
279
375
|
var _a;
|
|
280
376
|
if (!this.list) {
|
|
@@ -305,10 +401,18 @@ const Menu = class {
|
|
|
305
401
|
this.gridLayout = false;
|
|
306
402
|
this.loading = false;
|
|
307
403
|
this.currentSubMenu = undefined;
|
|
404
|
+
this.searcher = undefined;
|
|
405
|
+
this.emptyResultMessage = undefined;
|
|
308
406
|
this.loadingSubItems = undefined;
|
|
309
407
|
this.menuBreadCrumb = [];
|
|
408
|
+
this.searchValue = undefined;
|
|
409
|
+
this.searchResults = undefined;
|
|
410
|
+
this.createDebouncedSearcher = this.createDebouncedSearcher.bind(this);
|
|
310
411
|
this.portalId = randomString.createRandomString();
|
|
311
412
|
}
|
|
413
|
+
componentDidLoad() {
|
|
414
|
+
this.createDebouncedSearcher(this.searcher);
|
|
415
|
+
}
|
|
312
416
|
componentDidRender() {
|
|
313
417
|
const slotElement = this.host.shadowRoot.querySelector('slot');
|
|
314
418
|
slotElement.assignedElements().forEach(this.setTriggerAttributes);
|
|
@@ -319,17 +423,25 @@ const Menu = class {
|
|
|
319
423
|
const menuSurfaceWidth = this.getMenuSurfaceWidth(cssProperties['--menu-surface-width']);
|
|
320
424
|
return (index.h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, index.h("slot", { ref: this.setTriggerRef, name: "trigger" }), this.renderNotificationBadge(), index.h("limel-portal", { visible: this.open, containerId: this.portalId, openDirection: this.openDirection, position: "absolute", containerStyle: { 'z-index': dropdownZIndex } }, index.h("limel-menu-surface", { open: this.open, onDismiss: this.onClose, style: Object.assign(Object.assign({}, cssProperties), { '--mdc-menu-min-width': menuSurfaceWidth, '--limel-menu-surface-display': 'flex', '--limel-menu-surface-flex-direction': 'column' }), class: {
|
|
321
425
|
'has-grid-layout': this.gridLayout,
|
|
322
|
-
} }, this.renderBreadcrumb(), this.renderLoader(), this.renderMenuList()))));
|
|
426
|
+
} }, this.renderSearchField(), this.renderBreadcrumb(), this.renderLoader(), this.renderEmptyMessage(), this.renderMenuList()))));
|
|
323
427
|
}
|
|
324
428
|
itemsWatcher() {
|
|
429
|
+
this.clearSearch();
|
|
325
430
|
this.setFocus();
|
|
326
431
|
}
|
|
327
432
|
openWatcher(newValue) {
|
|
328
433
|
if (newValue) {
|
|
329
434
|
this.setFocus();
|
|
330
435
|
}
|
|
436
|
+
else {
|
|
437
|
+
this.clearSearch();
|
|
438
|
+
}
|
|
331
439
|
}
|
|
332
440
|
currentSubMenuWatcher() {
|
|
441
|
+
if (this.searchValue) {
|
|
442
|
+
this.menuBreadCrumb = [];
|
|
443
|
+
return;
|
|
444
|
+
}
|
|
333
445
|
const breadCrumbItems = [];
|
|
334
446
|
let currentItem = this.currentSubMenu;
|
|
335
447
|
while (currentItem) {
|
|
@@ -351,6 +463,12 @@ const Menu = class {
|
|
|
351
463
|
}
|
|
352
464
|
this.menuBreadCrumb = breadCrumbItems.reverse();
|
|
353
465
|
}
|
|
466
|
+
createDebouncedSearcher(newValue) {
|
|
467
|
+
if (typeof newValue !== 'function') {
|
|
468
|
+
return;
|
|
469
|
+
}
|
|
470
|
+
this.debouncedSearch = index_es.AwesomeDebouncePromise(newValue, SEARCH_DEBOUNCE);
|
|
471
|
+
}
|
|
354
472
|
getCssProperties() {
|
|
355
473
|
const propertyNames = [
|
|
356
474
|
'--menu-surface-width',
|
|
@@ -401,7 +519,8 @@ const Menu = class {
|
|
|
401
519
|
static get watchers() { return {
|
|
402
520
|
"items": ["itemsWatcher"],
|
|
403
521
|
"open": ["openWatcher"],
|
|
404
|
-
"currentSubMenu": ["currentSubMenuWatcher"]
|
|
522
|
+
"currentSubMenu": ["currentSubMenuWatcher"],
|
|
523
|
+
"searcher": ["createDebouncedSearcher"]
|
|
405
524
|
}; }
|
|
406
525
|
};
|
|
407
526
|
Menu.style = menuCss;
|
|
@@ -659,11 +778,11 @@ var MDCMenuFoundation = /** @class */ (function (_super) {
|
|
|
659
778
|
MDCMenuFoundation.prototype.setEnabled = function (index, isEnabled) {
|
|
660
779
|
this.validatedIndex(index);
|
|
661
780
|
if (isEnabled) {
|
|
662
|
-
this.adapter.removeClassFromElementAtIndex(index, component
|
|
781
|
+
this.adapter.removeClassFromElementAtIndex(index, component.cssClasses.LIST_ITEM_DISABLED_CLASS);
|
|
663
782
|
this.adapter.addAttributeToElementAtIndex(index, strings.ARIA_DISABLED_ATTR, 'false');
|
|
664
783
|
}
|
|
665
784
|
else {
|
|
666
|
-
this.adapter.addClassToElementAtIndex(index, component
|
|
785
|
+
this.adapter.addClassToElementAtIndex(index, component.cssClasses.LIST_ITEM_DISABLED_CLASS);
|
|
667
786
|
this.adapter.addAttributeToElementAtIndex(index, strings.ARIA_DISABLED_ATTR, 'true');
|
|
668
787
|
}
|
|
669
788
|
};
|
|
@@ -675,7 +794,7 @@ var MDCMenuFoundation = /** @class */ (function (_super) {
|
|
|
675
794
|
}
|
|
676
795
|
};
|
|
677
796
|
return MDCMenuFoundation;
|
|
678
|
-
}(component$
|
|
797
|
+
}(component$1.MDCFoundation));
|
|
679
798
|
|
|
680
799
|
/**
|
|
681
800
|
* @license
|
|
@@ -709,7 +828,7 @@ var MDCMenu = /** @class */ (function (_super) {
|
|
|
709
828
|
};
|
|
710
829
|
MDCMenu.prototype.initialize = function (menuSurfaceFactory, listFactory) {
|
|
711
830
|
if (menuSurfaceFactory === void 0) { menuSurfaceFactory = function (el) { return new component.MDCMenuSurface(el); }; }
|
|
712
|
-
if (listFactory === void 0) { listFactory = function (el) { return new component
|
|
831
|
+
if (listFactory === void 0) { listFactory = function (el) { return new component.MDCList(el); }; }
|
|
713
832
|
this.menuSurfaceFactory = menuSurfaceFactory;
|
|
714
833
|
this.listFactory = listFactory;
|
|
715
834
|
};
|
|
@@ -735,7 +854,7 @@ var MDCMenu = /** @class */ (function (_super) {
|
|
|
735
854
|
};
|
|
736
855
|
this.menuSurface.listen(component.MDCMenuSurfaceFoundation.strings.OPENED_EVENT, this.handleMenuSurfaceOpened);
|
|
737
856
|
this.listen('keydown', this.handleKeydown);
|
|
738
|
-
this.listen(component
|
|
857
|
+
this.listen(component.MDCListFoundation.strings.ACTION_EVENT, this.handleItemAction);
|
|
739
858
|
};
|
|
740
859
|
MDCMenu.prototype.destroy = function () {
|
|
741
860
|
if (this.list) {
|
|
@@ -744,7 +863,7 @@ var MDCMenu = /** @class */ (function (_super) {
|
|
|
744
863
|
this.menuSurface.destroy();
|
|
745
864
|
this.menuSurface.unlisten(component.MDCMenuSurfaceFoundation.strings.OPENED_EVENT, this.handleMenuSurfaceOpened);
|
|
746
865
|
this.unlisten('keydown', this.handleKeydown);
|
|
747
|
-
this.unlisten(component
|
|
866
|
+
this.unlisten(component.MDCListFoundation.strings.ACTION_EVENT, this.handleItemAction);
|
|
748
867
|
_super.prototype.destroy.call(this);
|
|
749
868
|
};
|
|
750
869
|
Object.defineProperty(MDCMenu.prototype, "open", {
|
|
@@ -859,7 +978,7 @@ var MDCMenu = /** @class */ (function (_super) {
|
|
|
859
978
|
* radio lists, and an array of numbers for checkbox lists.
|
|
860
979
|
*/
|
|
861
980
|
get: function () {
|
|
862
|
-
return this.list ? this.list.selectedIndex : component
|
|
981
|
+
return this.list ? this.list.selectedIndex : component.numbers.UNSET_INDEX;
|
|
863
982
|
},
|
|
864
983
|
/**
|
|
865
984
|
* Sets the selected index of the list. Only applicable to select menus.
|
|
@@ -1011,7 +1130,7 @@ var MDCMenu = /** @class */ (function (_super) {
|
|
|
1011
1130
|
return new MDCMenuFoundation(adapter);
|
|
1012
1131
|
};
|
|
1013
1132
|
return MDCMenu;
|
|
1014
|
-
}(component$
|
|
1133
|
+
}(component$1.MDCComponent));
|
|
1015
1134
|
|
|
1016
1135
|
class MenuListRenderer {
|
|
1017
1136
|
constructor() {
|
|
@@ -1204,7 +1323,7 @@ const MenuList = class {
|
|
|
1204
1323
|
this.mdcMenu = new MDCMenu(element);
|
|
1205
1324
|
this.mdcMenu.hasTypeahead = true;
|
|
1206
1325
|
this.mdcMenu.wrapFocus = true;
|
|
1207
|
-
this.mdcMenu.items.forEach((item) => new component$
|
|
1326
|
+
this.mdcMenu.items.forEach((item) => new component$2.MDCRipple(item));
|
|
1208
1327
|
};
|
|
1209
1328
|
this.setupListeners = () => {
|
|
1210
1329
|
if (!this.mdcMenu) {
|