@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
@@ -45165,6 +45165,21 @@ class LimeElementsWidgetAdapter extends React.Component {
45165
45165
  }
45166
45166
  LimeElementsWidgetAdapter.contextType = RowLayoutContext;
45167
45167
 
45168
+ /**
45169
+ * Listens for `invalidInput` from the element or from inside it, such as
45170
+ * a `limel-date-picker` in a custom component's shadow root.
45171
+ * @param element - the field's element
45172
+ * @param report - called with each message
45173
+ * @returns a function that stops listening
45174
+ */
45175
+ function listenForInvalidInput(element, report) {
45176
+ const listener = (event) => {
45177
+ report(event.detail);
45178
+ };
45179
+ element.addEventListener('invalidInput', listener);
45180
+ return () => element.removeEventListener('invalidInput', listener);
45181
+ }
45182
+
45168
45183
  var __rest$3 = (undefined && undefined.__rest) || function (s, e) {
45169
45184
  var t = {};
45170
45185
  for (var p in s)
@@ -45184,6 +45199,7 @@ class DatePicker extends React.Component {
45184
45199
  this.state = {
45185
45200
  modified: false,
45186
45201
  };
45202
+ 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); });
45187
45203
  this.handleChange = this.handleChange.bind(this);
45188
45204
  }
45189
45205
  render() {
@@ -45196,7 +45212,7 @@ class DatePicker extends React.Component {
45196
45212
  change: this.handleChange,
45197
45213
  },
45198
45214
  widgetProps: props,
45199
- 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),
45215
+ 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 }),
45200
45216
  });
45201
45217
  }
