@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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface DisplayToken {
|
|
2
|
+
display: string;
|
|
3
|
+
isGlyph: boolean;
|
|
4
|
+
ariaName: string;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Maps a single hotkey token to its display representation.
|
|
8
|
+
*
|
|
9
|
+
* @param token - A single token from `tokenizeHotkeyString` (e.g. `"meta"`, `"k"`, `"+"`).
|
|
10
|
+
* @param isApple - Whether the current device is an Apple device.
|
|
11
|
+
* @returns The display string, whether it is a glyph (for styling),
|
|
12
|
+
* and a human-readable name for screen readers.
|
|
13
|
+
*/
|
|
14
|
+
export declare function formatDisplayToken(token: string, isApple: boolean): DisplayToken;
|
|
15
|
+
//# sourceMappingURL=format-display-token.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This is a display-only component used to visualize keyboard shortcuts.
|
|
3
|
+
* It renders hotkey strings as styled `<kbd>` elements with
|
|
4
|
+
* platform-aware glyphs (e.g. `⌘` on macOS, `⊞ Win` on Windows).
|
|
5
|
+
*
|
|
6
|
+
* It does **not** listen for or handle any keyboard events.
|
|
7
|
+
* Keyboard event handling is the responsibility of the parent component
|
|
8
|
+
* (e.g. `limel-menu` or `limel-select`).
|
|
9
|
+
*
|
|
10
|
+
* @exampleComponent limel-example-hotkey-basic
|
|
11
|
+
* @exampleComponent limel-example-hotkey-disabled
|
|
12
|
+
* @private
|
|
13
|
+
*/
|
|
14
|
+
export declare class Hotkey {
|
|
15
|
+
private isApple;
|
|
16
|
+
/**
|
|
17
|
+
* The hotkey string to visualize, e.g. `"meta+c"` or `"shift+enter"`.
|
|
18
|
+
*/
|
|
19
|
+
value: string;
|
|
20
|
+
/**
|
|
21
|
+
* When `true`, the hotkey is rendered in a visually disabled state.
|
|
22
|
+
*/
|
|
23
|
+
disabled: boolean;
|
|
24
|
+
componentWillLoad(): void;
|
|
25
|
+
render(): any;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=hotkey.d.ts.map
|
|
@@ -13,6 +13,14 @@ export declare class MenuItemMeta {
|
|
|
13
13
|
* Use to display optional keyboard shortcut or command hint, e.g. `⌘ + K`
|
|
14
14
|
*/
|
|
15
15
|
commandText?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Hotkey to display. When provided, `commandText` is ignored.
|
|
18
|
+
*/
|
|
19
|
+
hotkey?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Will be set to `true` when the menu item is disabled.
|
|
22
|
+
*/
|
|
23
|
+
disabled: boolean;
|
|
16
24
|
/**
|
|
17
25
|
* Optional badge value
|
|
18
26
|
*/
|
|
@@ -12,13 +12,14 @@ import { OpenDirection, MenuItem, SurfaceWidth, MenuSearcher } from './menu.type
|
|
|
12
12
|
* @exampleComponent limel-example-menu-icons
|
|
13
13
|
* @exampleComponent limel-example-menu-badge-icons
|
|
14
14
|
* @exampleComponent limel-example-menu-grid
|
|
15
|
-
* @exampleComponent limel-example-menu-hotkeys
|
|
16
15
|
* @exampleComponent limel-example-menu-secondary-text
|
|
17
16
|
* @exampleComponent limel-example-menu-notification
|
|
18
17
|
* @exampleComponent limel-example-menu-sub-menus
|
|
19
18
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading
|
|
20
19
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading-infinite
|
|
21
20
|
* @exampleComponent limel-example-menu-searchable
|
|
21
|
+
* @exampleComponent limel-example-menu-hotkeys
|
|
22
|
+
* @exampleComponent limel-example-menu-searchable-hotkeys
|
|
22
23
|
* @exampleComponent limel-example-menu-composite
|
|
23
24
|
*/
|
|
24
25
|
export declare class Menu {
|
|
@@ -117,11 +118,22 @@ export declare class Menu {
|
|
|
117
118
|
private triggerElement;
|
|
118
119
|
private selectedMenuItem?;
|
|
119
120
|
private shouldRestoreFocusOnClose;
|
|
121
|
+
private readonly normalizedHotkeyCache;
|
|
122
|
+
private cachedSubMenuSource;
|
|
123
|
+
private cachedSubMenuItems;
|
|
120
124
|
constructor();
|
|
121
125
|
componentDidRender(): void;
|
|
122
126
|
render(): any;
|
|
123
127
|
protected itemsWatcher(): void;
|
|
128
|
+
connectedCallback(): void;
|
|
129
|
+
disconnectedCallback(): void;
|
|
124
130
|
protected openWatcher(newValue: boolean): void;
|
|
131
|
+
private readonly handleDocumentKeyDown;
|
|
132
|
+
private isFromTextInput;
|
|
133
|
+
private hasModifier;
|
|
134
|
+
private isReservedMenuHotkey;
|
|
135
|
+
private findMenuItemByHotkey;
|
|
136
|
+
private getNormalizedHotkey;
|
|
125
137
|
private getBreadcrumbsItems;
|
|
126
138
|
private readonly renderLoader;
|
|
127
139
|
private readonly renderBreadcrumb;
|
|
@@ -139,7 +151,6 @@ export declare class Menu {
|
|
|
139
151
|
private readonly goForward;
|
|
140
152
|
private readonly goBack;
|
|
141
153
|
private readonly setTriggerAttributes;
|
|
142
|
-
private readonly handleEscapeCapture;
|
|
143
154
|
private readonly onClose;
|
|
144
155
|
private readonly onTriggerClick;
|
|
145
156
|
private readonly handleSelect;
|
|
@@ -42,6 +42,20 @@ export interface MenuItem<T = any> {
|
|
|
42
42
|
* The additional supporting text is used for shortcut commands and displayed in the menu item.
|
|
43
43
|
*/
|
|
44
44
|
commandText?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Hotkey(s) that can be used to select this item while the menu is open.
|
|
47
|
+
* This is for actual keyboard interaction. `commandText` is purely visual.
|
|
48
|
+
*
|
|
49
|
+
* Note: In a menu, some keys are reserved for built-in navigation and
|
|
50
|
+
* activation (e.g. `enter`, `escape`, `space`, `tab`, and arrow keys).
|
|
51
|
+
* These will be ignored as hotkeys, unless combined with other modifiers.
|
|
52
|
+
*
|
|
53
|
+
* Examples:
|
|
54
|
+
* - `"alt+c"`
|
|
55
|
+
* - `"ctrl+shift+p"`
|
|
56
|
+
* - `"cmd+k"` (alias for `meta+k`)
|
|
57
|
+
*/
|
|
58
|
+
hotkey?: string;
|
|
45
59
|
/**
|
|
46
60
|
* Text to display in the menu item.
|
|
47
61
|
*/
|
|
@@ -2012,6 +2012,28 @@ export namespace Components {
|
|
|
2012
2012
|
*/
|
|
2013
2013
|
"maxLength"?: number;
|
|
2014
2014
|
}
|
|
2015
|
+
/**
|
|
2016
|
+
* This is a display-only component used to visualize keyboard shortcuts.
|
|
2017
|
+
* It renders hotkey strings as styled `<kbd>` elements with
|
|
2018
|
+
* platform-aware glyphs (e.g. `⌘` on macOS, `⊞ Win` on Windows).
|
|
2019
|
+
* It does **not** listen for or handle any keyboard events.
|
|
2020
|
+
* Keyboard event handling is the responsibility of the parent component
|
|
2021
|
+
* (e.g. `limel-menu` or `limel-select`).
|
|
2022
|
+
* @exampleComponent limel-example-hotkey-basic
|
|
2023
|
+
* @exampleComponent limel-example-hotkey-disabled
|
|
2024
|
+
* @private
|
|
2025
|
+
*/
|
|
2026
|
+
interface LimelHotkey {
|
|
2027
|
+
/**
|
|
2028
|
+
* When `true`, the hotkey is rendered in a visually disabled state.
|
|
2029
|
+
* @default false
|
|
2030
|
+
*/
|
|
2031
|
+
"disabled": boolean;
|
|
2032
|
+
/**
|
|
2033
|
+
* The hotkey string to visualize, e.g. `"meta+c"` or `"shift+enter"`.
|
|
2034
|
+
*/
|
|
2035
|
+
"value": string;
|
|
2036
|
+
}
|
|
2015
2037
|
/**
|
|
2016
2038
|
* :::important
|
|
2017
2039
|
* To install your icon set correctly, please read the [documentation here](#/).
|
|
@@ -2485,13 +2507,14 @@ export namespace Components {
|
|
|
2485
2507
|
* @exampleComponent limel-example-menu-icons
|
|
2486
2508
|
* @exampleComponent limel-example-menu-badge-icons
|
|
2487
2509
|
* @exampleComponent limel-example-menu-grid
|
|
2488
|
-
* @exampleComponent limel-example-menu-hotkeys
|
|
2489
2510
|
* @exampleComponent limel-example-menu-secondary-text
|
|
2490
2511
|
* @exampleComponent limel-example-menu-notification
|
|
2491
2512
|
* @exampleComponent limel-example-menu-sub-menus
|
|
2492
2513
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading
|
|
2493
2514
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading-infinite
|
|
2494
2515
|
* @exampleComponent limel-example-menu-searchable
|
|
2516
|
+
* @exampleComponent limel-example-menu-hotkeys
|
|
2517
|
+
* @exampleComponent limel-example-menu-searchable-hotkeys
|
|
2495
2518
|
* @exampleComponent limel-example-menu-composite
|
|
2496
2519
|
*/
|
|
2497
2520
|
interface LimelMenu {
|
|
@@ -2574,6 +2597,15 @@ export namespace Components {
|
|
|
2574
2597
|
* Use to display optional keyboard shortcut or command hint, e.g. `⌘ + K`
|
|
2575
2598
|
*/
|
|
2576
2599
|
"commandText"?: string;
|
|
2600
|
+
/**
|
|
2601
|
+
* Will be set to `true` when the menu item is disabled.
|
|
2602
|
+
* @default false
|
|
2603
|
+
*/
|
|
2604
|
+
"disabled": boolean;
|
|
2605
|
+
/**
|
|
2606
|
+
* Hotkey to display. When provided, `commandText` is ignored.
|
|
2607
|
+
*/
|
|
2608
|
+
"hotkey"?: string;
|
|
2577
2609
|
/**
|
|
2578
2610
|
* Shows a submenu chevron to indicate nested items
|
|
2579
2611
|
* @default false
|
|
@@ -5241,6 +5273,23 @@ declare global {
|
|
|
5241
5273
|
prototype: HTMLLimelHelperLineElement;
|
|
5242
5274
|
new (): HTMLLimelHelperLineElement;
|
|
5243
5275
|
};
|
|
5276
|
+
/**
|
|
5277
|
+
* This is a display-only component used to visualize keyboard shortcuts.
|
|
5278
|
+
* It renders hotkey strings as styled `<kbd>` elements with
|
|
5279
|
+
* platform-aware glyphs (e.g. `⌘` on macOS, `⊞ Win` on Windows).
|
|
5280
|
+
* It does **not** listen for or handle any keyboard events.
|
|
5281
|
+
* Keyboard event handling is the responsibility of the parent component
|
|
5282
|
+
* (e.g. `limel-menu` or `limel-select`).
|
|
5283
|
+
* @exampleComponent limel-example-hotkey-basic
|
|
5284
|
+
* @exampleComponent limel-example-hotkey-disabled
|
|
5285
|
+
* @private
|
|
5286
|
+
*/
|
|
5287
|
+
interface HTMLLimelHotkeyElement extends Components.LimelHotkey, HTMLStencilElement {
|
|
5288
|
+
}
|
|
5289
|
+
var HTMLLimelHotkeyElement: {
|
|
5290
|
+
prototype: HTMLLimelHotkeyElement;
|
|
5291
|
+
new (): HTMLLimelHotkeyElement;
|
|
5292
|
+
};
|
|
5244
5293
|
/**
|
|
5245
5294
|
* :::important
|
|
5246
5295
|
* To install your icon set correctly, please read the [documentation here](#/).
|
|
@@ -5465,13 +5514,14 @@ declare global {
|
|
|
5465
5514
|
* @exampleComponent limel-example-menu-icons
|
|
5466
5515
|
* @exampleComponent limel-example-menu-badge-icons
|
|
5467
5516
|
* @exampleComponent limel-example-menu-grid
|
|
5468
|
-
* @exampleComponent limel-example-menu-hotkeys
|
|
5469
5517
|
* @exampleComponent limel-example-menu-secondary-text
|
|
5470
5518
|
* @exampleComponent limel-example-menu-notification
|
|
5471
5519
|
* @exampleComponent limel-example-menu-sub-menus
|
|
5472
5520
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading
|
|
5473
5521
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading-infinite
|
|
5474
5522
|
* @exampleComponent limel-example-menu-searchable
|
|
5523
|
+
* @exampleComponent limel-example-menu-hotkeys
|
|
5524
|
+
* @exampleComponent limel-example-menu-searchable-hotkeys
|
|
5475
5525
|
* @exampleComponent limel-example-menu-composite
|
|
5476
5526
|
*/
|
|
5477
5527
|
interface HTMLLimelMenuElement extends Components.LimelMenu, HTMLStencilElement {
|
|
@@ -6326,6 +6376,7 @@ declare global {
|
|
|
6326
6376
|
"limel-help": HTMLLimelHelpElement;
|
|
6327
6377
|
"limel-help-content": HTMLLimelHelpContentElement;
|
|
6328
6378
|
"limel-helper-line": HTMLLimelHelperLineElement;
|
|
6379
|
+
"limel-hotkey": HTMLLimelHotkeyElement;
|
|
6329
6380
|
"limel-icon": HTMLLimelIconElement;
|
|
6330
6381
|
"limel-icon-button": HTMLLimelIconButtonElement;
|
|
6331
6382
|
"limel-info-tile": HTMLLimelInfoTileElement;
|
|
@@ -8426,6 +8477,28 @@ declare namespace LocalJSX {
|
|
|
8426
8477
|
*/
|
|
8427
8478
|
"maxLength"?: number;
|
|
8428
8479
|
}
|
|
8480
|
+
/**
|
|
8481
|
+
* This is a display-only component used to visualize keyboard shortcuts.
|
|
8482
|
+
* It renders hotkey strings as styled `<kbd>` elements with
|
|
8483
|
+
* platform-aware glyphs (e.g. `⌘` on macOS, `⊞ Win` on Windows).
|
|
8484
|
+
* It does **not** listen for or handle any keyboard events.
|
|
8485
|
+
* Keyboard event handling is the responsibility of the parent component
|
|
8486
|
+
* (e.g. `limel-menu` or `limel-select`).
|
|
8487
|
+
* @exampleComponent limel-example-hotkey-basic
|
|
8488
|
+
* @exampleComponent limel-example-hotkey-disabled
|
|
8489
|
+
* @private
|
|
8490
|
+
*/
|
|
8491
|
+
interface LimelHotkey {
|
|
8492
|
+
/**
|
|
8493
|
+
* When `true`, the hotkey is rendered in a visually disabled state.
|
|
8494
|
+
* @default false
|
|
8495
|
+
*/
|
|
8496
|
+
"disabled"?: boolean;
|
|
8497
|
+
/**
|
|
8498
|
+
* The hotkey string to visualize, e.g. `"meta+c"` or `"shift+enter"`.
|
|
8499
|
+
*/
|
|
8500
|
+
"value"?: string;
|
|
8501
|
+
}
|
|
8429
8502
|
/**
|
|
8430
8503
|
* :::important
|
|
8431
8504
|
* To install your icon set correctly, please read the [documentation here](#/).
|
|
@@ -8907,13 +8980,14 @@ declare namespace LocalJSX {
|
|
|
8907
8980
|
* @exampleComponent limel-example-menu-icons
|
|
8908
8981
|
* @exampleComponent limel-example-menu-badge-icons
|
|
8909
8982
|
* @exampleComponent limel-example-menu-grid
|
|
8910
|
-
* @exampleComponent limel-example-menu-hotkeys
|
|
8911
8983
|
* @exampleComponent limel-example-menu-secondary-text
|
|
8912
8984
|
* @exampleComponent limel-example-menu-notification
|
|
8913
8985
|
* @exampleComponent limel-example-menu-sub-menus
|
|
8914
8986
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading
|
|
8915
8987
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading-infinite
|
|
8916
8988
|
* @exampleComponent limel-example-menu-searchable
|
|
8989
|
+
* @exampleComponent limel-example-menu-hotkeys
|
|
8990
|
+
* @exampleComponent limel-example-menu-searchable-hotkeys
|
|
8917
8991
|
* @exampleComponent limel-example-menu-composite
|
|
8918
8992
|
*/
|
|
8919
8993
|
interface LimelMenu {
|
|
@@ -8999,6 +9073,15 @@ declare namespace LocalJSX {
|
|
|
8999
9073
|
* Use to display optional keyboard shortcut or command hint, e.g. `⌘ + K`
|
|
9000
9074
|
*/
|
|
9001
9075
|
"commandText"?: string;
|
|
9076
|
+
/**
|
|
9077
|
+
* Will be set to `true` when the menu item is disabled.
|
|
9078
|
+
* @default false
|
|
9079
|
+
*/
|
|
9080
|
+
"disabled"?: boolean;
|
|
9081
|
+
/**
|
|
9082
|
+
* Hotkey to display. When provided, `commandText` is ignored.
|
|
9083
|
+
*/
|
|
9084
|
+
"hotkey"?: string;
|
|
9002
9085
|
/**
|
|
9003
9086
|
* Shows a submenu chevron to indicate nested items
|
|
9004
9087
|
* @default false
|
|
@@ -10738,6 +10821,10 @@ declare namespace LocalJSX {
|
|
|
10738
10821
|
"invalid": boolean;
|
|
10739
10822
|
"helperTextId": string;
|
|
10740
10823
|
}
|
|
10824
|
+
interface LimelHotkeyAttributes {
|
|
10825
|
+
"value": string;
|
|
10826
|
+
"disabled": boolean;
|
|
10827
|
+
}
|
|
10741
10828
|
interface LimelIconAttributes {
|
|
10742
10829
|
"size": IconSize;
|
|
10743
10830
|
"name": string;
|
|
@@ -10825,6 +10912,8 @@ declare namespace LocalJSX {
|
|
|
10825
10912
|
}
|
|
10826
10913
|
interface LimelMenuItemMetaAttributes {
|
|
10827
10914
|
"commandText": string;
|
|
10915
|
+
"hotkey": string;
|
|
10916
|
+
"disabled": boolean;
|
|
10828
10917
|
"badge": string;
|
|
10829
10918
|
"showChevron": boolean;
|
|
10830
10919
|
}
|
|
@@ -11061,6 +11150,7 @@ declare namespace LocalJSX {
|
|
|
11061
11150
|
"limel-help": Omit<LimelHelp, keyof LimelHelpAttributes> & { [K in keyof LimelHelp & keyof LimelHelpAttributes]?: LimelHelp[K] } & { [K in keyof LimelHelp & keyof LimelHelpAttributes as `attr:${K}`]?: LimelHelpAttributes[K] } & { [K in keyof LimelHelp & keyof LimelHelpAttributes as `prop:${K}`]?: LimelHelp[K] };
|
|
11062
11151
|
"limel-help-content": Omit<LimelHelpContent, keyof LimelHelpContentAttributes> & { [K in keyof LimelHelpContent & keyof LimelHelpContentAttributes]?: LimelHelpContent[K] } & { [K in keyof LimelHelpContent & keyof LimelHelpContentAttributes as `attr:${K}`]?: LimelHelpContentAttributes[K] } & { [K in keyof LimelHelpContent & keyof LimelHelpContentAttributes as `prop:${K}`]?: LimelHelpContent[K] };
|
|
11063
11152
|
"limel-helper-line": Omit<LimelHelperLine, keyof LimelHelperLineAttributes> & { [K in keyof LimelHelperLine & keyof LimelHelperLineAttributes]?: LimelHelperLine[K] } & { [K in keyof LimelHelperLine & keyof LimelHelperLineAttributes as `attr:${K}`]?: LimelHelperLineAttributes[K] } & { [K in keyof LimelHelperLine & keyof LimelHelperLineAttributes as `prop:${K}`]?: LimelHelperLine[K] };
|
|
11153
|
+
"limel-hotkey": Omit<LimelHotkey, keyof LimelHotkeyAttributes> & { [K in keyof LimelHotkey & keyof LimelHotkeyAttributes]?: LimelHotkey[K] } & { [K in keyof LimelHotkey & keyof LimelHotkeyAttributes as `attr:${K}`]?: LimelHotkeyAttributes[K] } & { [K in keyof LimelHotkey & keyof LimelHotkeyAttributes as `prop:${K}`]?: LimelHotkey[K] };
|
|
11064
11154
|
"limel-icon": Omit<LimelIcon, keyof LimelIconAttributes> & { [K in keyof LimelIcon & keyof LimelIconAttributes]?: LimelIcon[K] } & { [K in keyof LimelIcon & keyof LimelIconAttributes as `attr:${K}`]?: LimelIconAttributes[K] } & { [K in keyof LimelIcon & keyof LimelIconAttributes as `prop:${K}`]?: LimelIcon[K] };
|
|
11065
11155
|
"limel-icon-button": Omit<LimelIconButton, keyof LimelIconButtonAttributes> & { [K in keyof LimelIconButton & keyof LimelIconButtonAttributes]?: LimelIconButton[K] } & { [K in keyof LimelIconButton & keyof LimelIconButtonAttributes as `attr:${K}`]?: LimelIconButtonAttributes[K] } & { [K in keyof LimelIconButton & keyof LimelIconButtonAttributes as `prop:${K}`]?: LimelIconButton[K] };
|
|
11066
11156
|
"limel-info-tile": Omit<LimelInfoTile, keyof LimelInfoTileAttributes> & { [K in keyof LimelInfoTile & keyof LimelInfoTileAttributes]?: LimelInfoTile[K] } & { [K in keyof LimelInfoTile & keyof LimelInfoTileAttributes as `attr:${K}`]?: LimelInfoTileAttributes[K] } & { [K in keyof LimelInfoTile & keyof LimelInfoTileAttributes as `prop:${K}`]?: LimelInfoTile[K] };
|
|
@@ -11816,6 +11906,18 @@ declare module "@stencil/core" {
|
|
|
11816
11906
|
* @private
|
|
11817
11907
|
*/
|
|
11818
11908
|
"limel-helper-line": LocalJSX.IntrinsicElements["limel-helper-line"] & JSXBase.HTMLAttributes<HTMLLimelHelperLineElement>;
|
|
11909
|
+
/**
|
|
11910
|
+
* This is a display-only component used to visualize keyboard shortcuts.
|
|
11911
|
+
* It renders hotkey strings as styled `<kbd>` elements with
|
|
11912
|
+
* platform-aware glyphs (e.g. `⌘` on macOS, `⊞ Win` on Windows).
|
|
11913
|
+
* It does **not** listen for or handle any keyboard events.
|
|
11914
|
+
* Keyboard event handling is the responsibility of the parent component
|
|
11915
|
+
* (e.g. `limel-menu` or `limel-select`).
|
|
11916
|
+
* @exampleComponent limel-example-hotkey-basic
|
|
11917
|
+
* @exampleComponent limel-example-hotkey-disabled
|
|
11918
|
+
* @private
|
|
11919
|
+
*/
|
|
11920
|
+
"limel-hotkey": LocalJSX.IntrinsicElements["limel-hotkey"] & JSXBase.HTMLAttributes<HTMLLimelHotkeyElement>;
|
|
11819
11921
|
/**
|
|
11820
11922
|
* :::important
|
|
11821
11923
|
* To install your icon set correctly, please read the [documentation here](#/).
|
|
@@ -11970,13 +12072,14 @@ declare module "@stencil/core" {
|
|
|
11970
12072
|
* @exampleComponent limel-example-menu-icons
|
|
11971
12073
|
* @exampleComponent limel-example-menu-badge-icons
|
|
11972
12074
|
* @exampleComponent limel-example-menu-grid
|
|
11973
|
-
* @exampleComponent limel-example-menu-hotkeys
|
|
11974
12075
|
* @exampleComponent limel-example-menu-secondary-text
|
|
11975
12076
|
* @exampleComponent limel-example-menu-notification
|
|
11976
12077
|
* @exampleComponent limel-example-menu-sub-menus
|
|
11977
12078
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading
|
|
11978
12079
|
* @exampleComponent limel-example-menu-sub-menu-lazy-loading-infinite
|
|
11979
12080
|
* @exampleComponent limel-example-menu-searchable
|
|
12081
|
+
* @exampleComponent limel-example-menu-hotkeys
|
|
12082
|
+
* @exampleComponent limel-example-menu-searchable-hotkeys
|
|
11980
12083
|
* @exampleComponent limel-example-menu-composite
|
|
11981
12084
|
*/
|
|
11982
12085
|
"limel-menu": LocalJSX.IntrinsicElements["limel-menu"] & JSXBase.HTMLAttributes<HTMLLimelMenuElement>;
|
package/package.json
CHANGED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
function getUserAgent() {
|
|
4
|
-
var _a;
|
|
5
|
-
return typeof navigator === 'undefined' ? '' : ((_a = navigator.userAgent) !== null && _a !== void 0 ? _a : '');
|
|
6
|
-
}
|
|
7
|
-
/**
|
|
8
|
-
*
|
|
9
|
-
*/
|
|
10
|
-
function isIOSDevice() {
|
|
11
|
-
const userAgent = getUserAgent();
|
|
12
|
-
return /iPad|iPhone|iPod/i.test(userAgent) && !globalThis.MSStream;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
*
|
|
16
|
-
*/
|
|
17
|
-
function isAndroidDevice() {
|
|
18
|
-
const userAgent = getUserAgent();
|
|
19
|
-
return /Android/i.test(userAgent);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
*
|
|
23
|
-
*/
|
|
24
|
-
function isMobileDevice() {
|
|
25
|
-
return isAndroidDevice() || isIOSDevice();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
exports.isAndroidDevice = isAndroidDevice;
|
|
29
|
-
exports.isIOSDevice = isIOSDevice;
|
|
30
|
-
exports.isMobileDevice = isMobileDevice;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
function getUserAgent() {
|
|
2
|
-
var _a;
|
|
3
|
-
return typeof navigator === 'undefined' ? '' : ((_a = navigator.userAgent) !== null && _a !== void 0 ? _a : '');
|
|
4
|
-
}
|
|
5
|
-
/**
|
|
6
|
-
*
|
|
7
|
-
*/
|
|
8
|
-
function isIOSDevice() {
|
|
9
|
-
const userAgent = getUserAgent();
|
|
10
|
-
return /iPad|iPhone|iPod/i.test(userAgent) && !globalThis.MSStream;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
*
|
|
14
|
-
*/
|
|
15
|
-
function isAndroidDevice() {
|
|
16
|
-
const userAgent = getUserAgent();
|
|
17
|
-
return /Android/i.test(userAgent);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
*
|
|
21
|
-
*/
|
|
22
|
-
function isMobileDevice() {
|
|
23
|
-
return isAndroidDevice() || isIOSDevice();
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export { isAndroidDevice as a, isMobileDevice as b, isIOSDevice as i };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as e,h as r,H as t}from"./p-DBTJNfo7.js";const o=class{constructor(r){e(this,r),this.showChevron=!1}render(){return r(t,{key:"9e84c6ecc29e50b5a4e871d646fb11539e5fe86f"},this.renderCommandText(),this.renderBadge(),this.renderChevron())}renderCommandText(){if(this.commandText)return r("span",{class:"command-text"},this.commandText)}renderBadge(){if(void 0!==this.badge)return r("limel-badge",{label:String(this.badge)})}renderChevron(){if(this.showChevron)return r("div",{class:"chevron","aria-hidden":"true"})}};o.style='@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}';export{o as limel_menu_item_meta}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as o,h as t,H as e,a}from"./p-DBTJNfo7.js";import{m as s,r as i}from"./p-BgTwPGeH.js";import{c as n}from"./p-JbKhhoXs.js";import{d as r,g as l}from"./p-CgNJbSP4.js";const d=class{constructor(t){o(this,t),this.elevated=!1,this.disabled=!1,this.tooltipId=n(),this.filterClickWhenDisabled=o=>{this.disabled&&o.preventDefault()}}connectedCallback(){this.initialize()}componentWillLoad(){s(this.host)}disconnectedCallback(){i(this.host)}componentDidLoad(){this.initialize()}initialize(){this.host.shadowRoot.querySelector(".mdc-icon-button")}render(){const o={};return this.host.hasAttribute("tabindex")&&(o.tabindex=this.host.getAttribute("tabindex")),t(e,{key:"75991185b5994f4fffb56a03031cfc0b570a3de4",onClick:this.filterClickWhenDisabled},t("button",Object.assign({key:"608c0abc14322e8b8755c4af5137880bb419824d",disabled:this.disabled,id:this.tooltipId},o),this.renderIcon(),this.renderTooltip(this.tooltipId)))}renderIcon(){var o,e;const a=l(this.icon),s=r(this.icon);return t("limel-icon",{name:a,"aria-label":s,"aria-hidden":s?null:"true",style:{color:`${null===(o=this.icon)||void 0===o?void 0:o.color}`,"--icon-background-color":`${null===(e=this.icon)||void 0===e?void 0:e.backgroundColor}`}})}renderTooltip(o){if(this.label)return t("limel-tooltip",{elementId:o,label:this.label,helperLabel:this.helperLabel})}static get delegatesFocus(){return!0}get host(){return a(this)}};d.style='@charset "UTF-8";:host([hidden]){display:none}:host([aria-expanded=true]) button,:host([aria-expanded]:not([aria-expanded=false])) button{box-shadow:var(--button-shadow-inset-pressed) !important}button{all:unset}button:not(:disabled){transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:var(--limel-theme-on-surface-color);background-color:var(--icon-background-color, transparent)}button:not(:disabled):hover,button:not(:disabled):focus,button:not(:disabled):focus-visible{will-change:color, background-color, box-shadow, transform}button:not(:disabled):hover,button:not(:disabled):focus-visible{transform:translate3d(0, 0.01rem, 0);color:var(--limel-theme-on-surface-color);background-color:var(--lime-elevated-surface-background-color)}button:not(:disabled):hover{box-shadow:var(--button-shadow-hovered)}button:not(:disabled):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button:not(:disabled):hover,button:not(:disabled):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button:not(:disabled):focus{outline:none}button:not(:disabled):focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button{display:inline-flex;align-items:center;justify-content:center;height:2.25rem;width:2.25rem;border-radius:50%}button:disabled{cursor:not-allowed;color:var(--limel-theme-text-disabled-on-background-color)}:host([elevated]) button:not(:hover):not(:active):not(:disabled):not(:focus-visible){box-shadow:var(--button-shadow-normal)}:host([elevated]) button:disabled{box-shadow:var(--button-shadow-normal)}limel-icon{padding:0.25rem;width:1.75rem}';export{d as limel_icon_button}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
function n(){var n;return"undefined"==typeof navigator?"":null!==(n=navigator.userAgent)&&void 0!==n?n:""}function i(){const i=n();return/iPad|iPhone|iPod/i.test(i)&&!globalThis.MSStream}function o(){const i=n();return/Android/i.test(i)}function t(){return o()||i()}export{o as a,t as b,i}
|