@limetech/lime-elements 36.1.0-next.13 → 36.1.0-next.15

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 (232) hide show
  1. package/dist/cjs/{checkbox.template-b6c6562c.js → checkbox.template-ac867c17.js} +1 -1
  2. package/dist/cjs/{index-2a28697b.js → index-287e25e0.js} +424 -246
  3. package/dist/cjs/lime-elements.cjs.js +3 -3
  4. package/dist/cjs/limel-badge.cjs.entry.js +2 -1
  5. package/dist/cjs/limel-banner.cjs.entry.js +3 -1
  6. package/dist/cjs/limel-button-group.cjs.entry.js +3 -8
  7. package/dist/cjs/limel-button_2.cjs.entry.js +9 -44
  8. package/dist/cjs/limel-checkbox.cjs.entry.js +10 -26
  9. package/dist/cjs/limel-chip-set.cjs.entry.js +20 -51
  10. package/dist/cjs/limel-circular-progress.cjs.entry.js +3 -14
  11. package/dist/cjs/limel-code-editor.cjs.entry.js +9 -25
  12. package/dist/cjs/limel-collapsible-section.cjs.entry.js +4 -5
  13. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +5 -1
  14. package/dist/cjs/limel-color-picker.cjs.entry.js +8 -2
  15. package/dist/cjs/limel-config.cjs.entry.js +2 -1
  16. package/dist/cjs/limel-date-picker.cjs.entry.js +15 -33
  17. package/dist/cjs/limel-dialog.cjs.entry.js +3 -11
  18. package/dist/cjs/limel-dock-button.cjs.entry.js +5 -15
  19. package/dist/cjs/limel-dock.cjs.entry.js +8 -40
  20. package/dist/cjs/limel-file.cjs.entry.js +9 -23
  21. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +6 -9
  22. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -13
  23. package/dist/cjs/limel-form.cjs.entry.js +6 -8
  24. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-header.cjs.entry.js +5 -1
  26. package/dist/cjs/limel-icon-button.cjs.entry.js +3 -8
  27. package/dist/cjs/limel-icon.cjs.entry.js +4 -1
  28. package/dist/cjs/limel-input-field.cjs.entry.js +26 -59
  29. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -7
  30. package/dist/cjs/limel-list_2.cjs.entry.js +9 -18
  31. package/dist/cjs/limel-menu-list.cjs.entry.js +6 -13
  32. package/dist/cjs/limel-picker.cjs.entry.js +14 -39
  33. package/dist/cjs/limel-popover_4.cjs.entry.js +13 -12
  34. package/dist/cjs/limel-portal.cjs.entry.js +63 -73
  35. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +4 -13
  36. package/dist/cjs/limel-progress-flow.cjs.entry.js +4 -20
  37. package/dist/cjs/limel-select.cjs.entry.js +7 -24
  38. package/dist/cjs/limel-shortcut.cjs.entry.js +52 -0
  39. package/dist/cjs/limel-slider.cjs.entry.js +12 -33
  40. package/dist/cjs/limel-snackbar.cjs.entry.js +6 -4
  41. package/dist/cjs/limel-spinner.cjs.entry.js +1 -7
  42. package/dist/cjs/limel-split-button.cjs.entry.js +3 -10
  43. package/dist/cjs/limel-switch.cjs.entry.js +6 -19
  44. package/dist/cjs/limel-tab-bar.cjs.entry.js +2 -5
  45. package/dist/cjs/limel-tab-panel.cjs.entry.js +2 -5
  46. package/dist/cjs/limel-table.cjs.entry.js +16 -28
  47. package/dist/cjs/loader.cjs.js +3 -3
  48. package/dist/collection/collection-manifest.json +3 -2
  49. package/dist/collection/components/badge/badge.js +35 -26
  50. package/dist/collection/components/banner/banner.js +88 -83
  51. package/dist/collection/components/button/button.js +148 -160
  52. package/dist/collection/components/button-group/button-group.js +81 -79
  53. package/dist/collection/components/checkbox/checkbox.js +172 -176
  54. package/dist/collection/components/checkbox/checkbox.template.js +15 -23
  55. package/dist/collection/components/chip-set/chip-set.js +486 -528
  56. package/dist/collection/components/circular-progress/circular-progress.css +5 -3
  57. package/dist/collection/components/circular-progress/circular-progress.js +106 -114
  58. package/dist/collection/components/code-editor/code-editor.js +178 -182
  59. package/dist/collection/components/collapsible-section/collapsible-section.js +120 -124
  60. package/dist/collection/components/color-picker/color-picker-palette.js +102 -92
  61. package/dist/collection/components/color-picker/color-picker.js +143 -131
  62. package/dist/collection/components/config/config.js +21 -17
  63. package/dist/collection/components/date-picker/date-picker.js +254 -261
  64. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +147 -142
  65. package/dist/collection/components/date-picker/pickers/QuarterPicker.js +1 -3
  66. package/dist/collection/components/dialog/dialog.js +134 -142
  67. package/dist/collection/components/dock/dock-button/dock-button.js +138 -141
  68. package/dist/collection/components/dock/dock.js +204 -232
  69. package/dist/collection/components/file/file.js +187 -191
  70. package/dist/collection/components/flex-container/flex-container.js +96 -102
  71. package/dist/collection/components/form/form.js +158 -150
  72. package/dist/collection/components/grid/grid.js +11 -7
  73. package/dist/collection/components/header/header.js +89 -87
  74. package/dist/collection/components/icon/icon.js +79 -66
  75. package/dist/collection/components/icon-button/icon-button.js +85 -85
  76. package/dist/collection/components/input-field/input-field.js +482 -523
  77. package/dist/collection/components/linear-progress/linear-progress.js +57 -61
  78. package/dist/collection/components/list/list-renderer.js +3 -12
  79. package/dist/collection/components/list/list.js +167 -164
  80. package/dist/collection/components/list/radio-button/radio-button.template.js +2 -8
  81. package/dist/collection/components/menu/menu.js +183 -195
  82. package/dist/collection/components/menu-list/menu-list-renderer.js +2 -9
  83. package/dist/collection/components/menu-list/menu-list.js +149 -146
  84. package/dist/collection/components/menu-surface/menu-surface.js +69 -64
  85. package/dist/collection/components/picker/picker.js +412 -427
  86. package/dist/collection/components/popover/popover.js +79 -74
  87. package/dist/collection/components/popover-surface/popover-surface.js +34 -25
  88. package/dist/collection/components/portal/portal.js +145 -158
  89. package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.js +90 -94
  90. package/dist/collection/components/progress-flow/progress-flow.js +93 -101
  91. package/dist/collection/components/select/select.js +206 -211
  92. package/dist/collection/components/select/select.template.js +8 -22
  93. package/dist/collection/components/shortcut/shortcut.css +91 -0
  94. package/dist/collection/components/shortcut/shortcut.js +194 -0
  95. package/dist/collection/components/slider/slider.js +233 -264
  96. package/dist/collection/components/snackbar/snackbar.js +175 -169
  97. package/dist/collection/components/spinner/spinner.js +56 -85
  98. package/dist/collection/components/split-button/split-button.js +134 -136
  99. package/dist/collection/components/switch/switch.js +117 -129
  100. package/dist/collection/components/tab-bar/tab-bar.js +87 -92
  101. package/dist/collection/components/tab-panel/tab-panel.js +64 -61
  102. package/dist/collection/components/table/table.js +447 -457
  103. package/dist/collection/components/tooltip/tooltip-content.js +70 -61
  104. package/dist/collection/components/tooltip/tooltip.js +96 -91
  105. package/dist/esm/{checkbox.template-2f1bbc98.js → checkbox.template-fc7fcd06.js} +1 -1
  106. package/dist/esm/{index-11cd0b60.js → index-cdfd351d.js} +424 -246
  107. package/dist/esm/lime-elements.js +3 -3
  108. package/dist/esm/limel-badge.entry.js +2 -1
  109. package/dist/esm/limel-banner.entry.js +3 -1
  110. package/dist/esm/limel-button-group.entry.js +3 -8
  111. package/dist/esm/limel-button_2.entry.js +9 -44
  112. package/dist/esm/limel-checkbox.entry.js +10 -26
  113. package/dist/esm/limel-chip-set.entry.js +20 -51
  114. package/dist/esm/limel-circular-progress.entry.js +3 -14
  115. package/dist/esm/limel-code-editor.entry.js +9 -25
  116. package/dist/esm/limel-collapsible-section.entry.js +4 -5
  117. package/dist/esm/limel-color-picker-palette.entry.js +5 -1
  118. package/dist/esm/limel-color-picker.entry.js +8 -2
  119. package/dist/esm/limel-config.entry.js +2 -1
  120. package/dist/esm/limel-date-picker.entry.js +15 -33
  121. package/dist/esm/limel-dialog.entry.js +3 -11
  122. package/dist/esm/limel-dock-button.entry.js +5 -15
  123. package/dist/esm/limel-dock.entry.js +8 -40
  124. package/dist/esm/limel-file.entry.js +9 -23
  125. package/dist/esm/limel-flatpickr-adapter.entry.js +6 -9
  126. package/dist/esm/limel-flex-container.entry.js +1 -13
  127. package/dist/esm/limel-form.entry.js +6 -8
  128. package/dist/esm/limel-grid.entry.js +1 -1
  129. package/dist/esm/limel-header.entry.js +5 -1
  130. package/dist/esm/limel-icon-button.entry.js +3 -8
  131. package/dist/esm/limel-icon.entry.js +4 -1
  132. package/dist/esm/limel-input-field.entry.js +26 -59
  133. package/dist/esm/limel-linear-progress.entry.js +1 -7
  134. package/dist/esm/limel-list_2.entry.js +9 -18
  135. package/dist/esm/limel-menu-list.entry.js +6 -13
  136. package/dist/esm/limel-picker.entry.js +14 -39
  137. package/dist/esm/limel-popover_4.entry.js +13 -12
  138. package/dist/esm/limel-portal.entry.js +63 -73
  139. package/dist/esm/limel-progress-flow-item.entry.js +4 -13
  140. package/dist/esm/limel-progress-flow.entry.js +4 -20
  141. package/dist/esm/limel-select.entry.js +7 -24
  142. package/dist/esm/limel-shortcut.entry.js +48 -0
  143. package/dist/esm/limel-slider.entry.js +12 -33
  144. package/dist/esm/limel-snackbar.entry.js +6 -4
  145. package/dist/esm/limel-spinner.entry.js +1 -7
  146. package/dist/esm/limel-split-button.entry.js +3 -10
  147. package/dist/esm/limel-switch.entry.js +6 -19
  148. package/dist/esm/limel-tab-bar.entry.js +2 -5
  149. package/dist/esm/limel-tab-panel.entry.js +2 -5
  150. package/dist/esm/limel-table.entry.js +16 -28
  151. package/dist/esm/loader.js +3 -3
  152. package/dist/esm/polyfills/css-shim.js +1 -1
  153. package/dist/lime-elements/lime-elements.esm.js +1 -1
  154. package/dist/lime-elements/p-059e0a64.entry.js +1 -0
  155. package/dist/lime-elements/{p-440454ed.entry.js → p-06f2f6b4.entry.js} +1 -1
  156. package/dist/lime-elements/{p-71efe2ca.entry.js → p-0dbde06f.entry.js} +1 -1
  157. package/dist/lime-elements/p-113d5494.entry.js +1 -0
  158. package/dist/lime-elements/p-12a7453b.entry.js +73 -0
  159. package/dist/lime-elements/p-15c2eb16.entry.js +1 -0
  160. package/dist/lime-elements/{p-c80acfb2.entry.js → p-15ca0d70.entry.js} +4 -4
  161. package/dist/lime-elements/{p-ed65468d.entry.js → p-16eb9071.entry.js} +1 -1
  162. package/dist/lime-elements/{p-1ede893b.js → p-1af8258b.js} +1 -1
  163. package/dist/lime-elements/p-28dffd9e.entry.js +1 -0
  164. package/dist/lime-elements/p-334b5f82.entry.js +37 -0
  165. package/dist/lime-elements/p-36a3b897.entry.js +1 -0
  166. package/dist/lime-elements/{p-6eb07bc3.entry.js → p-4b426b7e.entry.js} +2 -2
  167. package/dist/lime-elements/p-4eda8b67.entry.js +82 -0
  168. package/dist/lime-elements/{p-9af0704c.entry.js → p-4fb4e89b.entry.js} +1 -1
  169. package/dist/lime-elements/{p-a5af84a7.entry.js → p-5338663b.entry.js} +1 -1
  170. package/dist/lime-elements/p-5ce60a32.entry.js +126 -0
  171. package/dist/lime-elements/p-5f13035a.entry.js +1 -0
  172. package/dist/lime-elements/p-600464a9.entry.js +1 -0
  173. package/dist/lime-elements/{p-ab8b6d81.entry.js → p-6534e16a.entry.js} +1 -1
  174. package/dist/lime-elements/p-6a4a5ddd.entry.js +1 -0
  175. package/dist/lime-elements/p-6c38b505.entry.js +1 -0
  176. package/dist/lime-elements/p-744c21f8.entry.js +1 -0
  177. package/dist/lime-elements/p-75d01713.entry.js +1 -0
  178. package/dist/lime-elements/p-768b7cbb.entry.js +1 -0
  179. package/dist/lime-elements/{p-6e7809a6.entry.js → p-82cd7bb6.entry.js} +1 -1
  180. package/dist/lime-elements/p-84a137a7.entry.js +1 -0
  181. package/dist/lime-elements/p-8715eac0.entry.js +1 -0
  182. package/dist/lime-elements/{p-8827628d.entry.js → p-8fb83e83.entry.js} +2 -2
  183. package/dist/lime-elements/p-90961075.entry.js +1 -0
  184. package/dist/lime-elements/p-9984b31c.entry.js +1 -0
  185. package/dist/lime-elements/p-9bd76629.entry.js +59 -0
  186. package/dist/lime-elements/p-9f19e0c1.entry.js +1 -0
  187. package/dist/lime-elements/p-cad7cda1.entry.js +16 -0
  188. package/dist/lime-elements/{p-104c89e8.entry.js → p-cfaa685f.entry.js} +1 -1
  189. package/dist/lime-elements/{p-e7447b76.entry.js → p-d1187867.entry.js} +1 -1
  190. package/dist/lime-elements/{p-aa66620a.entry.js → p-d3ebc657.entry.js} +2 -2
  191. package/dist/lime-elements/p-d4e788e1.js +2 -0
  192. package/dist/lime-elements/p-d512656b.entry.js +1 -0
  193. package/dist/lime-elements/p-d8e5a9ee.entry.js +1 -0
  194. package/dist/lime-elements/{p-d294266e.entry.js → p-dcd2a664.entry.js} +2 -2
  195. package/dist/lime-elements/p-de161bb5.entry.js +1 -0
  196. package/dist/lime-elements/p-e4bca82b.entry.js +1 -0
  197. package/dist/lime-elements/{p-c15da26d.entry.js → p-e7bb664f.entry.js} +1 -1
  198. package/dist/lime-elements/p-ef04b849.entry.js +82 -0
  199. package/dist/loader/package.json +1 -0
  200. package/dist/types/components/picker/picker.d.ts +2 -2
  201. package/dist/types/components/shortcut/shortcut.d.ts +57 -0
  202. package/dist/types/components.d.ts +260 -67
  203. package/dist/types/stencil-public-runtime.d.ts +20 -4
  204. package/package.json +6 -6
  205. package/dist/lime-elements/p-009de50e.entry.js +0 -1
  206. package/dist/lime-elements/p-19f72dab.entry.js +0 -1
  207. package/dist/lime-elements/p-2639edf9.entry.js +0 -73
  208. package/dist/lime-elements/p-3b0c9885.entry.js +0 -37
  209. package/dist/lime-elements/p-3cf4aae0.entry.js +0 -1
  210. package/dist/lime-elements/p-4dc07252.entry.js +0 -82
  211. package/dist/lime-elements/p-53e01330.entry.js +0 -1
  212. package/dist/lime-elements/p-5ef52589.entry.js +0 -1
  213. package/dist/lime-elements/p-629862f4.entry.js +0 -1
  214. package/dist/lime-elements/p-63e25a0a.entry.js +0 -1
  215. package/dist/lime-elements/p-6b1bc80f.entry.js +0 -1
  216. package/dist/lime-elements/p-7c035e6e.entry.js +0 -1
  217. package/dist/lime-elements/p-93cd2268.entry.js +0 -1
  218. package/dist/lime-elements/p-95f275ab.entry.js +0 -1
  219. package/dist/lime-elements/p-995bbd2a.entry.js +0 -1
  220. package/dist/lime-elements/p-a465084b.entry.js +0 -82
  221. package/dist/lime-elements/p-ae0e9730.entry.js +0 -126
  222. package/dist/lime-elements/p-b0046fcd.entry.js +0 -1
  223. package/dist/lime-elements/p-b0e54dc2.entry.js +0 -1
  224. package/dist/lime-elements/p-b4de3380.entry.js +0 -1
  225. package/dist/lime-elements/p-b913df89.entry.js +0 -1
  226. package/dist/lime-elements/p-d74fa89e.entry.js +0 -1
  227. package/dist/lime-elements/p-e9a95b8f.js +0 -1
  228. package/dist/lime-elements/p-eec907ac.entry.js +0 -1
  229. package/dist/lime-elements/p-f0c9dadd.entry.js +0 -1
  230. package/dist/lime-elements/p-f0e872b6.entry.js +0 -16
  231. package/dist/lime-elements/p-f41567a1.entry.js +0 -1
  232. package/dist/lime-elements/p-f8e5b304.entry.js +0 -59
