@limetech/lime-elements 40.22.0 → 40.24.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 (363) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/cjs/dom-BWMDM6En.js +32 -0
  3. package/dist/cjs/lime-elements.cjs.js +1 -1
  4. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  5. package/dist/cjs/limel-action-bar_3.cjs.entry.js +4 -5
  6. package/dist/cjs/limel-ai-avatar.cjs.entry.js +2 -3
  7. package/dist/cjs/limel-badge_7.cjs.entry.js +12 -12
  8. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  9. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-button.cjs.entry.js +2 -2
  11. package/dist/cjs/limel-callout.cjs.entry.js +2 -3
  12. package/dist/cjs/limel-card.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-chart.cjs.entry.js +5 -6
  14. package/dist/cjs/limel-checkbox.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-chip-set.cjs.entry.js +2 -3
  16. package/dist/cjs/limel-chip_2.cjs.entry.js +2 -3
  17. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-code-diff.cjs.entry.js +2 -3
  19. package/dist/cjs/limel-code-editor.cjs.entry.js +2 -3
  20. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -3
  21. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
  22. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-date-picker.cjs.entry.js +438 -27
  24. package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
  25. package/dist/cjs/limel-dock.cjs.entry.js +3 -4
  26. package/dist/cjs/limel-drag-handle_2.cjs.entry.js +4 -5
  27. package/dist/cjs/limel-email-viewer.cjs.entry.js +2 -3
  28. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -2
  29. package/dist/cjs/limel-file-viewer.cjs.entry.js +1 -2
  30. package/dist/cjs/limel-file.cjs.entry.js +2 -3
  31. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +123 -15
  32. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-form-header.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-form.cjs.entry.js +266 -19
  35. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  36. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  37. package/dist/cjs/limel-help_2.cjs.entry.js +3 -3
  38. package/dist/cjs/limel-helper-line_3.cjs.entry.js +4 -4
  39. package/dist/cjs/limel-hotkey_4.cjs.entry.js +5 -5
  40. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  41. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
  43. package/dist/cjs/limel-list-item.cjs.entry.js +3 -4
  44. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-masonry-layout.cjs.entry.js +1 -1
  46. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  47. package/dist/cjs/limel-pagination-jump.cjs.entry.js +1 -2
  48. package/dist/cjs/limel-pagination.cjs.entry.js +6 -7
  49. package/dist/cjs/limel-picker.cjs.entry.js +6 -6
  50. package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
  51. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -2
  52. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +2 -3
  53. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  54. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  55. package/dist/cjs/limel-resize-handle.cjs.entry.js +2 -3
  56. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  57. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  58. package/dist/cjs/limel-side-panel.cjs.entry.js +2 -3
  59. package/dist/cjs/limel-slider.cjs.entry.js +4 -5
  60. package/dist/cjs/limel-snackbar.cjs.entry.js +3 -4
  61. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  62. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  63. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  64. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  65. package/dist/cjs/limel-table.cjs.entry.js +3 -4
  66. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +4 -5
  67. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  68. package/dist/cjs/{live-message-BNl3Ihcz.js → live-message-CwxlKd60.js} +0 -30
  69. package/dist/cjs/loader.cjs.js +1 -1
  70. package/dist/cjs/{translations-JLP5icQ9.js → translations-BPsptVkN.js} +73 -3
  71. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  72. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  73. package/dist/collection/components/action-bar/action-bar.js +2 -2
  74. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  75. package/dist/collection/components/badge/badge.js +2 -2
  76. package/dist/collection/components/banner/banner.js +1 -1
  77. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  78. package/dist/collection/components/button/button.js +2 -2
  79. package/dist/collection/components/button-group/button-group.js +1 -1
  80. package/dist/collection/components/callout/callout.js +1 -1
  81. package/dist/collection/components/card/card.js +1 -1
  82. package/dist/collection/components/checkbox/checkbox.js +1 -1
  83. package/dist/collection/components/chip/chip.js +1 -1
  84. package/dist/collection/components/chip-set/chip-set.js +1 -1
  85. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  86. package/dist/collection/components/code-diff/code-diff.js +1 -1
  87. package/dist/collection/components/code-editor/code-editor.js +1 -1
  88. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  89. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  90. package/dist/collection/components/color-picker/color-picker.js +1 -1
  91. package/dist/collection/components/date-picker/date-formatter.js +147 -1
  92. package/dist/collection/components/date-picker/date-picker.css +112 -0
  93. package/dist/collection/components/date-picker/date-picker.js +307 -26
  94. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +77 -30
  95. package/dist/collection/components/date-picker/pickers/month-picker.js +3 -0
  96. package/dist/collection/components/date-picker/pickers/picker.js +37 -1
  97. package/dist/collection/components/date-picker/pickers/quarter-picker.js +3 -0
  98. package/dist/collection/components/date-picker/pickers/week-picker.js +21 -0
  99. package/dist/collection/components/date-picker/pickers/year-picker.js +24 -0
  100. package/dist/collection/components/dialog/dialog.js +2 -2
  101. package/dist/collection/components/dock/dock.js +2 -2
  102. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  103. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  104. package/dist/collection/components/file/file.js +1 -1
  105. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  106. package/dist/collection/components/file-input/file-input.js +1 -1
  107. package/dist/collection/components/flex-container/flex-container.js +1 -1
  108. package/dist/collection/components/form/fields/schema-field.js +19 -1
  109. package/dist/collection/components/form/filled-defaults.js +132 -0
  110. package/dist/collection/components/form/form.js +122 -17
  111. package/dist/collection/components/form/form.test-schemas.js +61 -0
  112. package/dist/collection/components/form/invalid-input.js +14 -0
  113. package/dist/collection/components/form/widgets/date-picker.js +3 -1
  114. package/dist/collection/components/form-header/form-header.js +1 -1
  115. package/dist/collection/components/grid/grid.js +1 -1
  116. package/dist/collection/components/header/header.js +1 -1
  117. package/dist/collection/components/help/help-content.js +1 -1
  118. package/dist/collection/components/help/help.js +2 -2
  119. package/dist/collection/components/helper-line/helper-line.js +2 -2
  120. package/dist/collection/components/hotkey/hotkey.js +1 -1
  121. package/dist/collection/components/icon/icon.js +1 -1
  122. package/dist/collection/components/icon-button/icon-button.js +1 -1
  123. package/dist/collection/components/info-tile/info-tile.js +2 -2
  124. package/dist/collection/components/input-field/input-field.js +1 -1
  125. package/dist/collection/components/list/list.js +1 -1
  126. package/dist/collection/components/list-item/list-item.js +2 -2
  127. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  128. package/dist/collection/components/markdown/markdown.js +1 -1
  129. package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
  130. package/dist/collection/components/menu/menu.js +1 -1
  131. package/dist/collection/components/menu-list/menu-list.js +1 -1
  132. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  133. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  134. package/dist/collection/components/pagination/pagination.js +1 -1
  135. package/dist/collection/components/picker/picker.js +1 -1
  136. package/dist/collection/components/popover/popover.js +1 -1
  137. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  138. package/dist/collection/components/portal/portal.js +1 -1
  139. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  140. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  141. package/dist/collection/components/resize-handle/resize-handle.js +1 -1
  142. package/dist/collection/components/scroller/scroller.js +2 -2
  143. package/dist/collection/components/select/select.js +1 -1
  144. package/dist/collection/components/shortcut/shortcut.js +1 -1
  145. package/dist/collection/components/side-panel/side-panel.js +1 -1
  146. package/dist/collection/components/slider/slider.js +3 -3
  147. package/dist/collection/components/snackbar/snackbar.js +2 -2
  148. package/dist/collection/components/spinner/spinner.js +1 -1
  149. package/dist/collection/components/split-button/split-button.js +2 -2
  150. package/dist/collection/components/switch/switch.js +1 -1
  151. package/dist/collection/components/tab-bar/tab-bar.js +1 -1
  152. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  153. package/dist/collection/components/table/table.js +2 -2
  154. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  155. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  156. package/dist/collection/components/text-editor/text-editor.js +1 -1
  157. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  158. package/dist/collection/components/tooltip/tooltip.js +2 -2
  159. package/dist/collection/translations/da.js +2 -0
  160. package/dist/collection/translations/de.js +2 -0
  161. package/dist/collection/translations/en.js +2 -0
  162. package/dist/collection/translations/fi.js +2 -0
  163. package/dist/collection/translations/fr.js +2 -0
  164. package/dist/collection/translations/nl.js +2 -0
  165. package/dist/collection/translations/no.js +2 -0
  166. package/dist/collection/translations/sv.js +2 -0
  167. package/dist/esm/dom-B9Ofc5RB.js +30 -0
  168. package/dist/esm/lime-elements.js +1 -1
  169. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  170. package/dist/esm/limel-action-bar_3.entry.js +4 -5
  171. package/dist/esm/limel-ai-avatar.entry.js +2 -3
  172. package/dist/esm/limel-badge_7.entry.js +11 -11
  173. package/dist/esm/limel-banner.entry.js +1 -1
  174. package/dist/esm/limel-button-group.entry.js +1 -1
  175. package/dist/esm/limel-button.entry.js +2 -2
  176. package/dist/esm/limel-callout.entry.js +2 -3
  177. package/dist/esm/limel-card.entry.js +1 -1
  178. package/dist/esm/limel-chart.entry.js +1 -2
  179. package/dist/esm/limel-checkbox.entry.js +1 -1
  180. package/dist/esm/limel-chip-set.entry.js +2 -3
  181. package/dist/esm/limel-chip_2.entry.js +2 -3
  182. package/dist/esm/limel-circular-progress.entry.js +1 -1
  183. package/dist/esm/limel-code-diff.entry.js +2 -3
  184. package/dist/esm/limel-code-editor.entry.js +2 -3
  185. package/dist/esm/limel-collapsible-section.entry.js +2 -3
  186. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  187. package/dist/esm/limel-color-picker.entry.js +1 -1
  188. package/dist/esm/limel-date-picker.entry.js +435 -24
  189. package/dist/esm/limel-dialog.entry.js +2 -2
  190. package/dist/esm/limel-dock.entry.js +3 -4
  191. package/dist/esm/limel-drag-handle_2.entry.js +4 -5
  192. package/dist/esm/limel-email-viewer.entry.js +2 -3
  193. package/dist/esm/limel-file-dropzone_2.entry.js +2 -2
  194. package/dist/esm/limel-file-viewer.entry.js +1 -2
  195. package/dist/esm/limel-file.entry.js +2 -3
  196. package/dist/esm/limel-flatpickr-adapter.entry.js +118 -10
  197. package/dist/esm/limel-flex-container.entry.js +1 -1
  198. package/dist/esm/limel-form-header.entry.js +1 -1
  199. package/dist/esm/limel-form.entry.js +266 -19
  200. package/dist/esm/limel-grid.entry.js +1 -1
  201. package/dist/esm/limel-header.entry.js +1 -1
  202. package/dist/esm/limel-help_2.entry.js +3 -3
  203. package/dist/esm/limel-helper-line_3.entry.js +4 -4
  204. package/dist/esm/limel-hotkey_4.entry.js +5 -5
  205. package/dist/esm/limel-icon-button.entry.js +1 -1
  206. package/dist/esm/limel-icon.entry.js +1 -1
  207. package/dist/esm/limel-info-tile.entry.js +2 -2
  208. package/dist/esm/limel-list-item.entry.js +3 -4
  209. package/dist/esm/limel-markdown.entry.js +1 -1
  210. package/dist/esm/limel-masonry-layout.entry.js +1 -1
  211. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  212. package/dist/esm/limel-pagination-jump.entry.js +1 -2
  213. package/dist/esm/limel-pagination.entry.js +2 -3
  214. package/dist/esm/limel-picker.entry.js +4 -4
  215. package/dist/esm/limel-popover_2.entry.js +2 -2
  216. package/dist/esm/limel-profile-picture.entry.js +1 -2
  217. package/dist/esm/limel-prosemirror-adapter.entry.js +2 -3
  218. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  219. package/dist/esm/limel-radio-button.entry.js +2 -2
  220. package/dist/esm/limel-resize-handle.entry.js +2 -3
  221. package/dist/esm/limel-select.entry.js +1 -1
  222. package/dist/esm/limel-shortcut.entry.js +1 -1
  223. package/dist/esm/limel-side-panel.entry.js +2 -3
  224. package/dist/esm/limel-slider.entry.js +4 -5
  225. package/dist/esm/limel-snackbar.entry.js +3 -4
  226. package/dist/esm/limel-split-button.entry.js +2 -2
  227. package/dist/esm/limel-switch.entry.js +1 -1
  228. package/dist/esm/limel-tab-bar.entry.js +1 -1
  229. package/dist/esm/limel-tab-panel.entry.js +1 -1
  230. package/dist/esm/limel-table.entry.js +3 -4
  231. package/dist/esm/limel-text-editor-link-menu.entry.js +4 -5
  232. package/dist/esm/limel-text-editor.entry.js +1 -1
  233. package/dist/esm/{live-message-BQAYeNiX.js → live-message-BKB4vu28.js} +1 -30
  234. package/dist/esm/loader.js +1 -1
  235. package/dist/esm/{translations-D9ZGrMhe.js → translations--i932i_D.js} +70 -2
  236. package/dist/lime-elements/lime-elements.esm.js +1 -1
  237. package/dist/lime-elements/p--i932i_D.js +1 -0
  238. package/dist/lime-elements/p-0700e83f.entry.js +1 -0
  239. package/dist/lime-elements/{p-95a486c8.entry.js → p-083aa41f.entry.js} +1 -1
  240. package/dist/lime-elements/p-08b1bfad.entry.js +1 -0
  241. package/dist/lime-elements/{p-8fe28845.entry.js → p-127ff801.entry.js} +1 -1
  242. package/dist/lime-elements/{p-764d2f86.entry.js → p-156ea100.entry.js} +1 -1
  243. package/dist/lime-elements/{p-1e0ced6a.entry.js → p-15f5e45e.entry.js} +1 -1
  244. package/dist/lime-elements/p-1c7fcafc.entry.js +1 -0
  245. package/dist/lime-elements/p-1e699935.entry.js +1 -0
  246. package/dist/lime-elements/{p-9b2623fe.entry.js → p-1fa0fd7a.entry.js} +4 -4
  247. package/dist/lime-elements/{p-ce71c5b9.entry.js → p-22aaa1ae.entry.js} +1 -1
  248. package/dist/lime-elements/p-2a5113ef.entry.js +1 -0
  249. package/dist/lime-elements/p-2d698983.entry.js +1 -0
  250. package/dist/lime-elements/p-373032c0.entry.js +1 -0
  251. package/dist/lime-elements/{p-8e80a884.entry.js → p-391305a7.entry.js} +3 -3
  252. package/dist/lime-elements/p-391a227e.entry.js +1 -0
  253. package/dist/lime-elements/p-3a421be9.entry.js +1 -0
  254. package/dist/lime-elements/p-3d6ba932.entry.js +1 -0
  255. package/dist/lime-elements/{p-c8a34cef.entry.js → p-3f9acb22.entry.js} +1 -1
  256. package/dist/lime-elements/p-46695dd3.entry.js +1 -0
  257. package/dist/lime-elements/p-490ac19d.entry.js +1 -0
  258. package/dist/lime-elements/p-4bc550e5.entry.js +1 -0
  259. package/dist/lime-elements/{p-438fe49b.entry.js → p-4de3b35b.entry.js} +1 -1
  260. package/dist/lime-elements/p-4eee17f7.entry.js +1 -0
  261. package/dist/lime-elements/p-507965d9.entry.js +1 -0
  262. package/dist/lime-elements/p-51fde63a.entry.js +1 -0
  263. package/dist/lime-elements/{p-db9cb7ef.entry.js → p-557f0e46.entry.js} +1 -1
  264. package/dist/lime-elements/p-558a7e27.entry.js +1 -0
  265. package/dist/lime-elements/{p-c6b3448c.entry.js → p-5fcb39b8.entry.js} +1 -1
  266. package/dist/lime-elements/p-61c81d09.entry.js +16 -0
  267. package/dist/lime-elements/{p-f59447bf.entry.js → p-63f2f0b7.entry.js} +1 -1
  268. package/dist/lime-elements/p-65199efa.entry.js +1 -0
  269. package/dist/lime-elements/p-6567de01.entry.js +1 -0
  270. package/dist/lime-elements/{p-a6387dc7.entry.js → p-664dbc43.entry.js} +1 -1
  271. package/dist/lime-elements/{p-6ae093c8.entry.js → p-6b6b8ffe.entry.js} +1 -1
  272. package/dist/lime-elements/p-6f8305ac.entry.js +1 -0
  273. package/dist/lime-elements/{p-c0ebf7cc.entry.js → p-718431c1.entry.js} +1 -1
  274. package/dist/lime-elements/p-71ed9466.entry.js +1 -0
  275. package/dist/lime-elements/{p-7d0ffc60.entry.js → p-81c43fe9.entry.js} +1 -1
  276. package/dist/lime-elements/p-8e46d111.entry.js +1 -0
  277. package/dist/lime-elements/{p-d3f13124.entry.js → p-9cbfedad.entry.js} +1 -1
  278. package/dist/lime-elements/p-9e5a15d1.entry.js +1 -0
  279. package/dist/lime-elements/p-B9Ofc5RB.js +1 -0
  280. package/dist/lime-elements/p-CMedqTpE.js +1 -0
  281. package/dist/lime-elements/{p-e5abe390.entry.js → p-a1cd0dc0.entry.js} +1 -1
  282. package/dist/lime-elements/p-a5aa8c06.entry.js +1 -0
  283. package/dist/lime-elements/{p-c61e9b83.entry.js → p-ae634a68.entry.js} +1 -1
  284. package/dist/lime-elements/{p-c2056ebc.entry.js → p-b6334f4b.entry.js} +1 -1
  285. package/dist/lime-elements/{p-28957b5c.entry.js → p-b810b854.entry.js} +1 -1
  286. package/dist/lime-elements/{p-cf2d43c7.entry.js → p-bb45a5bb.entry.js} +1 -1
  287. package/dist/lime-elements/{p-54537c85.entry.js → p-be653ca9.entry.js} +1 -1
  288. package/dist/lime-elements/{p-40940a6c.entry.js → p-bfb98b0e.entry.js} +1 -1
  289. package/dist/lime-elements/{p-3f7fa772.entry.js → p-c1dbad1e.entry.js} +1 -1
  290. package/dist/lime-elements/{p-39d1e157.entry.js → p-c3b86df2.entry.js} +1 -1
  291. package/dist/lime-elements/p-c3d1aa57.entry.js +1 -0
  292. package/dist/lime-elements/p-c63d294b.entry.js +1 -0
  293. package/dist/lime-elements/{p-f3b93ce8.entry.js → p-c6eed240.entry.js} +1 -1
  294. package/dist/lime-elements/p-c7bcae67.entry.js +1 -0
  295. package/dist/lime-elements/p-ce418df1.entry.js +159 -0
  296. package/dist/lime-elements/{p-6053608a.entry.js → p-d078ea89.entry.js} +1 -1
  297. package/dist/lime-elements/p-d2f784a8.entry.js +1 -0
  298. package/dist/lime-elements/{p-48a412ed.entry.js → p-d51bf98b.entry.js} +1 -1
  299. package/dist/lime-elements/p-da9be21e.entry.js +1 -0
  300. package/dist/lime-elements/{p-a891f3e8.entry.js → p-e3cf45ed.entry.js} +1 -1
  301. package/dist/lime-elements/{p-909466b8.entry.js → p-e481fb53.entry.js} +1 -1
  302. package/dist/lime-elements/{p-0319f07f.entry.js → p-e8665e99.entry.js} +1 -1
  303. package/dist/lime-elements/{p-5dce791c.entry.js → p-eb812303.entry.js} +1 -1
  304. package/dist/types/components/date-picker/date-formatter.d.ts +12 -0
  305. package/dist/types/components/date-picker/date-picker.d.ts +59 -3
  306. package/dist/types/components/date-picker/flatpickr-adapter/flatpickr-adapter.d.ts +13 -2
  307. package/dist/types/components/date-picker/pickers/month-picker.d.ts +1 -0
  308. package/dist/types/components/date-picker/pickers/picker.d.ts +8 -1
  309. package/dist/types/components/date-picker/pickers/quarter-picker.d.ts +1 -0
  310. package/dist/types/components/date-picker/pickers/week-picker.d.ts +4 -0
  311. package/dist/types/components/date-picker/pickers/year-picker.d.ts +7 -0
  312. package/dist/types/components/form/fields/schema-field.d.ts +2 -0
  313. package/dist/types/components/form/filled-defaults.d.ts +12 -0
  314. package/dist/types/components/form/form.d.ts +19 -0
  315. package/dist/types/components/form/form.test-schemas.d.ts +3 -0
  316. package/dist/types/components/form/invalid-input.d.ts +14 -0
  317. package/dist/types/components/form/widgets/date-picker.d.ts +1 -0
  318. package/dist/types/components.d.ts +46 -11
  319. package/dist/types/translations/da.d.ts +2 -0
  320. package/dist/types/translations/de.d.ts +2 -0
  321. package/dist/types/translations/en.d.ts +2 -0
  322. package/dist/types/translations/fi.d.ts +2 -0
  323. package/dist/types/translations/fr.d.ts +2 -0
  324. package/dist/types/translations/nl.d.ts +2 -0
  325. package/dist/types/translations/no.d.ts +2 -0
  326. package/dist/types/translations/sv.d.ts +2 -0
  327. package/package.json +4 -4
  328. package/dist/cjs/language-s0bKUCvO.js +0 -58
  329. package/dist/esm/language-VamkUr90.js +0 -55
  330. package/dist/lime-elements/p-0a7cbdc3.entry.js +0 -1
  331. package/dist/lime-elements/p-0f96e94d.entry.js +0 -1
  332. package/dist/lime-elements/p-1a0c5e45.entry.js +0 -1
  333. package/dist/lime-elements/p-401d5c92.entry.js +0 -1
  334. package/dist/lime-elements/p-430db3b9.entry.js +0 -1
  335. package/dist/lime-elements/p-43b62587.entry.js +0 -1
  336. package/dist/lime-elements/p-48dccb83.entry.js +0 -1
  337. package/dist/lime-elements/p-5c918155.entry.js +0 -1
  338. package/dist/lime-elements/p-66101ed6.entry.js +0 -1
  339. package/dist/lime-elements/p-7ab72b52.entry.js +0 -1
  340. package/dist/lime-elements/p-8d602078.entry.js +0 -1
  341. package/dist/lime-elements/p-8d9a2a22.entry.js +0 -1
  342. package/dist/lime-elements/p-8de4f0f3.entry.js +0 -1
  343. package/dist/lime-elements/p-99984c66.entry.js +0 -1
  344. package/dist/lime-elements/p-9d46f720.entry.js +0 -1
  345. package/dist/lime-elements/p-9e2b426c.entry.js +0 -1
  346. package/dist/lime-elements/p-C9dBa_Im.js +0 -1
  347. package/dist/lime-elements/p-Cw7VQSGU.js +0 -1
  348. package/dist/lime-elements/p-VamkUr90.js +0 -1
  349. package/dist/lime-elements/p-b1c7033b.entry.js +0 -16
  350. package/dist/lime-elements/p-b5451350.entry.js +0 -1
  351. package/dist/lime-elements/p-c75f3b0d.entry.js +0 -1
  352. package/dist/lime-elements/p-ca4247c4.entry.js +0 -1
  353. package/dist/lime-elements/p-d53421af.entry.js +0 -1
  354. package/dist/lime-elements/p-d8901e39.entry.js +0 -1
  355. package/dist/lime-elements/p-d89553b3.entry.js +0 -1
  356. package/dist/lime-elements/p-d93b8ce0.entry.js +0 -1
  357. package/dist/lime-elements/p-e97340c4.entry.js +0 -1
  358. package/dist/lime-elements/p-ec0c113d.entry.js +0 -1
  359. package/dist/lime-elements/p-f036ad27.entry.js +0 -1
  360. package/dist/lime-elements/p-f197000b.entry.js +0 -159
  361. package/dist/lime-elements/p-f5bb17eb.entry.js +0 -1
  362. package/dist/lime-elements/p-f6bc6658.entry.js +0 -1
  363. package/dist/lime-elements/p-fa1aa440.entry.js +0 -1
