@limetech/lime-elements 36.0.0-next.3 → 36.0.0-next.30

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.
Files changed (121) hide show
  1. package/dist/cjs/{dateFormatter-05d80b12.js → dateFormatter-d7a8d40d.js} +1 -1
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-button.cjs.entry.js +32 -16
  4. package/dist/cjs/limel-chip-set.cjs.entry.js +19 -11
  5. package/dist/cjs/limel-code-editor.cjs.entry.js +1596 -2
  6. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  7. package/dist/cjs/{limel-color-picker-palette_2.cjs.entry.js → limel-color-picker-palette.cjs.entry.js} +0 -112
  8. package/dist/cjs/limel-date-picker.cjs.entry.js +3 -3
  9. package/dist/cjs/limel-dock-button.cjs.entry.js +105 -0
  10. package/dist/cjs/limel-dock.cjs.entry.js +104 -0
  11. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +2 -2
  12. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-input-field.cjs.entry.js +13 -6
  14. package/dist/cjs/{limel-list_3.cjs.entry.js → limel-list_2.cjs.entry.js} +0 -2018
  15. package/dist/cjs/limel-popover_4.cjs.entry.js +239 -0
  16. package/dist/cjs/limel-portal.cjs.entry.js +2024 -0
  17. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-select.cjs.entry.js +4 -5
  19. package/dist/cjs/limel-table.cjs.entry.js +16 -4
  20. package/dist/cjs/loader.cjs.js +1 -1
  21. package/dist/cjs/{moment-5cfac5cd.js → moment-d1e35cdc.js} +2 -2
  22. package/dist/collection/collection-manifest.json +2 -0
  23. package/dist/collection/components/button/button.css +44 -4
  24. package/dist/collection/components/button/button.js +56 -20
  25. package/dist/collection/components/chip-set/chip-set.css +6 -2
  26. package/dist/collection/components/chip-set/chip-set.js +21 -13
  27. package/dist/collection/components/code-editor/code-editor.css +153 -1
  28. package/dist/collection/components/code-editor/code-editor.js +90 -2
  29. package/dist/collection/components/collapsible-section/collapsible-section.css +8 -7
  30. package/dist/collection/components/date-picker/date-picker.js +18 -1
  31. package/dist/collection/components/dock/dock-button/dock-button.css +77 -0
  32. package/dist/collection/components/dock/dock-button/dock-button.js +224 -0
  33. package/dist/collection/components/dock/dock.css +111 -0
  34. package/dist/collection/components/dock/dock.js +300 -0
  35. package/dist/collection/components/dock/dock.types.js +1 -0
  36. package/dist/collection/components/input-field/input-field.js +32 -7
  37. package/dist/collection/components/popover-surface/popover-surface.css +5 -4
  38. package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +14 -5
  39. package/dist/collection/components/select/select.css +10 -11
  40. package/dist/collection/components/select/select.template.js +3 -4
  41. package/dist/collection/components/table/columns.js +1 -0
  42. package/dist/collection/components/table/layout.js +8 -0
  43. package/dist/collection/components/table/table.css +89 -61
  44. package/dist/collection/components/table/table.js +45 -14
  45. package/dist/collection/style/internal/codemirror-tooltip.scss +19 -0
  46. package/dist/collection/style/mixins.scss +11 -0
  47. package/dist/esm/{dateFormatter-2cad0292.js → dateFormatter-784c3334.js} +1 -1
  48. package/dist/esm/lime-elements.js +1 -1
  49. package/dist/esm/limel-button.entry.js +33 -17
  50. package/dist/esm/limel-chip-set.entry.js +19 -11
  51. package/dist/esm/limel-code-editor.entry.js +1596 -2
  52. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  53. package/dist/esm/{limel-color-picker-palette_2.entry.js → limel-color-picker-palette.entry.js} +2 -113
  54. package/dist/esm/limel-date-picker.entry.js +3 -3
  55. package/dist/esm/limel-dock-button.entry.js +101 -0
  56. package/dist/esm/limel-dock.entry.js +100 -0
  57. package/dist/esm/limel-flatpickr-adapter.entry.js +2 -2
  58. package/dist/esm/limel-form.entry.js +1 -1
  59. package/dist/esm/limel-input-field.entry.js +13 -6
  60. package/dist/esm/{limel-list_3.entry.js → limel-list_2.entry.js} +1 -2018
  61. package/dist/esm/limel-popover_4.entry.js +232 -0
  62. package/dist/esm/limel-portal.entry.js +2020 -0
  63. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  64. package/dist/esm/limel-select.entry.js +4 -5
  65. package/dist/esm/limel-table.entry.js +17 -5
  66. package/dist/esm/loader.js +1 -1
  67. package/dist/esm/{moment-367e51c5.js → moment-faa8a4a8.js} +2 -2
  68. package/dist/lime-elements/lime-elements.css +1 -1
  69. package/dist/lime-elements/lime-elements.esm.js +1 -1
  70. package/dist/lime-elements/p-009de50e.entry.js +1 -0
  71. package/dist/lime-elements/{p-7e571ec6.entry.js → p-0ba0c38a.entry.js} +1 -1
  72. package/dist/lime-elements/p-0e87d44d.entry.js +1 -0
  73. package/dist/lime-elements/p-1390fdcb.entry.js +126 -0
  74. package/dist/lime-elements/{p-08251941.entry.js → p-19f72dab.entry.js} +1 -1
  75. package/dist/lime-elements/p-3cf4aae0.entry.js +1 -0
  76. package/dist/lime-elements/p-5ef52589.entry.js +1 -0
  77. package/dist/lime-elements/p-63a57d32.entry.js +1 -0
  78. package/dist/lime-elements/p-653faf47.entry.js +1 -0
  79. package/dist/lime-elements/{p-d76f896d.js → p-73df4d83.js} +1 -1
  80. package/dist/lime-elements/p-93cd2268.entry.js +1 -0
  81. package/dist/lime-elements/p-93f42a32.entry.js +1 -0
  82. package/dist/lime-elements/p-945afca2.js +3 -0
  83. package/dist/lime-elements/p-b0e54dc2.entry.js +1 -0
  84. package/dist/lime-elements/{p-af0ec482.entry.js → p-c544c05b.entry.js} +1 -1
  85. package/dist/lime-elements/p-c89f2b52.entry.js +1 -0
  86. package/dist/lime-elements/p-cb8db8c2.entry.js +37 -0
  87. package/dist/lime-elements/p-f41567a1.entry.js +1 -0
  88. package/dist/lime-elements/p-f5df4d4f.entry.js +1 -0
  89. package/dist/lime-elements/style/internal/codemirror-tooltip.scss +19 -0
  90. package/dist/lime-elements/style/mixins.scss +11 -0
  91. package/dist/types/components/button/button.d.ts +10 -3
  92. package/dist/types/components/chip-set/chip-set.d.ts +3 -2
  93. package/dist/types/components/code-editor/code-editor.d.ts +14 -0
  94. package/dist/types/components/date-picker/date-picker.d.ts +4 -0
  95. package/dist/types/components/dock/dock-button/dock-button.d.ts +52 -0
  96. package/dist/types/components/dock/dock.d.ts +83 -0
  97. package/dist/types/components/dock/dock.types.d.ts +53 -0
  98. package/dist/types/components/input-field/input-field.d.ts +6 -0
  99. package/dist/types/components/table/layout.d.ts +2 -0
  100. package/dist/types/components/table/table.d.ts +16 -1
  101. package/dist/types/components/table/table.types.d.ts +4 -0
  102. package/dist/types/components.d.ts +176 -0
  103. package/dist/types/interface.d.ts +1 -0
  104. package/package.json +5 -4
  105. package/dist/cjs/limel-popover-surface.cjs.entry.js +0 -32
  106. package/dist/cjs/limel-tooltip_2.cjs.entry.js +0 -102
  107. package/dist/esm/limel-popover-surface.entry.js +0 -28
  108. package/dist/esm/limel-tooltip_2.entry.js +0 -97
  109. package/dist/lime-elements/p-1e59114e.entry.js +0 -1
  110. package/dist/lime-elements/p-22569fb6.entry.js +0 -1
  111. package/dist/lime-elements/p-3af5f9ad.js +0 -3
  112. package/dist/lime-elements/p-404e1465.entry.js +0 -1
  113. package/dist/lime-elements/p-5ad60e14.entry.js +0 -126
  114. package/dist/lime-elements/p-6966b5df.entry.js +0 -1
  115. package/dist/lime-elements/p-705334c1.entry.js +0 -1
  116. package/dist/lime-elements/p-75152d89.entry.js +0 -1
  117. package/dist/lime-elements/p-7ee4b825.entry.js +0 -1
  118. package/dist/lime-elements/p-87453b45.entry.js +0 -1
  119. package/dist/lime-elements/p-97d6c4a6.entry.js +0 -1
  120. package/dist/lime-elements/p-b95e80c9.entry.js +0 -1
  121. package/dist/lime-elements/p-d1ee4501.entry.js +0 -37
