@limetech/lime-elements 40.18.2 → 40.19.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 (339) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/cjs/controlled-element-Ajn5eA-q.js +26 -0
  3. package/dist/cjs/{index-zZvs6xK-.js → index-DIiA99Er.js} +271 -71
  4. package/dist/cjs/lime-elements.cjs.js +1 -1
  5. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-action-bar_3.cjs.entry.js +4 -4
  7. package/dist/cjs/limel-ai-avatar.cjs.entry.js +2 -2
  8. package/dist/cjs/limel-badge.cjs.entry.js +2 -2
  9. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +131 -39
  11. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-button.cjs.entry.js +2 -2
  13. package/dist/cjs/limel-callout.cjs.entry.js +2 -2
  14. package/dist/cjs/limel-card.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-chart.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-chip-set.cjs.entry.js +23 -4
  18. package/dist/cjs/limel-chip_2.cjs.entry.js +2 -2
  19. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-code-diff.cjs.entry.js +2 -2
  21. package/dist/cjs/limel-code-editor.cjs.entry.js +2 -2
  22. package/dist/cjs/limel-collapsible-section.cjs.entry.js +2 -2
  23. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
  24. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
  26. package/dist/cjs/limel-dock.cjs.entry.js +3 -3
  27. package/dist/cjs/limel-drag-handle_2.cjs.entry.js +4 -4
  28. package/dist/cjs/limel-email-viewer.cjs.entry.js +2 -2
  29. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -2
  30. package/dist/cjs/limel-file-viewer.cjs.entry.js +2 -2
  31. package/dist/cjs/limel-file.cjs.entry.js +2 -2
  32. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +2 -2
  33. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-form-header.cjs.entry.js +1 -1
  35. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  36. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  37. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  38. package/dist/cjs/limel-help_2.cjs.entry.js +3 -3
  39. package/dist/cjs/limel-helper-line_3.cjs.entry.js +15 -24
  40. package/dist/cjs/limel-hotkey_4.cjs.entry.js +5 -5
  41. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
  44. package/dist/cjs/limel-list-item.cjs.entry.js +3 -3
  45. package/dist/cjs/limel-markdown.cjs.entry.js +4 -4
  46. package/dist/cjs/limel-masonry-layout.cjs.entry.js +1 -1
  47. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  48. package/dist/cjs/limel-pagination-jump.cjs.entry.js +1 -1
  49. package/dist/cjs/limel-pagination.cjs.entry.js +2 -2
  50. package/dist/cjs/limel-picker.cjs.entry.js +58 -36
  51. package/dist/cjs/limel-popover_2.cjs.entry.js +4 -11
  52. package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +4 -4
  54. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  55. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  56. package/dist/cjs/limel-resize-handle.cjs.entry.js +2 -2
  57. package/dist/cjs/limel-select.cjs.entry.js +10 -169
  58. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-side-panel.cjs.entry.js +2 -2
  60. package/dist/cjs/limel-slider.cjs.entry.js +4 -4
  61. package/dist/cjs/limel-snackbar.cjs.entry.js +3 -3
  62. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  63. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  64. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  65. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  66. package/dist/cjs/limel-table.cjs.entry.js +3 -3
  67. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +4 -4
  68. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  69. package/dist/cjs/live-message-BNl3Ihcz.js +65 -0
  70. package/dist/cjs/loader.cjs.js +1 -1
  71. package/dist/cjs/{markdown-exporter-VtX_2D1d.js → markdown-exporter-BWS2EBxq.js} +2 -2
  72. package/dist/cjs/{markdown-parser-BYtTHL4W.js → markdown-parser-toAp9-Eq.js} +1 -1
  73. package/dist/cjs/{translations-CLSqfR3x.js → translations-CqJEWcfw.js} +8 -0
  74. package/dist/cjs/typeahead-CnyIjog_.js +194 -0
  75. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  76. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  77. package/dist/collection/components/action-bar/action-bar.js +2 -2
  78. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  79. package/dist/collection/components/badge/badge.js +2 -2
  80. package/dist/collection/components/banner/banner.js +1 -1
  81. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  82. package/dist/collection/components/button/button.js +2 -2
  83. package/dist/collection/components/button-group/button-group.js +1 -1
  84. package/dist/collection/components/callout/callout.js +1 -1
  85. package/dist/collection/components/card/card.js +1 -1
  86. package/dist/collection/components/checkbox/checkbox.js +1 -1
  87. package/dist/collection/components/chip/chip.js +1 -1
  88. package/dist/collection/components/chip-set/chip-set.js +66 -3
  89. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  90. package/dist/collection/components/code-diff/code-diff.js +1 -1
  91. package/dist/collection/components/code-editor/code-editor.js +1 -1
  92. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  93. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  94. package/dist/collection/components/color-picker/color-picker.js +1 -1
  95. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  96. package/dist/collection/components/dialog/dialog.js +2 -2
  97. package/dist/collection/components/dock/dock.js +2 -2
  98. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  99. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  100. package/dist/collection/components/file/file.js +1 -1
  101. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  102. package/dist/collection/components/file-input/file-input.js +1 -1
  103. package/dist/collection/components/flex-container/flex-container.js +1 -1
  104. package/dist/collection/components/form/form.js +1 -1
  105. package/dist/collection/components/form-header/form-header.js +1 -1
  106. package/dist/collection/components/grid/grid.js +1 -1
  107. package/dist/collection/components/header/header.js +1 -1
  108. package/dist/collection/components/help/help-content.js +1 -1
  109. package/dist/collection/components/help/help.js +2 -2
  110. package/dist/collection/components/helper-line/helper-line.js +2 -2
  111. package/dist/collection/components/hotkey/hotkey.js +1 -1
  112. package/dist/collection/components/icon/icon.js +1 -1
  113. package/dist/collection/components/icon-button/icon-button.js +1 -1
  114. package/dist/collection/components/info-tile/info-tile.js +2 -2
  115. package/dist/collection/components/input-field/input-field.css +13 -0
  116. package/dist/collection/components/input-field/input-field.js +152 -32
  117. package/dist/collection/components/list/list-renderer.js +1 -1
  118. package/dist/collection/components/list/list.js +31 -20
  119. package/dist/collection/components/list-item/list-item.js +2 -2
  120. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  121. package/dist/collection/components/markdown/markdown.js +1 -1
  122. package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
  123. package/dist/collection/components/menu/menu.js +1 -1
  124. package/dist/collection/components/menu-list/menu-list.js +1 -1
  125. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  126. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  127. package/dist/collection/components/pagination/pagination.js +1 -1
  128. package/dist/collection/components/picker/picker.css +112 -0
  129. package/dist/collection/components/picker/picker.js +56 -32
  130. package/dist/collection/components/popover/popover.js +3 -10
  131. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  132. package/dist/collection/components/portal/portal.js +1 -1
  133. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  134. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  135. package/dist/collection/components/resize-handle/resize-handle.js +1 -1
  136. package/dist/collection/components/scroller/scroller.js +2 -2
  137. package/dist/collection/components/select/select.js +1 -1
  138. package/dist/collection/components/shortcut/shortcut.js +1 -1
  139. package/dist/collection/components/side-panel/side-panel.js +1 -1
  140. package/dist/collection/components/slider/slider.js +3 -3
  141. package/dist/collection/components/snackbar/snackbar.js +2 -2
  142. package/dist/collection/components/spinner/spinner.js +1 -1
  143. package/dist/collection/components/split-button/split-button.js +2 -2
  144. package/dist/collection/components/switch/switch.js +1 -1
  145. package/dist/collection/components/tab-bar/tab-bar.js +1 -1
  146. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  147. package/dist/collection/components/table/table.js +2 -2
  148. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  149. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  150. package/dist/collection/components/text-editor/text-editor.js +1 -1
  151. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  152. package/dist/collection/components/tooltip/tooltip.js +2 -2
  153. package/dist/collection/translations/da.js +1 -0
  154. package/dist/collection/translations/de.js +1 -0
  155. package/dist/collection/translations/en.js +1 -0
  156. package/dist/collection/translations/fi.js +1 -0
  157. package/dist/collection/translations/fr.js +1 -0
  158. package/dist/collection/translations/nl.js +1 -0
  159. package/dist/collection/translations/no.js +1 -0
  160. package/dist/collection/translations/sv.js +1 -0
  161. package/dist/collection/util/controlled-element.js +22 -0
  162. package/dist/collection/util/live-message.js +30 -0
  163. package/dist/collection/util/typeahead.js +26 -0
  164. package/dist/esm/controlled-element-ByOXsysp.js +24 -0
  165. package/dist/esm/{index-BN64nlbO.js → index-CofmbCdQ.js} +271 -71
  166. package/dist/esm/lime-elements.js +1 -1
  167. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  168. package/dist/esm/limel-action-bar_3.entry.js +4 -4
  169. package/dist/esm/limel-ai-avatar.entry.js +2 -2
  170. package/dist/esm/limel-badge.entry.js +2 -2
  171. package/dist/esm/limel-banner.entry.js +1 -1
  172. package/dist/esm/limel-breadcrumbs_6.entry.js +131 -39
  173. package/dist/esm/limel-button-group.entry.js +1 -1
  174. package/dist/esm/limel-button.entry.js +2 -2
  175. package/dist/esm/limel-callout.entry.js +2 -2
  176. package/dist/esm/limel-card.entry.js +1 -1
  177. package/dist/esm/limel-chart.entry.js +1 -1
  178. package/dist/esm/limel-checkbox.entry.js +1 -1
  179. package/dist/esm/limel-chip-set.entry.js +23 -4
  180. package/dist/esm/limel-chip_2.entry.js +2 -2
  181. package/dist/esm/limel-circular-progress.entry.js +1 -1
  182. package/dist/esm/limel-code-diff.entry.js +2 -2
  183. package/dist/esm/limel-code-editor.entry.js +2 -2
  184. package/dist/esm/limel-collapsible-section.entry.js +2 -2
  185. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  186. package/dist/esm/limel-color-picker.entry.js +1 -1
  187. package/dist/esm/limel-dialog.entry.js +2 -2
  188. package/dist/esm/limel-dock.entry.js +3 -3
  189. package/dist/esm/limel-drag-handle_2.entry.js +4 -4
  190. package/dist/esm/limel-email-viewer.entry.js +2 -2
  191. package/dist/esm/limel-file-dropzone_2.entry.js +2 -2
  192. package/dist/esm/limel-file-viewer.entry.js +2 -2
  193. package/dist/esm/limel-file.entry.js +2 -2
  194. package/dist/esm/limel-flatpickr-adapter.entry.js +2 -2
  195. package/dist/esm/limel-flex-container.entry.js +1 -1
  196. package/dist/esm/limel-form-header.entry.js +1 -1
  197. package/dist/esm/limel-form.entry.js +1 -1
  198. package/dist/esm/limel-grid.entry.js +1 -1
  199. package/dist/esm/limel-header.entry.js +1 -1
  200. package/dist/esm/limel-help_2.entry.js +3 -3
  201. package/dist/esm/limel-helper-line_3.entry.js +15 -24
  202. package/dist/esm/limel-hotkey_4.entry.js +5 -5
  203. package/dist/esm/limel-icon-button.entry.js +1 -1
  204. package/dist/esm/limel-icon.entry.js +1 -1
  205. package/dist/esm/limel-info-tile.entry.js +2 -2
  206. package/dist/esm/limel-list-item.entry.js +3 -3
  207. package/dist/esm/limel-markdown.entry.js +4 -4
  208. package/dist/esm/limel-masonry-layout.entry.js +1 -1
  209. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  210. package/dist/esm/limel-pagination-jump.entry.js +1 -1
  211. package/dist/esm/limel-pagination.entry.js +2 -2
  212. package/dist/esm/limel-picker.entry.js +57 -35
  213. package/dist/esm/limel-popover_2.entry.js +4 -11
  214. package/dist/esm/limel-profile-picture.entry.js +1 -1
  215. package/dist/esm/limel-prosemirror-adapter.entry.js +4 -4
  216. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  217. package/dist/esm/limel-radio-button.entry.js +2 -2
  218. package/dist/esm/limel-resize-handle.entry.js +2 -2
  219. package/dist/esm/limel-select.entry.js +2 -161
  220. package/dist/esm/limel-shortcut.entry.js +1 -1
  221. package/dist/esm/limel-side-panel.entry.js +2 -2
  222. package/dist/esm/limel-slider.entry.js +4 -4
  223. package/dist/esm/limel-snackbar.entry.js +3 -3
  224. package/dist/esm/limel-split-button.entry.js +2 -2
  225. package/dist/esm/limel-switch.entry.js +1 -1
  226. package/dist/esm/limel-tab-bar.entry.js +1 -1
  227. package/dist/esm/limel-tab-panel.entry.js +1 -1
  228. package/dist/esm/limel-table.entry.js +3 -3
  229. package/dist/esm/limel-text-editor-link-menu.entry.js +4 -4
  230. package/dist/esm/limel-text-editor.entry.js +1 -1
  231. package/dist/esm/live-message-BQAYeNiX.js +62 -0
  232. package/dist/esm/loader.js +1 -1
  233. package/dist/esm/{markdown-exporter-tb8ft8Gq.js → markdown-exporter-B2vFxSLw.js} +2 -2
  234. package/dist/esm/{markdown-parser-DFP65EFu.js → markdown-parser-Cw8iW5R9.js} +1 -1
  235. package/dist/esm/{translations-Drl5LNAD.js → translations-kct5Kybu.js} +8 -0
  236. package/dist/esm/typeahead-DOlnT3wh.js +188 -0
  237. package/dist/lime-elements/lime-elements.esm.js +1 -1
  238. package/dist/lime-elements/{p-55f7c9f5.entry.js → p-02aac2c0.entry.js} +1 -1
  239. package/dist/lime-elements/{p-a608ebe3.entry.js → p-0319f07f.entry.js} +1 -1
  240. package/dist/lime-elements/{p-dd383c12.entry.js → p-0910aefc.entry.js} +1 -1
  241. package/dist/lime-elements/{p-a7a84633.entry.js → p-1a7d1d2b.entry.js} +1 -1
  242. package/dist/lime-elements/{p-f8566c5b.entry.js → p-1d9bc526.entry.js} +1 -1
  243. package/dist/lime-elements/{p-e0ab0046.entry.js → p-1e0ced6a.entry.js} +1 -1
  244. package/dist/lime-elements/{p-5f2a34ed.entry.js → p-28957b5c.entry.js} +1 -1
  245. package/dist/lime-elements/{p-fdc7da58.entry.js → p-38ab193f.entry.js} +1 -1
  246. package/dist/lime-elements/{p-3ae5fb67.entry.js → p-39d1e157.entry.js} +1 -1
  247. package/dist/lime-elements/{p-d0908a85.entry.js → p-3ac39bd5.entry.js} +2 -2
  248. package/dist/lime-elements/p-3ca188f6.entry.js +159 -0
  249. package/dist/lime-elements/{p-7f1a1ed5.entry.js → p-3f7fa772.entry.js} +1 -1
  250. package/dist/lime-elements/{p-b80433be.entry.js → p-40940a6c.entry.js} +1 -1
  251. package/dist/lime-elements/{p-7235d147.entry.js → p-438fe49b.entry.js} +1 -1
  252. package/dist/lime-elements/p-45572e9d.entry.js +1 -0
  253. package/dist/lime-elements/{p-0c314c3c.entry.js → p-47fe76a8.entry.js} +1 -1
  254. package/dist/lime-elements/p-4834e7c1.entry.js +1 -0
  255. package/dist/lime-elements/{p-22c44279.entry.js → p-48a412ed.entry.js} +1 -1
  256. package/dist/lime-elements/{p-eb5a18ff.entry.js → p-496b2437.entry.js} +1 -1
  257. package/dist/lime-elements/{p-5d9a2877.entry.js → p-4c080cd9.entry.js} +1 -1
  258. package/dist/lime-elements/{p-be0a8125.entry.js → p-54537c85.entry.js} +1 -1
  259. package/dist/lime-elements/{p-2c29c27f.entry.js → p-55fa19ae.entry.js} +1 -1
  260. package/dist/lime-elements/{p-da4b4a81.entry.js → p-5dce791c.entry.js} +1 -1
  261. package/dist/lime-elements/{p-b983531f.entry.js → p-6053608a.entry.js} +1 -1
  262. package/dist/lime-elements/{p-164e1ad0.entry.js → p-6ae093c8.entry.js} +1 -1
  263. package/dist/lime-elements/{p-29815107.entry.js → p-6d2d25b9.entry.js} +1 -1
  264. package/dist/lime-elements/{p-9e30d206.entry.js → p-6d9b89db.entry.js} +1 -1
  265. package/dist/lime-elements/{p-be2b8c1e.entry.js → p-6e9eeb0a.entry.js} +1 -1
  266. package/dist/lime-elements/{p-68129487.entry.js → p-764d2f86.entry.js} +1 -1
  267. package/dist/lime-elements/{p-49a53f0b.entry.js → p-7ab726c2.entry.js} +1 -1
  268. package/dist/lime-elements/{p-cced022b.entry.js → p-7b87e547.entry.js} +1 -1
  269. package/dist/lime-elements/{p-65eafc85.entry.js → p-7bf3bf8a.entry.js} +1 -1
  270. package/dist/lime-elements/{p-586ee40c.entry.js → p-7d0ffc60.entry.js} +1 -1
  271. package/dist/lime-elements/{p-fad7a3fa.entry.js → p-7f0743d6.entry.js} +1 -1
  272. package/dist/lime-elements/{p-7d27d572.entry.js → p-814b4934.entry.js} +1 -1
  273. package/dist/lime-elements/p-843886fe.entry.js +1 -0
  274. package/dist/lime-elements/p-8d602078.entry.js +1 -0
  275. package/dist/lime-elements/p-8fe28845.entry.js +1 -0
  276. package/dist/lime-elements/{p-f35880ef.entry.js → p-909466b8.entry.js} +1 -1
  277. package/dist/lime-elements/{p-545c087b.entry.js → p-933ffaa8.entry.js} +1 -1
  278. package/dist/lime-elements/p-94ae27e2.entry.js +23 -0
  279. package/dist/lime-elements/{p-cc8d6198.entry.js → p-95a486c8.entry.js} +1 -1
  280. package/dist/lime-elements/{p-565c85ac.entry.js → p-9b2623fe.entry.js} +1 -1
  281. package/dist/lime-elements/{p-C0wwdPYT.js → p-Bd37Vplf.js} +2 -2
  282. package/dist/lime-elements/p-ByOXsysp.js +1 -0
  283. package/dist/lime-elements/{p-_UXAljNc.js → p-CbPYnlF-.js} +1 -1
  284. package/dist/lime-elements/{p-Bgn2bikC.js → p-CvHpvp0f.js} +1 -1
  285. package/dist/lime-elements/p-Cw7VQSGU.js +1 -0
  286. package/dist/lime-elements/p-Dzp8dXTo.js +1 -0
  287. package/dist/lime-elements/{p-565e5ea7.entry.js → p-a6387dc7.entry.js} +1 -1
  288. package/dist/lime-elements/{p-40a48f70.entry.js → p-a6c6a31b.entry.js} +1 -1
  289. package/dist/lime-elements/{p-e8255f0b.entry.js → p-a7be03e1.entry.js} +1 -1
  290. package/dist/lime-elements/{p-67acf39d.entry.js → p-af7d07fd.entry.js} +1 -1
  291. package/dist/lime-elements/{p-707d4b28.entry.js → p-bffb5ed2.entry.js} +1 -1
  292. package/dist/lime-elements/{p-7035d93d.entry.js → p-c0ebf7cc.entry.js} +1 -1
  293. package/dist/lime-elements/{p-7aae3d13.entry.js → p-c2056ebc.entry.js} +1 -1
  294. package/dist/lime-elements/{p-19681a98.entry.js → p-c2f993cc.entry.js} +1 -1
  295. package/dist/lime-elements/{p-c73f4160.entry.js → p-c61e9b83.entry.js} +1 -1
  296. package/dist/lime-elements/{p-519603f5.entry.js → p-c6b3448c.entry.js} +1 -1
  297. package/dist/lime-elements/{p-153e91e1.entry.js → p-ce71c5b9.entry.js} +1 -1
  298. package/dist/lime-elements/{p-2a375a65.entry.js → p-d35d2859.entry.js} +1 -1
  299. package/dist/lime-elements/{p-26347009.entry.js → p-d3f13124.entry.js} +1 -1
  300. package/dist/lime-elements/{p-300f80e7.entry.js → p-d4702653.entry.js} +1 -1
  301. package/dist/lime-elements/{p-a2dc6645.entry.js → p-d8559847.entry.js} +1 -1
  302. package/dist/lime-elements/{p-c8f09dd5.entry.js → p-db9cb7ef.entry.js} +1 -1
  303. package/dist/lime-elements/{p-05c1f5a0.entry.js → p-e5abe390.entry.js} +1 -1
  304. package/dist/lime-elements/p-f036ad27.entry.js +1 -0
  305. package/dist/lime-elements/{p-2f5face5.entry.js → p-f59447bf.entry.js} +1 -1
  306. package/dist/lime-elements/{p-a81f6962.entry.js → p-f5bb17eb.entry.js} +1 -1
  307. package/dist/lime-elements/{p-9bbf2612.entry.js → p-f7a90228.entry.js} +1 -1
  308. package/dist/lime-elements/p-fYs7n6yY.js +1 -0
  309. package/dist/types/components/chip-set/chip-set.d.ts +15 -0
  310. package/dist/types/components/input-field/input-field.d.ts +19 -6
  311. package/dist/types/components/list/list-renderer-config.d.ts +1 -0
  312. package/dist/types/components/list/list.d.ts +6 -0
  313. package/dist/types/components/picker/picker.d.ts +12 -5
  314. package/dist/types/components/popover/popover.d.ts +0 -1
  315. package/dist/types/components.d.ts +46 -0
  316. package/dist/types/translations/da.d.ts +1 -0
  317. package/dist/types/translations/de.d.ts +1 -0
  318. package/dist/types/translations/en.d.ts +1 -0
  319. package/dist/types/translations/fi.d.ts +1 -0
  320. package/dist/types/translations/fr.d.ts +1 -0
  321. package/dist/types/translations/nl.d.ts +1 -0
  322. package/dist/types/translations/no.d.ts +1 -0
  323. package/dist/types/translations/sv.d.ts +1 -0
  324. package/dist/types/util/controlled-element.d.ts +11 -0
  325. package/dist/types/util/live-message.d.ts +17 -0
  326. package/dist/types/util/typeahead.d.ts +16 -0
  327. package/package.json +2 -2
  328. package/dist/cjs/dom-BWMDM6En.js +0 -32
  329. package/dist/esm/dom-B9Ofc5RB.js +0 -30
  330. package/dist/lime-elements/p-27d7c255.entry.js +0 -159
  331. package/dist/lime-elements/p-3c861ca8.entry.js +0 -23
  332. package/dist/lime-elements/p-513d2a5e.entry.js +0 -1
  333. package/dist/lime-elements/p-55abec82.entry.js +0 -1
  334. package/dist/lime-elements/p-6aae3f58.entry.js +0 -1
  335. package/dist/lime-elements/p-7af16e1d.entry.js +0 -1
  336. package/dist/lime-elements/p-813cb15c.entry.js +0 -1
  337. package/dist/lime-elements/p-895a68c5.entry.js +0 -1
  338. package/dist/lime-elements/p-B26k4gw8.js +0 -1
  339. package/dist/lime-elements/p-B9Ofc5RB.js +0 -1
