@limetech/lime-elements 36.3.0-next.8 → 36.3.0

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 (242) hide show
  1. package/README.md +2 -2
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-badge.cjs.entry.js +4 -6
  4. package/dist/cjs/limel-button-group.cjs.entry.js +21 -6
  5. package/dist/cjs/limel-button.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-callout.cjs.entry.js +54 -0
  7. package/dist/cjs/limel-chip-set.cjs.entry.js +13 -3
  8. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-collapsible-section.cjs.entry.js +3 -12
  10. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +1 -1
  11. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-date-picker.cjs.entry.js +47 -7
  13. package/dist/cjs/limel-dialog.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-dock-button.cjs.entry.js +7 -2
  15. package/dist/cjs/limel-dock.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +99 -118
  18. package/dist/cjs/limel-form.cjs.entry.js +79 -1
  19. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-info-tile.cjs.entry.js +4 -1
  21. package/dist/cjs/limel-input-field.cjs.entry.js +2 -2
  22. package/dist/cjs/limel-list_2.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-menu-list.cjs.entry.js +7 -1
  24. package/dist/cjs/limel-menu.cjs.entry.js +10 -2
  25. package/dist/cjs/limel-portal.cjs.entry.js +3 -4
  26. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-slider.cjs.entry.js +5 -5
  29. package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
  30. package/dist/cjs/limel-spinner.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-table.cjs.entry.js +1 -1
  35. package/dist/cjs/loader.cjs.js +1 -1
  36. package/dist/cjs/{dateFormatter-d7a8d40d.js → sv-dffe48b5.js} +222 -173
  37. package/dist/cjs/{translations-ca7279bc.js → translations-f8080c48.js} +30 -0
  38. package/dist/collection/collection-manifest.json +1 -0
  39. package/dist/collection/components/badge/badge.css +34 -19
  40. package/dist/collection/components/badge/badge.js +7 -7
  41. package/dist/collection/components/banner/banner.css +1 -2
  42. package/dist/collection/components/button/button.css +31 -41
  43. package/dist/collection/components/button-group/button-group.css +44 -42
  44. package/dist/collection/components/button-group/button-group.js +25 -6
  45. package/dist/collection/components/callout/callout.css +77 -0
  46. package/dist/collection/components/callout/callout.helpers.js +27 -0
  47. package/dist/collection/components/callout/callout.js +139 -0
  48. package/dist/collection/components/callout/callout.types.js +1 -0
  49. package/dist/collection/components/checkbox/checkbox.css +22 -45
  50. package/dist/collection/components/chip-set/chip-set.css +222 -405
  51. package/dist/collection/components/chip-set/chip-set.js +6 -2
  52. package/dist/collection/components/circular-progress/circular-progress.css +8 -0
  53. package/dist/collection/components/code-editor/code-editor.css +11 -8
  54. package/dist/collection/components/collapsible-section/collapsible-section.css +87 -55
  55. package/dist/collection/components/collapsible-section/collapsible-section.js +2 -11
  56. package/dist/collection/components/color-picker/color-picker-palette.css +16 -14
  57. package/dist/collection/components/color-picker/color-picker.css +7 -5
  58. package/dist/collection/components/date-picker/date-picker.js +30 -5
  59. package/dist/collection/components/date-picker/dateFormatter.js +7 -3
  60. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.css +11 -1
  61. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +23 -8
  62. package/dist/collection/components/date-picker/pickers/Picker.js +11 -8
  63. package/dist/collection/components/dialog/dialog.css +14 -27
  64. package/dist/collection/components/dock/dock-button/dock-button.css +17 -2
  65. package/dist/collection/components/dock/dock-button/dock-button.js +6 -1
  66. package/dist/collection/components/dock/dock.css +19 -1
  67. package/dist/collection/components/dock/dock.js +1 -0
  68. package/dist/collection/components/file/file.js +1 -1
  69. package/dist/collection/components/form/form.css +122 -18
  70. package/dist/collection/components/form/form.js +1 -0
  71. package/dist/collection/components/form/form.types.js +8 -0
  72. package/dist/collection/components/form/row/row.js +47 -0
  73. package/dist/collection/components/form/templates/object-field.js +5 -0
  74. package/dist/collection/components/form/templates/row-layout.js +20 -0
  75. package/dist/collection/components/header/header.css +8 -0
  76. package/dist/collection/components/icon-button/icon-button.css +15 -12
  77. package/dist/collection/components/info-tile/info-tile.css +13 -17
  78. package/dist/collection/components/info-tile/info-tile.js +3 -0
  79. package/dist/collection/components/input-field/input-field.css +199 -363
  80. package/dist/collection/components/input-field/input-field.js +1 -1
  81. package/dist/collection/components/linear-progress/linear-progress.css +7 -14
  82. package/dist/collection/components/list/list.css +388 -751
  83. package/dist/collection/components/menu/menu.css +19 -1
  84. package/dist/collection/components/menu/menu.js +10 -1
  85. package/dist/collection/components/menu-list/menu-list-renderer.js +6 -1
  86. package/dist/collection/components/menu-list/menu-list.css +400 -752
  87. package/dist/collection/components/menu-surface/menu-surface.css +13 -26
  88. package/dist/collection/components/popover-surface/popover-surface.css +8 -0
  89. package/dist/collection/components/progress-flow/progress-flow-item/progress-flow-item.css +8 -0
  90. package/dist/collection/components/select/select.css +174 -323
  91. package/dist/collection/components/shortcut/shortcut.css +9 -7
  92. package/dist/collection/components/slider/slider.css +87 -98
  93. package/dist/collection/components/slider/slider.js +5 -5
  94. package/dist/collection/components/snackbar/snackbar.css +19 -34
  95. package/dist/collection/components/snackbar/snackbar.js +1 -1
  96. package/dist/collection/components/spinner/spinner.css +4 -0
  97. package/dist/collection/components/split-button/split-button.css +15 -4
  98. package/dist/collection/components/switch/switch.css +21 -49
  99. package/dist/collection/components/tab-bar/tab-bar.css +20 -19
  100. package/dist/collection/components/tab-panel/tab-panel.css +5 -0
  101. package/dist/collection/components/table/table.css +33 -0
  102. package/dist/collection/icons/idea.svg +593 -0
  103. package/dist/collection/icons/info.svg +593 -0
  104. package/dist/collection/style/internal/shared_input-select-picker.scss +4 -0
  105. package/dist/collection/style/internal/z-index.scss +0 -1
  106. package/dist/collection/style/mixins.scss +15 -4
  107. package/dist/collection/translations/da.js +5 -0
  108. package/dist/collection/translations/en.js +5 -0
  109. package/dist/collection/translations/fi.js +5 -0
  110. package/dist/collection/translations/nl.js +5 -0
  111. package/dist/collection/translations/no.js +5 -0
  112. package/dist/collection/translations/sv.js +5 -0
  113. package/dist/esm/{keycodes-9f971b46.js → keycodes-44c01beb.js} +1 -1
  114. package/dist/esm/lime-elements.js +1 -1
  115. package/dist/esm/limel-badge.entry.js +4 -6
  116. package/dist/esm/limel-button-group.entry.js +21 -6
  117. package/dist/esm/limel-button.entry.js +1 -1
  118. package/dist/esm/limel-callout.entry.js +50 -0
  119. package/dist/esm/limel-chip-set.entry.js +14 -4
  120. package/dist/esm/limel-code-editor.entry.js +1 -1
  121. package/dist/esm/limel-collapsible-section.entry.js +3 -12
  122. package/dist/esm/limel-color-picker-palette.entry.js +1 -1
  123. package/dist/esm/limel-color-picker.entry.js +1 -1
  124. package/dist/esm/limel-date-picker.entry.js +46 -6
  125. package/dist/esm/limel-dialog.entry.js +1 -1
  126. package/dist/esm/limel-dock-button.entry.js +7 -2
  127. package/dist/esm/limel-dock.entry.js +1 -1
  128. package/dist/esm/limel-file.entry.js +1 -1
  129. package/dist/esm/limel-flatpickr-adapter.entry.js +99 -118
  130. package/dist/esm/limel-form.entry.js +79 -1
  131. package/dist/esm/limel-icon-button.entry.js +1 -1
  132. package/dist/esm/limel-info-tile.entry.js +4 -1
  133. package/dist/esm/limel-input-field.entry.js +3 -3
  134. package/dist/esm/limel-list_2.entry.js +2 -2
  135. package/dist/esm/limel-menu-list.entry.js +7 -1
  136. package/dist/esm/limel-menu.entry.js +10 -2
  137. package/dist/esm/limel-picker.entry.js +1 -1
  138. package/dist/esm/limel-popover_4.entry.js +1 -1
  139. package/dist/esm/limel-portal.entry.js +3 -4
  140. package/dist/esm/limel-select.entry.js +2 -2
  141. package/dist/esm/limel-shortcut.entry.js +1 -1
  142. package/dist/esm/limel-slider.entry.js +6 -6
  143. package/dist/esm/limel-snackbar.entry.js +2 -2
  144. package/dist/esm/limel-spinner.entry.js +1 -1
  145. package/dist/esm/limel-split-button.entry.js +1 -1
  146. package/dist/esm/limel-tab-bar.entry.js +1 -1
  147. package/dist/esm/limel-tab-panel.entry.js +1 -1
  148. package/dist/esm/limel-table.entry.js +1 -1
  149. package/dist/esm/loader.js +1 -1
  150. package/dist/esm/{dateFormatter-784c3334.js → sv-336c4576.js} +222 -173
  151. package/dist/esm/{translations-0d0ee941.js → translations-f88bb584.js} +30 -0
  152. package/dist/lime-elements/lime-elements.esm.js +1 -1
  153. package/dist/lime-elements/{p-a8d38277.entry.js → p-10e259de.entry.js} +1 -1
  154. package/dist/lime-elements/{p-934456bc.entry.js → p-123f5fbb.entry.js} +1 -1
  155. package/dist/lime-elements/{p-c234a991.entry.js → p-157e0417.entry.js} +2 -2
  156. package/dist/lime-elements/p-2f9918a3.entry.js +1 -0
  157. package/dist/lime-elements/p-2fd478df.entry.js +1 -0
  158. package/dist/lime-elements/p-3be2dfc7.entry.js +1 -0
  159. package/dist/lime-elements/{p-06f2f6b4.entry.js → p-3fda3473.entry.js} +1 -1
  160. package/dist/lime-elements/p-46a76d55.entry.js +1 -0
  161. package/dist/lime-elements/p-4a62273c.entry.js +1 -0
  162. package/dist/lime-elements/{p-73df4d83.js → p-4dd9a5a5.js} +5 -3
  163. package/dist/lime-elements/{p-d1187867.entry.js → p-4eeabc1f.entry.js} +1 -1
  164. package/dist/lime-elements/{p-2f2ea041.entry.js → p-4fcd3337.entry.js} +1 -1
  165. package/dist/lime-elements/{p-029360c8.entry.js → p-50dbd665.entry.js} +1 -1
  166. package/dist/lime-elements/{p-e5213a54.entry.js → p-55c8cb64.entry.js} +4 -4
  167. package/dist/lime-elements/{p-cad7cda1.entry.js → p-58e9df30.entry.js} +1 -1
  168. package/dist/lime-elements/p-73613abb.entry.js +82 -0
  169. package/dist/lime-elements/{p-6784c5c3.entry.js → p-7d7d19de.entry.js} +1 -1
  170. package/dist/lime-elements/{p-9ec08ebc.entry.js → p-8178b348.entry.js} +3 -3
  171. package/dist/lime-elements/{p-004aad18.entry.js → p-9336fd7f.entry.js} +1 -1
  172. package/dist/lime-elements/{p-a0c78744.entry.js → p-a88f2922.entry.js} +2 -2
  173. package/dist/lime-elements/p-b1ae3d1f.entry.js +126 -0
  174. package/dist/lime-elements/p-b40f37d7.entry.js +1 -0
  175. package/dist/lime-elements/p-b59e4287.js +1 -0
  176. package/dist/lime-elements/{p-405207fa.entry.js → p-b80de0ea.entry.js} +1 -1
  177. package/dist/lime-elements/p-c47cb4c3.entry.js +1 -0
  178. package/dist/lime-elements/{p-b079fc71.entry.js → p-cc3529bb.entry.js} +1 -1
  179. package/dist/lime-elements/{p-93ad8b90.entry.js → p-d0084a70.entry.js} +1 -1
  180. package/dist/lime-elements/p-d16b27b9.entry.js +1 -0
  181. package/dist/lime-elements/{p-216ffe20.js → p-d7801e00.js} +1 -1
  182. package/dist/lime-elements/p-d87e2f26.entry.js +1 -0
  183. package/dist/lime-elements/p-d955c169.entry.js +59 -0
  184. package/dist/lime-elements/p-da536426.entry.js +1 -0
  185. package/dist/lime-elements/p-e69231c2.entry.js +16 -0
  186. package/dist/lime-elements/p-eda87f8c.entry.js +1 -0
  187. package/dist/lime-elements/{p-0bf916a0.entry.js → p-edbd8d62.entry.js} +1 -1
  188. package/dist/lime-elements/p-f11e7ce1.entry.js +1 -0
  189. package/dist/lime-elements/{p-5409b92f.entry.js → p-f979c0f2.entry.js} +1 -1
  190. package/dist/lime-elements/style/internal/shared_input-select-picker.scss +4 -0
  191. package/dist/lime-elements/style/internal/z-index.scss +0 -1
  192. package/dist/lime-elements/style/mixins.scss +15 -4
  193. package/dist/scss/mixins.scss +186 -0
  194. package/dist/types/components/badge/badge.d.ts +4 -2
  195. package/dist/types/components/button/button.types.d.ts +4 -0
  196. package/dist/types/components/button-group/button-group.d.ts +4 -0
  197. package/dist/types/components/callout/callout.d.ts +52 -0
  198. package/dist/types/components/callout/callout.helpers.d.ts +2 -0
  199. package/dist/types/components/callout/callout.types.d.ts +11 -0
  200. package/dist/types/components/chip-set/chip-set.d.ts +1 -1
  201. package/dist/types/components/collapsible-section/collapsible-section.d.ts +0 -1
  202. package/dist/types/components/date-picker/date-picker.d.ts +10 -0
  203. package/dist/types/components/date-picker/date.types.d.ts +1 -1
  204. package/dist/types/components/date-picker/dateFormatter.d.ts +3 -2
  205. package/dist/types/components/date-picker/flatpickr-adapter/flatpickr-adapter.d.ts +1 -1
  206. package/dist/types/components/date-picker/pickers/Picker.d.ts +4 -2
  207. package/dist/types/components/dock/dock-button/dock-button.d.ts +1 -0
  208. package/dist/types/components/dock/dock.d.ts +1 -0
  209. package/dist/types/components/dock/dock.types.d.ts +4 -0
  210. package/dist/types/components/form/form.d.ts +1 -0
  211. package/dist/types/components/form/form.types.d.ts +16 -1
  212. package/dist/types/components/form/row/row.d.ts +16 -0
  213. package/dist/types/components/form/templates/row-layout.d.ts +11 -0
  214. package/dist/types/components/form/templates/types.d.ts +3 -0
  215. package/dist/types/components/menu/menu.d.ts +3 -0
  216. package/dist/types/components/menu/menu.types.d.ts +4 -0
  217. package/dist/types/components/menu-list/menu-list-renderer.d.ts +1 -0
  218. package/dist/types/components.d.ts +57 -1
  219. package/dist/types/interface.d.ts +1 -0
  220. package/dist/types/translations/da.d.ts +5 -0
  221. package/dist/types/translations/en.d.ts +5 -0
  222. package/dist/types/translations/fi.d.ts +5 -0
  223. package/dist/types/translations/nl.d.ts +5 -0
  224. package/dist/types/translations/no.d.ts +5 -0
  225. package/dist/types/translations/sv.d.ts +5 -0
  226. package/package.json +23 -20
  227. package/dist/lime-elements/p-246862ec.js +0 -1
  228. package/dist/lime-elements/p-52e18d94.entry.js +0 -1
  229. package/dist/lime-elements/p-5393213b.entry.js +0 -1
  230. package/dist/lime-elements/p-61b3352f.entry.js +0 -1
  231. package/dist/lime-elements/p-65a3be2c.entry.js +0 -1
  232. package/dist/lime-elements/p-864db270.entry.js +0 -126
  233. package/dist/lime-elements/p-8ca53aa2.entry.js +0 -1
  234. package/dist/lime-elements/p-90961075.entry.js +0 -1
  235. package/dist/lime-elements/p-91604294.entry.js +0 -1
  236. package/dist/lime-elements/p-95fd48d0.entry.js +0 -82
  237. package/dist/lime-elements/p-c4a89055.entry.js +0 -16
  238. package/dist/lime-elements/p-cc9f89a9.entry.js +0 -1
  239. package/dist/lime-elements/p-d379f4d6.entry.js +0 -59
  240. package/dist/lime-elements/p-d512656b.entry.js +0 -1
  241. package/dist/lime-elements/p-e6a11b73.entry.js +0 -1
  242. package/dist/lime-elements/p-f9958763.entry.js +0 -1
