@limetech/lime-elements 36.3.1-next.1 → 36.3.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.
Files changed (172) hide show
  1. package/dist/cjs/{checkbox.template-ac867c17.js → checkbox.template-60ed3ee2.js} +1 -2
  2. package/dist/cjs/{dom-20826de0.js → dom-eb080f70.js} +0 -1
  3. package/dist/cjs/{format-c0047dfb.js → format-5b928cf3.js} +0 -1
  4. package/dist/cjs/lime-elements.cjs.js +1 -1
  5. package/dist/cjs/limel-badge.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-checkbox.cjs.entry.js +2 -2
  7. package/dist/cjs/limel-chip-set.cjs.entry.js +6 -22
  8. package/dist/cjs/limel-circular-progress_2.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-form.cjs.entry.js +1 -20
  10. package/dist/cjs/limel-helper-line.cjs.entry.js +48 -0
  11. package/dist/cjs/limel-icon.cjs.entry.js +0 -2
  12. package/dist/cjs/limel-input-field.cjs.entry.js +4 -21
  13. package/dist/cjs/limel-list_2.cjs.entry.js +3 -7
  14. package/dist/cjs/limel-menu-list.cjs.entry.js +1 -5
  15. package/dist/cjs/limel-picker.cjs.entry.js +1 -10
  16. package/dist/cjs/limel-popover_4.cjs.entry.js +0 -1
  17. package/dist/cjs/limel-select.cjs.entry.js +4 -5
  18. package/dist/cjs/limel-slider.cjs.entry.js +2 -2
  19. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-tab-bar.cjs.entry.js +0 -1
  21. package/dist/cjs/limel-table.cjs.entry.js +0 -19
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/cjs/{multiple-8fab83eb.js → multiple-2af83b6d.js} +0 -1
  24. package/dist/collection/collection-manifest.json +1 -0
  25. package/dist/collection/components/badge/badge.js +0 -1
  26. package/dist/collection/components/badge/format.js +0 -1
  27. package/dist/collection/components/button-group/button-group.js +0 -1
  28. package/dist/collection/components/callout/callout.js +0 -1
  29. package/dist/collection/components/checkbox/checkbox.css +8 -92
  30. package/dist/collection/components/checkbox/checkbox.template.js +1 -1
  31. package/dist/collection/components/chip-set/chip-set-input-helpers.js +0 -1
  32. package/dist/collection/components/chip-set/chip-set.css +4 -18
  33. package/dist/collection/components/chip-set/chip-set.js +5 -20
  34. package/dist/collection/components/circular-progress/circular-progress.js +0 -1
  35. package/dist/collection/components/code-editor/code-editor.js +1 -2
  36. package/dist/collection/components/color-picker/color-picker.js +0 -1
  37. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +0 -1
  38. package/dist/collection/components/dialog/dialog.js +0 -1
  39. package/dist/collection/components/file/file.js +2 -3
  40. package/dist/collection/components/flex-container/flex-container.js +0 -1
  41. package/dist/collection/components/form/adapters/base-adapter.js +0 -12
  42. package/dist/collection/components/form/fields/field-helpers.js +0 -3
  43. package/dist/collection/components/form/fields/schema-field.js +0 -3
  44. package/dist/collection/components/form/templates/common.js +0 -1
  45. package/dist/collection/components/grid/grid.js +0 -1
  46. package/dist/collection/components/header/header.js +0 -1
  47. package/dist/collection/components/helper-line/helper-line.css +30 -0
  48. package/dist/collection/components/helper-line/helper-line.js +166 -0
  49. package/dist/collection/components/icon/icon.js +0 -2
  50. package/dist/collection/components/info-tile/info-tile.js +0 -1
  51. package/dist/collection/components/input-field/input-field.css +3 -15
  52. package/dist/collection/components/input-field/input-field.js +3 -20
  53. package/dist/collection/components/list/list-renderer.js +0 -4
  54. package/dist/collection/components/list/list.css +16 -184
  55. package/dist/collection/components/menu-list/menu-list-renderer.js +0 -4
  56. package/dist/collection/components/menu-list/menu-list.css +16 -185
  57. package/dist/collection/components/picker/picker.js +0 -9
  58. package/dist/collection/components/popover/popover.js +0 -2
  59. package/dist/collection/components/portal/contains.js +0 -1
  60. package/dist/collection/components/portal/portal.js +10 -11
  61. package/dist/collection/components/select/select.css +10 -40
  62. package/dist/collection/components/select/select.template.js +2 -2
  63. package/dist/collection/components/shortcut/shortcut.js +0 -1
  64. package/dist/collection/components/slider/slider.css +6 -33
  65. package/dist/collection/components/slider/slider.js +1 -1
  66. package/dist/collection/components/snackbar/snackbar.js +26 -3
  67. package/dist/collection/components/split-button/split-button.js +0 -1
  68. package/dist/collection/components/tab-bar/tab-bar.js +1 -2
  69. package/dist/collection/components/tab-bar/tabs.js +0 -1
  70. package/dist/collection/components/tab-panel/tab-panel.js +0 -1
  71. package/dist/collection/components/table/columns.js +0 -9
  72. package/dist/collection/components/table/element-pool.js +0 -2
  73. package/dist/collection/components/table/selection.js +0 -4
  74. package/dist/collection/components/table/table-selection.js +0 -4
  75. package/dist/collection/components/tooltip/tooltip-content.js +0 -1
  76. package/dist/collection/components/tooltip/tooltip.js +0 -1
  77. package/dist/collection/global/icon-cache.js +0 -1
  78. package/dist/collection/util/dom.js +0 -1
  79. package/dist/collection/util/multiple.js +0 -1
  80. package/dist/esm/{checkbox.template-fc7fcd06.js → checkbox.template-4ce8d92f.js} +1 -2
  81. package/dist/esm/{dom-0f79cbe7.js → dom-2fe617e7.js} +0 -1
  82. package/dist/esm/{format-a0e2d949.js → format-c76733cb.js} +0 -1
  83. package/dist/esm/lime-elements.js +1 -1
  84. package/dist/esm/limel-badge.entry.js +1 -1
  85. package/dist/esm/limel-checkbox.entry.js +2 -2
  86. package/dist/esm/limel-chip-set.entry.js +6 -22
  87. package/dist/esm/limel-circular-progress_2.entry.js +1 -1
  88. package/dist/esm/limel-form.entry.js +1 -20
  89. package/dist/esm/limel-helper-line.entry.js +44 -0
  90. package/dist/esm/limel-icon.entry.js +0 -2
  91. package/dist/esm/limel-input-field.entry.js +4 -21
  92. package/dist/esm/limel-list_2.entry.js +3 -7
  93. package/dist/esm/limel-menu-list.entry.js +1 -5
  94. package/dist/esm/limel-picker.entry.js +1 -10
  95. package/dist/esm/limel-popover_4.entry.js +0 -1
  96. package/dist/esm/limel-select.entry.js +4 -5
  97. package/dist/esm/limel-slider.entry.js +2 -2
  98. package/dist/esm/limel-snackbar.entry.js +1 -1
  99. package/dist/esm/limel-tab-bar.entry.js +0 -1
  100. package/dist/esm/limel-table.entry.js +0 -19
  101. package/dist/esm/loader.js +1 -1
  102. package/dist/esm/{multiple-254f4b61.js → multiple-0bd62427.js} +0 -1
  103. package/dist/lime-elements/lime-elements.esm.js +1 -1
  104. package/dist/lime-elements/p-094dd76a.entry.js +126 -0
  105. package/dist/lime-elements/p-20059fcf.entry.js +82 -0
  106. package/dist/lime-elements/{p-157e0417.entry.js → p-5ab179b4.entry.js} +3 -3
  107. package/dist/lime-elements/{p-eed2a202.entry.js → p-6b8142ba.entry.js} +5 -5
  108. package/dist/lime-elements/{p-05d88196.entry.js → p-727fd4ea.entry.js} +2 -2
  109. package/dist/lime-elements/p-803cc4b7.entry.js +1 -0
  110. package/dist/lime-elements/{p-8178b348.entry.js → p-8a2d1761.entry.js} +1 -1
  111. package/dist/lime-elements/{p-d955c169.entry.js → p-8acabe02.entry.js} +1 -1
  112. package/dist/lime-elements/{p-a88f2922.entry.js → p-8d3a9e2c.entry.js} +1 -1
  113. package/dist/lime-elements/p-ba7661f6.entry.js +1 -0
  114. package/dist/lime-elements/p-d034bbcf.entry.js +1 -0
  115. package/dist/lime-elements/{p-1af8258b.js → p-d2a3d50b.js} +1 -1
  116. package/dist/lime-elements/{p-2fd478df.entry.js → p-ef93fd3e.entry.js} +1 -1
  117. package/dist/lime-elements/{p-58e9df30.entry.js → p-f4cbcdcf.entry.js} +1 -1
  118. package/dist/types/components/badge/badge.d.ts +0 -1
  119. package/dist/types/components/badge/format.d.ts +0 -1
  120. package/dist/types/components/button-group/button-group.d.ts +0 -1
  121. package/dist/types/components/callout/callout.d.ts +0 -1
  122. package/dist/types/components/chip-set/chip-set-input-helpers.d.ts +0 -1
  123. package/dist/types/components/chip-set/chip-set.d.ts +1 -7
  124. package/dist/types/components/circular-progress/circular-progress.d.ts +0 -1
  125. package/dist/types/components/code-editor/code-editor.d.ts +1 -2
  126. package/dist/types/components/color-picker/color-picker.d.ts +0 -1
  127. package/dist/types/components/date-picker/flatpickr-adapter/flatpickr-adapter.d.ts +0 -1
  128. package/dist/types/components/dialog/dialog.d.ts +0 -1
  129. package/dist/types/components/file/file.d.ts +2 -3
  130. package/dist/types/components/flex-container/flex-container.d.ts +0 -1
  131. package/dist/types/components/form/adapters/base-adapter.d.ts +0 -11
  132. package/dist/types/components/form/fields/field-helpers.d.ts +0 -2
  133. package/dist/types/components/form/fields/schema-field.d.ts +0 -2
  134. package/dist/types/components/form/templates/common.d.ts +0 -1
  135. package/dist/types/components/grid/grid.d.ts +0 -1
  136. package/dist/types/components/header/header.d.ts +0 -1
  137. package/dist/types/components/helper-line/helper-line.d.ts +57 -0
  138. package/dist/types/components/icon/icon.d.ts +0 -2
  139. package/dist/types/components/info-tile/info-tile.d.ts +0 -1
  140. package/dist/types/components/input-field/input-field.d.ts +0 -3
  141. package/dist/types/components/list/list-renderer.d.ts +0 -4
  142. package/dist/types/components/menu-list/menu-list-renderer.d.ts +0 -4
  143. package/dist/types/components/picker/picker.d.ts +0 -9
  144. package/dist/types/components/picker/searcher.types.d.ts +0 -1
  145. package/dist/types/components/popover/popover.d.ts +0 -2
  146. package/dist/types/components/portal/contains.d.ts +0 -1
  147. package/dist/types/components/portal/portal.d.ts +10 -11
  148. package/dist/types/components/shortcut/shortcut.d.ts +0 -1
  149. package/dist/types/components/snackbar/snackbar.d.ts +23 -1
  150. package/dist/types/components/split-button/split-button.d.ts +0 -1
  151. package/dist/types/components/tab-bar/tab-bar.d.ts +1 -2
  152. package/dist/types/components/tab-bar/tabs.d.ts +0 -1
  153. package/dist/types/components/tab-panel/tab-panel.d.ts +0 -1
  154. package/dist/types/components/table/columns.d.ts +0 -7
  155. package/dist/types/components/table/element-pool.d.ts +0 -2
  156. package/dist/types/components/table/selection.d.ts +0 -4
  157. package/dist/types/components/table/table-selection.d.ts +0 -4
  158. package/dist/types/components/table/table.types.d.ts +0 -3
  159. package/dist/types/components/tooltip/tooltip-content.d.ts +0 -1
  160. package/dist/types/components/tooltip/tooltip.d.ts +0 -1
  161. package/dist/types/components.d.ts +54 -1
  162. package/dist/types/global/icon-cache.d.ts +0 -1
  163. package/dist/types/util/dom.d.ts +0 -1
  164. package/dist/types/util/multiple.d.ts +0 -1
  165. package/package.json +7 -7
  166. package/dist/lime-elements/p-142910d8.entry.js +0 -126
  167. package/dist/lime-elements/p-73613abb.entry.js +0 -82
  168. package/dist/lime-elements/p-d0084a70.entry.js +0 -1
  169. package/dist/lime-elements/p-ff0e407a.entry.js +0 -1
  170. /package/dist/lime-elements/{p-f08f504b.js → p-0eabb204.js} +0 -0
  171. /package/dist/lime-elements/{p-0534b23b.js → p-5f020b3c.js} +0 -0
  172. /package/dist/lime-elements/{p-af8d4fe7.js → p-acf307d9.js} +0 -0
