@limetech/lime-elements 38.31.0 → 38.31.2

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 (193) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-action-bar_2.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
  9. package/dist/cjs/limel-collapsible-section.cjs.entry.js.map +1 -1
  10. package/dist/cjs/limel-drag-handle.cjs.entry.js +34 -0
  11. package/dist/cjs/limel-drag-handle.cjs.entry.js.map +1 -0
  12. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-form.cjs.entry.js +3220 -305
  16. package/dist/cjs/limel-form.cjs.entry.js.map +1 -1
  17. package/dist/cjs/limel-info-tile.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-info-tile.cjs.entry.js.map +1 -1
  19. package/dist/cjs/limel-linear-progress.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-list-item.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
  22. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
  24. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  25. package/dist/cjs/loader.cjs.js +1 -1
  26. package/dist/cjs/{translations-d2be6dd7.js → translations-a42886f2.js} +17 -1
  27. package/dist/cjs/translations-a42886f2.js.map +1 -0
  28. package/dist/collection/collection-manifest.json +1 -0
  29. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.css +3 -0
  30. package/dist/collection/components/action-bar/action-bar.css +3 -0
  31. package/dist/collection/components/badge/badge.css +3 -0
  32. package/dist/collection/components/breadcrumbs/breadcrumbs.css +3 -0
  33. package/dist/collection/components/button/button.css +3 -0
  34. package/dist/collection/components/button-group/button-group.css +3 -0
  35. package/dist/collection/components/card/card.css +3 -0
  36. package/dist/collection/components/chart/chart.css +6 -0
  37. package/dist/collection/components/checkbox/checkbox.css +3 -0
  38. package/dist/collection/components/chip/chip.css +3 -0
  39. package/dist/collection/components/chip-set/chip-set.css +6 -0
  40. package/dist/collection/components/circular-progress/circular-progress.css +3 -0
  41. package/dist/collection/components/code-editor/code-editor.css +3 -0
  42. package/dist/collection/components/collapsible-section/collapsible-section.css +17 -8
  43. package/dist/collection/components/color-picker/color-picker-palette.css +3 -0
  44. package/dist/collection/components/color-picker/color-picker.css +3 -0
  45. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.css +3 -0
  46. package/dist/collection/components/dialog/dialog.css +3 -0
  47. package/dist/collection/components/dock/dock-button/dock-button.css +3 -0
  48. package/dist/collection/components/dock/dock.css +3 -0
  49. package/dist/collection/components/drag-handle/drag-handle.css +174 -0
  50. package/dist/collection/components/drag-handle/drag-handle.js +125 -0
  51. package/dist/collection/components/drag-handle/drag-handle.js.map +1 -0
  52. package/dist/collection/components/file/file.css +3 -0
  53. package/dist/collection/components/file-viewer/file-viewer.css +3 -0
  54. package/dist/collection/components/form/form.css +143 -14
  55. package/dist/collection/components/form/templates/array-field-collapsible-item.js +13 -16
  56. package/dist/collection/components/form/templates/array-field-collapsible-item.js.map +1 -1
  57. package/dist/collection/components/form/templates/array-field-simple-item.js +16 -49
  58. package/dist/collection/components/form/templates/array-field-simple-item.js.map +1 -1
  59. package/dist/collection/components/form/templates/array-field.js +306 -19
  60. package/dist/collection/components/form/templates/array-field.js.map +1 -1
  61. package/dist/collection/components/header/header.css +3 -0
  62. package/dist/collection/components/help/help.css +3 -0
  63. package/dist/collection/components/help/limel-help-content.css +3 -0
  64. package/dist/collection/components/icon-button/icon-button.css +3 -0
  65. package/dist/collection/components/info-tile/info-tile.css +3 -0
  66. package/dist/collection/components/input-field/input-field.css +3 -0
  67. package/dist/collection/components/list/list.css +6 -0
  68. package/dist/collection/components/list-item/list-item.css +3 -0
  69. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.css +3 -0
  70. package/dist/collection/components/markdown/markdown.css +3 -0
  71. package/dist/collection/components/menu-list/menu-list.css +6 -0
  72. package/dist/collection/components/notched-outline/notched-outline.css +3 -0
  73. package/dist/collection/components/popover-surface/popover-surface.css +3 -0
  74. package/dist/collection/components/profile-picture/profile-picture.css +3 -0
  75. package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +3 -0
  76. package/dist/collection/components/radio-button-group/radio-button.css +3 -0
  77. package/dist/collection/components/select/select.css +6 -0
  78. package/dist/collection/components/shortcut/shortcut.css +3 -0
  79. package/dist/collection/components/slider/slider.css +3 -0
  80. package/dist/collection/components/split-button/split-button.css +3 -0
  81. package/dist/collection/components/switch/switch.css +3 -0
  82. package/dist/collection/components/tab-bar/tab-bar.css +3 -0
  83. package/dist/collection/components/table/table.css +12 -0
  84. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.css +3 -0
  85. package/dist/collection/components/text-editor/text-editor.css +3 -0
  86. package/dist/collection/style/mixins.scss +53 -0
  87. package/dist/collection/translations/da.js +2 -0
  88. package/dist/collection/translations/da.js.map +1 -1
  89. package/dist/collection/translations/de.js +2 -0
  90. package/dist/collection/translations/de.js.map +1 -1
  91. package/dist/collection/translations/en.js +2 -0
  92. package/dist/collection/translations/en.js.map +1 -1
  93. package/dist/collection/translations/fi.js +2 -0
  94. package/dist/collection/translations/fi.js.map +1 -1
  95. package/dist/collection/translations/fr.js +2 -0
  96. package/dist/collection/translations/fr.js.map +1 -1
  97. package/dist/collection/translations/nl.js +2 -0
  98. package/dist/collection/translations/nl.js.map +1 -1
  99. package/dist/collection/translations/no.js +2 -0
  100. package/dist/collection/translations/no.js.map +1 -1
  101. package/dist/collection/translations/sv.js +2 -0
  102. package/dist/collection/translations/sv.js.map +1 -1
  103. package/dist/esm/lime-elements.js +1 -1
  104. package/dist/esm/limel-action-bar_2.entry.js +1 -1
  105. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  106. package/dist/esm/limel-callout.entry.js +1 -1
  107. package/dist/esm/limel-chart.entry.js +1 -1
  108. package/dist/esm/limel-chip_2.entry.js +1 -1
  109. package/dist/esm/limel-collapsible-section.entry.js +2 -2
  110. package/dist/esm/limel-collapsible-section.entry.js.map +1 -1
  111. package/dist/esm/limel-drag-handle.entry.js +30 -0
  112. package/dist/esm/limel-drag-handle.entry.js.map +1 -0
  113. package/dist/esm/limel-file-viewer.entry.js +1 -1
  114. package/dist/esm/limel-file.entry.js +1 -1
  115. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  116. package/dist/esm/limel-form.entry.js +3214 -299
  117. package/dist/esm/limel-form.entry.js.map +1 -1
  118. package/dist/esm/limel-info-tile.entry.js +1 -1
  119. package/dist/esm/limel-info-tile.entry.js.map +1 -1
  120. package/dist/esm/limel-linear-progress.entry.js +1 -1
  121. package/dist/esm/limel-list-item.entry.js +1 -1
  122. package/dist/esm/limel-profile-picture.entry.js +1 -1
  123. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  124. package/dist/esm/limel-snackbar.entry.js +1 -1
  125. package/dist/esm/limel-table.entry.js +1 -1
  126. package/dist/esm/loader.js +1 -1
  127. package/dist/esm/{translations-91c611da.js → translations-9bfde9f4.js} +17 -1
  128. package/dist/esm/translations-9bfde9f4.js.map +1 -0
  129. package/dist/lime-elements/lime-elements.esm.js +1 -1
  130. package/dist/lime-elements/lime-elements.esm.js.map +1 -1
  131. package/dist/lime-elements/p-309d0652.entry.js +2 -0
  132. package/dist/lime-elements/{p-e6245ef7.entry.js.map → p-309d0652.entry.js.map} +1 -1
  133. package/dist/lime-elements/p-31f1cb08.entry.js +2 -0
  134. package/dist/lime-elements/p-31f1cb08.entry.js.map +1 -0
  135. package/dist/lime-elements/{p-cc7f4c81.entry.js → p-3311eaf3.entry.js} +2 -2
  136. package/dist/lime-elements/{p-aeba4aa4.entry.js → p-40542ccc.entry.js} +2 -2
  137. package/dist/lime-elements/{p-d349e355.entry.js → p-42e889d8.entry.js} +2 -2
  138. package/dist/lime-elements/p-5df2361b.js +2 -0
  139. package/dist/lime-elements/p-5df2361b.js.map +1 -0
  140. package/dist/lime-elements/{p-b5abf284.entry.js → p-5e976a59.entry.js} +2 -2
  141. package/dist/lime-elements/{p-6c60172e.entry.js → p-787be044.entry.js} +2 -2
  142. package/dist/lime-elements/p-8ea3b80a.entry.js +2 -0
  143. package/dist/lime-elements/p-8ea3b80a.entry.js.map +1 -0
  144. package/dist/lime-elements/{p-d1aa44e1.entry.js → p-92aa9610.entry.js} +2 -2
  145. package/dist/lime-elements/{p-8e3c4418.entry.js → p-aa1e7319.entry.js} +2 -2
  146. package/dist/lime-elements/p-ae267255.entry.js +27 -0
  147. package/dist/lime-elements/p-ae267255.entry.js.map +1 -0
  148. package/dist/lime-elements/{p-ed04acfc.entry.js → p-b0acf522.entry.js} +2 -2
  149. package/dist/lime-elements/{p-f83ebd28.entry.js → p-b7bbb6a5.entry.js} +2 -2
  150. package/dist/lime-elements/{p-eb396630.entry.js → p-cd2f780a.entry.js} +2 -2
  151. package/dist/lime-elements/{p-aae161ef.entry.js → p-d79c85e2.entry.js} +2 -2
  152. package/dist/lime-elements/{p-1b036add.entry.js → p-e00465fa.entry.js} +2 -2
  153. package/dist/lime-elements/{p-29c2cdc6.entry.js → p-ee5c4112.entry.js} +2 -2
  154. package/dist/lime-elements/{p-e6bb4d1a.entry.js → p-fbac230b.entry.js} +2 -2
  155. package/dist/lime-elements/style/mixins.scss +53 -0
  156. package/dist/scss/mixins.scss +53 -0
  157. package/dist/types/components/drag-handle/drag-handle.d.ts +46 -0
  158. package/dist/types/components/form/templates/array-field-collapsible-item.d.ts +3 -1
  159. package/dist/types/components/form/templates/array-field-simple-item.d.ts +5 -9
  160. package/dist/types/components/form/templates/array-field.d.ts +35 -4
  161. package/dist/types/components.d.ts +113 -0
  162. package/dist/types/translations/da.d.ts +2 -0
  163. package/dist/types/translations/de.d.ts +2 -0
  164. package/dist/types/translations/en.d.ts +2 -0
  165. package/dist/types/translations/fi.d.ts +2 -0
  166. package/dist/types/translations/fr.d.ts +2 -0
  167. package/dist/types/translations/nl.d.ts +2 -0
  168. package/dist/types/translations/no.d.ts +2 -0
  169. package/dist/types/translations/sv.d.ts +2 -0
  170. package/package.json +5 -2
  171. package/dist/cjs/translations-d2be6dd7.js.map +0 -1
  172. package/dist/esm/translations-91c611da.js.map +0 -1
  173. package/dist/lime-elements/p-4c88e5d3.js +0 -2
  174. package/dist/lime-elements/p-4c88e5d3.js.map +0 -1
  175. package/dist/lime-elements/p-d6d66daa.entry.js +0 -21
  176. package/dist/lime-elements/p-d6d66daa.entry.js.map +0 -1
  177. package/dist/lime-elements/p-e6245ef7.entry.js +0 -2
  178. package/dist/lime-elements/p-ed8aa16c.entry.js +0 -2
  179. package/dist/lime-elements/p-ed8aa16c.entry.js.map +0 -1
  180. /package/dist/lime-elements/{p-cc7f4c81.entry.js.map → p-3311eaf3.entry.js.map} +0 -0
  181. /package/dist/lime-elements/{p-aeba4aa4.entry.js.map → p-40542ccc.entry.js.map} +0 -0
  182. /package/dist/lime-elements/{p-d349e355.entry.js.map → p-42e889d8.entry.js.map} +0 -0
  183. /package/dist/lime-elements/{p-b5abf284.entry.js.map → p-5e976a59.entry.js.map} +0 -0
  184. /package/dist/lime-elements/{p-6c60172e.entry.js.map → p-787be044.entry.js.map} +0 -0
  185. /package/dist/lime-elements/{p-d1aa44e1.entry.js.map → p-92aa9610.entry.js.map} +0 -0
  186. /package/dist/lime-elements/{p-8e3c4418.entry.js.map → p-aa1e7319.entry.js.map} +0 -0
  187. /package/dist/lime-elements/{p-ed04acfc.entry.js.map → p-b0acf522.entry.js.map} +0 -0
  188. /package/dist/lime-elements/{p-f83ebd28.entry.js.map → p-b7bbb6a5.entry.js.map} +0 -0
  189. /package/dist/lime-elements/{p-eb396630.entry.js.map → p-cd2f780a.entry.js.map} +0 -0
  190. /package/dist/lime-elements/{p-aae161ef.entry.js.map → p-d79c85e2.entry.js.map} +0 -0
  191. /package/dist/lime-elements/{p-1b036add.entry.js.map → p-e00465fa.entry.js.map} +0 -0
  192. /package/dist/lime-elements/{p-29c2cdc6.entry.js.map → p-ee5c4112.entry.js.map} +0 -0
  193. /package/dist/lime-elements/{p-e6bb4d1a.entry.js.map → p-fbac230b.entry.js.map} +0 -0
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -600,6 +603,9 @@ limel-spinner {
600
603
  * of some components, to demonstrate how the component
601
604
  * behaves in a resizable container.
602
605
  */
606
+ /**
607
+ * Drag to reorder mixins
608
+ */
603
609
  /**
604
610
  * The breakpoints below are used to create responsive designs
605
611
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed
@@ -1816,6 +1819,9 @@ limel-chip.can-be-removed {
1816
1819
  * of some components, to demonstrate how the component
1817
1820
  * behaves in a resizable container.
1818
1821
  */
1822
+ /**
1823
+ * Drag to reorder mixins
1824
+ */
1819
1825
  /**
1820
1826
  * The breakpoints below are used to create responsive designs
1821
1827
  * in Lime's products. Therefore, they are here to get distributed
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed
@@ -513,6 +513,9 @@ span.CodeMirror-selectedtext { background: none; }
513
513
  * of some components, to demonstrate how the component
514
514
  * behaves in a resizable container.
515
515
  */
516
+ /**
517
+ * Drag to reorder mixins
518
+ */
516
519
  /**
517
520
  * The breakpoints below are used to create responsive designs
518
521
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -128,7 +131,7 @@
128
131
  }
129
132
  section.open .open-close-toggle {
130
133
  background-color: var(--open-header-background-color, rgb(var(--contrast-100)));
131
- border-radius: var(--border-radius-of-header) var(--border-radius-of-header) 0 0;
134
+ border-radius: var(--border-radius-of-header) var(--border-radius-of-header) var(--limel-cs-open-header-bottom-border-radius, 0) var(--limel-cs-open-header-bottom-border-radius, 0);
132
135
  }
133
136
  section.open .open-close-toggle:hover, section.open .open-close-toggle:focus-visible {
134
137
  background-color: var(--open-header-background-color, rgb(var(--contrast-300)));
@@ -212,27 +215,33 @@ section.open .divider-line {
212
215
  }
213
216
 
214
217
  .body {
215
- --limel-cs-opacity-transition-speed: 0.1s;
216
- --limel-cs-opacity-transition-delay: 0s;
217
- --limel-cs-grid-template-rows-transition-speed: 0.3s;
218
218
  transition: grid-template-rows var(--limel-cs-grid-template-rows-transition-speed) cubic-bezier(1, 0.09, 0, 0.89);
219
219
  display: grid;
220
- grid-template-rows: 0fr;
220
+ grid-template-rows: var(--limel-cs-grid-template-rows);
221
221
  }
222
222
  .body slot {
223
223
  transition: opacity var(--limel-cs-opacity-transition-speed) ease var(--limel-cs-opacity-transition-delay);
224
224
  display: block;
225
225
  overflow: hidden;
226
+ }
227
+
228
+ :host(limel-collapsible-section:not([is-open])) {
229
+ --limel-cs-opacity-transition-speed: 0.1s;
230
+ --limel-cs-opacity-transition-delay: 0s;
231
+ --limel-cs-grid-template-rows-transition-speed: 0.3s;
232
+ --limel-cs-grid-template-rows: 0fr;
233
+ }
234
+ :host(limel-collapsible-section:not([is-open])) slot {
226
235
  opacity: 0;
227
236
  }
228
237
 
229
- section.open .body {
238
+ :host(limel-collapsible-section[is-open]) {
230
239
  --limel-cs-opacity-transition-speed: 0.4s;
231
240
  --limel-cs-opacity-transition-delay: 0.3s;
232
241
  --limel-cs-grid-template-rows-transition-speed: 0.46s;
233
- grid-template-rows: 1fr;
242
+ --limel-cs-grid-template-rows: 1fr;
234
243
  }
235
- section.open .body slot {
244
+ :host(limel-collapsible-section[is-open]) slot {
236
245
  opacity: 1;
237
246
  }
238
247
 
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -0,0 +1,174 @@
1
+ @charset "UTF-8";
2
+ /**
3
+ * Note! This file is exported to `dist/scss/` in the published
4
+ * node module, for consumer projects to import.
5
+ * That means this file cannot import from any file that isn't
6
+ * also exported, keeping the same relative path.
7
+ *
8
+ * Or, just don't import anything, that works too.
9
+ */
10
+ /**
11
+ * This can be used on a trigger element that opens a dropdown menu or a popover.
12
+ */
13
+ /**
14
+ * This mixin will mask out the content that is close to
15
+ * the edges of a scrollable area.
16
+ * - If the scrollable content has `overflow-y`, use `vertically`
17
+ * as an argument for `$direction`.
18
+ - If the scrollable content has `overflow-x`, use `horizontally`
19
+ * as an argument for `$direction`.
20
+ *
21
+ * For the visual effect to work smoothly, we need to make sure that
22
+ * the size of the fade-out edge effect is the same as the
23
+ * internal paddings of the scrollable area. Otherwise, content of a
24
+ * scrollable area that does not have a padding will fade out before
25
+ * any scrolling has been done.
26
+ * This is why this mixin already adds paddings, which automatically
27
+ * default to the size of the fade-out effect.
28
+ * This size defaults to `1rem`, but to override the size use
29
+ * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height`
30
+ * when `vertically` argument is set, and use
31
+ * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width`
32
+ * when `horizontally` argument is set.
33
+ * Of course you can also programmatically increase and decrease the
34
+ * size of these variables for each edge, based on the amount of
35
+ * scrolling that has been done by the user. In this case, make sure
36
+ * to add a custom padding where the mixin is used, to override
37
+ * the paddings that are automatically added by the mixin in the
38
+ * compiled CSS code.
39
+ */
40
+ /**
41
+ * This mixin will add an animated underline to the bottom of an `a` elements.
42
+ * Note that you may need to add `all: unset;` –depending on your use case–
43
+ * before using this mixin.
44
+ */
45
+ /**
46
+ * This mixin creates a cross-browser font stack.
47
+ * - `sans-serif` can be used for the UI of the components.
48
+ * - `monospace` can be used for code.
49
+ *
50
+ * ⚠️ If we change the font stacks, we need to update
51
+ * 1. the consumer documentation in `README.md`, and
52
+ * 2. the CSS variables of `--kompendium-example-font-family`
53
+ * in the `<style>` tag of `index.html`.
54
+ */
55
+ /**
56
+ * This mixin is a hack, using old CSS syntax
57
+ * to enable you to truncate a piece of text,
58
+ * after a certain number of lines.
59
+ */
60
+ /**
61
+ * This mixin will add a chessboard background pattern,
62
+ * typically used to visualize transparency.
63
+ */
64
+ /**
65
+ * Make a container resizable by the user.
66
+ * This is used in the documentations and examples
67
+ * of some components, to demonstrate how the component
68
+ * behaves in a resizable container.
69
+ */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
73
+ /**
74
+ * The breakpoints below are used to create responsive designs
75
+ * in Lime's products. Therefore, they are here to get distributed
76
+ * to all components in other private repos, which rely on this `mixins`
77
+ * file, to create consistent styles.
78
+ *
79
+ * :::important
80
+ * In very rare cases you should used media queries!
81
+ * Nowadays, there are many better ways of achieving responsive design
82
+ * without media queries. For example, using CSS Grid, Flexbox, and their features.
83
+ * :::
84
+ */
85
+ /**
86
+ * Media query mixins for responsive design based on screen width.
87
+ * Note that these mixins do not detect the device type!
88
+ */
89
+ limel-drag-handle {
90
+ display: inline-flex;
91
+ align-items: center;
92
+ justify-content: center;
93
+ }
94
+
95
+ button.limel-drag-handle {
96
+ all: unset;
97
+ transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);
98
+ cursor: pointer;
99
+ color: var(--limel-theme-on-surface-color);
100
+ background-color: transparent;
101
+ touch-action: none;
102
+ cursor: grab;
103
+ display: inline-flex;
104
+ align-items: center;
105
+ justify-content: center;
106
+ border-radius: 0.4rem;
107
+ padding: 0.5rem;
108
+ max-height: 2.25rem;
109
+ max-width: 2.25rem;
110
+ color: rgb(var(--contrast-900));
111
+ }
112
+ button.limel-drag-handle:focus {
113
+ outline: none;
114
+ }
115
+ button.limel-drag-handle:focus-visible {
116
+ outline: none;
117
+ box-shadow: var(--shadow-depth-8-focused);
118
+ }
119
+ button.limel-drag-handle:hover, button.limel-drag-handle:focus, button.limel-drag-handle:focus-visible {
120
+ will-change: color, background-color, box-shadow, transform;
121
+ }
122
+ button.limel-drag-handle:hover, button.limel-drag-handle:focus-visible {
123
+ transform: translate3d(0, 0.01rem, 0);
124
+ color: var(--mdc-theme-primary);
125
+ background-color: transparent;
126
+ }
127
+ button.limel-drag-handle:hover {
128
+ box-shadow: var(--button-shadow-hovered);
129
+ }
130
+ button.limel-drag-handle:active {
131
+ --limel-clickable-transform-timing-function: cubic-bezier(
132
+ 0.83,
133
+ -0.15,
134
+ 0.49,
135
+ 1.16
136
+ );
137
+ transform: translate3d(0, 0.05rem, 0);
138
+ box-shadow: var(--button-shadow-pressed);
139
+ }
140
+ button.limel-drag-handle:hover, button.limel-drag-handle:active {
141
+ --limel-clickable-transition-speed: 0.2s;
142
+ --limel-clickable-transform-speed: 0.16s;
143
+ }
144
+ button.limel-drag-handle:active {
145
+ cursor: grabbing;
146
+ }
147
+ button.limel-drag-handle:active, button.limel-drag-handle:hover {
148
+ box-shadow: none !important;
149
+ }
150
+ button.limel-drag-handle .drag-icon {
151
+ display: grid;
152
+ grid-template-columns: 1fr 1fr 1fr;
153
+ gap: 0.2rem;
154
+ }
155
+ limel-drag-handle[drag-direction=horizontal] button.limel-drag-handle .drag-icon {
156
+ grid-template-columns: 1fr 1fr;
157
+ }
158
+ button.limel-drag-handle .drag-icon div {
159
+ transition: transform 0.2s ease, background-color 0.2s ease;
160
+ height: 0.125rem;
161
+ width: 0.125rem;
162
+ border-radius: 1rem;
163
+ background-color: currentColor;
164
+ transform: scale(1);
165
+ }
166
+
167
+ .is-being-dragged button.limel-drag-handle .drag-icon div,
168
+ button.limel-drag-handle:active .drag-icon div,
169
+ button.limel-drag-handle:focus .drag-icon div,
170
+ button.limel-drag-handle:hover .drag-icon div,
171
+ button.limel-drag-handle:focus-visible .drag-icon div {
172
+ background-color: var(--mdc-theme-primary);
173
+ transform: scale(1.5);
174
+ }
@@ -0,0 +1,125 @@
1
+ import { h, Host } from '@stencil/core';
2
+ import translate from '../../global/translations';
3
+ /**
4
+ * This component resembles a drag handle button, but is implemented
5
+ * as a `private` component to allow for easier styling and future extensions.
6
+ *
7
+ * :::important
8
+ * This component has its `shadow` set to `false` in order to
9
+ * integrate well with the drag-and-drop functionality, as well as
10
+ * providing a better accessibility.
11
+ *
12
+ * Keep in mind that its styles might be affected by the consumer
13
+ * component, due to its light dom.
14
+ * :::
15
+ *
16
+ * :::tip
17
+ * It's recommended to place the drag handle on the right side of
18
+ * the item it is meant to reorder, to ensure consistent layout
19
+ * design conventions.
20
+ * :::
21
+ *
22
+ * @exampleComponent limel-example-drag-handle-basic
23
+ * @exampleComponent limel-example-drag-handle-horizontal
24
+ *
25
+ * @private
26
+ */
27
+ export class DragHandleComponent {
28
+ constructor() {
29
+ this.dragHandleId = 'drag-handle-' + crypto.randomUUID();
30
+ this.handleClick = (event) => {
31
+ // Prevent bubbling so the parent item does not treat the pointer click as
32
+ // a toggle or reorder action.
33
+ event.preventDefault();
34
+ event.stopPropagation();
35
+ };
36
+ this.dragDirection = 'vertical';
37
+ this.tooltipOpenDirection = 'left';
38
+ this.language = 'en';
39
+ }
40
+ render() {
41
+ const tooltipLabel = translate.get('drag-handle.drag-to-reorder', this.language);
42
+ const ariaLabel = translate.get('drag-handle.drag-handle', this.language);
43
+ return (h(Host, null, h("button", { "data-drag-handle": true, type: "button", class: "limel-drag-handle", tabindex: -1, "aria-label": ariaLabel, id: this.dragHandleId, onClick: this.handleClick }, h("div", { class: "drag-icon", role: "presentation", "aria-hidden": "true" }, h("div", { key: "1" }), h("div", { key: "2" }), h("div", { key: "3" }), h("div", { key: "4" }), h("div", { key: "5" }), h("div", { key: "6" })), h("limel-tooltip", { openDirection: this.tooltipOpenDirection, elementId: this.dragHandleId, label: tooltipLabel }))));
44
+ }
45
+ static get is() { return "limel-drag-handle"; }
46
+ static get originalStyleUrls() {
47
+ return {
48
+ "$": ["drag-handle.scss"]
49
+ };
50
+ }
51
+ static get styleUrls() {
52
+ return {
53
+ "$": ["drag-handle.css"]
54
+ };
55
+ }
56
+ static get properties() {
57
+ return {
58
+ "dragDirection": {
59
+ "type": "string",
60
+ "mutable": false,
61
+ "complexType": {
62
+ "original": "'vertical' | 'horizontal'",
63
+ "resolved": "\"horizontal\" | \"vertical\"",
64
+ "references": {}
65
+ },
66
+ "required": false,
67
+ "optional": false,
68
+ "docs": {
69
+ "tags": [],
70
+ "text": "The direction in which the drag handle can be used to reorder items."
71
+ },
72
+ "attribute": "drag-direction",
73
+ "reflect": true,
74
+ "defaultValue": "'vertical'"
75
+ },
76
+ "tooltipOpenDirection": {
77
+ "type": "string",
78
+ "mutable": false,
79
+ "complexType": {
80
+ "original": "OpenDirection",
81
+ "resolved": "\"bottom\" | \"bottom-end\" | \"bottom-start\" | \"left\" | \"left-end\" | \"left-start\" | \"right\" | \"right-end\" | \"right-start\" | \"top\" | \"top-end\" | \"top-start\"",
82
+ "references": {
83
+ "OpenDirection": {
84
+ "location": "import",
85
+ "path": "../menu/menu.types"
86
+ }
87
+ }
88
+ },
89
+ "required": false,
90
+ "optional": false,
91
+ "docs": {
92
+ "tags": [],
93
+ "text": "The preferred direction for the tooltip to open.\nDefaults to 'left', as our recommended placement for a drag handle\nin the UI is on the far right side of draggable elements."
94
+ },
95
+ "attribute": "tooltip-open-direction",
96
+ "reflect": true,
97
+ "defaultValue": "'left'"
98
+ },
99
+ "language": {
100
+ "type": "string",
101
+ "mutable": false,
102
+ "complexType": {
103
+ "original": "Languages",
104
+ "resolved": "\"da\" | \"de\" | \"en\" | \"fi\" | \"fr\" | \"nb\" | \"nl\" | \"no\" | \"sv\"",
105
+ "references": {
106
+ "Languages": {
107
+ "location": "import",
108
+ "path": "../date-picker/date.types"
109
+ }
110
+ }
111
+ },
112
+ "required": false,
113
+ "optional": false,
114
+ "docs": {
115
+ "tags": [],
116
+ "text": "Language to use for translations."
117
+ },
118
+ "attribute": "language",
119
+ "reflect": true,
120
+ "defaultValue": "'en'"
121
+ }
122
+ };
123
+ }
124
+ }
125
+ //# sourceMappingURL=drag-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drag-handle.js","sourceRoot":"","sources":["../../../src/components/drag-handle/drag-handle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAIlD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAMH,MAAM,OAAO,mBAAmB;;IAqBX,iBAAY,GAAG,cAAc,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;IA6CpD,gBAAW,GAAG,CAAC,KAAiB,EAAE,EAAE;MACjD,0EAA0E;MAC1E,8BAA8B;MAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;MACvB,KAAK,CAAC,eAAe,EAAE,CAAC;IAC5B,CAAC,CAAC;yBAlEgD,UAAU;gCAQf,MAAM;oBAMtB,IAAI;;EAI1B,MAAM;IACT,MAAM,YAAY,GAAG,SAAS,CAAC,GAAG,CAC9B,6BAA6B,EAC7B,IAAI,CAAC,QAAQ,CAChB,CAAC;IACF,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAC3B,yBAAyB,EACzB,IAAI,CAAC,QAAQ,CAChB,CAAC;IAEF,OAAO,CACH,EAAC,IAAI;MACD,wCAEI,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,mBAAmB,EACzB,QAAQ,EAAE,CAAC,CAAC,gBACA,SAAS,EACrB,EAAE,EAAE,IAAI,CAAC,YAAY,EACrB,OAAO,EAAE,IAAI,CAAC,WAAW;QAEzB,WACI,KAAK,EAAC,WAAW,EACjB,IAAI,EAAC,cAAc,iBACP,MAAM;UAElB,WAAK,GAAG,EAAC,GAAG,GAAG;UACf,WAAK,GAAG,EAAC,GAAG,GAAG;UACf,WAAK,GAAG,EAAC,GAAG,GAAG;UACf,WAAK,GAAG,EAAC,GAAG,GAAG;UACf,WAAK,GAAG,EAAC,GAAG,GAAG;UACf,WAAK,GAAG,EAAC,GAAG,GAAG,CACb;QACN,qBACI,aAAa,EAAE,IAAI,CAAC,oBAAoB,EACxC,SAAS,EAAE,IAAI,CAAC,YAAY,EAC5B,KAAK,EAAE,YAAY,GACrB,CACG,CACN,CACV,CAAC;EACN,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQJ","sourcesContent":["import { Component, h, Host, Prop } from '@stencil/core';\nimport translate from '../../global/translations';\nimport { Languages } from '../date-picker/date.types';\nimport { OpenDirection } from '../menu/menu.types';\n\n/**\n * This component resembles a drag handle button, but is implemented\n * as a `private` component to allow for easier styling and future extensions.\n *\n * :::important\n * This component has its `shadow` set to `false` in order to\n * integrate well with the drag-and-drop functionality, as well as\n * providing a better accessibility.\n *\n * Keep in mind that its styles might be affected by the consumer\n * component, due to its light dom.\n * :::\n *\n * :::tip\n * It's recommended to place the drag handle on the right side of\n * the item it is meant to reorder, to ensure consistent layout\n * design conventions.\n * :::\n *\n * @exampleComponent limel-example-drag-handle-basic\n * @exampleComponent limel-example-drag-handle-horizontal\n *\n * @private\n */\n@Component({\n tag: 'limel-drag-handle',\n shadow: false,\n styleUrl: 'drag-handle.scss',\n})\nexport class DragHandleComponent {\n /**\n * The direction in which the drag handle can be used to reorder items.\n */\n @Prop({ reflect: true })\n public dragDirection: 'vertical' | 'horizontal' = 'vertical';\n\n /**\n * The preferred direction for the tooltip to open.\n * Defaults to 'left', as our recommended placement for a drag handle\n * in the UI is on the far right side of draggable elements.\n */\n @Prop({ reflect: true })\n public tooltipOpenDirection: OpenDirection = 'left';\n\n /**\n * Language to use for translations.\n */\n @Prop({ reflect: true })\n public language: Languages = 'en';\n\n private readonly dragHandleId = 'drag-handle-' + crypto.randomUUID();\n\n public render() {\n const tooltipLabel = translate.get(\n 'drag-handle.drag-to-reorder',\n this.language\n );\n const ariaLabel = translate.get(\n 'drag-handle.drag-handle',\n this.language\n );\n\n return (\n <Host>\n <button\n data-drag-handle\n type=\"button\"\n class=\"limel-drag-handle\"\n tabindex={-1}\n aria-label={ariaLabel}\n id={this.dragHandleId}\n onClick={this.handleClick}\n >\n <div\n class=\"drag-icon\"\n role=\"presentation\"\n aria-hidden=\"true\"\n >\n <div key=\"1\" />\n <div key=\"2\" />\n <div key=\"3\" />\n <div key=\"4\" />\n <div key=\"5\" />\n <div key=\"6\" />\n </div>\n <limel-tooltip\n openDirection={this.tooltipOpenDirection}\n elementId={this.dragHandleId}\n label={tooltipLabel}\n />\n </button>\n </Host>\n );\n }\n\n private readonly handleClick = (event: MouseEvent) => {\n // Prevent bubbling so the parent item does not treat the pointer click as\n // a toggle or reorder action.\n event.preventDefault();\n event.stopPropagation();\n };\n}\n"]}
@@ -67,6 +67,9 @@
67
67
  * of some components, to demonstrate how the component
68
68
  * behaves in a resizable container.
69
69
  */
70
+ /**
71
+ * Drag to reorder mixins
72
+ */
70
73
  /**
71
74
  * The breakpoints below are used to create responsive designs
72
75
  * in Lime's products. Therefore, they are here to get distributed
@@ -73,6 +73,9 @@
73
73
  * of some components, to demonstrate how the component
74
74
  * behaves in a resizable container.
75
75
  */
76
+ /**
77
+ * Drag to reorder mixins
78
+ */
76
79
  /**
77
80
  * The breakpoints below are used to create responsive designs
78
81
  * in Lime's products. Therefore, they are here to get distributed