@limetech/lime-elements 36.3.0-next.21 → 36.3.0-next.23
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/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-badge.cjs.entry.js +5 -2
- package/dist/cjs/limel-dock-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-menu-list.cjs.entry.js +7 -1
- package/dist/cjs/limel-menu.cjs.entry.js +10 -2
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/badge/badge.css +10 -7
- package/dist/collection/components/badge/badge.js +4 -1
- package/dist/collection/components/dock/dock-button/dock-button.js +2 -2
- package/dist/collection/components/menu/menu.css +19 -1
- package/dist/collection/components/menu/menu.js +10 -1
- package/dist/collection/components/menu-list/menu-list-renderer.js +6 -1
- package/dist/collection/components/menu-list/menu-list.css +12 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-badge.entry.js +5 -2
- package/dist/esm/limel-dock-button.entry.js +2 -2
- package/dist/esm/limel-menu-list.entry.js +7 -1
- package/dist/esm/limel-menu.entry.js +10 -2
- package/dist/esm/loader.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-071e8438.entry.js +82 -0
- package/dist/lime-elements/{p-d51892ae.entry.js → p-2b0e06d6.entry.js} +1 -1
- package/dist/lime-elements/p-c6c0d63c.entry.js +1 -0
- package/dist/lime-elements/p-e6a94294.entry.js +1 -0
- package/dist/types/components/menu/menu.d.ts +2 -0
- package/dist/types/components/menu/menu.types.d.ts +4 -0
- package/dist/types/components/menu-list/menu-list-renderer.d.ts +1 -0
- package/package.json +1 -1
- package/dist/lime-elements/p-95fd48d0.entry.js +0 -82
- package/dist/lime-elements/p-e768eab3.entry.js +0 -1
- package/dist/lime-elements/p-f9958763.entry.js +0 -1
|
@@ -11,7 +11,7 @@ require('./_getNative-60328036.js');
|
|
|
11
11
|
require('./eq-9a943b00.js');
|
|
12
12
|
require('./isObject-e28b7997.js');
|
|
13
13
|
|
|
14
|
-
const menuCss = ":host{display:inline-block}: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}";
|
|
14
|
+
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.125rem;right:-0.125rem}";
|
|
15
15
|
|
|
16
16
|
const Menu = class {
|
|
17
17
|
constructor(hostRef) {
|
|
@@ -62,6 +62,12 @@ const Menu = class {
|
|
|
62
62
|
const menuElements = Array.from(this.list.shadowRoot.querySelectorAll('[role="menuitem"]'));
|
|
63
63
|
(_a = menuElements[selectedIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
64
64
|
};
|
|
65
|
+
this.renderNotificationBadge = () => {
|
|
66
|
+
const hasNotificationBadge = (item) => 'badge' in item && item.badge !== undefined;
|
|
67
|
+
if (this.items.some(hasNotificationBadge)) {
|
|
68
|
+
return index.h("limel-badge", null);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
65
71
|
this.items = [];
|
|
66
72
|
this.disabled = false;
|
|
67
73
|
this.openDirection = 'bottom-start';
|
|
@@ -83,7 +89,7 @@ const Menu = class {
|
|
|
83
89
|
render() {
|
|
84
90
|
const cssProperties = this.getCssProperties();
|
|
85
91
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
86
|
-
return (index.h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, index.h("slot", { name: "trigger" }), 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: cssProperties, class: {
|
|
92
|
+
return (index.h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, index.h("slot", { 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: cssProperties, class: {
|
|
87
93
|
'has-grid-layout': this.gridLayout,
|
|
88
94
|
} }, index.h("limel-menu-list", { class: {
|
|
89
95
|
'has-grid-layout has-interactive-items': this.gridLayout,
|
|
@@ -99,6 +105,8 @@ const Menu = class {
|
|
|
99
105
|
'--list-grid-item-max-width',
|
|
100
106
|
'--list-grid-item-min-width',
|
|
101
107
|
'--list-grid-gap',
|
|
108
|
+
'--notification-badge-background-color',
|
|
109
|
+
'--notification-badge-text-color',
|
|
102
110
|
];
|
|
103
111
|
const style = getComputedStyle(this.host);
|
|
104
112
|
const values = propertyNames.map((property) => {
|
package/dist/cjs/loader.cjs.js
CHANGED
|
@@ -14,7 +14,7 @@ const patchEsm = () => {
|
|
|
14
14
|
const defineCustomElements = (win, options) => {
|
|
15
15
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
16
16
|
return patchEsm().then(() => {
|
|
17
|
-
return index.bootstrapLazy([["limel-color-picker.cjs",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-dock.cjs",[[1,"limel-dock",{"dockItems":[16],"dockFooterItems":[16],"accessibleLabel":[513,"accessible-label"],"expanded":[516],"allowResize":[516,"allow-resize"],"mobileBreakPoint":[514,"mobile-break-point"],"useMobileLayout":[32]}]]],["limel-picker.cjs",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-
|
|
17
|
+
return index.bootstrapLazy([["limel-color-picker.cjs",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-dock.cjs",[[1,"limel-dock",{"dockItems":[16],"dockFooterItems":[16],"accessibleLabel":[513,"accessible-label"],"expanded":[516],"allowResize":[516,"allow-resize"],"mobileBreakPoint":[514,"mobile-break-point"],"useMobileLayout":[32]}]]],["limel-split-button.cjs",[[1,"limel-split-button",{"label":[513],"primary":[516],"icon":[513],"disabled":[516],"items":[16]}]]],["limel-picker.cjs",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker.cjs",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formatter":[16],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["limel-button-group.cjs",[[1,"limel-button-group",{"value":[16],"disabled":[516],"selectedButtonId":[32]}]]],["limel-info-tile.cjs",[[1,"limel-info-tile",{"value":[520],"icon":[1],"label":[513],"prefix":[513],"suffix":[513],"disabled":[516],"badge":[520],"loading":[516],"link":[16],"progress":[16]}]]],["limel-select.cjs",[[1,"limel-select",{"disabled":[516],"readonly":[516],"invalid":[516],"required":[516],"label":[513],"helperText":[513,"helper-text"],"value":[16],"options":[16],"multiple":[4],"menuOpen":[32]}]]],["limel-snackbar.cjs",[[1,"limel-snackbar",{"message":[1],"timeout":[2],"actionText":[1,"action-text"],"dismissible":[4],"multiline":[4],"language":[1],"show":[64]}]]],["limel-tab-panel.cjs",[[1,"limel-tab-panel",{"tabs":[1040]}]]],["limel-file.cjs",[[1,"limel-file",{"value":[16],"label":[513],"required":[516],"disabled":[516],"readonly":[516],"accept":[513],"language":[1],"isDraggingOverDropZone":[32]}]]],["limel-collapsible-section.cjs",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[513],"actions":[16]}]]],["limel-dialog.cjs",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-progress-flow.cjs",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-shortcut.cjs",[[1,"limel-shortcut",{"icon":[513],"label":[513],"disabled":[516],"badge":[520],"link":[16]}]]],["limel-table.cjs",[[1,"limel-table",{"data":[16],"columns":[16],"mode":[1],"layout":[1],"pageSize":[2,"page-size"],"totalRows":[2,"total-rows"],"sorting":[16],"activeRow":[1040],"movableColumns":[4,"movable-columns"],"loading":[4],"page":[2],"emptyMessage":[1,"empty-message"],"aggregates":[16],"selectable":[4],"selection":[16]}]]],["limel-banner.cjs",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-code-editor.cjs",[[1,"limel-code-editor",{"value":[1],"language":[1],"readonly":[4],"lineNumbers":[4,"line-numbers"],"fold":[4],"lint":[4],"colorScheme":[1,"color-scheme"],"random":[32]}]]],["limel-config.cjs",[[1,"limel-config",{"config":[16]}]]],["limel-flex-container.cjs",[[1,"limel-flex-container",{"direction":[513],"justify":[513],"align":[513],"reverse":[516]}]]],["limel-form.cjs",[[1,"limel-form",{"schema":[16],"value":[16],"disabled":[4],"propsFactory":[16],"transformErrors":[16],"errors":[16]}]]],["limel-grid.cjs",[[1,"limel-grid"]]],["limel-slider.cjs",[[1,"limel-slider",{"disabled":[516],"readonly":[516],"factor":[514],"label":[513],"helperText":[513,"helper-text"],"unit":[513],"value":[514],"valuemax":[514],"valuemin":[514],"step":[514],"percentageClass":[32]}]]],["limel-switch.cjs",[[1,"limel-switch",{"label":[513],"disabled":[516],"readonly":[516],"value":[516],"fieldId":[32]}]]],["limel-dock-button.cjs",[[0,"limel-dock-button",{"item":[16],"expanded":[516],"useMobileLayout":[516,"use-mobile-layout"],"isOpen":[32]}]]],["limel-color-picker-palette.cjs",[[1,"limel-color-picker-palette",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"required":[516]}]]],["limel-menu-list.cjs",[[1,"limel-menu-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}]]],["limel-menu.cjs",[[1,"limel-menu",{"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"]}]]],["limel-tab-bar.cjs",[[1,"limel-tab-bar",{"tabs":[1040],"canScrollLeft":[32],"canScrollRight":[32]},[[9,"resize","handleWindowResize"]]]]],["limel-header.cjs",[[1,"limel-header",{"icon":[1],"heading":[1],"subheading":[1],"supportingText":[1,"supporting-text"]}]]],["limel-progress-flow-item.cjs",[[0,"limel-progress-flow-item",{"item":[16],"disabled":[4],"readonly":[4]}]]],["limel-checkbox.cjs",[[1,"limel-checkbox",{"disabled":[516],"readonly":[516],"label":[513],"helperText":[513,"helper-text"],"checked":[516],"indeterminate":[516],"required":[516],"modified":[32]}]]],["limel-flatpickr-adapter.cjs",[[1,"limel-flatpickr-adapter",{"value":[16],"type":[1],"format":[1],"isOpen":[4,"is-open"],"inputElement":[16],"language":[1],"formatter":[16]}]]],["limel-button.cjs",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516],"loadingFailed":[516,"loading-failed"],"justLoaded":[32]}]]],["limel-chip-set.cjs",[[1,"limel-chip-set",{"value":[16],"type":[513],"label":[513],"helperText":[513,"helper-text"],"disabled":[516],"readonly":[516],"inputType":[513,"input-type"],"maxItems":[514,"max-items"],"required":[516],"searchLabel":[513,"search-label"],"emptyInputOnBlur":[516,"empty-input-on-blur"],"clearAllButton":[4,"clear-all-button"],"leadingIcon":[513,"leading-icon"],"delimiter":[513],"language":[1],"editMode":[32],"textValue":[32],"blurred":[32],"inputChipIndexSelected":[32],"getEditMode":[64],"setFocus":[64],"emptyInput":[64]}]]],["limel-circular-progress_2.cjs",[[1,"limel-circular-progress",{"value":[2],"maxValue":[2,"max-value"],"prefix":[513],"suffix":[1],"displayPercentageColors":[4,"display-percentage-colors"],"size":[513]}],[1,"limel-linear-progress",{"value":[2],"indeterminate":[4]}]]],["limel-input-field.cjs",[[1,"limel-input-field",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"prefix":[513],"suffix":[513],"required":[516],"value":[513],"trailingIcon":[513,"trailing-icon"],"leadingIcon":[513,"leading-icon"],"pattern":[513],"type":[513],"formatNumber":[516,"format-number"],"step":[520],"max":[514],"min":[514],"maxlength":[514],"minlength":[514],"completions":[16],"showLink":[516,"show-link"],"isFocused":[32],"isModified":[32],"showCompletions":[32]}]]],["limel-icon-button.cjs",[[1,"limel-icon-button",{"icon":[513],"elevated":[516],"label":[513],"disabled":[516]}]]],["limel-spinner.cjs",[[1,"limel-spinner",{"size":[513],"limeBranded":[4,"lime-branded"]}]]],["limel-badge.cjs",[[1,"limel-badge",{"label":[520]}]]],["limel-portal.cjs",[[1,"limel-portal",{"openDirection":[1,"open-direction"],"position":[1],"containerId":[1,"container-id"],"containerStyle":[16],"parent":[16],"inheritParentWidth":[4,"inherit-parent-width"],"visible":[4]}]]],["limel-list_2.cjs",[[1,"limel-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}],[1,"limel-menu-surface",{"open":[4],"allowClicksElement":[16]}]]],["limel-popover_4.cjs",[[1,"limel-popover",{"open":[4],"openDirection":[513,"open-direction"]}],[1,"limel-tooltip",{"elementId":[513,"element-id"],"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514],"open":[32]}],[1,"limel-popover-surface",{"contentCollection":[16]}],[1,"limel-tooltip-content",{"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514]}]]],["limel-icon.cjs",[[1,"limel-icon",{"size":[513],"name":[513],"badge":[516]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
display: none;
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
:host {
|
|
75
|
+
:host(limel-badge) {
|
|
76
76
|
-moz-osx-font-smoothing: grayscale;
|
|
77
77
|
-webkit-font-smoothing: antialiased;
|
|
78
78
|
font-family: Roboto, sans-serif;
|
|
@@ -85,11 +85,10 @@
|
|
|
85
85
|
align-items: center;
|
|
86
86
|
flex-shrink: 0;
|
|
87
87
|
font-size: 0.6875rem;
|
|
88
|
-
height:
|
|
89
|
-
|
|
90
|
-
min-
|
|
91
|
-
|
|
92
|
-
border-radius: 1.25rem;
|
|
88
|
+
max-height: 1rem;
|
|
89
|
+
min-width: 0.5rem;
|
|
90
|
+
min-height: 0.5rem;
|
|
91
|
+
border-radius: 2rem;
|
|
93
92
|
background-color: var(--badge-background-color, rgb(var(--contrast-500)));
|
|
94
93
|
color: var(--badge-text-color, rgb(var(--contrast-1200)));
|
|
95
94
|
}
|
|
@@ -98,8 +97,12 @@ span {
|
|
|
98
97
|
overflow: hidden;
|
|
99
98
|
white-space: nowrap;
|
|
100
99
|
text-overflow: ellipsis;
|
|
101
|
-
|
|
100
|
+
text-align: center;
|
|
101
|
+
}
|
|
102
|
+
span:not(:empty) {
|
|
103
|
+
min-width: 0.4375rem;
|
|
102
104
|
max-width: 2.25rem;
|
|
105
|
+
margin: 0 0.28125rem;
|
|
103
106
|
}
|
|
104
107
|
|
|
105
108
|
:host(.has-large-label) {
|
|
@@ -21,9 +21,12 @@ export class Badge {
|
|
|
21
21
|
if (typeof this.label === 'number') {
|
|
22
22
|
return h("span", null, abbreviate(this.label));
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
if (typeof this.label === 'string') {
|
|
25
25
|
return h("span", null, this.label);
|
|
26
26
|
}
|
|
27
|
+
if (!this.label) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
27
30
|
}
|
|
28
31
|
labelIsLarge() {
|
|
29
32
|
const largeNumericLabel = 999;
|
|
@@ -6,7 +6,7 @@ import { createRandomString } from '../../../util/random-string';
|
|
|
6
6
|
export class DockButton {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.renderNotification = () => {
|
|
9
|
-
if (this.item.badge
|
|
9
|
+
if (this.item.badge !== undefined) {
|
|
10
10
|
return h("limel-badge", { label: this.item.badge });
|
|
11
11
|
}
|
|
12
12
|
};
|
|
@@ -62,7 +62,7 @@ export class DockButton {
|
|
|
62
62
|
return (h("button", { slot: slot, tabindex: "0", id: this.tooltipId, type: "button", class: {
|
|
63
63
|
button: true,
|
|
64
64
|
selected: (_a = this.item) === null || _a === void 0 ? void 0 : _a.selected,
|
|
65
|
-
}, onClick: handleClick, "aria-live":
|
|
65
|
+
}, onClick: handleClick, "aria-live": "polite" }, this.renderIcon(), this.renderLabel(), this.renderTooltip(), this.renderNotification()));
|
|
66
66
|
}
|
|
67
67
|
renderIcon() {
|
|
68
68
|
if (!this.item.icon) {
|
|
@@ -10,9 +10,21 @@
|
|
|
10
10
|
* @prop --list-grid-item-max-width: Maximum width of items in the menu list when `gridLayout={true}`. Defaults to `10rem`.
|
|
11
11
|
* @prop --list-grid-item-min-width: Minimum width of items in the menu list when `gridLayout={true}`. Defaults to `7.5rem`.
|
|
12
12
|
* @prop --list-grid-gap: Distance between the items in the menu list when `gridLayout={true}`. Defaults to `0.75rem`.
|
|
13
|
+
* @prop --notification-badge-text-color: Defines the text color of notification badges. Defaults to `--color-white`.
|
|
14
|
+
* @prop --notification-badge-background-color: Defines the background color of notification badges. Defaults to `--color-red-default`.
|
|
13
15
|
*/
|
|
14
|
-
:host {
|
|
16
|
+
:host(limel-menu) {
|
|
17
|
+
isolation: isolate;
|
|
18
|
+
position: relative;
|
|
15
19
|
display: inline-block;
|
|
20
|
+
--badge-background-color: var(
|
|
21
|
+
--notification-badge-background-color,
|
|
22
|
+
rgb(var(--color-red-default))
|
|
23
|
+
);
|
|
24
|
+
--badge-text-color: var(
|
|
25
|
+
--notification-badge-text-color,
|
|
26
|
+
rgb(var(--color-white))
|
|
27
|
+
);
|
|
16
28
|
}
|
|
17
29
|
|
|
18
30
|
:host([hidden]) {
|
|
@@ -34,4 +46,10 @@
|
|
|
34
46
|
|
|
35
47
|
.mdc-menu-surface--anchor {
|
|
36
48
|
position: relative;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
limel-badge {
|
|
52
|
+
position: absolute;
|
|
53
|
+
top: -0.125rem;
|
|
54
|
+
right: -0.125rem;
|
|
37
55
|
}
|
|
@@ -11,6 +11,7 @@ import { zipObject } from 'lodash-es';
|
|
|
11
11
|
* @exampleComponent limel-example-menu-grid
|
|
12
12
|
* @exampleComponent limel-example-menu-hotkeys
|
|
13
13
|
* @exampleComponent limel-example-menu-secondary-text
|
|
14
|
+
* @exampleComponent limel-example-menu-notification
|
|
14
15
|
* @exampleComponent limel-example-menu-composite
|
|
15
16
|
*/
|
|
16
17
|
export class Menu {
|
|
@@ -59,6 +60,12 @@ export class Menu {
|
|
|
59
60
|
const menuElements = Array.from(this.list.shadowRoot.querySelectorAll('[role="menuitem"]'));
|
|
60
61
|
(_a = menuElements[selectedIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
61
62
|
};
|
|
63
|
+
this.renderNotificationBadge = () => {
|
|
64
|
+
const hasNotificationBadge = (item) => 'badge' in item && item.badge !== undefined;
|
|
65
|
+
if (this.items.some(hasNotificationBadge)) {
|
|
66
|
+
return h("limel-badge", null);
|
|
67
|
+
}
|
|
68
|
+
};
|
|
62
69
|
this.items = [];
|
|
63
70
|
this.disabled = false;
|
|
64
71
|
this.openDirection = 'bottom-start';
|
|
@@ -80,7 +87,7 @@ export class Menu {
|
|
|
80
87
|
render() {
|
|
81
88
|
const cssProperties = this.getCssProperties();
|
|
82
89
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
83
|
-
return (h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, h("slot", { name: "trigger" }), h("limel-portal", { visible: this.open, containerId: this.portalId, openDirection: this.openDirection, position: "absolute", containerStyle: { 'z-index': dropdownZIndex } }, h("limel-menu-surface", { open: this.open, onDismiss: this.onClose, style: cssProperties, class: {
|
|
90
|
+
return (h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, h("slot", { name: "trigger" }), this.renderNotificationBadge(), h("limel-portal", { visible: this.open, containerId: this.portalId, openDirection: this.openDirection, position: "absolute", containerStyle: { 'z-index': dropdownZIndex } }, h("limel-menu-surface", { open: this.open, onDismiss: this.onClose, style: cssProperties, class: {
|
|
84
91
|
'has-grid-layout': this.gridLayout,
|
|
85
92
|
} }, h("limel-menu-list", { class: {
|
|
86
93
|
'has-grid-layout has-interactive-items': this.gridLayout,
|
|
@@ -96,6 +103,8 @@ export class Menu {
|
|
|
96
103
|
'--list-grid-item-max-width',
|
|
97
104
|
'--list-grid-item-min-width',
|
|
98
105
|
'--list-grid-gap',
|
|
106
|
+
'--notification-badge-background-color',
|
|
107
|
+
'--notification-badge-text-color',
|
|
99
108
|
];
|
|
100
109
|
const style = getComputedStyle(this.host);
|
|
101
110
|
const values = propertyNames.map((property) => {
|
|
@@ -55,7 +55,7 @@ export class MenuListRenderer {
|
|
|
55
55
|
if (index === this.applyTabIndexToItemAtIndex) {
|
|
56
56
|
attributes.tabindex = '0';
|
|
57
57
|
}
|
|
58
|
-
return (h("li", Object.assign({ class: classNames, role: "menuitem", "aria-disabled": item.disabled ? 'true' : 'false', "aria-selected": item.selected ? 'true' : 'false', "data-index": index }, attributes), item.icon ? this.renderIcon(this.config, item) : null, this.renderText(item), this.twoLines && this.avatarList ? this.renderDivider() : null));
|
|
58
|
+
return (h("li", Object.assign({ class: classNames, role: "menuitem", "aria-disabled": item.disabled ? 'true' : 'false', "aria-selected": item.selected ? 'true' : 'false', "data-index": index }, attributes), item.icon ? this.renderIcon(this.config, item) : null, this.renderText(item), this.renderNotification(item), this.twoLines && this.avatarList ? this.renderDivider() : null));
|
|
59
59
|
};
|
|
60
60
|
/**
|
|
61
61
|
* Render the text of the list item
|
|
@@ -100,6 +100,11 @@ export class MenuListRenderer {
|
|
|
100
100
|
}
|
|
101
101
|
return (h("limel-icon", { badge: config.badgeIcons, class: "mdc-deprecated-list-item__graphic", name: item.icon, style: style, size: config.iconSize }));
|
|
102
102
|
};
|
|
103
|
+
this.renderNotification = (item) => {
|
|
104
|
+
if (item.badge !== undefined) {
|
|
105
|
+
return h("limel-badge", { label: item.badge });
|
|
106
|
+
}
|
|
107
|
+
};
|
|
103
108
|
this.renderDivider = () => {
|
|
104
109
|
const classes = {
|
|
105
110
|
'mdc-deprecated-list-divider': true,
|
|
@@ -6391,6 +6391,14 @@ a.mdc-list-item {
|
|
|
6391
6391
|
|
|
6392
6392
|
:host(limel-menu-list) {
|
|
6393
6393
|
display: block;
|
|
6394
|
+
--badge-background-color: var(
|
|
6395
|
+
--notification-badge-background-color,
|
|
6396
|
+
rgb(var(--color-red-default))
|
|
6397
|
+
);
|
|
6398
|
+
--badge-text-color: var(
|
|
6399
|
+
--notification-badge-text-color,
|
|
6400
|
+
rgb(var(--color-white))
|
|
6401
|
+
);
|
|
6394
6402
|
}
|
|
6395
6403
|
|
|
6396
6404
|
.mdc-menu {
|
|
@@ -6408,4 +6416,8 @@ a.mdc-list-item {
|
|
|
6408
6416
|
}
|
|
6409
6417
|
.mdc-deprecated-list hr.mdc-deprecated-list-divider.mdc-deprecated-list-divider--inset {
|
|
6410
6418
|
display: none;
|
|
6419
|
+
}
|
|
6420
|
+
|
|
6421
|
+
limel-badge {
|
|
6422
|
+
transform: translateX(0.75rem);
|
|
6411
6423
|
}
|
|
@@ -13,5 +13,5 @@ const patchBrowser = () => {
|
|
|
13
13
|
};
|
|
14
14
|
|
|
15
15
|
patchBrowser().then(options => {
|
|
16
|
-
return bootstrapLazy([["limel-color-picker",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-dock",[[1,"limel-dock",{"dockItems":[16],"dockFooterItems":[16],"accessibleLabel":[513,"accessible-label"],"expanded":[516],"allowResize":[516,"allow-resize"],"mobileBreakPoint":[514,"mobile-break-point"],"useMobileLayout":[32]}]]],["limel-picker",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-
|
|
16
|
+
return bootstrapLazy([["limel-color-picker",[[1,"limel-color-picker",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"tooltipLabel":[513,"tooltip-label"],"required":[516],"readonly":[516],"isOpen":[32]}]]],["limel-dock",[[1,"limel-dock",{"dockItems":[16],"dockFooterItems":[16],"accessibleLabel":[513,"accessible-label"],"expanded":[516],"allowResize":[516,"allow-resize"],"mobileBreakPoint":[514,"mobile-break-point"],"useMobileLayout":[32]}]]],["limel-split-button",[[1,"limel-split-button",{"label":[513],"primary":[516],"icon":[513],"disabled":[516],"items":[16]}]]],["limel-picker",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"helperText":[513,"helper-text"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"badgeIcons":[516,"badge-icons"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formatter":[16],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["limel-button-group",[[1,"limel-button-group",{"value":[16],"disabled":[516],"selectedButtonId":[32]}]]],["limel-info-tile",[[1,"limel-info-tile",{"value":[520],"icon":[1],"label":[513],"prefix":[513],"suffix":[513],"disabled":[516],"badge":[520],"loading":[516],"link":[16],"progress":[16]}]]],["limel-select",[[1,"limel-select",{"disabled":[516],"readonly":[516],"invalid":[516],"required":[516],"label":[513],"helperText":[513,"helper-text"],"value":[16],"options":[16],"multiple":[4],"menuOpen":[32]}]]],["limel-snackbar",[[1,"limel-snackbar",{"message":[1],"timeout":[2],"actionText":[1,"action-text"],"dismissible":[4],"multiline":[4],"language":[1],"show":[64]}]]],["limel-tab-panel",[[1,"limel-tab-panel",{"tabs":[1040]}]]],["limel-file",[[1,"limel-file",{"value":[16],"label":[513],"required":[516],"disabled":[516],"readonly":[516],"accept":[513],"language":[1],"isDraggingOverDropZone":[32]}]]],["limel-collapsible-section",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[513],"actions":[16]}]]],["limel-dialog",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-progress-flow",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-shortcut",[[1,"limel-shortcut",{"icon":[513],"label":[513],"disabled":[516],"badge":[520],"link":[16]}]]],["limel-table",[[1,"limel-table",{"data":[16],"columns":[16],"mode":[1],"layout":[1],"pageSize":[2,"page-size"],"totalRows":[2,"total-rows"],"sorting":[16],"activeRow":[1040],"movableColumns":[4,"movable-columns"],"loading":[4],"page":[2],"emptyMessage":[1,"empty-message"],"aggregates":[16],"selectable":[4],"selection":[16]}]]],["limel-banner",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-code-editor",[[1,"limel-code-editor",{"value":[1],"language":[1],"readonly":[4],"lineNumbers":[4,"line-numbers"],"fold":[4],"lint":[4],"colorScheme":[1,"color-scheme"],"random":[32]}]]],["limel-config",[[1,"limel-config",{"config":[16]}]]],["limel-flex-container",[[1,"limel-flex-container",{"direction":[513],"justify":[513],"align":[513],"reverse":[516]}]]],["limel-form",[[1,"limel-form",{"schema":[16],"value":[16],"disabled":[4],"propsFactory":[16],"transformErrors":[16],"errors":[16]}]]],["limel-grid",[[1,"limel-grid"]]],["limel-slider",[[1,"limel-slider",{"disabled":[516],"readonly":[516],"factor":[514],"label":[513],"helperText":[513,"helper-text"],"unit":[513],"value":[514],"valuemax":[514],"valuemin":[514],"step":[514],"percentageClass":[32]}]]],["limel-switch",[[1,"limel-switch",{"label":[513],"disabled":[516],"readonly":[516],"value":[516],"fieldId":[32]}]]],["limel-dock-button",[[0,"limel-dock-button",{"item":[16],"expanded":[516],"useMobileLayout":[516,"use-mobile-layout"],"isOpen":[32]}]]],["limel-color-picker-palette",[[1,"limel-color-picker-palette",{"value":[513],"label":[513],"helperText":[513,"helper-text"],"required":[516]}]]],["limel-menu-list",[[1,"limel-menu-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}]]],["limel-menu",[[1,"limel-menu",{"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"]}]]],["limel-tab-bar",[[1,"limel-tab-bar",{"tabs":[1040],"canScrollLeft":[32],"canScrollRight":[32]},[[9,"resize","handleWindowResize"]]]]],["limel-header",[[1,"limel-header",{"icon":[1],"heading":[1],"subheading":[1],"supportingText":[1,"supporting-text"]}]]],["limel-progress-flow-item",[[0,"limel-progress-flow-item",{"item":[16],"disabled":[4],"readonly":[4]}]]],["limel-checkbox",[[1,"limel-checkbox",{"disabled":[516],"readonly":[516],"label":[513],"helperText":[513,"helper-text"],"checked":[516],"indeterminate":[516],"required":[516],"modified":[32]}]]],["limel-flatpickr-adapter",[[1,"limel-flatpickr-adapter",{"value":[16],"type":[1],"format":[1],"isOpen":[4,"is-open"],"inputElement":[16],"language":[1],"formatter":[16]}]]],["limel-button",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516],"loadingFailed":[516,"loading-failed"],"justLoaded":[32]}]]],["limel-chip-set",[[1,"limel-chip-set",{"value":[16],"type":[513],"label":[513],"helperText":[513,"helper-text"],"disabled":[516],"readonly":[516],"inputType":[513,"input-type"],"maxItems":[514,"max-items"],"required":[516],"searchLabel":[513,"search-label"],"emptyInputOnBlur":[516,"empty-input-on-blur"],"clearAllButton":[4,"clear-all-button"],"leadingIcon":[513,"leading-icon"],"delimiter":[513],"language":[1],"editMode":[32],"textValue":[32],"blurred":[32],"inputChipIndexSelected":[32],"getEditMode":[64],"setFocus":[64],"emptyInput":[64]}]]],["limel-circular-progress_2",[[1,"limel-circular-progress",{"value":[2],"maxValue":[2,"max-value"],"prefix":[513],"suffix":[1],"displayPercentageColors":[4,"display-percentage-colors"],"size":[513]}],[1,"limel-linear-progress",{"value":[2],"indeterminate":[4]}]]],["limel-input-field",[[1,"limel-input-field",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"placeholder":[513],"helperText":[513,"helper-text"],"prefix":[513],"suffix":[513],"required":[516],"value":[513],"trailingIcon":[513,"trailing-icon"],"leadingIcon":[513,"leading-icon"],"pattern":[513],"type":[513],"formatNumber":[516,"format-number"],"step":[520],"max":[514],"min":[514],"maxlength":[514],"minlength":[514],"completions":[16],"showLink":[516,"show-link"],"isFocused":[32],"isModified":[32],"showCompletions":[32]}]]],["limel-icon-button",[[1,"limel-icon-button",{"icon":[513],"elevated":[516],"label":[513],"disabled":[516]}]]],["limel-spinner",[[1,"limel-spinner",{"size":[513],"limeBranded":[4,"lime-branded"]}]]],["limel-badge",[[1,"limel-badge",{"label":[520]}]]],["limel-portal",[[1,"limel-portal",{"openDirection":[1,"open-direction"],"position":[1],"containerId":[1,"container-id"],"containerStyle":[16],"parent":[16],"inheritParentWidth":[4,"inherit-parent-width"],"visible":[4]}]]],["limel-list_2",[[1,"limel-list",{"items":[16],"badgeIcons":[4,"badge-icons"],"iconSize":[1,"icon-size"],"type":[1],"maxLinesSecondaryText":[2,"max-lines-secondary-text"]}],[1,"limel-menu-surface",{"open":[4],"allowClicksElement":[16]}]]],["limel-popover_4",[[1,"limel-popover",{"open":[4],"openDirection":[513,"open-direction"]}],[1,"limel-tooltip",{"elementId":[513,"element-id"],"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514],"open":[32]}],[1,"limel-popover-surface",{"contentCollection":[16]}],[1,"limel-tooltip-content",{"label":[513],"helperLabel":[513,"helper-label"],"maxlength":[514]}]]],["limel-icon",[[1,"limel-icon",{"size":[513],"name":[513],"badge":[516]}]]]], options);
|
|
17
17
|
});
|
|
@@ -2,7 +2,7 @@ import { r as registerInstance, h, H as Host } from './index-cdfd351d.js';
|
|
|
2
2
|
import { a as abbreviate } from './format-a0e2d949.js';
|
|
3
3
|
import './_commonjsHelpers-5ec8f9b7.js';
|
|
4
4
|
|
|
5
|
-
const badgeCss = ":host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host([hidden]){display:none}:host{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-font-family, Roboto, sans-serif);cursor:default;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-size:0.6875rem;
|
|
5
|
+
const badgeCss = ":host{--mdc-theme-primary:var(\n --lime-primary-color,\n rgb(var(--color-teal-default))\n );--mdc-theme-secondary:var(\n --lime-secondary-color,\n rgb(var(--contrast-1100))\n );--mdc-theme-on-primary:var(\n --lime-on-primary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-secondary:var(\n --lime-on-secondary-color,\n rgb(var(--contrast-100))\n );--mdc-theme-text-disabled-on-background:var(\n --lime-text-disabled-on-background-color,\n rgba(var(--contrast-1700), 0.38)\n );--mdc-theme-text-primary-on-background:var(\n --lime-text-primary-on-background-color,\n rgba(var(--contrast-1700), 0.87)\n );--mdc-theme-text-secondary-on-background:var(\n --lime-text-secondary-on-background-color,\n rgba(var(--contrast-1700), 0.54)\n );--mdc-theme-error:var(\n --lime-error-background-color,\n rgb(var(--color-red-dark))\n );--lime-error-text-color:rgb(var(--color-red-darker));--mdc-theme-surface:var(\n --lime-surface-background-color,\n rgb(var(--contrast-100))\n );--mdc-theme-on-surface:var(\n --lime-on-surface-color,\n rgb(var(--contrast-1500))\n )}:host([hidden]){display:none}:host(limel-badge){-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:Roboto, sans-serif;font-family:var(--mdc-typography-font-family, Roboto, sans-serif);cursor:default;box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;font-size:0.6875rem;max-height:1rem;min-width:0.5rem;min-height:0.5rem;border-radius:2rem;background-color:var(--badge-background-color, rgb(var(--contrast-500)));color:var(--badge-text-color, rgb(var(--contrast-1200)))}span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:center}span:not(:empty){min-width:0.4375rem;max-width:2.25rem;margin:0 0.28125rem}:host(.has-large-label){cursor:help}";
|
|
6
6
|
|
|
7
7
|
const Badge = class {
|
|
8
8
|
constructor(hostRef) {
|
|
@@ -18,9 +18,12 @@ const Badge = class {
|
|
|
18
18
|
if (typeof this.label === 'number') {
|
|
19
19
|
return h("span", null, abbreviate(this.label));
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
if (typeof this.label === 'string') {
|
|
22
22
|
return h("span", null, this.label);
|
|
23
23
|
}
|
|
24
|
+
if (!this.label) {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
24
27
|
}
|
|
25
28
|
labelIsLarge() {
|
|
26
29
|
const largeNumericLabel = 999;
|
|
@@ -10,7 +10,7 @@ const DockButton = class {
|
|
|
10
10
|
this.menuOpen = createEvent(this, "menuOpen", 7);
|
|
11
11
|
this.close = createEvent(this, "close", 7);
|
|
12
12
|
this.renderNotification = () => {
|
|
13
|
-
if (this.item.badge
|
|
13
|
+
if (this.item.badge !== undefined) {
|
|
14
14
|
return h("limel-badge", { label: this.item.badge });
|
|
15
15
|
}
|
|
16
16
|
};
|
|
@@ -66,7 +66,7 @@ const DockButton = class {
|
|
|
66
66
|
return (h("button", { slot: slot, tabindex: "0", id: this.tooltipId, type: "button", class: {
|
|
67
67
|
button: true,
|
|
68
68
|
selected: (_a = this.item) === null || _a === void 0 ? void 0 : _a.selected,
|
|
69
|
-
}, onClick: handleClick, "aria-live":
|
|
69
|
+
}, onClick: handleClick, "aria-live": "polite" }, this.renderIcon(), this.renderLabel(), this.renderTooltip(), this.renderNotification()));
|
|
70
70
|
}
|
|
71
71
|
renderIcon() {
|
|
72
72
|
if (!this.item.icon) {
|