@@ -1,6 +1,6 @@
1
1
  import { MDCFloatingLabel } from '@material/floating-label';
2
2
  import { MDCSelectHelperText } from '@material/select/helper-text';
3
- import { Component, Element, Event, h, Prop, State, Watch, } from '@stencil/core';
3
+ import { h, } from '@stencil/core';
4
4
  import { isMobileDevice } from '../../util/device';
5
5
  import { ENTER, ENTER_KEY_CODE, SPACE, SPACE_KEY_CODE, } from '../../util/keycodes';
6
6
  import { isMultiple } from '../../util/multiple';
@@ -19,35 +19,18 @@ import { SelectTemplate } from './select.template';
19
19
  */
20
20
  export class Select {
21
21
  constructor() {
22
- /**
23
- * Set to `true` to make the field disabled.
24
- * and visually shows that the `select` component is editable but disabled.
25
- * This tells the users that if certain requirements are met,
26
- * the component may become interactable.
27
- */
22
+ this.hasChanged = false;
23
+ this.checkValid = false;
28
24
  this.disabled = false;
29
- /**
30
- * Set to `true` to make the field read-only.
31
- * This visualizes the component slightly differently.
32
- * But shows no visual sign indicating that the component is disabled
33
- * or can ever become interactable.
34
- */
35
25
  this.readonly = false;
36
- /**
37
- * True if the control requires a value.
38
- */
26
+ this.invalid = undefined;
39
27
  this.required = false;
40
- /**
41
- * List of options.
42
- */
28
+ this.label = undefined;
29
+ this.helperText = undefined;
30
+ this.value = undefined;
43
31
  this.options = [];
44
- /**
45
- * Set to `true` to allow multiple values to be selected.
46
- */
47
32
  this.multiple = false;
48
33
  this.menuOpen = false;
49
- this.hasChanged = false;
50
- this.checkValid = false;
51
34
  this.handleMenuChange = this.handleMenuChange.bind(this);
52
35
  this.handleNativeChange = this.handleNativeChange.bind(this);
53
36
  this.handleMenuTriggerKeyPress =
@@ -187,205 +170,217 @@ export class Select {
187
170
  }
188
171
  static get is() { return "limel-select"; }
189
172
  static get encapsulation() { return "shadow"; }
190
- static get originalStyleUrls() { return {
191
- "$": ["select.scss"]
192
- }; }
193
- static get styleUrls() { return {
194
- "$": ["select.css"]
195
- }; }
196
- static get properties() { return {
197
- "disabled": {
198
- "type": "boolean",
199
- "mutable": false,
200
- "complexType": {
201
- "original": "boolean",
202
- "resolved": "boolean",
203
- "references": {}
204
- },
205
- "required": false,
206
- "optional": false,
207
- "docs": {
208
- "tags": [],
209
- "text": "Set to `true` to make the field disabled.\nand visually shows that the `select` component is editable but disabled.\nThis tells the users that if certain requirements are met,\nthe component may become interactable."
210
- },
211
- "attribute": "disabled",
212
- "reflect": true,
213
- "defaultValue": "false"
214
- },
215
- "readonly": {
216
- "type": "boolean",
217
- "mutable": false,
218
- "complexType": {
219
- "original": "boolean",
220
- "resolved": "boolean",
221
- "references": {}
222
- },
223
- "required": false,
224
- "optional": false,
225
- "docs": {
226
- "tags": [],
227
- "text": "Set to `true` to make the field read-only.\nThis visualizes the component slightly differently.\nBut shows no visual sign indicating that the component is disabled\nor can ever become interactable."
228
- },
229
- "attribute": "readonly",
230
- "reflect": true,
231
- "defaultValue": "false"
232
- },
233
- "invalid": {
234
- "type": "boolean",
235
- "mutable": false,
236
- "complexType": {
237
- "original": "boolean",
238
- "resolved": "boolean",
239
- "references": {}
240
- },
241
- "required": false,
242
- "optional": false,
243
- "docs": {
244
- "tags": [],
245
- "text": "Set to `true` to indicate that the current value of the select is\ninvalid."
246
- },
247
- "attribute": "invalid",
248
- "reflect": true
249
- },
250
- "required": {
251
- "type": "boolean",
252
- "mutable": false,
253
- "complexType": {
254
- "original": "boolean",
255
- "resolved": "boolean",
256
- "references": {}
173
+ static get originalStyleUrls() {
174
+ return {
175
+ "$": ["select.scss"]
176
+ };
177
+ }
178
+ static get styleUrls() {
179
+ return {
180
+ "$": ["select.css"]
181
+ };
182
+ }
183
+ static get properties() {
184
+ return {
185
+ "disabled": {
186
+ "type": "boolean",
187
+ "mutable": false,
188
+ "complexType": {
189
+ "original": "boolean",
190
+ "resolved": "boolean",
191
+ "references": {}
192
+ },
193
+ "required": false,
194
+ "optional": false,
195
+ "docs": {
196
+ "tags": [],
197
+ "text": "Set to `true` to make the field disabled.\nand visually shows that the `select` component is editable but disabled.\nThis tells the users that if certain requirements are met,\nthe component may become interactable."
198
+ },
199
+ "attribute": "disabled",
200
+ "reflect": true,
201
+ "defaultValue": "false"
257
202
  },
258
- "required": false,
259
- "optional": false,
260
- "docs": {
261
- "tags": [],
262
- "text": "True if the control requires a value."
203
+ "readonly": {
204
+ "type": "boolean",
205
+ "mutable": false,
206
+ "complexType": {
207
+ "original": "boolean",
208
+ "resolved": "boolean",
209
+ "references": {}
210
+ },
211
+ "required": false,
212
+ "optional": false,
213
+ "docs": {
214
+ "tags": [],
215
+ "text": "Set to `true` to make the field read-only.\nThis visualizes the component slightly differently.\nBut shows no visual sign indicating that the component is disabled\nor can ever become interactable."
216
+ },
217
+ "attribute": "readonly",
218
+ "reflect": true,
219
+ "defaultValue": "false"
263
220
  },
264
- "attribute": "required",
265
- "reflect": true,
266
- "defaultValue": "false"
267
- },
268
- "label": {
269
- "type": "string",
270
- "mutable": false,
271
- "complexType": {
272
- "original": "string",
273
- "resolved": "string",
274
- "references": {}
221
+ "invalid": {
222
+ "type": "boolean",
223
+ "mutable": false,
224
+ "complexType": {
225
+ "original": "boolean",
226
+ "resolved": "boolean",
227
+ "references": {}
228
+ },
229
+ "required": false,
230
+ "optional": false,
231
+ "docs": {
232
+ "tags": [],
233
+ "text": "Set to `true` to indicate that the current value of the select is\ninvalid."
234
+ },
235
+ "attribute": "invalid",
236
+ "reflect": true
275
237
  },
276
- "required": false,
277
- "optional": false,
278
- "docs": {
279
- "tags": [],
280
- "text": "Text to display next to the select."
238
+ "required": {
239
+ "type": "boolean",
240
+ "mutable": false,
241
+ "complexType": {
242
+ "original": "boolean",
243
+ "resolved": "boolean",
244
+ "references": {}
245
+ },
246
+ "required": false,
247
+ "optional": false,
248
+ "docs": {
249
+ "tags": [],
250
+ "text": "True if the control requires a value."
251
+ },
252
+ "attribute": "required",
253
+ "reflect": true,
254
+ "defaultValue": "false"
281
255
  },
282
- "attribute": "label",
283
- "reflect": true
284
- },
285
- "helperText": {
286
- "type": "string",
287
- "mutable": false,
288
- "complexType": {
289
- "original": "string",
290
- "resolved": "string",
291
- "references": {}
256
+ "label": {
257
+ "type": "string",
258
+ "mutable": false,
259
+ "complexType": {
260
+ "original": "string",
261
+ "resolved": "string",
262
+ "references": {}
263
+ },
264
+ "required": false,
265
+ "optional": false,
266
+ "docs": {
267
+ "tags": [],
268
+ "text": "Text to display next to the select."
269
+ },
270
+ "attribute": "label",
271
+ "reflect": true
292
272
  },
293
- "required": false,
294
- "optional": false,
295
- "docs": {
296
- "tags": [],
297
- "text": "Optional helper text to display below the input field when it has focus."
273
+ "helperText": {
274
+ "type": "string",
275
+ "mutable": false,
276
+ "complexType": {
277
+ "original": "string",
278
+ "resolved": "string",
279
+ "references": {}
280
+ },
281
+ "required": false,
282
+ "optional": false,
283
+ "docs": {
284
+ "tags": [],
285
+ "text": "Optional helper text to display below the input field when it has focus."
286
+ },
287
+ "attribute": "helper-text",
288
+ "reflect": true
298
289
  },
299
- "attribute": "helper-text",
300
- "reflect": true
301
- },
302
- "value": {
303
- "type": "unknown",
304
- "mutable": false,
305
- "complexType": {
306
- "original": "Option | Option[]",
307
- "resolved": "Option<string> | Option<string>[]",
308
- "references": {
309
- "Option": {
310
- "location": "import",
311
- "path": "@limetech/lime-elements"
290
+ "value": {
291
+ "type": "unknown",
292
+ "mutable": false,
293
+ "complexType": {
294
+ "original": "Option | Option[]",
295
+ "resolved": "Option<string> | Option<string>[]",
296
+ "references": {
297
+ "Option": {
298
+ "location": "import",
299
+ "path": "@limetech/lime-elements"
300
+ }
312
301
  }
302
+ },
303
+ "required": false,
304
+ "optional": false,
305
+ "docs": {
306
+ "tags": [],
307
+ "text": "Currently selected value or values.\nIf `multiple` is `true`, this must be an array. Otherwise it must be a\nsingle value."
313
308
  }
314
309
  },
315
- "required": false,
316
- "optional": false,
317
- "docs": {
318
- "tags": [],
319
- "text": "Currently selected value or values.\nIf `multiple` is `true`, this must be an array. Otherwise it must be a\nsingle value."
320
- }
321
- },
322
- "options": {
323
- "type": "unknown",
324
- "mutable": false,
325
- "complexType": {
326
- "original": "Option[]",
327
- "resolved": "Option<string>[]",
328
- "references": {
329
- "Option": {
330
- "location": "import",
331
- "path": "@limetech/lime-elements"
310
+ "options": {
311
+ "type": "unknown",
312
+ "mutable": false,
313
+ "complexType": {
314
+ "original": "Option[]",
315
+ "resolved": "Option<string>[]",
316
+ "references": {
317
+ "Option": {
318
+ "location": "import",
319
+ "path": "@limetech/lime-elements"
320
+ }
332
321
  }
333
- }
334
- },
335
- "required": false,
336
- "optional": false,
337
- "docs": {
338
- "tags": [],
339
- "text": "List of options."
340
- },
341
- "defaultValue": "[]"
342
- },
343
- "multiple": {
344
- "type": "boolean",
345
- "mutable": false,
346
- "complexType": {
347
- "original": "boolean",
348
- "resolved": "boolean",
349
- "references": {}
350
- },
351
- "required": false,
352
- "optional": false,
353
- "docs": {
354
- "tags": [],
355
- "text": "Set to `true` to allow multiple values to be selected."
356
- },
357
- "attribute": "multiple",
358
- "reflect": false,
359
- "defaultValue": "false"
360
- }
361
- }; }
362
- static get states() { return {
363
- "menuOpen": {}
364
- }; }
365
- static get events() { return [{
366
- "method": "change",
367
- "name": "change",
368
- "bubbles": true,
369
- "cancelable": true,
370
- "composed": true,
371
- "docs": {
372
- "tags": [],
373
- "text": "Emitted when the value is changed."
322
+ },
323
+ "required": false,
324
+ "optional": false,
325
+ "docs": {
326
+ "tags": [],
327
+ "text": "List of options."
328
+ },
329
+ "defaultValue": "[]"
374
330
  },
375
- "complexType": {
376
- "original": "Option | Option[]",
377
- "resolved": "Option<string> | Option<string>[]",
378
- "references": {
379
- "Option": {
380
- "location": "import",
381
- "path": "@limetech/lime-elements"
331
+ "multiple": {
332
+ "type": "boolean",
333
+ "mutable": false,
334
+ "complexType": {
335
+ "original": "boolean",
336
+ "resolved": "boolean",
337
+ "references": {}
338
+ },
339
+ "required": false,
340
+ "optional": false,
341
+ "docs": {
342
+ "tags": [],
343
+ "text": "Set to `true` to allow multiple values to be selected."
344
+ },
345
+ "attribute": "multiple",
346
+ "reflect": false,
347
+ "defaultValue": "false"
348
+ }
349
+ };
350
+ }
351
+ static get states() {
352
+ return {
353
+ "menuOpen": {}
354
+ };
355
+ }
356
+ static get events() {
357
+ return [{
358
+ "method": "change",
359
+ "name": "change",
360
+ "bubbles": true,
361
+ "cancelable": true,
362
+ "composed": true,
363
+ "docs": {
364
+ "tags": [],
365
+ "text": "Emitted when the value is changed."
366
+ },
367
+ "complexType": {
368
+ "original": "Option | Option[]",
369
+ "resolved": "Option<string> | Option<string>[]",
370
+ "references": {
371
+ "Option": {
372
+ "location": "import",
373
+ "path": "@limetech/lime-elements"
374
+ }
382
375
  }
383
376
  }
384
- }
385
- }]; }
377
+ }];
378
+ }
386
379
  static get elementRef() { return "host"; }
387
- static get watchers() { return [{
388
- "propName": "menuOpen",
389
- "methodName": "watchOpen"
390
- }]; }
380
+ static get watchers() {
381
+ return [{
382
+ "propName": "menuOpen",
383
+ "methodName": "watchOpen"
384
+ }];
385
+ }
391
386
  }
@@ -23,10 +23,7 @@ export const SelectTemplate = (props) => {
23
23
  'limel-select--empty': !hasValue,
24
24
  'limel-select--with-helper-text': typeof props.helperText === 'string',
25
25
  };
26
- return (h("div", { class: classList },
27
- h(SelectValue, Object.assign({}, props, { hasValue: hasValue, isValid: isValid })),
28
- h(HelperText, { text: props.helperText }),
29
- h(SelectDropdown, Object.assign({}, props))));
26
+ return (h("div", { class: classList }, h(SelectValue, Object.assign({}, props, { hasValue: hasValue, isValid: isValid })), h(HelperText, { text: props.helperText }), h(SelectDropdown, Object.assign({}, props))));
30
27
  };
31
28
  const SelectValue = (props) => {
32
29
  const anchorClassList = {
@@ -39,15 +36,7 @@ const SelectValue = (props) => {
39
36
  'mdc-floating-label--float-above': props.hasValue || props.isOpen || props.readonly,
40
37
  'mdc-floating-label--active': props.isOpen,
41
38
  };
42
- return (h("div", { class: anchorClassList, tabindex: "0", onClick: props.open, onKeyPress: props.onTriggerPress, role: "button", "aria-haspopup": "listbox", "aria-expanded": "false", "aria-labelledby": "s-label s-selected-text", "aria-required": props.required, "aria-disabled": props.disabled },
43
- h("span", { id: "s-label", class: labelClassList }, props.label),
44
- h("span", { class: "mdc-select__selected-text-container limel-select__selected-option" },
45
- getSelectedIcon(props.value),
46
- h("span", { id: "s-selected-text", class: "mdc-select__selected-text limel-select__selected-option__text" }, getSelectedText(props.value, props.readonly))),
47
- h(ShowIcon, Object.assign({}, props, { isValid: props.isValid })),
48
- h("span", { class: "mdc-select__dropdown-icon" },
49
- h("svg", { class: "mdc-select__dropdown-icon-graphic", viewBox: "7 10 10 5", focusable: "false" },
50
- h("polygon", { stroke: "none", "fill-rule": "evenodd", points: "7 10 12 15 17 10" })))));
39
+ return (h("div", { class: anchorClassList, tabindex: "0", onClick: props.open, onKeyPress: props.onTriggerPress, role: "button", "aria-haspopup": "listbox", "aria-expanded": "false", "aria-labelledby": "s-label s-selected-text", "aria-required": props.required, "aria-disabled": props.disabled }, h("span", { id: "s-label", class: labelClassList }, props.label), h("span", { class: "mdc-select__selected-text-container limel-select__selected-option" }, getSelectedIcon(props.value), h("span", { id: "s-selected-text", class: "mdc-select__selected-text limel-select__selected-option__text" }, getSelectedText(props.value, props.readonly))), h(ShowIcon, Object.assign({}, props, { isValid: props.isValid })), h("span", { class: "mdc-select__dropdown-icon" }, h("svg", { class: "mdc-select__dropdown-icon-graphic", viewBox: "7 10 10 5", focusable: "false" }, h("polygon", { stroke: "none", "fill-rule": "evenodd", points: "7 10 12 15 17 10" })))));
51
40
  };
52
41
  const ShowIcon = (props) => {
53
42
  if (props.isValid) {
@@ -59,8 +48,7 @@ const HelperText = (props) => {
59
48
  if (typeof props.text !== 'string') {
60
49
  return;
61
50
  }
62
- return (h("div", { class: "mdc-select-helper-line" },
63
- h("p", { class: "mdc-select-helper-text mdc-select-helper-text--persistent", "aria-hidden": "true" }, props.text.trim())));
51
+ return (h("div", { class: "mdc-select-helper-line" }, h("p", { class: "mdc-select-helper-text mdc-select-helper-text--persistent", "aria-hidden": "true" }, props.text.trim())));
64
52
  };
65
53
  const SelectDropdown = (props) => {
66
54
  if (props.native) {
@@ -70,13 +58,11 @@ const SelectDropdown = (props) => {
70
58
  };
71
59
  const MenuDropdown = (props) => {
72
60
  const items = createMenuItems(props.options, props.value);
73
- return (h("limel-portal", { containerId: props.id, visible: props.isOpen, inheritParentWidth: true, containerStyle: { 'z-index': props.dropdownZIndex } },
74
- h("limel-menu-surface", { open: props.isOpen, onDismiss: props.close, style: {
75
- '--mdc-menu-min-width': '100%',
76
- 'max-height': 'inherit',
77
- display: 'flex',
78
- } },
79
- h("limel-list", { items: items, type: props.multiple ? 'checkbox' : 'selectable', onChange: props.onMenuChange }))));
61
+ return (h("limel-portal", { containerId: props.id, visible: props.isOpen, inheritParentWidth: true, containerStyle: { 'z-index': props.dropdownZIndex } }, h("limel-menu-surface", { open: props.isOpen, onDismiss: props.close, style: {
62
+ '--mdc-menu-min-width': '100%',
63
+ 'max-height': 'inherit',
64
+ display: 'flex',
65
+ } }, h("limel-list", { items: items, type: props.multiple ? 'checkbox' : 'selectable', onChange: props.onMenuChange }))));
80
66
  };
81
67
  const NativeDropdown = (props) => {
82
68
  return (h("select", { required: props.required, "aria-disabled": props.disabled, "aria-required": props.required, onChange: props.onNativeChange, onFocus: props.open, onBlur: props.close, class: "limel-select__native-control", disabled: props.disabled, multiple: props.multiple }, props.options.map((option) => {
@@ -0,0 +1,91 @@
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
+ * @prop --shortcut-border-radius: defines the radius of corners of the shortcut. Defaults to `1rem`
9
+ * @prop --shortcut-icon-color: defines the fill color of the shortcut icon. Defaults to `--contrast-1000`
10
+ * @prop --shortcut-label-color: defines the color of the shortcut label. Defaults to `--contrast-1100`
11
+ * @prop --shortcut-background-color: defines the backgrounds color of the shortcut icon. Defaults to `--contrast-100`
12
+ * @prop --shortcut-badge-text-color: Text color of the notification badge. Defaults to `--color-white`
13
+ * @prop --shortcut-badge-background-color: Background color of the notification badge. Defaults to `--color-red-default`
14
+ */
15
+ :host(limel-shortcut) {
16
+ --badge-text-color: var(
17
+ --shortcut-badge-text-color,
18
+ rgb(var(--color-white))
19
+ );
20
+ --badge-background-color: var(
21
+ --shortcut-badge-background-color,
22
+ rgb(var(--color-red-default))
23
+ );
24
+ position: relative;
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: center;
28
+ justify-content: center;
29
+ row-gap: 0.0625rem;
30
+ }
31
+ :host(limel-shortcut) * {
32
+ box-sizing: border-box;
33
+ }
34
+
35
+ :host(limel-shortcut[disabled]) a {
36
+ opacity: 0.5;
37
+ box-shadow: unset;
38
+ cursor: not-allowed;
39
+ }
40
+
41
+ a {
42
+ all: unset;
43
+ transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease-out;
44
+ box-shadow: var(--button-shadow-normal);
45
+ cursor: pointer;
46
+ text-align: center;
47
+ height: calc(100% - 1rem);
48
+ width: calc(100% - 1rem);
49
+ padding: 0.5rem;
50
+ border-radius: var(--shortcut-border-radius, 1rem);
51
+ background-color: var(--shortcut-background-color, rgb(var(--contrast-100)));
52
+ }
53
+ a:hover {
54
+ box-shadow: var(--button-shadow-hovered);
55
+ }
56
+ a:active {
57
+ box-shadow: var(--button-shadow-pressed);
58
+ transform: translate3d(0, 0.08rem, 0);
59
+ }
60
+ a:focus {
61
+ outline: none;
62
+ }
63
+ a:focus-visible {
64
+ outline: none;
65
+ box-shadow: var(--shadow-depth-8-focused);
66
+ }
67
+
68
+ limel-icon {
69
+ display: flex;
70
+ height: 100%;
71
+ width: 100%;
72
+ justify-content: center;
73
+ color: var(--shortcut-icon-color, rgb(var(--contrast-1000)));
74
+ border-radius: var(--shortcut-border-radius, 1rem);
75
+ }
76
+
77
+ span {
78
+ overflow: hidden;
79
+ white-space: nowrap;
80
+ text-overflow: ellipsis;
81
+ width: 100%;
82
+ color: var(--shortcut-label-color, rgb(var(--contrast-1100)));
83
+ font-size: 0.75rem;
84
+ text-align: center;
85
+ }
86
+
87
+ limel-badge {
88
+ position: absolute;
89
+ top: -0.5rem;
90
+ right: 0;
91
+ }