@limetech/lime-elements 36.0.0-next.9 → 36.1.0-dev.1
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/{checkbox.template-b6c6562c.js → checkbox.template-ac867c17.js} +1 -1
- package/dist/cjs/{dateFormatter-05d80b12.js → dateFormatter-d7a8d40d.js} +1 -1
- package/dist/cjs/{index-2a28697b.js → index-287e25e0.js} +424 -246
- package/dist/cjs/lime-elements.cjs.js +3 -3
- package/dist/cjs/limel-badge.cjs.entry.js +24 -3
- package/dist/cjs/limel-banner.cjs.entry.js +3 -1
- package/dist/cjs/limel-button-group.cjs.entry.js +3 -8
- package/dist/cjs/{limel-button.cjs.entry.js → limel-button_2.cjs.entry.js} +117 -21
- package/dist/cjs/limel-checkbox.cjs.entry.js +10 -26
- package/dist/cjs/limel-chip-set.cjs.entry.js +40 -63
- package/dist/cjs/limel-circular-progress.cjs.entry.js +10 -15
- package/dist/cjs/limel-code-editor.cjs.entry.js +1693 -86
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +5 -6
- package/dist/cjs/limel-color-picker-palette.cjs.entry.js +5 -1
- package/dist/cjs/limel-color-picker.cjs.entry.js +8 -2
- package/dist/cjs/limel-config.cjs.entry.js +2 -1
- package/dist/cjs/limel-date-picker.cjs.entry.js +18 -36
- package/dist/cjs/limel-dialog.cjs.entry.js +3 -11
- package/dist/cjs/limel-dock-button.cjs.entry.js +30 -14
- package/dist/cjs/limel-dock.cjs.entry.js +12 -47
- package/dist/cjs/limel-file.cjs.entry.js +10 -24
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +151 -50
- package/dist/cjs/limel-flex-container.cjs.entry.js +1 -13
- package/dist/cjs/limel-form.cjs.entry.js +327 -328
- package/dist/cjs/limel-grid.cjs.entry.js +1 -1
- package/dist/cjs/limel-header.cjs.entry.js +5 -1
- package/dist/cjs/limel-icon-button.cjs.entry.js +3 -8
- package/dist/cjs/limel-icon.cjs.entry.js +4 -1
- package/dist/cjs/limel-input-field.cjs.entry.js +40 -66
- package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -7
- package/dist/cjs/limel-list_2.cjs.entry.js +9 -18
- package/dist/cjs/limel-menu-list.cjs.entry.js +8 -16
- package/dist/cjs/limel-picker.cjs.entry.js +14 -39
- package/dist/cjs/limel-popover_4.cjs.entry.js +14 -13
- package/dist/cjs/limel-portal.cjs.entry.js +63 -73
- package/dist/cjs/limel-progress-flow-item.cjs.entry.js +5 -14
- package/dist/cjs/limel-progress-flow.cjs.entry.js +4 -20
- package/dist/cjs/limel-select.cjs.entry.js +12 -30
- package/dist/cjs/limel-shortcut.cjs.entry.js +52 -0
- package/dist/cjs/limel-slider.cjs.entry.js +12 -33
- package/dist/cjs/limel-snackbar.cjs.entry.js +7 -5
- package/dist/cjs/limel-spinner.cjs.entry.js +1 -7
- package/dist/cjs/limel-split-button.cjs.entry.js +27 -0
- package/dist/cjs/limel-switch.cjs.entry.js +6 -19
- package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -5
- package/dist/cjs/limel-tab-panel.cjs.entry.js +2 -5
- package/dist/cjs/limel-table.cjs.entry.js +33 -33
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{moment-5cfac5cd.js → moment-d1e35cdc.js} +2 -2
- package/dist/cjs/{translations-5a8d7f6c.js → translations-ca7279bc.js} +6 -0
- package/dist/collection/collection-manifest.json +4 -2
- package/dist/collection/components/badge/badge.css +13 -0
- package/dist/collection/components/badge/badge.js +60 -28
- package/dist/collection/components/banner/banner.js +88 -83
- package/dist/collection/components/button/button.css +15 -8
- package/dist/collection/components/button/button.js +148 -160
- package/dist/collection/components/button-group/button-group.js +81 -79
- package/dist/collection/components/checkbox/checkbox.js +172 -176
- package/dist/collection/components/checkbox/checkbox.template.js +15 -23
- package/dist/collection/components/chip-set/chip-set.css +10 -2
- package/dist/collection/components/chip-set/chip-set.js +500 -534
- package/dist/collection/components/circular-progress/circular-progress.css +27 -5
- package/dist/collection/components/circular-progress/circular-progress.js +129 -113
- package/dist/collection/components/code-editor/code-editor.css +153 -1
- package/dist/collection/components/code-editor/code-editor.js +219 -135
- package/dist/collection/components/collapsible-section/collapsible-section.css +8 -7
- package/dist/collection/components/collapsible-section/collapsible-section.js +120 -124
- package/dist/collection/components/color-picker/color-picker-palette.js +102 -92
- package/dist/collection/components/color-picker/color-picker.js +143 -131
- package/dist/collection/components/config/config.js +21 -17
- package/dist/collection/components/date-picker/date-picker.js +255 -245
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.css +595 -166
- package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +150 -143
- package/dist/collection/components/date-picker/pickers/QuarterPicker.js +1 -3
- package/dist/collection/components/dialog/dialog.js +134 -142
- package/dist/collection/components/dock/dock-button/dock-button.css +15 -9
- package/dist/collection/components/dock/dock-button/dock-button.js +158 -124
- package/dist/collection/components/dock/dock.css +7 -3
- package/dist/collection/components/dock/dock.js +207 -205
- package/dist/collection/components/file/file.js +187 -191
- package/dist/collection/components/flex-container/flex-container.js +96 -102
- package/dist/collection/components/form/form.js +158 -150
- package/dist/collection/components/grid/grid.js +11 -7
- package/dist/collection/components/header/header.js +89 -87
- package/dist/collection/components/icon/icon.js +79 -66
- package/dist/collection/components/icon-button/icon-button.js +85 -85
- package/dist/collection/components/input-field/input-field.css +9 -8
- package/dist/collection/components/input-field/input-field.js +494 -510
- package/dist/collection/components/linear-progress/linear-progress.js +57 -61
- package/dist/collection/components/list/list-renderer.js +3 -12
- package/dist/collection/components/list/list.js +167 -164
- package/dist/collection/components/list/radio-button/radio-button.template.js +2 -8
- package/dist/collection/components/menu/menu.js +185 -208
- package/dist/collection/components/menu-list/menu-list-renderer.js +2 -9
- package/dist/collection/components/menu-list/menu-list.js +150 -167
- package/dist/collection/components/menu-surface/menu-surface.js +69 -64
- package/dist/collection/components/picker/picker.js +412 -427
- package/dist/collection/components/popover/popover.js +79 -74
- package/dist/collection/components/popover-surface/popover-surface.css +9 -4
- package/dist/collection/components/popover-surface/popover-surface.js +34 -25
- package/dist/collection/components/portal/portal.js +145 -158
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +21 -8
- package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.js +90 -94
- package/dist/collection/components/progress-flow/progress-flow.js +93 -101
- package/dist/collection/components/select/select.css +10 -11
- package/dist/collection/components/select/select.js +206 -211
- package/dist/collection/components/select/select.template.js +10 -25
- package/dist/collection/components/shortcut/shortcut.css +91 -0
- package/dist/collection/components/shortcut/shortcut.js +194 -0
- package/dist/collection/components/slider/slider.js +233 -264
- package/dist/collection/components/snackbar/snackbar.js +175 -169
- package/dist/collection/components/spinner/spinner.js +56 -85
- package/dist/collection/components/split-button/split-button.css +75 -0
- package/dist/collection/components/split-button/split-button.js +168 -0
- package/dist/collection/components/switch/switch.js +117 -129
- package/dist/collection/components/tab-bar/tab-bar.js +87 -92
- package/dist/collection/components/tab-panel/tab-panel.js +64 -61
- package/dist/collection/components/table/columns.js +1 -0
- package/dist/collection/components/table/layout.js +8 -0
- package/dist/collection/components/table/table.css +89 -61
- package/dist/collection/components/table/table.js +453 -432
- package/dist/collection/components/tooltip/tooltip-content.js +70 -61
- package/dist/collection/components/tooltip/tooltip.js +96 -91
- package/dist/collection/icons/angle_left.svg +593 -0
- package/dist/collection/icons/angle_right.svg +593 -0
- package/dist/collection/icons/external_link.svg +593 -0
- package/dist/collection/icons/high_importance.svg +593 -0
- package/dist/collection/icons/unit-test.svg +593 -0
- package/dist/collection/style/internal/codemirror-tooltip.scss +19 -0
- package/dist/collection/style/internal/z-index.scss +0 -7
- package/dist/collection/style/mixins.scss +11 -0
- package/dist/collection/translations/da.js +1 -0
- package/dist/collection/translations/en.js +1 -0
- package/dist/collection/translations/fi.js +1 -0
- package/dist/collection/translations/nl.js +1 -0
- package/dist/collection/translations/no.js +1 -0
- package/dist/collection/translations/sv.js +1 -0
- package/dist/esm/{checkbox.template-2f1bbc98.js → checkbox.template-fc7fcd06.js} +1 -1
- package/dist/esm/{dateFormatter-2cad0292.js → dateFormatter-784c3334.js} +1 -1
- package/dist/esm/{index-11cd0b60.js → index-cdfd351d.js} +424 -246
- package/dist/esm/lime-elements.js +3 -3
- package/dist/esm/limel-badge.entry.js +24 -3
- package/dist/esm/limel-banner.entry.js +3 -1
- package/dist/esm/limel-button-group.entry.js +3 -8
- package/dist/esm/{limel-button.entry.js → limel-button_2.entry.js} +117 -22
- package/dist/esm/limel-checkbox.entry.js +10 -26
- package/dist/esm/limel-chip-set.entry.js +40 -63
- package/dist/esm/limel-circular-progress.entry.js +10 -15
- package/dist/esm/limel-code-editor.entry.js +1693 -86
- package/dist/esm/limel-collapsible-section.entry.js +5 -6
- package/dist/esm/limel-color-picker-palette.entry.js +5 -1
- package/dist/esm/limel-color-picker.entry.js +8 -2
- package/dist/esm/limel-config.entry.js +2 -1
- package/dist/esm/limel-date-picker.entry.js +18 -36
- package/dist/esm/limel-dialog.entry.js +3 -11
- package/dist/esm/limel-dock-button.entry.js +30 -14
- package/dist/esm/limel-dock.entry.js +12 -47
- package/dist/esm/limel-file.entry.js +10 -24
- package/dist/esm/limel-flatpickr-adapter.entry.js +151 -50
- package/dist/esm/limel-flex-container.entry.js +1 -13
- package/dist/esm/limel-form.entry.js +327 -328
- package/dist/esm/limel-grid.entry.js +1 -1
- package/dist/esm/limel-header.entry.js +5 -1
- package/dist/esm/limel-icon-button.entry.js +3 -8
- package/dist/esm/limel-icon.entry.js +4 -1
- package/dist/esm/limel-input-field.entry.js +40 -66
- package/dist/esm/limel-linear-progress.entry.js +1 -7
- package/dist/esm/limel-list_2.entry.js +9 -18
- package/dist/esm/limel-menu-list.entry.js +8 -16
- package/dist/esm/limel-picker.entry.js +14 -39
- package/dist/esm/limel-popover_4.entry.js +14 -13
- package/dist/esm/limel-portal.entry.js +63 -73
- package/dist/esm/limel-progress-flow-item.entry.js +5 -14
- package/dist/esm/limel-progress-flow.entry.js +4 -20
- package/dist/esm/limel-select.entry.js +12 -30
- package/dist/esm/limel-shortcut.entry.js +48 -0
- package/dist/esm/limel-slider.entry.js +12 -33
- package/dist/esm/limel-snackbar.entry.js +7 -5
- package/dist/esm/limel-spinner.entry.js +1 -7
- package/dist/esm/limel-split-button.entry.js +23 -0
- package/dist/esm/limel-switch.entry.js +6 -19
- package/dist/esm/limel-tab-bar.entry.js +2 -5
- package/dist/esm/limel-tab-panel.entry.js +2 -5
- package/dist/esm/limel-table.entry.js +33 -33
- package/dist/esm/loader.js +3 -3
- package/dist/esm/{moment-367e51c5.js → moment-faa8a4a8.js} +2 -2
- package/dist/esm/polyfills/css-shim.js +1 -1
- package/dist/esm/{translations-682e905e.js → translations-0d0ee941.js} +6 -0
- package/dist/lime-elements/lime-elements.css +1 -1
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/p-059e0a64.entry.js +1 -0
- package/dist/lime-elements/{p-440454ed.entry.js → p-06f2f6b4.entry.js} +1 -1
- package/dist/lime-elements/{p-71efe2ca.entry.js → p-0dbde06f.entry.js} +1 -1
- package/dist/lime-elements/p-12a7453b.entry.js +73 -0
- package/dist/lime-elements/p-15c2eb16.entry.js +1 -0
- package/dist/lime-elements/{p-c80acfb2.entry.js → p-15ca0d70.entry.js} +4 -4
- package/dist/lime-elements/{p-ed65468d.entry.js → p-16eb9071.entry.js} +1 -1
- package/dist/lime-elements/{p-1ede893b.js → p-1af8258b.js} +1 -1
- package/dist/lime-elements/p-246862ec.js +1 -0
- package/dist/lime-elements/p-28dffd9e.entry.js +1 -0
- package/dist/lime-elements/p-334b5f82.entry.js +37 -0
- package/dist/lime-elements/p-36a3b897.entry.js +1 -0
- package/dist/lime-elements/p-4b426b7e.entry.js +11 -0
- package/dist/lime-elements/p-4eda8b67.entry.js +82 -0
- package/dist/lime-elements/{p-9af0704c.entry.js → p-4fb4e89b.entry.js} +1 -1
- package/dist/lime-elements/{p-a5af84a7.entry.js → p-5338663b.entry.js} +1 -1
- package/dist/lime-elements/p-5ce60a32.entry.js +126 -0
- package/dist/lime-elements/p-5f13035a.entry.js +1 -0
- package/dist/lime-elements/{p-42b67933.entry.js → p-600464a9.entry.js} +1 -1
- package/dist/lime-elements/p-6534e16a.entry.js +1 -0
- package/dist/lime-elements/p-6a4a5ddd.entry.js +1 -0
- package/dist/lime-elements/p-6c38b505.entry.js +1 -0
- package/dist/lime-elements/{p-d76f896d.js → p-73df4d83.js} +1 -1
- package/dist/lime-elements/p-744c21f8.entry.js +1 -0
- package/dist/lime-elements/p-75d01713.entry.js +1 -0
- package/dist/lime-elements/p-768b7cbb.entry.js +1 -0
- package/dist/lime-elements/{p-6e7809a6.entry.js → p-82cd7bb6.entry.js} +1 -1
- package/dist/lime-elements/p-84a137a7.entry.js +1 -0
- package/dist/lime-elements/p-8715eac0.entry.js +1 -0
- package/dist/lime-elements/{p-8827628d.entry.js → p-8fb83e83.entry.js} +2 -2
- package/dist/lime-elements/p-90961075.entry.js +1 -0
- package/dist/lime-elements/p-945afca2.js +3 -0
- package/dist/lime-elements/p-9984b31c.entry.js +1 -0
- package/dist/lime-elements/p-9bd76629.entry.js +59 -0
- package/dist/lime-elements/p-9f19e0c1.entry.js +1 -0
- package/dist/lime-elements/p-ace4e596.entry.js +1 -0
- package/dist/lime-elements/p-cad7cda1.entry.js +16 -0
- package/dist/lime-elements/p-cfaa685f.entry.js +1 -0
- package/dist/lime-elements/{p-94899019.entry.js → p-d1187867.entry.js} +1 -1
- package/dist/lime-elements/{p-aa66620a.entry.js → p-d3ebc657.entry.js} +2 -2
- package/dist/lime-elements/p-d4e788e1.js +2 -0
- package/dist/lime-elements/p-d512656b.entry.js +1 -0
- package/dist/lime-elements/p-d8e5a9ee.entry.js +1 -0
- package/dist/lime-elements/p-dcd2a664.entry.js +16 -0
- package/dist/lime-elements/p-de161bb5.entry.js +1 -0
- package/dist/lime-elements/p-e4bca82b.entry.js +1 -0
- package/dist/lime-elements/p-e7bb664f.entry.js +1 -0
- package/dist/lime-elements/p-ef04b849.entry.js +82 -0
- package/dist/lime-elements/style/internal/codemirror-tooltip.scss +19 -0
- package/dist/lime-elements/style/internal/z-index.scss +0 -7
- package/dist/lime-elements/style/mixins.scss +11 -0
- package/dist/loader/package.json +1 -0
- package/dist/types/components/badge/badge.d.ts +12 -4
- package/dist/types/components/chip-set/chip-set.d.ts +3 -2
- package/dist/types/components/circular-progress/circular-progress.d.ts +5 -0
- package/dist/types/components/code-editor/code-editor.d.ts +14 -0
- package/dist/types/components/date-picker/date-picker.d.ts +4 -0
- package/dist/types/components/dock/dock-button/dock-button.d.ts +21 -5
- package/dist/types/components/dock/dock.d.ts +11 -3
- package/dist/types/components/input-field/input-field.d.ts +6 -0
- package/dist/types/components/menu/menu.d.ts +1 -2
- package/dist/types/components/menu-list/menu-list.d.ts +2 -7
- package/dist/types/components/picker/picker.d.ts +2 -2
- package/dist/types/components/shortcut/shortcut.d.ts +57 -0
- package/dist/types/components/split-button/split-button.d.ts +45 -0
- package/dist/types/components/tab-bar/tab.types.d.ts +1 -1
- package/dist/types/components/table/layout.d.ts +2 -0
- package/dist/types/components/table/table.d.ts +16 -1
- package/dist/types/components/table/table.types.d.ts +4 -0
- package/dist/types/components.d.ts +390 -80
- package/dist/types/stencil-public-runtime.d.ts +20 -4
- package/dist/types/translations/da.d.ts +1 -0
- package/dist/types/translations/en.d.ts +1 -0
- package/dist/types/translations/fi.d.ts +1 -0
- package/dist/types/translations/nl.d.ts +1 -0
- package/dist/types/translations/no.d.ts +1 -0
- package/dist/types/translations/sv.d.ts +1 -0
- package/package.json +27 -26
- package/dist/cjs/limel-menu.cjs.entry.js +0 -148
- package/dist/esm/limel-menu.entry.js +0 -144
- package/dist/lime-elements/p-009de50e.entry.js +0 -1
- package/dist/lime-elements/p-19f72dab.entry.js +0 -1
- package/dist/lime-elements/p-1a2ffe75.entry.js +0 -82
- package/dist/lime-elements/p-1dfccbc5.entry.js +0 -1
- package/dist/lime-elements/p-1e59114e.entry.js +0 -1
- package/dist/lime-elements/p-2639edf9.entry.js +0 -73
- package/dist/lime-elements/p-3af5f9ad.js +0 -3
- package/dist/lime-elements/p-3bf54a4c.js +0 -1
- package/dist/lime-elements/p-53e01330.entry.js +0 -1
- package/dist/lime-elements/p-5ad60e14.entry.js +0 -126
- package/dist/lime-elements/p-63e25a0a.entry.js +0 -1
- package/dist/lime-elements/p-64f068a8.entry.js +0 -1
- package/dist/lime-elements/p-6884b012.entry.js +0 -1
- package/dist/lime-elements/p-6966b5df.entry.js +0 -1
- package/dist/lime-elements/p-6b1bc80f.entry.js +0 -1
- package/dist/lime-elements/p-722d32e0.entry.js +0 -1
- package/dist/lime-elements/p-75152d89.entry.js +0 -1
- package/dist/lime-elements/p-7e571ec6.entry.js +0 -11
- package/dist/lime-elements/p-7ee4b825.entry.js +0 -1
- package/dist/lime-elements/p-93cd2268.entry.js +0 -1
- package/dist/lime-elements/p-95f275ab.entry.js +0 -1
- package/dist/lime-elements/p-97d6c4a6.entry.js +0 -1
- package/dist/lime-elements/p-995bbd2a.entry.js +0 -1
- package/dist/lime-elements/p-a465084b.entry.js +0 -82
- package/dist/lime-elements/p-af0ec482.entry.js +0 -16
- package/dist/lime-elements/p-b0046fcd.entry.js +0 -1
- package/dist/lime-elements/p-b95e80c9.entry.js +0 -1
- package/dist/lime-elements/p-bd098a11.entry.js +0 -1
- package/dist/lime-elements/p-d1ee4501.entry.js +0 -37
- package/dist/lime-elements/p-d74fa89e.entry.js +0 -1
- package/dist/lime-elements/p-e98d76e8.entry.js +0 -59
- package/dist/lime-elements/p-e9a95b8f.js +0 -1
- package/dist/lime-elements/p-f0c9dadd.entry.js +0 -1
- package/dist/lime-elements/p-f0e872b6.entry.js +0 -16
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
*/
|
|
13
13
|
.button {
|
|
14
14
|
all: unset;
|
|
15
|
+
cursor: pointer;
|
|
16
|
+
transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
15
17
|
box-sizing: border-box;
|
|
16
18
|
display: flex;
|
|
17
19
|
align-items: center;
|
|
@@ -25,20 +27,20 @@
|
|
|
25
27
|
color: var(--limel-dock-item-text-color);
|
|
26
28
|
background-color: var(--dock-background-color);
|
|
27
29
|
}
|
|
28
|
-
.button:
|
|
29
|
-
box-shadow: var(--shadow-depth-8-focused);
|
|
30
|
-
}
|
|
31
|
-
.dock-item:not(.selected) .button:not(.disabled) {
|
|
32
|
-
cursor: pointer;
|
|
33
|
-
transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
|
|
34
|
-
}
|
|
35
|
-
.dock-item:not(.selected) .button:not(.disabled):hover {
|
|
30
|
+
.button:hover {
|
|
36
31
|
box-shadow: var(--button-shadow-hovered);
|
|
37
32
|
}
|
|
38
|
-
.
|
|
33
|
+
.button:active {
|
|
39
34
|
box-shadow: var(--button-shadow-pressed);
|
|
40
35
|
transform: translate3d(0, 0.08rem, 0);
|
|
41
36
|
}
|
|
37
|
+
.button:focus {
|
|
38
|
+
outline: none;
|
|
39
|
+
}
|
|
40
|
+
.button:focus-visible {
|
|
41
|
+
outline: none;
|
|
42
|
+
box-shadow: var(--shadow-depth-8-focused);
|
|
43
|
+
}
|
|
42
44
|
.button:hover {
|
|
43
45
|
z-index: 1;
|
|
44
46
|
}
|
|
@@ -47,12 +49,16 @@
|
|
|
47
49
|
background-color: var(--dock-item-background-color--selected, rgb(var(--contrast-200)));
|
|
48
50
|
box-shadow: var(--button-shadow-inset);
|
|
49
51
|
}
|
|
52
|
+
.button.selected:focus-visible {
|
|
53
|
+
box-shadow: var(--button-shadow-inset), var(--shadow-depth-8-focused);
|
|
54
|
+
}
|
|
50
55
|
.button.selected .icon {
|
|
51
56
|
color: var(--limel-dock-item-text--selected);
|
|
52
57
|
}
|
|
53
58
|
|
|
54
59
|
limel-popover {
|
|
55
60
|
display: grid;
|
|
61
|
+
grid-template-columns: 100%;
|
|
56
62
|
}
|
|
57
63
|
|
|
58
64
|
.text {
|
|
@@ -1,22 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { h, } from '@stencil/core';
|
|
2
2
|
import { createRandomString } from '../../../util/random-string';
|
|
3
3
|
/**
|
|
4
4
|
* @private
|
|
5
5
|
*/
|
|
6
6
|
export class DockButton {
|
|
7
7
|
constructor() {
|
|
8
|
-
/**
|
|
9
|
-
* @inheritdoc
|
|
10
|
-
*/
|
|
11
|
-
this.expanded = false;
|
|
12
|
-
/**
|
|
13
|
-
* @inheritdoc
|
|
14
|
-
*/
|
|
15
|
-
this.useMobileLayout = false;
|
|
16
|
-
this.isOpen = false;
|
|
17
8
|
this.openPopover = (event) => {
|
|
18
9
|
event.stopPropagation();
|
|
19
10
|
this.isOpen = true;
|
|
11
|
+
this.menuOpen.emit(this.item);
|
|
12
|
+
};
|
|
13
|
+
this.setCustomComponentElement = (element) => {
|
|
14
|
+
this.customComponentElement = element;
|
|
20
15
|
};
|
|
21
16
|
this.onPopoverClose = () => {
|
|
22
17
|
this.isOpen = false;
|
|
@@ -24,8 +19,18 @@ export class DockButton {
|
|
|
24
19
|
};
|
|
25
20
|
this.handleClick = (event) => {
|
|
26
21
|
event.stopPropagation();
|
|
27
|
-
this.
|
|
22
|
+
this.itemSelected.emit(this.item);
|
|
28
23
|
};
|
|
24
|
+
this.focusCustomComponentElement = () => {
|
|
25
|
+
var _a, _b, _c;
|
|
26
|
+
if ((_b = (_a = this.customComponentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.delegatesFocus) {
|
|
27
|
+
(_c = this.customComponentElement) === null || _c === void 0 ? void 0 : _c.focus();
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
this.item = undefined;
|
|
31
|
+
this.expanded = false;
|
|
32
|
+
this.useMobileLayout = false;
|
|
33
|
+
this.isOpen = false;
|
|
29
34
|
this.tooltipId = createRandomString();
|
|
30
35
|
}
|
|
31
36
|
render() {
|
|
@@ -35,22 +40,24 @@ export class DockButton {
|
|
|
35
40
|
}
|
|
36
41
|
return this.renderButton(this.handleClick);
|
|
37
42
|
}
|
|
43
|
+
openWatcher() {
|
|
44
|
+
if (!this.isOpen) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const observer = new IntersectionObserver(this.focusCustomComponentElement);
|
|
48
|
+
observer.observe(this.customComponentElement);
|
|
49
|
+
}
|
|
38
50
|
renderPopover() {
|
|
39
51
|
var _a;
|
|
40
52
|
const CustomComponent = (_a = this.item) === null || _a === void 0 ? void 0 : _a.dockMenu.componentName;
|
|
41
|
-
return (h("limel-popover", { openDirection: this.useMobileLayout ? 'top' : 'right', open: this.isOpen || this.item.dockMenu.menuOpen, onClose: this.onPopoverClose },
|
|
42
|
-
this.renderButton(this.openPopover, 'trigger'),
|
|
43
|
-
h(CustomComponent, Object.assign({}, (this.item.dockMenu.props || {}), { onClose: this.onPopoverClose }))));
|
|
53
|
+
return (h("limel-popover", { openDirection: this.useMobileLayout ? 'top' : 'right', open: this.isOpen || this.item.dockMenu.menuOpen, onClose: this.onPopoverClose }, this.renderButton(this.openPopover, 'trigger'), h(CustomComponent, Object.assign({ ref: this.setCustomComponentElement }, (this.item.dockMenu.props || {}), { onClose: this.onPopoverClose }))));
|
|
44
54
|
}
|
|
45
55
|
renderButton(handleClick, slot) {
|
|
46
56
|
var _a;
|
|
47
57
|
return (h("button", { slot: slot, tabindex: "0", id: this.tooltipId, type: "button", class: {
|
|
48
58
|
button: true,
|
|
49
59
|
selected: (_a = this.item) === null || _a === void 0 ? void 0 : _a.selected,
|
|
50
|
-
}, onClick: handleClick },
|
|
51
|
-
this.renderIcon(),
|
|
52
|
-
this.renderLabel(),
|
|
53
|
-
this.renderTooltip()));
|
|
60
|
+
}, onClick: handleClick }, this.renderIcon(), this.renderLabel(), this.renderTooltip()));
|
|
54
61
|
}
|
|
55
62
|
renderIcon() {
|
|
56
63
|
if (!this.item.icon) {
|
|
@@ -72,116 +79,143 @@ export class DockButton {
|
|
|
72
79
|
}
|
|
73
80
|
}
|
|
74
81
|
static get is() { return "limel-dock-button"; }
|
|
75
|
-
static get originalStyleUrls() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
"
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
82
|
+
static get originalStyleUrls() {
|
|
83
|
+
return {
|
|
84
|
+
"$": ["dock-button.scss"]
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
static get styleUrls() {
|
|
88
|
+
return {
|
|
89
|
+
"$": ["dock-button.css"]
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
static get properties() {
|
|
93
|
+
return {
|
|
94
|
+
"item": {
|
|
95
|
+
"type": "unknown",
|
|
96
|
+
"mutable": false,
|
|
97
|
+
"complexType": {
|
|
98
|
+
"original": "DockItem",
|
|
99
|
+
"resolved": "DockItem",
|
|
100
|
+
"references": {
|
|
101
|
+
"DockItem": {
|
|
102
|
+
"location": "import",
|
|
103
|
+
"path": "../dock.types"
|
|
104
|
+
}
|
|
92
105
|
}
|
|
106
|
+
},
|
|
107
|
+
"required": true,
|
|
108
|
+
"optional": false,
|
|
109
|
+
"docs": {
|
|
110
|
+
"tags": [],
|
|
111
|
+
"text": "Item that is placed in the dock."
|
|
93
112
|
}
|
|
94
113
|
},
|
|
95
|
-
"
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
"
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
},
|
|
113
|
-
"required": false,
|
|
114
|
-
"optional": true,
|
|
115
|
-
"docs": {
|
|
116
|
-
"tags": [{
|
|
117
|
-
"name": "inheritdoc",
|
|
118
|
-
"text": undefined
|
|
119
|
-
}],
|
|
120
|
-
"text": ""
|
|
114
|
+
"expanded": {
|
|
115
|
+
"type": "boolean",
|
|
116
|
+
"mutable": false,
|
|
117
|
+
"complexType": {
|
|
118
|
+
"original": "boolean",
|
|
119
|
+
"resolved": "boolean",
|
|
120
|
+
"references": {}
|
|
121
|
+
},
|
|
122
|
+
"required": false,
|
|
123
|
+
"optional": true,
|
|
124
|
+
"docs": {
|
|
125
|
+
"tags": [],
|
|
126
|
+
"text": "When the dock is expanded or collapsed, dock items\nshow labels and tooltips as suitable for the layout."
|
|
127
|
+
},
|
|
128
|
+
"attribute": "expanded",
|
|
129
|
+
"reflect": true,
|
|
130
|
+
"defaultValue": "false"
|
|
121
131
|
},
|
|
122
|
-
"
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
"
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
"
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
"location": "import",
|
|
167
|
-
"path": "../dock.types"
|
|
132
|
+
"useMobileLayout": {
|
|
133
|
+
"type": "boolean",
|
|
134
|
+
"mutable": false,
|
|
135
|
+
"complexType": {
|
|
136
|
+
"original": "boolean",
|
|
137
|
+
"resolved": "boolean",
|
|
138
|
+
"references": {}
|
|
139
|
+
},
|
|
140
|
+
"required": false,
|
|
141
|
+
"optional": true,
|
|
142
|
+
"docs": {
|
|
143
|
+
"tags": [],
|
|
144
|
+
"text": "When dock is using mobile layout, dock items\nshow labels and tooltips as suitable for the layout."
|
|
145
|
+
},
|
|
146
|
+
"attribute": "use-mobile-layout",
|
|
147
|
+
"reflect": true,
|
|
148
|
+
"defaultValue": "false"
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
static get states() {
|
|
153
|
+
return {
|
|
154
|
+
"isOpen": {}
|
|
155
|
+
};
|
|
156
|
+
}
|
|
157
|
+
static get events() {
|
|
158
|
+
return [{
|
|
159
|
+
"method": "itemSelected",
|
|
160
|
+
"name": "itemSelected",
|
|
161
|
+
"bubbles": true,
|
|
162
|
+
"cancelable": true,
|
|
163
|
+
"composed": true,
|
|
164
|
+
"docs": {
|
|
165
|
+
"tags": [],
|
|
166
|
+
"text": "Fired when a dock item has been selected from the dock."
|
|
167
|
+
},
|
|
168
|
+
"complexType": {
|
|
169
|
+
"original": "DockItem",
|
|
170
|
+
"resolved": "DockItem",
|
|
171
|
+
"references": {
|
|
172
|
+
"DockItem": {
|
|
173
|
+
"location": "import",
|
|
174
|
+
"path": "../dock.types"
|
|
175
|
+
}
|
|
168
176
|
}
|
|
169
177
|
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
178
|
+
}, {
|
|
179
|
+
"method": "menuOpen",
|
|
180
|
+
"name": "menuOpen",
|
|
181
|
+
"bubbles": true,
|
|
182
|
+
"cancelable": true,
|
|
183
|
+
"composed": true,
|
|
184
|
+
"docs": {
|
|
185
|
+
"tags": [],
|
|
186
|
+
"text": "Fired when a dock menu is opened."
|
|
187
|
+
},
|
|
188
|
+
"complexType": {
|
|
189
|
+
"original": "DockItem",
|
|
190
|
+
"resolved": "DockItem",
|
|
191
|
+
"references": {
|
|
192
|
+
"DockItem": {
|
|
193
|
+
"location": "import",
|
|
194
|
+
"path": "../dock.types"
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
}, {
|
|
199
|
+
"method": "close",
|
|
200
|
+
"name": "close",
|
|
201
|
+
"bubbles": true,
|
|
202
|
+
"cancelable": true,
|
|
203
|
+
"composed": true,
|
|
204
|
+
"docs": {
|
|
205
|
+
"tags": [],
|
|
206
|
+
"text": "Fired when the popover is closed."
|
|
207
|
+
},
|
|
208
|
+
"complexType": {
|
|
209
|
+
"original": "void",
|
|
210
|
+
"resolved": "void",
|
|
211
|
+
"references": {}
|
|
212
|
+
}
|
|
213
|
+
}];
|
|
214
|
+
}
|
|
215
|
+
static get watchers() {
|
|
216
|
+
return [{
|
|
217
|
+
"propName": "isOpen",
|
|
218
|
+
"methodName": "openWatcher"
|
|
219
|
+
}];
|
|
220
|
+
}
|
|
187
221
|
}
|
|
@@ -92,15 +92,19 @@ nav::-webkit-scrollbar {
|
|
|
92
92
|
box-shadow: var(--button-shadow-pressed);
|
|
93
93
|
transform: translate3d(0, 0.08rem, 0);
|
|
94
94
|
}
|
|
95
|
+
.expand-shrink:focus {
|
|
96
|
+
outline: none;
|
|
97
|
+
}
|
|
98
|
+
.expand-shrink:focus-visible {
|
|
99
|
+
outline: none;
|
|
100
|
+
box-shadow: var(--shadow-depth-8-focused);
|
|
101
|
+
}
|
|
95
102
|
.expand-shrink.expanded {
|
|
96
103
|
justify-content: flex-end;
|
|
97
104
|
}
|
|
98
105
|
.expand-shrink.expanded limel-icon {
|
|
99
106
|
transform: rotateY(180deg);
|
|
100
107
|
}
|
|
101
|
-
.expand-shrink:focus-visible {
|
|
102
|
-
box-shadow: var(--shadow-depth-8-focused);
|
|
103
|
-
}
|
|
104
108
|
.expand-shrink limel-icon {
|
|
105
109
|
width: calc(var(--dock-expand-shrink-button-height) - 0.25rem);
|
|
106
110
|
color: var(--dock-item-icon-color, var(--limel-dock-item-text-color));
|