@@ -1,4 +1,11 @@
1
- @use './functions';
1
+ /**
2
+ * Note! This file is exported to `dist/scss/` in the published
3
+ * node module, for consumer projects to import.
4
+ * That means this file cannot import from any file that isn't
5
+ * also exported, keeping the same relative path.
6
+ *
7
+ * Or, just don't import anything, that works too.
8
+ */
2
9
 
3
10
  @mixin visualize-keyboard-focus {
4
11
  &:focus {
@@ -52,6 +59,7 @@
52
59
  transition: color 0.2s ease, background-color 0.2s ease,
53
60
  box-shadow 0.2s ease, transform 0.1s ease-out;
54
61
 
62
+ cursor: pointer;
55
63
  color: $color;
56
64
  background-color: $background-color;
57
65
  box-shadow: var(--button-shadow-normal);
@@ -79,6 +87,7 @@
79
87
  transition: color 0.2s ease, background-color 0.2s ease,
80
88
  box-shadow 0.2s ease, transform 0.1s ease-out;
81
89
 
90
+ cursor: pointer;
82
91
  color: $color;
83
92
  background-color: $background-color;
84
93
  box-shadow: var(--button-shadow-normal);
@@ -105,6 +114,7 @@
105
114
  transition: color 0.2s ease, background-color 0.2s ease,
106
115
  box-shadow 0.2s ease, transform 0.1s ease-out;
107
116
 
117
+ cursor: pointer;
108
118
  color: $color;
109
119
  background-color: $background-color;
110
120
 
@@ -131,6 +141,7 @@
131
141
  transition: color 0.2s ease, background-color 0.2s ease,
132
142
  box-shadow 0.2s ease, transform 0.1s ease-out;
133
143
 
144
+ cursor: pointer;
134
145
  color: $color;
135
146
  background-color: $background-color;
136
147
 
@@ -156,14 +167,14 @@
156
167
 
157
168
  cursor: pointer;
158
169
 
159
- height: functions.pxToRem(20);
160
- width: functions.pxToRem(20);
170
+ height: 1.25rem;
171
+ width: 1.25rem;
161
172
  border-radius: 50%;
162
173
 
163
174
  background: {
164
175
  repeat: no-repeat;
165
176
  position: center;
166
- size: functions.pxToRem(12);
177
+ size: 0.75rem;
167
178
  image: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><defs/><path fill='rgb(255,255,255)' d='M7.219 5.781L5.78 7.22 14.563 16 5.78 24.781 7.22 26.22 16 17.437l8.781 8.782 1.438-1.438L17.437 16l8.782-8.781L24.78 5.78 16 14.563z'/></svg>");
168
179
  }
169
180
  }
@@ -0,0 +1,186 @@
1
+ /**
2
+ * Note! This file is exported to `dist/scss/` in the published
3
+ * node module, for consumer projects to import.
4
+ * That means this file cannot import from any file that isn't
5
+ * also exported, keeping the same relative path.
6
+ *
7
+ * Or, just don't import anything, that works too.
8
+ */
9
+
10
+ @mixin visualize-keyboard-focus {
11
+ &:focus {
12
+ outline: none;
13
+ }
14
+
15
+ &:focus-visible {
16
+ outline: none;
17
+ box-shadow: var(--shadow-depth-8-focused);
18
+ }
19
+ }
20
+
21
+ @mixin in($media) {
22
+ // ⛔️ As long as we don't have a script that generates a
23
+ // `.css` files automatically, we cannot use this mixin.
24
+ // we need to manually write the dark-mode CSS variables
25
+ // inside this file: /style/color-palette-extended.css
26
+ //
27
+ // ⚠️ Also note that this mixin only puts styles
28
+ // on the `:root` which means the `<html` level.
29
+ // Therefore, it cannot be used inside components
30
+ // to generate custom dark-mode styles.
31
+
32
+ @if $media == dark-mode {
33
+ @media (prefers-color-scheme: dark) {
34
+ :root:not([data-theme='force-light']) {
35
+ @content;
36
+ }
37
+ }
38
+ :root[data-theme='force-dark'] {
39
+ @content;
40
+ }
41
+
42
+ // @media (prefers-color-scheme: dark) {
43
+ // :host(:not([data-theme='force-light'])) & {
44
+ // @content;
45
+ // }
46
+ // }
47
+ // :host([data-theme='force-dark']) & {
48
+ // @content;
49
+ // }
50
+ }
51
+ }
52
+
53
+ @mixin is-elevated-clickable(
54
+ $color: var(--mdc-theme-on-surface),
55
+ $color--hovered: var(--mdc-theme-on-surface),
56
+ $background-color: var(--lime-elevated-surface-background-color),
57
+ $background-color--hovered: var(--lime-elevated-surface-background-color)
58
+ ) {
59
+ transition: color 0.2s ease, background-color 0.2s ease,
60
+ box-shadow 0.2s ease, transform 0.1s ease-out;
61
+
62
+ cursor: pointer;
63
+ color: $color;
64
+ background-color: $background-color;
65
+ box-shadow: var(--button-shadow-normal);
66
+
67
+ &:hover {
68
+ color: $color--hovered;
69
+ background-color: $background-color--hovered;
70
+ box-shadow: var(--button-shadow-hovered);
71
+ }
72
+
73
+ &:active {
74
+ box-shadow: var(--button-shadow-pressed);
75
+
76
+ transform: translate3d(0, 0.08rem, 0);
77
+ }
78
+ }
79
+
80
+ @mixin is-elevated-inset-clickable(
81
+ $color: var(--mdc-theme-on-surface),
82
+ $color--hovered: var(--mdc-theme-on-surface),
83
+ $background-color: var(--lime-elevated-surface-background-color),
84
+ $background-color--hovered: var(--lime-elevated-surface-background-color),
85
+ $background-color--inset: var(--mdc-theme-surface)
86
+ ) {
87
+ transition: color 0.2s ease, background-color 0.2s ease,
88
+ box-shadow 0.2s ease, transform 0.1s ease-out;
89
+
90
+ cursor: pointer;
91
+ color: $color;
92
+ background-color: $background-color;
93
+ box-shadow: var(--button-shadow-normal);
94
+
95
+ &:hover {
96
+ color: $color--hovered;
97
+ background-color: $background-color--hovered;
98
+ box-shadow: var(--button-shadow-hovered);
99
+ }
100
+
101
+ &:active {
102
+ background-color: $background-color--inset;
103
+ box-shadow: var(--button-shadow-inset-pressed);
104
+ transform: translate3d(0, 0.05rem, 0);
105
+ }
106
+ }
107
+
108
+ @mixin is-flat-clickable(
109
+ $color: var(--mdc-theme-on-surface),
110
+ $background-color: transparent,
111
+ $color--hovered: var(--mdc-theme-on-surface),
112
+ $background-color--hovered: var(--lime-elevated-surface-background-color)
113
+ ) {
114
+ transition: color 0.2s ease, background-color 0.2s ease,
115
+ box-shadow 0.2s ease, transform 0.1s ease-out;
116
+
117
+ cursor: pointer;
118
+ color: $color;
119
+ background-color: $background-color;
120
+
121
+ &:hover {
122
+ color: $color--hovered;
123
+ background-color: $background-color--hovered;
124
+ box-shadow: var(--button-shadow-hovered);
125
+ }
126
+
127
+ &:active {
128
+ box-shadow: var(--button-shadow-pressed);
129
+
130
+ transform: translate3d(0, 0.08rem, 0);
131
+ }
132
+ }
133
+
134
+ @mixin is-flat-inset-clickable(
135
+ $color: var(--mdc-theme-on-surface),
136
+ $background-color: transparent,
137
+ $color--hovered: var(--mdc-theme-on-surface),
138
+ $background-color--hovered: var(--lime-elevated-surface-background-color),
139
+ $background-color--inset: var(--mdc-theme-surface)
140
+ ) {
141
+ transition: color 0.2s ease, background-color 0.2s ease,
142
+ box-shadow 0.2s ease, transform 0.1s ease-out;
143
+
144
+ cursor: pointer;
145
+ color: $color;
146
+ background-color: $background-color;
147
+
148
+ &:hover {
149
+ color: $color--hovered;
150
+ background-color: $background-color--hovered;
151
+ box-shadow: var(--button-shadow-hovered);
152
+ }
153
+
154
+ &:active {
155
+ background-color: $background-color--inset;
156
+ box-shadow: var(--button-shadow-inset-pressed);
157
+ transform: translate3d(0, 0.05rem, 0);
158
+ }
159
+ }
160
+
161
+ @mixin clear-all-button() {
162
+ // NOTE: you may need to specify "position: absolute" and align the position where you use this mixin
163
+ @include is-flat-clickable(
164
+ $background-color: rgb(var(--contrast-900)),
165
+ $background-color--hovered: rgb(var(--contrast-1100))
166
+ );
167
+
168
+ cursor: pointer;
169
+
170
+ height: 1.25rem;
171
+ width: 1.25rem;
172
+ border-radius: 50%;
173
+
174
+ background: {
175
+ repeat: no-repeat;
176
+ position: center;
177
+ size: 0.75rem;
178
+ image: url("data:image/svg+xml; utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><defs/><path fill='rgb(255,255,255)' d='M7.219 5.781L5.78 7.22 14.563 16 5.78 24.781 7.22 26.22 16 17.437l8.781 8.782 1.438-1.438L17.437 16l8.782-8.781L24.78 5.78 16 14.563z'/></svg>");
179
+ }
180
+ }
181
+
182
+ @mixin truncate-text() {
183
+ overflow: hidden;
184
+ white-space: nowrap;
185
+ text-overflow: ellipsis;
186
+ }
@@ -1,6 +1,8 @@
1
1
  /**
2
- * The Badge component can display both `number` and `string` as `label`.
2
+ * The Badge component can be used to display a notification badge,
3
+ * optionally with a number or a text label.
3
4
  *
5
+ * @exampleComponent limel-example-badge
4
6
  * @exampleComponent limel-example-badge-number
5
7
  * @exampleComponent limel-example-badge-string
6
8
  */
@@ -11,7 +13,7 @@ export declare class Badge {
11
13
  * String labels get truncated if their length is longer than
12
14
  * six characters.
13
15
  */
14
- label: number | string;
16
+ label?: number | string;
15
17
  render(): any;
16
18
  private renderLabel;
17
19
  private labelIsLarge;
@@ -15,4 +15,8 @@ export interface Button {
15
15
  * True if the button should be selected. only first button will be selected.
16
16
  */
17
17
  selected?: boolean;
18
+ /**
19
+ * The label displayed in the badge
20
+ */
21
+ badge?: number | string;
18
22
  }
@@ -32,6 +32,7 @@ import { Button } from '../button/button.types';
32
32
  * @exampleComponent limel-example-button-group-icons
33
33
  * @exampleComponent limel-example-button-group
34
34
  * @exampleComponent limel-example-button-group-mix
35
+ * @exampleComponent limel-example-button-group-badges
35
36
  * @exampleComponent limel-example-button-group-composite
36
37
  */
37
38
  export declare class ButtonGroup {
@@ -57,5 +58,8 @@ export declare class ButtonGroup {
57
58
  private isButtonChecked;
58
59
  private renderLabel;
59
60
  private renderIcon;
61
+ private renderBadge;
60
62
  private onChange;
63
+ private setSelectedButton;
64
+ protected valueChanged(): void;
61
65
  }
@@ -0,0 +1,52 @@
1
+ import { CalloutType } from './callout.types';
2
+ import { Languages } from '@limetech/lime-elements';
3
+ /**
4
+ * Callouts—also known as Admonitions—are useful for including supportive or
5
+ * special content within a large piece of text, or even inside a user
6
+ * interface.
7
+ *
8
+ * When used in a document or text based user interface, the callout attracts
9
+ * the reader's attention to a particular piece of information, without
10
+ * significantly interrupting their flow of reading the document.
11
+ *
12
+ * In a user interface, a callout is more intrusive to the end-user. Still, it
13
+ * could be a good choice when you intend to slightly disturb the user's
14
+ * attention, and challenge them to pay extra attention to the information
15
+ * presented. In such cases, a callout should not be used as a static and
16
+ * constantly present element of the UI. Rather, it should be displayed when
17
+ * something unusual or remarkable demands the user's attention.
18
+ *
19
+ * @exampleComponent limel-example-callout-note
20
+ * @exampleComponent limel-example-callout-important
21
+ * @exampleComponent limel-example-callout-tip
22
+ * @exampleComponent limel-example-callout-caution
23
+ * @exampleComponent limel-example-callout-warning
24
+ * @exampleComponent limel-example-callout-rich-content
25
+ * @exampleComponent limel-example-callout-custom-heading
26
+ * @exampleComponent limel-example-callout-custom-icon
27
+ * @exampleComponent limel-example-callout-styles
28
+ * @exampleComponent limel-example-callout-composite
29
+ */
30
+ export declare class Callout {
31
+ /**
32
+ * Heading of the callout, which can be used to override the
33
+ * default heading which is displayed based on the chosen `type`.
34
+ */
35
+ heading?: string;
36
+ /**
37
+ * Icon of the callout, which can be used to override the
38
+ * default icon which is displayed based on the chosen `type`.
39
+ */
40
+ icon?: string;
41
+ /**
42
+ * Defines how the component is visualized, for example
43
+ * which heading, color or icon is used in its user interface.
44
+ */
45
+ type?: CalloutType;
46
+ /**
47
+ * Defines the language for translations.
48
+ * Will translate the default headings for supported languages.
49
+ */
50
+ language: Languages;
51
+ render(): any[];
52
+ }
@@ -0,0 +1,2 @@
1
+ export declare function getIcon(icon: string, type?: string): string;
2
+ export declare function getHeading(heading: string, type?: string, language?: string): string;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Each of the supported callout types has a distinct color and icon.
3
+ * The colors can be changed using the provided CSS variables.
4
+ *
5
+ * - `note`: You might read this, you might not.
6
+ * - `important`: You should read this.
7
+ * - `tip`: You want to read this.
8
+ * - `caution`: I hope you read this.
9
+ * - `warning`: You need to read this.
10
+ */
11
+ export declare type CalloutType = 'note' | 'important' | 'tip' | 'caution' | 'warning';
@@ -143,7 +143,7 @@ export declare class ChipSet {
143
143
  componentDidUpdate(): void;
144
144
  disconnectedCallback(): void;
145
145
  render(): any;
146
- protected handleChangeChips(): void;
146
+ protected handleChangeChips(newValue: Chip[], oldValue: Chip[]): void;
147
147
  private createMDCChipSet;
148
148
  private destroyMDCChipSet;
149
149
  private renderChipSetLabel;
@@ -34,7 +34,6 @@ export declare class CollapsibleSection {
34
34
  private action;
35
35
  render(): any;
36
36
  private onClick;
37
- private handleKeyDown;
38
37
  private handleInteraction;
39
38
  private renderActions;
40
39
  private renderActionButton;
@@ -10,6 +10,7 @@ import { DateType, Languages } from '@limetech/lime-elements';
10
10
  * @exampleComponent limel-example-date-picker-formatted
11
11
  * @exampleComponent limel-example-date-picker-programmatic-change
12
12
  * @exampleComponent limel-example-date-picker-composite
13
+ * @exampleComponent limel-example-date-picker-custom-formatter
13
14
  */
14
15
  export declare class DatePicker {
15
16
  /**
@@ -63,6 +64,14 @@ export declare class DatePicker {
63
64
  * Property `format` customizes the localized date format.
64
65
  */
65
66
  language: Languages;
67
+ /**
68
+ * Custom formatting function. Will be used for date formatting.
69
+ *
70
+ * :::note
71
+ * overrides `format` and `language`
72
+ * :::
73
+ */
74
+ formatter?: (date: Date) => string;
66
75
  /**
67
76
  * Emitted when the date picker value is changed.
68
77
  */
@@ -95,4 +104,5 @@ export declare class DatePicker {
95
104
  private handleInputElementChange;
96
105
  private pickerIsAutoClosing;
97
106
  private clearValue;
107
+ private formatValue;
98
108
  }
@@ -1,2 +1,2 @@
1
1
  export declare type DateType = 'datetime' | 'date' | 'time' | 'week' | 'month' | 'quarter' | 'year';
2
- export declare type Languages = 'da' | 'en' | 'fi' | 'nb' | 'no' | 'nl' | 'sv';
2
+ export declare type Languages = 'da' | 'de' | 'en' | 'fi' | 'fr' | 'nb' | 'no' | 'nl' | 'sv';
@@ -1,9 +1,10 @@
1
1
  import 'moment/locale/da';
2
+ import 'moment/locale/de';
2
3
  import 'moment/locale/fi';
3
- import 'moment/locale/nb';
4
- import 'moment/locale/sv';
5
4
  import 'moment/locale/fr';
5
+ import 'moment/locale/nb';
6
6
  import 'moment/locale/nl';
7
+ import 'moment/locale/sv';
7
8
  import { DateType } from './date.types';
8
9
  export declare class DateFormatter {
9
10
  private language;
@@ -33,6 +33,7 @@ export declare class DatePickerCalendar {
33
33
  * Property `format` customizes the localized date format.
34
34
  */
35
35
  language: Languages;
36
+ formatter: (date: Date) => string;
36
37
  /**
37
38
  * Emitted when the date picker value is changed.
38
39
  */
@@ -44,7 +45,6 @@ export declare class DatePickerCalendar {
44
45
  componentDidUpdate(): void;
45
46
  private tryFixConfusingWidthBug;
46
47
  private createFlatpickr;
47
- private redrawFlatpickr;
48
48
  private destroyFlatpickr;
49
49
  disconnectedCallback(): void;
50
50
  render(): any;
@@ -1,12 +1,15 @@
1
1
  import flatpickr from 'flatpickr';
2
2
  import { EventEmitter } from '../../../stencil-public-runtime';
3
3
  import 'moment/locale/da';
4
+ import 'moment/locale/de';
4
5
  import 'moment/locale/fi';
6
+ import 'moment/locale/fr';
5
7
  import 'moment/locale/nb';
8
+ import 'moment/locale/nl';
6
9
  import 'moment/locale/sv';
7
10
  export declare abstract class Picker {
8
11
  protected change: EventEmitter<Date>;
9
- private dateFormatter;
12
+ formatDate: (date: Date) => string;
10
13
  protected dateFormat: string;
11
14
  protected language: string;
12
15
  protected flatpickr: flatpickr.Instance;
@@ -16,7 +19,6 @@ export declare abstract class Picker {
16
19
  redraw(): void;
17
20
  destroy(): void;
18
21
  abstract getConfig(useNativePicker: boolean): flatpickr.Options.Options;
19
- formatDate(date: Date): string;
20
22
  protected handleClose(selectedDates: any): Promise<any>;
21
23
  protected getFlatpickrLang(): string;
22
24
  protected getMomentLang(): string;
@@ -41,6 +41,7 @@ export declare class DockButton {
41
41
  protected openWatcher(): void;
42
42
  private renderPopover;
43
43
  private renderButton;
44
+ private renderNotification;
44
45
  private openPopover;
45
46
  private setCustomComponentElement;
46
47
  private onPopoverClose;
@@ -3,6 +3,7 @@ import { DockItem } from './dock.types';
3
3
  /**
4
4
  * @exampleComponent limel-example-dock-basic
5
5
  * @exampleComponent limel-example-dock-custom-component
6
+ * @exampleComponent limel-example-dock-notification
6
7
  * @exampleComponent limel-example-dock-mobile
7
8
  * @exampleComponent limel-example-dock-expanded
8
9
  * @exampleComponent limel-example-dock-colors-css
@@ -33,6 +33,10 @@ export interface DockItem {
33
33
  * Used to specify a custom component to render as a menu for the dock item.
34
34
  */
35
35
  dockMenu?: DockMenu;
36
+ /**
37
+ * If specified, will display a notification badge on the buttons in the dock.
38
+ */
39
+ badge?: number | string;
36
40
  }
37
41
  export interface DockMenu {
38
42
  /**
@@ -11,6 +11,7 @@ import { FormError, ValidationError, ValidationStatus } from './form.types';
11
11
  * @exampleComponent limel-example-form-span-fields
12
12
  * @exampleComponent limel-example-custom-error-message
13
13
  * @exampleComponent limel-example-server-errors
14
+ * @exampleComponent limel-example-form-row-layout
14
15
  */
15
16
  export declare class Form {
16
17
  /**
@@ -181,6 +181,13 @@ export interface GridLayoutOptions extends FormLayoutOptions<FormLayoutType.Grid
181
181
  */
182
182
  dense?: boolean;
183
183
  }
184
+ export interface RowLayoutOptions extends FormLayoutOptions<FormLayoutType.Row> {
185
+ /**
186
+ * When specified on a field, the chosen icon will be displayed
187
+ * on the left side of the row, beside the title.
188
+ */
189
+ icon?: string;
190
+ }
184
191
  export declare enum FormLayoutType {
185
192
  /**
186
193
  * The default layout
@@ -189,5 +196,13 @@ export declare enum FormLayoutType {
189
196
  /**
190
197
  * Render the form fields using a responsive grid layout
191
198
  */
192
- Grid = "grid"
199
+ Grid = "grid",
200
+ /**
201
+ * Render the form fields in full-width rows.
202
+ * Each row can have a leading `icon`, and a field.
203
+ * `title` and `description` provided by the schema will be placed
204
+ * on the row itself, and not on the field.
205
+ * This layout is good for creating UIs for user settings pages.
206
+ */
207
+ Row = "row"
193
208
  }
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ import { RowProps } from '../templates/types';
3
+ export declare class Row extends React.Component<RowProps> {
4
+ props: RowProps;
5
+ constructor(props: RowProps);
6
+ render(): React.DetailedReactHTMLElement<{
7
+ className: string;
8
+ }, HTMLElement>;
9
+ private renderIcon;
10
+ private renderMainInformation;
11
+ private renderTitle;
12
+ private renderDescription;
13
+ private renderChildren;
14
+ private get schema();
15
+ private get icon();
16
+ }
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { RowProps } from './types';
3
+ export declare class RowLayout extends React.Component<RowProps> {
4
+ props: RowProps;
5
+ private elementRef;
6
+ constructor(props: RowProps);
7
+ render(): React.DetailedReactHTMLElement<{
8
+ className: string;
9
+ ref: React.RefObject<HTMLElement>;
10
+ }, HTMLElement>;
11
+ }
@@ -10,3 +10,6 @@ export interface LimeObjectFieldTemplateProps extends ObjectFieldTemplateProps {
10
10
  export interface Runnable {
11
11
  run: (event: any) => void;
12
12
  }
13
+ export interface RowProps {
14
+ children?: any;
15
+ }
@@ -9,6 +9,7 @@ import { ListSeparator, MenuItem, OpenDirection } from '@limetech/lime-elements'
9
9
  * @exampleComponent limel-example-menu-grid
10
10
  * @exampleComponent limel-example-menu-hotkeys
11
11
  * @exampleComponent limel-example-menu-secondary-text
12
+ * @exampleComponent limel-example-menu-notification
12
13
  * @exampleComponent limel-example-menu-composite
13
14
  */
14
15
  export declare class Menu {
@@ -59,4 +60,6 @@ export declare class Menu {
59
60
  private setListElement;
60
61
  private focusMenuItem;
61
62
  private isMenuItem;
63
+ private renderNotificationBadge;
64
+ private hasNotificationBadge;
62
65
  }
@@ -28,6 +28,10 @@ export interface MenuItem<T = any> {
28
28
  * True if the menu item should be selected.
29
29
  */
30
30
  selected?: boolean;
31
+ /**
32
+ * If specified, will display a notification badge on the buttons in the dock.
33
+ */
34
+ badge?: number | string;
31
35
  /**
32
36
  * Value of the menu item.
33
37
  */
@@ -44,5 +44,6 @@ export declare class MenuListRenderer {
44
44
  * @returns {HTMLElement} the icon element
45
45
  */
46
46
  private renderIcon;
47
+ private renderNotification;
47
48
  private renderDivider;
48
49
  }