45202
45218
  getValue() {
@@ -45247,6 +45263,7 @@ const TimePicker = (_a) => {
45247
45263
  const timeStringPattern = /^\d\d:\d\d/;
45248
45264
 
45249
45265
  const { fields: defaultFields$2 } = getDefaultRegistry();
45266
+ const DATE_FORMATS = new Set(['date', 'date-time', 'time']);
45250
45267
  const BaseSchemaField = defaultFields$2.SchemaField;
45251
45268
  /**
45252
45269
  * If given a value and schema, check if the value should be translated
@@ -45325,10 +45342,23 @@ class SchemaField extends React.Component {
45325
45342
  this.state = {
45326
45343
  modified: false,
45327
45344
  };
45345
+ // The date picker never emits text it rejects, so the value stays valid
45346
+ // while the field shows an error.
45347
+ this.reportInvalidInput = (message) => {
45348
+ var _a, _b;
45349
+ const { registry, fieldPathId } = this.props;
45350
+ if (!fieldPathId) {
45351
+ return;
45352
+ }
45353
+ (_b = (_a = registry.formContext) === null || _a === void 0 ? void 0 : _a.setInvalidInput) === null || _b === void 0 ? void 0 : _b.call(_a, fieldPathId.path, message);
45354
+ };
45328
45355
  this.handleChange = this.handleChange.bind(this);
45329
45356
  this.handleCustomComponentChange =
45330
45357
  this.handleCustomComponentChange.bind(this);
45331
45358
  }
45359
+ componentWillUnmount() {
45360
+ this.reportInvalidInput(null);
45361
+ }
45332
45362
  isInvalid() {
45333
45363
  var _a;
45334
45364
  const { modified } = this.state;
@@ -45403,7 +45433,7 @@ class SchemaField extends React.Component {
45403
45433
  name: name,
45404
45434
  schemaPath: (_a = fieldPathId === null || fieldPathId === void 0 ? void 0 : fieldPathId.path) === null || _a === void 0 ? void 0 : _a.map(String),
45405
45435
  };
45406
- return () => { };
45436
+ return listenForInvalidInput(element, this.reportInvalidInput);
45407
45437
  } });
45408
45438
  }
45409
45439
  renderCustomComponent(props) {
@@ -45428,6 +45458,9 @@ class SchemaField extends React.Component {
45428
45458
  if (this.props.schema.format === 'time') {
45429
45459
  fieldProps.uiSchema = Object.assign({ 'ui:widget': TimePicker }, fieldProps.uiSchema);
45430
45460
  }
45461
+ if (DATE_FORMATS.has(this.props.schema.format)) {
45462
+ fieldProps.uiSchema = Object.assign(Object.assign({}, fieldProps.uiSchema), { 'ui:onInvalidInput': this.reportInvalidInput });
45463
+ }
45431
45464
  // Our text widget renders a native `<input type="number">` for numeric
45432
45465
  // schemas. `@rjsf/core` otherwise rewrites the value to the locale's
45433
45466
  // decimal separator, which such an input cannot display.
@@ -46173,6 +46206,138 @@ function nextFrame() {
46173
46206
  return new Promise((resolve) => requestAnimationFrame(() => resolve()));
46174
46207
  }
46175
46208
 
46209
+ /**
46210
+ * The value without the defaults that were filled into the value the form was
46211
+ * given, as long as they still hold their default. A default the user changed
46212
+ * stays, and so do the defaults of what the user added, such as a list item.
46213
+ *
46214
+ * @param value - the value the form holds, with the defaults filled in
46215
+ * @param filled - the value the form was given, with the defaults filled in
46216
+ * @param given - the value the form was given
46217
+ * @returns the value without the defaults that were filled in
46218
+ */
46219
+ function withoutFilledDefaults(value, filled, given) {
46220
+ // A change can bring in objects that hold nothing, which mean nothing
46221
+ if (isPlainObject$1(value)) {
46222
+ return withoutFilledProperties(value, isPlainObject$1(filled) ? filled : {}, given);
46223
+ }
46224
+ if (Array.isArray(value)) {
46225
+ return withoutFilledItems(value, Array.isArray(filled) ? filled : [], given);
46226
+ }
46227
+ return given === undefined && isEqual.isEqual(value, filled) ? undefined : value;
46228
+ }
46229
+ function withoutFilledProperties(value, filled, given) {
46230
+ const givenProperties = isPlainObject$1(given)
46231
+ ? given
46232
+ : {};
46233
+ // In the order they were given, so a saved value keeps its key order
46234
+ const keys = new Set([
46235
+ ...Object.keys(givenProperties),
46236
+ ...Object.keys(value),
46237
+ ]);
46238
+ const result = {};
46239
+ for (const key of keys) {
46240
+ if (!Object.hasOwn(value, key)) {
46241
+ continue;
46242
+ }
46243
+ const kept = withoutFilledDefaults(value[key], filled[key], givenProperties[key]);
46244
+ if (kept !== undefined) {
46245
+ result[key] = kept;
46246
+ }
46247
+ }
46248
+ return isEmpty.isEmpty(result) && given == null ? given : result;
46249
+ }
46250
+ // Items are paired with the ones the form was given by content, so a removed
46251
+ // or moved item does not shift the others onto the defaults of their
46252
+ // neighbors. An item that no longer equals any of them is paired with the one
46253
+ // it has the most in common with, so an edited item still loses its defaults
46254
+ function withoutFilledItems(items, filled, given) {
46255
+ // A list that was not given is a default as a whole: once the user
46256
+ // changes it, it is the user's
46257
+ if (!Array.isArray(given)) {
46258
+ return isEqual.isEqual(items, filled) ? given : items;
46259
+ }
46260
+ const givenItems = given;
46261
+ const matches = pairItems(items, filled);
46262
+ const result = [];
46263
+ for (const [index, item] of items.entries()) {
46264
+ const match = matches.get(index);
46265
+ if (match === undefined) {
46266
+ result.push(item);
46267
+ continue;
46268
+ }
46269
+ const kept = withoutFilledDefaults(item, filled[match], givenItems[match]);
46270
+ if (kept !== undefined) {
46271
+ result.push(kept);
46272
+ }
46273
+ }
46274
+ return result;
46275
+ }
46276
+ function pairItems(items, filled) {
46277
+ const matches = new Map();
46278
+ const unmatched = new Set(filled.keys());
46279
+ const pair = (index, match) => {
46280
+ matches.set(index, match);
46281
+ unmatched.delete(match);
46282
+ };
46283
+ for (const [index, item] of items.entries()) {
46284
+ if (unmatched.has(index) && isEqual.isEqual(item, filled[index])) {
46285
+ pair(index, index);
46286
+ }
46287
+ }
46288
+ for (const [index, item] of items.entries()) {
46289
+ if (matches.has(index)) {
46290
+ continue;
46291
+ }
46292
+ const same = [...unmatched].find((i) => isEqual.isEqual(item, filled[i]));
46293
+ if (same !== undefined) {
46294
+ pair(index, same);
46295
+ }
46296
+ }
46297
+ for (const [index, item] of items.entries()) {
46298
+ if (matches.has(index)) {
46299
+ continue;
46300
+ }
46301
+ const closest = findClosest(item, filled, unmatched);
46302
+ if (closest !== undefined) {
46303
+ pair(index, closest);
46304
+ }
46305
+ }
46306
+ return matches;
46307
+ }
46308
+ // The one item that shares the most equal properties, if it shares any at
46309
+ // all. When several share as many there is no telling which the item was, and
46310
+ // it is left as it is, since a kept default means the same as a missing one
46311
+ // while a lost value does not
46312
+ function findClosest(item, filled, candidates) {
46313
+ if (!isPlainObject$1(item)) {
46314
+ return undefined;
46315
+ }
46316
+ let closest;
46317
+ let best = 0;
46318
+ let isTied = false;
46319
+ for (const candidate of candidates) {
46320
+ const score = sharedProperties(item, filled[candidate]);
46321
+ if (score === best) {
46322
+ isTied = true;
46323
+ continue;
46324
+ }
46325
+ if (score < best) {
46326
+ continue;
46327
+ }
46328
+ best = score;
46329
+ closest = candidate;
46330
+ isTied = false;
46331
+ }
46332
+ return isTied ? undefined : closest;
46333
+ }
46334
+ function sharedProperties(item, other) {
46335
+ if (!isPlainObject$1(other)) {
46336
+ return 0;
46337
+ }
46338
+ return Object.entries(item).filter(([key, value]) => isEqual.isEqual(value, other[key])).length;
46339
+ }
46340
+
46176
46341
  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}}}`;
46177
46342
 
46178
46343
  var __rest = (undefined && undefined.__rest) || function (s, e) {
@@ -46187,6 +46352,15 @@ var __rest = (undefined && undefined.__rest) || function (s, e) {
46187
46352
  }
46188
46353
  return t;
46189
46354
  };
46355
+ // `@rjsf/core` v6 treats a `const` inside `oneOf`/`anyOf` as a default and
46356
+ // auto-selects the first option, so an optional enum can never be left empty
46357
+ // (clearing it just gets repopulated on the next render). `skipOneOf` keeps this
46358
+ // off for enums while still applying genuine `default` values, matching the
46359
+ // pre-v6 behavior.
46360
+ const FILL_DEFAULTS = {
46361
+ constAsDefaults: 'skipOneOf',
46362
+ requiredBooleanDefault: 'skip',
46363
+ };
46190
46364
  const Form = class {
46191
46365
  constructor(hostRef) {
46192
46366
  index.registerInstance(this, hostRef);
@@ -46218,17 +46392,41 @@ const Form = class {
46218
46392
  * which keeps untouched required-empty fields silent.
46219
46393
  */
46220
46394
  this.revealErrors = false;
46395
+ /**
46396
+ * Set to `false` to leave the defaults of the schema out of the value,
46397
+ * so that it stays as it was given until the user changes something. The
46398
+ * form still shows the defaults. A default the user changes is in the
46399
+ * value from then on, and so are the defaults that a change brings in,
46400
+ * such as those of a new list item or of fields that depend on the
46401
+ * changed one. Pass the value the form emits back in as `value`.
46402
+ * The form validates what it shows, defaults included. When the user
46403
+ * changes everything back, the value is what the form was given, also
46404
+ * when that is `null` or `undefined`.
46405
+ */
46406
+ this.includeDefaults = true;
46221
46407
  this.isValid = true;
46408
+ // Their value is still the last valid one, so the schema can't tell.
46409
+ this.invalidInputErrors = new Map();
46222
46410
  this.initialized = false;
46223
46411
  this.handleChange = this.handleChange.bind(this);
46224
46412
  this.getCustomErrorMessages = this.getCustomErrorMessages.bind(this);
46413
+ this.setInvalidInput = this.setInvalidInput.bind(this);
46225
46414
  }
46226
46415
  connectedCallback() {
46227
46416
  this.initialize();
46228
46417
  }
46229
46418
  componentWillLoad() {
46419
+ this.currentValue = this.value;
46230
46420
  this.warnIfHeadingLevelIsInvalid();
46231
46421
  }
46422
+ handleValueChange() {
46423
+ // The host usually hands back the value the form emitted, as a new
46424
+ // object, which is not a new value to leave the defaults out of
46425
+ if (!isEqual.isEqual(this.value, this.currentValue)) {
46426
+ this.givenValue = undefined;
46427
+ }
46428
+ this.currentValue = this.value;
46429
+ }
46232
46430
  componentDidLoad() {
46233
46431
  this.initialize();
46234
46432
  this.showHighlightedField();
@@ -46270,7 +46468,7 @@ const Form = class {
46270
46468
  this.initialized = false;
46271
46469
  }
46272
46470
  render() {
46273
- return index.h("div", { key: '549ba8cd825aadedc4ec9e696f6d03bee028cb89', class: "root" });
46471
+ return index.h("div", { key: 'c6f8c1df8165c5ac23b133a369ebb0f58563d74f', class: "root" });
46274
46472
  }
46275
46473
  reactRender() {
46276
46474
  if (!this.root) {
@@ -46283,21 +46481,12 @@ const Form = class {
46283
46481
  : 1,
46284
46482
  }, React.createElement(Form$1, {
46285
46483
  schema: this.prepareSchema(this.schema),
46286
- formData: this.value,
46484
+ formData: this.currentValue,
46287
46485
  onChange: this.handleChange,
46288
46486
  widgets: widgets,
46289
46487
  validator: rjsfValidator,
46290
46488
  liveValidate: 'onChange',
46291
- // `@rjsf/core` v6 treats a `const` inside `oneOf`/`anyOf`
46292
- // as a default and auto-selects the first option, so an
46293
- // optional enum can never be left empty (clearing it just
46294
- // gets repopulated on the next render). `skipOneOf` keeps
46295
- // this off for enums while still applying genuine
46296
- // `default` values, matching the pre-v6 behavior.
46297
- experimental_defaultFormStateBehavior: {
46298
- constAsDefaults: 'skipOneOf',
46299
- requiredBooleanDefault: 'skip',
46300
- },
46489
+ experimental_defaultFormStateBehavior: FILL_DEFAULTS,
46301
46490
  showErrorList: false,
46302
46491
  extraErrors: this.getExtraErrors(this.errors),
46303
46492
  templates: {
@@ -46313,6 +46502,7 @@ const Form = class {
46313
46502
  rootValue: this.value,
46314
46503
  propsFactory: this.propsFactory,
46315
46504
  revealErrors: this.revealErrors,
46505
+ setInvalidInput: this.setInvalidInput,
46316
46506
  },
46317
46507
  fields: {
46318
46508
  SchemaField: SchemaField,
@@ -46331,11 +46521,42 @@ const Form = class {
46331
46521
  return this.host.shadowRoot.querySelector('.root');
46332
46522
  }
46333
46523
  handleChange(event) {
46334
- this.change.emit(event.formData);
46524
+ if (this.includeDefaults) {
46525
+ this.currentValue = event.formData;
46526
+ this.change.emit(event.formData);
46527
+ return;
46528
+ }
46529
+ const { given, filled } = this.getGivenValue();
46530
+ this.givenValue.held = event.formData;
46531
+ const value = withoutFilledDefaults(event.formData, filled, given);
46532
+ if (isEqual.isEqual(value, this.currentValue)) {
46533
+ // What the form holds changed, even though the value did not
46534
+ this.emitValidationStatus(event.errors);
46535
+ return;
46536
+ }
46537
+ this.currentValue = value;
46538
+ this.change.emit(this.currentValue);
46335
46539
  }
46336
- validateFormData() {
46540
+ getGivenValue() {
46337
46541
  var _a;
46338
- const { errors } = rjsfValidator.validateFormData((_a = this.value) !== null && _a !== void 0 ? _a : {}, this.prepareSchema(this.schema));
46542
+ const schema = this.prepareSchema(this.schema);
46543
+ if (((_a = this.givenValue) === null || _a === void 0 ? void 0 : _a.schemaId) !== schema.$id) {
46544
+ const filled = getDefaultFormState(rjsfValidator, schema, this.currentValue, schema, false, FILL_DEFAULTS);
46545
+ this.givenValue = {
46546
+ schemaId: schema.$id,
46547
+ given: this.currentValue,
46548
+ filled,
46549
+ held: filled,
46550
+ };
46551
+ }
46552
+ return this.givenValue;
46553
+ }
46554
+ validateFormData() {
46555
+ // With the defaults left out of the value, the form holds more than it
46556
+ const value = this.includeDefaults
46557
+ ? this.value
46558
+ : this.getGivenValue().held;
46559
+ const { errors } = rjsfValidator.validateFormData(value !== null && value !== void 0 ? value : {}, this.prepareSchema(this.schema));
46339
46560
  this.emitValidationStatus(errors);
46340
46561
  }
46341
46562
  /**
@@ -46363,12 +46584,35 @@ const Form = class {
46363
46584
  const contentId = (fingerprint >>> 0).toString(36);
46364
46585
  return Object.assign(Object.assign({}, schema), { $id: $id ? `${$id}-${contentId}` : contentId });
46365
46586
  }
46587
+ setInvalidInput(path, message) {
46588
+ var _a;
46589
+ const property = `.${path.join('.')}`;
46590
+ const current = this.invalidInputErrors.get(property);
46591
+ if (((_a = current === null || current === void 0 ? void 0 : current.message) !== null && _a !== void 0 ? _a : null) === message) {
46592
+ return;
46593
+ }
46594
+ if (message === null) {
46595
+ this.invalidInputErrors.delete(property);
46596
+ }
46597
+ else {
46598
+ this.invalidInputErrors.set(property, {
46599
+ name: 'invalidInput',
46600
+ property: property,
46601
+ message: message,
46602
+ schemaPath: '',
46603
+ });
46604
+ }
46605
+ this.validateFormData();
46606
+ }
46366
46607
  hasExtraErrors() {
46367
46608
  return !!this.errors && Object.keys(this.errors).length > 0;
46368
46609
  }
46369
46610
  emitValidationStatus(errors) {
46370
- const valid = (!errors || errors.length === 0) && !this.hasExtraErrors();
46371
- const formErrors = this.mapErrors(errors !== null && errors !== void 0 ? errors : []);
46611
+ const formErrors = [
46612
+ ...this.mapErrors(errors !== null && errors !== void 0 ? errors : []),
46613
+ ...this.invalidInputErrors.values(),
46614
+ ];
46615
+ const valid = formErrors.length === 0 && !this.hasExtraErrors();
46372
46616
  const status = { valid: valid, errors: formErrors };
46373
46617
  if (this.isValid !== valid || !valid) {
46374
46618
  this.validate.emit(status);
@@ -46413,6 +46657,9 @@ const Form = class {
46413
46657
  }
46414
46658
  get host() { return index.getElement(this); }
46415
46659
  static get watchers() { return {
46660
+ "value": [{
46661
+ "handleValueChange": 0
46662
+ }],
46416
46663
  "headingLevel": [{
46417
46664
  "handleHeadingLevelChange": 0
46418
46665
  }],
@@ -12,7 +12,7 @@ const Grid = class {
12
12
  console.warn('limel-grid is deprecated, please use CSS instead: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_grid_layout');
13
13
  }
14
14
  render() {
15
- return index.h("slot", { key: 'c1e2b8ee2a681748256f6a0d7cd6db7aec27872e' });
15
+ return index.h("slot", { key: 'c4db2bee4485745f79636e4a3a2f04fa603af9b8' });
16
16
  }
17
17
  };
18
18
  Grid.style = gridCss();
@@ -15,7 +15,7 @@ const Header = class {
15
15
  this.subheadingDivider = '·';
16
16
  }
17
17
  render() {
18
- return (index.h(index.Host, { key: '25d008daf81297376579028f9116d4f78580e029' }, index.h("div", { key: '9bb06b9d428bcc709ef6a2cbfc5e7811b35d2c5e', class: "information" }, this.renderIcon(), index.h("div", { key: '417dcd90bbe18770eb25f69d3c614752571868b1', class: "headings" }, index.h("h1", { key: '591449da7543a5f708729bdda5ea231dfa9d4e17', class: "heading", title: this.heading }, this.heading), index.h("h2", { key: '8696119afe92d304fc03fa5d6b092419029bc052', class: "subheading", title: this.subheading }, this.subheading, this.renderSupportingText()))), index.h("slot", { key: '4903a0c675afa7371943f2b007d7367649eb473a', name: "actions" }, index.h("slot", { key: '009934d3d4ae2ff2932754e452bfb714506f9e66' }))));
18
+ return (index.h(index.Host, { key: '35935910757d74259ce3a286922ee0d35aad1ec9' }, index.h("div", { key: 'bd95cc50ec22e4881d3254aebec9143e6bb2a634', class: "information" }, this.renderIcon(), index.h("div", { key: '54a84e428595f989548855559cf71172264301ba', class: "headings" }, index.h("h1", { key: '99ccc155b7fa5a00a63f9c2a9caa0918ef33dc13', class: "heading", title: this.heading }, this.heading), index.h("h2", { key: 'cc06e5bac3f36daad46d8335bb8ee80ef7bb27e0', class: "subheading", title: this.subheading }, this.subheading, this.renderSupportingText()))), index.h("slot", { key: '2e94d276dcbe7404d4f618125763b5b1e5ff47ef', name: "actions" }, index.h("slot", { key: '6a5f81a642323a7c6bc8839f5ee8e3c6f11f905b' }))));
19
19
  }
20
20
  renderIcon() {
21
21
  var _a, _b, _c, _d, _e;
@@ -26,9 +26,9 @@ const HelpComponent = class {
26
26
  };
27
27
  }
28
28
  render() {
29
- return (index.h(index.Host, { key: '9f166e16ef9ddfd552bcf9bde262ca84e4b31399' }, index.h("limel-popover", { key: 'f0bf20043acb1ac323fcc01e6f9d64d8481b9382', open: this.isOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, index.h("button", { key: 'c3a62e9d9f82cc16dfb4aa39a711397b0f91def1', slot: "trigger", type: "button", onClick: this.openPopover, class: {
29
+ return (index.h(index.Host, { key: '0456a88ddfbe21f501bb58fd0792eaeb39ad3962' }, index.h("limel-popover", { key: 'db4fd15af11578c40ae6ed4e39f9931bea14d457', open: this.isOpen, onClose: this.onPopoverClose, openDirection: this.openDirection }, index.h("button", { key: '0e530613dcf6c02e879a4a1ae52e1e24403ef30d', slot: "trigger", type: "button", onClick: this.openPopover, class: {
30
30
  'is-open': this.isOpen,
31
- } }, this.trigger), index.h("limel-help-content", { key: '75edc59e9c5a2557c9766165e52f6aa1b5baee49', value: this.value, readMoreLink: this.readMoreLink }))));
31
+ } }, this.trigger), index.h("limel-help-content", { key: '64d119e480cb64cbdeab156787dddc6f36e1368e', value: this.value, readMoreLink: this.readMoreLink }))));
32
32
  }
33
33
  };
34
34
  HelpComponent.style = helpCss();
@@ -47,7 +47,7 @@ const HelpContent = class {
47
47
  };
48
48
  }
49
49
  render() {
50
- return (index.h(index.Host, { key: 'd0f448293f17fbd80e5c8b0b26aa32d58af1d5ac' }, index.h("limel-markdown", { key: 'b69b41f86e1c362c3d12c50d24c579bf9d5a434d', value: this.value }), this.renderReadMoreLink()));
50
+ return (index.h(index.Host, { key: '213707af11bc0757a2b50652aeaf4f8869a8dd7c' }, index.h("limel-markdown", { key: 'f0f0ee7a087a8705ebb7fa463bf7f0d5f1abb207', value: this.value }), this.renderReadMoreLink()));
51
51
  }
52
52
  };
53
53
  HelpContent.style = limelHelpContentCss();
@@ -34,9 +34,9 @@ const HelperLine = class {
34
34
  };
35
35
  }
36
36
  render() {
37
- return (index.h(index.Host, { key: 'e42ca019869a7b4b47d93c4f402bdbf3b99b37cf', tabIndex: -1, class: {
37
+ return (index.h(index.Host, { key: '5bc750e2c8c7bce88fd9fc6f2ec4f27133ad5ed7', tabIndex: -1, class: {
38
38
  invalid: this.invalid,
39
- }, style: this.hasContent() ? {} : { display: 'none' }, "aria-hidden": !this.hasContent() }, index.h("div", { key: '3db5b20efaa64d9a20b6da5c711d2fb64393143a' }, this.renderHelperText(), this.renderCharacterCounter())));
39
+ }, style: this.hasContent() ? {} : { display: 'none' }, "aria-hidden": !this.hasContent() }, index.h("div", { key: '7bc84f9c6ae3ac8de904c56a97497f8f427583f4' }, this.renderHelperText(), this.renderCharacterCounter())));
40
40
  }
41
41
  };
42
42
  HelperLine.style = helperLineCss();
@@ -325,7 +325,7 @@ const List = class {
325
325
  maxLinesSecondaryText = 1;
326
326
  }
327
327
  const html = this.listRenderer.render(this.items, this.config);
328
- return (index.h(index.Host, { key: 'e6619c70eab882e1a9ed482098a7f1ed673c74a1', style: {
328
+ return (index.h(index.Host, { key: '2ff544c93286e06ac298eb1cc8fa2567c360fc7a', style: {
329
329
  '--maxLinesSecondaryText': `${maxLinesSecondaryText}`,
330
330
  } }, html));
331
331
  }
@@ -421,7 +421,7 @@ const NotchedOutline = class {
421
421
  this.hasFloatingLabel = false;
422
422
  }
423
423
  render() {
424
- return (index.h("div", { key: 'ade07e3a9e2a63f0037f46fdbd01f866936c55ed', class: "limel-notched-outline" }, index.h("slot", { key: '1d7619696aa3c80b17390df8b5bc96591cb0fe36', name: "content" }), index.h("span", { key: 'a791e6757ff14e7bb2c2a3f833f9877922eebd51', class: "limel-notched-outline--outlines", "aria-hidden": "true" }, index.h("span", { key: '623d2d85813b66a3b0a2e33bbbf3cdd51b3505e0', class: "limel-notched-outline--leading-outline" }), this.renderLabel(), index.h("span", { key: 'd5b0c6c6e7a7d5a15fc8795e3126fe3b115019ee', class: "limel-notched-outline--trailing-outline" }), this.renderEmptyReadonlyValue())));
424
+ return (index.h("div", { key: '8ca3a2622aa918101d5d78f94c9d279276dbba10', class: "limel-notched-outline" }, index.h("slot", { key: '508f8fb8cc48ba667ad250acae46ff2f4c25ef42', name: "content" }), index.h("span", { key: 'a071aa9212705b001e52e055d61f1be42a10ae69', class: "limel-notched-outline--outlines", "aria-hidden": "true" }, index.h("span", { key: 'ee1602e3637cbbba489b8b5be5bf65f6352738c5', class: "limel-notched-outline--leading-outline" }), this.renderLabel(), index.h("span", { key: '1517c575f1c4299a5a2d636e0e456b24f939d418', class: "limel-notched-outline--trailing-outline" }), this.renderEmptyReadonlyValue())));
425
425
  }
426
426
  renderLabel() {
427
427
  if (!this.label) {
@@ -132,7 +132,7 @@ const Hotkey = class {
132
132
  const parts = hotkeys.tokenizeHotkeyString(this.value);
133
133
  const displayParts = parts.map((part) => formatDisplayToken(part, this.isApple));
134
134
  const ariaLabel = getHotkeyAriaLabel(this.value, this.isApple);
135
- return (index.h(index.Host, { key: '0cf81f7754511dce0358be8ba428e047e6bf6ab5', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index$1) => (index.h("kbd", { key: `${parts[index$1]}-${index$1}`, class: isGlyph ? 'is-glyph' : undefined }, index.h("span", null, display))))));
135
+ return (index.h(index.Host, { key: 'bf8ed107c45987511194dc5b44e9c414f690f66d', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index$1) => (index.h("kbd", { key: `${parts[index$1]}-${index$1}`, class: isGlyph ? 'is-glyph' : undefined }, index.h("span", null, display))))));
136
136
  }
137
137
  };
138
138
  Hotkey.style = hotkeyCss();
@@ -2004,7 +2004,7 @@ const Portal = class {
2004
2004
  this.showContainer();
2005
2005
  }
2006
2006
  render() {
2007
- return index.h("slot", { key: '37784f868a6be293c052c90eaa87b40f97717694' });
2007
+ return index.h("slot", { key: '3a994ee9948057d3f461ef78d0b2487673044b98' });
2008
2008
  }
2009
2009
  onVisible() {
2010
2010
  if (!this.container && this.visible) {
@@ -2420,10 +2420,10 @@ const Tooltip = class {
2420
2420
  }
2421
2421
  render() {
2422
2422
  const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
2423
- return (index.h("div", { key: '9b893c590d0626f4e7c88f97f14e9c87cb1520d7', class: "trigger-anchor" }, index.h("limel-portal", { key: 'de7ee98705df289e59a034f49daf33823ab6aa86', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
2423
+ return (index.h("div", { key: 'dd68f46eecdfe23830fcdc273982e71dd832b6a2', class: "trigger-anchor" }, index.h("limel-portal", { key: 'c3ec9406b04edeace41d7f5c05cc89a720005297', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
2424
2424
  'z-index': tooltipZIndex,
2425
2425
  'pointer-events': 'none',
2426
- }, anchor: this.ownerElement }, index.h("limel-tooltip-content", { key: '83ae108e4c32627527c9962a3f82a2b77ecda873', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open }))));
2426
+ }, anchor: this.ownerElement }, index.h("limel-tooltip-content", { key: '2b8cbf20f7956046939099869fa6d1ac5025ad6a', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open }))));
2427
2427
  }
2428
2428
  async updateDescription() {
2429
2429
  if (!this.ownerElement) {
@@ -2495,7 +2495,7 @@ const TooltipContent = class {
2495
2495
  const style = this.maxlength
2496
2496
  ? { '--tooltip-max-width-of-text': `${this.maxlength}ch` }
2497
2497
  : undefined;
2498
- return (index.h(index.Host, { key: '05369a8209c96b17763eaa4074c82543f96cd908', class: { 'has-column-layout': isLabelsTextLong }, style: style }, index.h("div", { key: '1bfac9e319921070cc262a74347b9280de12e025', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
2498
+ return (index.h(index.Host, { key: 'e471ae2dbb5e94f737fb8a9e3946b5528f1d58d7', class: { 'has-column-layout': isLabelsTextLong }, style: style }, index.h("div", { key: '61ddd956c8f7c1e9b765c13ce55d3f1219ca9957', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
2499
2499
  }
2500
2500
  renderHelperLabel() {
2501
2501
  if (!this.helperLabel) {
@@ -49,7 +49,7 @@ const IconButton = class {
49
49
  if (this.host.hasAttribute('tabindex')) {
50
50
  buttonAttributes.tabindex = this.host.getAttribute('tabindex');
51
51
  }
52
- return (index.h(index.Host, { key: '24e71b62ab7e2d038ecc9c8982ffad932ecf89c0', onClick: this.filterClickWhenDisabled }, index.h("button", Object.assign({ key: '435485320ca03a49d4ecce7e45d641e53ccbd107', "aria-label": this.label, disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
52
+ return (index.h(index.Host, { key: 'a75232fbdba624fceddf7d7846cb6a5a8b33532a', onClick: this.filterClickWhenDisabled }, index.h("button", Object.assign({ key: 'd74d4073e4e7147adfa478f699e1269fb72e1718', "aria-label": this.label, disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
53
53
  }
54
54
  renderIcon() {
55
55
  var _a, _b;
@@ -186,7 +186,7 @@ const Icon = class {
186
186
  this.loadIcon(this.name);
187
187
  }
188
188
  render() {
189
- return index.h("div", { key: '154a32782255d3b6870d1ea67bdf8e8906655c9a', class: "container" });
189
+ return index.h("div", { key: '4ba343ef7bc8cfb1c035c3c947388954d9218b3f', class: "container" });
190
190
  }
191
191
  updateAccessibility() {
192
192
  if (!this.internals) {
@@ -116,9 +116,9 @@ const InfoTile = class {
116
116
  this.checkProps((_d = this === null || this === void 0 ? void 0 : this.link) === null || _d === void 0 ? void 0 : _d.title);
117
117
  const link = this.disabled ? '#' : (_e = this.link) === null || _e === void 0 ? void 0 : _e.href;
118
118
  const rel = linkHelper.getRel((_f = this.link) === null || _f === void 0 ? void 0 : _f.target, (_g = this.link) === null || _g === void 0 ? void 0 : _g.rel);
119
- return (index.h(index.Host, { key: '2d5b3fb9509298316af814acac20bbb1f6c22f85', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, class: { 'has-primary-slot-content': this.hasPrimarySlot } }, index.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: {
119
+ return (index.h(index.Host, { key: '071f39e5edf3e116952c3a6c9b639298c90c6f4f', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, class: { 'has-primary-slot-content': this.hasPrimarySlot } }, index.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: {
120
120
  'is-clickable': !!((_k = this.link) === null || _k === void 0 ? void 0 : _k.href) && !this.disabled,
121
- } }, this.renderIcon(), this.renderProgress(), index.h("slot", { key: '8cf1cdd2c841a3c30512b390748ec7af9ccaaa06', name: "primary", onSlotchange: this.updateHasPrimarySlotContent }), index.h("div", { key: '4b999b693dd6e882370006edfede8a54488a2873', class: "value-group" }, this.renderPrefix(), index.h("div", { key: '5b06443fe1171e158f78cadb11291501507e16bc', class: "value-and-suffix" }, this.renderValue(), this.renderSuffix()), this.renderSpinner()), this.renderLabel(), index.h("limel-3d-hover-effect-glow", { key: '18c6b6dd3bdaacce430ddd4e2f7dbc65e400b3d0' })), this.renderNotification()));
121
+ } }, this.renderIcon(), this.renderProgress(), index.h("slot", { key: '8f05aca2443b71bd1fce49ace715afbaaa440282', name: "primary", onSlotchange: this.updateHasPrimarySlotContent }), index.h("div", { key: '1f8b0f1e1199a9908a3613ab18a7cbfc421c58c6', class: "value-group" }, this.renderPrefix(), index.h("div", { key: 'b98294d9c40828fd6d5a177f5532022168b09b9b', class: "value-and-suffix" }, this.renderValue(), this.renderSuffix()), this.renderSpinner()), this.renderLabel(), index.h("limel-3d-hover-effect-glow", { key: 'e26ed5c63e3aa37b8c3d427487c2836e5d66b346' })), this.renderNotification()));
122
122
  }
123
123
  checkProps(propValue) {
124
124
  return propValue ? propValue + ' ' : '';
@@ -5,9 +5,8 @@ var getIconProps = require('./get-icon-props-CwpDdQDI.js');
5
5
  var randomString = require('./random-string-CFCtFh5l.js');
6
6
  var renderListComponent = require('./render-list-component-BtAliHQp.js');
7
7
  var checkbox_template = require('./checkbox.template-CNJ29zDR.js');
8
- var translations = require('./translations-JLP5icQ9.js');
8
+ var translations = require('./translations-BPsptVkN.js');
9
9
  var image_template = require('./image.template-DlF-f23b.js');
10
- require('./language-s0bKUCvO.js');
11
10
 
12
11
  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)}`;
