@limetech/lime-elements 40.15.0 → 40.17.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 (373) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/cjs/_Map-BsuE0Kgq.js +57 -0
  3. package/dist/cjs/_arrayPush-0Rd-eNkQ.js +420 -0
  4. package/dist/cjs/_baseFlatten-BonTAUIo.js +199 -0
  5. package/dist/cjs/{_baseForOwn-8jMPwf3X.js → _baseForOwn-Bflq946d.js} +1 -1
  6. package/dist/cjs/{_baseIsEqual-zzV9DKMv.js → _baseIsEqual-DNSR68qD.js} +16 -428
  7. package/dist/cjs/_baseIteratee-Cistiy8H.js +263 -0
  8. package/dist/cjs/{_baseSet-DykMx7uF.js → _basePickBy-DeOMws-h.js} +29 -43
  9. package/dist/cjs/{_getPrototype-CCLHkBHj.js → _getPrototype-D74M8h-k.js} +1 -1
  10. package/dist/cjs/{_getTag-BC28Za7d.js → _getTag-CxGZ3DRt.js} +7 -57
  11. package/dist/cjs/{cloneDeep-D2immmwT.js → cloneDeep-CiuKX6HE.js} +3 -3
  12. package/dist/cjs/{drag-to-reorder-BP5YkPuu.js → drag-to-reorder-BmVz_kUy.js} +3 -193
  13. package/dist/cjs/{_baseIteratee-BIMRm4nq.js → hasIn-BQ92Jk0F.js} +10 -264
  14. package/dist/cjs/help-props-Ds30nnt1.js +90 -0
  15. package/dist/cjs/isArrayLike-0-cyPB5I.js +35 -0
  16. package/dist/cjs/{isEmpty-CCxl3bYc.js → isEmpty-BsdhcVKT.js} +4 -3
  17. package/dist/cjs/{isEqual-D3eFkhqd.js → isEqual-QhCilNoo.js} +1 -1
  18. package/dist/cjs/isLength-DvlFY_9S.js +37 -0
  19. package/dist/cjs/lime-elements.cjs.js +1 -1
  20. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  21. package/dist/cjs/limel-action-bar_3.cjs.entry.js +3 -3
  22. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  23. package/dist/cjs/limel-badge.cjs.entry.js +2 -2
  24. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +6 -6
  26. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  27. package/dist/cjs/limel-button.cjs.entry.js +2 -2
  28. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  29. package/dist/cjs/limel-card.cjs.entry.js +1 -1
  30. package/dist/cjs/limel-checkbox.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-chip-set.cjs.entry.js +11 -8
  32. package/dist/cjs/limel-chip_2.cjs.entry.js +7 -5
  33. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-code-diff.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  36. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  37. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
  38. package/dist/cjs/limel-color-picker.cjs.entry.js +2 -2
  39. package/dist/cjs/limel-dialog.cjs.entry.js +12 -9
  40. package/dist/cjs/limel-dock.cjs.entry.js +2 -2
  41. package/dist/cjs/limel-drag-handle_2.cjs.entry.js +3 -3
  42. package/dist/cjs/limel-email-viewer.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +14 -10
  44. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +3 -2
  46. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  47. package/dist/cjs/limel-form-header.cjs.entry.js +59 -0
  48. package/dist/cjs/limel-form.cjs.entry.js +140 -45
  49. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  50. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  51. package/dist/cjs/{limel-help.cjs.entry.js → limel-help_2.cjs.entry.js} +22 -2
  52. package/dist/cjs/limel-helper-line_3.cjs.entry.js +4 -4
  53. package/dist/cjs/limel-hotkey_4.cjs.entry.js +5 -5
  54. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  55. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  56. package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
  57. package/dist/cjs/limel-list-item.cjs.entry.js +2 -2
  58. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-masonry-layout.cjs.entry.js +1 -1
  60. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  61. package/dist/cjs/limel-pagination.cjs.entry.js +3 -2
  62. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  63. package/dist/cjs/limel-popover_2.cjs.entry.js +27 -4
  64. package/dist/cjs/limel-profile-picture.cjs.entry.js +2 -1
  65. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +13 -10
  66. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  67. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  68. package/dist/cjs/limel-resize-handle.cjs.entry.js +1 -1
  69. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  70. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  71. package/dist/cjs/limel-side-panel.cjs.entry.js +1 -1
  72. package/dist/cjs/limel-slider.cjs.entry.js +3 -3
  73. package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
  74. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  75. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  76. package/dist/cjs/limel-tab-bar.cjs.entry.js +14 -10
  77. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  78. package/dist/cjs/limel-table.cjs.entry.js +21 -41
  79. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +3 -3
  80. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  81. package/dist/cjs/loader.cjs.js +1 -1
  82. package/dist/cjs/negate-Bg3SqQh6.js +42 -0
  83. package/dist/collection/collection-manifest.json +1 -0
  84. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  85. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  86. package/dist/collection/components/action-bar/action-bar.js +2 -2
  87. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  88. package/dist/collection/components/badge/badge.js +2 -2
  89. package/dist/collection/components/banner/banner.js +1 -1
  90. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  91. package/dist/collection/components/button/button.js +2 -2
  92. package/dist/collection/components/button-group/button-group.js +1 -1
  93. package/dist/collection/components/callout/callout.js +1 -1
  94. package/dist/collection/components/card/card.js +1 -1
  95. package/dist/collection/components/checkbox/checkbox.js +1 -1
  96. package/dist/collection/components/chip/chip.js +1 -1
  97. package/dist/collection/components/chip-set/chip-set.js +1 -1
  98. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  99. package/dist/collection/components/code-diff/code-diff.js +1 -1
  100. package/dist/collection/components/code-editor/code-editor.js +1 -1
  101. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  102. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  103. package/dist/collection/components/color-picker/color-picker.js +2 -2
  104. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  105. package/dist/collection/components/dialog/dialog.js +2 -2
  106. package/dist/collection/components/dock/dock.js +2 -2
  107. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  108. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  109. package/dist/collection/components/file/file.js +1 -1
  110. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  111. package/dist/collection/components/file-input/file-input.js +1 -1
  112. package/dist/collection/components/flex-container/flex-container.js +1 -1
  113. package/dist/collection/components/form/fields/object-field.js +2 -2
  114. package/dist/collection/components/form/form.css +21 -21
  115. package/dist/collection/components/form/form.js +60 -3
  116. package/dist/collection/components/form/form.test-schemas.js +62 -0
  117. package/dist/collection/components/form/help/help.js +2 -5
  118. package/dist/collection/components/form/row/row.js +4 -1
  119. package/dist/collection/components/form/templates/array-field.js +4 -4
  120. package/dist/collection/components/form/templates/common.js +21 -4
  121. package/dist/collection/components/form/templates/heading-level.js +51 -0
  122. package/dist/collection/components/form/templates/object-field.js +3 -9
  123. package/dist/collection/components/form-header/form-header.css +3 -0
  124. package/dist/collection/components/form-header/form-header.js +163 -0
  125. package/dist/collection/components/form-header/help-props.js +17 -0
  126. package/dist/collection/components/grid/grid.js +1 -1
  127. package/dist/collection/components/header/header.js +1 -1
  128. package/dist/collection/components/help/help-content.js +1 -1
  129. package/dist/collection/components/help/help.js +2 -2
  130. package/dist/collection/components/helper-line/helper-line.js +2 -2
  131. package/dist/collection/components/hotkey/hotkey.js +1 -1
  132. package/dist/collection/components/icon/icon.js +1 -1
  133. package/dist/collection/components/icon-button/icon-button.js +1 -1
  134. package/dist/collection/components/info-tile/info-tile.js +2 -2
  135. package/dist/collection/components/input-field/input-field.js +1 -1
  136. package/dist/collection/components/list/list.js +1 -1
  137. package/dist/collection/components/list-item/list-item.js +2 -2
  138. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  139. package/dist/collection/components/markdown/markdown.js +1 -1
  140. package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
  141. package/dist/collection/components/menu/menu.js +1 -1
  142. package/dist/collection/components/menu-list/menu-list.js +1 -1
  143. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  144. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  145. package/dist/collection/components/pagination/pagination.js +3 -2
  146. package/dist/collection/components/picker/picker.js +1 -1
  147. package/dist/collection/components/popover/popover.js +64 -3
  148. package/dist/collection/components/popover-surface/popover-surface.js +39 -1
  149. package/dist/collection/components/portal/portal.js +1 -1
  150. package/dist/collection/components/profile-picture/profile-picture.js +2 -1
  151. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  152. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  153. package/dist/collection/components/resize-handle/resize-handle.js +1 -1
  154. package/dist/collection/components/scroller/scroller.js +2 -2
  155. package/dist/collection/components/select/select.js +1 -1
  156. package/dist/collection/components/shortcut/shortcut.js +1 -1
  157. package/dist/collection/components/side-panel/side-panel.js +1 -1
  158. package/dist/collection/components/slider/slider.js +3 -3
  159. package/dist/collection/components/snackbar/snackbar.js +2 -2
  160. package/dist/collection/components/spinner/spinner.js +1 -1
  161. package/dist/collection/components/split-button/split-button.js +2 -2
  162. package/dist/collection/components/switch/switch.js +1 -1
  163. package/dist/collection/components/tab-bar/tab-bar.js +1 -1
  164. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  165. package/dist/collection/components/table/table.js +2 -2
  166. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  167. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  168. package/dist/collection/components/text-editor/text-editor.js +1 -1
  169. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  170. package/dist/collection/components/tooltip/tooltip.js +2 -2
  171. package/dist/esm/_Map-LWJCQc-c.js +54 -0
  172. package/dist/esm/_arrayPush-NEl7BpFy.js +416 -0
  173. package/dist/esm/_baseFlatten-mvFj07qD.js +195 -0
  174. package/dist/esm/{_baseForOwn-vKFWmmaS.js → _baseForOwn-C3COyhQS.js} +1 -1
  175. package/dist/esm/{_baseIsEqual-B_JRErB0.js → _baseIsEqual-CJf575VC.js} +9 -419
  176. package/dist/esm/_baseIteratee-DM5xljbg.js +260 -0
  177. package/dist/esm/{_baseSet-BUAq8NGm.js → _basePickBy-D_9Hus6l.js} +27 -41
  178. package/dist/esm/{_getPrototype-B0kMNv1F.js → _getPrototype-CQlOogH0.js} +1 -1
  179. package/dist/esm/{_getTag-BiAaLWvH.js → _getTag-BTNY_Z_q.js} +5 -53
  180. package/dist/esm/{cloneDeep-Bcll-3f8.js → cloneDeep-BYrS7zqD.js} +3 -3
  181. package/dist/esm/{drag-to-reorder-BXmXIwCa.js → drag-to-reorder-9gxiYkIo.js} +3 -192
  182. package/dist/esm/{_baseIteratee-CVz7aes3.js → hasIn-CKUl04DZ.js} +5 -259
  183. package/dist/esm/help-props-DULV6dHr.js +88 -0
  184. package/dist/esm/isArrayLike-wfLI14yj.js +33 -0
  185. package/dist/esm/{isEmpty-BGVZ12Ea.js → isEmpty-CvLNUkER.js} +3 -2
  186. package/dist/esm/{isEqual-C-pK6AAU.js → isEqual-BIfg0KPc.js} +1 -1
  187. package/dist/esm/isLength-BZrtP4vv.js +35 -0
  188. package/dist/esm/lime-elements.js +1 -1
  189. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  190. package/dist/esm/limel-action-bar_3.entry.js +3 -3
  191. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  192. package/dist/esm/limel-badge.entry.js +2 -2
  193. package/dist/esm/limel-banner.entry.js +1 -1
  194. package/dist/esm/limel-breadcrumbs_6.entry.js +6 -6
  195. package/dist/esm/limel-button-group.entry.js +1 -1
  196. package/dist/esm/limel-button.entry.js +2 -2
  197. package/dist/esm/limel-callout.entry.js +1 -1
  198. package/dist/esm/limel-card.entry.js +1 -1
  199. package/dist/esm/limel-checkbox.entry.js +1 -1
  200. package/dist/esm/limel-chip-set.entry.js +11 -8
  201. package/dist/esm/limel-chip_2.entry.js +7 -5
  202. package/dist/esm/limel-circular-progress.entry.js +1 -1
  203. package/dist/esm/limel-code-diff.entry.js +1 -1
  204. package/dist/esm/limel-code-editor.entry.js +1 -1
  205. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  206. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  207. package/dist/esm/limel-color-picker.entry.js +2 -2
  208. package/dist/esm/limel-dialog.entry.js +12 -9
  209. package/dist/esm/limel-dock.entry.js +2 -2
  210. package/dist/esm/limel-drag-handle_2.entry.js +3 -3
  211. package/dist/esm/limel-email-viewer.entry.js +1 -1
  212. package/dist/esm/limel-file-dropzone_2.entry.js +14 -10
  213. package/dist/esm/limel-file.entry.js +1 -1
  214. package/dist/esm/limel-flatpickr-adapter.entry.js +3 -2
  215. package/dist/esm/limel-flex-container.entry.js +1 -1
  216. package/dist/esm/limel-form-header.entry.js +57 -0
  217. package/dist/esm/limel-form.entry.js +136 -41
  218. package/dist/esm/limel-grid.entry.js +1 -1
  219. package/dist/esm/limel-header.entry.js +1 -1
  220. package/dist/esm/{limel-help.entry.js → limel-help_2.entry.js} +22 -3
  221. package/dist/esm/limel-helper-line_3.entry.js +4 -4
  222. package/dist/esm/limel-hotkey_4.entry.js +5 -5
  223. package/dist/esm/limel-icon-button.entry.js +1 -1
  224. package/dist/esm/limel-icon.entry.js +1 -1
  225. package/dist/esm/limel-info-tile.entry.js +2 -2
  226. package/dist/esm/limel-list-item.entry.js +2 -2
  227. package/dist/esm/limel-markdown.entry.js +1 -1
  228. package/dist/esm/limel-masonry-layout.entry.js +1 -1
  229. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  230. package/dist/esm/limel-pagination.entry.js +3 -2
  231. package/dist/esm/limel-picker.entry.js +1 -1
  232. package/dist/esm/limel-popover_2.entry.js +27 -4
  233. package/dist/esm/limel-profile-picture.entry.js +2 -1
  234. package/dist/esm/limel-prosemirror-adapter.entry.js +13 -10
  235. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  236. package/dist/esm/limel-radio-button.entry.js +2 -2
  237. package/dist/esm/limel-resize-handle.entry.js +1 -1
  238. package/dist/esm/limel-select.entry.js +1 -1
  239. package/dist/esm/limel-shortcut.entry.js +1 -1
  240. package/dist/esm/limel-side-panel.entry.js +1 -1
  241. package/dist/esm/limel-slider.entry.js +3 -3
  242. package/dist/esm/limel-snackbar.entry.js +2 -2
  243. package/dist/esm/limel-split-button.entry.js +2 -2
  244. package/dist/esm/limel-switch.entry.js +1 -1
  245. package/dist/esm/limel-tab-bar.entry.js +14 -10
  246. package/dist/esm/limel-tab-panel.entry.js +1 -1
  247. package/dist/esm/limel-table.entry.js +16 -36
  248. package/dist/esm/limel-text-editor-link-menu.entry.js +3 -3
  249. package/dist/esm/limel-text-editor.entry.js +1 -1
  250. package/dist/esm/loader.js +1 -1
  251. package/dist/esm/negate-ooVD-6_a.js +40 -0
  252. package/dist/lime-elements/lime-elements.esm.js +1 -1
  253. package/dist/lime-elements/{p-1d6014ed.entry.js → p-05c1f5a0.entry.js} +1 -1
  254. package/dist/lime-elements/p-0c314c3c.entry.js +1 -0
  255. package/dist/lime-elements/{p-aac603af.entry.js → p-153e91e1.entry.js} +1 -1
  256. package/dist/lime-elements/{p-f455150b.entry.js → p-164e1ad0.entry.js} +1 -1
  257. package/dist/lime-elements/{p-67536ac3.entry.js → p-19681a98.entry.js} +1 -1
  258. package/dist/lime-elements/{p-6e9c34f9.entry.js → p-1d13245d.entry.js} +1 -1
  259. package/dist/lime-elements/{p-87c9f4de.entry.js → p-22c44279.entry.js} +1 -1
  260. package/dist/lime-elements/{p-7375fac2.entry.js → p-26347009.entry.js} +1 -1
  261. package/dist/lime-elements/{p-f0e3a147.entry.js → p-27d7c255.entry.js} +2 -2
  262. package/dist/lime-elements/{p-3fa66fb1.entry.js → p-29815107.entry.js} +1 -1
  263. package/dist/lime-elements/{p-27d375f3.entry.js → p-2a375a65.entry.js} +1 -1
  264. package/dist/lime-elements/{p-aee75ad1.entry.js → p-2c29c27f.entry.js} +1 -1
  265. package/dist/lime-elements/{p-19426c76.entry.js → p-2f5face5.entry.js} +1 -1
  266. package/dist/lime-elements/{p-8f133cd6.entry.js → p-3ae5fb67.entry.js} +1 -1
  267. package/dist/lime-elements/{p-bb40b96c.entry.js → p-3c861ca8.entry.js} +1 -1
  268. package/dist/lime-elements/{p-f96a8e2c.entry.js → p-40a48f70.entry.js} +1 -1
  269. package/dist/lime-elements/p-513d2a5e.entry.js +1 -0
  270. package/dist/lime-elements/{p-9e9187ce.entry.js → p-519603f5.entry.js} +1 -1
  271. package/dist/lime-elements/{p-4a381bc6.entry.js → p-545c087b.entry.js} +1 -1
  272. package/dist/lime-elements/{p-89316964.entry.js → p-55abec82.entry.js} +1 -1
  273. package/dist/lime-elements/{p-8e78fd4f.entry.js → p-55f7c9f5.entry.js} +1 -1
  274. package/dist/lime-elements/{p-2370ff51.entry.js → p-565e5ea7.entry.js} +1 -1
  275. package/dist/lime-elements/{p-3b4f6329.entry.js → p-586ee40c.entry.js} +1 -1
  276. package/dist/lime-elements/p-5d9a2877.entry.js +1 -0
  277. package/dist/lime-elements/{p-ddabfac0.entry.js → p-5f2a34ed.entry.js} +1 -1
  278. package/dist/lime-elements/{p-dd065596.entry.js → p-5f82ea0b.entry.js} +1 -1
  279. package/dist/lime-elements/{p-82672504.entry.js → p-65eafc85.entry.js} +1 -1
  280. package/dist/lime-elements/p-67acf39d.entry.js +1 -0
  281. package/dist/lime-elements/{p-d1eaba10.entry.js → p-6aae3f58.entry.js} +1 -1
  282. package/dist/lime-elements/p-7035d93d.entry.js +1 -0
  283. package/dist/lime-elements/{p-674680f9.entry.js → p-707d4b28.entry.js} +1 -1
  284. package/dist/lime-elements/{p-d94f1c0f.entry.js → p-7235d147.entry.js} +1 -1
  285. package/dist/lime-elements/p-72907ffd.entry.js +1 -0
  286. package/dist/lime-elements/{p-242f1032.entry.js → p-7aae3d13.entry.js} +1 -1
  287. package/dist/lime-elements/{p-88dcba1e.entry.js → p-7af16e1d.entry.js} +1 -1
  288. package/dist/lime-elements/{p-56fe13ef.entry.js → p-7d27d572.entry.js} +1 -1
  289. package/dist/lime-elements/{p-8339d921.entry.js → p-7f1a1ed5.entry.js} +1 -1
  290. package/dist/lime-elements/p-813cb15c.entry.js +1 -0
  291. package/dist/lime-elements/p-895a68c5.entry.js +1 -0
  292. package/dist/lime-elements/{p-0de00849.entry.js → p-9436aba6.entry.js} +4 -4
  293. package/dist/lime-elements/{p-b5ebcbfc.entry.js → p-9e30d206.entry.js} +1 -1
  294. package/dist/lime-elements/p-BIYP3lTf.js +1 -0
  295. package/dist/lime-elements/p-BZrtP4vv.js +1 -0
  296. package/dist/lime-elements/p-BqoaAMnl.js +1 -0
  297. package/dist/lime-elements/p-BuX-Eb_J.js +1 -0
  298. package/dist/lime-elements/p-C-Qy5a39.js +1 -0
  299. package/dist/lime-elements/p-Cn3Alk9P.js +1 -0
  300. package/dist/lime-elements/p-CnpoFRmN.js +1 -0
  301. package/dist/lime-elements/p-CzTSYn-I.js +1 -0
  302. package/dist/lime-elements/p-D5dy3YDO.js +1 -0
  303. package/dist/lime-elements/p-DVx8ZwG_.js +7 -0
  304. package/dist/lime-elements/p-DWd0MyPU.js +1 -0
  305. package/dist/lime-elements/p-DpFfRQwV.js +1 -0
  306. package/dist/lime-elements/p-UDFTKggt.js +1 -0
  307. package/dist/lime-elements/{p-9d354eca.entry.js → p-a608ebe3.entry.js} +1 -1
  308. package/dist/lime-elements/p-a7a84633.entry.js +1 -0
  309. package/dist/lime-elements/p-a81f6962.entry.js +1 -0
  310. package/dist/lime-elements/{p-150010b5.entry.js → p-b80433be.entry.js} +1 -1
  311. package/dist/lime-elements/{p-e13e0001.entry.js → p-b983531f.entry.js} +3 -3
  312. package/dist/lime-elements/{p-e9b1e0bd.entry.js → p-be0a8125.entry.js} +1 -1
  313. package/dist/lime-elements/{p-f0bf3fd1.entry.js → p-be2b8c1e.entry.js} +1 -1
  314. package/dist/lime-elements/p-c2_jcMp6.js +1 -0
  315. package/dist/lime-elements/{p-de3cf7d8.entry.js → p-c73f4160.entry.js} +1 -1
  316. package/dist/lime-elements/p-c8f09dd5.entry.js +1 -0
  317. package/dist/lime-elements/{p-5ea07cbe.entry.js → p-cc8d6198.entry.js} +1 -1
  318. package/dist/lime-elements/{p-026eed2d.entry.js → p-cced022b.entry.js} +1 -1
  319. package/dist/lime-elements/{p-BAqAt5It.js → p-cv8kR73y.js} +1 -1
  320. package/dist/lime-elements/{p-be8950a6.entry.js → p-d0908a85.entry.js} +2 -2
  321. package/dist/lime-elements/{p-17aa9235.entry.js → p-da4b4a81.entry.js} +1 -1
  322. package/dist/lime-elements/{p-5d623004.entry.js → p-dd383c12.entry.js} +1 -1
  323. package/dist/lime-elements/{p-41172b62.entry.js → p-e0ab0046.entry.js} +1 -1
  324. package/dist/lime-elements/{p-8a9361a2.entry.js → p-eb5a18ff.entry.js} +1 -1
  325. package/dist/lime-elements/p-f35880ef.entry.js +1 -0
  326. package/dist/lime-elements/p-f8566c5b.entry.js +1 -0
  327. package/dist/lime-elements/{p-64540beb.entry.js → p-fad7a3fa.entry.js} +1 -1
  328. package/dist/lime-elements/p-fdc7da58.entry.js +1 -0
  329. package/dist/lime-elements/p-ooVD-6_a.js +1 -0
  330. package/dist/lime-elements/p-rJbGuVxd.js +1 -0
  331. package/dist/lime-elements/p-xGeCwSnE.js +1 -0
  332. package/dist/types/components/form/form.d.ts +15 -1
  333. package/dist/types/components/form/form.test-schemas.d.ts +4 -0
  334. package/dist/types/components/form/form.types.d.ts +6 -0
  335. package/dist/types/components/form/help/help.d.ts +0 -2
  336. package/dist/types/components/form/row/row.d.ts +3 -0
  337. package/dist/types/components/form/templates/common.d.ts +17 -4
  338. package/dist/types/components/form/templates/heading-level.d.ts +49 -0
  339. package/dist/types/components/form-header/form-header.d.ts +47 -0
  340. package/dist/types/components/form-header/help-props.d.ts +7 -0
  341. package/dist/types/components/popover/popover.d.ts +24 -0
  342. package/dist/types/components/popover-surface/popover-surface.d.ts +8 -0
  343. package/dist/types/components.d.ts +179 -3
  344. package/dist/types/interface.d.ts +1 -1
  345. package/package.json +1 -1
  346. package/dist/cjs/isArrayLike-C2RwZMG4.js +0 -69
  347. package/dist/cjs/limel-help-content.cjs.entry.js +0 -24
  348. package/dist/esm/isArrayLike-CyVGB489.js +0 -66
  349. package/dist/esm/limel-help-content.entry.js +0 -22
  350. package/dist/lime-elements/p-047c3234.entry.js +0 -1
  351. package/dist/lime-elements/p-068b141b.entry.js +0 -1
  352. package/dist/lime-elements/p-09f8f883.entry.js +0 -1
  353. package/dist/lime-elements/p-3f447d22.entry.js +0 -1
  354. package/dist/lime-elements/p-5633c069.entry.js +0 -1
  355. package/dist/lime-elements/p-600466a9.entry.js +0 -1
  356. package/dist/lime-elements/p-62b6e235.entry.js +0 -1
  357. package/dist/lime-elements/p-6770cf06.entry.js +0 -1
  358. package/dist/lime-elements/p-BYfPV0O4.js +0 -1
  359. package/dist/lime-elements/p-CW2-jhzP.js +0 -1
  360. package/dist/lime-elements/p-Cu9Ji1iJ.js +0 -1
  361. package/dist/lime-elements/p-D2VFSWDU.js +0 -1
  362. package/dist/lime-elements/p-D9Ezd43A.js +0 -1
  363. package/dist/lime-elements/p-DFu1q54T.js +0 -1
  364. package/dist/lime-elements/p-DK0pjX-Y.js +0 -1
  365. package/dist/lime-elements/p-DdnBHYb-.js +0 -7
  366. package/dist/lime-elements/p-DeIIlp6m.js +0 -1
  367. package/dist/lime-elements/p-Dq0uNStc.js +0 -1
  368. package/dist/lime-elements/p-afbe54e6.entry.js +0 -1
  369. package/dist/lime-elements/p-c583ab0d.entry.js +0 -1
  370. package/dist/lime-elements/p-e2971111.entry.js +0 -1
  371. package/dist/lime-elements/p-e332bb9b.entry.js +0 -1
  372. package/dist/lime-elements/p-e50acec1.entry.js +0 -1
  373. package/dist/lime-elements/p-f1ac7608.entry.js +0 -1