@@ -45163,6 +45163,21 @@ class LimeElementsWidgetAdapter extends React.Component {
45163
45163
  }
45164
45164
  LimeElementsWidgetAdapter.contextType = RowLayoutContext;
45165
45165
 
45166
+ /**
45167
+ * Listens for `invalidInput` from the element or from inside it, such as
45168
+ * a `limel-date-picker` in a custom component's shadow root.
45169
+ * @param element - the field's element
45170
+ * @param report - called with each message
45171
+ * @returns a function that stops listening
45172
+ */
45173
+ function listenForInvalidInput(element, report) {
45174
+ const listener = (event) => {
45175
+ report(event.detail);
45176
+ };
45177
+ element.addEventListener('invalidInput', listener);
45178
+ return () => element.removeEventListener('invalidInput', listener);
45179
+ }
45180
+
45166
45181
  var __rest$3 = (undefined && undefined.__rest) || function (s, e) {
45167
45182
  var t = {};
45168
45183
  for (var p in s)
@@ -45182,6 +45197,7 @@ class DatePicker extends React.Component {
45182
45197
  this.state = {
45183
45198
  modified: false,
45184
45199
  };
45200
+ this.watchInvalidInput = (element) => listenForInvalidInput(element, (message) => { var _a, _b; return (_b = (_a = this.props.options) === null || _a === void 0 ? void 0 : _a.onInvalidInput) === null || _b === void 0 ? void 0 : _b.call(_a, message); });
45185
45201
  this.handleChange = this.handleChange.bind(this);
45186
45202
  }
45187
45203
  render() {
@@ -45194,7 +45210,7 @@ class DatePicker extends React.Component {
45194
45210
  change: this.handleChange,
45195
45211
  },
45196
45212
  widgetProps: props,
45197
- extraProps: Object.assign({ type: type }, (_b = (_a = props.schema.lime) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.props),
45213
+ extraProps: Object.assign(Object.assign({ type: type }, (_b = (_a = props.schema.lime) === null || _a === void 0 ? void 0 : _a.component) === null || _b === void 0 ? void 0 : _b.props), { ref: this.watchInvalidInput }),
45198
45214
  });
45199
45215
  }
