@carbon/web-components 2.25.2 → 2.26.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/custom-elements.json +859 -39
- package/dist/16-10c4fb8b.js +8 -2
- package/dist/16-4855278a.js +8 -2
- package/dist/16-4be295f9.js +8 -2
- package/dist/16-65aac4b2.js +81 -0
- package/dist/16-6a577b04.js +8 -2
- package/dist/16-8449b4fa.js +8 -2
- package/dist/16-87933b87.js +8 -2
- package/dist/16-b826e67b.js +8 -2
- package/dist/16-e32fa89f.js +8 -2
- package/dist/16-eeb178ee.js +81 -0
- package/dist/16-f4420493.js +8 -2
- package/dist/16-fbe09c57.js +8 -2
- package/dist/20-68c1a445.js +8 -2
- package/dist/20-a9fc419f.js +8 -2
- package/dist/accordion.min.js +8 -2
- package/dist/ai-label.min.js +9 -3
- package/dist/ai-skeleton.min.js +8 -2
- package/dist/badge-indicator.min.js +8 -2
- package/dist/breadcrumb.min.js +18 -12
- package/dist/{button-882e4021.js → button-74696aa8.js} +9 -3
- package/dist/{button-set-470bff4f.js → button-set-6c836da5.js} +11 -5
- package/dist/{button-skeleton-c0570c01.js → button-skeleton-97434162.js} +20 -14
- package/dist/button.min.js +9 -3
- package/dist/carbon-element-017b212d.js +8 -2
- package/dist/chat-button.min.js +10 -4
- package/dist/checkbox-88e7237c.js +8 -2
- package/dist/checkbox-skeleton-d396e413.js +8 -2
- package/dist/checkbox.min.js +8 -2
- package/dist/class-map-e4ba9e2b.js +8 -2
- package/dist/code-snippet.min.js +9 -3
- package/dist/collection-helpers-8b117611.js +8 -2
- package/dist/combo-box.min.js +9 -3
- package/dist/content-switcher-item-787ef698.js +8 -2
- package/dist/content-switcher.min.js +8 -2
- package/dist/{copy-button-17009e29.js → copy-button-6ae3beb9.js} +9 -3
- package/dist/copy-button.min.js +9 -3
- package/dist/data-table.min.js +8 -2
- package/dist/date-picker.min.js +8 -2
- package/dist/defs-eaf95cbc.js +8 -2
- package/dist/directive-e2d48b9c.js +8 -2
- package/dist/{dropdown-item-6995171a.js → dropdown-item-c76d25fb.js} +36 -31
- package/dist/dropdown.min.js +9 -3
- package/dist/file-uploader.min.js +9 -3
- package/dist/floating-menu-381b1978.js +8 -2
- package/dist/floating-menu.min.js +8 -2
- package/dist/focus-969beaed.js +8 -2
- package/dist/form-a750a2ac.js +8 -2
- package/dist/form-group.min.js +8 -2
- package/dist/form.min.js +8 -2
- package/dist/heading.min.js +8 -2
- package/dist/host-listener-69c546a1.js +8 -2
- package/dist/{icon-button-8b63f6e9.js → icon-button-83bfdd07.js} +10 -4
- package/dist/icon-button.min.js +9 -3
- package/dist/icon-indicator.min.js +8 -2
- package/dist/if-defined-446d5754.js +8 -2
- package/dist/if-non-empty-0ab1b89b.js +8 -2
- package/dist/inline-loading.min.js +8 -2
- package/dist/{layer-f3ead524.js → layer-955eb55a.js} +9 -3
- package/dist/layer.min.js +9 -3
- package/dist/link-95fb4386.js +8 -2
- package/dist/link.min.js +8 -2
- package/dist/list.min.js +17 -15
- package/dist/loading-8f238aae.js +8 -2
- package/dist/loading-icon-502d6837.js +8 -2
- package/dist/loading.min.js +8 -2
- package/dist/menu.min.js +240 -0
- package/dist/{modal-label-54f55140.js → modal-label-fc9d6962.js} +13 -7
- package/dist/modal.min.js +9 -3
- package/dist/multi-select.min.js +9 -3
- package/dist/notification.min.js +9 -3
- package/dist/number-input.min.js +8 -2
- package/dist/on-8707857f.js +8 -2
- package/dist/overflow-menu.min.js +17 -9
- package/dist/pagination.min.js +39 -33
- package/dist/popover-content-d4ec4412.js +8 -2
- package/dist/popover-controller-97c2d68e.js +8 -2
- package/dist/popover.min.js +8 -2
- package/dist/progress-bar.min.js +8 -2
- package/dist/progress-indicator.min.js +8 -2
- package/dist/property-4de26c93.js +8 -2
- package/dist/query-602de8af.js +8 -2
- package/dist/query-assigned-elements-1bd68a6e.js +8 -2
- package/dist/radio-button-skeleton-67c6a836.js +8 -2
- package/dist/radio-button.min.js +8 -2
- package/dist/radio-group-manager-9b128b9b.js +8 -2
- package/dist/search-7f28fde3.js +8 -2
- package/dist/search.min.js +8 -2
- package/dist/select-01725ae4.js +8 -2
- package/dist/select.min.js +8 -2
- package/dist/settings-a9cb5e4b.js +8 -2
- package/dist/shape-indicator.min.js +8 -2
- package/dist/shared-enums-562e6b51.js +8 -2
- package/dist/side-panel.min.js +9 -3
- package/dist/skeleton-icon-60c9d437.js +8 -2
- package/dist/skeleton-icon.min.js +8 -2
- package/dist/skeleton-placeholder-3f62f258.js +8 -2
- package/dist/skeleton-placeholder.min.js +8 -2
- package/dist/skeleton-text-a37622a0.js +8 -2
- package/dist/skeleton-text.min.js +8 -2
- package/dist/skip-to-content.min.js +8 -2
- package/dist/slider.min.js +8 -2
- package/dist/slug.min.js +9 -3
- package/dist/spread-279bf949.js +8 -2
- package/dist/stack.min.js +8 -2
- package/dist/state-225ff428.js +8 -2
- package/dist/structured-list.min.js +8 -2
- package/dist/tabs.min.js +8 -2
- package/dist/tag.min.js +8 -2
- package/dist/tearsheet.min.js +11 -5
- package/dist/text-input-a7541a8d.js +8 -2
- package/dist/text-input.min.js +8 -2
- package/dist/textarea.min.js +8 -2
- package/dist/tile.min.js +8 -2
- package/dist/time-picker.min.js +158 -0
- package/dist/toggle-tip.min.js +8 -2
- package/dist/toggle.min.js +8 -2
- package/dist/toggletip-383477dd.js +8 -2
- package/dist/tooltip-content-3e3b3f8c.js +8 -2
- package/dist/tooltip.min.js +8 -2
- package/dist/ui-shell.min.js +9 -3
- package/dist/validity-45b7794a.js +8 -2
- package/es/components/breadcrumb/breadcrumb-item.d.ts +4 -0
- package/es/components/breadcrumb/breadcrumb-item.js +16 -1
- package/es/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es/components/button/button-set.d.ts +4 -0
- package/es/components/button/button-set.js +18 -1
- package/es/components/button/button-set.js.map +1 -1
- package/es/components/button/button.scss.js +1 -1
- package/es/components/chat-button/chat-button.scss.js +1 -1
- package/es/components/icon-button/icon-button.scss.js +1 -1
- package/es/components/layer/layer.d.ts +7 -0
- package/es/components/layer/layer.js +9 -2
- package/es/components/layer/layer.js.map +1 -1
- package/es/components/list/list-item.d.ts +0 -11
- package/es/components/list/list-item.js +1 -21
- package/es/components/list/list-item.js.map +1 -1
- package/es/components/list/list.scss.js +1 -1
- package/es/components/list/ordered-list.js +1 -1
- package/es/components/list/ordered-list.js.map +1 -1
- package/es/components/list/unordered-list.d.ts +5 -1
- package/es/components/list/unordered-list.js +11 -4
- package/es/components/list/unordered-list.js.map +1 -1
- package/es/components/menu/defs.d.ts +42 -0
- package/es/components/menu/defs.js +54 -0
- package/es/components/menu/defs.js.map +1 -0
- package/es/components/menu/index.d.ts +14 -0
- package/es/components/menu/index.js +14 -0
- package/es/components/menu/index.js.map +1 -0
- package/es/components/menu/menu-context.d.ts +18 -0
- package/es/components/menu/menu-context.js +27 -0
- package/es/components/menu/menu-context.js.map +1 -0
- package/es/components/menu/menu-item-divider.d.ts +19 -0
- package/es/components/menu/menu-item-divider.js +42 -0
- package/es/components/menu/menu-item-divider.js.map +1 -0
- package/es/components/menu/menu-item-group.d.ts +23 -0
- package/es/components/menu/menu-item-group.js +48 -0
- package/es/components/menu/menu-item-group.js.map +1 -0
- package/es/components/menu/menu-item-radio-group.d.ts +42 -0
- package/es/components/menu/menu-item-radio-group.js +104 -0
- package/es/components/menu/menu-item-radio-group.js.map +1 -0
- package/es/components/menu/menu-item-selectable.d.ts +39 -0
- package/es/components/menu/menu-item-selectable.js +98 -0
- package/es/components/menu/menu-item-selectable.js.map +1 -0
- package/es/components/menu/menu-item.d.ts +771 -0
- package/es/components/menu/menu-item.js +309 -0
- package/es/components/menu/menu-item.js.map +1 -0
- package/es/components/menu/menu-item.scss.js +13 -0
- package/es/components/menu/menu-item.scss.js.map +1 -0
- package/es/components/menu/menu.d.ts +471 -0
- package/es/components/menu/menu.js +469 -0
- package/es/components/menu/menu.js.map +1 -0
- package/es/components/menu/menu.scss.js +13 -0
- package/es/components/menu/menu.scss.js.map +1 -0
- package/es/components/overflow-menu/overflow-menu-item.d.ts +9 -0
- package/es/components/overflow-menu/overflow-menu-item.js +24 -2
- package/es/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es/components/tag/tag.d.ts +1 -1
- package/es/components/tag/tag.js +1 -1
- package/es/components/time-picker/defs.d.ts +26 -0
- package/es/components/time-picker/defs.js +38 -0
- package/es/components/time-picker/defs.js.map +1 -0
- package/es/components/time-picker/index.d.ts +10 -0
- package/es/components/time-picker/index.js +10 -0
- package/es/components/time-picker/index.js.map +1 -0
- package/es/components/time-picker/time-picker-select.d.ts +426 -0
- package/es/components/time-picker/time-picker-select.js +218 -0
- package/es/components/time-picker/time-picker-select.js.map +1 -0
- package/es/components/time-picker/time-picker.d.ts +802 -0
- package/es/components/time-picker/time-picker.js +288 -0
- package/es/components/time-picker/time-picker.js.map +1 -0
- package/es/components/time-picker/time-picker.scss.js +13 -0
- package/es/components/time-picker/time-picker.scss.js.map +1 -0
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -0
- package/es/index.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.d.ts +4 -0
- package/es-custom/components/breadcrumb/breadcrumb-item.js +16 -1
- package/es-custom/components/breadcrumb/breadcrumb-item.js.map +1 -1
- package/es-custom/components/breadcrumb/breadcrumb.scss.js +1 -1
- package/es-custom/components/button/button-set.d.ts +4 -0
- package/es-custom/components/button/button-set.js +18 -1
- package/es-custom/components/button/button-set.js.map +1 -1
- package/es-custom/components/button/button.scss.js +1 -1
- package/es-custom/components/chat-button/chat-button.scss.js +1 -1
- package/es-custom/components/icon-button/icon-button.scss.js +1 -1
- package/es-custom/components/layer/layer.d.ts +7 -0
- package/es-custom/components/layer/layer.js +9 -2
- package/es-custom/components/layer/layer.js.map +1 -1
- package/es-custom/components/list/list-item.d.ts +0 -11
- package/es-custom/components/list/list-item.js +1 -21
- package/es-custom/components/list/list-item.js.map +1 -1
- package/es-custom/components/list/list.scss.js +1 -1
- package/es-custom/components/list/ordered-list.js +1 -1
- package/es-custom/components/list/ordered-list.js.map +1 -1
- package/es-custom/components/list/unordered-list.d.ts +5 -1
- package/es-custom/components/list/unordered-list.js +11 -4
- package/es-custom/components/list/unordered-list.js.map +1 -1
- package/es-custom/components/menu/defs.d.ts +42 -0
- package/es-custom/components/menu/defs.js +54 -0
- package/es-custom/components/menu/defs.js.map +1 -0
- package/es-custom/components/menu/index.d.ts +14 -0
- package/es-custom/components/menu/index.js +14 -0
- package/es-custom/components/menu/index.js.map +1 -0
- package/es-custom/components/menu/menu-context.d.ts +18 -0
- package/es-custom/components/menu/menu-context.js +27 -0
- package/es-custom/components/menu/menu-context.js.map +1 -0
- package/es-custom/components/menu/menu-item-divider.d.ts +19 -0
- package/es-custom/components/menu/menu-item-divider.js +42 -0
- package/es-custom/components/menu/menu-item-divider.js.map +1 -0
- package/es-custom/components/menu/menu-item-group.d.ts +23 -0
- package/es-custom/components/menu/menu-item-group.js +48 -0
- package/es-custom/components/menu/menu-item-group.js.map +1 -0
- package/es-custom/components/menu/menu-item-radio-group.d.ts +42 -0
- package/es-custom/components/menu/menu-item-radio-group.js +104 -0
- package/es-custom/components/menu/menu-item-radio-group.js.map +1 -0
- package/es-custom/components/menu/menu-item-selectable.d.ts +39 -0
- package/es-custom/components/menu/menu-item-selectable.js +98 -0
- package/es-custom/components/menu/menu-item-selectable.js.map +1 -0
- package/es-custom/components/menu/menu-item.d.ts +771 -0
- package/es-custom/components/menu/menu-item.js +309 -0
- package/es-custom/components/menu/menu-item.js.map +1 -0
- package/es-custom/components/menu/menu-item.scss.js +13 -0
- package/es-custom/components/menu/menu-item.scss.js.map +1 -0
- package/es-custom/components/menu/menu.d.ts +471 -0
- package/es-custom/components/menu/menu.js +469 -0
- package/es-custom/components/menu/menu.js.map +1 -0
- package/es-custom/components/menu/menu.scss.js +13 -0
- package/es-custom/components/menu/menu.scss.js.map +1 -0
- package/es-custom/components/overflow-menu/overflow-menu-item.d.ts +9 -0
- package/es-custom/components/overflow-menu/overflow-menu-item.js +24 -2
- package/es-custom/components/overflow-menu/overflow-menu-item.js.map +1 -1
- package/es-custom/components/overflow-menu/overflow-menu.scss.js +1 -1
- package/es-custom/components/tag/tag.d.ts +1 -1
- package/es-custom/components/tag/tag.js +1 -1
- package/es-custom/components/time-picker/defs.d.ts +26 -0
- package/es-custom/components/time-picker/defs.js +38 -0
- package/es-custom/components/time-picker/defs.js.map +1 -0
- package/es-custom/components/time-picker/index.d.ts +10 -0
- package/es-custom/components/time-picker/index.js +10 -0
- package/es-custom/components/time-picker/index.js.map +1 -0
- package/es-custom/components/time-picker/time-picker-select.d.ts +426 -0
- package/es-custom/components/time-picker/time-picker-select.js +218 -0
- package/es-custom/components/time-picker/time-picker-select.js.map +1 -0
- package/es-custom/components/time-picker/time-picker.d.ts +802 -0
- package/es-custom/components/time-picker/time-picker.js +288 -0
- package/es-custom/components/time-picker/time-picker.js.map +1 -0
- package/es-custom/components/time-picker/time-picker.scss.js +13 -0
- package/es-custom/components/time-picker/time-picker.scss.js.map +1 -0
- package/es-custom/index.d.ts +2 -0
- package/es-custom/index.js +2 -0
- package/es-custom/index.js.map +1 -1
- package/lib/components/breadcrumb/breadcrumb-item.d.ts +4 -0
- package/lib/components/button/button-set.d.ts +4 -0
- package/lib/components/layer/layer.d.ts +7 -0
- package/lib/components/list/list-item.d.ts +0 -11
- package/lib/components/list/unordered-list.d.ts +5 -1
- package/lib/components/menu/defs.d.ts +42 -0
- package/lib/components/menu/defs.js +56 -0
- package/lib/components/menu/defs.js.map +1 -0
- package/lib/components/menu/index.d.ts +14 -0
- package/lib/components/menu/menu-context.d.ts +18 -0
- package/lib/components/menu/menu-item-divider.d.ts +19 -0
- package/lib/components/menu/menu-item-group.d.ts +23 -0
- package/lib/components/menu/menu-item-radio-group.d.ts +42 -0
- package/lib/components/menu/menu-item-selectable.d.ts +39 -0
- package/lib/components/menu/menu-item.d.ts +771 -0
- package/lib/components/menu/menu.d.ts +471 -0
- package/lib/components/overflow-menu/overflow-menu-item.d.ts +9 -0
- package/lib/components/tag/tag.d.ts +1 -1
- package/lib/components/time-picker/defs.d.ts +26 -0
- package/lib/components/time-picker/defs.js +45 -0
- package/lib/components/time-picker/defs.js.map +1 -0
- package/lib/components/time-picker/index.d.ts +10 -0
- package/lib/components/time-picker/time-picker-select.d.ts +426 -0
- package/lib/components/time-picker/time-picker.d.ts +802 -0
- package/lib/index.d.ts +2 -0
- package/package.json +5 -4
- package/scss/components/breadcrumb/breadcrumb.scss +5 -0
- package/scss/components/button/button.scss +4 -0
- package/scss/components/list/list.scss +7 -5
- package/scss/components/menu/menu-item.scss +109 -0
- package/scss/components/menu/menu-variables.scss +15 -0
- package/scss/components/menu/menu.scss +72 -0
- package/scss/components/overflow-menu/overflow-menu.scss +69 -14
- package/scss/components/time-picker/time-picker.scss +50 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2024
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { __decorate } from 'tslib';
|
|
9
|
+
import { html, LitElement } from 'lit';
|
|
10
|
+
import { prefix } from '../../globals/settings.js';
|
|
11
|
+
import { state, property } from 'lit/decorators.js';
|
|
12
|
+
import styles from './menu.scss.js';
|
|
13
|
+
import { carbonElement } from '../../globals/decorators/carbon-element.js';
|
|
14
|
+
import HostListenerMixin from '../../globals/mixins/host-listener.js';
|
|
15
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
16
|
+
import { menuDefaultState, MenuContext } from './menu-context.js';
|
|
17
|
+
import { provide, consume } from '@lit/context';
|
|
18
|
+
import { MENU_SIZE } from './defs.js';
|
|
19
|
+
export { MENU_SIZE } from './defs.js';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @license
|
|
23
|
+
*
|
|
24
|
+
* Copyright IBM Corp. 2024
|
|
25
|
+
*
|
|
26
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
27
|
+
* LICENSE file in the root directory of this source tree.
|
|
28
|
+
*/
|
|
29
|
+
let CDSMenu = class CDSMenu extends HostListenerMixin(LitElement) {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(...arguments);
|
|
32
|
+
this.context = Object.assign(Object.assign({}, menuDefaultState), { updateFromChild: (updatedItem) => {
|
|
33
|
+
this.context = Object.assign(Object.assign({}, this.context), updatedItem);
|
|
34
|
+
} });
|
|
35
|
+
this.spacing = 8; // distance to keep to window edges, in px
|
|
36
|
+
/**
|
|
37
|
+
* Items.
|
|
38
|
+
*/
|
|
39
|
+
this.items = [];
|
|
40
|
+
/**
|
|
41
|
+
* Active list Items.
|
|
42
|
+
*/
|
|
43
|
+
this.activeitems = [];
|
|
44
|
+
/**
|
|
45
|
+
* Parent state.
|
|
46
|
+
*/
|
|
47
|
+
this.isChild = false;
|
|
48
|
+
/**
|
|
49
|
+
* Checks if document direction is rtl.
|
|
50
|
+
*/
|
|
51
|
+
this.isRtl = false;
|
|
52
|
+
/**
|
|
53
|
+
* Checks if Menu is root menu or not.
|
|
54
|
+
*/
|
|
55
|
+
this.isRoot = true;
|
|
56
|
+
/**
|
|
57
|
+
* Document direction.
|
|
58
|
+
*/
|
|
59
|
+
this.direction = 'ltr';
|
|
60
|
+
/**
|
|
61
|
+
* Open value for the menu .
|
|
62
|
+
*/
|
|
63
|
+
this.open = true;
|
|
64
|
+
/**
|
|
65
|
+
* Position of the Menu .
|
|
66
|
+
*/
|
|
67
|
+
this.position = [-1, -1];
|
|
68
|
+
/**
|
|
69
|
+
* Size attribute .
|
|
70
|
+
*/
|
|
71
|
+
this.size = MENU_SIZE.SMALL;
|
|
72
|
+
/**
|
|
73
|
+
* Position of the Menu in X axis .
|
|
74
|
+
*/
|
|
75
|
+
this.x = 0;
|
|
76
|
+
/**
|
|
77
|
+
* Position of the Menu in Y axis .
|
|
78
|
+
*/
|
|
79
|
+
this.y = 0;
|
|
80
|
+
this._handleKeyDown = (e) => {
|
|
81
|
+
const { isRoot } = this.context;
|
|
82
|
+
e.stopPropagation();
|
|
83
|
+
// if the user presses escape or this is a submenu
|
|
84
|
+
// and the user presses ArrowLeft, close it
|
|
85
|
+
if (e.key === 'Escape' || (!isRoot && e.key === 'ArrowLeft')) {
|
|
86
|
+
this.dispatchCloseEvent(e);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
this._focusItem(e);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
this._focusItem = (e) => {
|
|
93
|
+
var _a, _b, _c, _d;
|
|
94
|
+
let currentItem;
|
|
95
|
+
if (((_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.tagName) !== 'CDS-MENU') {
|
|
96
|
+
currentItem = (_b = this.activeitems) === null || _b === void 0 ? void 0 : _b.findIndex((activeItem) => {
|
|
97
|
+
if (activeItem.parent === null ||
|
|
98
|
+
activeItem.parent.tagName === 'CDS-MENU-ITEM-RADIO-GROUP') {
|
|
99
|
+
let shadowRootActiveEl = this._findActiveElementInShadowRoot(document);
|
|
100
|
+
return shadowRootActiveEl === activeItem.item;
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
let shadowRootActiveEl = this._findActiveElementInShadowRoot(document);
|
|
104
|
+
if (activeItem.parent.tagName === 'CDS-MENU-ITEM-SELECTABLE') {
|
|
105
|
+
return shadowRootActiveEl === activeItem.item;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
return activeItem.parent.contains(document.activeElement);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
currentItem = 0;
|
|
115
|
+
}
|
|
116
|
+
let indexToFocus = currentItem;
|
|
117
|
+
// if currentItem is -1, no menu item is focused yet.
|
|
118
|
+
// in this case, the first item should receive focus.
|
|
119
|
+
if (currentItem === -1) {
|
|
120
|
+
indexToFocus = 0;
|
|
121
|
+
}
|
|
122
|
+
else if (e) {
|
|
123
|
+
if (e.key === 'ArrowUp') {
|
|
124
|
+
indexToFocus = indexToFocus - 1;
|
|
125
|
+
}
|
|
126
|
+
if (e.key === 'ArrowDown') {
|
|
127
|
+
indexToFocus = indexToFocus + 1;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
if (indexToFocus < 0) {
|
|
131
|
+
indexToFocus = this.activeitems.length - 1;
|
|
132
|
+
}
|
|
133
|
+
if (indexToFocus >= this.activeitems.length) {
|
|
134
|
+
indexToFocus = 0;
|
|
135
|
+
}
|
|
136
|
+
if (indexToFocus !== currentItem) {
|
|
137
|
+
(_d = (_c = this.activeitems[indexToFocus]) === null || _c === void 0 ? void 0 : _c.item) === null || _d === void 0 ? void 0 : _d.focus();
|
|
138
|
+
}
|
|
139
|
+
};
|
|
140
|
+
this._findActiveElementInShadowRoot = (shadowRoot) => {
|
|
141
|
+
if (shadowRoot === null)
|
|
142
|
+
return null;
|
|
143
|
+
let activeElement = shadowRoot.activeElement;
|
|
144
|
+
while (activeElement &&
|
|
145
|
+
activeElement.shadowRoot &&
|
|
146
|
+
activeElement.shadowRoot.activeElement) {
|
|
147
|
+
activeElement = activeElement.shadowRoot.activeElement;
|
|
148
|
+
}
|
|
149
|
+
return activeElement;
|
|
150
|
+
};
|
|
151
|
+
this._notEmpty = (value) => {
|
|
152
|
+
return value !== null && value !== undefined;
|
|
153
|
+
};
|
|
154
|
+
this._fitValue = (range, axis) => {
|
|
155
|
+
const { isRoot } = this.context;
|
|
156
|
+
// const isRoot = false
|
|
157
|
+
const { width, height } = this.getBoundingClientRect();
|
|
158
|
+
const alignment = isRoot ? 'vertical' : 'horizontal';
|
|
159
|
+
const axes = {
|
|
160
|
+
x: {
|
|
161
|
+
max: window.innerWidth,
|
|
162
|
+
size: width,
|
|
163
|
+
anchor: alignment === 'horizontal' ? range[1] : range[0],
|
|
164
|
+
reversedAnchor: alignment === 'horizontal' ? range[0] : range[1],
|
|
165
|
+
offset: 0,
|
|
166
|
+
},
|
|
167
|
+
y: {
|
|
168
|
+
max: window.innerHeight,
|
|
169
|
+
size: height,
|
|
170
|
+
anchor: alignment === 'horizontal' ? range[0] : range[1],
|
|
171
|
+
reversedAnchor: alignment === 'horizontal' ? range[1] : range[0],
|
|
172
|
+
offset: isRoot ? 0 : 4, // top padding in menu, used to align the menu items
|
|
173
|
+
},
|
|
174
|
+
};
|
|
175
|
+
// Avoid that the Menu render incorrectly when the postion is set in the right side of the screen
|
|
176
|
+
if (this.actionButtonWidth &&
|
|
177
|
+
this.actionButtonWidth < axes.x.size &&
|
|
178
|
+
(this.menuAlignment === 'bottom' || this.menuAlignment === 'top')) {
|
|
179
|
+
axes.x.size = this.actionButtonWidth;
|
|
180
|
+
}
|
|
181
|
+
// if 'axes.x.anchor' is lower than 87px dynamically switch render side
|
|
182
|
+
if (this.actionButtonWidth &&
|
|
183
|
+
(this.menuAlignment === 'bottom-end' ||
|
|
184
|
+
this.menuAlignment === 'top-end') &&
|
|
185
|
+
axes.x.anchor >= 87 &&
|
|
186
|
+
this.actionButtonWidth < axes.x.size) {
|
|
187
|
+
const diff = axes.x.anchor + axes.x.reversedAnchor;
|
|
188
|
+
axes.x.anchor = axes.x.anchor + diff;
|
|
189
|
+
}
|
|
190
|
+
const { max, size, anchor, reversedAnchor, offset } = axes[axis];
|
|
191
|
+
// get values for different scenarios, set to false if they don't work
|
|
192
|
+
const options = [
|
|
193
|
+
// towards max (preferred)
|
|
194
|
+
max - this.spacing - size - anchor >= 0 ? anchor - offset : false,
|
|
195
|
+
// towards min / reversed (first fallback)
|
|
196
|
+
reversedAnchor - size >= 0 ? reversedAnchor - size + offset : false,
|
|
197
|
+
// align at max (second fallback)
|
|
198
|
+
max - this.spacing - size,
|
|
199
|
+
];
|
|
200
|
+
const topAlignment = this.menuAlignment === 'top' ||
|
|
201
|
+
this.menuAlignment === 'top-end' ||
|
|
202
|
+
this.menuAlignment === 'top-start';
|
|
203
|
+
// If the tooltip is not visible in the top, switch to the bototm
|
|
204
|
+
if (typeof options[0] === 'number' &&
|
|
205
|
+
topAlignment &&
|
|
206
|
+
options[0] >= 0 &&
|
|
207
|
+
!options[1] &&
|
|
208
|
+
axis === 'y') {
|
|
209
|
+
this.style.transform = 'translate(0)';
|
|
210
|
+
}
|
|
211
|
+
else if (topAlignment && !options[0] && axis === 'y') {
|
|
212
|
+
options[0] = anchor - offset;
|
|
213
|
+
}
|
|
214
|
+
// Previous array `options`, has at least one item that is a number (the last one - second fallback).
|
|
215
|
+
// That guarantees that the return of `find()` will always be a number
|
|
216
|
+
// and we can safely add the numeric casting `as number`.
|
|
217
|
+
const bestOption = options.find((option) => option !== false);
|
|
218
|
+
return bestOption >= this.spacing ? bestOption : this.spacing;
|
|
219
|
+
};
|
|
220
|
+
this._getPosition = (x) => {
|
|
221
|
+
if (Array.isArray(x)) {
|
|
222
|
+
// has to be of length 2
|
|
223
|
+
const filtered = x.filter(this._notEmpty);
|
|
224
|
+
if (filtered.length === 2) {
|
|
225
|
+
return filtered;
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
return;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
return [x, x];
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
this._calculatePosition = () => {
|
|
236
|
+
var _a, _b;
|
|
237
|
+
const ranges = {
|
|
238
|
+
x: this._getPosition(this.x),
|
|
239
|
+
y: this._getPosition(this.y),
|
|
240
|
+
};
|
|
241
|
+
if (!ranges.x || !ranges.y) {
|
|
242
|
+
return [-1, -1];
|
|
243
|
+
}
|
|
244
|
+
return [
|
|
245
|
+
(_a = this._fitValue(ranges.x, 'x')) !== null && _a !== void 0 ? _a : -1,
|
|
246
|
+
(_b = this._fitValue(ranges.y, 'y')) !== null && _b !== void 0 ? _b : -1,
|
|
247
|
+
];
|
|
248
|
+
};
|
|
249
|
+
this._handleOpen = () => {
|
|
250
|
+
const pos = this._calculatePosition();
|
|
251
|
+
if (this.isRtl) {
|
|
252
|
+
this.style.insetInlineStart = `initial`;
|
|
253
|
+
this.style.insetInlineEnd = `${pos[0]}px`;
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
this.style.insetInlineStart = `${pos[0]}px`;
|
|
257
|
+
this.style.insetInlineEnd = `initial`;
|
|
258
|
+
}
|
|
259
|
+
this.style.insetBlockStart = `${pos[1]}px`;
|
|
260
|
+
this.position = pos;
|
|
261
|
+
const init = {
|
|
262
|
+
bubbles: true,
|
|
263
|
+
cancelable: true,
|
|
264
|
+
composed: true,
|
|
265
|
+
};
|
|
266
|
+
if (this.dispatchEvent(new CustomEvent(this.constructor.eventOnOpen, init))) {
|
|
267
|
+
this.dispatchEvent(new CustomEvent(this.constructor.eventOnOpen, init));
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
this.dispatchCloseEvent = (e) => {
|
|
271
|
+
const init = {
|
|
272
|
+
bubbles: true,
|
|
273
|
+
cancelable: true,
|
|
274
|
+
composed: true,
|
|
275
|
+
detail: {
|
|
276
|
+
triggeredBy: e.target,
|
|
277
|
+
},
|
|
278
|
+
};
|
|
279
|
+
if (this.dispatchEvent(new CustomEvent(this.constructor.eventOnClose, init))) {
|
|
280
|
+
this.dispatchEvent(new CustomEvent(this.constructor.eventOnClose, init));
|
|
281
|
+
}
|
|
282
|
+
};
|
|
283
|
+
this._newContextCreate = () => {
|
|
284
|
+
this.context = Object.assign(Object.assign({}, this.context), { isRoot: false, size: this.size });
|
|
285
|
+
};
|
|
286
|
+
this._registerMenuItems = () => {
|
|
287
|
+
var _a, _b;
|
|
288
|
+
let items;
|
|
289
|
+
if (this.isChild) {
|
|
290
|
+
items = this.querySelector('slot[name="submenu"]').assignedElements();
|
|
291
|
+
}
|
|
292
|
+
else {
|
|
293
|
+
items = (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot')) === null || _b === void 0 ? void 0 : _b.assignedElements();
|
|
294
|
+
}
|
|
295
|
+
this.items = items === null || items === void 0 ? void 0 : items.filter((item) => {
|
|
296
|
+
if (item.tagName === 'CDS-MENU-ITEM') {
|
|
297
|
+
return !item.disabled;
|
|
298
|
+
}
|
|
299
|
+
return item.tagName !== 'CDS-MENU-ITEM-DIVIDER';
|
|
300
|
+
});
|
|
301
|
+
};
|
|
302
|
+
this._setActiveItems = () => {
|
|
303
|
+
var _a, _b, _c;
|
|
304
|
+
(_a = this.items) === null || _a === void 0 ? void 0 : _a.map((item) => {
|
|
305
|
+
var _a, _b, _c;
|
|
306
|
+
let activeItem;
|
|
307
|
+
switch (item.tagName) {
|
|
308
|
+
case 'CDS-MENU-ITEM-RADIO-GROUP': {
|
|
309
|
+
let slotElements = item.querySelectorAll(`${prefix}-menu-item`);
|
|
310
|
+
if (slotElements === null || slotElements === void 0 ? void 0 : slotElements.length) {
|
|
311
|
+
for (const entry of slotElements.entries()) {
|
|
312
|
+
activeItem = {
|
|
313
|
+
item: entry[1],
|
|
314
|
+
parent: item,
|
|
315
|
+
};
|
|
316
|
+
this.activeitems = [...this.activeitems, activeItem];
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
break;
|
|
320
|
+
}
|
|
321
|
+
case 'CDS-MENU-ITEM-GROUP': {
|
|
322
|
+
let slotElements = (_b = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('slot')) === null || _b === void 0 ? void 0 : _b.assignedElements();
|
|
323
|
+
slotElements === null || slotElements === void 0 ? void 0 : slotElements.map((el) => {
|
|
324
|
+
var _a;
|
|
325
|
+
activeItem = {
|
|
326
|
+
item: (_a = el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(`${prefix}-menu-item`),
|
|
327
|
+
parent: el,
|
|
328
|
+
};
|
|
329
|
+
this.activeitems = [...this.activeitems, activeItem];
|
|
330
|
+
});
|
|
331
|
+
break;
|
|
332
|
+
}
|
|
333
|
+
case 'CDS-MENU-ITEM-SELECTABLE': {
|
|
334
|
+
activeItem = {
|
|
335
|
+
item: (_c = item.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector(`${prefix}-menu-item`),
|
|
336
|
+
parent: item,
|
|
337
|
+
};
|
|
338
|
+
this.activeitems = [...this.activeitems, activeItem];
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
default: {
|
|
342
|
+
activeItem = {
|
|
343
|
+
item: item,
|
|
344
|
+
parent: null,
|
|
345
|
+
};
|
|
346
|
+
this.activeitems = [...this.activeitems, activeItem];
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
});
|
|
350
|
+
const activeEl = (_c = (_b = this.activeitems[0]) === null || _b === void 0 ? void 0 : _b.item) !== null && _c !== void 0 ? _c : document.activeElement;
|
|
351
|
+
activeEl.focus();
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* The name of the custom event fired when the the Menu should be closed.
|
|
356
|
+
*/
|
|
357
|
+
static get eventOnClose() {
|
|
358
|
+
return `${prefix}-menu-closed`;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* The name of the custom event fired when the the Menu should be opened.
|
|
362
|
+
*/
|
|
363
|
+
static get eventOnOpen() {
|
|
364
|
+
return `${prefix}-menu-opened`;
|
|
365
|
+
}
|
|
366
|
+
updated(changedProperties) {
|
|
367
|
+
if (changedProperties.has('open') && this.open) {
|
|
368
|
+
this._handleOpen();
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
connectedCallback() {
|
|
372
|
+
super.connectedCallback();
|
|
373
|
+
this.addEventListener('icon-detect', () => {
|
|
374
|
+
var _a, _b;
|
|
375
|
+
(_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.cds-custom--menu')) === null || _b === void 0 ? void 0 : _b.classList.add(`${prefix}--menu--with-icons`);
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
async firstUpdated() {
|
|
379
|
+
this.isRtl = this.direction === 'rtl';
|
|
380
|
+
this.isRoot = this.context.isRoot;
|
|
381
|
+
if (this.isChild) {
|
|
382
|
+
this._newContextCreate();
|
|
383
|
+
}
|
|
384
|
+
await this.updateComplete;
|
|
385
|
+
this._registerMenuItems();
|
|
386
|
+
this._setActiveItems();
|
|
387
|
+
}
|
|
388
|
+
render() {
|
|
389
|
+
const { open, menuAlignment, label, position, _handleKeyDown: handleKeyDown, } = this;
|
|
390
|
+
const menuClasses = classMap({
|
|
391
|
+
[`${prefix}--menu`]: true,
|
|
392
|
+
[`${prefix}--menu--${this.size}`]: this.size,
|
|
393
|
+
[`${prefix}--menu--box-shadow-top`]: menuAlignment && menuAlignment.slice(0, 3) === 'top',
|
|
394
|
+
[`${prefix}--menu--open`]: open,
|
|
395
|
+
[`${prefix}--menu--shown`]: position[0] >= 0 && position[1] >= 0,
|
|
396
|
+
[`${prefix}--menu--with-selectable-items`]: this.context.hasSelectableItems,
|
|
397
|
+
});
|
|
398
|
+
return html `
|
|
399
|
+
<ul
|
|
400
|
+
class="${menuClasses}"
|
|
401
|
+
aria-label="${label}"
|
|
402
|
+
tabindex="-1"
|
|
403
|
+
@keydown="${handleKeyDown}"
|
|
404
|
+
role="menu">
|
|
405
|
+
<slot></slot>
|
|
406
|
+
</ul>
|
|
407
|
+
`;
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
CDSMenu.styles = styles; // `styles` here is a `CSSResult` generated by custom Vite loader
|
|
411
|
+
__decorate([
|
|
412
|
+
provide({ context: MenuContext }),
|
|
413
|
+
consume({ context: MenuContext })
|
|
414
|
+
], CDSMenu.prototype, "context", void 0);
|
|
415
|
+
__decorate([
|
|
416
|
+
state()
|
|
417
|
+
], CDSMenu.prototype, "items", void 0);
|
|
418
|
+
__decorate([
|
|
419
|
+
state()
|
|
420
|
+
], CDSMenu.prototype, "activeitems", void 0);
|
|
421
|
+
__decorate([
|
|
422
|
+
property({ type: String })
|
|
423
|
+
], CDSMenu.prototype, "label", void 0);
|
|
424
|
+
__decorate([
|
|
425
|
+
property({ type: Boolean })
|
|
426
|
+
], CDSMenu.prototype, "isChild", void 0);
|
|
427
|
+
__decorate([
|
|
428
|
+
property()
|
|
429
|
+
], CDSMenu.prototype, "actionButtonWidth", void 0);
|
|
430
|
+
__decorate([
|
|
431
|
+
property({ type: Boolean })
|
|
432
|
+
], CDSMenu.prototype, "isRtl", void 0);
|
|
433
|
+
__decorate([
|
|
434
|
+
property({ type: Boolean })
|
|
435
|
+
], CDSMenu.prototype, "isRoot", void 0);
|
|
436
|
+
__decorate([
|
|
437
|
+
property({ type: String })
|
|
438
|
+
], CDSMenu.prototype, "direction", void 0);
|
|
439
|
+
__decorate([
|
|
440
|
+
property({ type: Boolean })
|
|
441
|
+
], CDSMenu.prototype, "open", void 0);
|
|
442
|
+
__decorate([
|
|
443
|
+
property({ type: HTMLElement })
|
|
444
|
+
], CDSMenu.prototype, "focusreturn", void 0);
|
|
445
|
+
__decorate([
|
|
446
|
+
property()
|
|
447
|
+
], CDSMenu.prototype, "position", void 0);
|
|
448
|
+
__decorate([
|
|
449
|
+
property({ attribute: true })
|
|
450
|
+
], CDSMenu.prototype, "size", void 0);
|
|
451
|
+
__decorate([
|
|
452
|
+
property()
|
|
453
|
+
], CDSMenu.prototype, "mode", void 0);
|
|
454
|
+
__decorate([
|
|
455
|
+
property({ type: String })
|
|
456
|
+
], CDSMenu.prototype, "menuAlignment", void 0);
|
|
457
|
+
__decorate([
|
|
458
|
+
property()
|
|
459
|
+
], CDSMenu.prototype, "x", void 0);
|
|
460
|
+
__decorate([
|
|
461
|
+
property()
|
|
462
|
+
], CDSMenu.prototype, "y", void 0);
|
|
463
|
+
CDSMenu = __decorate([
|
|
464
|
+
carbonElement(`${prefix}-menu`)
|
|
465
|
+
], CDSMenu);
|
|
466
|
+
var CDSMenu$1 = CDSMenu;
|
|
467
|
+
|
|
468
|
+
export { CDSMenu$1 as default };
|
|
469
|
+
//# sourceMappingURL=menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.js","sources":["../../../src/components/menu/menu.ts"],"sourcesContent":[null],"names":["customElement"],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright IBM Corp. 2024
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the Apache-2.0 license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { css } from 'lit';
|
|
9
|
+
|
|
10
|
+
var styles = css(["@keyframes cds-custom--hide-feedback{0%{opacity:1;visibility:inherit}to{opacity:0;visibility:hidden}}@keyframes cds-custom--show-feedback{0%{opacity:0;visibility:hidden}to{opacity:1;visibility:inherit}}@keyframes cds-custom--skeleton{0%{opacity:.3;transform:scaleX(0);transform-origin:left}20%{opacity:1;transform:scaleX(1);transform-origin:left}28%{transform:scaleX(1);transform-origin:right}51%{transform:scaleX(0);transform-origin:right}58%{transform:scaleX(0);transform-origin:right}82%{transform:scaleX(1);transform-origin:right}83%{transform:scaleX(1);transform-origin:left}96%{transform:scaleX(0);transform-origin:left}to{opacity:.3;transform:scaleX(0);transform-origin:left}}.cds-custom--layout--size-xs{--cds-custom-layout-size-height-context:var(--cds-custom-layout-size-height-xs,1.5rem);--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context)}.cds-custom--layout-constraint--size__default-xs{--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context,var(--cds-custom-layout-size-height-xs,1.5rem))}.cds-custom--layout-constraint--size__min-xs{--cds-custom-layout-size-height-min:var(--cds-custom-layout-size-height-xs,1.5rem)}.cds-custom--layout-constraint--size__max-xs{--cds-custom-layout-size-height-max:var(--cds-custom-layout-size-height-xs,1.5rem)}.cds-custom--layout--size-sm{--cds-custom-layout-size-height-context:var(--cds-custom-layout-size-height-sm,2rem);--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context)}.cds-custom--layout-constraint--size__default-sm{--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context,var(--cds-custom-layout-size-height-sm,2rem))}.cds-custom--layout-constraint--size__min-sm{--cds-custom-layout-size-height-min:var(--cds-custom-layout-size-height-sm,2rem)}.cds-custom--layout-constraint--size__max-sm{--cds-custom-layout-size-height-max:var(--cds-custom-layout-size-height-sm,2rem)}.cds-custom--layout--size-md{--cds-custom-layout-size-height-context:var(--cds-custom-layout-size-height-md,2.5rem);--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context)}.cds-custom--layout-constraint--size__default-md{--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context,var(--cds-custom-layout-size-height-md,2.5rem))}.cds-custom--layout-constraint--size__min-md{--cds-custom-layout-size-height-min:var(--cds-custom-layout-size-height-md,2.5rem)}.cds-custom--layout-constraint--size__max-md{--cds-custom-layout-size-height-max:var(--cds-custom-layout-size-height-md,2.5rem)}.cds-custom--layout--size-lg{--cds-custom-layout-size-height-context:var(--cds-custom-layout-size-height-lg,3rem);--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context)}.cds-custom--layout-constraint--size__default-lg{--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context,var(--cds-custom-layout-size-height-lg,3rem))}.cds-custom--layout-constraint--size__min-lg{--cds-custom-layout-size-height-min:var(--cds-custom-layout-size-height-lg,3rem)}.cds-custom--layout-constraint--size__max-lg{--cds-custom-layout-size-height-max:var(--cds-custom-layout-size-height-lg,3rem)}.cds-custom--layout--size-xl{--cds-custom-layout-size-height-context:var(--cds-custom-layout-size-height-xl,4rem);--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context)}.cds-custom--layout-constraint--size__default-xl{--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context,var(--cds-custom-layout-size-height-xl,4rem))}.cds-custom--layout-constraint--size__min-xl{--cds-custom-layout-size-height-min:var(--cds-custom-layout-size-height-xl,4rem)}.cds-custom--layout-constraint--size__max-xl{--cds-custom-layout-size-height-max:var(--cds-custom-layout-size-height-xl,4rem)}.cds-custom--layout--size-2xl{--cds-custom-layout-size-height-context:var(--cds-custom-layout-size-height-2xl,5rem);--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context)}.cds-custom--layout-constraint--size__default-2xl{--cds-custom-layout-size-height:var(--cds-custom-layout-size-height-context,var(--cds-custom-layout-size-height-2xl,5rem))}.cds-custom--layout-constraint--size__min-2xl{--cds-custom-layout-size-height-min:var(--cds-custom-layout-size-height-2xl,5rem)}.cds-custom--layout-constraint--size__max-2xl{--cds-custom-layout-size-height-max:var(--cds-custom-layout-size-height-2xl,5rem)}.cds-custom--layout--density-condensed{--cds-custom-layout-density-padding-inline-context:var(--cds-custom-layout-density-padding-inline-condensed,0.5rem);--cds-custom-layout-density-padding-inline:var(--cds-custom-layout-density-padding-inline-context)}.cds-custom--layout-constraint--density__default-condensed{--cds-custom-layout-density-padding-inline:var(--cds-custom-layout-density-padding-inline-context,var(--cds-custom-layout-density-padding-inline-condensed,0.5rem))}.cds-custom--layout-constraint--density__min-condensed{--cds-custom-layout-density-padding-inline-min:var(--cds-custom-layout-density-padding-inline-condensed,0.5rem)}.cds-custom--layout-constraint--density__max-condensed{--cds-custom-layout-density-padding-inline-max:var(--cds-custom-layout-density-padding-inline-condensed,0.5rem)}.cds-custom--layout--density-normal{--cds-custom-layout-density-padding-inline-context:var(--cds-custom-layout-density-padding-inline-normal,1rem);--cds-custom-layout-density-padding-inline:var(--cds-custom-layout-density-padding-inline-context)}.cds-custom--layout-constraint--density__default-normal{--cds-custom-layout-density-padding-inline:var(--cds-custom-layout-density-padding-inline-context,var(--cds-custom-layout-density-padding-inline-normal,1rem))}.cds-custom--layout-constraint--density__min-normal{--cds-custom-layout-density-padding-inline-min:var(--cds-custom-layout-density-padding-inline-normal,1rem)}.cds-custom--layout-constraint--density__max-normal{--cds-custom-layout-density-padding-inline-max:var(--cds-custom-layout-density-padding-inline-normal,1rem)}:root{--cds-custom-layout-size-height-xs:1.5rem;--cds-custom-layout-size-height-sm:2rem;--cds-custom-layout-size-height-md:2.5rem;--cds-custom-layout-size-height-lg:3rem;--cds-custom-layout-size-height-xl:4rem;--cds-custom-layout-size-height-2xl:5rem;--cds-custom-layout-size-height-min:0px;--cds-custom-layout-size-height-max:999999999px;--cds-custom-layout-density-padding-inline-condensed:0.5rem;--cds-custom-layout-density-padding-inline-normal:1rem;--cds-custom-layout-density-padding-inline-min:0px;--cds-custom-layout-density-padding-inline-max:999999999px}.cds-custom--assistive-text,.cds-custom--visually-hidden{block-size:1px;border:0;margin:-1px;overflow:hidden;padding:0;position:absolute;clip:rect(0,0,0,0);inline-size:1px;visibility:inherit;white-space:nowrap}.cds-custom--layer-one,:root{--cds-custom-layer:var(--cds-custom-layer-01,#f4f4f4);--cds-custom-layer-active:var(--cds-custom-layer-active-01,#c6c6c6);--cds-custom-layer-hover:var(--cds-custom-layer-hover-01,#e8e8e8);--cds-custom-layer-selected:var(--cds-custom-layer-selected-01,#e0e0e0);--cds-custom-layer-selected-hover:var(--cds-custom-layer-selected-hover-01,#d1d1d1);--cds-custom-layer-accent:var(--cds-custom-layer-accent-01,#e0e0e0);--cds-custom-layer-accent-hover:var(--cds-custom-layer-accent-hover-01,#d1d1d1);--cds-custom-layer-accent-active:var(--cds-custom-layer-accent-active-01,#a8a8a8);--cds-custom-field:var(--cds-custom-field-01,#f4f4f4);--cds-custom-field-hover:var(--cds-custom-field-hover-01,#e8e8e8);--cds-custom-border-subtle:var(--cds-custom-border-subtle-00,#e0e0e0);--cds-custom-border-subtle-selected:var(--cds-custom-border-subtle-selected-01,#c6c6c6);--cds-custom-border-strong:var(--cds-custom-border-strong-01,#8d8d8d);--cds-custom-border-tile:var(--cds-custom-border-tile-01,#c6c6c6)}.cds-custom--layer-two{--cds-custom-layer:var(--cds-custom-layer-02,#fff);--cds-custom-layer-active:var(--cds-custom-layer-active-02,#c6c6c6);--cds-custom-layer-hover:var(--cds-custom-layer-hover-02,#e8e8e8);--cds-custom-layer-selected:var(--cds-custom-layer-selected-02,#e0e0e0);--cds-custom-layer-selected-hover:var(--cds-custom-layer-selected-hover-02,#d1d1d1);--cds-custom-layer-accent:var(--cds-custom-layer-accent-02,#e0e0e0);--cds-custom-layer-accent-hover:var(--cds-custom-layer-accent-hover-02,#d1d1d1);--cds-custom-layer-accent-active:var(--cds-custom-layer-accent-active-02,#a8a8a8);--cds-custom-field:var(--cds-custom-field-02,#fff);--cds-custom-field-hover:var(--cds-custom-field-hover-02,#e8e8e8);--cds-custom-border-subtle:var(--cds-custom-border-subtle-01,#c6c6c6);--cds-custom-border-subtle-selected:var(--cds-custom-border-subtle-selected-02,#c6c6c6);--cds-custom-border-strong:var(--cds-custom-border-strong-02,#8d8d8d);--cds-custom-border-tile:var(--cds-custom-border-tile-02,#a8a8a8)}.cds-custom--layer-three{--cds-custom-layer:var(--cds-custom-layer-03,#f4f4f4);--cds-custom-layer-active:var(--cds-custom-layer-active-03,#c6c6c6);--cds-custom-layer-hover:var(--cds-custom-layer-hover-03,#e8e8e8);--cds-custom-layer-selected:var(--cds-custom-layer-selected-03,#e0e0e0);--cds-custom-layer-selected-hover:var(--cds-custom-layer-selected-hover-03,#d1d1d1);--cds-custom-layer-accent:var(--cds-custom-layer-accent-03,#e0e0e0);--cds-custom-layer-accent-hover:var(--cds-custom-layer-accent-hover-03,#d1d1d1);--cds-custom-layer-accent-active:var(--cds-custom-layer-accent-active-03,#a8a8a8);--cds-custom-field:var(--cds-custom-field-03,#f4f4f4);--cds-custom-field-hover:var(--cds-custom-field-hover-03,#e8e8e8);--cds-custom-border-subtle:var(--cds-custom-border-subtle-02,#e0e0e0);--cds-custom-border-subtle-selected:var(--cds-custom-border-subtle-selected-03,#c6c6c6);--cds-custom-border-strong:var(--cds-custom-border-strong-03,#8d8d8d);--cds-custom-border-tile:var(--cds-custom-border-tile-03,#c6c6c6)}.cds-custom--menu{background-color:var(--cds-custom-layer);border:0;box-shadow:0 2px 6px var(--cds-custom-shadow,rgba(0,0,0,.3));box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;max-inline-size:18rem;min-inline-size:10rem;opacity:0;padding:.25rem 0;position:fixed;vertical-align:baseline;visibility:hidden;z-index:9000}.cds-custom--menu *,.cds-custom--menu :after,.cds-custom--menu :before{box-sizing:inherit}.cds-custom--menu--shown{overflow:visible}.cds-custom--menu-item{align-items:center;block-size:2rem;color:var(--cds-custom-text-secondary,#525252);-moz-column-gap:.5rem;column-gap:.5rem;cursor:pointer;display:grid;font-size:var(--cds-custom-body-short-01-font-size,.875rem);font-weight:var(--cds-custom-body-short-01-font-weight,400);grid-template-columns:1fr max-content;letter-spacing:var(--cds-custom-body-short-01-letter-spacing,.16px);line-height:var(--cds-custom-body-short-01-line-height,1.28572);padding-inline:1rem;transition:background-color 70ms cubic-bezier(.2,0,.38,.9)}.cds-custom--menu-item:focus{outline:2px solid var(--cds-custom-focus,#0f62fe);outline-offset:-2px}@media screen and (prefers-contrast){.cds-custom--menu-item:focus{outline-style:dotted}}.cds-custom--menu-item:hover{background-color:var(--cds-custom-layer-hover);color:var(--cds-custom-text-primary,#161616)}.cds-custom--menu--xs .cds-custom--menu-item{block-size:1.5rem}.cds-custom--menu--sm .cds-custom--menu-item{block-size:2rem}.cds-custom--menu--md .cds-custom--menu-item{block-size:2.5rem}.cds-custom--menu--lg .cds-custom--menu-item{block-size:3rem}.cds-custom--menu-item__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cds-custom--menu-item__shortcut{display:flex}.cds-custom--menu-item-group>ul,.cds-custom--menu-item-radio-group>ul{border:0;box-sizing:border-box;font-family:inherit;font-size:100%;margin:0;padding:0;vertical-align:baseline}.cds-custom--menu-item-group>ul *,.cds-custom--menu-item-group>ul :after,.cds-custom--menu-item-group>ul :before,.cds-custom--menu-item-radio-group>ul *,.cds-custom--menu-item-radio-group>ul :after,.cds-custom--menu-item-radio-group>ul :before{box-sizing:inherit}.cds-custom--menu-item__icon,.cds-custom--menu-item__selection-icon{display:none}.cds-custom--menu--with-icons>.cds-custom--menu-item,.cds-custom--menu--with-icons>.cds-custom--menu-item-group>ul>.cds-custom--menu-item,.cds-custom--menu--with-icons>.cds-custom--menu-item-radio-group>ul>.cds-custom--menu-item,.cds-custom--menu--with-selectable-items>.cds-custom--menu-item,.cds-custom--menu--with-selectable-items>.cds-custom--menu-item-group>ul>.cds-custom--menu-item,.cds-custom--menu--with-selectable-items>.cds-custom--menu-item-radio-group>ul>.cds-custom--menu-item{grid-template-columns:1rem 1fr max-content}.cds-custom--menu--with-icons>.cds-custom--menu-item-group>ul>.cds-custom--menu-item>.cds-custom--menu-item__icon,.cds-custom--menu--with-icons>.cds-custom--menu-item-radio-group>ul>.cds-custom--menu-item>.cds-custom--menu-item__icon,.cds-custom--menu--with-icons>.cds-custom--menu-item>.cds-custom--menu-item__icon,.cds-custom--menu--with-selectable-items>.cds-custom--menu-item-group>ul>.cds-custom--menu-item>.cds-custom--menu-item__selection-icon,.cds-custom--menu--with-selectable-items>.cds-custom--menu-item-radio-group>ul>.cds-custom--menu-item>.cds-custom--menu-item__selection-icon,.cds-custom--menu--with-selectable-items>.cds-custom--menu-item>.cds-custom--menu-item__selection-icon{display:flex}.cds-custom--menu--with-icons.cds-custom--menu--with-selectable-items>.cds-custom--menu-item,.cds-custom--menu--with-icons.cds-custom--menu--with-selectable-items>.cds-custom--menu-item-group>ul>.cds-custom--menu-item,.cds-custom--menu--with-icons.cds-custom--menu--with-selectable-items>.cds-custom--menu-item-radio-group>ul>.cds-custom--menu-item{grid-template-columns:1rem 1rem 1fr max-content}.cds-custom--menu-item--disabled{color:var(--cds-custom-text-disabled,hsla(0,0%,9%,.25));cursor:not-allowed}.cds-custom--menu-item--disabled.cds-custom--menu-item--danger:hover,.cds-custom--menu-item--disabled:hover{background-color:var(--cds-custom-layer);color:var(--cds-custom-text-disabled,hsla(0,0%,9%,.25))}.cds-custom--menu-item--danger:focus,.cds-custom--menu-item--danger:hover{background-color:var(--cds-custom-button-danger-primary,#da1e28);color:var(--cds-custom-text-on-color,#fff)}.cds-custom--menu-item-divider{background-color:var(--cds-custom-border-subtle);block-size:.0625rem;display:block;inline-size:100%;margin-block:.25rem}.cds-custom--menu--with-icons{--child-icon-property:flex;--child-grid-template-columns:1rem 1fr max-content}:host(cds-custom-menu){position:fixed;--grid-template:1rem 1fr max-content;--display-icon-item:none;--display-selection-icon:none;--block-size-value:$spacing-07}.cds-custom--menu--with-icons{--grid-template:1rem 1rem 1fr max-content;--display-icon-item:flex}.cds-custom--menu--with-selectable-items{--display-selection-icon:flex}.cds-custom--menu{overflow-y:auto}.cds-custom--menu--shown{opacity:1}.cds-custom--menu--open{visibility:visible}.cds-custom--menu--open:focus{outline:1px solid var(--cds-custom-focus,#0f62fe)}@media screen and (prefers-contrast){.cds-custom--menu--open:focus{outline-style:dotted}}.cds-custom--menu:not(.cds-custom--menu--open) .cds-custom--menu--open{visibility:hidden}.cds-custom--menu--with-icons{min-inline-size:12rem}.cds-custom--menu--xs{--block-size-value:1.5rem}.cds-custom--menu--sm{--block-size-value:2rem}.cds-custom--menu--md{--block-size-value:2.5rem}.cds-custom--menu--lg{--block-size-value:3rem}"]);
|
|
11
|
+
|
|
12
|
+
export { styles as default };
|
|
13
|
+
//# sourceMappingURL=menu.scss.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu.scss.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
|
@@ -350,8 +350,13 @@ declare const CDSOverflowMenuItem_base: {
|
|
|
350
350
|
* Overflow menu item.
|
|
351
351
|
*
|
|
352
352
|
* @element cds-custom-overflow-menu-item
|
|
353
|
+
* @fires cds-custom-overflow-menu-item-clicked - The custom event fired when an overflow menu item is clicked.
|
|
353
354
|
*/
|
|
354
355
|
declare class CDSOverflowMenuItem extends CDSOverflowMenuItem_base {
|
|
356
|
+
/**
|
|
357
|
+
* Handles `click` event on this element.
|
|
358
|
+
*/
|
|
359
|
+
private _handleClick;
|
|
355
360
|
/**
|
|
356
361
|
* `true` if the action is danger.
|
|
357
362
|
*/
|
|
@@ -374,6 +379,10 @@ declare class CDSOverflowMenuItem extends CDSOverflowMenuItem_base {
|
|
|
374
379
|
size: OVERFLOW_MENU_SIZE;
|
|
375
380
|
connectedCallback(): void;
|
|
376
381
|
render(): import("lit-html").TemplateResult<1>;
|
|
382
|
+
/**
|
|
383
|
+
* The name of the custom event fired when the item is clicked.
|
|
384
|
+
*/
|
|
385
|
+
static get itemClicked(): string;
|
|
377
386
|
static shadowRootOptions: {
|
|
378
387
|
delegatesFocus: boolean;
|
|
379
388
|
mode: ShadowRootMode;
|
|
@@ -26,6 +26,7 @@ import styles from './overflow-menu.scss.js';
|
|
|
26
26
|
* Overflow menu item.
|
|
27
27
|
*
|
|
28
28
|
* @element cds-custom-overflow-menu-item
|
|
29
|
+
* @fires cds-custom-overflow-menu-item-clicked - The custom event fired when an overflow menu item is clicked.
|
|
29
30
|
*/
|
|
30
31
|
let CDSOverflowMenuItem = class CDSOverflowMenuItem extends FocusMixin(LitElement) {
|
|
31
32
|
constructor() {
|
|
@@ -51,6 +52,18 @@ let CDSOverflowMenuItem = class CDSOverflowMenuItem extends FocusMixin(LitElemen
|
|
|
51
52
|
*/
|
|
52
53
|
this.size = OVERFLOW_MENU_SIZE.MEDIUM;
|
|
53
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Handles `click` event on this element.
|
|
57
|
+
*/
|
|
58
|
+
_handleClick(event) {
|
|
59
|
+
this.dispatchEvent(new CustomEvent(this.constructor.itemClicked, {
|
|
60
|
+
bubbles: true,
|
|
61
|
+
composed: true,
|
|
62
|
+
detail: {
|
|
63
|
+
evt: event,
|
|
64
|
+
},
|
|
65
|
+
}));
|
|
66
|
+
}
|
|
54
67
|
connectedCallback() {
|
|
55
68
|
if (!this.hasAttribute('role')) {
|
|
56
69
|
this.setAttribute('role', 'menuitem');
|
|
@@ -58,13 +71,15 @@ let CDSOverflowMenuItem = class CDSOverflowMenuItem extends FocusMixin(LitElemen
|
|
|
58
71
|
super.connectedCallback();
|
|
59
72
|
}
|
|
60
73
|
render() {
|
|
74
|
+
const { _handleClick: handleClick } = this;
|
|
61
75
|
return this.href
|
|
62
76
|
? html `
|
|
63
77
|
<a
|
|
64
78
|
class="${prefix}--overflow-menu-options__btn"
|
|
65
79
|
?disabled=${this.disabled}
|
|
66
80
|
href="${this.href}"
|
|
67
|
-
tabindex="-1"
|
|
81
|
+
tabindex="-1"
|
|
82
|
+
@click="${handleClick}">
|
|
68
83
|
<div class="${prefix}--overflow-menu-options__option-content">
|
|
69
84
|
<slot></slot>
|
|
70
85
|
</div>
|
|
@@ -74,13 +89,20 @@ let CDSOverflowMenuItem = class CDSOverflowMenuItem extends FocusMixin(LitElemen
|
|
|
74
89
|
<button
|
|
75
90
|
class="${prefix}--overflow-menu-options__btn"
|
|
76
91
|
?disabled=${this.disabled}
|
|
77
|
-
tabindex="-1"
|
|
92
|
+
tabindex="-1"
|
|
93
|
+
@click="${handleClick}">
|
|
78
94
|
<div class="${prefix}--overflow-menu-options__option-content">
|
|
79
95
|
<slot></slot>
|
|
80
96
|
</div>
|
|
81
97
|
</button>
|
|
82
98
|
`;
|
|
83
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* The name of the custom event fired when the item is clicked.
|
|
102
|
+
*/
|
|
103
|
+
static get itemClicked() {
|
|
104
|
+
return `${prefix}-overflow-menu-item-clicked`;
|
|
105
|
+
}
|
|
84
106
|
};
|
|
85
107
|
CDSOverflowMenuItem.shadowRootOptions = Object.assign(Object.assign({}, LitElement.shadowRootOptions), { delegatesFocus: true });
|
|
86
108
|
CDSOverflowMenuItem.styles = styles; // `styles` here is a `CSSResult` generated by custom Vite loader
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflow-menu-item.js","sources":["../../../src/components/overflow-menu/overflow-menu-item.ts"],"sourcesContent":[null],"names":["customElement"],"mappings":";;;;;;;;;;;;;;;;AAAA;;;;;;;AAOG;AAUH
|
|
1
|
+
{"version":3,"file":"overflow-menu-item.js","sources":["../../../src/components/overflow-menu/overflow-menu-item.ts"],"sourcesContent":[null],"names":["customElement"],"mappings":"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"}
|