@limetech/lime-elements 33.13.0-next.6 → 33.14.0-next.11
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-button-group.cjs.entry.js +14 -4
- package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
- package/dist/cjs/limel-list_3.cjs.entry.js +36 -14
- package/dist/cjs/limel-menu.cjs.entry.js +49 -1
- package/dist/cjs/limel-tab-bar.cjs.entry.js +6 -1
- package/dist/cjs/limel-tooltip-content.cjs.entry.js +19 -0
- package/dist/cjs/limel-tooltip.cjs.entry.js +70 -0
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -1
- package/dist/collection/components/button-group/button-group.js +15 -5
- package/dist/collection/components/dialog/dialog.css +6 -0
- package/dist/collection/components/list/list-renderer.js +33 -13
- package/dist/collection/components/list/list.css +16 -2
- package/dist/collection/components/list/list.js +2 -0
- package/dist/collection/components/menu/menu.js +56 -6
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/tab-bar/tab-bar.js +6 -1
- package/dist/collection/components/tab-panel/tab-panel.js +2 -1
- package/dist/collection/components/tab-panel/tab-panel.types.js +1 -0
- package/dist/collection/components/tooltip/tooltip-content.css +21 -0
- package/dist/collection/components/tooltip/tooltip-content.js +57 -0
- package/dist/collection/components/tooltip/tooltip.css +12 -0
- package/dist/collection/components/tooltip/tooltip.js +141 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-button-group.entry.js +14 -4
- package/dist/esm/limel-dialog.entry.js +1 -1
- package/dist/esm/limel-list_3.entry.js +36 -14
- package/dist/esm/limel-menu.entry.js +49 -1
- package/dist/esm/limel-tab-bar.entry.js +6 -1
- package/dist/esm/limel-tooltip-content.entry.js +15 -0
- package/dist/esm/limel-tooltip.entry.js +66 -0
- package/dist/esm/loader.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-9c0dc505.entry.js → p-61ecc7f1.entry.js} +2 -2
- package/dist/lime-elements/p-63e4f918.entry.js +1 -0
- package/dist/lime-elements/p-a6a7dd00.entry.js +1 -0
- package/dist/lime-elements/p-b0b18dfc.entry.js +1 -0
- package/dist/lime-elements/p-bd805195.entry.js +1 -0
- package/dist/lime-elements/{p-2850d435.entry.js → p-c636bfcf.entry.js} +1 -1
- package/dist/lime-elements/p-e078c459.entry.js +177 -0
- package/dist/types/components/list/list-renderer.d.ts +8 -6
- package/dist/types/components/menu/menu.d.ts +11 -3
- package/dist/types/components/menu/menu.types.d.ts +7 -0
- package/dist/types/components/select/select.d.ts +3 -1
- package/dist/types/components/tab-bar/tab-bar.d.ts +1 -0
- package/dist/types/components/tab-panel/tab-panel.d.ts +2 -1
- package/dist/types/components/tab-panel/tab-panel.types.d.ts +16 -0
- package/dist/types/components/tooltip/tooltip-content.d.ts +18 -0
- package/dist/types/components/tooltip/tooltip.d.ts +49 -0
- package/dist/types/components.d.ts +71 -5
- package/dist/types/interface.d.ts +1 -0
- package/package.json +1 -1
- package/dist/lime-elements/p-1f3b6139.entry.js +0 -1
- package/dist/lime-elements/p-8e8219ac.entry.js +0 -177
- package/dist/lime-elements/p-aeeca058.entry.js +0 -1
|
@@ -55,6 +55,22 @@ const Menu = class {
|
|
|
55
55
|
* obsolete.
|
|
56
56
|
*/
|
|
57
57
|
this.fixed = false;
|
|
58
|
+
this.setTriggerAttributes = (element) => {
|
|
59
|
+
const attributes = {
|
|
60
|
+
'aria-haspopup': true,
|
|
61
|
+
'aria-expanded': this.open,
|
|
62
|
+
disabled: this.disabled,
|
|
63
|
+
role: 'button',
|
|
64
|
+
};
|
|
65
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
66
|
+
if (!value) {
|
|
67
|
+
element.removeAttribute(key);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
element.setAttribute(key, String(value));
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
};
|
|
58
74
|
this.onClose = () => {
|
|
59
75
|
this.cancel.emit();
|
|
60
76
|
this.open = false;
|
|
@@ -76,6 +92,18 @@ const Menu = class {
|
|
|
76
92
|
this.select.emit(event.detail);
|
|
77
93
|
this.open = false;
|
|
78
94
|
};
|
|
95
|
+
this.setListElement = (element) => {
|
|
96
|
+
this.list = element;
|
|
97
|
+
};
|
|
98
|
+
this.focusMenuItem = () => {
|
|
99
|
+
var _a;
|
|
100
|
+
const activeElement = this.list.shadowRoot.activeElement;
|
|
101
|
+
activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur();
|
|
102
|
+
const listItems = this.items.filter(this.isListItem);
|
|
103
|
+
const selectedIndex = Math.max(listItems.findIndex((item) => item.selected), 0);
|
|
104
|
+
const menuElements = Array.from(this.list.shadowRoot.querySelectorAll('[role="menuitem"]'));
|
|
105
|
+
(_a = menuElements[selectedIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
106
|
+
};
|
|
79
107
|
this.portalId = randomString.createRandomString();
|
|
80
108
|
}
|
|
81
109
|
componentDidLoad() {
|
|
@@ -84,6 +112,16 @@ const Menu = class {
|
|
|
84
112
|
console.warn('Using limel-menu with the default trigger is deprecated. Please provide your own trigger element.');
|
|
85
113
|
}
|
|
86
114
|
}
|
|
115
|
+
openWatcher() {
|
|
116
|
+
if (!this.open) {
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const observer = new IntersectionObserver(() => {
|
|
120
|
+
observer.unobserve(this.list);
|
|
121
|
+
this.focusMenuItem();
|
|
122
|
+
});
|
|
123
|
+
observer.observe(this.list);
|
|
124
|
+
}
|
|
87
125
|
render() {
|
|
88
126
|
const cssProperties = this.getCssProperties();
|
|
89
127
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
@@ -93,7 +131,11 @@ const Menu = class {
|
|
|
93
131
|
const portalPosition = this.getPortalPosition();
|
|
94
132
|
return (index.h("div", { class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, index.h("slot", { name: "trigger" }, this.renderTrigger()), index.h("limel-portal", { class: portalClasses, style: portalPosition, visible: this.open, containerId: this.portalId, openDirection: this.openDirection, position: this.fixed ? 'fixed' : 'absolute', containerStyle: { 'z-index': dropdownZIndex } }, index.h("limel-menu-surface", { open: this.open, onDismiss: this.onClose, style: cssProperties }, index.h("limel-list", { class: {
|
|
95
133
|
'has-grid-layout has-interactive-items': this.gridLayout,
|
|
96
|
-
}, items: this.items, type: "menu", badgeIcons: this.badgeIcons, onChange: this.onListChange })))));
|
|
134
|
+
}, items: this.items, type: "menu", badgeIcons: this.badgeIcons, onChange: this.onListChange, ref: this.setListElement })))));
|
|
135
|
+
}
|
|
136
|
+
componentDidRender() {
|
|
137
|
+
const slotElement = this.host.shadowRoot.querySelector('slot');
|
|
138
|
+
slotElement.assignedElements().forEach(this.setTriggerAttributes);
|
|
97
139
|
}
|
|
98
140
|
renderTrigger() {
|
|
99
141
|
return (index.h("button", { class: `
|
|
@@ -128,7 +170,13 @@ const Menu = class {
|
|
|
128
170
|
});
|
|
129
171
|
return zipObject.zipObject(propertyNames, values);
|
|
130
172
|
}
|
|
173
|
+
isListItem(item) {
|
|
174
|
+
return !('separator' in item);
|
|
175
|
+
}
|
|
131
176
|
get host() { return index.getElement(this); }
|
|
177
|
+
static get watchers() { return {
|
|
178
|
+
"open": ["openWatcher"]
|
|
179
|
+
}; }
|
|
132
180
|
};
|
|
133
181
|
Menu.style = menuCss;
|
|
134
182
|
|
|
@@ -2255,11 +2255,16 @@ const TabBar = class {
|
|
|
2255
2255
|
handleTabActivated(event) {
|
|
2256
2256
|
const index = event.detail.index;
|
|
2257
2257
|
const newTabs = setActiveTab(this.tabs, index);
|
|
2258
|
-
difference(newTabs, this.tabs)
|
|
2258
|
+
difference(newTabs, this.tabs)
|
|
2259
|
+
.sort(this.sortByInactive)
|
|
2260
|
+
.forEach((tab) => {
|
|
2259
2261
|
this.changeTab.emit(tab);
|
|
2260
2262
|
});
|
|
2261
2263
|
this.tabs = newTabs;
|
|
2262
2264
|
}
|
|
2265
|
+
sortByInactive(a, b) {
|
|
2266
|
+
return Number(a.active) - Number(b.active);
|
|
2267
|
+
}
|
|
2263
2268
|
handleScroll() {
|
|
2264
2269
|
const scrollLeft = this.scrollArea.scrollLeft;
|
|
2265
2270
|
const scrollRight = Math.floor(this.scrollContent.getBoundingClientRect().width -
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-153dc912.js');
|
|
6
|
+
|
|
7
|
+
const tooltipContentCss = ".tooltip-content{display:flex;flex-direction:row;color:rgb(var(--color-gray-default));border-radius:0.5rem;width:auto;display:flex;padding:0.75rem;transition:opacity 150ms ease-out;margin-top:0.3rem;background-color:rgb(var(--color-gray-darker))}.tooltip-content .tooltip{color:rgb(var(--color-gray-lighter))}.tooltip-content .helperLabel{padding:0 0 0 1rem}.tooltip-content .helperLabel:empty{display:none}";
|
|
8
|
+
|
|
9
|
+
const TooltipContent = class {
|
|
10
|
+
constructor(hostRef) {
|
|
11
|
+
index.registerInstance(this, hostRef);
|
|
12
|
+
}
|
|
13
|
+
render() {
|
|
14
|
+
return (index.h("div", { class: "tooltip-content" }, index.h("div", { class: "tooltip" }, this.label), index.h("div", { class: "helperLabel" }, this.helperLabel)));
|
|
15
|
+
}
|
|
16
|
+
};
|
|
17
|
+
TooltipContent.style = tooltipContentCss;
|
|
18
|
+
|
|
19
|
+
exports.limel_tooltip_content = TooltipContent;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const index = require('./index-153dc912.js');
|
|
6
|
+
const randomString = require('./random-string-4c3b7f1c.js');
|
|
7
|
+
|
|
8
|
+
const tooltipCss = ".trigger-anchor{display:inline-block;position:relative}.tooltip-container{color:#f1f1f1;background-color:#232324}";
|
|
9
|
+
|
|
10
|
+
const Tooltip = class {
|
|
11
|
+
constructor(hostRef) {
|
|
12
|
+
index.registerInstance(this, hostRef);
|
|
13
|
+
this.showTooltip = () => {
|
|
14
|
+
const tooltipDelay = 500;
|
|
15
|
+
this.showTooltipTimeoutHandle = window.setTimeout(() => {
|
|
16
|
+
this.open = true;
|
|
17
|
+
}, tooltipDelay);
|
|
18
|
+
};
|
|
19
|
+
this.hideTooltip = () => {
|
|
20
|
+
clearTimeout(this.showTooltipTimeoutHandle);
|
|
21
|
+
this.open = false;
|
|
22
|
+
};
|
|
23
|
+
this.portalId = randomString.createRandomString();
|
|
24
|
+
this.tooltipId = randomString.createRandomString();
|
|
25
|
+
}
|
|
26
|
+
connectedCallback() {
|
|
27
|
+
this.setOwnerAriaLabel();
|
|
28
|
+
this.addListeners();
|
|
29
|
+
}
|
|
30
|
+
disconnectedCallback() {
|
|
31
|
+
this.removeListeners();
|
|
32
|
+
}
|
|
33
|
+
render() {
|
|
34
|
+
const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
|
|
35
|
+
return (index.h("div", { class: "trigger-anchor" }, index.h("limel-portal", { visible: this.open, containerId: this.portalId, containerStyle: {
|
|
36
|
+
'z-index': tooltipZIndex,
|
|
37
|
+
'pointer-events': 'none',
|
|
38
|
+
} }, index.h("limel-tooltip-content", { label: this.label, helperLabel: this.helperLabel, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
|
|
39
|
+
}
|
|
40
|
+
setOwnerAriaLabel() {
|
|
41
|
+
const owner = this.getOwnerElement();
|
|
42
|
+
owner === null || owner === void 0 ? void 0 : owner.setAttribute('aria-describedby', this.tooltipId);
|
|
43
|
+
}
|
|
44
|
+
addListeners() {
|
|
45
|
+
const owner = this.getOwnerElement();
|
|
46
|
+
owner === null || owner === void 0 ? void 0 : owner.addEventListener('mouseover', this.showTooltip);
|
|
47
|
+
owner === null || owner === void 0 ? void 0 : owner.addEventListener('mouseout', this.hideTooltip);
|
|
48
|
+
owner === null || owner === void 0 ? void 0 : owner.addEventListener('click', this.hideTooltip);
|
|
49
|
+
}
|
|
50
|
+
removeListeners() {
|
|
51
|
+
const owner = this.getOwnerElement();
|
|
52
|
+
owner === null || owner === void 0 ? void 0 : owner.removeEventListener('mouseover', this.showTooltip);
|
|
53
|
+
owner === null || owner === void 0 ? void 0 : owner.removeEventListener('mouseout', this.hideTooltip);
|
|
54
|
+
owner === null || owner === void 0 ? void 0 : owner.removeEventListener('click', this.hideTooltip);
|
|
55
|
+
}
|
|
56
|
+
getOwnerElement() {
|
|
57
|
+
var _a;
|
|
58
|
+
let element = this.host;
|
|
59
|
+
do {
|
|
60
|
+
element = element.parentNode;
|
|
61
|
+
} while (element &&
|
|
62
|
+
element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE &&
|
|
63
|
+
element.nodeType !== Node.DOCUMENT_NODE);
|
|
64
|
+
return (_a = element) === null || _a === void 0 ? void 0 : _a.getElementById(this.elementId);
|
|
65
|
+
}
|
|
66
|
+
get host() { return index.getElement(this); }
|
|
67
|
+
};
|
|
68
|
+
Tooltip.style = tooltipCss;
|
|
69
|
+
|
|
70
|
+
exports.limel_tooltip = Tooltip;
|
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-picker.cjs",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"displayFullList":[4,"display-full-list"],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker.cjs",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["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-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-menu.cjs",[[1,"limel-menu",{"label":[513],"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"],"fixed":[4]}]]],["limel-button.cjs",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516]}]]],["limel-collapsible-section.cjs",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[1],"actions":[16]}]]],["limel-dialog.cjs",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-popover.cjs",[[1,"limel-popover",{"open":[4]}]]],["limel-progress-flow.cjs",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-banner.cjs",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-
|
|
17
|
+
return index.bootstrapLazy([["limel-picker.cjs",[[1,"limel-picker",{"disabled":[4],"readonly":[516],"label":[1],"searchLabel":[1,"search-label"],"leadingIcon":[1,"leading-icon"],"emptyResultMessage":[1,"empty-result-message"],"required":[4],"value":[16],"searcher":[16],"multiple":[4],"delimiter":[513],"displayFullList":[4,"display-full-list"],"actions":[16],"actionPosition":[1,"action-position"],"actionScrollBehavior":[1,"action-scroll-behavior"],"items":[32],"textValue":[32],"loading":[32],"chips":[32]}]]],["limel-date-picker.cjs",[[1,"limel-date-picker",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"required":[516],"value":[16],"type":[513],"format":[513],"language":[513],"formattedValue":[32],"internalFormat":[32],"showPortal":[32]}]]],["limel-button-group.cjs",[[1,"limel-button-group",{"value":[16],"disabled":[516],"selectedButtonId":[32]}]]],["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-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-menu.cjs",[[1,"limel-menu",{"label":[513],"items":[16],"disabled":[516],"openDirection":[513,"open-direction"],"open":[1540],"badgeIcons":[516,"badge-icons"],"gridLayout":[516,"grid-layout"],"fixed":[4]}]]],["limel-button.cjs",[[1,"limel-button",{"label":[513],"primary":[516],"outlined":[516],"icon":[513],"disabled":[516],"loading":[516]}]]],["limel-collapsible-section.cjs",[[1,"limel-collapsible-section",{"isOpen":[1540,"is-open"],"header":[1],"actions":[16]}]]],["limel-dialog.cjs",[[1,"limel-dialog",{"heading":[1],"fullscreen":[516],"open":[1540],"closingActions":[16]}]]],["limel-popover.cjs",[[1,"limel-popover",{"open":[4]}]]],["limel-progress-flow.cjs",[[1,"limel-progress-flow",{"flowItems":[16],"disabled":[4],"readonly":[4]}]]],["limel-banner.cjs",[[1,"limel-banner",{"message":[513],"icon":[513],"isOpen":[32],"open":[64],"close":[64]}]]],["limel-table.cjs",[[1,"limel-table",{"data":[16],"columns":[16],"mode":[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"]}]]],["limel-checkbox.cjs",[[1,"limel-checkbox",{"disabled":[516],"readonly":[516],"label":[513],"checked":[516],"required":[516],"modified":[32]}]]],["limel-circular-progress.cjs",[[1,"limel-circular-progress",{"value":[2],"maxValue":[2,"max-value"],"suffix":[1],"displayPercentageColors":[4,"display-percentage-colors"],"size":[513]}]]],["limel-code-editor.cjs",[[1,"limel-code-editor",{"value":[1],"language":[1],"readonly":[4],"lineNumbers":[4,"line-numbers"],"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],"propsFactory":[16]}]]],["limel-grid.cjs",[[1,"limel-grid"]]],["limel-linear-progress.cjs",[[1,"limel-linear-progress",{"value":[2],"indeterminate":[4]}]]],["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-snackbar.cjs",[[1,"limel-snackbar",{"message":[1],"timeout":[2],"actionText":[1,"action-text"],"dismissible":[4],"multiline":[4],"language":[1],"show":[64]}]]],["limel-switch.cjs",[[1,"limel-switch",{"label":[513],"disabled":[516],"readonly":[516],"value":[516],"fieldId":[32]}]]],["limel-icon-button.cjs",[[1,"limel-icon-button",{"icon":[513],"elevated":[516],"label":[513],"disabled":[516],"relayout":[64]}]]],["limel-badge.cjs",[[1,"limel-badge",{"label":[514]}]]],["limel-tab-bar.cjs",[[1,"limel-tab-bar",{"tabs":[1040],"canScrollLeft":[32],"canScrollRight":[32]},[[9,"resize","handleWindowResize"]]]]],["limel-tooltip.cjs",[[1,"limel-tooltip",{"label":[513],"helperLabel":[513,"helper-label"],"elementId":[513,"element-id"],"open":[32]}]]],["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-popover-surface.cjs",[[1,"limel-popover-surface",{"contentCollection":[16]}]]],["limel-icon.cjs",[[1,"limel-icon",{"size":[513],"name":[513],"badge":[516]}]]],["limel-list_3.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]}],[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-flatpickr-adapter_2.cjs",[[1,"limel-input-field",{"disabled":[516],"readonly":[516],"invalid":[516],"label":[513],"helperText":[513,"helper-text"],"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]}],[1,"limel-flatpickr-adapter",{"value":[16],"type":[1],"format":[1],"isOpen":[4,"is-open"],"inputElement":[16],"language":[1]}]]],["limel-chip-set.cjs",[[1,"limel-chip-set",{"value":[16],"type":[513],"label":[513],"disabled":[516],"readonly":[516],"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-tooltip-content.cjs",[[1,"limel-tooltip-content",{"label":[513],"helperLabel":[513,"helper-label"]}]]],["limel-spinner.cjs",[[1,"limel-spinner",{"size":[513],"limeBranded":[4,"lime-branded"]}]]]], options);
|
|
18
18
|
});
|
|
19
19
|
};
|
|
20
20
|
|
|
@@ -38,7 +38,9 @@
|
|
|
38
38
|
"./components/switch/switch.js",
|
|
39
39
|
"./components/tab-bar/tab-bar.js",
|
|
40
40
|
"./components/tab-panel/tab-panel.js",
|
|
41
|
-
"./components/table/table.js"
|
|
41
|
+
"./components/table/table.js",
|
|
42
|
+
"./components/tooltip/tooltip-content.js",
|
|
43
|
+
"./components/tooltip/tooltip.js"
|
|
42
44
|
],
|
|
43
45
|
"compiler": {
|
|
44
46
|
"name": "@stencil/core",
|
|
@@ -65,14 +65,17 @@ export class ButtonGroup {
|
|
|
65
65
|
return (h("div", { class: classes, role: "grid" }, this.value.map(this.renderButton)));
|
|
66
66
|
}
|
|
67
67
|
renderButton(button) {
|
|
68
|
+
// Prefix with 'b' because html IDs cannot start with a digit,
|
|
69
|
+
// and we need to differentiate from the ID on the limel-icon. /Ads
|
|
70
|
+
const buttonId = `b${button.id}`;
|
|
68
71
|
const classes = {
|
|
69
72
|
'mdc-chip': true,
|
|
70
73
|
'mdc-chip--selected': this.isButtonChecked(button),
|
|
71
74
|
};
|
|
72
75
|
return (h("div", { class: classes, role: "row" },
|
|
73
76
|
h("span", { role: "gridcell" },
|
|
74
|
-
h("input", { type: "radio", name: this.radioGroupName, checked: this.isButtonChecked(button), id:
|
|
75
|
-
h("label", { htmlFor:
|
|
77
|
+
h("input", { type: "radio", name: this.radioGroupName, checked: this.isButtonChecked(button), id: buttonId, onChange: this.onChange }),
|
|
78
|
+
h("label", { htmlFor: buttonId }, this.renderContent(button)))));
|
|
76
79
|
}
|
|
77
80
|
renderContent(button) {
|
|
78
81
|
if (button.icon) {
|
|
@@ -87,14 +90,21 @@ export class ButtonGroup {
|
|
|
87
90
|
return h("span", { class: "mdc-chip__text" }, button.title);
|
|
88
91
|
}
|
|
89
92
|
renderIcon(button) {
|
|
90
|
-
|
|
93
|
+
// Prefix with 'i' because html IDs cannot start with a digit,
|
|
94
|
+
// and we need to differentiate from the "buttonId". /Ads
|
|
95
|
+
const iconId = `i${button.id}`;
|
|
96
|
+
return [
|
|
97
|
+
h("limel-icon", { id: iconId, class: "mdc-chip__icon", "aria-label": button.title, name: button.icon, size: "small", badge: true }),
|
|
98
|
+
h("limel-tooltip", { elementId: iconId, label: button.title }),
|
|
99
|
+
];
|
|
91
100
|
}
|
|
92
101
|
onChange(event) {
|
|
93
102
|
event.stopPropagation();
|
|
94
103
|
const target = event.target;
|
|
95
|
-
|
|
104
|
+
// The ID is prefixed with `b` in the HTML, remember? /Ads
|
|
105
|
+
this.selectedButtonId = target.id.substr(1);
|
|
96
106
|
const button = this.value.find((item) => {
|
|
97
|
-
return
|
|
107
|
+
return item.id === this.selectedButtonId;
|
|
98
108
|
});
|
|
99
109
|
this.change.emit(button);
|
|
100
110
|
}
|
|
@@ -16,6 +16,9 @@ export class ListRenderer {
|
|
|
16
16
|
this.twoLines = items.some((item) => {
|
|
17
17
|
return 'secondaryText' in item && !!item.secondaryText;
|
|
18
18
|
});
|
|
19
|
+
this.commandKey = items.some((item) => {
|
|
20
|
+
return 'commandText' in item && !!item.commandText;
|
|
21
|
+
});
|
|
19
22
|
this.hasIcons = items.some((item) => {
|
|
20
23
|
return 'icon' in item && !!item.icon;
|
|
21
24
|
});
|
|
@@ -40,6 +43,7 @@ export class ListRenderer {
|
|
|
40
43
|
selectable: selectableListTypes.includes(this.config.type),
|
|
41
44
|
'mdc-deprecated-list--avatar-list': this.avatarList,
|
|
42
45
|
'list--compact': this.twoLines &&
|
|
46
|
+
this.commandKey &&
|
|
43
47
|
['small', 'x-small'].includes(this.config.iconSize),
|
|
44
48
|
};
|
|
45
49
|
return (h("ul", { class: classNames, "aria-hidden": (this.config.type === 'menu').toString(), role: role, "aria-orientation": "vertical" }, items.map(this.renderListItem)));
|
|
@@ -50,7 +54,7 @@ export class ListRenderer {
|
|
|
50
54
|
* Returns `undefined` if no item should have the attribute set.
|
|
51
55
|
* See https://github.com/material-components/material-components-web/tree/e66a43a75fef4f9179e24856649518e15e279a04/packages/mdc-list#accessibility
|
|
52
56
|
*
|
|
53
|
-
* @param {Array<ListItem | ListSeparator>} items the items of the list, including any `ListSeparator`:s
|
|
57
|
+
* @param {Array<ListItem | ListSeparator | MenuItems>} items the items of the list, including any `ListSeparator`:s
|
|
54
58
|
* @returns {number} the index as per the description
|
|
55
59
|
*/
|
|
56
60
|
getIndexForWhichToApplyTabIndex(items) {
|
|
@@ -77,7 +81,7 @@ export class ListRenderer {
|
|
|
77
81
|
/**
|
|
78
82
|
* Render a single list item
|
|
79
83
|
*
|
|
80
|
-
* @param {ListItem | ListSeparator} item the item to render
|
|
84
|
+
* @param {ListItem | ListSeparator | MenuItems} item the item to render
|
|
81
85
|
* @param {number} index the index the item had in the `items` array
|
|
82
86
|
* @returns {HTMLElement} the list item
|
|
83
87
|
*/
|
|
@@ -99,24 +103,40 @@ export class ListRenderer {
|
|
|
99
103
|
}
|
|
100
104
|
return (h("li", Object.assign({ class: classNames, role: this.config.type === 'menu' ? 'menuitem' : '', "aria-disabled": item.disabled ? 'true' : 'false', "aria-selected": item.selected ? 'true' : 'false', "data-index": index }, attributes),
|
|
101
105
|
item.icon ? this.renderIcon(this.config, item) : null,
|
|
102
|
-
this.renderText(item
|
|
106
|
+
this.renderText(item),
|
|
103
107
|
this.twoLines && this.avatarList ? this.renderDivider() : null,
|
|
104
108
|
this.renderActionMenu(item.actions)));
|
|
105
109
|
}
|
|
106
110
|
/**
|
|
107
111
|
* Render the text of the list item
|
|
108
112
|
*
|
|
109
|
-
* @param {
|
|
110
|
-
* @param {string} secondaryText secondary text for the list item
|
|
113
|
+
* @param {ListItem | MenuItem} item the list item
|
|
111
114
|
* @returns {HTMLElement | string} the text for the list item
|
|
112
115
|
*/
|
|
113
|
-
renderText(
|
|
114
|
-
if (
|
|
115
|
-
return h("span", { class: "mdc-deprecated-list-item__text" }, text);
|
|
116
|
+
renderText(item) {
|
|
117
|
+
if (this.isSimpleItem(item)) {
|
|
118
|
+
return (h("span", { class: "mdc-deprecated-list-item__text" }, item.text));
|
|
119
|
+
}
|
|
120
|
+
return (h("div", { class: "mdc-deprecated-list-item__text" },
|
|
121
|
+
h("div", { class: "mdc-deprecated-list-item__primary-command-text" },
|
|
122
|
+
h("div", { class: "mdc-deprecated-list-item__primary-text" }, item.text),
|
|
123
|
+
this.renderCommandText(item)),
|
|
124
|
+
h("div", { class: "mdc-deprecated-list-item__secondary-text" }, item.secondaryText)));
|
|
125
|
+
}
|
|
126
|
+
renderCommandText(item) {
|
|
127
|
+
if (!('commandText' in item)) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
return (h("div", { class: "mdc-deprecated-list-item__command-text" }, item.commandText));
|
|
131
|
+
}
|
|
132
|
+
isSimpleItem(item) {
|
|
133
|
+
if ('commandText' in item) {
|
|
134
|
+
return false;
|
|
135
|
+
}
|
|
136
|
+
if ('secondaryText' in item) {
|
|
137
|
+
return false;
|
|
116
138
|
}
|
|
117
|
-
return
|
|
118
|
-
h("span", { class: "mdc-deprecated-list-item__primary-text" }, text),
|
|
119
|
-
h("span", { class: "mdc-deprecated-list-item__secondary-text" }, secondaryText)));
|
|
139
|
+
return true;
|
|
120
140
|
}
|
|
121
141
|
/**
|
|
122
142
|
* Render an icon for a list item
|
|
@@ -177,13 +197,13 @@ export class ListRenderer {
|
|
|
177
197
|
if (this.hasIcons) {
|
|
178
198
|
return [
|
|
179
199
|
item.icon ? this.renderIcon(config, item) : null,
|
|
180
|
-
this.renderText(item
|
|
200
|
+
this.renderText(item),
|
|
181
201
|
h("div", { class: "mdc-deprecated-list-item__meta" }, itemTemplate),
|
|
182
202
|
];
|
|
183
203
|
}
|
|
184
204
|
return [
|
|
185
205
|
h("div", { class: "mdc-deprecated-list-item__graphic" }, itemTemplate),
|
|
186
|
-
this.renderText(item
|
|
206
|
+
this.renderText(item),
|
|
187
207
|
];
|
|
188
208
|
}
|
|
189
209
|
}
|
|
@@ -3136,16 +3136,30 @@ a.mdc-list-item {
|
|
|
3136
3136
|
margin-bottom: 0.25rem;
|
|
3137
3137
|
}
|
|
3138
3138
|
.mdc-deprecated-list .mdc-deprecated-list-item__secondary-text,
|
|
3139
|
-
.mdc-deprecated-list .mdc-deprecated-list-item__primary-text
|
|
3139
|
+
.mdc-deprecated-list .mdc-deprecated-list-item__primary-text,
|
|
3140
|
+
.mdc-deprecated-list .mdc-deprecated-list-item__command-text {
|
|
3140
3141
|
margin: 0;
|
|
3141
3142
|
}
|
|
3142
3143
|
.mdc-deprecated-list .mdc-deprecated-list-item__secondary-text:before, .mdc-deprecated-list .mdc-deprecated-list-item__secondary-text:after,
|
|
3143
3144
|
.mdc-deprecated-list .mdc-deprecated-list-item__primary-text:before,
|
|
3144
|
-
.mdc-deprecated-list .mdc-deprecated-list-item__primary-text:after
|
|
3145
|
+
.mdc-deprecated-list .mdc-deprecated-list-item__primary-text:after,
|
|
3146
|
+
.mdc-deprecated-list .mdc-deprecated-list-item__command-text:before,
|
|
3147
|
+
.mdc-deprecated-list .mdc-deprecated-list-item__command-text:after {
|
|
3145
3148
|
display: none;
|
|
3146
3149
|
}
|
|
3150
|
+
.mdc-deprecated-list .mdc-deprecated-list-item__command-text {
|
|
3151
|
+
color: rgb(var(--contrast-800));
|
|
3152
|
+
margin-left: 0.7rem;
|
|
3153
|
+
}
|
|
3147
3154
|
.mdc-deprecated-list .mdc-deprecated-list-item__text {
|
|
3148
3155
|
align-self: center;
|
|
3156
|
+
width: 100%;
|
|
3157
|
+
}
|
|
3158
|
+
.mdc-deprecated-list .mdc-deprecated-list-item__primary-command-text {
|
|
3159
|
+
display: flex;
|
|
3160
|
+
flex-direction: row;
|
|
3161
|
+
justify-content: space-between;
|
|
3162
|
+
align-items: baseline;
|
|
3149
3163
|
}
|
|
3150
3164
|
.mdc-deprecated-list limel-icon.mdc-deprecated-list-item__graphic {
|
|
3151
3165
|
display: block;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Component, Event, h, Prop, Element, } from '@stencil/core';
|
|
1
|
+
import { Component, Event, h, Prop, Element, Watch, } from '@stencil/core';
|
|
2
2
|
import { createRandomString } from '../../util/random-string';
|
|
3
3
|
import { zipObject } from 'lodash-es';
|
|
4
4
|
/**
|
|
@@ -10,6 +10,7 @@ import { zipObject } from 'lodash-es';
|
|
|
10
10
|
* @exampleComponent limel-example-menu-badge-icons
|
|
11
11
|
* @exampleComponent limel-example-menu-grid
|
|
12
12
|
* @exampleComponent limel-example-menu-composite
|
|
13
|
+
* @exampleComponent limel-example-menu-hotkeys
|
|
13
14
|
*/
|
|
14
15
|
export class Menu {
|
|
15
16
|
constructor() {
|
|
@@ -52,6 +53,22 @@ export class Menu {
|
|
|
52
53
|
* obsolete.
|
|
53
54
|
*/
|
|
54
55
|
this.fixed = false;
|
|
56
|
+
this.setTriggerAttributes = (element) => {
|
|
57
|
+
const attributes = {
|
|
58
|
+
'aria-haspopup': true,
|
|
59
|
+
'aria-expanded': this.open,
|
|
60
|
+
disabled: this.disabled,
|
|
61
|
+
role: 'button',
|
|
62
|
+
};
|
|
63
|
+
for (const [key, value] of Object.entries(attributes)) {
|
|
64
|
+
if (!value) {
|
|
65
|
+
element.removeAttribute(key);
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
element.setAttribute(key, String(value));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
};
|
|
55
72
|
this.onClose = () => {
|
|
56
73
|
this.cancel.emit();
|
|
57
74
|
this.open = false;
|
|
@@ -73,6 +90,18 @@ export class Menu {
|
|
|
73
90
|
this.select.emit(event.detail);
|
|
74
91
|
this.open = false;
|
|
75
92
|
};
|
|
93
|
+
this.setListElement = (element) => {
|
|
94
|
+
this.list = element;
|
|
95
|
+
};
|
|
96
|
+
this.focusMenuItem = () => {
|
|
97
|
+
var _a;
|
|
98
|
+
const activeElement = this.list.shadowRoot.activeElement;
|
|
99
|
+
activeElement === null || activeElement === void 0 ? void 0 : activeElement.blur();
|
|
100
|
+
const listItems = this.items.filter(this.isListItem);
|
|
101
|
+
const selectedIndex = Math.max(listItems.findIndex((item) => item.selected), 0);
|
|
102
|
+
const menuElements = Array.from(this.list.shadowRoot.querySelectorAll('[role="menuitem"]'));
|
|
103
|
+
(_a = menuElements[selectedIndex]) === null || _a === void 0 ? void 0 : _a.focus();
|
|
104
|
+
};
|
|
76
105
|
this.portalId = createRandomString();
|
|
77
106
|
}
|
|
78
107
|
componentDidLoad() {
|
|
@@ -81,6 +110,16 @@ export class Menu {
|
|
|
81
110
|
console.warn('Using limel-menu with the default trigger is deprecated. Please provide your own trigger element.');
|
|
82
111
|
}
|
|
83
112
|
}
|
|
113
|
+
openWatcher() {
|
|
114
|
+
if (!this.open) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const observer = new IntersectionObserver(() => {
|
|
118
|
+
observer.unobserve(this.list);
|
|
119
|
+
this.focusMenuItem();
|
|
120
|
+
});
|
|
121
|
+
observer.observe(this.list);
|
|
122
|
+
}
|
|
84
123
|
render() {
|
|
85
124
|
const cssProperties = this.getCssProperties();
|
|
86
125
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
@@ -94,7 +133,11 @@ export class Menu {
|
|
|
94
133
|
h("limel-menu-surface", { open: this.open, onDismiss: this.onClose, style: cssProperties },
|
|
95
134
|
h("limel-list", { class: {
|
|
96
135
|
'has-grid-layout has-interactive-items': this.gridLayout,
|
|
97
|
-
}, items: this.items, type: "menu", badgeIcons: this.badgeIcons, onChange: this.onListChange })))));
|
|
136
|
+
}, items: this.items, type: "menu", badgeIcons: this.badgeIcons, onChange: this.onListChange, ref: this.setListElement })))));
|
|
137
|
+
}
|
|
138
|
+
componentDidRender() {
|
|
139
|
+
const slotElement = this.host.shadowRoot.querySelector('slot');
|
|
140
|
+
slotElement.assignedElements().forEach(this.setTriggerAttributes);
|
|
98
141
|
}
|
|
99
142
|
renderTrigger() {
|
|
100
143
|
return (h("button", { class: `
|
|
@@ -130,6 +173,9 @@ export class Menu {
|
|
|
130
173
|
});
|
|
131
174
|
return zipObject(propertyNames, values);
|
|
132
175
|
}
|
|
176
|
+
isListItem(item) {
|
|
177
|
+
return !('separator' in item);
|
|
178
|
+
}
|
|
133
179
|
static get is() { return "limel-menu"; }
|
|
134
180
|
static get encapsulation() { return "shadow"; }
|
|
135
181
|
static get originalStyleUrls() { return {
|
|
@@ -164,15 +210,15 @@ export class Menu {
|
|
|
164
210
|
"type": "unknown",
|
|
165
211
|
"mutable": false,
|
|
166
212
|
"complexType": {
|
|
167
|
-
"original": "Array<
|
|
168
|
-
"resolved": "(
|
|
213
|
+
"original": "Array<MenuItem | ListSeparator>",
|
|
214
|
+
"resolved": "(ListSeparator | MenuItem<any>)[]",
|
|
169
215
|
"references": {
|
|
170
216
|
"Array": {
|
|
171
217
|
"location": "global"
|
|
172
218
|
},
|
|
173
|
-
"
|
|
219
|
+
"MenuItem": {
|
|
174
220
|
"location": "import",
|
|
175
|
-
"path": "
|
|
221
|
+
"path": "./menu.types"
|
|
176
222
|
},
|
|
177
223
|
"ListSeparator": {
|
|
178
224
|
"location": "import",
|
|
@@ -342,4 +388,8 @@ export class Menu {
|
|
|
342
388
|
}
|
|
343
389
|
}]; }
|
|
344
390
|
static get elementRef() { return "host"; }
|
|
391
|
+
static get watchers() { return [{
|
|
392
|
+
"propName": "open",
|
|
393
|
+
"methodName": "openWatcher"
|
|
394
|
+
}]; }
|
|
345
395
|
}
|
|
@@ -316,7 +316,7 @@ export class Select {
|
|
|
316
316
|
"optional": false,
|
|
317
317
|
"docs": {
|
|
318
318
|
"tags": [],
|
|
319
|
-
"text": "Currently selected value or values
|
|
319
|
+
"text": "Currently selected value or values.\nIf `multiple` is `true`, this must be an array. Otherwise it must be a\nsingle value."
|
|
320
320
|
}
|
|
321
321
|
},
|
|
322
322
|
"options": {
|
|
@@ -117,11 +117,16 @@ export class TabBar {
|
|
|
117
117
|
handleTabActivated(event) {
|
|
118
118
|
const index = event.detail.index;
|
|
119
119
|
const newTabs = setActiveTab(this.tabs, index);
|
|
120
|
-
difference(newTabs, this.tabs)
|
|
120
|
+
difference(newTabs, this.tabs)
|
|
121
|
+
.sort(this.sortByInactive)
|
|
122
|
+
.forEach((tab) => {
|
|
121
123
|
this.changeTab.emit(tab);
|
|
122
124
|
});
|
|
123
125
|
this.tabs = newTabs;
|
|
124
126
|
}
|
|
127
|
+
sortByInactive(a, b) {
|
|
128
|
+
return Number(a.active) - Number(b.active);
|
|
129
|
+
}
|
|
125
130
|
handleScroll() {
|
|
126
131
|
const scrollLeft = this.scrollArea.scrollLeft;
|
|
127
132
|
const scrollRight = Math.floor(this.scrollContent.getBoundingClientRect().width -
|
|
@@ -4,7 +4,8 @@ import { dispatchResizeEvent } from '../../util/dispatch-resize-event';
|
|
|
4
4
|
* The `limel-tab-panel` component uses the `limel-tab-bar` component together
|
|
5
5
|
* with custom slotted components and will display the content for the currently
|
|
6
6
|
* active tab. Each slotted component must have an id equal to the id of the
|
|
7
|
-
* corresponding tab it belongs to.
|
|
7
|
+
* corresponding tab it belongs to. These components should implement the
|
|
8
|
+
* [TabPanelComponent](#/type/TabPanelComponent/) interface.
|
|
8
9
|
*
|
|
9
10
|
* The `limel-tab-panel` component will automatically set each tab configuration
|
|
10
11
|
* on the corresponding slotted component as a property named `tab` so that the
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.tooltip-content {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: row;
|
|
4
|
+
color: rgb(var(--color-gray-default));
|
|
5
|
+
border-radius: 0.5rem;
|
|
6
|
+
width: auto;
|
|
7
|
+
display: flex;
|
|
8
|
+
padding: 0.75rem;
|
|
9
|
+
transition: opacity 150ms ease-out;
|
|
10
|
+
margin-top: 0.3rem;
|
|
11
|
+
background-color: rgb(var(--color-gray-darker));
|
|
12
|
+
}
|
|
13
|
+
.tooltip-content .tooltip {
|
|
14
|
+
color: rgb(var(--color-gray-lighter));
|
|
15
|
+
}
|
|
16
|
+
.tooltip-content .helperLabel {
|
|
17
|
+
padding: 0 0 0 1rem;
|
|
18
|
+
}
|
|
19
|
+
.tooltip-content .helperLabel:empty {
|
|
20
|
+
display: none;
|
|
21
|
+
}
|