45200
45216
  getValue() {
@@ -45245,6 +45261,7 @@ const TimePicker = (_a) => {
45245
45261
  const timeStringPattern = /^\d\d:\d\d/;
45246
45262
 
45247
45263
  const { fields: defaultFields$2 } = getDefaultRegistry();
45264
+ const DATE_FORMATS = new Set(['date', 'date-time', 'time']);
45248
45265
  const BaseSchemaField = defaultFields$2.SchemaField;
45249
45266
  /**
45250
45267
  * If given a value and schema, check if the value should be translated
@@ -45323,10 +45340,23 @@ class SchemaField extends React.Component {
45323
45340
  this.state = {
45324
45341
  modified: false,
45325
45342
  };
45343
+ // The date picker never emits text it rejects, so the value stays valid
45344
+ // while the field shows an error.
45345
+ this.reportInvalidInput = (message) => {
45346
+ var _a, _b;
45347
+ const { registry, fieldPathId } = this.props;
45348
+ if (!fieldPathId) {
45349
+ return;
45350
+ }
45351
+ (_b = (_a = registry.formContext) === null || _a === void 0 ? void 0 : _a.setInvalidInput) === null || _b === void 0 ? void 0 : _b.call(_a, fieldPathId.path, message);
45352
+ };
45326
45353
  this.handleChange = this.handleChange.bind(this);
45327
45354
  this.handleCustomComponentChange =
45328
45355
  this.handleCustomComponentChange.bind(this);
45329
45356
  }
45357
+ componentWillUnmount() {
45358
+ this.reportInvalidInput(null);
45359
+ }
45330
45360
  isInvalid() {
45331
45361
  var _a;
45332
45362
  const { modified } = this.state;
@@ -45401,7 +45431,7 @@ class SchemaField extends React.Component {
45401
45431
  name: name,
45402
45432
  schemaPath: (_a = fieldPathId === null || fieldPathId === void 0 ? void 0 : fieldPathId.path) === null || _a === void 0 ? void 0 : _a.map(String),
45403
45433
  };
45404
- return () => { };
45434
+ return listenForInvalidInput(element, this.reportInvalidInput);
45405
45435
  } });
45406
45436
  }
45407
45437
  renderCustomComponent(props) {
@@ -45426,6 +45456,9 @@ class SchemaField extends React.Component {
45426
45456
  if (this.props.schema.format === 'time') {
45427
45457
  fieldProps.uiSchema = Object.assign({ 'ui:widget': TimePicker }, fieldProps.uiSchema);
45428
45458
  }
45459
+ if (DATE_FORMATS.has(this.props.schema.format)) {
45460
+ fieldProps.uiSchema = Object.assign(Object.assign({}, fieldProps.uiSchema), { 'ui:onInvalidInput': this.reportInvalidInput });
45461
+ }
45429
45462
  // Our text widget renders a native `<input type="number">` for numeric
45430
45463
  // schemas. `@rjsf/core` otherwise rewrites the value to the locale's
45431
45464
  // decimal separator, which such an input cannot display.
@@ -46171,6 +46204,138 @@ function nextFrame() {
46171
46204
  return new Promise((resolve) => requestAnimationFrame(() => resolve()));
46172
46205
  }
46173
46206
 
46207
+ /**
46208
+ * The value without the defaults that were filled into the value the form was
46209
+ * given, as long as they still hold their default. A default the user changed
46210
+ * stays, and so do the defaults of what the user added, such as a list item.
46211
+ *
46212
+ * @param value - the value the form holds, with the defaults filled in
46213
+ * @param filled - the value the form was given, with the defaults filled in
46214
+ * @param given - the value the form was given
46215
+ * @returns the value without the defaults that were filled in
46216
+ */
46217
+ function withoutFilledDefaults(value, filled, given) {
46218
+ // A change can bring in objects that hold nothing, which mean nothing
46219
+ if (isPlainObject$1(value)) {
46220
+ return withoutFilledProperties(value, isPlainObject$1(filled) ? filled : {}, given);
46221
+ }
46222
+ if (Array.isArray(value)) {
46223
+ return withoutFilledItems(value, Array.isArray(filled) ? filled : [], given);
46224
+ }
46225
+ return given === undefined && isEqual(value, filled) ? undefined : value;
46226
+ }
46227
+ function withoutFilledProperties(value, filled, given) {
46228
+ const givenProperties = isPlainObject$1(given)
46229
+ ? given
46230
+ : {};
46231
+ // In the order they were given, so a saved value keeps its key order
46232
+ const keys = new Set([
46233
+ ...Object.keys(givenProperties),
46234
+ ...Object.keys(value),
46235
+ ]);
46236
+ const result = {};
46237
+ for (const key of keys) {
46238
+ if (!Object.hasOwn(value, key)) {
46239
+ continue;
46240
+ }
46241
+ const kept = withoutFilledDefaults(value[key], filled[key], givenProperties[key]);
46242
+ if (kept !== undefined) {
46243
+ result[key] = kept;
46244
+ }
46245
+ }
46246
+ return isEmpty(result) && given == null ? given : result;
46247
+ }
46248
+ // Items are paired with the ones the form was given by content, so a removed
46249
+ // or moved item does not shift the others onto the defaults of their
46250
+ // neighbors. An item that no longer equals any of them is paired with the one
46251
+ // it has the most in common with, so an edited item still loses its defaults
46252
+ function withoutFilledItems(items, filled, given) {
46253
+ // A list that was not given is a default as a whole: once the user
46254
+ // changes it, it is the user's
46255
+ if (!Array.isArray(given)) {
46256
+ return isEqual(items, filled) ? given : items;
46257
+ }
46258
+ const givenItems = given;
46259
+ const matches = pairItems(items, filled);
46260
+ const result = [];
46261
+ for (const [index, item] of items.entries()) {
46262
+ const match = matches.get(index);
46263
+ if (match === undefined) {
46264
+ result.push(item);
46265
+ continue;
46266
+ }
46267
+ const kept = withoutFilledDefaults(item, filled[match], givenItems[match]);
46268
+ if (kept !== undefined) {
46269
+ result.push(kept);
46270
+ }
46271
+ }
46272
+ return result;
46273
+ }
46274
+ function pairItems(items, filled) {
46275
+ const matches = new Map();
46276
+ const unmatched = new Set(filled.keys());
46277
+ const pair = (index, match) => {
46278
+ matches.set(index, match);
46279
+ unmatched.delete(match);
46280
+ };
46281
+ for (const [index, item] of items.entries()) {
46282
+ if (unmatched.has(index) && isEqual(item, filled[index])) {
46283
+ pair(index, index);
46284
+ }
46285
+ }
46286
+ for (const [index, item] of items.entries()) {
46287
+ if (matches.has(index)) {
46288
+ continue;
46289
+ }
46290
+ const same = [...unmatched].find((i) => isEqual(item, filled[i]));
46291
+ if (same !== undefined) {
46292
+ pair(index, same);
46293
+ }
46294
+ }
46295
+ for (const [index, item] of items.entries()) {
46296
+ if (matches.has(index)) {
46297
+ continue;
46298
+ }
46299
+ const closest = findClosest(item, filled, unmatched);
46300
+ if (closest !== undefined) {
46301
+ pair(index, closest);
46302
+ }
46303
+ }
46304
+ return matches;
46305
+ }
46306
+ // The one item that shares the most equal properties, if it shares any at
46307
+ // all. When several share as many there is no telling which the item was, and
46308
+ // it is left as it is, since a kept default means the same as a missing one
46309
+ // while a lost value does not
46310
+ function findClosest(item, filled, candidates) {
46311
+ if (!isPlainObject$1(item)) {
46312
+ return undefined;
46313
+ }
46314
+ let closest;
46315
+ let best = 0;
46316
+ let isTied = false;
46317
+ for (const candidate of candidates) {
46318
+ const score = sharedProperties(item, filled[candidate]);
46319
+ if (score === best) {
46320
+ isTied = true;
46321
+ continue;
46322
+ }
46323
+ if (score < best) {
46324
+ continue;
46325
+ }
46326
+ best = score;
46327
+ closest = candidate;
46328
+ isTied = false;
46329
+ }
46330
+ return isTied ? undefined : closest;
46331
+ }
46332
+ function sharedProperties(item, other) {
46333
+ if (!isPlainObject$1(other)) {
46334
+ return 0;
46335
+ }
46336
+ return Object.entries(item).filter(([key, value]) => isEqual(value, other[key])).length;
46337
+ }
46338
+
46174
46339
  const formCss = () => `@charset "UTF-8";.limel-form-row--layout{--limel-form-row-border-radius:0.375rem;--limel-form-row-icon-size:1.75rem;--limel-form-row-main-information-gap:0.5rem;display:flex;flex-direction:column}.limel-form-row--layout .row{display:flex;gap:0.5rem;flex-direction:column;padding:0.5rem 1rem}.limel-form-row--layout .row:nth-child(odd){background-color:var(--form-background-color-of-odd-rows, rgb(var(--contrast-200)))}.limel-form-row--layout .row:nth-child(even){background-color:var(--form-background-color-of-even-rows, transparent)}.limel-form-row--layout .row:first-child{border-radius:var(--limel-form-row-border-radius) var(--limel-form-row-border-radius) 0 0}.limel-form-row--layout .row:last-child{border-radius:0 0 var(--limel-form-row-border-radius) var(--limel-form-row-border-radius)}.limel-form-row--layout .main-information{position:relative;display:flex;flex-direction:row;align-items:center;gap:var(--limel-form-row-main-information-gap);min-width:0}.limel-form-row--layout .main-information{position:relative}.limel-form-row--layout .main-information>.rjsf-field{position:unset}.limel-form-row--layout .main-information>.rjsf-field limel-help{top:0}.limel-form-row--layout limel-icon{color:rgb(var(--contrast-1200));width:var(--limel-form-row-icon-size);flex-shrink:0;min-width:0}.limel-form-row--layout .title{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:normal;flex-grow:1;color:var(--limel-theme-on-surface-color);font-size:0.875rem}.limel-form-row--layout .description{margin:0;color:var(--limel-theme-text-secondary-on-background-color);font-size:var(--limel-theme-default-small-font-size);line-height:1.5}.limel-form-row--layout .has-icon .description{padding-left:calc(var(--limel-form-row-icon-size) + var(--limel-form-row-main-information-gap))}.limel-form-row--layout .rjsf-field{flex-shrink:0;display:flex;align-content:center}.limel-form-row--layout .rjsf-field limel-slider{min-width:8rem;display:block}*,*::after,*::before{box-sizing:border-box}.rjsf-field{min-width:0}.limel-form-array-item--simple{display:flex;align-items:center;padding:0.25rem}.limel-form-array-item--simple>*:first-child{flex:1;min-width:0}.array-items{isolation:isolate;display:flex;flex-direction:column;row-gap:var(--form-row-gap, 0.5rem);margin-top:1rem}.array-items.has-an-item-which-is-being-dragged limel-collapsible-section{--limel-cs-grid-template-rows:0fr;--limel-cs-opacity-transition-speed:0.2s;--limel-cs-grid-template-rows-transition-speed:0.2s;--limel-cs-open-header-bottom-border-radius:0.75rem}.array-item:has(limel-drag-handle:hover),.array-item:has(limel-drag-handle:focus-within),.array-item.is-elevated,.array-item.sortable-chosen{will-change:transform, box-shadow, border-radius, background-color}.array-item.sortable-ghost{border-radius:0.5rem;box-shadow:var(--shadow-depth-64), 0 0.65rem 0.75rem -0.425rem rgb(var(--color-black), 0.3)}.array-item.sortable-chosen{border-radius:0.5rem;background-color:var(--lime-elevated-surface-background-color)}.array-item.is-elevated[draggable=false]{animation:sit-here 0.8s forwards}@keyframes sit-here{0%{border-radius:0.5rem;background-color:var(--lime-elevated-surface-background-color);box-shadow:var(--shadow-depth-64), 0 0.65rem 0.75rem -0.425rem rgb(var(--color-black), 0.3)}100%{box-shadow:none}}limel-drag-handle{order:10}limel-collapsible-section.is-being-dragged{border-radius:0.75rem !important}.limel-form-layout--default{display:grid;column-gap:var(--form-column-gap, 1rem);row-gap:var(--form-row-gap, 1rem);padding:var(--form-body-padding, 1rem)}.limel-form-layout--grid{--min-height-of-one-row:2.5rem;display:grid;column-gap:var(--form-column-gap, 1rem);row-gap:var(--form-row-gap, 1rem);padding:var(--form-body-padding, 1rem);grid-template-columns:repeat(var(--number-of-columns), minmax(0, 1fr))}.limel-form-layout--grid.auto-reorder-to-avoid-empty-cells{grid-auto-flow:dense}.limel-form-layout--grid.layout-1-columns .limel-form-layout-colspan--1,.limel-form-layout--grid.layout-1-columns .limel-form-layout-colspan--2,.limel-form-layout--grid.layout-1-columns .limel-form-layout-colspan--3,.limel-form-layout--grid.layout-1-columns .limel-form-layout-colspan--4,.limel-form-layout--grid.layout-1-columns .limel-form-layout-colspan--5{grid-column:span 1}.limel-form-layout--grid.layout-2-columns .limel-form-layout-colspan--1{grid-column:span 1}.limel-form-layout--grid.layout-2-columns .limel-form-layout-colspan--2,.limel-form-layout--grid.layout-2-columns .limel-form-layout-colspan--3,.limel-form-layout--grid.layout-2-columns .limel-form-layout-colspan--4,.limel-form-layout--grid.layout-2-columns .limel-form-layout-colspan--5{grid-column:span 2}.limel-form-layout--grid.layout-3-columns .limel-form-layout-colspan--1{grid-column:span 1}.limel-form-layout--grid.layout-3-columns .limel-form-layout-colspan--2{grid-column:span 2}.limel-form-layout--grid.layout-3-columns .limel-form-layout-colspan--3,.limel-form-layout--grid.layout-3-columns .limel-form-layout-colspan--4,.limel-form-layout--grid.layout-3-columns .limel-form-layout-colspan--5{grid-column:span 3}.limel-form-layout--grid.layout-4-columns .limel-form-layout-colspan--1{grid-column:span 1}.limel-form-layout--grid.layout-4-columns .limel-form-layout-colspan--2{grid-column:span 2}.limel-form-layout--grid.layout-4-columns .limel-form-layout-colspan--3{grid-column:span 3}.limel-form-layout--grid.layout-4-columns .limel-form-layout-colspan--4,.limel-form-layout--grid.layout-4-columns .limel-form-layout-colspan--5{grid-column:span 4}.limel-form-layout--grid.layout-5-columns .limel-form-layout-colspan--1{grid-column:span 1}.limel-form-layout--grid.layout-5-columns .limel-form-layout-colspan--2{grid-column:span 2}.limel-form-layout--grid.layout-5-columns .limel-form-layout-colspan--3{grid-column:span 3}.limel-form-layout--grid.layout-5-columns .limel-form-layout-colspan--4{grid-column:span 4}.limel-form-layout--grid.layout-5-columns .limel-form-layout-colspan--5{grid-column:span 5}.limel-form-layout--grid .limel-form-layout-colspan--all{grid-column:1/-1}.limel-form-layout--grid limel-checkbox,.limel-form-layout--grid limel-switch{min-height:var(--min-height-of-one-row)}.limel-form-layout--grid limel-checkbox{display:block}.limel-form-layout--grid limel-switch{margin-left:0.5rem}.form-error{color:var(--limel-theme-error-color);font-size:0.6875rem;line-height:1.5;visibility:inherit;padding-right:1rem;padding-left:1rem;padding-top:0.25rem}.button-add-new{margin-top:0.5rem;width:100%}:is(h1,h2,h3,h4,h5,h6){position:relative;margin-top:0;margin-bottom:0;word-break:break-word;hyphens:auto;-webkit-hyphens:auto;text-wrap:balance;font-size:var(--limel-form-heading-font-size);line-height:calc(var(--limel-form-heading-font-size) * 1.42857);letter-spacing:-0.01rem;font-weight:500}limel-markdown{display:block;margin-bottom:0.5rem}.rjsf-field{position:relative}.rjsf-field limel-help{position:absolute;top:calc(var(--form-row-gap, 1rem) * -0.5);left:calc(var(--form-column-gap, 1rem) * -0.5)}.rjsf-field :is(h1,h2,h3,h4,h5,h6){color:rgb(var(--contrast-1400), 0.8)}.rjsf-field :is(h1,h2,h3,h4,h5,h6){--limel-form-heading-font-size:1.476rem;font-weight:800}.rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6){--limel-form-heading-font-size:1.383rem;font-weight:700}.rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6):before{content:"";display:block;position:absolute;top:0;bottom:0;margin:auto;left:-0.75rem;background-color:var(--lime-primary-color, var(--limel-theme-primary-color));width:0.125rem;height:1.5rem;border-radius:0.125rem;opacity:0.6}.rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6){--limel-form-heading-font-size:1.296rem;font-weight:600}.rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6):before{display:none}.rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6){--limel-form-heading-font-size:1.215rem}.rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6):before{display:none}.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6){--limel-form-heading-font-size:1.138rem}.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6):before{display:none}.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6){--limel-form-heading-font-size:1.067rem}.rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1,h2,h3,h4,h5,h6):before{display:none}.limel-form-field--highlighted{position:relative}.limel-form-field--highlighted::after{content:"";position:absolute;inset:-0.25rem;border-radius:0.5rem;pointer-events:none;animation-name:highlight-field-background, highlight-field-shadow;animation-duration:6s;animation-delay:0.1s, 0.3s;animation-timing-function:ease-in-out}@media (prefers-reduced-motion){.limel-form-field--highlighted::after{animation-duration:4s;animation-delay:0s}}@keyframes highlight-field-background{0%{background-color:transparent}12.5%{background-color:color-mix(in srgb, var(--lime-primary-color, var(--limel-theme-primary-color)), transparent 65%)}45%,100%{background-color:transparent}}@keyframes highlight-field-shadow{0%,25%,50%{box-shadow:none}12.5%,37.5%{box-shadow:var(--shadow-depth-8-focused)}62.5%,72.5%{box-shadow:var(--shadow-depth-8-focused);animation-timing-function:ease-out}100%{box-shadow:none}}@media (prefers-reduced-motion){@keyframes highlight-field-shadow{0%,25%{box-shadow:var(--shadow-depth-8-focused);animation-timing-function:ease-out}100%{box-shadow:none}}}`;
46175
46340
 
46176
46341
  var __rest = (undefined && undefined.__rest) || function (s, e) {
@@ -46185,6 +46350,15 @@ var __rest = (undefined && undefined.__rest) || function (s, e) {
46185
46350
  }
46186
46351
  return t;
46187
46352
  };
46353
+ // `@rjsf/core` v6 treats a `const` inside `oneOf`/`anyOf` as a default and
46354
+ // auto-selects the first option, so an optional enum can never be left empty
46355
+ // (clearing it just gets repopulated on the next render). `skipOneOf` keeps this
46356
+ // off for enums while still applying genuine `default` values, matching the
46357
+ // pre-v6 behavior.
46358
+ const FILL_DEFAULTS = {
46359
+ constAsDefaults: 'skipOneOf',
46360
+ requiredBooleanDefault: 'skip',
46361
+ };
46188
46362
  const Form = class {
46189
46363
  constructor(hostRef) {
46190
46364
  registerInstance(this, hostRef);
@@ -46216,17 +46390,41 @@ const Form = class {
46216
46390
  * which keeps untouched required-empty fields silent.
46217
46391
  */
46218
46392
  this.revealErrors = false;
46393
+ /**
46394
+ * Set to `false` to leave the defaults of the schema out of the value,
46395
+ * so that it stays as it was given until the user changes something. The
46396
+ * form still shows the defaults. A default the user changes is in the
46397
+ * value from then on, and so are the defaults that a change brings in,
46398
+ * such as those of a new list item or of fields that depend on the
46399
+ * changed one. Pass the value the form emits back in as `value`.
46400
+ * The form validates what it shows, defaults included. When the user
46401
+ * changes everything back, the value is what the form was given, also
46402
+ * when that is `null` or `undefined`.
46403
+ */
46404
+ this.includeDefaults = true;
46219
46405
  this.isValid = true;
46406
+ // Their value is still the last valid one, so the schema can't tell.
46407
+ this.invalidInputErrors = new Map();
46220
46408
  this.initialized = false;
46221
46409
  this.handleChange = this.handleChange.bind(this);
46222
46410
  this.getCustomErrorMessages = this.getCustomErrorMessages.bind(this);
46411
+ this.setInvalidInput = this.setInvalidInput.bind(this);
46223
46412
  }
46224
46413
  connectedCallback() {
46225
46414
  this.initialize();
46226
46415
  }
46227
46416
  componentWillLoad() {
46417
+ this.currentValue = this.value;
46228
46418
  this.warnIfHeadingLevelIsInvalid();
46229
46419
  }
46420
+ handleValueChange() {
46421
+ // The host usually hands back the value the form emitted, as a new
46422
+ // object, which is not a new value to leave the defaults out of
46423
+ if (!isEqual(this.value, this.currentValue)) {
46424
+ this.givenValue = undefined;
46425
+ }
46426
+ this.currentValue = this.value;
46427
+ }
46230
46428
  componentDidLoad() {
46231
46429
  this.initialize();
46232
46430
  this.showHighlightedField();
@@ -46268,7 +46466,7 @@ const Form = class {
46268
46466
  this.initialized = false;
46269
46467
  }
46270
46468
  render() {
46271
- return h$1("div", { key: '549ba8cd825aadedc4ec9e696f6d03bee028cb89', class: "root" });
46469
+ return h$1("div", { key: 'c6f8c1df8165c5ac23b133a369ebb0f58563d74f', class: "root" });
46272
46470
  }
46273
46471
  reactRender() {
46274
46472
  if (!this.root) {
@@ -46281,21 +46479,12 @@ const Form = class {
46281
46479
  : 1,
46282
46480
  }, React.createElement(Form$1, {
46283
46481
  schema: this.prepareSchema(this.schema),
46284
- formData: this.value,
46482
+ formData: this.currentValue,
46285
46483
  onChange: this.handleChange,
46286
46484
  widgets: widgets,
46287
46485
  validator: rjsfValidator,
46288
46486
  liveValidate: 'onChange',
46289
- // `@rjsf/core` v6 treats a `const` inside `oneOf`/`anyOf`
46290
- // as a default and auto-selects the first option, so an
46291
- // optional enum can never be left empty (clearing it just
46292
- // gets repopulated on the next render). `skipOneOf` keeps
46293
- // this off for enums while still applying genuine
46294
- // `default` values, matching the pre-v6 behavior.
46295
- experimental_defaultFormStateBehavior: {
46296
- constAsDefaults: 'skipOneOf',
46297
- requiredBooleanDefault: 'skip',
46298
- },
46487
+ experimental_defaultFormStateBehavior: FILL_DEFAULTS,
46299
46488
  showErrorList: false,
46300
46489
  extraErrors: this.getExtraErrors(this.errors),
46301
46490
  templates: {
@@ -46311,6 +46500,7 @@ const Form = class {
46311
46500
  rootValue: this.value,
46312
46501
  propsFactory: this.propsFactory,
46313
46502
  revealErrors: this.revealErrors,
46503
+ setInvalidInput: this.setInvalidInput,
46314
46504
  },
46315
46505
  fields: {
46316
46506
  SchemaField: SchemaField,
@@ -46329,11 +46519,42 @@ const Form = class {
46329
46519
  return this.host.shadowRoot.querySelector('.root');
46330
46520
  }
46331
46521
  handleChange(event) {
46332
- this.change.emit(event.formData);
46522
+ if (this.includeDefaults) {
46523
+ this.currentValue = event.formData;
46524
+ this.change.emit(event.formData);
46525
+ return;
46526
+ }
46527
+ const { given, filled } = this.getGivenValue();
46528
+ this.givenValue.held = event.formData;
46529
+ const value = withoutFilledDefaults(event.formData, filled, given);
46530
+ if (isEqual(value, this.currentValue)) {
46531
+ // What the form holds changed, even though the value did not
46532
+ this.emitValidationStatus(event.errors);
46533
+ return;
46534
+ }
46535
+ this.currentValue = value;
46536
+ this.change.emit(this.currentValue);
46333
46537
  }
46334
- validateFormData() {
46538
+ getGivenValue() {
46335
46539
  var _a;
46336
- const { errors } = rjsfValidator.validateFormData((_a = this.value) !== null && _a !== void 0 ? _a : {}, this.prepareSchema(this.schema));
46540
+ const schema = this.prepareSchema(this.schema);
46541
+ if (((_a = this.givenValue) === null || _a === void 0 ? void 0 : _a.schemaId) !== schema.$id) {
46542
+ const filled = getDefaultFormState(rjsfValidator, schema, this.currentValue, schema, false, FILL_DEFAULTS);
46543
+ this.givenValue = {
46544
+ schemaId: schema.$id,
46545
+ given: this.currentValue,
46546
+ filled,
46547
+ held: filled,
46548
+ };
46549
+ }
46550
+ return this.givenValue;
46551
+ }
46552
+ validateFormData() {
46553
+ // With the defaults left out of the value, the form holds more than it
46554
+ const value = this.includeDefaults
46555
+ ? this.value
46556
+ : this.getGivenValue().held;
46557
+ const { errors } = rjsfValidator.validateFormData(value !== null && value !== void 0 ? value : {}, this.prepareSchema(this.schema));
46337
46558
  this.emitValidationStatus(errors);
46338
46559
  }
46339
46560
  /**
@@ -46361,12 +46582,35 @@ const Form = class {
46361
46582
  const contentId = (fingerprint >>> 0).toString(36);
46362
46583
  return Object.assign(Object.assign({}, schema), { $id: $id ? `${$id}-${contentId}` : contentId });
46363
46584
  }
46585
+ setInvalidInput(path, message) {
46586
+ var _a;
46587
+ const property = `.${path.join('.')}`;
46588
+ const current = this.invalidInputErrors.get(property);
46589
+ if (((_a = current === null || current === void 0 ? void 0 : current.message) !== null && _a !== void 0 ? _a : null) === message) {
46590
+ return;
46591
+ }
46592
+ if (message === null) {
46593
+ this.invalidInputErrors.delete(property);
46594
+ }
46595
+ else {
46596
+ this.invalidInputErrors.set(property, {
46597
+ name: 'invalidInput',
46598
+ property: property,
46599
+ message: message,
46600
+ schemaPath: '',
46601
+ });
46602
+ }
46603
+ this.validateFormData();
46604
+ }
46364
46605
  hasExtraErrors() {
46365
46606
  return !!this.errors && Object.keys(this.errors).length > 0;
46366
46607
  }
46367
46608
  emitValidationStatus(errors) {
46368
- const valid = (!errors || errors.length === 0) && !this.hasExtraErrors();
46369
- const formErrors = this.mapErrors(errors !== null && errors !== void 0 ? errors : []);
46609
+ const formErrors = [
46610
+ ...this.mapErrors(errors !== null && errors !== void 0 ? errors : []),
46611
+ ...this.invalidInputErrors.values(),
46612
+ ];
46613
+ const valid = formErrors.length === 0 && !this.hasExtraErrors();
46370
46614
  const status = { valid: valid, errors: formErrors };
46371
46615
  if (this.isValid !== valid || !valid) {
46372
46616
  this.validate.emit(status);
@@ -46411,6 +46655,9 @@ const Form = class {
46411
46655
  }
46412
46656
  get host() { return getElement(this); }
46413
46657
  static get watchers() { return {
46658
+ "value": [{
46659
+ "handleValueChange": 0
46660
+ }],
46414
46661
  "headingLevel": [{
46415
46662
  "handleHeadingLevelChange": 0
46416
46663
  }],
@@ -10,7 +10,7 @@ const Grid = class {
10
10
  console.warn('limel-grid is deprecated, please use CSS instead: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout');
11
11
  }
12
12
  render() {
13
- return h("slot", { key: 'c1e2b8ee2a681748256f6a0d7cd6db7aec27872e' });
13
+ return h("slot", { key: 'c4db2bee4485745f79636e4a3a2f04fa603af9b8' });
14
14
  }
15
15
  };
16
16
  Grid.style = gridCss();
@@ -13,7 +13,7 @@ const Header = class {
13
13
  this.subheadingDivider = '·';
14
14
  }
15
15
  render() {
16
- return (h(Host, { key: '25d008daf81297376579028f9116d4f78580e029' }, h("div", { key: '9bb06b9d428bcc709ef6a2cbfc5e7811b35d2c5e', class: "information" }, this.renderIcon(), h("div", { key: '417dcd90bbe18770eb25f69d3c614752571868b1', class: "headings" }, h("h1", { key: '591449da7543a5f708729bdda5ea231dfa9d4e17', class: "heading", title: this.heading }, this.heading), h("h2", { key: '8696119afe92d304fc03fa5d6b092419029bc052', class: "subheading", title: this.subheading }, this.subheading, this.renderSupportingText()))), h("slot", { key: '4903a0c675afa7371943f2b007d7367649eb473a', name: "actions" }, h("slot", { key: '009934d3d4ae2ff2932754e452bfb714506f9e66' }))));
16
+ return (h(Host, { key: '35935910757d74259ce3a286922ee0d35aad1ec9' }, h("div", { key: 'bd95cc50ec22e4881d3254aebec9143e6bb2a634', class: "information" }, this.renderIcon(), h("div", { key: '54a84e428595f989548855559cf71172264301ba', class: "headings" }, h("h1", { key: '99ccc155b7fa5a00a63f9c2a9caa0918ef33dc13', class: "heading", title: this.heading }, this.heading), h("h2", { key: 'cc06e5bac3f36daad46d8335bb8ee80ef7bb27e0', class: "subheading", title: this.subheading }, this.subheading, this.renderSupportingText()))), h("slot", { key: '2e94d276dcbe7404d4f618125763b5b1e5ff47ef', name: "actions" }, h("slot", { key: '6a5f81a642323a7c6bc8839f5ee8e3c6f11f905b' }))));
17
17
  }
18
18
  renderIcon() {
19
19
  var _a, _b, _c, _d, _e;
@@ -24,9 +24,9 @@ const HelpComponent = class {
24
24
  };
25
25
  }
26
26
  render() {
27
- return (h(Host, { key: '9f166e16ef9ddfd552bcf9bde262ca84e4b31399' }, h("limel-popover", { key: 'f0bf20043acb1ac323fcc01e6f9d64d8481b9382', open: this.isOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("button", { key: 'c3a62e9d9f82cc16dfb4aa39a711397b0f91def1', slot: "trigger", type: "button", onClick: this.openPopover, class: {
27
+ return (h(Host, { key: '0456a88ddfbe21f501bb58fd0792eaeb39ad3962' }, h("limel-popover", { key: 'db4fd15af11578c40ae6ed4e39f9931bea14d457', open: this.isOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, h("button", { key: '0e530613dcf6c02e879a4a1ae52e1e24403ef30d', slot: "trigger", type: "button", onClick: this.openPopover, class: {
28
28
  'is-open': this.isOpen,
29
- } }, this.trigger), h("limel-help-content", { key: '75edc59e9c5a2557c9766165e52f6aa1b5baee49', value: this.value, readMoreLink: this.readMoreLink }))));
29
+ } }, this.trigger), h("limel-help-content", { key: '64d119e480cb64cbdeab156787dddc6f36e1368e', value: this.value, readMoreLink: this.readMoreLink }))));
30
30
  }
31
31
  };
32
32
  HelpComponent.style = helpCss();
@@ -45,7 +45,7 @@ const HelpContent = class {
45
45
  };
46
46
  }
47
47
  render() {
48
- return (h(Host, { key: 'd0f448293f17fbd80e5c8b0b26aa32d58af1d5ac' }, h("limel-markdown", { key: 'b69b41f86e1c362c3d12c50d24c579bf9d5a434d', value: this.value }), this.renderReadMoreLink()));
48
+ return (h(Host, { key: '213707af11bc0757a2b50652aeaf4f8869a8dd7c' }, h("limel-markdown", { key: 'f0f0ee7a087a8705ebb7fa463bf7f0d5f1abb207', value: this.value }), this.renderReadMoreLink()));
49
49
  }
50
50
  };
51
51
  HelpContent.style = limelHelpContentCss();
@@ -32,9 +32,9 @@ const HelperLine = class {
32
32
  };
33
33
  }
34
34
  render() {
35
- return (h(Host, { key: 'e42ca019869a7b4b47d93c4f402bdbf3b99b37cf', tabIndex: -1, class: {
35
+ return (h(Host, { key: '5bc750e2c8c7bce88fd9fc6f2ec4f27133ad5ed7', tabIndex: -1, class: {
36
36
  invalid: this.invalid,
37
- }, style: this.hasContent() ? {} : { display: 'none' }, "aria-hidden": !this.hasContent() }, h("div", { key: '3db5b20efaa64d9a20b6da5c711d2fb64393143a' }, this.renderHelperText(), this.renderCharacterCounter())));
37
+ }, style: this.hasContent() ? {} : { display: 'none' }, "aria-hidden": !this.hasContent() }, h("div", { key: '7bc84f9c6ae3ac8de904c56a97497f8f427583f4' }, this.renderHelperText(), this.renderCharacterCounter())));
38
38
  }
39
39
  };
40
40
  HelperLine.style = helperLineCss();
@@ -323,7 +323,7 @@ const List = class {
323
323
  maxLinesSecondaryText = 1;
324
324
  }
325
325
  const html = this.listRenderer.render(this.items, this.config);
326
- return (h(Host, { key: 'e6619c70eab882e1a9ed482098a7f1ed673c74a1', style: {
326
+ return (h(Host, { key: '2ff544c93286e06ac298eb1cc8fa2567c360fc7a', style: {
327
327
  '--maxLinesSecondaryText': `${maxLinesSecondaryText}`,
328
328
  } }, html));
329
329
  }
@@ -419,7 +419,7 @@ const NotchedOutline = class {
419
419
  this.hasFloatingLabel = false;
420
420
  }
421
421
  render() {
422
- return (h("div", { key: 'ade07e3a9e2a63f0037f46fdbd01f866936c55ed', class: "limel-notched-outline" }, h("slot", { key: '1d7619696aa3c80b17390df8b5bc96591cb0fe36', name: "content" }), h("span", { key: 'a791e6757ff14e7bb2c2a3f833f9877922eebd51', class: "limel-notched-outline--outlines", "aria-hidden": "true" }, h("span", { key: '623d2d85813b66a3b0a2e33bbbf3cdd51b3505e0', class: "limel-notched-outline--leading-outline" }), this.renderLabel(), h("span", { key: 'd5b0c6c6e7a7d5a15fc8795e3126fe3b115019ee', class: "limel-notched-outline--trailing-outline" }), this.renderEmptyReadonlyValue())));
422
+ return (h("div", { key: '8ca3a2622aa918101d5d78f94c9d279276dbba10', class: "limel-notched-outline" }, h("slot", { key: '508f8fb8cc48ba667ad250acae46ff2f4c25ef42', name: "content" }), h("span", { key: 'a071aa9212705b001e52e055d61f1be42a10ae69', class: "limel-notched-outline--outlines", "aria-hidden": "true" }, h("span", { key: 'ee1602e3637cbbba489b8b5be5bf65f6352738c5', class: "limel-notched-outline--leading-outline" }), this.renderLabel(), h("span", { key: '1517c575f1c4299a5a2d636e0e456b24f939d418', class: "limel-notched-outline--trailing-outline" }), this.renderEmptyReadonlyValue())));
423
423
  }
424
424
  renderLabel() {
425
425
  if (!this.label) {
@@ -130,7 +130,7 @@ const Hotkey = class {
130
130
  const parts = tokenizeHotkeyString(this.value);
131
131
  const displayParts = parts.map((part) => formatDisplayToken(part, this.isApple));
132
132
  const ariaLabel = getHotkeyAriaLabel(this.value, this.isApple);
133
- return (h(Host, { key: '0cf81f7754511dce0358be8ba428e047e6bf6ab5', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index) => (h("kbd", { key: `${parts[index]}-${index}`, class: isGlyph ? 'is-glyph' : undefined }, h("span", null, display))))));
133
+ return (h(Host, { key: 'bf8ed107c45987511194dc5b44e9c414f690f66d', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index) => (h("kbd", { key: `${parts[index]}-${index}`, class: isGlyph ? 'is-glyph' : undefined }, h("span", null, display))))));
134
134
  }
135
135
  };
136
136
  Hotkey.style = hotkeyCss();
@@ -2002,7 +2002,7 @@ const Portal = class {
2002
2002
  this.showContainer();
2003
2003
  }
2004
2004
  render() {
2005
- return h("slot", { key: '37784f868a6be293c052c90eaa87b40f97717694' });
2005
+ return h("slot", { key: '3a994ee9948057d3f461ef78d0b2487673044b98' });
2006
2006
  }
2007
2007
  onVisible() {
2008
2008
  if (!this.container && this.visible) {
@@ -2418,10 +2418,10 @@ const Tooltip = class {
2418
2418
  }
2419
2419
  render() {
2420
2420
  const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
2421
- return (h("div", { key: '9b893c590d0626f4e7c88f97f14e9c87cb1520d7', class: "trigger-anchor" }, h("limel-portal", { key: 'de7ee98705df289e59a034f49daf33823ab6aa86', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
2421
+ return (h("div", { key: 'dd68f46eecdfe23830fcdc273982e71dd832b6a2', class: "trigger-anchor" }, h("limel-portal", { key: 'c3ec9406b04edeace41d7f5c05cc89a720005297', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
2422
2422
  'z-index': tooltipZIndex,
2423
2423
  'pointer-events': 'none',
2424
- }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: '83ae108e4c32627527c9962a3f82a2b77ecda873', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open }))));
2424
+ }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: '2b8cbf20f7956046939099869fa6d1ac5025ad6a', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open }))));
2425
2425
  }
2426
2426
  async updateDescription() {
2427
2427
  if (!this.ownerElement) {
@@ -2493,7 +2493,7 @@ const TooltipContent = class {
2493
2493
  const style = this.maxlength
2494
2494
  ? { '--tooltip-max-width-of-text': `${this.maxlength}ch` }
2495
2495
  : undefined;
2496
- return (h(Host, { key: '05369a8209c96b17763eaa4074c82543f96cd908', class: { 'has-column-layout': isLabelsTextLong }, style: style }, h("div", { key: '1bfac9e319921070cc262a74347b9280de12e025', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
2496
+ return (h(Host, { key: 'e471ae2dbb5e94f737fb8a9e3946b5528f1d58d7', class: { 'has-column-layout': isLabelsTextLong }, style: style }, h("div", { key: '61ddd956c8f7c1e9b765c13ce55d3f1219ca9957', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
2497
2497
  }
2498
2498
  renderHelperLabel() {
2499
2499
  if (!this.helperLabel) {
@@ -47,7 +47,7 @@ const IconButton = class {
47
47
  if (this.host.hasAttribute('tabindex')) {
48
48
  buttonAttributes.tabindex = this.host.getAttribute('tabindex');
49
49
  }
50
- return (h(Host, { key: '24e71b62ab7e2d038ecc9c8982ffad932ecf89c0', onClick: this.filterClickWhenDisabled }, h("button", Object.assign({ key: '435485320ca03a49d4ecce7e45d641e53ccbd107', "aria-label": this.label, disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
50
+ return (h(Host, { key: 'a75232fbdba624fceddf7d7846cb6a5a8b33532a', onClick: this.filterClickWhenDisabled }, h("button", Object.assign({ key: 'd74d4073e4e7147adfa478f699e1269fb72e1718', "aria-label": this.label, disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
51
51
  }
52
52
  renderIcon() {
53
53
  var _a, _b;
@@ -184,7 +184,7 @@ const Icon = class {
184
184
  this.loadIcon(this.name);
185
185
  }
186
186
  render() {
187
- return h("div", { key: '154a32782255d3b6870d1ea67bdf8e8906655c9a', class: "container" });
187
+ return h("div", { key: '4ba343ef7bc8cfb1c035c3c947388954d9218b3f', class: "container" });
188
188
  }
189
189
  updateAccessibility() {
190
190
  if (!this.internals) {
@@ -114,9 +114,9 @@ const InfoTile = class {
114
114
  this.checkProps((_d = this === null || this === void 0 ? void 0 : this.link) === null || _d === void 0 ? void 0 : _d.title);
115
115
  const link = this.disabled ? '#' : (_e = this.link) === null || _e === void 0 ? void 0 : _e.href;
116
116
  const rel = getRel((_f = this.link) === null || _f === void 0 ? void 0 : _f.target, (_g = this.link) === null || _g === void 0 ? void 0 : _g.rel);
117
- return (h(Host, { key: '2d5b3fb9509298316af814acac20bbb1f6c22f85', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, class: { 'has-primary-slot-content': this.hasPrimarySlot } }, h("a", { key: '2ce2856cca107671b539b5b462af04c3a9536a39', title: (_h = this.link) === null || _h === void 0 ? void 0 : _h.title, href: link, target: (_j = this.link) === null || _j === void 0 ? void 0 : _j.target, rel: rel, tabindex: "0", "aria-label": extendedAriaLabel, "aria-disabled": this.disabled, "aria-busy": this.loading ? 'true' : 'false', "aria-live": "polite", class: {
117
+ return (h(Host, { key: '071f39e5edf3e116952c3a6c9b639298c90c6f4f', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, class: { 'has-primary-slot-content': this.hasPrimarySlot } }, h("a", { key: '4e13663d26cefa33182920351c08a3006bf41b75', title: (_h = this.link) === null || _h === void 0 ? void 0 : _h.title, href: link, target: (_j = this.link) === null || _j === void 0 ? void 0 : _j.target, rel: rel, tabindex: "0", "aria-label": extendedAriaLabel, "aria-disabled": this.disabled, "aria-busy": this.loading ? 'true' : 'false', "aria-live": "polite", class: {
118
118
  'is-clickable': !!((_k = this.link) === null || _k === void 0 ? void 0 : _k.href) && !this.disabled,
119
- } }, this.renderIcon(), this.renderProgress(), h("slot", { key: '8cf1cdd2c841a3c30512b390748ec7af9ccaaa06', name: "primary", onSlotchange: this.updateHasPrimarySlotContent }), h("div", { key: '4b999b693dd6e882370006edfede8a54488a2873', class: "value-group" }, this.renderPrefix(), h("div", { key: '5b06443fe1171e158f78cadb11291501507e16bc', class: "value-and-suffix" }, this.renderValue(), this.renderSuffix()), this.renderSpinner()), this.renderLabel(), h("limel-3d-hover-effect-glow", { key: '18c6b6dd3bdaacce430ddd4e2f7dbc65e400b3d0' })), this.renderNotification()));
119
+ } }, this.renderIcon(), this.renderProgress(), h("slot", { key: '8f05aca2443b71bd1fce49ace715afbaaa440282', name: "primary", onSlotchange: this.updateHasPrimarySlotContent }), h("div", { key: '1f8b0f1e1199a9908a3613ab18a7cbfc421c58c6', class: "value-group" }, this.renderPrefix(), h("div", { key: 'b98294d9c40828fd6d5a177f5532022168b09b9b', class: "value-and-suffix" }, this.renderValue(), this.renderSuffix()), this.renderSpinner()), this.renderLabel(), h("limel-3d-hover-effect-glow", { key: 'e26ed5c63e3aa37b8c3d427487c2836e5d66b346' })), this.renderNotification()));
120
120
  }
121
121
  checkProps(propValue) {
122
122
  return propValue ? propValue + ' ' : '';
@@ -3,9 +3,8 @@ import { g as getIconName } from './get-icon-props-CgNJbSP4.js';
3
3
  import { c as createRandomString } from './random-string-BrjD-ITe.js';
4
4
  import { r as renderListComponent } from './render-list-component-J1IzNpbv.js';
5
5
  import { C as CheckboxTemplate } from './checkbox.template-CAja2LKZ.js';
6
- import { t as translations } from './translations-D9ZGrMhe.js';
6
+ import { t as translations } from './translations--i932i_D.js';
7
7
  import { I as ImageTemplate } from './image.template-BGjw97m_.js';
8
- import './language-VamkUr90.js';
9
8
 
10
9
  const listItemCss = () => `@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}.boolean-input{--limel-boolean-input-box-size:1.25rem;--limel-boolean-input-gap-size:0.5rem;position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--limel-checkbox-min-height, 2.5rem);width:100%}.boolean-input input[type=checkbox],.boolean-input input[type=radio]{position:absolute;width:0;height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}label.boolean-input-label{min-width:var(--limel-boolean-input-box-size);min-height:var(--limel-boolean-input-box-size);padding-top:0.125rem;cursor:pointer;position:relative;width:100%;overflow-wrap:var(--limel-boolean-input-label-overflow-wrap, normal);font-size:var(--limel-theme-default-small-font-size);color:var(--limel-theme-text-primary-on-background-color);padding-left:calc(var(--limel-boolean-input-box-size) + var(--limel-boolean-input-gap-size))}.disabled:not([readonly]):not([readonly=true]) label.boolean-input-label{cursor:not-allowed;color:var(--limel-theme-text-disabled-color)}.required label.boolean-input-label:after{margin-left:0.0625rem;content:"*"}.invalid:not(.readonly) label.boolean-input-label{color:var(--limel-theme-error-text-color)}:host(limel-checkbox.hide-label) label.boolean-input-label,.hide-label label.boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}.box{position:absolute;pointer-events:none;transition:border-color 0.4s ease 0.2s, background-color 0.2s ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease;display:inline-block;vertical-align:middle;width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);margin-right:var(--limel-boolean-input-gap-size);border-radius:var(--limel-boolean-input-box-border-radius);border:0.125rem solid;border-color:var(--checkbox-unchecked-border-color, rgb(var(--contrast-900)));background-color:var(--limel-checkbox-background-color, rgb(var(--contrast-300)));}.checked .box,.boolean-input>input[type=checkbox]:checked+.box,.boolean-input>input[type=radio]:checked+.box{background-color:var(--lime-primary-color, var(--limel-theme-primary-color));border-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.disabled .box{opacity:0.4}.box{}.boolean-input:not(.disabled):hover .box{will-change:box-shadow;box-shadow:var(--button-shadow-hovered)}.boolean-input:not(.disabled):active .box{will-change:box-shadow;box-shadow:var(--button-shadow-pressed)}.box:before{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);content:"";position:absolute;inset:-0.1875rem;border-radius:inherit;}.boolean-input>input[type=checkbox]:focus-visible+.box:before,.boolean-input>input[type=radio]:focus-visible+.box:before{will-change:box-shadow;box-shadow:var(--shadow-depth-8-focused)}.box:after{transition:opacity 0.2s ease, width 0.4s ease, box-shadow 0.6s cubic-bezier(0.68, -0.55, 0, 1.87), transform 0.6s cubic-bezier(0.68, -0.55, 0, 1.87);content:"";position:absolute;inset:0;margin:auto;border-radius:1rem;opacity:0;background-color:rgb(var(--color-white));}.boolean-input:not(.disabled):hover .box:after{will-change:opacity, box-shadow, transform, width}:host(limel-checkbox){--limel-boolean-input-label-overflow-wrap:var( --checkbox-label-overflow-wrap, normal );min-height:var(--limel-checkbox-min-height, 2.5rem)}.box:after{height:0.125rem;width:0.25rem}.indeterminate .box:after{opacity:1;width:calc(var(--limel-boolean-input-box-size) - 0.5rem)}.checkbox{--limel-boolean-input-box-border-radius:0.25rem}.checkbox svg.check-mark{position:absolute;z-index:1;inset:0;transform:translate3d(-0.125rem, -0.125rem, 0);width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);padding:0.25rem;color:rgb(var(--color-white));opacity:0;stroke-width:0.1875rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.checkbox svg.check-mark path{stroke-dashoffset:29.7833;stroke-dasharray:29.7833;transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1)}.checkbox{}.checkbox:not(.indeterminate)>input[type=checkbox]:checked+.box svg.check-mark{opacity:1}.checkbox:not(.indeterminate)>input[type=checkbox]:checked+.box svg.check-mark path{stroke-dashoffset:0}limel-dynamic-label{margin-top:0.375rem;margin-left:-0.25rem}:host(limel-checkbox:focus),:host(limel-checkbox:focus-visible),:host(limel-checkbox:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-checkbox){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-checkbox:focus) limel-helper-line,:host(limel-checkbox:focus-visible) limel-helper-line,:host(limel-checkbox:focus-within) limel-helper-line,:host(limel-checkbox:hover) limel-helper-line{will-change:grid-template-rows}*,*:before,*:after{box-sizing:border-box}limel-list-item{--limel-list-item-image-size:2rem;min-height:2.5rem}limel-list-item:focus{outline:none}limel-list-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limel-list-item{transition:background-color 0.6s ease;position:relative;isolation:isolate;display:flex;align-items:center;gap:0.5rem;padding:0 1rem;background-color:rgb(var(--contrast-100))}limel-list-item:hover{z-index:1;transition:background-color 0.2s ease;border-radius:0.5rem}limel-list-item:focus,limel-list-item:focus-visible,limel-list-item:active{z-index:1;border-radius:0.5rem}limel-list-item:first-of-type{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}limel-list-item:last-of-type{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}limel-list-item:not([disabled]):not([disabled=true]){cursor:pointer}limel-list-item[disabled]:not([disabled=false]){cursor:not-allowed}limel-list-item[disabled]:not([disabled=false]){cursor:not-allowed}limel-list-item[disabled]:not([disabled=false]) .text,limel-list-item[disabled]:not([disabled=false]) limel-icon,limel-list-item[disabled]:not([disabled=false]) img,limel-list-item[disabled]:not([disabled=false]) .boolean-input{opacity:0.4}limel-list-item:not([disabled]):not([disabled=true]):hover,limel-list-item:not([disabled]):not([disabled=true]):focus-visible{background-color:rgb(var(--contrast-400))}limel-list-item[type=option]:before{transition:background-color 0.6s ease;content:"";position:absolute;inset:0;opacity:0.2;border-radius:0.5rem}limel-list-item[type=option][selected]:not([selected=false]):before{transition:background-color 0.2s ease;background-color:var(--mdc-theme-primary)}limel-list-item .text{flex-grow:1;min-width:0;display:flex;flex-direction:column;padding:0.5rem 0;color:var(--limel-theme-text-primary-on-background-color)}limel-list-item .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--limel-theme-default-font-size);line-height:1rem}limel-list-item .description{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:var(--maxLinesSecondaryText);line-height:1rem;font-size:var(--limel-theme-default-small-font-size);opacity:0.6}limel-list-item limel-icon{color:var(--limel-theme-text-secondary-on-background-color);flex-shrink:0;margin-left:-0.5rem}limel-list-item limel-icon:has(+img){margin-left:0;position:absolute;top:0.125rem;left:0.125rem;padding:0.1875rem;width:1.25rem;background-color:rgb(var(--contrast-200), 0.8)}limel-list-item img{flex-shrink:0;object-fit:var(--list-item-image-object-fit, cover);border-radius:var(--list-item-image-border-radius, 50%);width:var(--limel-list-item-image-size);height:var(--limel-list-item-image-size);box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.5)}limel-list-item limel-menu{margin-right:-0.5rem;order:var(--limel-list-item-menu-order, 3)}:has(>limel-list-item>img)>limel-list-item:not(:has(>img))>limel-icon{margin-left:0;min-width:var(--limel-list-item-image-size);max-width:var(--limel-list-item-image-size);min-height:var(--limel-list-item-image-size);max-height:var(--limel-list-item-image-size);box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.5)}:has(>limel-list-item>img)>limel-list-item:not(:has(>img))>limel-icon:not([badge]){padding:0.25rem}limel-list-item[role=menuitem] limel-list-item .label{font-size:var(--limel-theme-default-small-font-size)}.boolean-input,limel-radio-button{width:var(--limel-boolean-input-box-size) !important;margin-left:-0.25rem !important}.boolean-input.checkbox{margin-right:0.25rem}limel-list-item:has(limel-icon) .boolean-input,limel-list-item:has(img) .boolean-input{margin-right:-0.25rem;margin-left:0;order:2}.boolean-input .boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}`;
11
10
 
@@ -129,9 +128,9 @@ const ListItemComponent = class {
129
128
  // also keep for `menuitem` for visual state consistency
130
129
  ariaProps['aria-selected'] = this.selected ? 'true' : 'false';
131
130
  }
132
- return (h(Host, Object.assign({ key: 'fc4d7eab0b57e21d39c7d4fcc5ec7678a4e9662f', role: this.getHostRole(), class: {
131
+ return (h(Host, Object.assign({ key: '023c6ebda746cc74c85a7430fe29f321d52409f1', role: this.getHostRole(), class: {
133
132
  'has-primary-component': !!((_a = this.primaryComponent) === null || _a === void 0 ? void 0 : _a.name),
134
- } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: 'bf56c25af2a5f6c0e7ed7ea7b5cd6952888efb61', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
133
+ } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: 'b7812dba6249c1bd119524457c92f37a0f64f897', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
135
134
  }
136
135
  /**
137
136
  * Returns a stable reference for the provided actions array to avoid
@@ -1191,7 +1191,7 @@ const Markdown = class {
1191
1191
  this.cleanupImageIntersectionObserver();
1192
1192
  }
1193
1193
  render() {
1194
- return (h(Host, { key: '847bffc9b7fa4fbec42b705d3019c635d88fb6c6' }, h("div", { key: 'cd84ef0919fc4b2b80090de836366b317e60e51a', id: "markdown", ref: (el) => (this.rootElement = el) })));
1194
+ return (h(Host, { key: 'f51d4ce2bc5997174b764ceedafdb8bd41351945' }, h("div", { key: 'a16ca446fd14455d86417fd6d5eec9a6aa8d365b', id: "markdown", ref: (el) => (this.rootElement = el) })));
1195
1195
  }
1196
1196
  setupImageIntersectionObserver() {
1197
1197
  if (this.lazyLoadImages) {