@@ -5,6 +5,7 @@ var device = require('./device-C9O7lYI9.js');
5
5
  var keycodes = require('./keycodes-BQ_AERli.js');
6
6
  var multiple = require('./multiple-DYfiga7l.js');
7
7
  var randomString = require('./random-string-CFCtFh5l.js');
8
+ var typeahead = require('./typeahead-CnyIjog_.js');
8
9
  var renderListComponent = require('./render-list-component-BtAliHQp.js');
9
10
  var getIconProps = require('./get-icon-props-CwpDdQDI.js');
10
11
  var component = require('./component-DNiVfYHV.js');
@@ -256,166 +257,6 @@ var MDCSelectHelperText = /** @class */ (function (_super) {
256
257
  return MDCSelectHelperText;
257
258
  }(ponyfill.MDCComponent));
258
259
 
259
- /**
260
- * These helpers implement "type to jump", the behavior a native `<select>` has:
261
- * typing characters moves to the option whose text starts with those
262
- * characters. Characters accumulate into a short-lived buffer, so typing
263
- * `n`, `e` finds "Netherlands" instead of re-matching on `n` every time.
264
- *
265
- * The matching itself is pure and stateless — all the state lives in a
266
- * `TypeaheadBuffer`, which owns the timer that discards the buffer once the
267
- * user stops typing.
268
- */
269
- /**
270
- * How long a buffer of typed characters is kept before it is discarded, in
271
- * milliseconds. Roughly matches a native `<select>`.
272
- */
273
- const TYPEAHEAD_BUFFER_TIMEOUT = 1000;
274
- /**
275
- * Returned by `findTypeaheadMatch` when nothing matched.
276
- */
277
- const NO_TYPEAHEAD_MATCH = -1;
278
- /**
279
- * Whether a keyboard event should be treated as a typed character.
280
- *
281
- * The space bar counts as a character here. Whether a *bare* space should
282
- * start a buffer, or keep whatever meaning it has in the consuming component,
283
- * is the consumer's decision.
284
- *
285
- * `shiftKey` is allowed, since capital letters are typed with it, and
286
- * `event.repeat` is allowed, since holding a key down cycles through matches
287
- * in a native `<select>` too.
288
- *
289
- * @param event - the keyboard event to inspect
290
- * @returns `true` when the event represents a typed character
291
- */
292
- function isTypeaheadKey(event) {
293
- return (event.key.length === 1 &&
294
- !event.altKey &&
295
- !event.ctrlKey &&
296
- !event.metaKey &&
297
- !event.isComposing);
298
- }
299
- /**
300
- * Find the candidate to move to for a given buffer of typed characters.
301
- *
302
- * Two different searches are used, mirroring a native `<select>`:
303
- * - When the buffer is a single character, possibly repeated (`b`, `bb`,
304
- * `bbb`), only that character is matched and the search starts *after*
305
- * `currentIndex`. Pressing the same key repeatedly therefore cycles through
306
- * all candidates starting with it.
307
- * - Otherwise the whole buffer is matched and the search starts *at*
308
- * `currentIndex`, so continuing to type on an already-matching candidate
309
- * keeps it rather than jumping to the next one.
310
- *
311
- * Both searches wrap around the end of the list.
312
- *
313
- * @param candidates - the candidates to search, index-aligned with the rows
314
- * they are rendered as. Use `null` for rows that can never match, such as
315
- * separators, so that they still occupy their index.
316
- * @param buffer - the characters typed so far
317
- * @param currentIndex - the index to search from. Anything outside
318
- * `candidates` is treated as "no current candidate", and the search starts
319
- * from the beginning.
320
- * @returns the index of the matching candidate, or `NO_TYPEAHEAD_MATCH`
321
- */
322
- function findTypeaheadMatch(candidates, buffer, currentIndex) {
323
- const count = candidates.length;
324
- const query = buffer.toLowerCase();
325
- if (!query || count === 0) {
326
- return NO_TYPEAHEAD_MATCH;
327
- }
328
- const characters = [...query];
329
- const cycles = isSingleDistinctCharacter(characters);
330
- const needle = cycles ? characters[0] : query;
331
- // Cycling starts one past the current candidate, so that pressing the same
332
- // key again advances. Matching several characters starts at it, so that
333
- // continuing to type keeps a candidate that already matches.
334
- const offset = cycles ? 1 : 0;
335
- const hasCurrent = currentIndex >= 0 && currentIndex < count;
336
- const start = hasCurrent ? (currentIndex + offset) % count : 0;
337
- for (let step = 0; step < count; step += 1) {
338
- const index = (start + step) % count;
339
- if (candidateMatches(candidates[index], needle)) {
340
- return index;
341
- }
342
- }
343
- return NO_TYPEAHEAD_MATCH;
344
- }
345
- /**
346
- * Whether a string consists of a single character, possibly repeated. Also
347
- * `true` for one character on its own, which is what makes a single key press
348
- * advance past the current candidate rather than re-matching it.
349
- *
350
- * Takes the characters already split apart, so that the caller and this
351
- * function agree on what "a character" is for anything outside the basic
352
- * multilingual plane.
353
- *
354
- * @param characters - the characters of the string
355
- * @returns `true` when every character is the same
356
- */
357
- function isSingleDistinctCharacter(characters) {
358
- return characters.every((character) => character === characters[0]);
359
- }
360
- /**
361
- * @param candidate - the candidate to test, or `null` for a row that can
362
- * never match
363
- * @param needle - the lower cased characters to match
364
- * @returns `true` when the candidate starts with the given characters
365
- */
366
- function candidateMatches(candidate, needle) {
367
- var _a;
368
- if (!candidate || candidate.disabled) {
369
- return false;
370
- }
371
- const text = (_a = candidate.text) === null || _a === void 0 ? void 0 : _a.trim().toLowerCase();
372
- return !!text && text.startsWith(needle);
373
- }
374
- /**
375
- * Accumulates typed characters, and discards them again once the user stops
376
- * typing for `TYPEAHEAD_BUFFER_TIMEOUT`.
377
- */
378
- class TypeaheadBuffer {
379
- constructor(timeout = TYPEAHEAD_BUFFER_TIMEOUT) {
380
- this.buffer = '';
381
- this.timeout = timeout;
382
- }
383
- /**
384
- * The characters typed so far.
385
- */
386
- get value() {
387
- return this.buffer;
388
- }
389
- /**
390
- * Whether nothing has been typed, or the buffer has been discarded.
391
- */
392
- get isEmpty() {
393
- return this.buffer === '';
394
- }
395
- /**
396
- * Append a character, and restart the timer that discards the buffer.
397
- *
398
- * @param character - the character to append
399
- * @returns the buffer, including the appended character
400
- */
401
- append(character) {
402
- this.buffer += character;
403
- clearTimeout(this.resetTimeoutId);
404
- this.resetTimeoutId = setTimeout(() => {
405
- this.clear();
406
- }, this.timeout);
407
- return this.buffer;
408
- }
409
- /**
410
- * Discard the buffer, and cancel the timer that would have discarded it.
411
- */
412
- clear() {
413
- this.buffer = '';
414
- clearTimeout(this.resetTimeoutId);
415
- this.resetTimeoutId = undefined;
416
- }
417
- }
418
-
419
260
  const TRIGGER_ID = 's-trigger';