@@ -135,7 +135,7 @@ export class CollapsibleSection {
135
135
  removeEnterClickable(button);
136
136
  }
137
137
  render() {
138
- return (h("section", { key: 'a962a510a5b7b832a272efa04863b2256fcafb8d', class: `${this.isOpen ? 'open' : ''}`, "aria-invalid": this.invalid, "aria-labelledby": this.header ? this.headingId : null }, h("header", { key: '334d79ce2f441a96e3f7a9dade6284e20d6b4552' }, h("button", { key: 'ecbf1641823c0ae2549de6dc4e141e833399665f', class: "open-close-toggle", onClick: this.onClick, "aria-controls": this.bodyId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.getCollapsibleSectionAriaLabel(), type: "button" }), this.renderExpandCollapseSign(), this.renderIcon(), this.renderHeading(), h("div", { key: '90c7f01227969181d176d455131ced7df34b2737', class: "divider-line", role: "presentation" }), this.renderHeaderSlot(), this.renderActions()), h("div", { key: 'eb2a04b6993e09a6aad2efe34a9a3b396b4ec81f', class: "body", inert: !this.isOpen, "aria-hidden": String(!this.isOpen), id: this.bodyId, role: "region" }, h("slot", { key: '86595241b48df66a4482a90edbf6a0c8f699024a' }))));
138
+ return (h("section", { key: '1cb8db604bbbc8f8dbb7ca97895b3cfcf4dcd80b', class: `${this.isOpen ? 'open' : ''}`, "aria-invalid": this.invalid, "aria-labelledby": this.header ? this.headingId : null }, h("header", { key: '4e55c5b636b1d049df4d77a77a35285648096ea0' }, h("button", { key: '29eefb5499fb0f00cbdf513698acf8f357a935a6', class: "open-close-toggle", onClick: this.onClick, "aria-controls": this.bodyId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.getCollapsibleSectionAriaLabel(), type: "button" }), this.renderExpandCollapseSign(), this.renderIcon(), this.renderHeading(), h("div", { key: '16ec84abfe81a812c9d30188a714b58d363ca8a3', class: "divider-line", role: "presentation" }), this.renderHeaderSlot(), this.renderActions()), h("div", { key: 'f28ff7d73f05dc1a6ca0dcd9948cb67107647598', class: "body", inert: !this.isOpen, "aria-hidden": String(!this.isOpen), id: this.bodyId, role: "region" }, h("slot", { key: '33d0fda5501c178f92dff4a1b0361a43829fe095' }))));
139
139
  }