@@ -114,7 +114,7 @@ export class DatePicker {
114
114
  }
115
115
  const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
116
116
  return [
117
- h("limel-input-field", Object.assign({ disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, helperText: this.helperText, required: this.required, value: this.formattedValue, onFocus: this.showCalendar, onBlur: this.hideCalendar, onClick: this.onInputClick, onChange: this.handleInputElementChange, ref: (el) => (this.textField = el) }, inputProps)),
117
+ h("limel-input-field", Object.assign({ disabled: this.disabled, readonly: this.readonly, invalid: this.invalid, label: this.label, placeholder: this.placeholder, helperText: this.helperText, required: this.required, value: this.formattedValue, onFocus: this.showCalendar, onBlur: this.hideCalendar, onClick: this.onInputClick, onChange: this.handleInputElementChange, ref: (el) => (this.textField = el) }, inputProps)),
118
118
  h("limel-portal", { containerId: this.portalId, visible: this.showPortal, containerStyle: { 'z-index': dropdownZIndex } },
119
119
  h("limel-flatpickr-adapter", { format: this.internalFormat, language: this.language, type: this.type, value: this.value, ref: (el) => (this.datePickerCalendar = el), isOpen: this.showPortal, onChange: this.handleCalendarChange })),
120
120
  ];
