@limetech/lime-elements 40.5.4 → 40.6.1

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 (451) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/cjs/{adapt-color-contrast-Beo1IEl_.js → adapt-color-contrast-h6iwOfZd.js} +1 -1
  3. package/dist/cjs/{checkbox.template-BPk8WkQF.js → checkbox.template-CoNVC4Nf.js} +2 -2
  4. package/dist/cjs/{files-DI4jItxi.js → files-DpGigQ8k.js} +1 -1
  5. package/dist/cjs/{format-bytes-CpUKKU86.js → format-bytes-WTHVI718.js} +1 -4
  6. package/dist/cjs/{hotkeys-BtR8uxvl.js → hotkeys-D761KWnZ.js} +1 -0
  7. package/dist/cjs/{image-resize-CG2fitJT.js → image-resize-JlRLB97I.js} +1 -0
  8. package/dist/cjs/{image.template-DY7qwbuy.js → image.template-DlF-f23b.js} +1 -1
  9. package/dist/cjs/{index--B6-r0uo.js → index-BlsqxTB1.js} +1 -7
  10. package/dist/cjs/{index-ETPz91V5.js → index-zZvs6xK-.js} +9382 -9504
  11. package/dist/cjs/index.cjs.js +1 -1
  12. package/dist/cjs/{isArrayLikeObject-U2Ddbw4n.js → isArrayLikeObject-BhSkOTkw.js} +17 -0
  13. package/dist/cjs/{language-CaqPKPyW.js → language-v-MMS6ym.js} +1 -1
  14. package/dist/cjs/lime-elements.cjs.js +2 -2
  15. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +2 -2
  16. package/dist/cjs/limel-action-bar_3.cjs.entry.js +20 -18
  17. package/dist/cjs/limel-ai-avatar.cjs.entry.js +5 -5
  18. package/dist/cjs/limel-badge.cjs.entry.js +3 -3
  19. package/dist/cjs/limel-banner.cjs.entry.js +2 -2
  20. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +80 -80
  21. package/dist/cjs/limel-button-group.cjs.entry.js +3 -3
  22. package/dist/cjs/limel-button.cjs.entry.js +4 -4
  23. package/dist/cjs/limel-callout.cjs.entry.js +6 -6
  24. package/dist/cjs/limel-card.cjs.entry.js +8 -7
  25. package/dist/cjs/limel-chart.cjs.entry.js +5 -5
  26. package/dist/cjs/limel-checkbox.cjs.entry.js +12 -10
  27. package/dist/cjs/limel-chip-set.cjs.entry.js +30 -39
  28. package/dist/cjs/limel-chip_2.cjs.entry.js +9 -9
  29. package/dist/cjs/limel-circular-progress.cjs.entry.js +2 -2
  30. package/dist/cjs/limel-code-diff.cjs.entry.js +25 -28
  31. package/dist/cjs/limel-code-editor.cjs.entry.js +17 -12
  32. package/dist/cjs/limel-collapsible-section.cjs.entry.js +8 -8
  33. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +3 -3
  34. package/dist/cjs/limel-color-picker.cjs.entry.js +6 -5
  35. package/dist/cjs/limel-config.cjs.entry.js +3 -3
  36. package/dist/cjs/limel-date-picker.cjs.entry.js +8 -11
  37. package/dist/cjs/limel-dialog.cjs.entry.js +6 -9
  38. package/dist/cjs/limel-dock-button.cjs.entry.js +6 -11
  39. package/dist/cjs/limel-dock.cjs.entry.js +3 -3
  40. package/dist/cjs/limel-drag-handle.cjs.entry.js +6 -6
  41. package/dist/cjs/limel-dynamic-label.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-email-viewer.cjs.entry.js +11 -17
  43. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +11 -12
  44. package/dist/cjs/limel-file-viewer.cjs.entry.js +1099 -1147
  45. package/dist/cjs/limel-file.cjs.entry.js +17 -16
  46. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +100 -94
  47. package/dist/cjs/limel-flex-container.cjs.entry.js +2 -2
  48. package/dist/cjs/limel-form.cjs.entry.js +67 -68
  49. package/dist/cjs/limel-grid.cjs.entry.js +2 -2
  50. package/dist/cjs/limel-header.cjs.entry.js +2 -2
  51. package/dist/cjs/limel-help-content.cjs.entry.js +2 -2
  52. package/dist/cjs/limel-help.cjs.entry.js +3 -3
  53. package/dist/cjs/limel-helper-line_3.cjs.entry.js +12 -14
  54. package/dist/cjs/limel-hotkey_4.cjs.entry.js +23 -23
  55. package/dist/cjs/limel-icon-button.cjs.entry.js +4 -4
  56. package/dist/cjs/limel-icon.cjs.entry.js +15 -13
  57. package/dist/cjs/limel-info-tile.cjs.entry.js +10 -10
  58. package/dist/cjs/limel-list-item.cjs.entry.js +10 -10
  59. package/dist/cjs/limel-markdown.cjs.entry.js +50 -23
  60. package/dist/cjs/limel-masonry-layout.cjs.entry.js +6 -5
  61. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +3 -3
  62. package/dist/cjs/limel-pagination-jump.cjs.entry.js +17 -15
  63. package/dist/cjs/limel-pagination.cjs.entry.js +10 -9
  64. package/dist/cjs/limel-picker.cjs.entry.js +31 -29
  65. package/dist/cjs/limel-popover_2.cjs.entry.js +25 -21
  66. package/dist/cjs/limel-profile-picture.cjs.entry.js +12 -11
  67. package/dist/cjs/limel-progress-flow-item.cjs.entry.js +1 -1
  68. package/dist/cjs/limel-progress-flow.cjs.entry.js +11 -10
  69. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +476 -408
  70. package/dist/cjs/limel-radio-button-group.cjs.entry.js +2 -2
  71. package/dist/cjs/limel-radio-button.cjs.entry.js +3 -3
  72. package/dist/cjs/limel-scroller.cjs.entry.js +180 -0
  73. package/dist/cjs/limel-select.cjs.entry.js +17 -17
  74. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  75. package/dist/cjs/limel-slider.cjs.entry.js +18 -27
  76. package/dist/cjs/limel-snackbar.cjs.entry.js +5 -5
  77. package/dist/cjs/limel-split-button.cjs.entry.js +1 -1
  78. package/dist/cjs/limel-switch.cjs.entry.js +3 -3
  79. package/dist/cjs/limel-tab-bar.cjs.entry.js +66 -97
  80. package/dist/cjs/limel-tab-panel.cjs.entry.js +12 -9
  81. package/dist/cjs/limel-table.cjs.entry.js +527 -106
  82. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +15 -14
  83. package/dist/cjs/limel-text-editor.cjs.entry.js +3 -3
  84. package/dist/cjs/loader.cjs.js +2 -2
  85. package/dist/cjs/{make-enter-clickable-NuTMC9MU.js → make-enter-clickable-BZHEWIJD.js} +19 -12
  86. package/dist/cjs/markdown-exporter-C-UW43FF.js +6210 -0
  87. package/dist/cjs/{markdown-parser-YH5HSSgF.js → markdown-parser-ssDij8_l.js} +603 -870
  88. package/dist/cjs/{moment-CqRdiK10.js → moment-Cfsz2WF1.js} +1062 -833
  89. package/dist/cjs/{random-string-BTzDB2ee.js → random-string-CFCtFh5l.js} +1 -0
  90. package/dist/cjs/{render-list-component-5ZKWpCnM.js → render-list-component-BtAliHQp.js} +3 -5
  91. package/dist/cjs/{sv-BSR4W58y.js → sv-Co78RX70.js} +31 -3
  92. package/dist/cjs/{translations-DFFpR6AZ.js → translations-CNTWud2a.js} +5 -8
  93. package/dist/collection/collection-manifest.json +1 -0
  94. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  95. package/dist/collection/components/action-bar/action-bar-item/action-bar-item.js +8 -7
  96. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  97. package/dist/collection/components/action-bar/action-bar.js +6 -5
  98. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  99. package/dist/collection/components/badge/badge.js +2 -2
  100. package/dist/collection/components/banner/banner.js +1 -1
  101. package/dist/collection/components/breadcrumbs/breadcrumbs.js +2 -2
  102. package/dist/collection/components/button/button.js +2 -2
  103. package/dist/collection/components/button-group/button-group.js +1 -1
  104. package/dist/collection/components/callout/callout.js +1 -1
  105. package/dist/collection/components/card/card.js +6 -5
  106. package/dist/collection/components/checkbox/checkbox.js +9 -7
  107. package/dist/collection/components/checkbox/checkbox.template.js +1 -1
  108. package/dist/collection/components/chip/chip.js +1 -1
  109. package/dist/collection/components/chip-set/chip-set-input-helpers.js +18 -21
  110. package/dist/collection/components/chip-set/chip-set.js +7 -13
  111. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  112. package/dist/collection/components/code-diff/code-diff.js +19 -22
  113. package/dist/collection/components/code-diff/diff-engine.js +2 -2
  114. package/dist/collection/components/code-editor/code-editor.js +8 -3
  115. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  116. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  117. package/dist/collection/components/color-picker/color-picker.js +5 -4
  118. package/dist/collection/components/config/config.js +2 -2
  119. package/dist/collection/components/date-picker/date-picker.js +3 -6
  120. package/dist/collection/components/date-picker/flatpickr-adapter/deferred-destroy.js +4 -3
  121. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  122. package/dist/collection/components/date-picker/pickers/month-picker.js +40 -36
  123. package/dist/collection/components/date-picker/pickers/quarter-picker.js +35 -30
  124. package/dist/collection/components/date-picker/pickers/year-picker.js +16 -20
  125. package/dist/collection/components/dialog/dialog.js +4 -7
  126. package/dist/collection/components/dock/dock-button/dock-button.js +4 -9
  127. package/dist/collection/components/dock/dock.js +2 -2
  128. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  129. package/dist/collection/components/email-viewer/email-loader.js +14 -10
  130. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  131. package/dist/collection/components/email-viewer/sanitize-email-html.js +1 -4
  132. package/dist/collection/components/email-viewer/split-email-address-list.js +4 -10
  133. package/dist/collection/components/file/file.js +11 -10
  134. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  135. package/dist/collection/components/file-input/file-input.js +7 -8
  136. package/dist/collection/components/file-viewer/file-viewer.js +12 -9
  137. package/dist/collection/components/flex-container/flex-container.js +1 -1
  138. package/dist/collection/components/form/fields/schema-field.js +1 -1
  139. package/dist/collection/components/form/form.js +2 -5
  140. package/dist/collection/components/form/form.test-schemas.js +8 -10
  141. package/dist/collection/components/form/templates/array-field.js +7 -9
  142. package/dist/collection/components/form/templates/common.js +19 -19
  143. package/dist/collection/components/form/templates/object-field.js +1 -1
  144. package/dist/collection/components/form/validation-display.js +2 -2
  145. package/dist/collection/components/form/validators/format.js +1 -0
  146. package/dist/collection/components/form/widgets/code-editor.js +6 -9
  147. package/dist/collection/components/form/widgets/date-picker.js +1 -3
  148. package/dist/collection/components/grid/grid.js +1 -1
  149. package/dist/collection/components/header/header.js +1 -1
  150. package/dist/collection/components/help/help-content.js +1 -1
  151. package/dist/collection/components/help/help.js +2 -2
  152. package/dist/collection/components/helper-line/helper-line.js +3 -3
  153. package/dist/collection/components/hotkey/hotkey.js +1 -1
  154. package/dist/collection/components/icon/icon.js +11 -9
  155. package/dist/collection/components/icon-button/icon-button.js +1 -1
  156. package/dist/collection/components/info-tile/info-tile.js +9 -9
  157. package/dist/collection/components/input-field/input-field.js +11 -11
  158. package/dist/collection/components/list/list-renderer.js +5 -7
  159. package/dist/collection/components/list/list.js +2 -2
  160. package/dist/collection/components/list-item/list-item.js +2 -2
  161. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  162. package/dist/collection/components/markdown/hydrate-custom-elements.js +6 -5
  163. package/dist/collection/components/markdown/image-intersection-observer.js +9 -8
  164. package/dist/collection/components/markdown/image-markdown-plugin.js +9 -7
  165. package/dist/collection/components/markdown/link-markdown-plugin.js +11 -10
  166. package/dist/collection/components/markdown/markdown-exporter.js +186 -0
  167. package/dist/collection/components/markdown/markdown-parser.js +2 -3
  168. package/dist/collection/components/markdown/markdown.js +59 -6
  169. package/dist/collection/components/markdown/remove-empty-paragraphs-plugin.js +4 -5
  170. package/dist/collection/components/masonry-layout/masonry-layout.js +5 -4
  171. package/dist/collection/components/menu/menu.js +48 -46
  172. package/dist/collection/components/menu-list/menu-list-renderer.js +8 -8
  173. package/dist/collection/components/menu-list/menu-list.js +1 -1
  174. package/dist/collection/components/menu-surface/menu-surface.js +6 -8
  175. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  176. package/dist/collection/components/pagination/jump/pagination-jump.js +13 -11
  177. package/dist/collection/components/pagination/pagination.js +5 -4
  178. package/dist/collection/components/picker/picker.js +25 -23
  179. package/dist/collection/components/popover/popover.js +13 -10
  180. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  181. package/dist/collection/components/portal/contains.js +9 -8
  182. package/dist/collection/components/portal/portal.js +16 -16
  183. package/dist/collection/components/profile-picture/profile-picture.js +4 -3
  184. package/dist/collection/components/progress-flow/progress-flow.js +10 -9
  185. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  186. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  187. package/dist/collection/components/scroller/scroller.css +317 -0
  188. package/dist/collection/components/scroller/scroller.js +284 -0
  189. package/dist/collection/components/select/select.js +13 -11
  190. package/dist/collection/components/select/select.template.js +1 -3
  191. package/dist/collection/components/slider/get-percentage-class.js +9 -18
  192. package/dist/collection/components/slider/slider.js +2 -2
  193. package/dist/collection/components/tab-bar/tab-bar.css +7 -289
  194. package/dist/collection/components/tab-bar/tab-bar.js +59 -104
  195. package/dist/collection/components/tab-panel/tab-panel.js +11 -8
  196. package/dist/collection/components/table/columns.js +1 -3
  197. package/dist/collection/components/table/element-pool.js +1 -1
  198. package/dist/collection/components/table/table-selection.js +6 -5
  199. package/dist/collection/components/table/table.css +15 -17
  200. package/dist/collection/components/table/table.js +44 -39
  201. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +11 -10
  202. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-command-utils/list-utils.js +1 -1
  203. package/dist/collection/components/text-editor/prosemirror-adapter/menu/menu-commands.js +6 -10
  204. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/inserter.js +37 -40
  205. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/image/node.js +2 -1
  206. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/link/link-plugin.js +21 -20
  207. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/menu-state-tracking-plugin.js +6 -5
  208. package/dist/collection/components/text-editor/prosemirror-adapter/plugins/trigger/factory-helpers/detect-trigger-removal.js +15 -14
  209. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +40 -34
  210. package/dist/collection/components/text-editor/text-editor.js +1 -1
  211. package/dist/collection/components/text-editor/utils/metadata-utils.js +1 -1
  212. package/dist/collection/components/text-editor/utils/plugin-factory.js +3 -3
  213. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  214. package/dist/collection/components/tooltip/tooltip.js +2 -2
  215. package/dist/collection/global/icon-cache/factory.js +2 -3
  216. package/dist/collection/global/icon-cache/in-memory-icon-cache.js +2 -0
  217. package/dist/collection/global/translations.js +1 -3
  218. package/dist/collection/translations/fr.js +3 -3
  219. package/dist/collection/util/adapt-color-contrast.js +1 -1
  220. package/dist/collection/util/files.js +1 -1
  221. package/dist/collection/util/format-bytes.js +1 -4
  222. package/dist/collection/util/hotkeys.js +1 -0
  223. package/dist/collection/util/image-resize.js +1 -0
  224. package/dist/collection/util/language.js +1 -1
  225. package/dist/collection/util/make-enter-clickable.js +19 -12
  226. package/dist/collection/util/random-string.js +1 -0
  227. package/dist/collection/util/render-list-component.js +2 -4
  228. package/dist/esm/{adapt-color-contrast-Dgcw_h7C.js → adapt-color-contrast-BQoih_t0.js} +1 -1
  229. package/dist/esm/{checkbox.template-Cx_3u92S.js → checkbox.template-IDyv2bgn.js} +2 -2
  230. package/dist/esm/{files-DnkFEKoB.js → files-CKnLqPDj.js} +1 -1
  231. package/dist/esm/{format-bytes-u_sd2HMb.js → format-bytes-24yUSW40.js} +1 -4
  232. package/dist/esm/{hotkeys-BxrRWYts.js → hotkeys-DjmlD0Mw.js} +1 -0
  233. package/dist/esm/{image-resize-BTSG--2-.js → image-resize-Dv2HOgWN.js} +1 -0
  234. package/dist/esm/{image.template-wqMwmOF-.js → image.template-BGjw97m_.js} +1 -1
  235. package/dist/esm/{index-CbciMfiU.js → index-BN64nlbO.js} +9369 -9505
  236. package/dist/esm/{index-Bnc9lzk2.js → index-BU9IJqli.js} +1 -7
  237. package/dist/esm/index.js +1 -1
  238. package/dist/esm/{isArrayLikeObject-CJB8HbtH.js → isArrayLikeObject-tmUOLOWr.js} +17 -1
  239. package/dist/esm/{language-C3hECvXE.js → language-ChagAaNf.js} +1 -1
  240. package/dist/esm/lime-elements.js +3 -3
  241. package/dist/esm/limel-3d-hover-effect-glow.entry.js +2 -2
  242. package/dist/esm/limel-action-bar_3.entry.js +20 -18
  243. package/dist/esm/limel-ai-avatar.entry.js +5 -5
  244. package/dist/esm/limel-badge.entry.js +3 -3
  245. package/dist/esm/limel-banner.entry.js +2 -2
  246. package/dist/esm/limel-breadcrumbs_6.entry.js +80 -80
  247. package/dist/esm/limel-button-group.entry.js +3 -3
  248. package/dist/esm/limel-button.entry.js +4 -4
  249. package/dist/esm/limel-callout.entry.js +6 -6
  250. package/dist/esm/limel-card.entry.js +8 -7
  251. package/dist/esm/limel-chart.entry.js +5 -5
  252. package/dist/esm/limel-checkbox.entry.js +12 -10
  253. package/dist/esm/limel-chip-set.entry.js +30 -39
  254. package/dist/esm/limel-chip_2.entry.js +9 -9
  255. package/dist/esm/limel-circular-progress.entry.js +2 -2
  256. package/dist/esm/limel-code-diff.entry.js +25 -28
  257. package/dist/esm/limel-code-editor.entry.js +17 -12
  258. package/dist/esm/limel-collapsible-section.entry.js +8 -8
  259. package/dist/esm/limel-color-picker-palette.entry.js +3 -3
  260. package/dist/esm/limel-color-picker.entry.js +6 -5
  261. package/dist/esm/limel-config.entry.js +3 -3
  262. package/dist/esm/limel-date-picker.entry.js +8 -11
  263. package/dist/esm/limel-dialog.entry.js +6 -9
  264. package/dist/esm/limel-dock-button.entry.js +6 -11
  265. package/dist/esm/limel-dock.entry.js +3 -3
  266. package/dist/esm/limel-drag-handle.entry.js +6 -6
  267. package/dist/esm/limel-dynamic-label.entry.js +1 -1
  268. package/dist/esm/limel-email-viewer.entry.js +11 -17
  269. package/dist/esm/limel-file-dropzone_2.entry.js +11 -12
  270. package/dist/esm/limel-file-viewer.entry.js +1099 -1147
  271. package/dist/esm/limel-file.entry.js +17 -16
  272. package/dist/esm/limel-flatpickr-adapter.entry.js +100 -94
  273. package/dist/esm/limel-flex-container.entry.js +2 -2
  274. package/dist/esm/limel-form.entry.js +66 -67
  275. package/dist/esm/limel-grid.entry.js +2 -2
  276. package/dist/esm/limel-header.entry.js +2 -2
  277. package/dist/esm/limel-help-content.entry.js +2 -2
  278. package/dist/esm/limel-help.entry.js +3 -3
  279. package/dist/esm/limel-helper-line_3.entry.js +12 -14
  280. package/dist/esm/limel-hotkey_4.entry.js +23 -23
  281. package/dist/esm/limel-icon-button.entry.js +4 -4
  282. package/dist/esm/limel-icon.entry.js +15 -13
  283. package/dist/esm/limel-info-tile.entry.js +10 -10
  284. package/dist/esm/limel-list-item.entry.js +10 -10
  285. package/dist/esm/limel-markdown.entry.js +50 -23
  286. package/dist/esm/limel-masonry-layout.entry.js +6 -5
  287. package/dist/esm/limel-menu-item-meta.entry.js +3 -3
  288. package/dist/esm/limel-pagination-jump.entry.js +17 -15
  289. package/dist/esm/limel-pagination.entry.js +10 -9
  290. package/dist/esm/limel-picker.entry.js +31 -29
  291. package/dist/esm/limel-popover_2.entry.js +25 -21
  292. package/dist/esm/limel-profile-picture.entry.js +12 -11
  293. package/dist/esm/limel-progress-flow-item.entry.js +1 -1
  294. package/dist/esm/limel-progress-flow.entry.js +11 -10
  295. package/dist/esm/limel-prosemirror-adapter.entry.js +476 -408
  296. package/dist/esm/limel-radio-button-group.entry.js +2 -2
  297. package/dist/esm/limel-radio-button.entry.js +3 -3
  298. package/dist/esm/limel-scroller.entry.js +178 -0
  299. package/dist/esm/limel-select.entry.js +17 -17
  300. package/dist/esm/limel-shortcut.entry.js +1 -1
  301. package/dist/esm/limel-slider.entry.js +18 -27
  302. package/dist/esm/limel-snackbar.entry.js +5 -5
  303. package/dist/esm/limel-split-button.entry.js +1 -1
  304. package/dist/esm/limel-switch.entry.js +3 -3
  305. package/dist/esm/limel-tab-bar.entry.js +66 -97
  306. package/dist/esm/limel-tab-panel.entry.js +12 -9
  307. package/dist/esm/limel-table.entry.js +527 -106
  308. package/dist/esm/limel-text-editor-link-menu.entry.js +15 -14
  309. package/dist/esm/limel-text-editor.entry.js +3 -3
  310. package/dist/esm/loader.js +3 -3
  311. package/dist/esm/{make-enter-clickable-BgTwPGeH.js → make-enter-clickable-CIf8aGSd.js} +19 -12
  312. package/dist/esm/markdown-exporter-DblYRMhY.js +6208 -0
  313. package/dist/esm/{markdown-parser-DrxxGLF5.js → markdown-parser-CAPDx7i8.js} +530 -813
  314. package/dist/esm/{moment-DQRNe8qq.js → moment-_DadZLWp.js} +1062 -833
  315. package/dist/esm/{random-string-JbKhhoXs.js → random-string-BrjD-ITe.js} +1 -0
  316. package/dist/esm/{render-list-component-cicbMp0l.js → render-list-component-J1IzNpbv.js} +3 -5
  317. package/dist/esm/{sv-CY-6-yEp.js → sv-DpsDSi7k.js} +31 -3
  318. package/dist/esm/{translations-DMtX4tTX.js → translations-Y4i8PVc9.js} +5 -8
  319. package/dist/lime-elements/index.esm.js +1 -1
  320. package/dist/lime-elements/lime-elements.esm.js +1 -1
  321. package/dist/lime-elements/{p-3916b316.entry.js → p-03cb609e.entry.js} +1 -1
  322. package/dist/lime-elements/p-05038bbb.entry.js +1 -0
  323. package/dist/lime-elements/{p-835149c4.entry.js → p-0d6925f4.entry.js} +1 -1
  324. package/dist/lime-elements/p-0e13ec91.entry.js +1 -0
  325. package/dist/lime-elements/p-159603cf.entry.js +159 -0
  326. package/dist/lime-elements/p-22fd1c87.entry.js +1 -0
  327. package/dist/lime-elements/p-24yUSW40.js +1 -0
  328. package/dist/lime-elements/{p-f717cd7a.entry.js → p-271662d4.entry.js} +1 -1
  329. package/dist/lime-elements/{p-c2a60508.entry.js → p-29c73bdf.entry.js} +1 -1
  330. package/dist/lime-elements/{p-deceda00.entry.js → p-2a902e77.entry.js} +1 -1
  331. package/dist/lime-elements/{p-d0cec424.entry.js → p-2b033dfa.entry.js} +1 -1
  332. package/dist/lime-elements/{p-acba5700.entry.js → p-2b2253d4.entry.js} +1 -1
  333. package/dist/lime-elements/p-2e33d2a4.entry.js +1 -0
  334. package/dist/lime-elements/p-31226737.entry.js +13 -0
  335. package/dist/lime-elements/{p-36ce4fbc.entry.js → p-31f314e6.entry.js} +1 -1
  336. package/dist/lime-elements/p-32a050a3.entry.js +1 -0
  337. package/dist/lime-elements/{p-3735111e.entry.js → p-3cfe0eaf.entry.js} +1 -1
  338. package/dist/lime-elements/{p-fbcd99a3.entry.js → p-3d3bdf45.entry.js} +1 -1
  339. package/dist/lime-elements/p-440a0b43.entry.js +1 -0
  340. package/dist/lime-elements/p-45c39fb4.entry.js +1 -0
  341. package/dist/lime-elements/p-45fde7a1.entry.js +1 -0
  342. package/dist/lime-elements/p-48afa6b7.entry.js +1 -0
  343. package/dist/lime-elements/{p-f04f7c8e.entry.js → p-4a88d365.entry.js} +1 -1
  344. package/dist/lime-elements/p-4b75e653.entry.js +1 -0
  345. package/dist/lime-elements/p-4dfd1962.entry.js +67 -0
  346. package/dist/lime-elements/{p-5698e493.entry.js → p-4ecbc9f4.entry.js} +1 -1
  347. package/dist/lime-elements/p-5386c629.entry.js +1 -0
  348. package/dist/lime-elements/{p-2e568c56.entry.js → p-54a9f48f.entry.js} +1 -1
  349. package/dist/lime-elements/{p-0fba64eb.entry.js → p-5df21b25.entry.js} +2 -2
  350. package/dist/lime-elements/{p-408c4dcb.entry.js → p-5f5c6e7d.entry.js} +1 -1
  351. package/dist/lime-elements/{p-052c3bc6.entry.js → p-681cb6de.entry.js} +1 -1
  352. package/dist/lime-elements/p-6adc7c88.entry.js +1 -0
  353. package/dist/lime-elements/{p-90df3e1b.entry.js → p-6d9961f7.entry.js} +1 -1
  354. package/dist/lime-elements/{p-74bd0c1a.entry.js → p-7b4351f6.entry.js} +1 -1
  355. package/dist/lime-elements/{p-3fd7e8aa.entry.js → p-7eab1341.entry.js} +1 -1
  356. package/dist/lime-elements/p-80153f45.entry.js +1 -0
  357. package/dist/lime-elements/{p-35fa1063.entry.js → p-85318636.entry.js} +1 -1
  358. package/dist/lime-elements/p-8988b7e1.entry.js +1 -0
  359. package/dist/lime-elements/{p-4ffbfc79.entry.js → p-8ac79ef5.entry.js} +1 -1
  360. package/dist/lime-elements/{p-4902fb3f.entry.js → p-9218fa6a.entry.js} +1 -1
  361. package/dist/lime-elements/p-92669910.entry.js +1 -0
  362. package/dist/lime-elements/{p-38b09f87.entry.js → p-9415411e.entry.js} +1 -1
  363. package/dist/lime-elements/p-95ccd9e7.entry.js +1 -0
  364. package/dist/lime-elements/{p-cb407bef.entry.js → p-9afa4721.entry.js} +1 -1
  365. package/dist/lime-elements/{p-54dcf46f.entry.js → p-9c8c2fb7.entry.js} +1 -1
  366. package/dist/lime-elements/{p-B8hoCfhT.js → p-B3YP9GOq.js} +1 -1
  367. package/dist/lime-elements/{p-Dgcw_h7C.js → p-BQoih_t0.js} +1 -1
  368. package/dist/lime-elements/{p-Bnc9lzk2.js → p-BU9IJqli.js} +1 -1
  369. package/dist/lime-elements/{p-CGVVDGcv.js → p-Bkvc4sus.js} +1 -1
  370. package/dist/lime-elements/p-Bvyt2bmV.js +1 -0
  371. package/dist/lime-elements/{p-BgTwPGeH.js → p-CIf8aGSd.js} +1 -1
  372. package/dist/lime-elements/{p-C3hECvXE.js → p-ChagAaNf.js} +1 -1
  373. package/dist/lime-elements/p-DTcfed02.js +3 -0
  374. package/dist/lime-elements/p-DWMfAkOE.js +1 -0
  375. package/dist/lime-elements/{p-BY85K-4J.js → p-DqQOawxc.js} +1 -1
  376. package/dist/lime-elements/p-I0PrvthC.js +7 -0
  377. package/dist/lime-elements/p-N9vxZMhe.js +1 -0
  378. package/dist/lime-elements/{p-DsDkl4Sy.js → p-ZDFVISfu.js} +3 -3
  379. package/dist/lime-elements/p-_UXAljNc.js +1 -0
  380. package/dist/lime-elements/p-a1c69e0c.entry.js +1 -0
  381. package/dist/lime-elements/{p-2daf0482.entry.js → p-a1d1470c.entry.js} +1 -1
  382. package/dist/lime-elements/{p-cef66e53.entry.js → p-a2e6f16e.entry.js} +1 -1
  383. package/dist/lime-elements/p-a550ba18.entry.js +1 -0
  384. package/dist/lime-elements/{p-d146feda.entry.js → p-a65eb58e.entry.js} +1 -1
  385. package/dist/lime-elements/p-ab8021b9.entry.js +1 -0
  386. package/dist/lime-elements/{p-03fb2603.entry.js → p-b22b52a1.entry.js} +1 -1
  387. package/dist/lime-elements/p-b6c0dc91.entry.js +23 -0
  388. package/dist/lime-elements/{p-c2a3ca7c.entry.js → p-b6d39581.entry.js} +1 -1
  389. package/dist/lime-elements/{p-8475a3b8.entry.js → p-c439b68b.entry.js} +1 -1
  390. package/dist/lime-elements/p-d19c7a3a.entry.js +1 -0
  391. package/dist/lime-elements/{p-7cbf50fc.entry.js → p-d1e5dd12.entry.js} +1 -1
  392. package/dist/lime-elements/p-de4719a6.entry.js +1 -0
  393. package/dist/lime-elements/{p-b81a2728.entry.js → p-e02e2c5f.entry.js} +1 -1
  394. package/dist/lime-elements/{p-d351b9ae.entry.js → p-e6a34047.entry.js} +1 -1
  395. package/dist/lime-elements/p-eF09GxA_.js +1 -0
  396. package/dist/lime-elements/{p-8fa9c9ea.entry.js → p-ee719744.entry.js} +1 -1
  397. package/dist/lime-elements/{p-d3bd4b80.entry.js → p-f04e2897.entry.js} +3 -3
  398. package/dist/lime-elements/p-f3cae1e7.entry.js +1 -0
  399. package/dist/lime-elements/{p-8115da75.entry.js → p-f4a0b1bc.entry.js} +1 -1
  400. package/dist/lime-elements/{p-4855dc9b.entry.js → p-f82f72e7.entry.js} +1 -1
  401. package/dist/lime-elements/{p-2d84ea04.entry.js → p-f97ec7a5.entry.js} +1 -1
  402. package/dist/lime-elements/{p-21109d9b.entry.js → p-fdd674fc.entry.js} +1 -1
  403. package/dist/lime-elements/{p-459eea13.entry.js → p-fdec09e9.entry.js} +1 -1
  404. package/dist/lime-elements/{p-2f57c3fa.entry.js → p-fe492ff3.entry.js} +1 -1
  405. package/dist/lime-elements/{p-65cded0e.entry.js → p-ff1a8b2e.entry.js} +1 -1
  406. package/dist/types/components/chip-set/chip-set-input-helpers.d.ts +1 -1
  407. package/dist/types/components/markdown/markdown-exporter.d.ts +15 -0
  408. package/dist/types/components/markdown/markdown.d.ts +19 -0
  409. package/dist/types/components/pagination/jump/pagination-jump.d.ts +1 -1
  410. package/dist/types/components/scroller/scroller.d.ts +67 -0
  411. package/dist/types/components/tab-bar/tab-bar.d.ts +13 -16
  412. package/dist/types/components.d.ts +138 -0
  413. package/dist/types/global/icon-cache/factory.d.ts +2 -2
  414. package/dist/types/global/shared-types/custom-element.types.d.ts +25 -0
  415. package/dist/types/global/translations.d.ts +2 -2
  416. package/package.json +18 -12
  417. package/dist/lime-elements/p-05afb316.entry.js +0 -1
  418. package/dist/lime-elements/p-10594468.entry.js +0 -1
  419. package/dist/lime-elements/p-19344984.entry.js +0 -13
  420. package/dist/lime-elements/p-1e93473a.entry.js +0 -1
  421. package/dist/lime-elements/p-26c5c6b9.entry.js +0 -1
  422. package/dist/lime-elements/p-452b9b01.entry.js +0 -1
  423. package/dist/lime-elements/p-4aae63bd.entry.js +0 -1
  424. package/dist/lime-elements/p-507cc8a1.entry.js +0 -159
  425. package/dist/lime-elements/p-531b6a64.entry.js +0 -1
  426. package/dist/lime-elements/p-54793c06.entry.js +0 -1
  427. package/dist/lime-elements/p-5d974afa.entry.js +0 -1
  428. package/dist/lime-elements/p-66b125f2.entry.js +0 -1
  429. package/dist/lime-elements/p-6d5b23ad.entry.js +0 -1
  430. package/dist/lime-elements/p-7e212fa7.entry.js +0 -1
  431. package/dist/lime-elements/p-82696d24.entry.js +0 -1
  432. package/dist/lime-elements/p-9ac39039.entry.js +0 -1
  433. package/dist/lime-elements/p-9b631363.entry.js +0 -1
  434. package/dist/lime-elements/p-C9xHOCE_.js +0 -7
  435. package/dist/lime-elements/p-DMNtoJ8I.js +0 -1
  436. package/dist/lime-elements/p-DQJU9gzh.js +0 -1
  437. package/dist/lime-elements/p-DpJgXIWf.js +0 -1
  438. package/dist/lime-elements/p-a1de9bbe.entry.js +0 -1
  439. package/dist/lime-elements/p-a71f6e87.entry.js +0 -67
  440. package/dist/lime-elements/p-bd7b3f8e.entry.js +0 -1
  441. package/dist/lime-elements/p-be8610ff.entry.js +0 -1
  442. package/dist/lime-elements/p-c72e5007.entry.js +0 -1
  443. package/dist/lime-elements/p-cafec335.entry.js +0 -1
  444. package/dist/lime-elements/p-d6dadc61.entry.js +0 -1
  445. package/dist/lime-elements/p-d93b7b9f.entry.js +0 -23
  446. package/dist/lime-elements/p-pk5KIdKH.js +0 -1
  447. package/dist/lime-elements/p-u_sd2HMb.js +0 -1
  448. package/dist/lime-elements/p-zo6O9LC9.js +0 -3
  449. /package/dist/lime-elements/{p-JbKhhoXs.js → p-BrjD-ITe.js} +0 -0
  450. /package/dist/lime-elements/{p-BxrRWYts.js → p-DjmlD0Mw.js} +0 -0
  451. /package/dist/lime-elements/{p-BTSG--2-.js → p-Dv2HOgWN.js} +0 -0