140
140
  getHeadingLevel() {
141
141
  return isHeadingLevel(this.headingLevel)
@@ -39,10 +39,10 @@ export class Palette {
39
39
  render() {
40
40
  const background = this.value ? { '--background': this.value } : {};
41
41
  return [
42
- h("div", { key: 'f64284a7fa49f91e6e9a9d6482e612d19c965976', class: "color-picker-palette", style: {
42
+ h("div", { key: 'b2a7d3a6fdb975039b27fa6c1991e2b13dfdfb7c', class: "color-picker-palette", style: {
43
43
  '--color-picker-column-count': `${this.getColumnCount()}`,
44
44
  } }, this.renderSwatches()),
45
- h("div", { key: '7b6b9c007133801e4266f454011c1f320b73b903', class: "chosen-color-name" }, h("limel-input-field", { key: 'f553fd5e39a163f40cf3c3d48f5deb0de2465577', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, invalid: this.invalid, placeholder: this.placeholder, disabled: !this.manualInput }), h("div", { key: '5d37ef30b20acb6e2986ca79d2e24475db85fa50', class: "chosen-color-preview", style: background })),
45
+ h("div", { key: '8388ecf46579ee13770a599fb4d73c355e01462e', class: "chosen-color-name" }, h("limel-input-field", { key: 'f98cd03a9a5beb2897961a063a1d78ae0e5dd71e', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, invalid: this.invalid, placeholder: this.placeholder, disabled: !this.manualInput }), h("div", { key: 'c9502329a95fdf25a7f787183f811679bde62882', class: "chosen-color-preview", style: background })),
46
46
  ];
47
47
  }
48
48
  getPalette() {
@@ -52,7 +52,7 @@ export class ColorPicker {
52
52
  if (this.readonly) {
53
53
  return this.renderPickerTrigger();
54
54
  }
55
- return (h("limel-popover", { open: this.isOpen, openDirection: "bottom-start", onClose: this.onPopoverClose }, this.renderPickerTrigger(), h("limel-color-picker-palette", { ref: this.setColorPickerPaletteElement, value: this.value, label: this.label, helperText: this.helperText, placeholder: this.placeholder, invalid: this.invalid, onChange: this.handleChange, required: this.required, palette: this.palette, columnCount: this.paletteColumnCount, manualInput: this.manualInput })));
55
+ return (h("limel-popover", { open: this.isOpen, openDirection: "bottom-start", popupRole: "dialog", accessibleLabel: this.label, onClose: this.onPopoverClose }, this.renderPickerTrigger(), h("limel-color-picker-palette", { ref: this.setColorPickerPaletteElement, value: this.value, label: this.label, helperText: this.helperText, placeholder: this.placeholder, invalid: this.invalid, onChange: this.handleChange, required: this.required, palette: this.palette, columnCount: this.paletteColumnCount, manualInput: this.manualInput })));
56
56
  };
57
57
  this.renderPickerTrigger = () => {
58
58
  const background = this.value ? { '--background': this.value } : {};
@@ -87,7 +87,7 @@ export class ColorPicker {
87
87
  (_a = this.contentElement) === null || _a === void 0 ? void 0 : _a.focus();
88
88
  }
89
89
  render() {
90
- return (h(Host, { key: '62a27a77858ae2cd66d473dd84e96d5187cf5e30' }, this.renderTooltip(), this.renderPickerPalette(), h("limel-input-field", { key: 'b061325ce2eadd8bedf2e133add138d698e194d1', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, readonly: this.readonly, disabled: this.disabled || !this.manualInput, invalid: this.invalid, placeholder: this.placeholder })));
90
+ return (h(Host, { key: '04973de288b9d3f4773a03c351d37f288e9e07bf' }, this.renderTooltip(), this.renderPickerPalette(), h("limel-input-field", { key: '93c5ea34c6eef290b1b4cf744b911a4e5de80c1c', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, readonly: this.readonly, disabled: this.disabled || !this.manualInput, invalid: this.invalid, placeholder: this.placeholder })));
91
91
  }
92
92
  static get is() { return "limel-color-picker"; }
93
93
  static get encapsulation() { return "shadow"; }
@@ -96,7 +96,7 @@ export class DatePickerCalendar {
96
96
  });
97
97
  }
98
98
  render() {
99
- return (h("div", { key: 'aad98186a855e3c4e30dbc597cfad23b9a4cbcbe', class: "container", ref: (el) => (this.container = el), style: {
99
+ return (h("div", { key: 'c9e65b096f57f96afaffcdca7889cf3addb3227f', class: "container", ref: (el) => (this.container = el), style: {
100
100
  '--today-label': `"${translate.get('date-picker.today', this.language)}"`,
101
101
  } }));
102
102
  }
@@ -84,10 +84,10 @@ export class Dialog {
84
84
  this.mdcDialog.destroy();
85
85
  }
86
86
  render() {
87
- return (h("div", { key: '1b5ea40cec2ae67e3ffa902bd35bfaca444ae2bf', class: {
87
+ return (h("div", { key: 'c25d2992895829671727b0d3a52c89d5cd6d3586', class: {
88
88
  'mdc-dialog': true,
89
89
  'full-screen': !!this.fullscreen,
90
- }, role: "alertdialog", "aria-modal": "true", "aria-labelledby": 'limel-dialog-title-' + this.id, "aria-describedby": 'limel-dialog-content-' + this.id }, h("input", { key: 'bcf3bcb62754208c582672667a175e736b0744fa', hidden: true, id: "initialFocusEl" }), h("div", { key: '296832fed308a7708a41049efaaf98d45514d2d7', class: "mdc-dialog__container" }, h("div", { key: '35367530bccda9a88285f3129d00875dc77c0257', class: "mdc-dialog__surface" }, h("input", { key: '9e70d9bd7cdce0dfef28ffe12ec5c07ffc66e5e1', type: "button", id: "initialFocusElement" }), this.renderHeading(), h("div", { key: '323d15273582eac0803124b9699d44e2b9a079e2', class: "mdc-dialog__content", id: 'limel-dialog-content-' + this.id }, h("slot", { key: '0905ccd516e77933531e600faba97e73b5317731' })), this.renderFooter())), h("div", { key: '1ec2d3d9aa09b60d478c4ff5beefcaaefef9baed', class: "mdc-dialog__scrim" })));
90
+ }, role: "alertdialog", "aria-modal": "true", "aria-labelledby": 'limel-dialog-title-' + this.id, "aria-describedby": 'limel-dialog-content-' + this.id }, h("input", { key: 'bee5a5e54bc971b2ebf33fbcd4d84feba6ca9353', hidden: true, id: "initialFocusEl" }), h("div", { key: '3e5beb7bb0d881de3449cfe26ba5776f3ece4c42', class: "mdc-dialog__container" }, h("div", { key: '928c11c5eca38e7e4065c55d8ec6872c6c0dbd71', class: "mdc-dialog__surface" }, h("input", { key: 'c81d5586e8bf3c3f57d7ea6b33585a5e16c016e3', type: "button", id: "initialFocusElement" }), this.renderHeading(), h("div", { key: 'd7f278245136ea690182f82ad717ff57e4e4855b', class: "mdc-dialog__content", id: 'limel-dialog-content-' + this.id }, h("slot", { key: '40c910630b7df325a5e15829f96d6ce0f8e52ff0' })), this.renderFooter())), h("div", { key: '8aa1010d47e375d2ef607f87d4e724c674493cf9', class: "mdc-dialog__scrim" })));
91
91
  }
92
92
  watchHandler(newValue, oldValue) {
93
93
  if (oldValue === newValue || !this.mdcDialog) {
@@ -94,11 +94,11 @@ export class Dock {
94
94
  this.resizeObserver.disconnect();
95
95
  }
96
96
  render() {
97
- return (h(Host, { key: '59f51282a849383ecc23d3699ab20d9eadef800a', class: {
97
+ return (h(Host, { key: '89d1c5d33de71c5b78b572ec3f72b36424c5b12a', class: {
98
98
  dock: true,
99
99
  expanded: this.expanded,
100
100
  'has-mobile-layout': this.useMobileLayout,
101
- } }, h("nav", { key: 'c60abf3144c58aac33e321548b3167387f1bc2a9', "aria-label": this.accessibleLabel }, this.dockItems.map(this.renderDockItem), this.renderSeparator(), this.dockFooterItems.map(this.renderDockItem)), this.renderExpandShrinkToggle()));
101
+ } }, h("nav", { key: 'bd58281fb439dbc3eb2b8fb159fb2a5fd95fc553', "aria-label": this.accessibleLabel }, this.dockItems.map(this.renderDockItem), this.renderSeparator(), this.dockFooterItems.map(this.renderDockItem)), this.renderExpandShrinkToggle()));
102
102
  }
103
103
  renderExpandShrinkToggle() {
104
104
  if (this.useMobileLayout || !this.allowResize) {
@@ -51,7 +51,7 @@ export class DragHandleComponent {
51
51
  render() {
52
52
  const tooltipLabel = translate.get('drag-handle.drag-to-reorder', this.language);
53
53
  const ariaLabel = translate.get('drag-handle.drag-handle', this.language);
54
- return (h(Host, { key: 'c88e3c81d5c24052b01bb44a6dd6d1abdddc75cb' }, h("button", { key: 'e45a3d7ca735bc27a4a05c13c65ec0d6e2b4df04', "data-drag-handle": true, type: "button", class: "limel-drag-handle", tabindex: -1, "aria-label": ariaLabel, id: this.dragHandleId, onClick: this.handleClick }, h("div", { key: '8a91aa1f70775148fb4262a9ef51129cfd89cf07', class: "drag-icon", role: "presentation", "aria-hidden": "true" }, h("div", { key: "1" }), h("div", { key: "2" }), h("div", { key: "3" }), h("div", { key: "4" }), h("div", { key: "5" }), h("div", { key: "6" })), h("limel-tooltip", { key: '645f814490598b794def31fde73de3bf61041904', openDirection: this.tooltipOpenDirection, elementId: this.dragHandleId, label: tooltipLabel }))));
54
+ return (h(Host, { key: '49a2335a2c2603c7fcdd3c329f71a27f52024f96' }, h("button", { key: '8a8caa87f2e6b43936753f11991e84e81f0385c6', "data-drag-handle": true, type: "button", class: "limel-drag-handle", tabindex: -1, "aria-label": ariaLabel, id: this.dragHandleId, onClick: this.handleClick }, h("div", { key: '841ce098bb464c79773cdac0ea40e89a941d439f', class: "drag-icon", role: "presentation", "aria-hidden": "true" }, h("div", { key: "1" }), h("div", { key: "2" }), h("div", { key: "3" }), h("div", { key: "4" }), h("div", { key: "5" }), h("div", { key: "6" })), h("limel-tooltip", { key: '650342114d7c64c5e621e1b65751b242c0a7c5a7', openDirection: this.tooltipOpenDirection, elementId: this.dragHandleId, label: tooltipLabel }))));
55
55
  }
56
56
  static get is() { return "limel-drag-handle"; }
57
57
  static get originalStyleUrls() {
@@ -75,7 +75,7 @@ export class EmailViewer {
75
75
  }
76
76
  }
77
77
  render() {
78
- return (h(Host, { key: '988ce952ec8bfb1a3f6107687bf99eb921e82a68' }, h("div", { key: '0c0551cf33923837a4fbc0be84bef92e5f42084a', class: "email", part: "email" }, this.renderHeaders(), this.renderRemoteImageBanner(), h("section", { key: '62189859a9796e38bfa2c3aa7af83c3f2cc1e5a6' }, this.renderAttachments(), this.renderBody()))));
78
+ return (h(Host, { key: '81c11ddad6377f11be8c2f82915708c16fd2ac77' }, h("div", { key: '4be342e3c746106d45eb4cd357f771a252a90ab8', class: "email", part: "email" }, this.renderHeaders(), this.renderRemoteImageBanner(), h("section", { key: 'd6b9661596131110ac40e7fa90dba17e8a5c99fd' }, this.renderAttachments(), this.renderBody()))));
79
79
  }
80
80
  renderHeaders() {
81
81
  const headerFields = [
@@ -154,7 +154,7 @@ export class File {
154
154
  this.resizingFile = undefined;
155
155
  }
156
156
  render() {
157
- return (h(Host, { key: 'f18050fc95a60bb3c7223ae12107d49e147def67', "aria-busy": this.isBusy ? 'true' : 'false' }, h("limel-file-dropzone", { key: 'ede8aa3e8c6e8406a0b38db4ecbe33159ec698bc', disabled: this.disabled || this.readonly || !!this.displayedFile, accept: this.accept, onFilesSelected: this.handleNewFiles }, this.renderChipset()), this.renderDragAndDropTip(), this.renderSpinner()));
157
+ return (h(Host, { key: '31fa16f6246cd4a6e7a7ce9ec6d32aadf245d84f', "aria-busy": this.isBusy ? 'true' : 'false' }, h("limel-file-dropzone", { key: 'f294201908569c70656ef52fff2fcca3e9b72bf0', disabled: this.disabled || this.readonly || !!this.displayedFile, accept: this.accept, onFilesSelected: this.handleNewFiles }, this.renderChipset()), this.renderDragAndDropTip(), this.renderSpinner()));
158
158
  }
159
159
  get statusText() {
160
160
  var _a, _b, _c;
@@ -90,7 +90,7 @@ export class FileDropzone {
90
90
  };
91
91
  }
92
92
  render() {
93
- return (h(Host, { key: '0209f44f7cfe46ccb98b3e15d597555ac57c0dce', onDrop: this.handleDrop, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave }, h("slot", { key: '1198fc4141e15527cd7575f5dd88b06b1a9d61c1' }), this.renderOnDragLayout()));
93
+ return (h(Host, { key: 'd04afa2b6b4b0cb45ac908891f8b0b5da8d9867b', onDrop: this.handleDrop, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave }, h("slot", { key: '1b125711e06ccd2357375127b6cf2dd12779e584' }), this.renderOnDragLayout()));
94
94
  }
95
95
  static get is() { return "limel-file-dropzone"; }
96
96
  static get encapsulation() { return "shadow"; }
@@ -72,7 +72,7 @@ export class FileInput {
72
72
  this.fileInput = this.element.shadowRoot.getElementById(this.fileInputId);
73
73
  }
74
74
  render() {
75
- return (h(Host, { key: 'e499bde6727abc2123d0aa70d446860de930a838', onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("input", { key: '9e3ba97f8f43b90d6d63e348acda5fa2a3976432', hidden: true, id: this.fileInputId, onChange: this.handleFileChange, type: "file", accept: this.accept, disabled: this.disabled, multiple: this.multiple }), h("slot", { key: 'c29534ed1ee305ba85afd02c4b66e61eae817a5e' })));
75
+ return (h(Host, { key: '2ec5c6a56f846b4c606633fd418c4867f50f470d', onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("input", { key: 'c6a782ec3d71be85ca6e4fe13f5616b7c3809989', hidden: true, id: this.fileInputId, onChange: this.handleFileChange, type: "file", accept: this.accept, disabled: this.disabled, multiple: this.multiple }), h("slot", { key: '86efec1ed582204301530ecd549367be1c952b1d' })));
76
76
  }
77
77
  handleKeyDown(event) {
78
78
  if (['Tab', 'Backspace', 'Enter'].includes(event.code)) {
@@ -31,7 +31,7 @@ export class FlexContainer {
31
31
  console.warn('limel-flex-container is deprecated, please use CSS instead: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Flexible_Box_Layout/Basic_Concepts_of_Flexbox');
32
32
  }
33
33
  render() {
34
- return h("slot", { key: '2049c195a3ded73e31597b1e51f3d4af9b7316ed' });
34
+ return h("slot", { key: '15e4e05dceb2966750d9fce29f401585c1e7332d' });
35
35
  }
36
36
  static get is() { return "limel-flex-container"; }
37
37
  static get encapsulation() { return "shadow"; }
@@ -1,7 +1,7 @@
1
1
  import React from "react";
2
2
  import { getDefaultRegistry } from "@rjsf/core";
3
3
  import { CodeEditor } from "../widgets/code-editor";
4
- import { renderDescription, renderTitle } from "../templates/common";
4
+ import { renderHeader } from "../templates/common";
5
5
  import { isCustomObjectSchema } from "./field-helpers";
6
6
  const { fields: defaultFields } = getDefaultRegistry();
7
7
  const BaseObjectField = defaultFields.ObjectField;
@@ -10,6 +10,6 @@ export class ObjectField extends React.Component {
10
10
  if (!isCustomObjectSchema(this.props.schema)) {
11
11
  return React.createElement(BaseObjectField, this.props);
12
12
  }
13
- return React.createElement(React.Fragment, {}, renderTitle(this.props.schema.title), renderDescription(this.props.schema.description), React.createElement(CodeEditor, this.props));
13
+ return React.createElement(React.Fragment, {}, renderHeader(this.props.schema.title, this.props.schema.description), React.createElement(CodeEditor, this.props));
14
14
  }
15
15
  }
@@ -358,7 +358,7 @@ limel-collapsible-section.is-being-dragged {
358
358
  width: 100%;
359
359
  }
360
360
 
361
- h1 {
361
+ :is(h1, h2, h3, h4, h5, h6) {
362
362
  position: relative;
363
363
  margin-top: 0;
364
364
  margin-bottom: 0;
@@ -366,8 +366,8 @@ h1 {
366
366
  hyphens: auto;
367
367
  -webkit-hyphens: auto;
368
368
  text-wrap: balance;
369
- font-size: var(--limel-form-h1-font-size);
370
- line-height: calc(var(--limel-form-h1-font-size) * 1.42857);
369
+ font-size: var(--limel-form-heading-font-size);
370
+ line-height: calc(var(--limel-form-heading-font-size) * 1.42857);
371
371
  letter-spacing: -0.01rem;
372
372
  font-weight: 500;
373
373
  }
@@ -385,18 +385,18 @@ limel-markdown {
385
385
  top: calc(var(--form-row-gap, 1rem) * -0.5);
386
386
  left: calc(var(--form-column-gap, 1rem) * -0.5);
387
387
  }
388
- .rjsf-field h1 {
388
+ .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
389
389
  color: rgb(var(--contrast-1400), 0.8);
390
390
  }
391
- .rjsf-field h1 {
392
- --limel-form-h1-font-size: 1.476rem;
391
+ .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
392
+ --limel-form-heading-font-size: 1.476rem;
393
393
  font-weight: 800;
394
394
  }
395
- .rjsf-field .rjsf-field h1 {
396
- --limel-form-h1-font-size: 1.383rem;
395
+ .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
396
+ --limel-form-heading-font-size: 1.383rem;
397
397
  font-weight: 700;
398
398
  }
399
- .rjsf-field .rjsf-field h1:before {
399
+ .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
400
400
  content: "";
401
401
  display: block;
402
402
  position: absolute;
@@ -410,29 +410,29 @@ limel-markdown {
410
410
  border-radius: 0.125rem;
411
411
  opacity: 0.6;
412
412
  }
413
- .rjsf-field .rjsf-field .rjsf-field h1 {
414
- --limel-form-h1-font-size: 1.296rem;
413
+ .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
414
+ --limel-form-heading-font-size: 1.296rem;
415
415
  font-weight: 600;
416
416
  }
417
- .rjsf-field .rjsf-field .rjsf-field h1:before {
417
+ .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
418
418
  display: none;
419
419
  }
420
- .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1 {
421
- --limel-form-h1-font-size: 1.215rem;
420
+ .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
421
+ --limel-form-heading-font-size: 1.215rem;
422
422
  }
423
- .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1:before {
423
+ .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
424
424
  display: none;
425
425
  }
426
- .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1 {
427
- --limel-form-h1-font-size: 1.138rem;
426
+ .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
427
+ --limel-form-heading-font-size: 1.138rem;
428
428
  }
429
- .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1:before {
429
+ .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
430
430
  display: none;
431
431
  }
432
- .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1 {
433
- --limel-form-h1-font-size: 1.067rem;
432
+ .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6) {
433
+ --limel-form-heading-font-size: 1.067rem;
434
434
  }
435
- .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field h1:before {
435
+ .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field .rjsf-field :is(h1, h2, h3, h4, h5, h6):before {
436
436
  display: none;
437
437
  }
438
438
 
@@ -22,6 +22,7 @@ import { widgets } from "./widgets";
22
22
  import { rjsfValidator } from "./validator";
23
23
  import { isEqual, mapValues } from "lodash-es";
24
24
  import { showField } from "./show-field";
25
+ import { HeadingLevelContext, isHeadingLevel } from "./templates/heading-level";
25
26
  /**
26
27
  * @exampleComponent limel-example-form
27
28
  * @exampleComponent limel-example-nested-form
@@ -40,6 +41,7 @@ import { showField } from "./show-field";
40
41
  * @exampleComponent limel-example-builtin-field-types-form
41
42
  * @exampleComponent limel-example-code-editor-form
42
43
  * @exampleComponent limel-example-form-highlighted-field
44
+ * @exampleComponent limel-example-form-heading-level
43
45
  */
44
46
  export class Form {
45
47
  constructor() {
@@ -51,6 +53,16 @@ export class Form {
51
53
  * Set to `true` to disable the whole form.
52
54
  */
53
55
  this.disabled = false;
56
+ /**
57
+ * The level, from `1` to `6`, of the topmost headings in the form.
58
+ * The headings of the sections inside them get one level more for each
59
+ * level of nesting, down to `6`.
60
+ *
61
+ * Set it so that the headings of the form fit below the headings of
62
+ * the page around it. For example, when the form is in a section with
63
+ * an `h2` heading, set it to `3`.
64
+ */
65
+ this.headingLevel = 1;
54
66
  /**
55
67
  * Set to `true` to render every field with a validation error as
56
68
  * invalid, even untouched ones, and to reflect that on each
@@ -66,10 +78,21 @@ export class Form {
66
78
  connectedCallback() {
67
79
  this.initialize();
68
80
  }
81
+ componentWillLoad() {
82
+ this.warnIfHeadingLevelIsInvalid();
83
+ }
69
84
  componentDidLoad() {
70
85
  this.initialize();
71
86
  this.showHighlightedField();
72
87
  }
88
+ handleHeadingLevelChange() {
89
+ this.warnIfHeadingLevelIsInvalid();
90
+ }
91
+ warnIfHeadingLevelIsInvalid() {
92
+ if (!isHeadingLevel(this.headingLevel)) {
93
+ console.warn(`limel-form: headingLevel must be a number from 1 to 6, but it is ${this.headingLevel}. The headings start at level 1 instead.`);
94
+ }
95
+ }
73
96
  handleHighlightedFieldChange(newPath, oldPath) {
74
97
  // A host that renders again passes an equal path in a new array.
75
98
  if (!isEqual(newPath, oldPath)) {
@@ -96,14 +119,18 @@ export class Form {
96
119
  this.initialized = false;
97
120
  }
98
121
  render() {
99
- return h("div", { key: 'e57ab791f09cd1e8271437e91822ffabcfe2a118', class: "root" });
122
+ return h("div", { key: '3f2e4aedf778c43f02ab87c32074cb3face9a55b', class: "root" });
100
123
  }
101
124
  reactRender() {
102
125
  if (!this.root) {
103
126
  const rootElement = this.host.shadowRoot.querySelector('.root');
104
127
  this.root = createRoot(rootElement);
105
128
  }
106
- this.root.render(React.createElement(JSONSchemaForm, {
129
+ this.root.render(React.createElement(HeadingLevelContext.Provider, {
130
+ value: isHeadingLevel(this.headingLevel)
131
+ ? this.headingLevel
132
+ : 1,
133
+ }, React.createElement(JSONSchemaForm, {
107
134
  schema: this.prepareSchema(this.schema),
108
135
  formData: this.value,
109
136
  onChange: this.handleChange,
@@ -141,7 +168,7 @@ export class Form {
141
168
  ArrayField: CustomArrayField,
142
169
  ObjectField: CustomObjectField,
143
170
  },
144
- }, []));
171
+ }, [])));
145
172
  }
146
173
  showHighlightedField() {
147
174
  if (!this.highlightedField) {
@@ -383,6 +410,33 @@ export class Form {
383
410
  "getter": false,
384
411
  "setter": false
385
412
  },
413
+ "headingLevel": {
414
+ "type": "number",
415
+ "mutable": false,
416
+ "complexType": {
417
+ "original": "HeadingLevel",
418
+ "resolved": "1 | 2 | 3 | 4 | 5 | 6",
419
+ "references": {
420
+ "HeadingLevel": {
421
+ "location": "import",
422
+ "path": "./form.types",
423
+ "id": "src/components/form/form.types.ts::HeadingLevel",
424
+ "referenceLocation": "HeadingLevel"
425
+ }
426
+ }
427
+ },
428
+ "required": false,
429
+ "optional": false,
430
+ "docs": {
431
+ "tags": [],
432
+ "text": "The level, from `1` to `6`, of the topmost headings in the form.\nThe headings of the sections inside them get one level more for each\nlevel of nesting, down to `6`.\n\nSet it so that the headings of the form fit below the headings of\nthe page around it. For example, when the form is in a section with\nan `h2` heading, set it to `3`."
433
+ },
434
+ "getter": false,
435
+ "setter": false,
436
+ "reflect": false,
437
+ "attribute": "heading-level",
438
+ "defaultValue": "1"
439
+ },
386
440
  "revealErrors": {
387
441
  "type": "boolean",
388
442
  "mutable": false,
@@ -473,6 +527,9 @@ export class Form {
473
527
  static get elementRef() { return "host"; }
474
528
  static get watchers() {
475
529
  return [{
530
+ "propName": "headingLevel",
531
+ "methodName": "handleHeadingLevelChange"
532
+ }, {
476
533
  "propName": "highlightedField",
477
534
  "methodName": "handleHighlightedFieldChange"
478
535
  }];
@@ -680,3 +680,65 @@ export const requiredCheckboxSchema = {
680
680
  },
681
681
  required: ['accept'],
682
682
  };
683
+ export const nestedTitlesSchema = {
684
+ type: 'object',
685
+ title: 'Form',
686
+ properties: {
687
+ section: {
688
+ type: 'object',
689
+ title: 'Section',
690
+ properties: {
691
+ subsection: {
692
+ type: 'object',
693
+ title: 'Subsection',
694
+ properties: {
695
+ name: { type: 'string', title: 'Name' },
696
+ },
697
+ },
698
+ },
699
+ },
700
+ list: {
701
+ type: 'array',
702
+ title: 'List',
703
+ items: { type: 'string' },
704
+ },
705
+ },
706
+ };
707
+ export const titledRowLayoutSchema = {
708
+ type: 'object',
709
+ title: 'Form',
710
+ properties: {
711
+ first: { type: 'string', title: 'First' },
712
+ second: { type: 'string', title: 'Second' },
713
+ },
714
+ lime: {
715
+ layout: {
716
+ type: 'row',
717
+ },
718
+ },
719
+ };
720
+ export const untitledRootSchema = {
721
+ type: 'object',
722
+ properties: {
723
+ section: {
724
+ type: 'object',
725
+ title: 'Section',
726
+ properties: {
727
+ name: { type: 'string', title: 'Name' },
728
+ },
729
+ },
730
+ },
731
+ };
732
+ export const untitledRowSchema = {
733
+ type: 'object',
734
+ title: 'Form',
735
+ properties: {
736
+ first: { type: 'string', title: 'First' },
737
+ second: { type: 'string' },
738
+ },
739
+ lime: {
740
+ layout: {
741
+ type: 'row',
742
+ },
743
+ },
744
+ };
@@ -1,4 +1,5 @@
1
1
  import React from "react";
2
+ import { getHelpProps } from "../../form-header/help-props";
2
3
  /**
3
4
  *
4
5
  * @param schema
@@ -10,9 +11,5 @@ export function getHelpComponent(schema, extraProps) {
10
11
  if (!help) {
11
12
  return;
12
13
  }
13
- if (typeof help === 'string') {
14
- return React.createElement('limel-help', Object.assign({ value: help }, extraProps));
15
- }
16
- const helpProps = help;
17
- return React.createElement('limel-help', Object.assign(Object.assign({}, helpProps), extraProps));
14
+ return React.createElement('limel-help', Object.assign(Object.assign({}, getHelpProps(help)), extraProps));
18
15
  }
@@ -1,5 +1,6 @@
1
1
  import React from "react";
2
2
  import { RowLayoutContext } from "./row-context";
3
+ import { HeadingLevelContext } from "../templates/heading-level";
3
4
  export class Row extends React.Component {
4
5
  constructor(props) {
5
6
  super(props);
@@ -26,7 +27,8 @@ export class Row extends React.Component {
26
27
  }
27
28
  renderTitle() {
28
29
  var _a;
29
- return React.createElement('h1', { className: 'title' }, (_a = this.schema) === null || _a === void 0 ? void 0 : _a.title);
30
+ const title = (_a = this.schema) === null || _a === void 0 ? void 0 : _a.title;
31
+ return React.createElement(title ? `h${this.context}` : 'div', { className: 'title' }, title);
30
32
  }
31
33
  renderDescription() {
32
34
  var _a;
@@ -48,3 +50,4 @@ export class Row extends React.Component {
48
50
  return (_c = (_b = (_a = this.schema) === null || _a === void 0 ? void 0 : _a.lime) === null || _b === void 0 ? void 0 : _b.layout) === null || _c === void 0 ? void 0 : _c.icon;
49
51
  }
50
52
  }
53
+ Row.contextType = HeadingLevelContext;
@@ -1,7 +1,6 @@
1
1
  import React from "react";
2
- import { renderDescription, renderTitle } from "./common";
2
+ import { renderSection } from "./common";
3
3
  import { toSchemaPath } from "./object-field";
4
- import { getHelpComponent } from "../help";
5
4
  import { DragToReorder } from "../../../util/drag-to-reorder";
6
5
  import { ArrayFieldContext } from "./array-context";
7
6
  export const ARRAY_REORDER_EVENT = 'arrayReorder';
@@ -64,12 +63,13 @@ export class ArrayFieldTemplate extends React.Component {
64
63
  }
65
64
  }
66
65
  render() {
66
+ var _a;
67
67
  const orderedItems = this.getOrderedItems();
68
68
  const contextValue = this.getContextValue();
69
- return React.createElement(ArrayFieldContext.Provider, { value: contextValue }, React.createElement('div', {}, renderTitle(this.props.title), getHelpComponent(this.props.schema), renderDescription(this.props.schema.description), React.createElement('div', {
69
+ return React.createElement(ArrayFieldContext.Provider, { value: contextValue }, React.createElement('div', {}, renderSection(this.props.title, this.props.schema.description, (_a = this.props.schema.lime) === null || _a === void 0 ? void 0 : _a.help, React.createElement('div', {
70
70
  className: 'array-items',
71
71
  ref: this.setContainer,
72
- }, orderedItems), this.renderAddButton()));
72
+ }, orderedItems), this.renderAddButton())));
73
73
  }
74
74
  renderAddButton() {
75
75
  if (!this.props.canAdd) {
@@ -1,15 +1,32 @@
1
1
  import { get, isEmpty } from "lodash-es";
2
2
  import React from "react";
3
3
  import { isArrayType, isObjectType } from "../schema";
4
+ import { BelowHeading, Header } from "./heading-level";
4
5
  /**
6
+ * Render the title of a field, with its description and help, as a
7
+ * heading.
5
8
  *
6
- * @param title
9
+ * @param title - the title of the field
10
+ * @param description - the description of the field, in markdown
11
+ * @param help - the help of the field, as in `lime.help` of the schema
7
12
  */
8
- export function renderTitle(title) {
9
- if (!title) {
13
+ export function renderHeader(title, description, help) {
14
+ if (!title && !description && !help) {
10
15
  return;
11
16
  }
12
- return React.createElement('h1', { className: 'mdc-typography mdc-typography--headline1' }, title);
17
+ return React.createElement(Header, { title, description, help });
18
+ }
19
+ /**
20
+ * Render a field with its header, followed by its content. The headings in
21
+ * the content are one level below the heading of the field.
22
+ *
23
+ * @param title - the title of the field
24
+ * @param description - the description of the field, in markdown
25
+ * @param help - the help of the field, as in `lime.help` of the schema
26
+ * @param content - the content of the field
27
+ */
28
+ export function renderSection(title, description, help, ...content) {
29
+ return React.createElement(React.Fragment, {}, renderHeader(title, description, help), React.createElement(BelowHeading, { hasHeading: !!title }, ...content));
13
30
  }
14
31
  /**
15
32
  *
@@ -0,0 +1,51 @@
1
+ import React, { useContext } from "react";
2
+ /**
3
+ * @param level - any value
4
+ * @returns whether the value is a heading level, from `1` to `6`
5
+ */
6
+ export function isHeadingLevel(level) {
7
+ return (typeof level === 'number' &&
8
+ Number.isSafeInteger(level) &&
9
+ level >= 1 &&
10
+ level <= 6);
11
+ }
12
+ /**
13
+ * The heading level that a title at the current depth in the form gets.
14
+ */
15
+ export const HeadingLevelContext = React.createContext(1);
16
+ /**
17
+ * @param level - a heading level
18
+ * @returns the level of the headings one step below, down to `h6`
19
+ */
20
+ export function nextHeadingLevel(level) {
21
+ return Math.min(level + 1, 6);
22
+ }
23
+ /**
24
+ * The title of a field, drawn with the heading level of its depth.
25
+ *
26
+ * @param props
27
+ * @param props.title - the title of the field
28
+ * @param props.description - the description of the field, in markdown
29
+ * @param props.help - the help of the field
30
+ */
31
+ export function Header({ title, description, help }) {
32
+ const headingLevel = useContext(HeadingLevelContext);
33
+ return React.createElement('limel-form-header', {
34
+ heading: title,
35
+ headingLevel: headingLevel,
36
+ description: description,
37
+ help: help,
38
+ });
39
+ }
40
+ /**
41
+ * Gives the fields it wraps one heading level more than the level of the
42
+ * heading above them, if there is one.
43
+ *
44
+ * @param props
45
+ * @param props.hasHeading - whether the fields are below a heading
46
+ * @param props.children - the fields
47
+ */
48
+ export function BelowHeading({ hasHeading, children, }) {
49
+ const level = useContext(HeadingLevelContext);
50
+ return React.createElement(HeadingLevelContext.Provider, { value: hasHeading ? nextHeadingLevel(level) : level }, children);
51
+ }
@@ -1,5 +1,5 @@
1
1
  import React, { useContext } from "react";
2
- import { hasNestedErrors, renderDescription, renderTitle } from "./common";
2
+ import { hasNestedErrors, renderDescription, renderSection } from "./common";
3
3
  import { GridLayout } from "./grid-layout";
4
4
  import { RowLayout } from "./row-layout";
5
5
  import { getHelpComponent } from "../help";
@@ -16,14 +16,8 @@ export const ObjectFieldTemplate = (props) => {
16
16
  return renderCollapsibleField(props);
17
17
  };
18
18
  function renderFieldWithTitle(props) {
19
- return React.createElement(React.Fragment, {}, renderSectionHeader(props), renderDescription(props.description), renderProperties(props.properties, props.schema, props.fieldPathId.path.map(String)));
20
- }
21
- function renderSectionHeader(props) {
22
- const help = getHelpComponent(props.schema);
23
- if (!help) {
24
- return renderTitle(props.title);
25
- }
26
- return React.createElement(React.Fragment, {}, renderTitle(props.title), help);
19
+ var _a;
20
+ return renderSection(props.title, props.description, (_a = props.schema.lime) === null || _a === void 0 ? void 0 : _a.help, renderProperties(props.properties, props.schema, props.fieldPathId.path.map(String)));
27
21
  }
28
22
  function renderCollapsibleField(props) {
29
23
  var _a;
@@ -0,0 +1,3 @@
1
+ limel-form-header {
2
+ display: block;
3
+ }