420
261
  const LABEL_ID = 's-label';
421
262
  const SELECTED_TEXT_ID = 's-selected-text';
@@ -715,7 +556,7 @@ const Select = class {
715
556
  this.hasChanged = false;
716
557
  this.hasRichOptions = false;
717
558
  this.checkValid = false;
718
- this.typeaheadBuffer = new TypeaheadBuffer();
559
+ this.typeaheadBuffer = new typeahead.TypeaheadBuffer();
719
560
  this.handleMenuTriggerKeyDown = (event) => {
720
561
  if (this.readonly) {
721
562
  return;
@@ -723,7 +564,7 @@ const Select = class {
723
564
  // Typeahead runs first, so that a space extends an ongoing typeahead
724
565
  // instead of just opening the dropdown. A *bare* space is declined by
725
566
  // `handleTypeaheadKey`, and keeps its usual meaning below.
726
- if (this.handleTypeaheadKey(event, NO_TYPEAHEAD_MATCH)) {
567
+ if (this.handleTypeaheadKey(event, typeahead.NO_TYPEAHEAD_MATCH)) {
727
568
  return;
728
569
  }
729
570
  const isEnter = event.key === keycodes.ENTER;
@@ -819,7 +660,7 @@ const Select = class {
819
660
  }
820
661
  render() {
821
662
  const dropdownZIndex = getComputedStyle(this.host).getPropertyValue('--dropdown-z-index');
822
- return (index.h(SelectTemplate, { key: 'f0cb07f6a462919f27c952ca518dd6139413dde6', id: this.portalId, disabled: this.disabled, readonly: this.readonly, required: this.required, invalid: this.invalid, label: this.label, helperText: this.helperText, value: this.value, options: this.options, onMenuChange: this.handleMenuChange, onNativeChange: this.handleNativeChange, onTriggerKeyDown: this.handleMenuTriggerKeyDown, listRef: this.setListElement, multiple: this.multiple, isOpen: this.menuOpen, open: this.openMenu, close: this.closeMenu, checkValid: this.checkValid, native: this.shouldRenderNative(), dropdownZIndex: dropdownZIndex, anchor: this.getAnchorElement() }));
663
+ return (index.h(SelectTemplate, { key: '4e7a0b4acfc0a76fa2e10089d974796a08b81f22', id: this.portalId, disabled: this.disabled, readonly: this.readonly, required: this.required, invalid: this.invalid, label: this.label, helperText: this.helperText, value: this.value, options: this.options, onMenuChange: this.handleMenuChange, onNativeChange: this.handleNativeChange, onTriggerKeyDown: this.handleMenuTriggerKeyDown, listRef: this.setListElement, multiple: this.multiple, isOpen: this.menuOpen, open: this.openMenu, close: this.closeMenu, checkValid: this.checkValid, native: this.shouldRenderNative(), dropdownZIndex: dropdownZIndex, anchor: this.getAnchorElement() }));
823
664
  }
824
665
  watchOpen(newValue, oldValue) {
825
666
  if (this.checkValid) {
@@ -868,7 +709,7 @@ const Select = class {
868
709
  // without closing it, which brings us back here with a row
869
710
  // already focused. Moving to the first option then would lose
870
711
  // the user's place in the list after every pick.
871
- if (this.getFocusedMenuItemIndex() !== NO_TYPEAHEAD_MATCH) {
712
+ if (this.getFocusedMenuItemIndex() !== typeahead.NO_TYPEAHEAD_MATCH) {
872
713
  return;
873
714
  }
874
715
  this.focusFirstMenuItem(list);
@@ -1019,7 +860,7 @@ const Select = class {
1019
860
  // The native dropdown does its own typeahead. Note that
1020
861
  // `setMenuFocus` bails out there too, so a pending index would never
1021
862
  // be consumed anyway.
1022
- if (this.shouldRenderNative() || !isTypeaheadKey(event)) {
863
+ if (this.shouldRenderNative() || !typeahead.isTypeaheadKey(event)) {
1023
864
  return false;
1024
865
  }
1025
866
  // A space only continues an ongoing typeahead. On its own it keeps its
@@ -1036,8 +877,8 @@ const Select = class {
1036
877
  const candidates = items.map((item) => ('separator' in item ? null : item));
1037
878
  const buffer = this.typeaheadBuffer.append(event.key);
1038
879
  const currentIndex = this.resolveTypeaheadIndex(items, focusedIndex);
1039
- const index = findTypeaheadMatch(candidates, buffer, currentIndex);
1040
- if (index !== NO_TYPEAHEAD_MATCH) {
880
+ const index = typeahead.findTypeaheadMatch(candidates, buffer, currentIndex);
881
+ if (index !== typeahead.NO_TYPEAHEAD_MATCH) {
1041
882
  this.focusTypeaheadMatch(index);
1042
883
  }
1043
884
  return true;
@@ -1048,7 +889,7 @@ const Select = class {
1048
889
  * @returns the index a typeahead search should start from
1049
890
  */
1050
891
  resolveTypeaheadIndex(items, focusedIndex) {
1051
- if (focusedIndex !== NO_TYPEAHEAD_MATCH) {
892
+ if (focusedIndex !== typeahead.NO_TYPEAHEAD_MATCH) {
1052
893
  return focusedIndex;
1053
894
  }
1054
895
  // Typed again before focus had time to land in the dropdown.
@@ -1102,7 +943,7 @@ const Select = class {
1102
943
  const focused = (_b = (_a = this.list) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.activeElement;
1103
944
  const row = focused === null || focused === void 0 ? void 0 : focused.closest('[data-index]');
1104
945
  const index = Number.parseInt((_c = row === null || row === void 0 ? void 0 : row.dataset.index) !== null && _c !== void 0 ? _c : '', 10);
1105
- return Number.isNaN(index) ? NO_TYPEAHEAD_MATCH : index;
946
+ return Number.isNaN(index) ? typeahead.NO_TYPEAHEAD_MATCH : index;
1106
947
  }
1107
948
  resetTypeahead() {
1108
949
  this.typeaheadBuffer.clear();
@@ -53,7 +53,7 @@ const Shortcut = class {
53
53
  render() {
54
54
  var _a, _b, _c, _d, _e;
55
55
  const rel = linkHelper.getRel((_a = this.link) === null || _a === void 0 ? void 0 : _a.target, (_b = this.link) === null || _b === void 0 ? void 0 : _b.rel);
56
- return (index.h(index.Host, { key: '7bf3b46e100ac6bbdaa80340005154bc83be3c1b', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, index.h("a", { key: '411751e70f5933a78549fee2aa7f4196ac6c2607', "aria-disabled": this.disabled, href: (_c = this.link) === null || _c === void 0 ? void 0 : _c.href, target: (_d = this.link) === null || _d === void 0 ? void 0 : _d.target, rel: rel, tabindex: "0", "aria-label": this.getAriaLabel(), title: (_e = this.link) === null || _e === void 0 ? void 0 : _e.title }, index.h("limel-icon", { key: '8b0c70289868c38c326ed0f3ced857f069b5914c', name: this.icon }), index.h("limel-3d-hover-effect-glow", { key: 'a1d467b156cbd66220284d296c081a34f5288142' })), this.renderLabel(), this.renderNotification()));
56
+ return (index.h(index.Host, { key: '85fa2d40b55cf7760d741790a1c46aed214b9138', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave }, index.h("a", { key: 'd0947264d9e635538b680c49f6d63d9b1fe5c276', "aria-disabled": this.disabled, href: (_c = this.link) === null || _c === void 0 ? void 0 : _c.href, target: (_d = this.link) === null || _d === void 0 ? void 0 : _d.target, rel: rel, tabindex: "0", "aria-label": this.getAriaLabel(), title: (_e = this.link) === null || _e === void 0 ? void 0 : _e.title }, index.h("limel-icon", { key: '49f8738c4f675badac5c048a74b15070f883e425', name: this.icon }), index.h("limel-3d-hover-effect-glow", { key: 'd079dc72de9f71b9694ce6dad18f37082ebf4c8b' })), this.renderLabel(), this.renderNotification()));
57
57
  }
58
58
  get host() { return index.getElement(this); }
59
59
  };
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BlsqxTB1.js');
4
- var translations = require('./translations-CLSqfR3x.js');
4
+ var translations = require('./translations-CqJEWcfw.js');
5
5
  var keycodes = require('./keycodes-BQ_AERli.js');
6
6
  var randomString = require('./random-string-CFCtFh5l.js');
7
7
  require('./language-v-MMS6ym.js');
@@ -230,7 +230,7 @@ const SidePanel = class {
230
230
  .querySelector('button.close')) === null || _a === void 0 ? void 0 : _a.focus();
231
231
  }
232
232
  render() {
233
- return (index.h(index.Host, { key: '08b05c2b8afd8932dc8adb37ad90f1d95470157c' }, index.h("section", { key: 'f22ca23fdd6a12800bb0302324b9bc2240248799', ref: this.setPanel, role: "dialog", "aria-label": this.label, tabindex: "-1" }, this.renderHandle(), index.h("div", { key: '2fad374bae850686330e1ed96f5fab4f47243ee2', class: "content" }, index.h("div", { key: 'fe0752f1df11d0ed2b7e5b9592527f4c2db920c5', class: "toolbar" }, this.renderCloseButton(), this.renderActions()), this.renderHeader(), this.renderBody())), this.renderStack(), index.h("span", { key: 'c5550895527070ff57f41eab0e01e8a1eb924883', "data-limit": "min", ref: this.setMinLimit }), index.h("span", { key: '2de8d255c665137b0e6049eaf79214e5164aed85', "data-limit": "max", ref: this.setMaxLimit })));
233
+ return (index.h(index.Host, { key: '9b897330f9b462ea664d78d5886c1a192b95b037' }, index.h("section", { key: 'dd60b5b91233d1dedde3fbdabf6145a2f008e99a', ref: this.setPanel, role: "dialog", "aria-label": this.label, tabindex: "-1" }, this.renderHandle(), index.h("div", { key: 'd6e145ccba5ca797168eeb39da030844a03d1dc1', class: "content" }, index.h("div", { key: 'f1b5b41bcd39b5b1192ed080ddb770a7b5f694ac', class: "toolbar" }, this.renderCloseButton(), this.renderActions()), this.renderHeader(), this.renderBody())), this.renderStack(), index.h("span", { key: 'b84046762f4f9c81a8a93eb388037b7565f6457a', "data-limit": "min", ref: this.setMinLimit }), index.h("span", { key: '2a3c7a1084875e6d57fe401716e550a365d8adc8', "data-limit": "max", ref: this.setMaxLimit })));
234
234
  }
235
235
  // A native button and not `limel-icon-button`, because the hover animation
236
236
  // styles the icon, which is inside the shadow root of `limel-icon-button`.
@@ -2,7 +2,7 @@
2
2
 
3
3
  var index = require('./index-BlsqxTB1.js');
4
4
  var randomString = require('./random-string-CFCtFh5l.js');
5
- var translations = require('./translations-CLSqfR3x.js');
5
+ var translations = require('./translations-CqJEWcfw.js');
6
6
  require('./language-v-MMS6ym.js');
7
7
 
8
8
  /**
@@ -308,15 +308,15 @@ const Slider = class {
308
308
  if (this.disabled || this.readonly) {
309
309
  inputProps.disabled = true;
310
310
  }
311
- return (index.h(index.Host, { key: '221db331025fdd7f147d86da437fd6cd1daa2622', class: this.getContainerClassList() }, index.h("limel-notched-outline", { key: 'e43bad1e38c8f7844f6c9556e1663d5db0fcda81', labelId: this.inputId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !this.isUnset, hasFloatingLabel: true }, index.h("div", { key: '94f4bcfbf53ec1aa1f283140f66249cf20222758', slot: "content" }, index.h("div", { key: '070e80ffb9cd899b95b65f608012f6179e857a48', class: "slider", style: { '--slider-fraction': `${fraction}` } }, index.h("input", Object.assign({ key: 'c797f60bb1dee92f504bbe9b7d7e46e28e35bb5b', id: this.inputId, type: "range", min: min, max: max, value: this.displayValue, "aria-describedby": this.helperText
311
+ return (index.h(index.Host, { key: 'f36c727962bfff9e4b4d1f59659edf19e3d7966f', class: this.getContainerClassList() }, index.h("limel-notched-outline", { key: '0e87be789bc4f5462b45d9ac9e7f2318ca59000f', labelId: this.inputId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !this.isUnset, hasFloatingLabel: true }, index.h("div", { key: '2d46c8256b2497a041ad0ef70a17a8a9c3a68646', slot: "content" }, index.h("div", { key: '55f05f623a70dd946189a70b399372c1409757e2', class: "slider", style: { '--slider-fraction': `${fraction}` } }, index.h("input", Object.assign({ key: 'f56b592cdab90fd824081529800ad995b0129dc4', id: this.inputId, type: "range", min: min, max: max, value: this.displayValue, "aria-describedby": this.helperText
312
312
  ? this.helperTextId
313
313
  : undefined, "aria-invalid": this.invalid ? 'true' : undefined, "aria-valuetext": this.isUnset
314
314
  ? translations.translations.get('value-not-set', this.language)
315
315
  : undefined, ref: (el) => {
316
316
  this.inputElement = el;
317
- }, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }, inputProps)), index.h("div", { key: '1d2cc0e4f84e3292e404499a670ee32f7b2f0c07', class: "track" }, index.h("div", { key: '849eda8cc4916f9455aee96ea3e4811a80be3a18', class: "active" }), this.renderStepDots(min, max)), index.h("div", { key: '92ac819c20b16c8d54d7a482c76e9cba7217cb74', class: "thumb" }, index.h("div", { key: '2e696e951a707674f67bb7a679123d0749b7f7fd', class: "knob" }), index.h("div", { key: 'a794baedbf24fe400f48340af990ce6e4794e59c', class: "indicator", "aria-hidden": "true" }, this.isUnset
317
+ }, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }, inputProps)), index.h("div", { key: 'bc8caf7e40128a09bd09c5dfaa1932702a3181ec', class: "track" }, index.h("div", { key: 'b76f3d65f499dfc0b0c689bc1f18af79842847e1', class: "active" }), this.renderStepDots(min, max)), index.h("div", { key: '197a21d948777705839baf6c9e37606675d92952', class: "thumb" }, index.h("div", { key: 'e9f5ec56849f8165071d6c0b79f0366b4dbe664d', class: "knob" }), index.h("div", { key: '932a98222a1bd85cfcec64f318aaf7acb9b03e97', class: "indicator", "aria-hidden": "true" }, this.isUnset
318
318
  ? '\u{2194}\u{FE0E}'
319
- : this.displayValue))), index.h("div", { key: '30c8309de3dc8c0040b334e46d9426a70ba38b15', class: "range-labels" }, index.h("span", { key: 'faa79880adff0de1b541cdeada725b73bd44798f', class: "min" }, this.multiplyByFactor(this.valuemin), this.unit), index.h("span", { key: 'd7c2ebd24f1883d5a6104ef0f51faa7daea3e3c9', class: "max" }, this.multiplyByFactor(this.valuemax), this.unit)))), this.renderClearButton(), this.renderHelperLine()));
319
+ : this.displayValue))), index.h("div", { key: '19f3779a56a21d317bf350f99a5f93068b1be09d', class: "range-labels" }, index.h("span", { key: '4e4ad708a44753912606aa177dfe6a7c742138fe', class: "min" }, this.multiplyByFactor(this.valuemin), this.unit), index.h("span", { key: 'b9e990eabfbe6284c732189be3609cc476caf169', class: "max" }, this.multiplyByFactor(this.valuemax), this.unit)))), this.renderClearButton(), this.renderHelperLine()));
320
320
  }
321
321
  watchValue() {
322
322
  this.syncStateFromValue();
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BlsqxTB1.js');
4
- var translations = require('./translations-CLSqfR3x.js');
4
+ var translations = require('./translations-CqJEWcfw.js');
5
5
  var randomString = require('./random-string-CFCtFh5l.js');
6
6
  require('./language-v-MMS6ym.js');
7
7
 
@@ -148,14 +148,14 @@ const Snackbar = class {
148
148
  }
149
149
  }
150
150
  render() {
151
- return (index.h("aside", { key: '4de74024219bac0fafcda941c0cc06a68ed9dff3', popover: "manual", style: {
151
+ return (index.h("aside", { key: '86271cf61d1b060d3f12b753be16190d111ea3d1', popover: "manual", style: {
152
152
  '--snackbar-timeout': `${Math.max(this.timeout || 0, 0)}ms`,
153
153
  '--snackbar-distance-to-top-edge': `${this.offset}px`,
154
154
  }, class: {
155
155
  open: this.open,
156
156
  'is-closing': this.closing,
157
157
  'limel-portal--parent': true,
158
- }, id: this.snackbarId, role: this.setAriaRoles(), "aria-atomic": this.open ? 'true' : undefined, "aria-relevant": this.open ? 'additions' : undefined }, index.h("div", { key: 'eccc1a4b99d40849bbbae22664bd504a59f0a66f', class: "surface" }, index.h("limel-markdown", { key: '31ed89296bd16195a46a6e29288404cefc78d247', class: "label", value: this.message }), this.renderActions(this.actionText), this.renderDismissButton(this.dismissible))));
158
+ }, id: this.snackbarId, role: this.setAriaRoles(), "aria-atomic": this.open ? 'true' : undefined, "aria-relevant": this.open ? 'additions' : undefined }, index.h("div", { key: 'cf0e868a834c0ec189cb42a6f22bbc7435d9f566', class: "surface" }, index.h("limel-markdown", { key: '4d55bc3eac78572795aaa1eef0d3d43721150123', class: "label", value: this.message }), this.renderActions(this.actionText), this.renderDismissButton(this.dismissible))));
159
159
  }
160
160
  setAriaRoles() {
161
161
  if (!this.open) {
@@ -45,9 +45,9 @@ const SplitButton = class {
45
45
  };
46
46
  }
47
47
  render() {
48
- return (index.h(index.Host, { key: '18de8e93a8ff6756ad149bde1ea84ce90ce0036b', class: {
48
+ return (index.h(index.Host, { key: 'e9fb690c19e7e7276bbe1457f7c9ddf34535f2e5', class: {
49
49
  'has-menu': this.items.length > 0,
50
- }, onClick: this.filterClickWhenDisabled }, index.h("limel-button", { key: 'a2c1bc26acc989c8e0fa62ce31d644dab9ab9ee2', label: this.label, primary: this.primary, icon: this.icon, disabled: this.disabled, loading: this.loading, loadingFailed: this.loadingFailed }), this.renderMenu()));
50
+ }, onClick: this.filterClickWhenDisabled }, index.h("limel-button", { key: '3dbc886df3854572ef0a1655aa815925150a6987', label: this.label, primary: this.primary, icon: this.icon, disabled: this.disabled, loading: this.loading, loadingFailed: this.loadingFailed }), this.renderMenu()));
51
51
  }
52
52
  static get delegatesFocus() { return true; }
53
53
  };
@@ -68,7 +68,7 @@ const Switch = class {
68
68
  makeEnterClickable.removeEnterClickable(this.host);
69
69
  }
70
70
  render() {
71
- return (index.h(index.Host, { key: 'f587a415d29965c927cca8900bc06e4168eb2113' }, this.readonly
71
+ return (index.h(index.Host, { key: 'dd5e5f289e3d62bfe697d93b178ffc0ecd84e498' }, this.readonly
72
72
  ? this.renderReadonly()
73
73
  : this.renderInteractive(), this.renderHelperLine()));
74
74
  }
@@ -360,7 +360,7 @@ const TabBar = class {
360
360
  }
361
361
  render() {
362
362
  const tabStop = findTabStop(this.tabs, this.tabs.findIndex((tab) => tab.active), this.getNavigationOptions());
363
- return (index.h("div", { key: 'd5f54de83640eb4898a58cd71696085e28f3701a', role: "tablist", "aria-orientation": this.getOrientation(), onKeyDown: this.handleKeyDown }, index.h("limel-scroller", { key: '565bbbcdf070a6b2521064a84347028baaae273e', orientation: this.getOrientation() }, this.tabs.map((tab, index) => this.renderTabOrMovableTab(tab, index, index === tabStop)))));
363
+ return (index.h("div", { key: '520c0e3987f3de626ca2c01809b42b504146eb76', role: "tablist", "aria-orientation": this.getOrientation(), onKeyDown: this.handleKeyDown }, index.h("limel-scroller", { key: '60512f257f8ef89cc0b6142ac80d515060bbbba0', orientation: this.getOrientation() }, this.tabs.map((tab, index) => this.renderTabOrMovableTab(tab, index, index === tabStop)))));
364
364
  }
365
365
  tabsChanged(newTabs = [], oldTabs = []) {
366
366
  const newIds = newTabs.map((tab) => tab.id);
@@ -57,7 +57,7 @@ const TabPanel = class {
57
57
  }
58
58
  }
59
59
  render() {
60
- return (index.h(index.Host, { key: 'eb146868d93cc4bd4f42cc360005e25e44dd7ad3', onChangeTab: this.handleChangeTabs }, index.h("div", { key: 'b6453044e1cd4ecf20351bf3b6ebe72debc6c0d5', class: "tab-panel" }, index.h("limel-tab-bar", { key: '0a12ede1dc3f43c029a959af75afcb67ff853612', tabs: this.tabs, orientation: this.orientation, allowTabReorder: this.allowTabReorder }), index.h("div", { key: '19b1b3f077a6e9a01a4327f595e4bf8c82a06261', class: "tab-content" }, index.h("slot", { key: 'b1e30dd491a4a5629a55ec11220f968cf9f1f2c8' })))));
60
+ return (index.h(index.Host, { key: 'b914d64b43fdcb450e1e4d229952a1a9af8b7eed', onChangeTab: this.handleChangeTabs }, index.h("div", { key: 'b01a95d321115f07399d3ee40780f234bf8a3ed7', class: "tab-panel" }, index.h("limel-tab-bar", { key: '96a9dc357929d64c3dbbbb23441b5729efea33b3', tabs: this.tabs, orientation: this.orientation, allowTabReorder: this.allowTabReorder }), index.h("div", { key: '0dd475dbc1fbc58a3e826dec668d35b1ce0f4318', class: "tab-content" }, index.h("slot", { key: '3918e9fc54b588e898c8280fc92e89270fd896a1' })))));
61
61
  }
62
62
  setSlotElements() {
63
63
  const slot = this.getSlot();
@@ -13,7 +13,7 @@ var isArrayLike = require('./isArrayLike-0-cyPB5I.js');
13
13
  var negate = require('./negate-Bg3SqQh6.js');
14
14
  var layout = require('./layout-CL_D-afg.js');
15
15
  var isEqual = require('./isEqual-QhCilNoo.js');
16
- var translations = require('./translations-CLSqfR3x.js');
16
+ var translations = require('./translations-CqJEWcfw.js');
17
17
  require('./isArray-BuFVIU_i.js');
18
18
  require('./isSymbol-DxAVNJfH.js');
19
19
  require('./isObjectLike-Dlpn-j-1.js');
@@ -32321,13 +32321,13 @@ const Table = class {
32321
32321
  render() {
32322
32322
  var _a, _b;
32323
32323
  const totalRows = (_a = this.totalRows) !== null && _a !== void 0 ? _a : this.data.length;
32324
- return (index.h(index.Host, { key: '0191a4fb265a4eda818fe9478f253cc0210e3e3a', class: {
32324
+ return (index.h(index.Host, { key: '14890d8a92126d1e7e07071b40f745a3bc110ef4', class: {
32325
32325
  'has-low-density': this.layout === 'lowDensity',
32326
32326
  'has-pagination-on-top': this.paginationLocation === 'top',
32327
32327
  'has-aggregation': this.hasAggregation(this.columns),
32328
32328
  'has-pagination': totalRows > this.pageSize,
32329
32329
  'has-selection': (_b = this.tableSelection) === null || _b === void 0 ? void 0 : _b.hasSelection,
32330
- } }, index.h("div", { key: 'c0d266d3f273b437b0aa7d6fa83cb7ebe93b1963', id: "tabulator-container" }, index.h("div", { key: '836bbd66c7a99bacc2a961e51b6b05af5963cb8d', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, index.h("limel-spinner", { key: 'b62f403ffb83b30e568b7da64b5ad45cb369b6de', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), index.h("div", { key: '3c9f054e2c7b1a4f18115abf771b07ff729258cf', id: "tabulator-table" }))));
32330
+ } }, index.h("div", { key: '07aec37799ff2dd44949e24655b44da04b9ae4de', id: "tabulator-container" }, index.h("div", { key: '97984b2a9bf59cef4b04395cbb1248c48bac5bc3', id: "tabulator-loader", style: { display: this.loading ? 'flex' : 'none' } }, index.h("limel-spinner", { key: '29a35c732185becb5192c854ad1bceea43a395fd', size: "large" })), this.renderEmptyMessage(), this.renderSelectAll(), index.h("div", { key: '22a46313cf345b16e17b4ddc46283a3610accac5', id: "tabulator-table" }))));
32331
32331
  }
32332
32332
  renderSelectAll() {
32333
32333
  var _a, _b, _c;
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('./index-BlsqxTB1.js');
4
- var translations = require('./translations-CLSqfR3x.js');
4
+ var translations = require('./translations-CqJEWcfw.js');
5
5
  var keycodes = require('./keycodes-BQ_AERli.js');
6
6
  require('./language-v-MMS6ym.js');
7
7
 
@@ -111,9 +111,9 @@ const TextEditorLinkMenu = class {
111
111
  var _a, _b;
112
112
  const isValid = this.isValid(this.link.href);
113
113
  return [
114
- index.h("limel-input-field", { key: 'f9676b8287c3d6d366b668f56f701b0f4a61edb9', label: this.getTranslation('editor-link-menu.text'), value: ((_a = this.link) === null || _a === void 0 ? void 0 : _a.text) || '', leadingIcon: "text_cursor", onChange: this.handleLinkTitleChange, onKeyDown: this.handleKeyDown }),
115
- index.h("limel-input-field", { key: '4471ed4849ecf1536e1d230c3a9821f8254ecf7e', label: this.getTranslation('editor-link-menu.link'), value: ((_b = this.link) === null || _b === void 0 ? void 0 : _b.href) || '', type: "text", leadingIcon: "-lime-text-link", trailingIcon: "external_link", invalid: !isValid, onChange: this.handleLinkValueChange, onAction: this.handleLinkInputAction, onKeyDown: this.handleKeyDown, ref: (el) => (this.linkInput = el) }),
116
- index.h("div", { key: 'fd05d27fce1f463979847fbc16fd9aac8a9fb17a', class: "actions" }, index.h("limel-button", { key: '9bd0d2e1b0d9a37094872652efad8b5f9e0ace15', label: this.getTranslation('cancel'), onClick: this.handleCancel }), index.h("limel-button", { key: 'a9aab48e7fe4cf0811e5b9044c9804a0cac73765', primary: true, label: this.getTranslation('save'), disabled: !isValid, onClick: this.handleSave, ref: (el) => (this.saveButton = el), slot: "button" })),
114
+ index.h("limel-input-field", { key: 'e9ff24b3ef0ffbc098c32f77c1cefeac9b2dbcd9', label: this.getTranslation('editor-link-menu.text'), value: ((_a = this.link) === null || _a === void 0 ? void 0 : _a.text) || '', leadingIcon: "text_cursor", onChange: this.handleLinkTitleChange, onKeyDown: this.handleKeyDown }),
115
+ index.h("limel-input-field", { key: 'df5552b700c8c73d28ab83658b31e817b7dedceb', label: this.getTranslation('editor-link-menu.link'), value: ((_b = this.link) === null || _b === void 0 ? void 0 : _b.href) || '', type: "text", leadingIcon: "-lime-text-link", trailingIcon: "external_link", invalid: !isValid, onChange: this.handleLinkValueChange, onAction: this.handleLinkInputAction, onKeyDown: this.handleKeyDown, ref: (el) => (this.linkInput = el) }),
116
+ index.h("div", { key: 'd4243e548a1227865ec40af31a5868e7f7214b5e', class: "actions" }, index.h("limel-button", { key: 'a16b1a026825dd3441a5ce018704f6ae9e0ed576', label: this.getTranslation('cancel'), onClick: this.handleCancel }), index.h("limel-button", { key: '8c4b46e58487ef17c9e2637127a17b5a2847863d', primary: true, label: this.getTranslation('save'), disabled: !isValid, onClick: this.handleSave, ref: (el) => (this.saveButton = el), slot: "button" })),
117
117
  ];
118
118
  }
119
119
  };
@@ -161,7 +161,7 @@ const TextEditor = class {
161
161
  await ((_a = this.adapterElement) === null || _a === void 0 ? void 0 : _a.clear());
162
162
  }
163
163
  render() {
164
- return (index.h(index.Host, { key: 'c67e770630e0b704d0f00e76c59f4c6cf12c4cd9' }, index.h("limel-notched-outline", { key: 'c4c58e24b9dd09cccf433d2f3227994dbdadf5e4', label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !!this.value, hasFloatingLabel: true }, this.renderEditor(), this.renderPlaceholder()), this.renderHelperLine()));
164
+ return (index.h(index.Host, { key: 'e0ebfa29ceaf175ab0dc5fe78f7eb055f80d045c' }, index.h("limel-notched-outline", { key: '2f2823bb140c77e1af697adb75985729c01cfbb4', label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !!this.value, hasFloatingLabel: true }, this.renderEditor(), this.renderPlaceholder()), this.renderHelperLine()));
165
165
  }
166
166
  renderEditor() {
167
167
  if (this.readonly) {
@@ -0,0 +1,65 @@
1
+ 'use strict';
2
+
3
+ var debounce = require('./debounce-DgDnRSlt.js');
4
+
5
+ /**
6
+ * Check if an element is a descendant of another, even if it is located within a shadow root
7
+ *
8
+ * @param element - The element to check
9
+ * @param parent - The parent element
10
+ * @returns True if the element is a descendant of the parent element, false otherwise
11
+ */
12
+ function isDescendant(element, parent) {
13
+ if (!parent) {
14
+ return false;
15
+ }
16
+ if (parent.contains(element)) {
17
+ return true;
18
+ }
19
+ let currentNode = element;
20
+ let i = 0; // Just in case something weird happens, let's not crash the browser…
21
+ const DEPTH = 1000; // Max depth to search.
22
+ while (i < DEPTH &&
23
+ currentNode &&
24
+ currentNode.getRootNode().nodeName === '#document-fragment') {
25
+ currentNode = currentNode.getRootNode().host;
26
+ if (parent.contains(currentNode)) {
27
+ return true;
28
+ }
29
+ i += 1;
30
+ }
31
+ return parent.contains(currentNode);
32
+ }
33
+
34
+ const LIVE_MESSAGE_DELAY = 500;
35
+ /**
36
+ * Creates what a component needs to speak a message through a visually hidden
37
+ * element with `aria-live`. The text is written straight into that element
38
+ * and not through the state of the component, so speaking costs no render.
39
+ * It is written a short while after the last update, so that a screen reader
40
+ * does not read out every change while the user is typing.
41
+ *
42
+ * @param getMessage - Returns the text to speak. An empty text clears the
43
+ * element, so that the same message is spoken again the next time.
44
+ * @returns `setElement`, to be used as the `ref` of the live element, and
45
+ * `update`, to be called when the message may have changed.
46
+ */
47
+ const createLiveMessage = (getMessage) => {
48
+ let element;
49
+ const setElement = (liveElement) => {
50
+ element = liveElement;
51
+ };
52
+ const update = debounce.debounce(() => {
53
+ if (!element) {
54
+ return;
55
+ }
56
+ const message = getMessage();
57
+ if (element.textContent !== message) {
58
+ element.textContent = message;
59
+ }
60
+ }, LIVE_MESSAGE_DELAY);
61
+ return { setElement, update };
62
+ };
63
+
64
+ exports.createLiveMessage = createLiveMessage;
65
+ exports.isDescendant = isDescendant;