@limetech/lime-elements 39.9.5 → 39.10.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/CHANGELOG.md +7 -0
- package/dist/cjs/device-C9O7lYI9.js +50 -0
- package/dist/cjs/hotkeys-BtR8uxvl.js +219 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-breadcrumbs_7.cjs.entry.js +137 -15
- package/dist/cjs/limel-date-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-helper-line_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-hotkey.cjs.entry.js +128 -0
- package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
- package/dist/cjs/limel-icon.cjs.entry.js +1 -1
- package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
- package/dist/cjs/limel-list-item.cjs.entry.js +2 -2
- package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
- package/dist/cjs/limel-menu-item-meta.cjs.entry.js +12 -1
- package/dist/cjs/limel-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
- package/dist/cjs/limel-portal_3.cjs.entry.js +4 -4
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
- package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-select.cjs.entry.js +2 -2
- package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
- package/dist/cjs/limel-slider.cjs.entry.js +1 -1
- package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
- package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
- package/dist/cjs/limel-switch.cjs.entry.js +1 -1
- package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -2
- package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +3 -3
- package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +3 -3
- package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/hotkey/format-display-token.js +95 -0
- package/dist/collection/components/hotkey/hotkey.css +136 -0
- package/dist/collection/components/hotkey/hotkey.js +92 -0
- package/dist/collection/components/icon/icon.js +1 -1
- package/dist/collection/components/icon-button/icon-button.js +1 -1
- package/dist/collection/components/info-tile/info-tile.js +2 -2
- package/dist/collection/components/input-field/input-field.js +1 -1
- package/dist/collection/components/list/list.js +1 -1
- package/dist/collection/components/list-item/list-item.js +2 -2
- package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +52 -2
- package/dist/collection/components/markdown/markdown.js +1 -1
- package/dist/collection/components/menu/menu.js +130 -10
- package/dist/collection/components/menu-list/menu-list-renderer.js +4 -1
- package/dist/collection/components/menu-list/menu-list.js +1 -1
- package/dist/collection/components/menu-surface/menu-surface.js +1 -1
- package/dist/collection/components/notched-outline/notched-outline.js +1 -1
- package/dist/collection/components/picker/picker.js +1 -1
- package/dist/collection/components/popover/popover.js +1 -1
- package/dist/collection/components/popover-surface/popover-surface.js +1 -1
- package/dist/collection/components/portal/portal.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
- package/dist/collection/components/radio-button-group/radio-button.js +2 -2
- package/dist/collection/components/select/select.js +1 -1
- package/dist/collection/components/shortcut/shortcut.js +1 -1
- package/dist/collection/components/slider/slider.js +1 -1
- package/dist/collection/components/snackbar/snackbar.js +2 -2
- package/dist/collection/components/spinner/spinner.js +1 -1
- package/dist/collection/components/split-button/split-button.js +2 -2
- package/dist/collection/components/switch/switch.js +1 -1
- package/dist/collection/components/tab-bar/tab-bar.js +2 -2
- package/dist/collection/components/tab-panel/tab-panel.js +1 -1
- package/dist/collection/components/table/table.js +3 -3
- package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
- package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
- package/dist/collection/components/text-editor/text-editor.js +1 -1
- package/dist/collection/components/tooltip/tooltip-content.js +1 -1
- package/dist/collection/components/tooltip/tooltip.js +2 -2
- package/dist/esm/device-B-tmXAXV.js +45 -0
- package/dist/esm/hotkeys-BxrRWYts.js +215 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-breadcrumbs_7.entry.js +137 -15
- package/dist/esm/limel-date-picker.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
- package/dist/esm/limel-helper-line_2.entry.js +1 -1
- package/dist/esm/limel-hotkey.entry.js +126 -0
- package/dist/esm/limel-icon-button.entry.js +1 -1
- package/dist/esm/limel-icon.entry.js +1 -1
- package/dist/esm/limel-info-tile.entry.js +2 -2
- package/dist/esm/limel-list-item.entry.js +2 -2
- package/dist/esm/limel-markdown.entry.js +1 -1
- package/dist/esm/limel-menu-item-meta.entry.js +12 -1
- package/dist/esm/limel-picker.entry.js +1 -1
- package/dist/esm/limel-popover_2.entry.js +2 -2
- package/dist/esm/limel-portal_3.entry.js +4 -4
- package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
- package/dist/esm/limel-radio-button-group.entry.js +1 -1
- package/dist/esm/limel-radio-button.entry.js +2 -2
- package/dist/esm/limel-select.entry.js +2 -2
- package/dist/esm/limel-shortcut.entry.js +1 -1
- package/dist/esm/limel-slider.entry.js +1 -1
- package/dist/esm/limel-snackbar.entry.js +2 -2
- package/dist/esm/limel-split-button.entry.js +2 -2
- package/dist/esm/limel-switch.entry.js +1 -1
- package/dist/esm/limel-tab-bar.entry.js +2 -2
- package/dist/esm/limel-tab-panel.entry.js +1 -1
- package/dist/esm/limel-table.entry.js +3 -3
- package/dist/esm/limel-text-editor-link-menu.entry.js +3 -3
- package/dist/esm/limel-text-editor.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-a30bf079.entry.js → p-12646794.entry.js} +1 -1
- package/dist/lime-elements/{p-c5b6ac7a.entry.js → p-1635ece7.entry.js} +1 -1
- package/dist/lime-elements/{p-86eebe44.entry.js → p-17e1d911.entry.js} +1 -1
- package/dist/lime-elements/{p-8c418a0b.entry.js → p-23c1033d.entry.js} +1 -1
- package/dist/lime-elements/{p-e2f1b070.entry.js → p-2750b828.entry.js} +1 -1
- package/dist/lime-elements/{p-1d4285b1.entry.js → p-3e68cbda.entry.js} +2 -2
- package/dist/lime-elements/{p-de1e5ad9.entry.js → p-438652d6.entry.js} +1 -1
- package/dist/lime-elements/{p-ef75eed9.entry.js → p-59716b48.entry.js} +1 -1
- package/dist/lime-elements/{p-b11751c9.entry.js → p-60260fa3.entry.js} +1 -1
- package/dist/lime-elements/{p-a2295fa6.entry.js → p-689770db.entry.js} +1 -1
- package/dist/lime-elements/{p-abdede40.entry.js → p-733ebba6.entry.js} +1 -1
- package/dist/lime-elements/{p-288aa326.entry.js → p-77f42eff.entry.js} +1 -1
- package/dist/lime-elements/{p-d5da5b05.entry.js → p-7bd71b2b.entry.js} +1 -1
- package/dist/lime-elements/{p-9d51583a.entry.js → p-8805080c.entry.js} +1 -1
- package/dist/lime-elements/{p-c6b9425b.entry.js → p-889a05e4.entry.js} +1 -1
- package/dist/lime-elements/{p-e14b7393.entry.js → p-8b106865.entry.js} +1 -1
- package/dist/lime-elements/{p-6e0078f1.entry.js → p-8e3cc9b0.entry.js} +1 -1
- package/dist/lime-elements/{p-62d6a350.entry.js → p-9015c90c.entry.js} +2 -2
- package/dist/lime-elements/{p-9859b556.entry.js → p-9abfb8ba.entry.js} +1 -1
- package/dist/lime-elements/{p-72a4841a.entry.js → p-9d629f5f.entry.js} +10 -10
- package/dist/lime-elements/p-B-tmXAXV.js +1 -0
- package/dist/lime-elements/p-BxrRWYts.js +1 -0
- package/dist/lime-elements/p-a026cc24.entry.js +1 -0
- package/dist/lime-elements/{p-95ed243e.entry.js → p-a243b8e2.entry.js} +1 -1
- package/dist/lime-elements/p-b64ae828.entry.js +1 -0
- package/dist/lime-elements/p-c20a620d.entry.js +1 -0
- package/dist/lime-elements/{p-1590b341.entry.js → p-c84911e6.entry.js} +1 -1
- package/dist/lime-elements/{p-6614bbfc.entry.js → p-c9591213.entry.js} +1 -1
- package/dist/lime-elements/{p-0e1c15c8.entry.js → p-e0716b51.entry.js} +1 -1
- package/dist/lime-elements/{p-bbaaf7c1.entry.js → p-e89dcf27.entry.js} +1 -1
- package/dist/types/components/hotkey/format-display-token.d.ts +15 -0
- package/dist/types/components/hotkey/hotkey.d.ts +27 -0
- package/dist/types/components/list-item/menu-item-meta/menu-item-meta.d.ts +8 -0
- package/dist/types/components/menu/menu.d.ts +13 -2
- package/dist/types/components/menu/menu.types.d.ts +14 -0
- package/dist/types/components.d.ts +107 -4
- package/package.json +1 -1
- package/dist/cjs/device-CDZCRYph.js +0 -30
- package/dist/esm/device-CY72JnWG.js +0 -26
- package/dist/lime-elements/p-5178cc39.entry.js +0 -1
- package/dist/lime-elements/p-7afe6c3e.entry.js +0 -1
- package/dist/lime-elements/p-CY72JnWG.js +0 -1
|
@@ -9,6 +9,7 @@ import { d as debounce } from './debounce-B67JMchz.js';
|
|
|
9
9
|
import { M as MDCTextField } from './component-wGVqvUmL.js';
|
|
10
10
|
import { _ as __extends, a as __assign, M as MDCFoundation, m as matches, d as closest, c as MDCComponent, b as __values } from './ponyfill-ChRGk668.js';
|
|
11
11
|
import { f as focusTriggerElement, z as zipObject } from './focus-trigger-element-6aEStEKM.js';
|
|
12
|
+
import { h as hotkeyFromKeyboardEvent, t as tokenizeHotkeyString, n as normalizeHotkeyString } from './hotkeys-BxrRWYts.js';
|
|
12
13
|
import { i as isFunction } from './eq-D7VMHFyO.js';
|
|
13
14
|
import { g as getCorrectPropertyName } from './util-Dx8swykg.js';
|
|
14
15
|
import { M as MDCRipple } from './component-7QB0OUSF.js';
|
|
@@ -670,7 +671,7 @@ const InputField = class {
|
|
|
670
671
|
if (ariaControls) {
|
|
671
672
|
properties['aria-controls'] = ariaControls;
|
|
672
673
|
}
|
|
673
|
-
return (h(Host, { key: '
|
|
674
|
+
return (h(Host, { key: 'be352ea1f105d4c3f77b567de32626488ea4a60b' }, h("limel-notched-outline", { key: '0bae1383ad7421ffdc3468bbfc79af59d7c2e3cb', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid || this.isInvalid(), disabled: this.disabled, readonly: this.readonly, hasValue: !!this.value, hasLeadingIcon: !!this.leadingIcon }, h("label", { key: '3667d9fbf90227232d8089a421455c7ab72e4202', slot: "content", class: this.getContainerClassList() }, this.renderLeadingIcon(), this.renderPrefix(), this.renderFormattedNumber(), this.renderInput(properties), this.renderSuffix(), this.renderTextarea(properties), this.renderTrailingLinkOrButton())), this.renderHelperLine(), this.renderAutocompleteList()));
|
|
674
675
|
}
|
|
675
676
|
valueWatcher(newValue) {
|
|
676
677
|
if (!this.mdcTextField) {
|
|
@@ -2525,7 +2526,7 @@ const List = class {
|
|
|
2525
2526
|
maxLinesSecondaryText = 1;
|
|
2526
2527
|
}
|
|
2527
2528
|
const html = this.listRenderer.render(this.items, this.config);
|
|
2528
|
-
return (h(Host, { key: '
|
|
2529
|
+
return (h(Host, { key: 'cbe0fda77189118ad3515dc3c4ab02c6cd9bc58a', style: {
|
|
2529
2530
|
'--maxLinesSecondaryText': `${maxLinesSecondaryText}`,
|
|
2530
2531
|
} }, html));
|
|
2531
2532
|
}
|
|
@@ -2634,6 +2635,34 @@ const Menu = class {
|
|
|
2634
2635
|
*/
|
|
2635
2636
|
this.rootItem = DEFAULT_ROOT_BREADCRUMBS_ITEM;
|
|
2636
2637
|
this.shouldRestoreFocusOnClose = false;
|
|
2638
|
+
this.normalizedHotkeyCache = new Map();
|
|
2639
|
+
this.cachedSubMenuSource = null;
|
|
2640
|
+
this.cachedSubMenuItems = null;
|
|
2641
|
+
this.handleDocumentKeyDown = (event) => {
|
|
2642
|
+
if (event.key === ESCAPE && this.open) {
|
|
2643
|
+
this.shouldRestoreFocusOnClose = true;
|
|
2644
|
+
}
|
|
2645
|
+
if (!this.open || event.defaultPrevented || event.repeat) {
|
|
2646
|
+
return;
|
|
2647
|
+
}
|
|
2648
|
+
if (this.isFromTextInput(event) && !this.hasModifier(event)) {
|
|
2649
|
+
return;
|
|
2650
|
+
}
|
|
2651
|
+
const pressedHotkey = hotkeyFromKeyboardEvent(event);
|
|
2652
|
+
if (!pressedHotkey) {
|
|
2653
|
+
return;
|
|
2654
|
+
}
|
|
2655
|
+
if (this.isReservedMenuHotkey(pressedHotkey)) {
|
|
2656
|
+
return;
|
|
2657
|
+
}
|
|
2658
|
+
const matchedItem = this.findMenuItemByHotkey(pressedHotkey);
|
|
2659
|
+
if (!matchedItem) {
|
|
2660
|
+
return;
|
|
2661
|
+
}
|
|
2662
|
+
event.stopPropagation();
|
|
2663
|
+
event.preventDefault();
|
|
2664
|
+
this.handleSelect(matchedItem);
|
|
2665
|
+
};
|
|
2637
2666
|
this.renderLoader = () => {
|
|
2638
2667
|
if (!this.loadingSubItems && !this.loading) {
|
|
2639
2668
|
return;
|
|
@@ -2723,6 +2752,9 @@ const Menu = class {
|
|
|
2723
2752
|
// Will change focus to breadcrumbs (if present) or the first/last item
|
|
2724
2753
|
// in the dropdown list to enable selection with the keyboard
|
|
2725
2754
|
this.handleInputKeyDown = (event) => {
|
|
2755
|
+
if (event.defaultPrevented) {
|
|
2756
|
+
return;
|
|
2757
|
+
}
|
|
2726
2758
|
const isForwardTab = event.key === TAB &&
|
|
2727
2759
|
!event.altKey &&
|
|
2728
2760
|
!event.metaKey &&
|
|
@@ -2888,11 +2920,6 @@ const Menu = class {
|
|
|
2888
2920
|
}
|
|
2889
2921
|
}
|
|
2890
2922
|
};
|
|
2891
|
-
this.handleEscapeCapture = (event) => {
|
|
2892
|
-
if (event.key === ESCAPE && this.open) {
|
|
2893
|
-
this.shouldRestoreFocusOnClose = true;
|
|
2894
|
-
}
|
|
2895
|
-
};
|
|
2896
2923
|
this.onClose = () => {
|
|
2897
2924
|
const restoreFocus = this.shouldRestoreFocusOnClose;
|
|
2898
2925
|
this.shouldRestoreFocusOnClose = false;
|
|
@@ -3087,25 +3114,113 @@ const Menu = class {
|
|
|
3087
3114
|
const cssProperties = this.getCssProperties();
|
|
3088
3115
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
3089
3116
|
const menuSurfaceWidth = this.getMenuSurfaceWidth(cssProperties['--menu-surface-width']);
|
|
3090
|
-
return (h("div", { key: '
|
|
3117
|
+
return (h("div", { key: '720330cf7d07c491a5a9e58a2567896f5526c45a', class: "mdc-menu-surface--anchor", onClick: this.onTriggerClick }, h("slot", { key: 'd3db72fa9e12bafbb039e6a94a1052edf64e060e', ref: this.setTriggerRef, name: "trigger" }), this.renderNotificationBadge(), h("limel-portal", { key: '591f97a745488fbff7eb8fc06b14d2f6e0d21fa6', visible: this.open, containerId: this.portalId, openDirection: this.openDirection, position: "absolute", containerStyle: { 'z-index': dropdownZIndex } }, h("limel-menu-surface", { key: '829a9578894165b28100c4cab519ced0cb7689a0', open: this.open, onDismiss: this.onClose, style: Object.assign(Object.assign({}, cssProperties), { '--menu-surface-width': menuSurfaceWidth, '--limel-menu-surface-display': 'flex', '--limel-menu-surface-flex-direction': 'column' }), class: {
|
|
3091
3118
|
'has-grid-layout': this.gridLayout,
|
|
3092
3119
|
} }, this.renderSearchField(), this.renderBreadcrumb(), this.renderLoader(), this.renderEmptyMessage(), this.renderMenuList()))));
|
|
3093
3120
|
}
|
|
3094
3121
|
itemsWatcher() {
|
|
3095
3122
|
this.clearSearch();
|
|
3123
|
+
this.normalizedHotkeyCache.clear();
|
|
3096
3124
|
this.setFocus();
|
|
3097
3125
|
}
|
|
3126
|
+
connectedCallback() {
|
|
3127
|
+
if (this.open) {
|
|
3128
|
+
document.addEventListener('keydown', this.handleDocumentKeyDown, true);
|
|
3129
|
+
}
|
|
3130
|
+
}
|
|
3131
|
+
disconnectedCallback() {
|
|
3132
|
+
document.removeEventListener('keydown', this.handleDocumentKeyDown, true);
|
|
3133
|
+
}
|
|
3098
3134
|
openWatcher(newValue) {
|
|
3099
3135
|
const opened = newValue;
|
|
3100
3136
|
if (opened) {
|
|
3101
|
-
document.addEventListener('keydown', this.
|
|
3137
|
+
document.addEventListener('keydown', this.handleDocumentKeyDown, true);
|
|
3102
3138
|
this.setFocus();
|
|
3103
3139
|
}
|
|
3104
3140
|
else {
|
|
3105
|
-
document.removeEventListener('keydown', this.
|
|
3141
|
+
document.removeEventListener('keydown', this.handleDocumentKeyDown, true);
|
|
3106
3142
|
this.clearSearch();
|
|
3107
3143
|
}
|
|
3108
3144
|
}
|
|
3145
|
+
isFromTextInput(event) {
|
|
3146
|
+
const path = typeof event.composedPath === 'function'
|
|
3147
|
+
? event.composedPath()
|
|
3148
|
+
: [];
|
|
3149
|
+
for (const node of path) {
|
|
3150
|
+
if (!(node instanceof HTMLElement)) {
|
|
3151
|
+
continue;
|
|
3152
|
+
}
|
|
3153
|
+
if (node.isContentEditable) {
|
|
3154
|
+
return true;
|
|
3155
|
+
}
|
|
3156
|
+
const tagName = node.tagName;
|
|
3157
|
+
if (tagName === 'INPUT' ||
|
|
3158
|
+
tagName === 'TEXTAREA' ||
|
|
3159
|
+
tagName === 'SELECT') {
|
|
3160
|
+
return true;
|
|
3161
|
+
}
|
|
3162
|
+
}
|
|
3163
|
+
return false;
|
|
3164
|
+
}
|
|
3165
|
+
// Only Ctrl and Meta count as "real" modifiers for the text-input bypass.
|
|
3166
|
+
// Alt/Option is intentionally excluded because it is used for typing
|
|
3167
|
+
// special characters on international keyboards and macOS (e.g. Option+e
|
|
3168
|
+
// for é, AltGr+e for € on Windows). This means alt-only hotkeys like
|
|
3169
|
+
// "alt+x" will NOT fire while a text input (e.g. the search field) is
|
|
3170
|
+
// focused — only Ctrl/Meta combos will. AltGraph is also explicitly
|
|
3171
|
+
// rejected because Windows synthesizes ctrlKey=true for AltGr keypresses.
|
|
3172
|
+
hasModifier(event) {
|
|
3173
|
+
var _a;
|
|
3174
|
+
if ((_a = event.getModifierState) === null || _a === void 0 ? void 0 : _a.call(event, 'AltGraph')) {
|
|
3175
|
+
return false;
|
|
3176
|
+
}
|
|
3177
|
+
return event.ctrlKey || event.metaKey;
|
|
3178
|
+
}
|
|
3179
|
+
isReservedMenuHotkey(hotkey) {
|
|
3180
|
+
const tokens = tokenizeHotkeyString(hotkey);
|
|
3181
|
+
const key = tokens.at(-1);
|
|
3182
|
+
if (!key) {
|
|
3183
|
+
return false;
|
|
3184
|
+
}
|
|
3185
|
+
const hasModifiers = tokens.length > 1;
|
|
3186
|
+
if (hasModifiers) {
|
|
3187
|
+
return false;
|
|
3188
|
+
}
|
|
3189
|
+
return (key === 'arrowup' ||
|
|
3190
|
+
key === 'arrowdown' ||
|
|
3191
|
+
key === 'arrowleft' ||
|
|
3192
|
+
key === 'arrowright' ||
|
|
3193
|
+
key === 'tab' ||
|
|
3194
|
+
key === 'enter' ||
|
|
3195
|
+
key === 'space' ||
|
|
3196
|
+
key === 'escape');
|
|
3197
|
+
}
|
|
3198
|
+
findMenuItemByHotkey(pressedHotkey) {
|
|
3199
|
+
for (const item of this.visibleItems) {
|
|
3200
|
+
if (!this.isMenuItem(item) || item.disabled) {
|
|
3201
|
+
continue;
|
|
3202
|
+
}
|
|
3203
|
+
const rawHotkey = item.hotkey;
|
|
3204
|
+
if (!rawHotkey) {
|
|
3205
|
+
continue;
|
|
3206
|
+
}
|
|
3207
|
+
const normalized = this.getNormalizedHotkey(rawHotkey);
|
|
3208
|
+
if (normalized && normalized === pressedHotkey) {
|
|
3209
|
+
return item;
|
|
3210
|
+
}
|
|
3211
|
+
}
|
|
3212
|
+
return null;
|
|
3213
|
+
}
|
|
3214
|
+
getNormalizedHotkey(raw) {
|
|
3215
|
+
var _a;
|
|
3216
|
+
const cacheKey = raw.trim();
|
|
3217
|
+
if (this.normalizedHotkeyCache.has(cacheKey)) {
|
|
3218
|
+
return (_a = this.normalizedHotkeyCache.get(cacheKey)) !== null && _a !== void 0 ? _a : null;
|
|
3219
|
+
}
|
|
3220
|
+
const normalized = normalizeHotkeyString(cacheKey);
|
|
3221
|
+
this.normalizedHotkeyCache.set(cacheKey, normalized);
|
|
3222
|
+
return normalized;
|
|
3223
|
+
}
|
|
3109
3224
|
getBreadcrumbsItems() {
|
|
3110
3225
|
const breadCrumbItems = [];
|
|
3111
3226
|
let currentItem = this.currentSubMenu;
|
|
@@ -3168,7 +3283,11 @@ const Menu = class {
|
|
|
3168
3283
|
return this.searchResults;
|
|
3169
3284
|
}
|
|
3170
3285
|
else if (Array.isArray((_a = this.currentSubMenu) === null || _a === void 0 ? void 0 : _a.items)) {
|
|
3171
|
-
|
|
3286
|
+
if (this.cachedSubMenuSource !== this.currentSubMenu) {
|
|
3287
|
+
this.cachedSubMenuSource = this.currentSubMenu;
|
|
3288
|
+
this.cachedSubMenuItems = this.currentSubMenu.items.map((item) => (Object.assign(Object.assign({}, item), { parentItem: this.currentSubMenu })));
|
|
3289
|
+
}
|
|
3290
|
+
return this.cachedSubMenuItems;
|
|
3172
3291
|
}
|
|
3173
3292
|
return this.items;
|
|
3174
3293
|
}
|
|
@@ -4672,12 +4791,15 @@ class MenuListRenderer {
|
|
|
4672
4791
|
const hasSubMenu = this.hasSubItems(item);
|
|
4673
4792
|
const hasMeta = hasSubMenu ||
|
|
4674
4793
|
item.badge !== undefined ||
|
|
4675
|
-
|
|
4794
|
+
!!item.hotkey ||
|
|
4795
|
+
!!item.commandText;
|
|
4676
4796
|
const primaryComponent = hasMeta
|
|
4677
4797
|
? {
|
|
4678
4798
|
name: 'limel-menu-item-meta',
|
|
4679
4799
|
props: {
|
|
4680
4800
|
commandText: item.commandText,
|
|
4801
|
+
hotkey: item.hotkey,
|
|
4802
|
+
disabled: !!item.disabled,
|
|
4681
4803
|
badge: item.badge,
|
|
4682
4804
|
showChevron: hasSubMenu,
|
|
4683
4805
|
},
|
|
@@ -4796,7 +4918,7 @@ const MenuList = class {
|
|
|
4796
4918
|
iconSize: this.iconSize,
|
|
4797
4919
|
};
|
|
4798
4920
|
const html = this.MenuListRenderer.render(this.items, this.config);
|
|
4799
|
-
return h("div", { key: '
|
|
4921
|
+
return h("div", { key: '1c044c711555d155c5559f8b787a3bbad09b7526', class: "mdc-menu mdc-menu-surface" }, html);
|
|
4800
4922
|
}
|
|
4801
4923
|
itemsChanged() {
|
|
4802
4924
|
setTimeout(() => {
|
|
@@ -4922,7 +5044,7 @@ const MenuSurface = class {
|
|
|
4922
5044
|
'mdc-elevation-transition': true,
|
|
4923
5045
|
'mdc-elevation--z4': true,
|
|
4924
5046
|
};
|
|
4925
|
-
return (h("div", { key: '
|
|
5047
|
+
return (h("div", { key: '254247a3cd25908f96e55028df567663dd4d736a', class: classList, tabindex: "-1" }, h("slot", { key: 'eb7d1042a28585242d212cf40a34018240cb0502' })));
|
|
4926
5048
|
}
|
|
4927
5049
|
get host() { return getElement(this); }
|
|
4928
5050
|
};
|
|
@@ -4943,7 +5065,7 @@ const Spinner = class {
|
|
|
4943
5065
|
this.limeBranded = false;
|
|
4944
5066
|
}
|
|
4945
5067
|
render() {
|
|
4946
|
-
return (h(Host, { key: '
|
|
5068
|
+
return (h(Host, { key: '5d7275ec64f2e3b07c7e25065d8d115de772324e' }, h("svg", { key: '41e5110dc29d6112261bea4afbd8cffde213cde0', viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg" }, this.renderSpinner())));
|
|
4947
5069
|
}
|
|
4948
5070
|
renderSpinner() {
|
|
4949
5071
|
if (!this.limeBranded) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, c as createEvent, h, a as getElement } from './index-DBTJNfo7.js';
|
|
2
2
|
import { c as createRandomString } from './random-string-JbKhhoXs.js';
|
|
3
|
-
import { i as isIOSDevice, a as isAndroidDevice } from './device-
|
|
3
|
+
import { i as isIOSDevice, a as isAndroidDevice } from './device-B-tmXAXV.js';
|
|
4
4
|
import './sv-84mf7Xsv.js';
|
|
5
5
|
import { m as moment } from './moment-DhvPC9Jt.js';
|
|
6
6
|
import { M as MDCTextField } from './component-wGVqvUmL.js';
|
|
@@ -3,7 +3,7 @@ import { t as translate } from './translations-DVRaJQvC.js';
|
|
|
3
3
|
import { g as getDefaultExportFromCjs } from './_commonjsHelpers-BFTU3MAI.js';
|
|
4
4
|
import './sv-84mf7Xsv.js';
|
|
5
5
|
import { m as moment } from './moment-DhvPC9Jt.js';
|
|
6
|
-
import { i as isIOSDevice, a as isAndroidDevice } from './device-
|
|
6
|
+
import { i as isIOSDevice, a as isAndroidDevice } from './device-B-tmXAXV.js';
|
|
7
7
|
import { e as eq } from './eq-D7VMHFyO.js';
|
|
8
8
|
import { b as isArrayLike$1, a as isIndex } from './isArrayLike-bWHU4ebg.js';
|
|
9
9
|
import { i as isObject$1 } from './isObject-BJQylLSL.js';
|
|
@@ -84,7 +84,7 @@ const NotchedOutline = class {
|
|
|
84
84
|
this.hasFloatingLabel = false;
|
|
85
85
|
}
|
|
86
86
|
render() {
|
|
87
|
-
return (h("div", { key: '
|
|
87
|
+
return (h("div", { key: '5dd66f7356821043d750963f18ef8f39889e65cc', class: "limel-notched-outline" }, h("slot", { key: '1b2072f7acd112137188b570229470677458ace7', name: "content" }), h("span", { key: '3d1d04a75ff0459b53294a2b2bbb4f15192409cd', class: "limel-notched-outline--outlines", "aria-hidden": "true" }, h("span", { key: '9677d3b3bc1f37e954c3ab2907e98db8b9122466', class: "limel-notched-outline--leading-outline" }), this.renderLabel(), h("span", { key: '62a494be847b2181cdd00f20e50cffbbc121bfd2', class: "limel-notched-outline--trailing-outline" }), this.renderEmptyReadonlyValue())));
|
|
88
88
|
}
|
|
89
89
|
renderLabel() {
|
|
90
90
|
if (!this.label) {
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { r as registerInstance, h, H as Host } from './index-DBTJNfo7.js';
|
|
2
|
+
import { t as tokenizeHotkeyString } from './hotkeys-BxrRWYts.js';
|
|
3
|
+
import { c as isAppleDevice } from './device-B-tmXAXV.js';
|
|
4
|
+
|
|
5
|
+
// Note: this function handles the same key aliases as `KEY_ALIASES` in
|
|
6
|
+
// `../../util/hotkeys.ts`, but maps them to display strings rather than
|
|
7
|
+
// canonical names. Keep both in sync when adding new aliases.
|
|
8
|
+
/**
|
|
9
|
+
* Maps a single hotkey token to its display representation.
|
|
10
|
+
*
|
|
11
|
+
* @param token - A single token from `tokenizeHotkeyString` (e.g. `"meta"`, `"k"`, `"+"`).
|
|
12
|
+
* @param isApple - Whether the current device is an Apple device.
|
|
13
|
+
* @returns The display string, whether it is a glyph (for styling),
|
|
14
|
+
* and a human-readable name for screen readers.
|
|
15
|
+
*/
|
|
16
|
+
function formatDisplayToken(token, isApple) {
|
|
17
|
+
const trimmed = (token !== null && token !== void 0 ? token : '').trim();
|
|
18
|
+
if (!trimmed) {
|
|
19
|
+
return { display: '', isGlyph: false, ariaName: '' };
|
|
20
|
+
}
|
|
21
|
+
if (trimmed === '+') {
|
|
22
|
+
return { display: '+', isGlyph: false, ariaName: 'plus' };
|
|
23
|
+
}
|
|
24
|
+
const lower = trimmed.toLowerCase();
|
|
25
|
+
switch (lower) {
|
|
26
|
+
case 'meta':
|
|
27
|
+
case 'win':
|
|
28
|
+
case 'windows': {
|
|
29
|
+
return isApple
|
|
30
|
+
? { display: '⌘', isGlyph: true, ariaName: 'Command' }
|
|
31
|
+
: { display: '⊞ Win', isGlyph: false, ariaName: 'Windows' };
|
|
32
|
+
}
|
|
33
|
+
case 'cmd':
|
|
34
|
+
case 'command': {
|
|
35
|
+
return { display: '⌘', isGlyph: true, ariaName: 'Command' };
|
|
36
|
+
}
|
|
37
|
+
case 'alt':
|
|
38
|
+
case 'option': {
|
|
39
|
+
return isApple
|
|
40
|
+
? { display: '⌥', isGlyph: true, ariaName: 'Option' }
|
|
41
|
+
: { display: 'Alt', isGlyph: false, ariaName: 'Alt' };
|
|
42
|
+
}
|
|
43
|
+
case 'shift': {
|
|
44
|
+
return { display: '⇧', isGlyph: true, ariaName: 'Shift' };
|
|
45
|
+
}
|
|
46
|
+
case 'enter':
|
|
47
|
+
case 'return': {
|
|
48
|
+
return { display: '↩', isGlyph: true, ariaName: 'Enter' };
|
|
49
|
+
}
|
|
50
|
+
case 'tab': {
|
|
51
|
+
return { display: '⇥', isGlyph: true, ariaName: 'Tab' };
|
|
52
|
+
}
|
|
53
|
+
case 'delete':
|
|
54
|
+
case 'del':
|
|
55
|
+
case 'backspace': {
|
|
56
|
+
if (isApple) {
|
|
57
|
+
return { display: '⌫', isGlyph: true, ariaName: 'Delete' };
|
|
58
|
+
}
|
|
59
|
+
return lower === 'backspace'
|
|
60
|
+
? {
|
|
61
|
+
display: 'Backspace',
|
|
62
|
+
isGlyph: false,
|
|
63
|
+
ariaName: 'Backspace',
|
|
64
|
+
}
|
|
65
|
+
: { display: 'Del', isGlyph: false, ariaName: 'Delete' };
|
|
66
|
+
}
|
|
67
|
+
case 'ctrl':
|
|
68
|
+
case 'control': {
|
|
69
|
+
return isApple
|
|
70
|
+
? { display: '⌃', isGlyph: true, ariaName: 'Control' }
|
|
71
|
+
: { display: 'Ctrl', isGlyph: false, ariaName: 'Control' };
|
|
72
|
+
}
|
|
73
|
+
case 'escape':
|
|
74
|
+
case 'esc': {
|
|
75
|
+
return { display: 'Esc', isGlyph: false, ariaName: 'Escape' };
|
|
76
|
+
}
|
|
77
|
+
case 'space':
|
|
78
|
+
case 'spacebar': {
|
|
79
|
+
return { display: '␣', isGlyph: true, ariaName: 'Space' };
|
|
80
|
+
}
|
|
81
|
+
case 'arrowup':
|
|
82
|
+
case 'up': {
|
|
83
|
+
return { display: '↑', isGlyph: true, ariaName: 'Up' };
|
|
84
|
+
}
|
|
85
|
+
case 'arrowdown':
|
|
86
|
+
case 'down': {
|
|
87
|
+
return { display: '↓', isGlyph: true, ariaName: 'Down' };
|
|
88
|
+
}
|
|
89
|
+
case 'arrowleft':
|
|
90
|
+
case 'left': {
|
|
91
|
+
return { display: '←', isGlyph: true, ariaName: 'Left' };
|
|
92
|
+
}
|
|
93
|
+
case 'arrowright':
|
|
94
|
+
case 'right': {
|
|
95
|
+
return { display: '→', isGlyph: true, ariaName: 'Right' };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return { display: trimmed, isGlyph: false, ariaName: trimmed };
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
const hotkeyCss = () => `@charset "UTF-8";kbd{font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;font-weight:600;color:rgb(var(--contrast-1100));background-color:rgb(var(--contrast-200));white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:normal;padding:0.125rem 0.5rem;margin:0 0.25rem;box-shadow:var(--button-shadow-normal), 0 0.03125rem 0.21875rem 0 rgba(var(--contrast-100), 0.5) inset;border-radius:0.125rem;border-style:solid;border-color:rgba(var(--contrast-600), 0.8);border-width:0 1px 0.125rem 1px}:host(limel-hotkey){display:flex;align-items:center;justify-content:center;gap:0.25rem}:host(limel-hotkey[disabled]:not([disabled=false])){opacity:0.5}kbd{margin:0;font-size:0.75rem;box-shadow:var(--button-shadow-pressed), 0 0.625rem 0.375px -0.5rem rgb(var(--color-black), 0.02), 0 0.025rem 0.5rem 0 rgb(var(--contrast-100)) inset}span{display:inline-block}span::first-letter{text-transform:uppercase}kbd.is-glyph span{transform:scale(1.2)}`;
|
|
102
|
+
|
|
103
|
+
const Hotkey = class {
|
|
104
|
+
constructor(hostRef) {
|
|
105
|
+
registerInstance(this, hostRef);
|
|
106
|
+
/**
|
|
107
|
+
* When `true`, the hotkey is rendered in a visually disabled state.
|
|
108
|
+
*/
|
|
109
|
+
this.disabled = false;
|
|
110
|
+
}
|
|
111
|
+
componentWillLoad() {
|
|
112
|
+
this.isApple = isAppleDevice();
|
|
113
|
+
}
|
|
114
|
+
render() {
|
|
115
|
+
const parts = tokenizeHotkeyString(this.value);
|
|
116
|
+
const displayParts = parts.map((part) => formatDisplayToken(part, this.isApple));
|
|
117
|
+
const ariaLabel = displayParts
|
|
118
|
+
.map((p) => p.ariaName)
|
|
119
|
+
.filter(Boolean)
|
|
120
|
+
.join(' ');
|
|
121
|
+
return (h(Host, { key: 'ab1b9d31080740d19a4633c8c5bc92b02625c111', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index) => (h("kbd", { key: `${parts[index]}-${index}`, class: isGlyph ? 'is-glyph' : undefined }, h("span", null, display))))));
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
Hotkey.style = hotkeyCss();
|
|
125
|
+
|
|
126
|
+
export { Hotkey as limel_hotkey };
|
|
@@ -47,7 +47,7 @@ const IconButton = class {
|
|
|
47
47
|
if (this.host.hasAttribute('tabindex')) {
|
|
48
48
|
buttonAttributes.tabindex = this.host.getAttribute('tabindex');
|
|
49
49
|
}
|
|
50
|
-
return (h(Host, { key: '
|
|
50
|
+
return (h(Host, { key: '0df3febef19dcdb72c7c7f3740090414b313be51', onClick: this.filterClickWhenDisabled }, h("button", Object.assign({ key: 'fd0d61e30789619c52cd6a71269602efc7065f8e', disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
|
|
51
51
|
}
|
|
52
52
|
renderIcon() {
|
|
53
53
|
var _a, _b;
|
|
@@ -159,7 +159,7 @@ const Icon = class {
|
|
|
159
159
|
this.loadIcon(this.name);
|
|
160
160
|
}
|
|
161
161
|
render() {
|
|
162
|
-
return h("div", { key: '
|
|
162
|
+
return h("div", { key: '23b5f2c90c98461f65c0bcdb291f9958e00ac353', class: "container" });
|
|
163
163
|
}
|
|
164
164
|
async loadIcon(name) {
|
|
165
165
|
if (name === undefined || name === '') {
|
|
@@ -104,9 +104,9 @@ const InfoTile = class {
|
|
|
104
104
|
this.checkProps((_d = this === null || this === void 0 ? void 0 : this.link) === null || _d === void 0 ? void 0 : _d.title);
|
|
105
105
|
const link = this.disabled ? '#' : (_e = this.link) === null || _e === void 0 ? void 0 : _e.href;
|
|
106
106
|
const rel = getRel((_f = this.link) === null || _f === void 0 ? void 0 : _f.target, (_g = this.link) === null || _g === void 0 ? void 0 : _g.rel);
|
|
107
|
-
return (h(Host, { key: '
|
|
107
|
+
return (h(Host, { key: '3754cadd6c7cf0ee99e0f5dc2234732126dcdc1e', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, class: { 'has-primary-slot-content': this.hasPrimarySlot } }, h("a", { key: 'c812a64253f3687f230c9a306727addae91ac685', title: (_h = this.link) === null || _h === void 0 ? void 0 : _h.title, href: link, target: (_j = this.link) === null || _j === void 0 ? void 0 : _j.target, rel: rel, tabindex: "0", "aria-label": extendedAriaLabel, "aria-disabled": this.disabled, "aria-busy": this.loading ? 'true' : 'false', "aria-live": "polite", class: {
|
|
108
108
|
'is-clickable': !!((_k = this.link) === null || _k === void 0 ? void 0 : _k.href) && !this.disabled,
|
|
109
|
-
} }, this.renderIcon(), this.renderProgress(), h("slot", { key: '
|
|
109
|
+
} }, this.renderIcon(), this.renderProgress(), h("slot", { key: '62e330f8b945d562b5ee4677a62ab21ec1b6defe', name: "primary", onSlotchange: this.updateHasPrimarySlotContent }), h("div", { key: 'de41a8bc66d7f706153188f84b96481dfa25f8f9', class: "value-group" }, this.renderPrefix(), h("div", { key: '8ae36080dadd6b4a7135c7280e51a88015f30fbc', class: "value-and-suffix" }, this.renderValue(), this.renderSuffix()), this.renderSpinner()), this.renderLabel(), h("limel-3d-hover-effect-glow", { key: '0221c5e66f2a30b60e619bc7d6fe35e66d1db653' })), this.renderNotification()));
|
|
110
110
|
}
|
|
111
111
|
checkProps(propValue) {
|
|
112
112
|
return propValue ? propValue + ' ' : '';
|
|
@@ -132,9 +132,9 @@ const ListItemComponent = class {
|
|
|
132
132
|
// also keep for `menuitem` for visual state consistency
|
|
133
133
|
ariaProps['aria-selected'] = this.selected ? 'true' : 'false';
|
|
134
134
|
}
|
|
135
|
-
return (h(Host, Object.assign({ key: '
|
|
135
|
+
return (h(Host, Object.assign({ key: '4f769d4dc9bcf065f0891ae394efb8f2cb4e3cbe', role: this.getHostRole(), class: {
|
|
136
136
|
'has-primary-component': !!((_a = this.primaryComponent) === null || _a === void 0 ? void 0 : _a.name),
|
|
137
|
-
} }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: '
|
|
137
|
+
} }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: 'f3ae79f70d048a6541af55782a8a1956fd7338c5', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
|
|
138
138
|
}
|
|
139
139
|
/**
|
|
140
140
|
* Returns a stable reference for the provided actions array to avoid
|
|
@@ -333,7 +333,7 @@ const Markdown = class {
|
|
|
333
333
|
this.cleanupImageIntersectionObserver();
|
|
334
334
|
}
|
|
335
335
|
render() {
|
|
336
|
-
return (h(Host, { key: '
|
|
336
|
+
return (h(Host, { key: 'd3c5e71466ad7fa2723a0a44bc6ba6742e597ca1' }, h("div", { key: 'ff45056e1a3ad465bdea9026b0c9674d911607a2', id: "markdown", ref: (el) => (this.rootElement = el) })));
|
|
337
337
|
}
|
|
338
338
|
setupImageIntersectionObserver() {
|
|
339
339
|
if (this.lazyLoadImages) {
|
|
@@ -1,19 +1,30 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-DBTJNfo7.js';
|
|
2
|
+
import { n as normalizeHotkeyString } from './hotkeys-BxrRWYts.js';
|
|
2
3
|
|
|
3
4
|
const menuItemMetaCss = () => `@charset "UTF-8";:host(limel-menu-item-meta){order:4;transform:translateX(0.5rem);display:inline-flex;align-items:center;gap:0.5rem;max-width:50%}*{box-sizing:border-box}limel-badge{--badge-background-color:var( --notification-badge-background-color, rgb(var(--color-red-default)) );--badge-text-color:var( --notification-badge-text-color, rgb(var(--color-white)) )}.command-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0.7;font-size:var(--limel-theme-default-small-font-size)}.chevron{flex-shrink:0;border-color:transparent;border-left-color:var(--limel-theme-text-secondary-on-background-color);border-width:0.25rem 0 0.25rem 0.375rem;border-style:solid}`;
|
|
4
5
|
|
|
5
6
|
const MenuItemMeta = class {
|
|
6
7
|
constructor(hostRef) {
|
|
7
8
|
registerInstance(this, hostRef);
|
|
9
|
+
/**
|
|
10
|
+
* Will be set to `true` when the menu item is disabled.
|
|
11
|
+
*/
|
|
12
|
+
this.disabled = false;
|
|
8
13
|
/**
|
|
9
14
|
* Shows a submenu chevron to indicate nested items
|
|
10
15
|
*/
|
|
11
16
|
this.showChevron = false;
|
|
12
17
|
}
|
|
13
18
|
render() {
|
|
14
|
-
return (h(Host, { key: '
|
|
19
|
+
return (h(Host, { key: '4341b1cd34952fdd2dc40bc3c4b7eb909646d880' }, this.renderCommandText(), this.renderBadge(), this.renderChevron()));
|
|
15
20
|
}
|
|
16
21
|
renderCommandText() {
|
|
22
|
+
if (this.hotkey) {
|
|
23
|
+
const hotkey = normalizeHotkeyString(this.hotkey);
|
|
24
|
+
if (hotkey) {
|
|
25
|
+
return h("limel-hotkey", { value: hotkey, disabled: this.disabled });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
17
28
|
if (!this.commandText) {
|
|
18
29
|
return;
|
|
19
30
|
}
|
|
@@ -187,7 +187,7 @@ const Picker = class {
|
|
|
187
187
|
props.maxItems = 1;
|
|
188
188
|
}
|
|
189
189
|
return [
|
|
190
|
-
h("limel-chip-set", Object.assign({ key: '
|
|
190
|
+
h("limel-chip-set", Object.assign({ key: 'e20f22b6907ad1d28f8b8c0847e5080faca09b3b', type: "input", inputType: "search", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, invalid: this.invalid, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, clearAllButton: this.multiple && !this.chipSetEditMode }, props)),
|
|
191
191
|
this.renderDropdown(),
|
|
192
192
|
];
|
|
193
193
|
}
|
|
@@ -122,7 +122,7 @@ const Popover = class {
|
|
|
122
122
|
render() {
|
|
123
123
|
const cssProperties = this.getCssProperties();
|
|
124
124
|
const popoverZIndex = getComputedStyle(this.host).getPropertyValue('--popover-z-index');
|
|
125
|
-
return (h("div", { key: '
|
|
125
|
+
return (h("div", { key: '53e64435fa661015fbbf2e449890864c8008c329', class: "trigger-anchor" }, h("slot", { key: '85336e8f76377921850ffc7704c7588707c45066', name: "trigger", ref: this.setTriggerRef }), h("limel-portal", { key: 'a40bfde87375a494ac5404911b4b1f058a55becf', visible: this.open, containerId: this.portalId, containerStyle: { 'z-index': popoverZIndex }, openDirection: this.openDirection }, h("limel-popover-surface", { key: '396e369ae3e61a79bfd2f520e05187a6ff85f834', contentCollection: this.host.children, style: cssProperties }))));
|
|
126
126
|
}
|
|
127
127
|
globalClickListener(event) {
|
|
128
128
|
const element = event.target;
|
|
@@ -165,7 +165,7 @@ const PopoverSurface = class {
|
|
|
165
165
|
this.appendElement();
|
|
166
166
|
}
|
|
167
167
|
render() {
|
|
168
|
-
return h("div", { key: '
|
|
168
|
+
return h("div", { key: '72e73b254be6cebbd27332329b10a58210ae0352', class: "limel-popover-surface", tabindex: "0" });
|
|
169
169
|
}
|
|
170
170
|
appendElement() {
|
|
171
171
|
const portalContainer = this.host.shadowRoot.querySelector('.limel-popover-surface');
|
|
@@ -1873,7 +1873,7 @@ const Portal = class {
|
|
|
1873
1873
|
}
|
|
1874
1874
|
}
|
|
1875
1875
|
render() {
|
|
1876
|
-
return h("slot", { key: '
|
|
1876
|
+
return h("slot", { key: 'd6ed0d276afec19ba5ffd4d6a6fcf96937127d6a' });
|
|
1877
1877
|
}
|
|
1878
1878
|
onVisible() {
|
|
1879
1879
|
if (!this.container && this.visible) {
|
|
@@ -2141,10 +2141,10 @@ const Tooltip = class {
|
|
|
2141
2141
|
}
|
|
2142
2142
|
render() {
|
|
2143
2143
|
const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
|
|
2144
|
-
return (h("div", { key: '
|
|
2144
|
+
return (h("div", { key: '93e90be597ba45e4063a9a7a689783f31a3b5871', class: "trigger-anchor" }, h("limel-portal", { key: '94cdcde46fc3f172e194894d0546cf96bce35623', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
|
|
2145
2145
|
'z-index': tooltipZIndex,
|
|
2146
2146
|
'pointer-events': 'none',
|
|
2147
|
-
}, anchor: this.ownerElement }, h("limel-tooltip-content", { key: '
|
|
2147
|
+
}, anchor: this.ownerElement }, h("limel-tooltip-content", { key: 'd24de90d827c87b1e8fd2c10142fc34bcd498774', label: this.label, helperLabel: this.helperLabel, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
|
|
2148
2148
|
}
|
|
2149
2149
|
setOwnerAriaLabel() {
|
|
2150
2150
|
var _a;
|
|
@@ -2187,7 +2187,7 @@ const TooltipContent = class {
|
|
|
2187
2187
|
};
|
|
2188
2188
|
}
|
|
2189
2189
|
return [
|
|
2190
|
-
h("text", Object.assign({ key: '
|
|
2190
|
+
h("text", Object.assign({ key: '5f6cde48d57c7c5b680055314f3b6d082ff37b5a', class: { 'has-column-layout': isLabelsTextLong } }, props), h("div", { key: 'ebfc96849d68c4db09e7be7b3d86e12d3937a5d9', class: "label" }, this.label), h("div", { key: 'a2730d9d13111bd949fc1a2795b785c217f800f8', class: "helper-label" }, this.helperLabel)),
|
|
2191
2191
|
];
|
|
2192
2192
|
}
|
|
2193
2193
|
};
|
|
@@ -27824,7 +27824,7 @@ const ProsemirrorAdapter = class {
|
|
|
27824
27824
|
(_e = this.view) === null || _e === void 0 ? void 0 : _e.destroy();
|
|
27825
27825
|
}
|
|
27826
27826
|
render() {
|
|
27827
|
-
return (h(Host, { key: '
|
|
27827
|
+
return (h(Host, { key: '2f17d3935ed3c9d7a7191b3b4cd85bb1c2a4ac32', onFocus: this.handleFocus }, h("div", { key: '328602696f29dbbe89cee0c535f2efddf92c2a20', id: "editor" }), this.renderToolbar(), this.renderLinkMenu()));
|
|
27828
27828
|
}
|
|
27829
27829
|
renderToolbar() {
|
|
27830
27830
|
if (this.actionBarItems.length === 0 || this.ui === 'no-toolbar') {
|
|
@@ -24,7 +24,7 @@ const RadioButtonGroup = class {
|
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
render() {
|
|
27
|
-
return (h("limel-list", { key: '
|
|
27
|
+
return (h("limel-list", { key: 'd42e6342d4fd79d34cb2c6a9d25d3dfe577e9a99', items: this.createItems(), type: "radio", badgeIcons: this.badgeIcons, maxLinesSecondaryText: this.maxLinesSecondaryText, onChange: this.handleChange }));
|
|
28
28
|
}
|
|
29
29
|
createItems() {
|
|
30
30
|
return this.items.map((option) => {
|
|
@@ -7,12 +7,12 @@ const RadioButtonComponent = class {
|
|
|
7
7
|
registerInstance(this, hostRef);
|
|
8
8
|
}
|
|
9
9
|
render() {
|
|
10
|
-
return (h(Host, { key: '
|
|
10
|
+
return (h(Host, { key: '64623e09534c5b4e457029cbed4865d97d3cc19e', class: {
|
|
11
11
|
'boolean-input': true,
|
|
12
12
|
'radio-button': true,
|
|
13
13
|
checked: this.checked,
|
|
14
14
|
disabled: this.disabled,
|
|
15
|
-
} }, h("input", { key: '
|
|
15
|
+
} }, h("input", { key: '4eb816e8031d20bbfa5beb32798e50e5d3747895', type: "radio", id: this.id, checked: this.checked, disabled: this.disabled, onChange: this.onChange }), h("div", { key: '9e7d7db22981a16b4655d7cbcd7c3eb2462a7953', class: "box" }), h("label", { key: '4b2061d351b2d4d03d6e5763bc132be46d146e48', class: "boolean-input-label", htmlFor: this.id }, this.label)));
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
18
|
RadioButtonComponent.style = radioButtonCss();
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as createEvent, a as getElement } from './index-DBTJNfo7.js';
|
|
2
|
-
import { b as isMobileDevice } from './device-
|
|
2
|
+
import { b as isMobileDevice } from './device-B-tmXAXV.js';
|
|
3
3
|
import { a as ENTER, S as SPACE } from './keycodes-rI0IeKpx.js';
|
|
4
4
|
import { i as isMultiple } from './multiple-BylwpiM6.js';
|
|
5
5
|
import { c as createRandomString } from './random-string-JbKhhoXs.js';
|
|
@@ -551,7 +551,7 @@ const Select = class {
|
|
|
551
551
|
}
|
|
552
552
|
render() {
|
|
553
553
|
const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
|
|
554
|
-
return (h(SelectTemplate, { key: '
|
|
554
|
+
return (h(SelectTemplate, { key: '0bc73012998fd97b022c0bdbab31e6806a3ddfd3', id: this.portalId, disabled: this.disabled || this.readonly, readonly: this.readonly, required: this.required, invalid: this.invalid, label: this.label, helperText: this.helperText, value: this.value, options: this.options, onMenuChange: this.handleMenuChange, onNativeChange: this.handleNativeChange, onTriggerPress: this.handleMenuTriggerKeyPress, multiple: this.multiple, isOpen: this.menuOpen, open: this.openMenu, close: this.closeMenu, checkValid: this.checkValid, native: this.isMobileDevice && !this.multiple, dropdownZIndex: dropdownZIndex, anchor: this.getAnchorElement() }));
|
|
555
555
|
}
|
|
556
556
|
watchOpen(newValue, oldValue) {
|
|
557
557
|
if (this.checkValid) {
|