13
12
 
@@ -131,9 +130,9 @@ const ListItemComponent = class {
131
130
  // also keep for `menuitem` for visual state consistency
132
131
  ariaProps['aria-selected'] = this.selected ? 'true' : 'false';
133
132
  }
134
- return (index.h(index.Host, Object.assign({ key: 'fc4d7eab0b57e21d39c7d4fcc5ec7678a4e9662f', role: this.getHostRole(), class: {
133
+ return (index.h(index.Host, Object.assign({ key: '023c6ebda746cc74c85a7430fe29f321d52409f1', role: this.getHostRole(), class: {
135
134
  'has-primary-component': !!((_a = this.primaryComponent) === null || _a === void 0 ? void 0 : _a.name),
136
- } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), index.h("div", { key: 'bf56c25af2a5f6c0e7ed7ea7b5cd6952888efb61', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
135
+ } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), index.h("div", { key: 'b7812dba6249c1bd119524457c92f37a0f64f897', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
137
136
  }
138
137
  /**
139
138
  * Returns a stable reference for the provided actions array to avoid
@@ -1193,7 +1193,7 @@ const Markdown = class {
1193
1193
  this.cleanupImageIntersectionObserver();
1194
1194
  }
1195
1195
  render() {
1196
- return (index$1.h(index$1.Host, { key: '847bffc9b7fa4fbec42b705d3019c635d88fb6c6' }, index$1.h("div", { key: 'cd84ef0919fc4b2b80090de836366b317e60e51a', id: "markdown", ref: (el) => (this.rootElement = el) })));
1196
+ return (index$1.h(index$1.Host, { key: 'f51d4ce2bc5997174b764ceedafdb8bd41351945' }, index$1.h("div", { key: 'a16ca446fd14455d86417fd6d5eec9a6aa8d365b', id: "markdown", ref: (el) => (this.rootElement = el) })));
1197
1197
  }
1198
1198
  setupImageIntersectionObserver() {
1199
1199
  if (this.lazyLoadImages) {