@@ -32,6 +32,7 @@ import { CustomElementDefinition } from '../../global/shared-types/custom-elemen
32
32
  * @exampleComponent limel-example-markdown-custom-component-with-json-props
33
33
  * @exampleComponent limel-example-markdown-remove-empty-paragraphs
34
34
  * @exampleComponent limel-example-markdown-adapt-color-contrast
35
+ * @exampleComponent limel-example-markdown-to-markdown
35
36
  * @exampleComponent limel-example-markdown-composite
36
37
  */
37
38
  export declare class Markdown {
@@ -87,11 +88,29 @@ export declare class Markdown {
87
88
  * drives the surrounding text color.
88
89
  */
89
90
  adaptColorContrast: boolean;
91
+ /**
92
+ * Returns the content as markdown, with every whitelisted custom
93
+ * element replaced by the markdown it describes itself as.
94
+ *
95
+ * Use this to hand the content to a target that cannot render custom
96
+ * elements, such as the clipboard. An element describes itself by
97
+ * implementing `MarkdownDescribable`; elements that do not keep
98
+ * their child content, or are removed if they have none.
99
+ *
100
+ * The markdown is generated from the rendered content, so it may be
101
+ * formatted differently from `value`.
102
+ *
103
+ * @alpha
104
+ * @returns The content as markdown.
105
+ */
106
+ toMarkdown(): Promise<string>;
90
107
  textChanged(): Promise<void>;
108
+ private renderMarkdown;
91
109
  handleWhitelistChange(): Promise<void>;
92
110
  handleRemoveEmptyParagraphsChange(): Promise<void>;
93
111
  handleAdaptColorContrastChange(): Promise<void>;
94
112
  private rootElement;
113
+ private rendering?;
95
114
  private imageIntersectionObserver;
96
115
  private cachedConsumerWhitelist?;
97
116
  private cachedCombinedWhitelist?;
@@ -50,7 +50,7 @@ export declare class PaginationJump {
50
50
  * so it always offers the page the user is on now.
51
51
  */
52
52
  protected handleOpenChange(): void;
53
- componentDidRender(): void;
53
+ componentDidRender(): Promise<void>;
54
54
  render(): any;
55
55
  /**
56
56
  * Only to keep what is on screen honest. `limel-input-field` draws an
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Makes content that is larger than its container scrollable, along one axis.
3
+ *
4
+ * The native scrollbar is hidden. Instead, an edge that has more to reveal
5
+ * fades out, and an arrow appears on it. Clicking the arrow scrolls almost a
6
+ * page, and leaves the last part of the previous page in view, as a reference
7
+ * for how far the user has scrolled. For people who have asked their system to
8
+ * reduce motion, the scroller jumps instead of gliding.
9
+ *
10
+ * When something inside the scroller receives focus, the scroller reveals the
11
+ * item that holds it, together with a glimpse of whatever is next to it. An
12
+ * item can control how much of its neighbors gets revealed, by setting its
13
+ * `scroll-margin`. An item that becomes selected without receiving focus is up
14
+ * to the consumer to reveal, using the `reveal()` method.
15
+ *
16
+ * :::note Accessibility
17
+ * The arrows are only a shortcut for people who use a mouse or a touch screen.
18
+ * They are not real buttons. Screen readers do not announce them, and the Tab
19
+ * key skips them. Therefore, the content must contain something that can
20
+ * receive focus, such as a button, a link or a tab. Without it, there is no way
21
+ * to scroll with a keyboard. The examples explain the reasoning.
22
+ * :::
23
+ *
24
+ * @slot - The content to scroll. Each child is treated as an item.
25
+ * @exampleComponent limel-example-scroller-horizontal
26
+ * @exampleComponent limel-example-scroller-vertical
27
+ * @private
28
+ */
29
+ export declare class Scroller {
30
+ /**
31
+ * The axis along which the content scrolls.
32
+ */
33
+ orientation: 'horizontal' | 'vertical';
34
+ private canScrollToStart;
35
+ private canScrollToEnd;
36
+ private scrollArea?;
37
+ private scrollContent?;
38
+ private slotElement?;
39
+ private readonly fades;
40
+ private resizeObserver?;
41
+ private pendingReveal?;
42
+ connectedCallback(): void;
43
+ componentDidLoad(): void;
44
+ disconnectedCallback(): void;
45
+ render(): any;
46
+ private renderEdge;
47
+ private observeSize;
48
+ private readonly handleResize;
49
+ private readonly updateScrollability;
50
+ private scrollOnePage;
51
+ private findItem;
52
+ private readonly revealFocusedItem;
53
+ /**
54
+ * Scrolls an item into view, together with a glimpse of its neighbors.
55
+ * Whatever receives focus is revealed without being asked to. This is for
56
+ * an item that becomes selected without receiving focus. If the scroller
57
+ * is hidden, in a dialog that is closed for instance, the item is revealed
58
+ * when the scroller is shown.
59
+ *
60
+ * @param item - one of the items of the scroller, or something inside one
61
+ * @param behavior - `auto` jumps to the item, and `smooth` glides there.
62
+ * Defaults to `smooth`, unless the user has asked to reduce motion.
63
+ */
64
+ reveal(item: HTMLElement, behavior?: ScrollBehavior): Promise<void>;
65
+ private revealItem;
66
+ }
67
+ //# sourceMappingURL=scroller.d.ts.map
@@ -7,6 +7,7 @@ import { Tab } from './tab.types';
7
7
  * :::
8
8
  * An exception for using tab bars in a high level of hierarchy is their usage in modals. This is because modals are perceived as a separate place and not a part of the current context. Therefore you can use tab bars in a modal to group and organize its content.
9
9
  * A tab bar can contain an unlimited number of tabs. However, depending on the device width and width of the tabs, the number of tabs that are visible at the same time will vary. When there is limited horizontal space, the component shows a left-arrow and/or right-arrow button, which scrolls and reveals the additional tabs. The tab bar can also be swiped left and right on a touch-device.
10
+ * The arrows are only a shortcut for people who use a mouse or a touch screen. Screen readers do not announce them, and the Tab key skips them. People who use a keyboard or a screen reader move between the tabs, and the tab bar keeps the selected tab in view.
10
11
  * :::tip Other things to consider
11
12
  * Never divide the content of a tab using a nested tab bar.
12
13
  * Never place two tab bars within the same screen.
@@ -29,34 +30,30 @@ export declare class TabBar {
29
30
  */
30
31
  private changeTab;
31
32
  private host;
32
- private canScrollLeft;
33
- private canScrollRight;
34
33
  private mdcTabBar;
35
34
  private setupMdc;
36
- private scrollArea;
37
- private scrollContent;
35
+ private revealedTabId?;
36
+ private hasLoaded;
38
37
  constructor();
39
- connectedCallback(): void;
38
+ connectedCallback(): Promise<void>;
40
39
  componentDidLoad(): void;
40
+ componentDidRender(): Promise<void>;
41
41
  componentDidUpdate(): void;
42
42
  disconnectedCallback(): void;
43
43
  render(): any;
44
44
  protected tabsChanged(newTabs?: Tab[], oldTabs?: Tab[]): void;
45
- protected handleWindowResize(): void;
46
45
  private setup;
47
46
  private tearDown;
48
- private setupListeners;
49
- private handleTabActivated;
50
- private sortByInactive;
51
- private handleScroll;
52
- private handleLeftScrollClick;
53
- private handleRightScrollClick;
54
47
  /**
55
- * Calculates how far to scroll when navigation buttons are clicked.
56
- * Returns the visible width minus an overlap percentage to maintain context.
57
- * Falls back to the constant value if something goes wrong.
48
+ * A tab that is activated by the user has focus, and the scroller reveals
49
+ * what has focus. This is for a tab that becomes active without it.
50
+ *
51
+ * @param behavior - `auto` to jump to the tab. Leave it out to let the
52
+ * scroller glide there.
58
53
  */
59
- private getScrollDistance;
54
+ private revealActiveTab;
55
+ private handleTabActivated;
56
+ private sortByInactive;
60
57
  private renderIcon;
61
58
  private renderTab;
62
59
  private triggerIconColorWarning;
@@ -2562,6 +2562,7 @@ export namespace Components {
2562
2562
  * @exampleComponent limel-example-markdown-custom-component-with-json-props
2563
2563
  * @exampleComponent limel-example-markdown-remove-empty-paragraphs
2564
2564
  * @exampleComponent limel-example-markdown-adapt-color-contrast
2565
+ * @exampleComponent limel-example-markdown-to-markdown
2565
2566
  * @exampleComponent limel-example-markdown-composite
2566
2567
  */
2567
2568
  interface LimelMarkdown {
@@ -2580,6 +2581,12 @@ export namespace Components {
2580
2581
  * @default true
2581
2582
  */
2582
2583
  "removeEmptyParagraphs": boolean;
2584
+ /**
2585
+ * Returns the content as markdown, with every whitelisted custom element replaced by the markdown it describes itself as. Use this to hand the content to a target that cannot render custom elements, such as the clipboard. An element describes itself by implementing `MarkdownDescribable`; elements that do not keep their child content, or are removed if they have none. The markdown is generated from the rendered content, so it may be formatted differently from `value`.
2586
+ * @alpha
2587
+ * @returns The content as markdown.
2588
+ */
2589
+ "toMarkdown": () => Promise<string>;
2583
2590
  /**
2584
2591
  * The input text. Treated as GitHub Flavored Markdown, with the addition that any included HTML will be parsed and rendered as HTML, rather than as text.
2585
2592
  * @default ''
@@ -3415,6 +3422,42 @@ export namespace Components {
3415
3422
  */
3416
3423
  "selectedItem"?: ListItem<string | number>;
3417
3424
  }
3425
+ /**
3426
+ * Makes content that is larger than its container scrollable, along one axis.
3427
+ * The native scrollbar is hidden. Instead, an edge that has more to reveal
3428
+ * fades out, and an arrow appears on it. Clicking the arrow scrolls almost a
3429
+ * page, and leaves the last part of the previous page in view, as a reference
3430
+ * for how far the user has scrolled. For people who have asked their system to
3431
+ * reduce motion, the scroller jumps instead of gliding.
3432
+ * When something inside the scroller receives focus, the scroller reveals the
3433
+ * item that holds it, together with a glimpse of whatever is next to it. An
3434
+ * item can control how much of its neighbors gets revealed, by setting its
3435
+ * `scroll-margin`. An item that becomes selected without receiving focus is up
3436
+ * to the consumer to reveal, using the `reveal()` method.
3437
+ * :::note Accessibility
3438
+ * The arrows are only a shortcut for people who use a mouse or a touch screen.
3439
+ * They are not real buttons. Screen readers do not announce them, and the Tab
3440
+ * key skips them. Therefore, the content must contain something that can
3441
+ * receive focus, such as a button, a link or a tab. Without it, there is no way
3442
+ * to scroll with a keyboard. The examples explain the reasoning.
3443
+ * :::
3444
+ * @exampleComponent limel-example-scroller-horizontal
3445
+ * @exampleComponent limel-example-scroller-vertical
3446
+ * @private
3447
+ */
3448
+ interface LimelScroller {
3449
+ /**
3450
+ * The axis along which the content scrolls.
3451
+ * @default 'horizontal'
3452
+ */
3453
+ "orientation": 'horizontal' | 'vertical';
3454
+ /**
3455
+ * Scrolls an item into view, together with a glimpse of its neighbors. Whatever receives focus is revealed without being asked to. This is for an item that becomes selected without receiving focus. If the scroller is hidden, in a dialog that is closed for instance, the item is revealed when the scroller is shown.
3456
+ * @param item - one of the items of the scroller, or something inside one
3457
+ * @param behavior - `auto` jumps to the item, and `smooth` glides there. Defaults to `smooth`, unless the user has asked to reduce motion.
3458
+ */
3459
+ "reveal": (item: HTMLElement, behavior?: ScrollBehavior) => Promise<void>;
3460
+ }
3418
3461
  /**
3419
3462
  * ## Keyboard
3420
3463
  * Typing characters jumps to the option whose text starts with them, the way
@@ -3781,6 +3824,7 @@ export namespace Components {
3781
3824
  * :::
3782
3825
  * An exception for using tab bars in a high level of hierarchy is their usage in modals. This is because modals are perceived as a separate place and not a part of the current context. Therefore you can use tab bars in a modal to group and organize its content.
3783
3826
  * A tab bar can contain an unlimited number of tabs. However, depending on the device width and width of the tabs, the number of tabs that are visible at the same time will vary. When there is limited horizontal space, the component shows a left-arrow and/or right-arrow button, which scrolls and reveals the additional tabs. The tab bar can also be swiped left and right on a touch-device.
3827
+ * The arrows are only a shortcut for people who use a mouse or a touch screen. Screen readers do not announce them, and the Tab key skips them. People who use a keyboard or a screen reader move between the tabs, and the tab bar keeps the selected tab in view.
3784
3828
  * :::tip Other things to consider
3785
3829
  * Never divide the content of a tab using a nested tab bar.
3786
3830
  * Never place two tab bars within the same screen.
@@ -5802,6 +5846,7 @@ declare global {
5802
5846
  * @exampleComponent limel-example-markdown-custom-component-with-json-props
5803
5847
  * @exampleComponent limel-example-markdown-remove-empty-paragraphs
5804
5848
  * @exampleComponent limel-example-markdown-adapt-color-contrast
5849
+ * @exampleComponent limel-example-markdown-to-markdown
5805
5850
  * @exampleComponent limel-example-markdown-composite
5806
5851
  */
5807
5852
  interface HTMLLimelMarkdownElement extends Components.LimelMarkdown, HTMLStencilElement {
@@ -6314,6 +6359,35 @@ declare global {
6314
6359
  prototype: HTMLLimelRadioButtonGroupElement;
6315
6360
  new (): HTMLLimelRadioButtonGroupElement;
6316
6361
  };
6362
+ /**
6363
+ * Makes content that is larger than its container scrollable, along one axis.
6364
+ * The native scrollbar is hidden. Instead, an edge that has more to reveal
6365
+ * fades out, and an arrow appears on it. Clicking the arrow scrolls almost a
6366
+ * page, and leaves the last part of the previous page in view, as a reference
6367
+ * for how far the user has scrolled. For people who have asked their system to
6368
+ * reduce motion, the scroller jumps instead of gliding.
6369
+ * When something inside the scroller receives focus, the scroller reveals the
6370
+ * item that holds it, together with a glimpse of whatever is next to it. An
6371
+ * item can control how much of its neighbors gets revealed, by setting its
6372
+ * `scroll-margin`. An item that becomes selected without receiving focus is up
6373
+ * to the consumer to reveal, using the `reveal()` method.
6374
+ * :::note Accessibility
6375
+ * The arrows are only a shortcut for people who use a mouse or a touch screen.
6376
+ * They are not real buttons. Screen readers do not announce them, and the Tab
6377
+ * key skips them. Therefore, the content must contain something that can
6378
+ * receive focus, such as a button, a link or a tab. Without it, there is no way
6379
+ * to scroll with a keyboard. The examples explain the reasoning.
6380
+ * :::
6381
+ * @exampleComponent limel-example-scroller-horizontal
6382
+ * @exampleComponent limel-example-scroller-vertical
6383
+ * @private
6384
+ */
6385
+ interface HTMLLimelScrollerElement extends Components.LimelScroller, HTMLStencilElement {
6386
+ }
6387
+ var HTMLLimelScrollerElement: {
6388
+ prototype: HTMLLimelScrollerElement;
6389
+ new (): HTMLLimelScrollerElement;
6390
+ };
6317
6391
  interface HTMLLimelSelectElementEventMap {
6318
6392
  "change": Option | Option[];
6319
6393
  }
@@ -6525,6 +6599,7 @@ declare global {
6525
6599
  * :::
6526
6600
  * An exception for using tab bars in a high level of hierarchy is their usage in modals. This is because modals are perceived as a separate place and not a part of the current context. Therefore you can use tab bars in a modal to group and organize its content.
6527
6601
  * A tab bar can contain an unlimited number of tabs. However, depending on the device width and width of the tabs, the number of tabs that are visible at the same time will vary. When there is limited horizontal space, the component shows a left-arrow and/or right-arrow button, which scrolls and reveals the additional tabs. The tab bar can also be swiped left and right on a touch-device.
6602
+ * The arrows are only a shortcut for people who use a mouse or a touch screen. Screen readers do not announce them, and the Tab key skips them. People who use a keyboard or a screen reader move between the tabs, and the tab bar keeps the selected tab in view.
6528
6603
  * :::tip Other things to consider
6529
6604
  * Never divide the content of a tab using a nested tab bar.
6530
6605
  * Never place two tab bars within the same screen.
@@ -6812,6 +6887,7 @@ declare global {
6812
6887
  "limel-prosemirror-adapter": HTMLLimelProsemirrorAdapterElement;
6813
6888
  "limel-radio-button": HTMLLimelRadioButtonElement;
6814
6889
  "limel-radio-button-group": HTMLLimelRadioButtonGroupElement;
6890
+ "limel-scroller": HTMLLimelScrollerElement;
6815
6891
  "limel-select": HTMLLimelSelectElement;
6816
6892
  "limel-shortcut": HTMLLimelShortcutElement;
6817
6893
  "limel-slider": HTMLLimelSliderElement;
@@ -9437,6 +9513,7 @@ declare namespace LocalJSX {
9437
9513
  * @exampleComponent limel-example-markdown-custom-component-with-json-props
9438
9514
  * @exampleComponent limel-example-markdown-remove-empty-paragraphs
9439
9515
  * @exampleComponent limel-example-markdown-adapt-color-contrast
9516
+ * @exampleComponent limel-example-markdown-to-markdown
9440
9517
  * @exampleComponent limel-example-markdown-composite
9441
9518
  */
9442
9519
  interface LimelMarkdown {
@@ -10363,6 +10440,36 @@ declare namespace LocalJSX {
10363
10440
  */
10364
10441
  "selectedItem"?: ListItem<string | number>;
10365
10442
  }
10443
+ /**
10444
+ * Makes content that is larger than its container scrollable, along one axis.
10445
+ * The native scrollbar is hidden. Instead, an edge that has more to reveal
10446
+ * fades out, and an arrow appears on it. Clicking the arrow scrolls almost a
10447
+ * page, and leaves the last part of the previous page in view, as a reference
10448
+ * for how far the user has scrolled. For people who have asked their system to
10449
+ * reduce motion, the scroller jumps instead of gliding.
10450
+ * When something inside the scroller receives focus, the scroller reveals the
10451
+ * item that holds it, together with a glimpse of whatever is next to it. An
10452
+ * item can control how much of its neighbors gets revealed, by setting its
10453
+ * `scroll-margin`. An item that becomes selected without receiving focus is up
10454
+ * to the consumer to reveal, using the `reveal()` method.
10455
+ * :::note Accessibility
10456
+ * The arrows are only a shortcut for people who use a mouse or a touch screen.
10457
+ * They are not real buttons. Screen readers do not announce them, and the Tab
10458
+ * key skips them. Therefore, the content must contain something that can
10459
+ * receive focus, such as a button, a link or a tab. Without it, there is no way
10460
+ * to scroll with a keyboard. The examples explain the reasoning.
10461
+ * :::
10462
+ * @exampleComponent limel-example-scroller-horizontal
10463
+ * @exampleComponent limel-example-scroller-vertical
10464
+ * @private
10465
+ */
10466
+ interface LimelScroller {
10467
+ /**
10468
+ * The axis along which the content scrolls.
10469
+ * @default 'horizontal'
10470
+ */
10471
+ "orientation"?: 'horizontal' | 'vertical';
10472
+ }
10366
10473
  /**
10367
10474
  * ## Keyboard
10368
10475
  * Typing characters jumps to the option whose text starts with them, the way
@@ -10748,6 +10855,7 @@ declare namespace LocalJSX {
10748
10855
  * :::
10749
10856
  * An exception for using tab bars in a high level of hierarchy is their usage in modals. This is because modals are perceived as a separate place and not a part of the current context. Therefore you can use tab bars in a modal to group and organize its content.
10750
10857
  * A tab bar can contain an unlimited number of tabs. However, depending on the device width and width of the tabs, the number of tabs that are visible at the same time will vary. When there is limited horizontal space, the component shows a left-arrow and/or right-arrow button, which scrolls and reveals the additional tabs. The tab bar can also be swiped left and right on a touch-device.
10858
+ * The arrows are only a shortcut for people who use a mouse or a touch screen. Screen readers do not announce them, and the Tab key skips them. People who use a keyboard or a screen reader move between the tabs, and the tab bar keeps the selected tab in view.
10751
10859
  * :::tip Other things to consider
10752
10860
  * Never divide the content of a tab using a nested tab bar.
10753
10861
  * Never place two tab bars within the same screen.
@@ -11701,6 +11809,9 @@ declare namespace LocalJSX {
11701
11809
  "badgeIcons": boolean;
11702
11810
  "maxLinesSecondaryText": number;
11703
11811
  }
11812
+ interface LimelScrollerAttributes {
11813
+ "orientation": 'horizontal' | 'vertical';
11814
+ }
11704
11815
  interface LimelSelectAttributes {
11705
11816
  "disabled": boolean;
11706
11817
  "readonly": boolean;
@@ -11879,6 +11990,7 @@ declare namespace LocalJSX {
11879
11990
  "limel-prosemirror-adapter": Omit<LimelProsemirrorAdapter, keyof LimelProsemirrorAdapterAttributes> & { [K in keyof LimelProsemirrorAdapter & keyof LimelProsemirrorAdapterAttributes]?: LimelProsemirrorAdapter[K] } & { [K in keyof LimelProsemirrorAdapter & keyof LimelProsemirrorAdapterAttributes as `attr:${K}`]?: LimelProsemirrorAdapterAttributes[K] } & { [K in keyof LimelProsemirrorAdapter & keyof LimelProsemirrorAdapterAttributes as `prop:${K}`]?: LimelProsemirrorAdapter[K] };
11880
11991
  "limel-radio-button": Omit<LimelRadioButton, keyof LimelRadioButtonAttributes> & { [K in keyof LimelRadioButton & keyof LimelRadioButtonAttributes]?: LimelRadioButton[K] } & { [K in keyof LimelRadioButton & keyof LimelRadioButtonAttributes as `attr:${K}`]?: LimelRadioButtonAttributes[K] } & { [K in keyof LimelRadioButton & keyof LimelRadioButtonAttributes as `prop:${K}`]?: LimelRadioButton[K] } & OneOf<"id", LimelRadioButton["id"], LimelRadioButtonAttributes["id"]>;
11881
11992
  "limel-radio-button-group": Omit<LimelRadioButtonGroup, keyof LimelRadioButtonGroupAttributes> & { [K in keyof LimelRadioButtonGroup & keyof LimelRadioButtonGroupAttributes]?: LimelRadioButtonGroup[K] } & { [K in keyof LimelRadioButtonGroup & keyof LimelRadioButtonGroupAttributes as `attr:${K}`]?: LimelRadioButtonGroupAttributes[K] } & { [K in keyof LimelRadioButtonGroup & keyof LimelRadioButtonGroupAttributes as `prop:${K}`]?: LimelRadioButtonGroup[K] };
11993
+ "limel-scroller": Omit<LimelScroller, keyof LimelScrollerAttributes> & { [K in keyof LimelScroller & keyof LimelScrollerAttributes]?: LimelScroller[K] } & { [K in keyof LimelScroller & keyof LimelScrollerAttributes as `attr:${K}`]?: LimelScrollerAttributes[K] } & { [K in keyof LimelScroller & keyof LimelScrollerAttributes as `prop:${K}`]?: LimelScroller[K] };
11882
11994
  "limel-select": Omit<LimelSelect, keyof LimelSelectAttributes> & { [K in keyof LimelSelect & keyof LimelSelectAttributes]?: LimelSelect[K] } & { [K in keyof LimelSelect & keyof LimelSelectAttributes as `attr:${K}`]?: LimelSelectAttributes[K] } & { [K in keyof LimelSelect & keyof LimelSelectAttributes as `prop:${K}`]?: LimelSelect[K] };
11883
11995
  "limel-shortcut": Omit<LimelShortcut, keyof LimelShortcutAttributes> & { [K in keyof LimelShortcut & keyof LimelShortcutAttributes]?: LimelShortcut[K] } & { [K in keyof LimelShortcut & keyof LimelShortcutAttributes as `attr:${K}`]?: LimelShortcutAttributes[K] } & { [K in keyof LimelShortcut & keyof LimelShortcutAttributes as `prop:${K}`]?: LimelShortcut[K] };
11884
11996
  "limel-slider": Omit<LimelSlider, keyof LimelSliderAttributes> & { [K in keyof LimelSlider & keyof LimelSliderAttributes]?: LimelSlider[K] } & { [K in keyof LimelSlider & keyof LimelSliderAttributes as `attr:${K}`]?: LimelSliderAttributes[K] } & { [K in keyof LimelSlider & keyof LimelSliderAttributes as `prop:${K}`]?: LimelSlider[K] };
@@ -12799,6 +12911,7 @@ declare module "@stencil/core" {
12799
12911
  * @exampleComponent limel-example-markdown-custom-component-with-json-props
12800
12912
  * @exampleComponent limel-example-markdown-remove-empty-paragraphs
12801
12913
  * @exampleComponent limel-example-markdown-adapt-color-contrast
12914
+ * @exampleComponent limel-example-markdown-to-markdown
12802
12915
  * @exampleComponent limel-example-markdown-composite
12803
12916
  */
12804
12917
  "limel-markdown": LocalJSX.IntrinsicElements["limel-markdown"] & JSXBase.HTMLAttributes<HTMLLimelMarkdownElement>;
@@ -13075,6 +13188,30 @@ declare module "@stencil/core" {
13075
13188
  * @beta
13076
13189
  */
13077
13190
  "limel-radio-button-group": LocalJSX.IntrinsicElements["limel-radio-button-group"] & JSXBase.HTMLAttributes<HTMLLimelRadioButtonGroupElement>;
13191
+ /**
13192
+ * Makes content that is larger than its container scrollable, along one axis.
13193
+ * The native scrollbar is hidden. Instead, an edge that has more to reveal
13194
+ * fades out, and an arrow appears on it. Clicking the arrow scrolls almost a
13195
+ * page, and leaves the last part of the previous page in view, as a reference
13196
+ * for how far the user has scrolled. For people who have asked their system to
13197
+ * reduce motion, the scroller jumps instead of gliding.
13198
+ * When something inside the scroller receives focus, the scroller reveals the
13199
+ * item that holds it, together with a glimpse of whatever is next to it. An
13200
+ * item can control how much of its neighbors gets revealed, by setting its
13201
+ * `scroll-margin`. An item that becomes selected without receiving focus is up
13202
+ * to the consumer to reveal, using the `reveal()` method.
13203
+ * :::note Accessibility
13204
+ * The arrows are only a shortcut for people who use a mouse or a touch screen.
13205
+ * They are not real buttons. Screen readers do not announce them, and the Tab
13206
+ * key skips them. Therefore, the content must contain something that can
13207
+ * receive focus, such as a button, a link or a tab. Without it, there is no way
13208
+ * to scroll with a keyboard. The examples explain the reasoning.
13209
+ * :::
13210
+ * @exampleComponent limel-example-scroller-horizontal
13211
+ * @exampleComponent limel-example-scroller-vertical
13212
+ * @private
13213
+ */
13214
+ "limel-scroller": LocalJSX.IntrinsicElements["limel-scroller"] & JSXBase.HTMLAttributes<HTMLLimelScrollerElement>;
13078
13215
  /**
13079
13216
  * ## Keyboard
13080
13217
  * Typing characters jumps to the option whose text starts with them, the way
@@ -13192,6 +13329,7 @@ declare module "@stencil/core" {
13192
13329
  * :::
13193
13330
  * An exception for using tab bars in a high level of hierarchy is their usage in modals. This is because modals are perceived as a separate place and not a part of the current context. Therefore you can use tab bars in a modal to group and organize its content.
13194
13331
  * A tab bar can contain an unlimited number of tabs. However, depending on the device width and width of the tabs, the number of tabs that are visible at the same time will vary. When there is limited horizontal space, the component shows a left-arrow and/or right-arrow button, which scrolls and reveals the additional tabs. The tab bar can also be swiped left and right on a touch-device.
13332
+ * The arrows are only a shortcut for people who use a mouse or a touch screen. Screen readers do not announce them, and the Tab key skips them. People who use a keyboard or a screen reader move between the tabs, and the tab bar keeps the selected tab in view.
13195
13333
  * :::tip Other things to consider
13196
13334
  * Never divide the content of a tab using a nested tab bar.
13197
13335
  * Never place two tab bars within the same screen.
@@ -1,5 +1,5 @@
1
1
  import { CacheStorageIconCache } from './cache-storage-icon-cache';
2
2
  import { InMemoryIconCache } from './in-memory-icon-cache';
3
- declare const _default: CacheStorageIconCache | InMemoryIconCache;
4
- export default _default;
3
+ declare const iconCache: CacheStorageIconCache | InMemoryIconCache;
4
+ export default iconCache;
5
5
  //# sourceMappingURL=factory.d.ts.map
@@ -20,4 +20,29 @@ export type CustomElement = Omit<CustomElementDefinition, 'attributes'> & {
20
20
  */
21
21
  attributes: Record<string, any>;
22
22
  };
23
+ /**
24
+ * A custom element that can describe itself as markdown.
25
+ *
26
+ * `limel-markdown` calls `toMarkdown` on every whitelisted element that
27
+ * implements it when its own `toMarkdown` is called, and puts the result
28
+ * in the element's place. Use it to give targets that cannot render the
29
+ * element, such as the clipboard, a markdown form of what it shows.
30
+ *
31
+ * The returned markdown takes the element's place as is, without
32
+ * escaping. An element that is rendered inline, such as a chip, should
33
+ * return inline markdown, such as a link.
34
+ *
35
+ * Implement `toMarkdown` as a method of the element's class, since
36
+ * `limel-markdown` looks for it on the class of each whitelisted tag.
37
+ *
38
+ * @alpha
39
+ */
40
+ export interface MarkdownDescribable {
41
+ /**
42
+ * Describe the element as markdown.
43
+ *
44
+ * @returns The markdown that represents the element.
45
+ */
46
+ toMarkdown(): Promise<string>;
47
+ }
23
48
  //# sourceMappingURL=custom-element.types.d.ts.map
@@ -2,6 +2,6 @@ export declare class Translations {
2
2
  get(key: string, language?: string, params?: object): string;
3
3
  private getTranslationsFor;
4
4
  }
5
- declare const _default: Translations;
6
- export default _default;
5
+ declare const translations: Translations;
6
+ export default translations;
7
7
  //# sourceMappingURL=translations.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@limetech/lime-elements",
3
- "version": "40.5.4",
3
+ "version": "40.6.1",
4
4
  "description": "Lime Elements",
5
5
  "author": "Lime Technologies",
6
6
  "license": "Apache-2.0",
@@ -52,15 +52,15 @@
52
52
  "generate": "stencil generate"
53
53
  },
54
54
  "devDependencies": {
55
+ "@commitlint/cli": "^21.2.3",
55
56
  "@commitlint/config-conventional": "^21.2.3",
56
- "@limetech/eslint-config": "^4.1.0",
57
- "@microsoft/api-extractor": "^7.59.2",
58
- "@playwright/test": "1.62.1",
57
+ "@limetech/eslint-config": "^5.0.1",
58
+ "@microsoft/api-extractor": "^7.59.3",
59
+ "@playwright/test": "1.63.0",
59
60
  "@popperjs/core": "^2.11.8",
60
61
  "@rjsf/core": "^6.11.0",
61
62
  "@rjsf/utils": "^6.11.0",
62
63
  "@rjsf/validator-ajv8": "^6.11.0",
63
- "@rollup/plugin-node-resolve": "^13.3.0",
64
64
  "@stencil/core": "^4.43.5",
65
65
  "@stencil/sass": "^3.3.3",
66
66
  "@stencil/vitest": "^1.15.1",
@@ -76,22 +76,25 @@
76
76
  "cross-env": "^10.1.0",
77
77
  "dayjs": "^1.11.23",
78
78
  "diff": "^9.0.0",
79
- "eslint": "^9.39.4",
79
+ "eslint": "^10.11.0",
80
80
  "flatpickr": "^4.6.13",
81
81
  "glob": "^13.0.6",
82
- "globals": "^17.12.0",
82
+ "globals": "^17.13.0",
83
+ "hast-util-from-dom": "^5.0.1",
84
+ "hast-util-to-mdast": "^10.1.2",
83
85
  "html-escaper": "^3.0.3",
84
86
  "jsonlint-mod": "^1.7.6",
85
87
  "jsx-dom": "^8.1.6",
86
88
  "kompendium": "npm:@limetech/kompendium@^1.3.0",
87
89
  "lodash-es": "^4.17.23",
88
90
  "material-components-web": "^13.0.0",
89
- "moment": "^2.30.1",
91
+ "mdast-util-to-markdown": "^2.1.3",
92
+ "moment": "^2.31.0",
90
93
  "morphdom": "^2.7.8",
91
94
  "number-abbreviate": "^2.0.0",
92
95
  "parse-css-color": "^0.2.1",
93
- "postal-mime": "^3.0.1",
94
- "prettier": "^3.8.3",
96
+ "postal-mime": "^4.0.2",
97
+ "prettier": "^3.9.9",
95
98
  "prosemirror-example-setup": "^1.2.3",
96
99
  "prosemirror-markdown": "^1.13.8",
97
100
  "prosemirror-model": ">=1.25.12",
@@ -102,22 +105,25 @@
102
105
  "react-dom": "^19.3.0",
103
106
  "rehype-parse": "^9.0.1",
104
107
  "rehype-raw": "^7.0.0",
108
+ "rehype-remark": "^10.0.1",
105
109
  "rehype-sanitize": "^6.0.0",
106
110
  "rehype-stringify": "^10.0.1",
111
+ "remark-breaks": "^4.0.0",
107
112
  "remark-gfm": "^4.0.1",
108
113
  "remark-parse": "^11.0.0",
109
114
  "remark-rehype": "^11.1.1",
115
+ "remark-stringify": "^11.0.0",
110
116
  "replace-in-file": "^8.4.0",
111
117
  "shelljs": "0.10.0",
112
118
  "shx": "^0.4.0",
113
119
  "sirv": "^3.0.2",
114
120
  "sortablejs": "^1.15.7",
115
121
  "style-to-object": "^2.0.2",
116
- "tabulator-tables": "^6.5.3",
122
+ "tabulator-tables": "^6.6.1",
117
123
  "typescript": "^4.9.5",
118
124
  "unified": "^11.0.5",
119
125
  "unist-util-visit": "^5.0.0",
120
- "yargs": "^17.7.2"
126
+ "yargs": "^18.2.0"
121
127
  },
122
128
  "overrides": {
123
129
  "prosemirror-model": "$prosemirror-model"