@@ -893,106 +893,21 @@
893
893
  color: var(--lime-error-text-color);
894
894
  }
895
895
 
896
- /*
897
- * This file is imported into every component!
898
- *
899
- * Nothing in this file may output any CSS
900
- * without being explicitly called by outside code.
901
- */
902
- /*
903
- * This file is imported into every component that uses MDC!
904
- *
905
- * Anything in this file that generates CSS output on its own,
906
- * without being explicitly used, will output that CSS in every
907
- * single component, increasing the size of the production build.
908
- * Avoid that unless there's very good reason for it!
909
- */
910
- /*
911
- * This file is imported into every component that uses MDC!
912
- *
913
- * Anything in this file that generates CSS output on its own,
914
- * without being explicitly used, will output that CSS in every
915
- * single component, increasing the size of the production build.
916
- * Avoid that unless there's very good reason for it!
917
- */
918
- :host {
919
- --mdc-theme-primary: var(
920
- --lime-primary-color,
921
- rgb(var(--color-teal-default))
922
- );
923
- --mdc-theme-secondary: var(
924
- --lime-secondary-color,
925
- rgb(var(--contrast-1100))
926
- );
927
- --mdc-theme-on-primary: var(
928
- --lime-on-primary-color,
929
- rgb(var(--contrast-100))
930
- );
931
- --mdc-theme-on-secondary: var(
932
- --lime-on-secondary-color,
933
- rgb(var(--contrast-100))
934
- );
935
- --mdc-theme-text-disabled-on-background: var(
936
- --lime-text-disabled-on-background-color,
937
- rgba(var(--contrast-1700), 0.38)
938
- );
939
- --mdc-theme-text-primary-on-background: var(
940
- --lime-text-primary-on-background-color,
941
- rgba(var(--contrast-1700), 0.87)
942
- );
943
- --mdc-theme-text-secondary-on-background: var(
944
- --lime-text-secondary-on-background-color,
945
- rgba(var(--contrast-1700), 0.54)
946
- );
947
- --mdc-theme-error: var(
948
- --lime-error-background-color,
949
- rgb(var(--color-red-dark))
950
- );
951
- --lime-error-text-color: rgb(var(--color-red-darker));
952
- --mdc-theme-surface: var(
953
- --lime-surface-background-color,
954
- rgb(var(--contrast-100))
955
- );
956
- --mdc-theme-on-surface: var(
957
- --lime-on-surface-color,
958
- rgb(var(--contrast-1500))
959
- );
960
- }
961
-
962
- .limel-checkbox-helper-line {
963
- padding-right: 1rem;
964
- padding-left: 1rem;
965
- flex-basis: 100%;
966
- width: 100%;
967
- }
968
-
969
- .limel-checkbox-helper-text {
970
- font-family: Roboto, sans-serif;
971
- -moz-osx-font-smoothing: grayscale;
972
- -webkit-font-smoothing: antialiased;
973
- font-size: 0.6875rem;
974
- font-weight: 400;
975
- letter-spacing: 0.0333333333em;
976
- text-decoration: inherit;
977
- text-transform: inherit;
978
- display: block;
979
- margin-top: 0;
980
- line-height: normal;
981
- margin: 0;
982
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
896
+ limel-helper-line {
983
897
  opacity: 0;
984
- color: rgba(var(--contrast-1200), 1);
985
- }
986
-
987
- :host(:hover) .limel-checkbox-helper-text, :host(:focus) .limel-checkbox-helper-text, :host(:focus-within) .limel-checkbox-helper-text {
988
- opacity: 1;
989
898
  }
990
899
 
991
900
  @media (pointer: coarse) {
992
- .limel-checkbox-helper-text {
901
+ limel-helper-line {
993
902
  opacity: 1;
994
903
  }
995
904
  }
905
+ :host(:focus) limel-helper-line,
906
+ :host(:focus-visible) limel-helper-line,
907
+ :host(:focus-within) limel-helper-line {
908
+ opacity: 1;
909
+ }
910
+
996
911
  .lime-checkbox--readonly.mdc-checkbox--disabled {
997
912
  opacity: 1;
998
913
  --mdc-ripple-press-opacity: 1;
@@ -5362,105 +5277,21 @@ a.mdc-list-item {
5362
5277
  color: var(--lime-error-text-color);
5363
5278
  }
5364
5279
 
5365
- /*
5366
- * This file is imported into every component!
5367
- *
5368
- * Nothing in this file may output any CSS
5369
- * without being explicitly called by outside code.
5370
- */
5371
- /*
5372
- * This file is imported into every component that uses MDC!
5373
- *
5374
- * Anything in this file that generates CSS output on its own,
5375
- * without being explicitly used, will output that CSS in every
5376
- * single component, increasing the size of the production build.
5377
- * Avoid that unless there's very good reason for it!
5378
- */
5379
- /*
5380
- * This file is imported into every component that uses MDC!
5381
- *
5382
- * Anything in this file that generates CSS output on its own,
5383
- * without being explicitly used, will output that CSS in every
5384
- * single component, increasing the size of the production build.
5385
- * Avoid that unless there's very good reason for it!
5386
- */
5387
- :host {
5388
- --mdc-theme-primary: var(
5389
- --lime-primary-color,
5390
- rgb(var(--color-teal-default))
5391
- );
5392
- --mdc-theme-secondary: var(
5393
- --lime-secondary-color,
5394
- rgb(var(--contrast-1100))
5395
- );
5396
- --mdc-theme-on-primary: var(
5397
- --lime-on-primary-color,
5398
- rgb(var(--contrast-100))
5399
- );
5400
- --mdc-theme-on-secondary: var(
5401
- --lime-on-secondary-color,
5402
- rgb(var(--contrast-100))
5403
- );
5404
- --mdc-theme-text-disabled-on-background: var(
5405
- --lime-text-disabled-on-background-color,
5406
- rgba(var(--contrast-1700), 0.38)
5407
- );
5408
- --mdc-theme-text-primary-on-background: var(
5409
- --lime-text-primary-on-background-color,
5410
- rgba(var(--contrast-1700), 0.87)
5411
- );
5412
- --mdc-theme-text-secondary-on-background: var(
5413
- --lime-text-secondary-on-background-color,
5414
- rgba(var(--contrast-1700), 0.54)
5415
- );
5416
- --mdc-theme-error: var(
5417
- --lime-error-background-color,
5418
- rgb(var(--color-red-dark))
5419
- );
5420
- --lime-error-text-color: rgb(var(--color-red-darker));
5421
- --mdc-theme-surface: var(
5422
- --lime-surface-background-color,
5423
- rgb(var(--contrast-100))
5424
- );
5425
- --mdc-theme-on-surface: var(
5426
- --lime-on-surface-color,
5427
- rgb(var(--contrast-1500))
5428
- );
5429
- }
5430
-
5431
- .limel-checkbox-helper-line {
5432
- padding-right: 1rem;
5433
- padding-left: 1rem;
5434
- flex-basis: 100%;
5435
- width: 100%;
5436
- }
5437
-
5438
- .limel-checkbox-helper-text {
5439
- font-family: Roboto, sans-serif;
5440
- -moz-osx-font-smoothing: grayscale;
5441
- -webkit-font-smoothing: antialiased;
5442
- font-size: 0.6875rem;
5443
- font-weight: 400;
5444
- letter-spacing: 0.0333333333em;
5445
- text-decoration: inherit;
5446
- text-transform: inherit;
5447
- display: block;
5448
- margin-top: 0;
5449
- line-height: normal;
5450
- margin: 0;
5451
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
5280
+ limel-helper-line {
5452
5281
  opacity: 0;
5453
- color: rgba(var(--contrast-1200), 1);
5454
- }
5455
- :host(:hover) .limel-checkbox-helper-text, :host(:focus) .limel-checkbox-helper-text, :host(:focus-within) .limel-checkbox-helper-text {
5456
- opacity: 1;
5457
5282
  }
5458
5283
 
5459
5284
  @media (pointer: coarse) {
5460
- .limel-checkbox-helper-text {
5285
+ limel-helper-line {
5461
5286
  opacity: 1;
5462
5287
  }
5463
5288
  }
5289
+ :host(:focus) limel-helper-line,
5290
+ :host(:focus-visible) limel-helper-line,
5291
+ :host(:focus-within) limel-helper-line {
5292
+ opacity: 1;
5293
+ }
5294
+
5464
5295
  .lime-checkbox--readonly.mdc-checkbox--disabled {
5465
5296
  opacity: 1;
5466
5297
  --mdc-ripple-press-opacity: 1;
@@ -120,7 +120,6 @@ export class Picker {
120
120
  /**
121
121
  * Renders the dropdown with the items to pick from, or a spinner if the picker
122
122
  * is waiting for items to be received
123
- *
124
123
  * @returns {HTMLElement} picker dropdown
125
124
  */
126
125
  renderDropdown() {
@@ -179,7 +178,6 @@ export class Picker {
179
178
  /**
180
179
  * Returns true if the picker is "full"
181
180
  * The picker is considered to be full if it has a value and only one is allowed
182
- *
183
181
  * @returns {boolean} true if the picker is full
184
182
  */
185
183
  isFull() {
@@ -232,7 +230,6 @@ export class Picker {
232
230
  }
233
231
  /**
234
232
  * Check if a descendant still has focus. If not, reset text value and search result.
235
- *
236
233
  * @returns {void}
237
234
  */
238
235
  handleStopEditAndBlur() {
@@ -248,7 +245,6 @@ export class Picker {
248
245
  }
249
246
  /**
250
247
  * Input handler for the input field
251
- *
252
248
  * @param {InputEvent} event event
253
249
  * @returns {void}
254
250
  */
@@ -264,7 +260,6 @@ export class Picker {
264
260
  }
265
261
  /**
266
262
  * Change handler for the list
267
- *
268
263
  * @param {LimelListCustomEvent<ListItem>} event event
269
264
  * @returns {void}
270
265
  */
@@ -285,7 +280,6 @@ export class Picker {
285
280
  }
286
281
  /**
287
282
  * Change handler for the list
288
- *
289
283
  * @param {LimelChipSetCustomEvent} event event
290
284
  * @returns {void}
291
285
  */
@@ -300,7 +294,6 @@ export class Picker {
300
294
  /**
301
295
  * Focus handler for the chip set
302
296
  * Prevent focus if the picker has a value and does not support multiple values
303
- *
304
297
  * @returns {void}
305
298
  */
306
299
  async handleInputFieldFocus() {
@@ -329,7 +322,6 @@ export class Picker {
329
322
  /**
330
323
  * Key handler for the input field
331
324
  * Will change focus to the first/last item in the dropdown list to enable selection with the keyboard
332
- *
333
325
  * @param {KeyboardEvent} event event
334
326
  * @returns {void}
335
327
  */
@@ -360,7 +352,6 @@ export class Picker {
360
352
  }
361
353
  /**
362
354
  * Key handler for the dropdown
363
- *
364
355
  * @param {KeyboardEvent} event event
365
356
  * @returns {void}
366
357
  */
@@ -49,8 +49,6 @@ import { ESCAPE } from '../../util/keycodes';
49
49
  * Do not make a popover too big. They should never take over the entire screen.
50
50
  * If your content is that big, you should probably be using a Modal instead.
51
51
  * :::
52
- *
53
- *
54
52
  * @slot - Content to put inside the surface
55
53
  * @exampleComponent limel-example-popover
56
54
  */
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * If the child element is a descendant of a limel-portal, this function will
5
5
  * go back through the portal and check the original tree recursively
6
- *
7
6
  * @param {HTMLElement} element the parent element
8
7
  * @param {HTMLElement} child the child element to check
9
8
  * @returns {boolean} `true` if child is a descendant of element, taking
@@ -8,20 +8,19 @@ import { createPopper, } from '@popperjs/core';
8
8
  * There are some caveats when using this component
9
9
  *
10
10
  * Events might not bubble up as expected since the content is moved out to
11
- * another DOM node.
11
+ * another DOM node.
12
12
  * Any styling that is applied to content from the parent will be lost, if the
13
- * content is just another web compoent it will work without any issues.
14
- * Alternatively, use the
15
- * `style=""` html attribute.
13
+ * content is just another web compoent it will work without any issues.
14
+ * Alternatively, use the
15
+ * `style=""` html attribute.
16
16
  * Any component that is placed inside the container must have a style of
17
- * `max-height: inherit`. This ensures that its placement is calculated
18
- * correctly in relation to the trigger, and that it never covers its own
19
- * trigger.
17
+ * `max-height: inherit`. This ensures that its placement is calculated
18
+ * correctly in relation to the trigger, and that it never covers its own
19
+ * trigger.
20
20
  * When the node is moved in the DOM, `disconnectedCallback` and
21
- * `connectedCallback` will be invoked, so if `disconnectedCallback` is used
22
- * to do any tear-down, the appropriate setup will have to be done again on
23
- * `connectedCallback`.
24
- *
21
+ * `connectedCallback` will be invoked, so if `disconnectedCallback` is used
22
+ * to do any tear-down, the appropriate setup will have to be done again on
23
+ * `connectedCallback`.
25
24
  * @slot - Content to put inside the portal
26
25
  * @private
27
26
  * @exampleComponent limel-example-portal
@@ -1695,10 +1695,8 @@
1695
1695
  .limel-select.limel-select--required .mdc-floating-label::after {
1696
1696
  content: "*";
1697
1697
  }
1698
- .limel-select.limel-select--invalid .mdc-floating-label,
1699
- .limel-select.limel-select--invalid .limel-select__selected-option,
1700
- .limel-select.limel-select--invalid .invalid-icon,
1701
- .limel-select.limel-select--invalid + .mdc-select-helper-line .mdc-select-helper-text {
1698
+ .limel-select.limel-select--invalid .limel-select__selected-option__text,
1699
+ .limel-select.limel-select--invalid .invalid-icon {
1702
1700
  color: var(--lime-error-text-color);
1703
1701
  }
1704
1702
  .limel-select.limel-select--invalid .mdc-floating-label:not(.mdc-floating-label--float-above) {
@@ -1752,45 +1750,17 @@ select.limel-select__native-control {
1752
1750
  display: none;
1753
1751
  }
1754
1752
 
1755
- :host(:focus) .mdc-select-helper-text,
1756
- :host(:focus-visible) .mdc-select-helper-text,
1757
- :host(:focus-within) .mdc-select-helper-text {
1758
- opacity: 1;
1753
+ limel-helper-line {
1754
+ opacity: 0;
1759
1755
  }
1760
1756
 
1761
- .limel-select--focused + .mdc-select-helper-line .mdc-select-helper-text {
1757
+ .limel-select--focused + limel-helper-line {
1762
1758
  opacity: 1;
1763
1759
  }
1764
1760
 
1765
- .mdc-select-helper-line {
1766
- padding-right: 1rem;
1767
- padding-left: 1rem;
1768
- flex-basis: 100%;
1769
- width: 100%;
1770
- }
1771
-
1772
- .mdc-select-helper-text {
1773
- margin-left: 0;
1774
- margin-right: 0;
1775
- font-family: Roboto, sans-serif;
1776
- -moz-osx-font-smoothing: grayscale;
1777
- -webkit-font-smoothing: antialiased;
1778
- font-size: 0.6875rem;
1779
- font-weight: 400;
1780
- letter-spacing: 0.0333333333em;
1781
- text-decoration: inherit;
1782
- text-transform: inherit;
1783
- display: block;
1784
- margin-top: 0;
1785
- line-height: normal;
1786
- margin: 0;
1787
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
1788
- opacity: 0;
1789
- }
1790
- .mdc-select-helper-text:before {
1791
- height: 0.75rem;
1792
- display: inline-block;
1793
- width: 0;
1794
- content: "";
1795
- vertical-align: 0;
1761
+ :host(:focus) limel-helper-line,
1762
+ :host(:focus-visible) limel-helper-line,
1763
+ :host(:focus-within) limel-helper-line,
1764
+ .limel-select--invalid limel-helper-line {
1765
+ opacity: 1;
1796
1766
  }
@@ -26,7 +26,7 @@ export const SelectTemplate = (props) => {
26
26
  'limel-select--empty': !hasValue,
27
27
  'limel-select--with-helper-text': typeof props.helperText === 'string',
28
28
  };
29
- return (h("div", { class: classList }, h(SelectValue, Object.assign({}, props, { hasValue: hasValue, isValid: isValid, hasEmptyText: hasEmptyText })), h(HelperText, { text: props.helperText }), h(SelectDropdown, Object.assign({}, props))));
29
+ return (h("div", { class: classList }, h(SelectValue, Object.assign({}, props, { hasValue: hasValue, isValid: isValid, hasEmptyText: hasEmptyText })), h(HelperText, { text: props.helperText, isValid: !props.invalid }), h(SelectDropdown, Object.assign({}, props))));
30
30
  };
31
31
  const SelectValue = (props) => {
32
32
  const anchorClassList = {
@@ -54,7 +54,7 @@ const HelperText = (props) => {
54
54
  if (typeof props.text !== 'string') {
55
55
  return;
56
56
  }
57
- 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())));
57
+ return (h("limel-helper-line", { helperText: props.text.trim(), invalid: !props.isValid }));
58
58
  };
59
59
  const SelectDropdown = (props) => {
60
60
  if (props.native) {
@@ -7,7 +7,6 @@ import { h } from '@stencil/core';
7
7
  * By default, this navigation will happen within the same browser tab.
8
8
  * However, it is possible to override that behavior, by specifying a `target`
9
9
  * for the `link` property
10
- *
11
10
  * @exampleComponent limel-example-shortcut
12
11
  * @exampleComponent limel-example-shortcut-notification
13
12
  * @exampleComponent limel-example-shortcut-styling
@@ -913,40 +913,13 @@
913
913
  background-color: var(--mdc-theme-primary);
914
914
  }
915
915
 
916
- :host(:focus) .mdc-slider-helper-text,
917
- :host(:focus-visible) .mdc-slider-helper-text,
918
- :host(:focus-within) .mdc-slider-helper-text {
919
- opacity: 1;
920
- }
921
-
922
- .mdc-slider-helper-line {
923
- padding-right: 1rem;
924
- padding-left: 1rem;
925
- flex-basis: 100%;
926
- width: 100%;
916
+ limel-helper-line {
917
+ opacity: 0;
927
918
  order: 3;
928
919
  }
929
920
 
930
- .mdc-slider-helper-text {
931
- font-family: Roboto, sans-serif;
932
- -moz-osx-font-smoothing: grayscale;
933
- -webkit-font-smoothing: antialiased;
934
- font-size: 0.6875rem;
935
- font-weight: 400;
936
- letter-spacing: 0.0333333333em;
937
- text-decoration: inherit;
938
- text-transform: inherit;
939
- display: block;
940
- margin-top: 0;
941
- line-height: normal;
942
- margin: 0;
943
- transition: opacity 150ms cubic-bezier(0.4, 0, 0.2, 1);
944
- opacity: 0;
945
- }
946
- .mdc-slider-helper-text:before {
947
- height: 0.75rem;
948
- display: inline-block;
949
- width: 0;
950
- content: "";
951
- vertical-align: 0;
921
+ :host(:focus) limel-helper-line,
922
+ :host(:focus-visible) limel-helper-line,
923
+ :host(:focus-within) limel-helper-line {
924
+ opacity: 1;
952
925
  }
@@ -110,7 +110,7 @@ export class Slider {
110
110
  if (!this.helperText) {
111
111
  return;
112
112
  }
113
- return (h("div", { class: "mdc-slider-helper-line" }, h("p", { class: "mdc-slider-helper-text" }, this.helperText)));
113
+ return h("limel-helper-line", { helperText: this.helperText });
114
114
  }
115
115
  watchDisabled() {
116
116
  this.updateDisabledState();
@@ -2,12 +2,34 @@ import { MDCSnackbar } from '@material/snackbar';
2
2
  import { h, } from '@stencil/core';
3
3
  import translate from '../../global/translations';
4
4
  /**
5
+ * A Snackbar –also known as "Toast"– is used to inform the end user
6
+ * about an action or a process in the system.
7
+ * The information could vary from announcing that a process has just started,
8
+ * is taking place now, has ended, or has been interrupted or canceled.
9
+ *
10
+ * The information that you provide using a snackbar should be:
11
+ * - temporary
12
+ * - contextual
13
+ * - short
14
+ * - and most importantly, ignorable.
15
+ *
16
+ * It means if the user misses the information, it shouldn't be a big deal.
17
+ *
18
+ * :::note
19
+ * If the information you want to display has a higher importance or priority,
20
+ * and you need to make sure that the user takes an action to dismiss it,
21
+ * consider using the [Banner](/#/component/limel-banner/) component instead.
22
+ * For more complex interactions and for delivering more detailed information,
23
+ * [Dialog](/#/component/limel-dialog/) is a better choice.
24
+ * :::
5
25
  * @exampleComponent limel-example-snackbar
26
+ * @exampleComponent limel-example-snackbar-with-action
27
+ * @exampleComponent limel-example-snackbar-with-changing-messages
6
28
  */
7
29
  export class Snackbar {
8
30
  constructor() {
9
31
  this.message = undefined;
10
- this.timeout = undefined;
32
+ this.timeout = 5000;
11
33
  this.actionText = undefined;
12
34
  this.dismissible = undefined;
13
35
  this.multiline = undefined;
@@ -115,13 +137,14 @@ export class Snackbar {
115
137
  "references": {}
116
138
  },
117
139
  "required": false,
118
- "optional": false,
140
+ "optional": true,
119
141
  "docs": {
120
142
  "tags": [],
121
143
  "text": "The amount of time in milliseconds to show the snackbar."
122
144
  },
123
145
  "attribute": "timeout",
124
- "reflect": false
146
+ "reflect": false,
147
+ "defaultValue": "5000"
125
148
  },
126
149
  "actionText": {
127
150
  "type": "string",
@@ -11,7 +11,6 @@ import { Host, h } from '@stencil/core';
11
11
  * The button should only be used for performing commands!
12
12
  * - Never use this component instead of a Select or Menu component!
13
13
  * :::
14
- *
15
14
  * @exampleComponent limel-example-split-button-basic
16
15
  * @exampleComponent limel-example-split-button-repeat-default-command
17
16
  */
@@ -14,14 +14,13 @@ const HIDE_SCROLL_BUTTONS_WHEN_SCROLLED_LESS_THAN_PX = 40;
14
14
  * :::
15
15
  * An exception for using tab bars in a high level of hierarchy is their usage in modals. This is because modals are perceived as a separate place and not a part of the current context. Therefore you can use tab bars in a modal to group and organize its content.
16
16
  * A tab bar can contain an unlimited number of tabs. However, depending on the device width and width of the tabs, the number of tabs that are visible at the same time will vary. When there is limited horizontal space, the component shows a left-arrow and/or right-arrow button, which scrolls and reveals the additional tabs. The tab bar can also be swiped left and right on a touch-device.
17
- *:::tip Other things to consider
17
+ * :::tip Other things to consider
18
18
  * Never divide the content of a tab using a nested tab bar.
19
19
  * Never place two tab bars within the same screen.
20
20
  * Never use background color for icons in tabs.
21
21
  * Avoid having long labels for tabs.
22
22
  * A tab will never be removed or get disabled, even if there is no content under it.
23
23
  * :::
24
- *
25
24
  * @exampleComponent limel-example-tab-bar
26
25
  * @exampleComponent limel-example-tab-bar-with-dynamic-tab-width
27
26
  * @exampleComponent limel-example-tab-bar-with-equal-tab-width
@@ -1,7 +1,6 @@
1
1
  /**
2
2
  * Set a tabs `active` state to true in a list of tabs. The previous tab with
3
3
  * `active` set to true will have it set to `false` instead.
4
- *
5
4
  * @param {Tab[]} tabs list of tabs
6
5
  * @param {number} index the index of the tab to set to active
7
6
  * @returns {Tab[]} a copy of the list of tabs with the changed tabs replaced
@@ -14,7 +14,6 @@ import { dispatchResizeEvent } from '../../util/dispatch-resize-event';
14
14
  *
15
15
  * The slotted components can also emit the `changeTab` event to update anything
16
16
  * inside the actual tab, e.g. to change the icon, color or badge.
17
- *
18
17
  * @slot - Content to put inside the `limel-tab-panel`. Each slotted element
19
18
  * must have the `id` attribute equal to the id of the tab it belongs to.
20
19
  * @exampleComponent limel-example-tab-panel
@@ -7,7 +7,6 @@ export class ColumnDefinitionFactory {
7
7
  }
8
8
  /**
9
9
  * Create Tabulator column definitions from a limel-table column configuration
10
- *
11
10
  * @param {Column} column config describing the column
12
11
  * @returns {Tabulator.ColumnDefinition} Tabulator column
13
12
  */
@@ -34,7 +33,6 @@ export class ColumnDefinitionFactory {
34
33
  }
35
34
  /**
36
35
  * Formats the header of the column
37
- *
38
36
  * @param {Column} column the configuration for the column
39
37
  * @returns {string | HTMLElement} custom component that renders a column header
40
38
  */
@@ -57,7 +55,6 @@ export const formatHeader = (column) => () => {
57
55
  };
58
56
  /**
59
57
  * Create a formatter to be used to format values in a column
60
- *
61
58
  * @param {Column} column config describing the column
62
59
  * @param {ElementPool} pool pool to get custom components from
63
60
  * @returns {Tabulator.Formatter} Tabulator formatter
@@ -90,7 +87,6 @@ function columnElementExists(column) {
90
87
  }
91
88
  /**
92
89
  * Format the value of a cell in the table
93
- *
94
90
  * @param {Tabulator.CellComponent} cell the cell being rendered in the table
95
91
  * @param {Column} column configuration for the current column
96
92
  * @returns {string} the formatted value
@@ -108,7 +104,6 @@ export function formatCell(cell, column) {
108
104
  }
109
105
  /**
110
106
  * Create a custom component that renders a cell value
111
- *
112
107
  * @param {Tabulator.CellComponent} cell Tabulator cell
113
108
  * @param {Column} column lime-elements column configuration
114
109
  * @param {string} value the value of the cell being rendered
@@ -131,7 +126,6 @@ export function createCustomComponent(cell, column, value, pool) {
131
126
  }
132
127
  /**
133
128
  * Set all properties for a custom element, including event listeners
134
- *
135
129
  * @param {HTMLElement} element the custom element
136
130
  * @param {object} props object of properties and event listeners
137
131
  */
@@ -149,7 +143,6 @@ export function setElementProperties(element, props) {
149
143
  *
150
144
  * An event listener has to be a function and its property name have to start
151
145
  * with "on" followed by the name of the event in camel case, e.g. "onEventName"
152
- *
153
146
  * @param {any} value the value to check
154
147
  * @param {string} key name of the property
155
148
  * @returns {boolean} true if the property of the object is an event listener
@@ -164,7 +157,6 @@ function isEventListener(value, key) {
164
157
  * Get the name of an event from the name of an event listener
165
158
  *
166
159
  * E.g. "onMyEvent" will return "myEvent"
167
- *
168
160
  * @param {string} eventListener name of the event listener
169
161
  * @returns {string} the name of the event
170
162
  */
@@ -195,7 +187,6 @@ function createResizeObserver(element, column) {
195
187
  }
196
188
  /**
197
189
  * Create a column sorter from a tabulator sorter
198
- *
199
190
  * @param {Column[]} columns all available columns in the table
200
191
  * @returns {Function} function that creates a sorter from a tabulator sorter
201
192
  */
@@ -9,7 +9,6 @@ export class ElementPool {
9
9
  }
10
10
  /**
11
11
  * Get an element from the pool
12
- *
13
12
  * @param {string} name tag name of the element
14
13
  * @returns {HTMLElement} the element
15
14
  */
@@ -24,7 +23,6 @@ export class ElementPool {
24
23
  }
25
24
  /**
26
25
  * Release an element from the pool so that it can be reused
27
- *
28
26
  * @param {HTMLElement} element the element to release from the pool
29
27
  */
30
28
  release(element) {