@@ -298,6 +298,23 @@ export class DatePicker {
298
298
  "attribute": "label",
299
299
  "reflect": true
300
300
  },
301
+ "placeholder": {
302
+ "type": "string",
303
+ "mutable": false,
304
+ "complexType": {
305
+ "original": "string",
306
+ "resolved": "string",
307
+ "references": {}
308
+ },
309
+ "required": false,
310
+ "optional": false,
311
+ "docs": {
312
+ "tags": [],
313
+ "text": "The placeholder text shown inside the input field, when the field is focused and empty"
314
+ },
315
+ "attribute": "placeholder",
316
+ "reflect": true
317
+ },
301
318
  "helperText": {
302
319
  "type": "string",
303
320
  "mutable": false,
@@ -0,0 +1,77 @@
1
+ /*
2
+ * This file is imported into every component!
3
+ *
4
+ * Nothing in this file may output any CSS
5
+ * without being explicitly called by outside code.
6
+ */
7
+ /*
8
+ * This file is imported into every component!
9
+ *
10
+ * Nothing in this file may output any CSS
11
+ * without being explicitly used by outside code.
12
+ */
13
+ .button {
14
+ all: unset;
15
+ cursor: pointer;
16
+ transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
17
+ box-sizing: border-box;
18
+ display: flex;
19
+ align-items: center;
20
+ position: relative;
21
+ width: 100%;
22
+ height: var(--dock-item-height);
23
+ border-radius: 0.375rem;
24
+ font-size: 0.875rem;
25
+ padding: 0 0.5rem;
26
+ min-width: var(--dock-item-height);
27
+ color: var(--limel-dock-item-text-color);
28
+ background-color: var(--dock-background-color);
29
+ }
30
+ .button:hover {
31
+ box-shadow: var(--button-shadow-hovered);
32
+ }
33
+ .button:active {
34
+ box-shadow: var(--button-shadow-pressed);
35
+ transform: translate3d(0, 0.08rem, 0);
36
+ }
37
+ .button:focus {
38
+ outline: none;
39
+ }
40
+ .button:focus-visible {
41
+ outline: none;
42
+ box-shadow: var(--shadow-depth-8-focused);
43
+ }
44
+ .button:hover {
45
+ z-index: 1;
46
+ }
47
+ .button.selected {
48
+ color: var(--limel-dock-item-text-color--selected);
49
+ background-color: var(--dock-item-background-color--selected, rgb(var(--contrast-200)));
50
+ box-shadow: var(--button-shadow-inset);
51
+ }
52
+ .button.selected:focus-visible {
53
+ box-shadow: var(--button-shadow-inset), var(--shadow-depth-8-focused);
54
+ }
55
+ .button.selected .icon {
56
+ color: var(--limel-dock-item-text--selected);
57
+ }
58
+
59
+ limel-popover {
60
+ display: grid;
61
+ grid-template-columns: 100%;
62
+ }
63
+
64
+ .text {
65
+ overflow: hidden;
66
+ white-space: nowrap;
67
+ text-overflow: ellipsis;
68
+ padding-left: 0.5rem;
69
+ padding-right: 0.75rem;
70
+ }
71
+
72
+ .icon {
73
+ flex-shrink: 0;
74
+ width: calc(var(--dock-item-height) - 1rem);
75
+ height: calc(var(--dock-item-height) - 1rem);
76
+ color: var(--dock-item-icon-color, var(--limel-dock-item-text-color));
77
+ }
@@ -0,0 +1,224 @@
1
+ import { Component, Event, h, Prop, State, Watch, } from '@stencil/core';
2
+ import { createRandomString } from '../../../util/random-string';
3
+ /**
4
+ * @private
5
+ */
6
+ export class DockButton {
7
+ constructor() {
8
+ /**
9
+ * When the dock is expanded or collapsed, dock items
10
+ * show labels and tooltips as suitable for the layout.
11
+ */
12
+ this.expanded = false;
13
+ /**
14
+ * When dock is using mobile layout, dock items
15
+ * show labels and tooltips as suitable for the layout.
16
+ */
17
+ this.useMobileLayout = false;
18
+ /**
19
+ * Indicated whether the popover that renders a component is open.
20
+ */
21
+ this.isOpen = false;
22
+ this.openPopover = (event) => {
23
+ event.stopPropagation();
24
+ this.isOpen = true;
25
+ this.menuOpen.emit(this.item);
26
+ };
27
+ this.setCustomComponentElement = (element) => {
28
+ this.customComponentElement = element;
29
+ };
30
+ this.onPopoverClose = () => {
31
+ this.isOpen = false;
32
+ this.close.emit();
33
+ };
34
+ this.handleClick = (event) => {
35
+ event.stopPropagation();
36
+ this.itemSelected.emit(this.item);
37
+ };
38
+ this.focusCustomComponentElement = () => {
39
+ var _a, _b, _c;
40
+ if ((_b = (_a = this.customComponentElement) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.delegatesFocus) {
41
+ (_c = this.customComponentElement) === null || _c === void 0 ? void 0 : _c.focus();
42
+ }
43
+ };
44
+ this.tooltipId = createRandomString();
45
+ }
46
+ render() {
47
+ var _a, _b;
48
+ if ((_b = (_a = this.item) === null || _a === void 0 ? void 0 : _a.dockMenu) === null || _b === void 0 ? void 0 : _b.componentName) {
49
+ return this.renderPopover();
50
+ }
51
+ return this.renderButton(this.handleClick);
52
+ }
53
+ openWatcher() {
54
+ if (!this.isOpen) {
55
+ return;
56
+ }
57
+ const observer = new IntersectionObserver(this.focusCustomComponentElement);
58
+ observer.observe(this.customComponentElement);
59
+ }
60
+ renderPopover() {
61
+ var _a;
62
+ const CustomComponent = (_a = this.item) === null || _a === void 0 ? void 0 : _a.dockMenu.componentName;
63
+ return (h("limel-popover", { openDirection: this.useMobileLayout ? 'top' : 'right', open: this.isOpen || this.item.dockMenu.menuOpen, onClose: this.onPopoverClose },
64
+ this.renderButton(this.openPopover, 'trigger'),
65
+ h(CustomComponent, Object.assign({ ref: this.setCustomComponentElement }, (this.item.dockMenu.props || {}), { onClose: this.onPopoverClose }))));
66
+ }
67
+ renderButton(handleClick, slot) {
68
+ var _a;
69
+ return (h("button", { slot: slot, tabindex: "0", id: this.tooltipId, type: "button", class: {
70
+ button: true,
71
+ selected: (_a = this.item) === null || _a === void 0 ? void 0 : _a.selected,
72
+ }, onClick: handleClick },
73
+ this.renderIcon(),
74
+ this.renderLabel(),
75
+ this.renderTooltip()));
76
+ }
77
+ renderIcon() {
78
+ if (!this.item.icon) {
79
+ return;
80
+ }
81
+ return h("limel-icon", { name: this.item.icon, class: "icon" });
82
+ }
83
+ renderLabel() {
84
+ if (this.expanded) {
85
+ return h("span", { class: "text" }, this.item.label);
86
+ }
87
+ }
88
+ renderTooltip() {
89
+ if (!this.expanded && this.item.label) {
90
+ return (h("limel-tooltip", { elementId: this.tooltipId, label: this.item.label, helperLabel: this.item.helperLabel }));
91
+ }
92
+ if (this.expanded && this.item.helperLabel) {
93
+ return (h("limel-tooltip", { elementId: this.tooltipId, label: this.item.helperLabel }));
94
+ }
95
+ }
96
+ static get is() { return "limel-dock-button"; }
97
+ static get originalStyleUrls() { return {
98
+ "$": ["dock-button.scss"]
99
+ }; }
100
+ static get styleUrls() { return {
101
+ "$": ["dock-button.css"]
102
+ }; }
103
+ static get properties() { return {
104
+ "item": {
105
+ "type": "unknown",
106
+ "mutable": false,
107
+ "complexType": {
108
+ "original": "DockItem",
109
+ "resolved": "DockItem",
110
+ "references": {
111
+ "DockItem": {
112
+ "location": "import",
113
+ "path": "../dock.types"
114
+ }
115
+ }
116
+ },
117
+ "required": true,
118
+ "optional": false,
119
+ "docs": {
120
+ "tags": [],
121
+ "text": "Item that is placed in the dock."
122
+ }
123
+ },
124
+ "expanded": {
125
+ "type": "boolean",
126
+ "mutable": false,
127
+ "complexType": {
128
+ "original": "boolean",
129
+ "resolved": "boolean",
130
+ "references": {}
131
+ },
132
+ "required": false,
133
+ "optional": true,
134
+ "docs": {
135
+ "tags": [],
136
+ "text": "When the dock is expanded or collapsed, dock items\nshow labels and tooltips as suitable for the layout."
137
+ },
138
+ "attribute": "expanded",
139
+ "reflect": true,
140
+ "defaultValue": "false"
141
+ },
142
+ "useMobileLayout": {
143
+ "type": "boolean",
144
+ "mutable": false,
145
+ "complexType": {
146
+ "original": "boolean",
147
+ "resolved": "boolean",
148
+ "references": {}
149
+ },
150
+ "required": false,
151
+ "optional": true,
152
+ "docs": {
153
+ "tags": [],
154
+ "text": "When dock is using mobile layout, dock items\nshow labels and tooltips as suitable for the layout."
155
+ },
156
+ "attribute": "use-mobile-layout",
157
+ "reflect": true,
158
+ "defaultValue": "false"
159
+ }
160
+ }; }
161
+ static get states() { return {
162
+ "isOpen": {}
163
+ }; }
164
+ static get events() { return [{
165
+ "method": "itemSelected",
166
+ "name": "itemSelected",
167
+ "bubbles": true,
168
+ "cancelable": true,
169
+ "composed": true,
170
+ "docs": {
171
+ "tags": [],
172
+ "text": "Fired when a dock item has been selected from the dock."
173
+ },
174
+ "complexType": {
175
+ "original": "DockItem",
176
+ "resolved": "DockItem",
177
+ "references": {
178
+ "DockItem": {
179
+ "location": "import",
180
+ "path": "../dock.types"
181
+ }
182
+ }
183
+ }
184
+ }, {
185
+ "method": "menuOpen",
186
+ "name": "menuOpen",
187
+ "bubbles": true,
188
+ "cancelable": true,
189
+ "composed": true,
190
+ "docs": {
191
+ "tags": [],
192
+ "text": "Fired when a dock menu is opened."
193
+ },
194
+ "complexType": {
195
+ "original": "DockItem",
196
+ "resolved": "DockItem",
197
+ "references": {
198
+ "DockItem": {
199
+ "location": "import",
200
+ "path": "../dock.types"
201
+ }
202
+ }
203
+ }
204
+ }, {
205
+ "method": "close",
206
+ "name": "close",
207
+ "bubbles": true,
208
+ "cancelable": true,
209
+ "composed": true,
210
+ "docs": {
211
+ "tags": [],
212
+ "text": "Fired when the popover is closed."
213
+ },
214
+ "complexType": {
215
+ "original": "void",
216
+ "resolved": "void",
217
+ "references": {}
218
+ }
219
+ }]; }
220
+ static get watchers() { return [{
221
+ "propName": "isOpen",
222
+ "methodName": "openWatcher"
223
+ }]; }
224
+ }
@@ -0,0 +1,111 @@
1
+ /*
2
+ * This file is imported into every component!
3
+ *
4
+ * Nothing in this file may output any CSS
5
+ * without being explicitly called by outside code.
6
+ */
7
+ /*
8
+ * This file is imported into every component!
9
+ *
10
+ * Nothing in this file may output any CSS
11
+ * without being explicitly used by outside code.
12
+ */
13
+ /**
14
+ * @prop --dock-expanded-max-width: The maximum width of the Dock when it is expanded. Defaults to `max-content` which means the Dock will adjust its width to the widest dock item.
15
+ * @prop --dock-background-color: Background color of the whole component, defaults to `--contrast-100`.
16
+ * @prop --dock-item-background-color--selected: Background color of selected dock item, defaults to `--contrast-200`.
17
+ * @prop --dock-item-text-color: Text of dock items, defaults to `--contrast-1100`.
18
+ * @prop --dock-item-text-color--selected: Text color of selected dock item, defaults to `--contrast-1300`.
19
+ * @prop --dock-item-icon-color: Color of the optional icons used in each dock item. Only affects inactive dock items, defaults to text colors for default or selected states.
20
+ * @prop --popover-surface-width: Defines the width of the popover that is opened for dock items with custom components. Defaults to `auto`.
21
+ */
22
+ :host(limel-dock) {
23
+ --dock-item-height: 2.75rem;
24
+ --dock-padding: 0.25rem;
25
+ --dock-expand-shrink-button-height: 1rem;
26
+ --limel-dock-item-text-color: var(
27
+ --dock-item-text-color,
28
+ rgb(var(--contrast-1100))
29
+ );
30
+ --limel-dock-item-text-color--selected: var(
31
+ --dock-item-text-color--selected,
32
+ rgb(var(--contrast-1300))
33
+ );
34
+ isolation: isolate;
35
+ position: relative;
36
+ display: inline-flex;
37
+ flex-direction: column;
38
+ background-color: var(--dock-background-color, rgb(var(--contrast-100)));
39
+ box-shadow: 0.1875rem 0 0.375rem -0.125rem rgba(var(--color-black), 0.15), 0.1875rem 0 0.625rem -0.125rem rgba(var(--color-black), 0.05);
40
+ }
41
+
42
+ :host(limel-dock:not(.has-mobile-layout)) {
43
+ height: 100%;
44
+ width: calc(var(--dock-padding) * 2 + var(--dock-item-height));
45
+ }
46
+
47
+ :host(limel-dock.expanded) {
48
+ width: var(--dock-expanded-max-width, max-content);
49
+ }
50
+
51
+ .footer-separator {
52
+ margin-top: auto;
53
+ justify-self: flex-end;
54
+ }
55
+
56
+ nav {
57
+ box-sizing: border-box;
58
+ display: inline-flex;
59
+ flex-direction: column;
60
+ gap: 0.375rem;
61
+ flex-grow: 1;
62
+ padding: var(--dock-padding);
63
+ overflow-y: auto;
64
+ scrollbar-width: none;
65
+ -ms-overflow-style: none;
66
+ }
67
+ nav::-webkit-scrollbar {
68
+ display: none;
69
+ }
70
+ :host(limel-dock.has-mobile-layout) nav {
71
+ justify-content: space-between;
72
+ flex-direction: row;
73
+ }
74
+
75
+ .expand-shrink {
76
+ all: unset;
77
+ box-sizing: border-box;
78
+ transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
79
+ cursor: pointer;
80
+ display: flex;
81
+ justify-content: center;
82
+ align-items: center;
83
+ height: var(--dock-expand-shrink-button-height);
84
+ padding: 0 0.5rem;
85
+ margin: var(--dock-padding);
86
+ border-radius: 0.375rem;
87
+ }
88
+ .expand-shrink:hover {
89
+ box-shadow: var(--button-shadow-hovered);
90
+ }
91
+ .expand-shrink:active {
92
+ box-shadow: var(--button-shadow-pressed);
93
+ transform: translate3d(0, 0.08rem, 0);
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
+ }
102
+ .expand-shrink.expanded {
103
+ justify-content: flex-end;
104
+ }
105
+ .expand-shrink.expanded limel-icon {
106
+ transform: rotateY(180deg);
107
+ }
108
+ .expand-shrink limel-icon {
109
+ width: calc(var(--dock-expand-shrink-button-height) - 0.25rem);
110
+ color: var(--dock-item-icon-color, var(--limel-dock-item-text-color));
111
+ }