@limetech/lime-elements 40.18.3 → 40.20.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 (352) hide show
  1. package/CHANGELOG.md +29 -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/keyboard-navigation-VyqkMDKy.js +152 -0
  5. package/dist/cjs/lime-elements.cjs.js +1 -1
  6. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  7. package/dist/cjs/limel-action-bar_3.cjs.entry.js +4 -4
  8. package/dist/cjs/limel-ai-avatar.cjs.entry.js +2 -2
  9. package/dist/cjs/{limel-breadcrumbs_6.cjs.entry.js → limel-badge_7.cjs.entry.js} +98 -12
  10. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  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 +51362 -270
  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 +6 -5
  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 +51 -24
  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 +1 -1
  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 +7 -150
  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/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  75. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  76. package/dist/collection/components/action-bar/action-bar.js +2 -2
  77. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  78. package/dist/collection/components/badge/badge.js +2 -2
  79. package/dist/collection/components/banner/banner.js +1 -1
  80. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  81. package/dist/collection/components/button/button.js +2 -2
  82. package/dist/collection/components/button-group/button-group.js +1 -1
  83. package/dist/collection/components/callout/callout.js +1 -1
  84. package/dist/collection/components/card/card.js +1 -1
  85. package/dist/collection/components/chart/chart.css +63 -927
  86. package/dist/collection/components/chart/chart.js +330 -288
  87. package/dist/collection/components/chart/options.js +572 -0
  88. package/dist/collection/components/chart/scale.js +193 -0
  89. package/dist/collection/components/chart/theme.js +133 -0
  90. package/dist/collection/components/checkbox/checkbox.js +1 -1
  91. package/dist/collection/components/chip/chip.js +1 -1
  92. package/dist/collection/components/chip-set/chip-set.js +66 -3
  93. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  94. package/dist/collection/components/code-diff/code-diff.js +1 -1
  95. package/dist/collection/components/code-editor/code-editor.js +1 -1
  96. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  97. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  98. package/dist/collection/components/color-picker/color-picker.js +1 -1
  99. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  100. package/dist/collection/components/dialog/dialog.js +2 -2
  101. package/dist/collection/components/dock/dock.js +2 -2
  102. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  103. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  104. package/dist/collection/components/file/file.js +1 -1
  105. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  106. package/dist/collection/components/file-input/file-input.js +1 -1
  107. package/dist/collection/components/flex-container/flex-container.js +1 -1
  108. package/dist/collection/components/form/form.js +1 -1
  109. package/dist/collection/components/form-header/form-header.js +1 -1
  110. package/dist/collection/components/grid/grid.js +1 -1
  111. package/dist/collection/components/header/header.js +1 -1
  112. package/dist/collection/components/help/help-content.js +1 -1
  113. package/dist/collection/components/help/help.js +2 -2
  114. package/dist/collection/components/helper-line/helper-line.js +2 -2
  115. package/dist/collection/components/hotkey/hotkey.js +1 -1
  116. package/dist/collection/components/icon/icon.js +1 -1
  117. package/dist/collection/components/icon-button/icon-button.js +1 -1
  118. package/dist/collection/components/info-tile/info-tile.js +2 -2
  119. package/dist/collection/components/input-field/input-field.css +13 -0
  120. package/dist/collection/components/input-field/input-field.js +86 -5
  121. package/dist/collection/components/list/list-renderer.js +1 -1
  122. package/dist/collection/components/list/list.js +22 -1
  123. package/dist/collection/components/list-item/list-item.js +2 -2
  124. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  125. package/dist/collection/components/markdown/markdown.js +1 -1
  126. package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
  127. package/dist/collection/components/menu/menu.js +1 -1
  128. package/dist/collection/components/menu-list/menu-list.js +1 -1
  129. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  130. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  131. package/dist/collection/components/pagination/pagination.js +1 -1
  132. package/dist/collection/components/picker/picker.css +112 -0
  133. package/dist/collection/components/picker/picker.js +49 -20
  134. package/dist/collection/components/popover/popover.js +3 -10
  135. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  136. package/dist/collection/components/portal/portal.js +1 -1
  137. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  138. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  139. package/dist/collection/components/resize-handle/resize-handle.js +1 -1
  140. package/dist/collection/components/scroller/scroller.js +3 -3
  141. package/dist/collection/components/select/select.js +1 -1
  142. package/dist/collection/components/shortcut/shortcut.js +1 -1
  143. package/dist/collection/components/side-panel/side-panel.js +1 -1
  144. package/dist/collection/components/slider/slider.js +3 -3
  145. package/dist/collection/components/snackbar/snackbar.js +2 -2
  146. package/dist/collection/components/spinner/spinner.js +1 -1
  147. package/dist/collection/components/split-button/split-button.js +2 -2
  148. package/dist/collection/components/switch/switch.js +1 -1
  149. package/dist/collection/components/tab-bar/tab-bar.js +1 -1
  150. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  151. package/dist/collection/components/table/table.js +2 -2
  152. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  153. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  154. package/dist/collection/components/text-editor/text-editor.js +1 -1
  155. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  156. package/dist/collection/components/tooltip/tooltip.js +2 -2
  157. package/dist/collection/translations/da.js +1 -0
  158. package/dist/collection/translations/de.js +1 -0
  159. package/dist/collection/translations/en.js +1 -0
  160. package/dist/collection/translations/fi.js +1 -0
  161. package/dist/collection/translations/fr.js +1 -0
  162. package/dist/collection/translations/nl.js +1 -0
  163. package/dist/collection/translations/no.js +1 -0
  164. package/dist/collection/translations/sv.js +1 -0
  165. package/dist/collection/util/controlled-element.js +22 -0
  166. package/dist/collection/util/live-message.js +30 -0
  167. package/dist/esm/controlled-element-ByOXsysp.js +24 -0
  168. package/dist/esm/{index-BN64nlbO.js → index-CofmbCdQ.js} +271 -71
  169. package/dist/esm/keyboard-navigation-BF7IKmnG.js +147 -0
  170. package/dist/esm/{keycodes-Bu6-QXrA.js → keycodes-DQ5DmW_Y.js} +1 -1
  171. package/dist/esm/lime-elements.js +1 -1
  172. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  173. package/dist/esm/limel-action-bar_3.entry.js +4 -4
  174. package/dist/esm/limel-ai-avatar.entry.js +2 -2
  175. package/dist/esm/{limel-breadcrumbs_6.entry.js → limel-badge_7.entry.js} +100 -15
  176. package/dist/esm/limel-banner.entry.js +1 -1
  177. package/dist/esm/limel-button-group.entry.js +1 -1
  178. package/dist/esm/limel-button.entry.js +2 -2
  179. package/dist/esm/limel-callout.entry.js +2 -2
  180. package/dist/esm/limel-card.entry.js +1 -1
  181. package/dist/esm/limel-chart.entry.js +51363 -271
  182. package/dist/esm/limel-checkbox.entry.js +1 -1
  183. package/dist/esm/limel-chip-set.entry.js +24 -5
  184. package/dist/esm/limel-chip_2.entry.js +3 -3
  185. package/dist/esm/limel-circular-progress.entry.js +1 -1
  186. package/dist/esm/limel-code-diff.entry.js +2 -2
  187. package/dist/esm/limel-code-editor.entry.js +2 -2
  188. package/dist/esm/limel-collapsible-section.entry.js +2 -2
  189. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  190. package/dist/esm/limel-color-picker.entry.js +1 -1
  191. package/dist/esm/limel-dialog.entry.js +2 -2
  192. package/dist/esm/limel-dock.entry.js +3 -3
  193. package/dist/esm/limel-drag-handle_2.entry.js +4 -4
  194. package/dist/esm/limel-email-viewer.entry.js +2 -2
  195. package/dist/esm/limel-file-dropzone_2.entry.js +2 -2
  196. package/dist/esm/limel-file-viewer.entry.js +2 -2
  197. package/dist/esm/limel-file.entry.js +2 -2
  198. package/dist/esm/limel-flatpickr-adapter.entry.js +2 -2
  199. package/dist/esm/limel-flex-container.entry.js +1 -1
  200. package/dist/esm/limel-form-header.entry.js +1 -1
  201. package/dist/esm/limel-form.entry.js +1 -1
  202. package/dist/esm/limel-grid.entry.js +1 -1
  203. package/dist/esm/limel-header.entry.js +1 -1
  204. package/dist/esm/limel-help_2.entry.js +3 -3
  205. package/dist/esm/limel-helper-line_3.entry.js +6 -5
  206. package/dist/esm/limel-hotkey_4.entry.js +5 -5
  207. package/dist/esm/limel-icon-button.entry.js +1 -1
  208. package/dist/esm/limel-icon.entry.js +1 -1
  209. package/dist/esm/limel-info-tile.entry.js +2 -2
  210. package/dist/esm/limel-list-item.entry.js +3 -3
  211. package/dist/esm/limel-markdown.entry.js +4 -4
  212. package/dist/esm/limel-masonry-layout.entry.js +1 -1
  213. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  214. package/dist/esm/limel-pagination-jump.entry.js +2 -2
  215. package/dist/esm/limel-pagination.entry.js +2 -2
  216. package/dist/esm/limel-picker.entry.js +52 -25
  217. package/dist/esm/limel-popover_2.entry.js +5 -12
  218. package/dist/esm/limel-profile-picture.entry.js +1 -1
  219. package/dist/esm/limel-prosemirror-adapter.entry.js +4 -4
  220. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  221. package/dist/esm/limel-radio-button.entry.js +2 -2
  222. package/dist/esm/limel-resize-handle.entry.js +3 -3
  223. package/dist/esm/limel-select.entry.js +3 -3
  224. package/dist/esm/limel-shortcut.entry.js +1 -1
  225. package/dist/esm/limel-side-panel.entry.js +3 -3
  226. package/dist/esm/limel-slider.entry.js +4 -4
  227. package/dist/esm/limel-snackbar.entry.js +3 -3
  228. package/dist/esm/limel-split-button.entry.js +2 -2
  229. package/dist/esm/limel-switch.entry.js +1 -1
  230. package/dist/esm/limel-tab-bar.entry.js +3 -146
  231. package/dist/esm/limel-tab-panel.entry.js +1 -1
  232. package/dist/esm/limel-table.entry.js +3 -3
  233. package/dist/esm/limel-text-editor-link-menu.entry.js +5 -5
  234. package/dist/esm/limel-text-editor.entry.js +1 -1
  235. package/dist/esm/live-message-BQAYeNiX.js +62 -0
  236. package/dist/esm/loader.js +1 -1
  237. package/dist/esm/{markdown-exporter-tb8ft8Gq.js → markdown-exporter-B2vFxSLw.js} +2 -2
  238. package/dist/esm/{markdown-parser-DFP65EFu.js → markdown-parser-Cw8iW5R9.js} +1 -1
  239. package/dist/esm/{translations-Drl5LNAD.js → translations-kct5Kybu.js} +8 -0
  240. package/dist/esm/{typeahead-DOlnT3wh.js → typeahead-B4PwrlM3.js} +1 -1
  241. package/dist/lime-elements/lime-elements.esm.js +1 -1
  242. package/dist/lime-elements/{p-a608ebe3.entry.js → p-0319f07f.entry.js} +1 -1
  243. package/dist/lime-elements/{p-300f80e7.entry.js → p-07f3565b.entry.js} +1 -1
  244. package/dist/lime-elements/{p-a7a84633.entry.js → p-1a7d1d2b.entry.js} +1 -1
  245. package/dist/lime-elements/{p-f8566c5b.entry.js → p-1d9bc526.entry.js} +1 -1
  246. package/dist/lime-elements/{p-e0ab0046.entry.js → p-1e0ced6a.entry.js} +1 -1
  247. package/dist/lime-elements/{p-dd383c12.entry.js → p-22e9e327.entry.js} +1 -1
  248. package/dist/lime-elements/{p-65eafc85.entry.js → p-23067836.entry.js} +1 -1
  249. package/dist/lime-elements/{p-5f2a34ed.entry.js → p-28957b5c.entry.js} +1 -1
  250. package/dist/lime-elements/{p-3ae5fb67.entry.js → p-39d1e157.entry.js} +1 -1
  251. package/dist/lime-elements/{p-d0908a85.entry.js → p-3ac39bd5.entry.js} +2 -2
  252. package/dist/lime-elements/{p-7f1a1ed5.entry.js → p-3f7fa772.entry.js} +1 -1
  253. package/dist/lime-elements/{p-b80433be.entry.js → p-40940a6c.entry.js} +1 -1
  254. package/dist/lime-elements/{p-7235d147.entry.js → p-438fe49b.entry.js} +1 -1
  255. package/dist/lime-elements/{p-0c314c3c.entry.js → p-47fe76a8.entry.js} +1 -1
  256. package/dist/lime-elements/{p-22c44279.entry.js → p-48a412ed.entry.js} +1 -1
  257. package/dist/lime-elements/{p-eb5a18ff.entry.js → p-496b2437.entry.js} +1 -1
  258. package/dist/lime-elements/{p-5d9a2877.entry.js → p-4c080cd9.entry.js} +1 -1
  259. package/dist/lime-elements/{p-be0a8125.entry.js → p-54537c85.entry.js} +1 -1
  260. package/dist/lime-elements/{p-2c29c27f.entry.js → p-55fa19ae.entry.js} +1 -1
  261. package/dist/lime-elements/{p-fad7a3fa.entry.js → p-56e2fa48.entry.js} +1 -1
  262. package/dist/lime-elements/{p-da4b4a81.entry.js → p-5dce791c.entry.js} +1 -1
  263. package/dist/lime-elements/{p-67acf39d.entry.js → p-5e408c27.entry.js} +1 -1
  264. package/dist/lime-elements/{p-b983531f.entry.js → p-6053608a.entry.js} +1 -1
  265. package/dist/lime-elements/{p-164e1ad0.entry.js → p-6ae093c8.entry.js} +1 -1
  266. package/dist/lime-elements/{p-29815107.entry.js → p-6d2d25b9.entry.js} +1 -1
  267. package/dist/lime-elements/{p-9e30d206.entry.js → p-6d9b89db.entry.js} +1 -1
  268. package/dist/lime-elements/{p-be2b8c1e.entry.js → p-6e9eeb0a.entry.js} +1 -1
  269. package/dist/lime-elements/{p-68129487.entry.js → p-764d2f86.entry.js} +1 -1
  270. package/dist/lime-elements/{p-49a53f0b.entry.js → p-7ab726c2.entry.js} +1 -1
  271. package/dist/lime-elements/{p-cced022b.entry.js → p-7b87e547.entry.js} +1 -1
  272. package/dist/lime-elements/{p-586ee40c.entry.js → p-7d0ffc60.entry.js} +1 -1
  273. package/dist/lime-elements/p-7fcd48c6.entry.js +1 -0
  274. package/dist/lime-elements/{p-7d27d572.entry.js → p-814b4934.entry.js} +1 -1
  275. package/dist/lime-elements/p-8514480b.entry.js +56 -0
  276. package/dist/lime-elements/p-8d602078.entry.js +1 -0
  277. package/dist/lime-elements/p-8fe28845.entry.js +1 -0
  278. package/dist/lime-elements/{p-f35880ef.entry.js → p-909466b8.entry.js} +1 -1
  279. package/dist/lime-elements/{p-545c087b.entry.js → p-933ffaa8.entry.js} +1 -1
  280. package/dist/lime-elements/{p-cc8d6198.entry.js → p-95a486c8.entry.js} +1 -1
  281. package/dist/lime-elements/{p-565c85ac.entry.js → p-9b2623fe.entry.js} +1 -1
  282. package/dist/lime-elements/{p-C0wwdPYT.js → p-Bd37Vplf.js} +2 -2
  283. package/dist/lime-elements/p-ByOXsysp.js +1 -0
  284. package/dist/lime-elements/{p-_UXAljNc.js → p-CbPYnlF-.js} +1 -1
  285. package/dist/lime-elements/{p-Bgn2bikC.js → p-CvHpvp0f.js} +1 -1
  286. package/dist/lime-elements/p-Cw7VQSGU.js +1 -0
  287. package/dist/lime-elements/{p-fYs7n6yY.js → p-DNYOwOWu.js} +1 -1
  288. package/dist/lime-elements/{p-Bu6-QXrA.js → p-DQ5DmW_Y.js} +1 -1
  289. package/dist/lime-elements/p-Dzp8dXTo.js +1 -0
  290. package/dist/lime-elements/p-_1yBt1pG.js +1 -0
  291. package/dist/lime-elements/{p-565e5ea7.entry.js → p-a6387dc7.entry.js} +1 -1
  292. package/dist/lime-elements/{p-40a48f70.entry.js → p-a6c6a31b.entry.js} +1 -1
  293. package/dist/lime-elements/{p-e8255f0b.entry.js → p-a7be03e1.entry.js} +1 -1
  294. package/dist/lime-elements/p-a807a45f.entry.js +159 -0
  295. package/dist/lime-elements/{p-707d4b28.entry.js → p-bffb5ed2.entry.js} +1 -1
  296. package/dist/lime-elements/{p-7035d93d.entry.js → p-c0ebf7cc.entry.js} +1 -1
  297. package/dist/lime-elements/{p-7aae3d13.entry.js → p-c2056ebc.entry.js} +1 -1
  298. package/dist/lime-elements/{p-19681a98.entry.js → p-c2f993cc.entry.js} +1 -1
  299. package/dist/lime-elements/{p-c73f4160.entry.js → p-c61e9b83.entry.js} +1 -1
  300. package/dist/lime-elements/{p-519603f5.entry.js → p-c6b3448c.entry.js} +1 -1
  301. package/dist/lime-elements/p-c8a34cef.entry.js +1 -0
  302. package/dist/lime-elements/p-cd479c23.entry.js +1 -0
  303. package/dist/lime-elements/{p-153e91e1.entry.js → p-ce71c5b9.entry.js} +1 -1
  304. package/dist/lime-elements/p-cf2d43c7.entry.js +1 -0
  305. package/dist/lime-elements/{p-2a375a65.entry.js → p-d35d2859.entry.js} +1 -1
  306. package/dist/lime-elements/{p-26347009.entry.js → p-d3f13124.entry.js} +1 -1
  307. package/dist/lime-elements/{p-a2dc6645.entry.js → p-d8559847.entry.js} +1 -1
  308. package/dist/lime-elements/{p-c8f09dd5.entry.js → p-db9cb7ef.entry.js} +1 -1
  309. package/dist/lime-elements/{p-05c1f5a0.entry.js → p-e5abe390.entry.js} +1 -1
  310. package/dist/lime-elements/p-f036ad27.entry.js +1 -0
  311. package/dist/lime-elements/{p-c1678d3a.entry.js → p-f3b93ce8.entry.js} +2 -2
  312. package/dist/lime-elements/{p-2f5face5.entry.js → p-f59447bf.entry.js} +1 -1
  313. package/dist/lime-elements/{p-a81f6962.entry.js → p-f5bb17eb.entry.js} +1 -1
  314. package/dist/types/components/chart/chart.d.ts +51 -52
  315. package/dist/types/components/chart/chart.types.d.ts +5 -0
  316. package/dist/types/components/chart/options.d.ts +88 -0
  317. package/dist/types/components/chart/scale.d.ts +101 -0
  318. package/dist/types/components/chart/theme.d.ts +52 -0
  319. package/dist/types/components/chip-set/chip-set.d.ts +15 -0
  320. package/dist/types/components/input-field/input-field.d.ts +13 -0
  321. package/dist/types/components/list/list-renderer-config.d.ts +1 -0
  322. package/dist/types/components/list/list.d.ts +6 -0
  323. package/dist/types/components/picker/picker.d.ts +12 -5
  324. package/dist/types/components/popover/popover.d.ts +0 -1
  325. package/dist/types/components.d.ts +53 -38
  326. package/dist/types/translations/da.d.ts +1 -0
  327. package/dist/types/translations/de.d.ts +1 -0
  328. package/dist/types/translations/en.d.ts +1 -0
  329. package/dist/types/translations/fi.d.ts +1 -0
  330. package/dist/types/translations/fr.d.ts +1 -0
  331. package/dist/types/translations/nl.d.ts +1 -0
  332. package/dist/types/translations/no.d.ts +1 -0
  333. package/dist/types/translations/sv.d.ts +1 -0
  334. package/dist/types/util/controlled-element.d.ts +11 -0
  335. package/dist/types/util/live-message.d.ts +17 -0
  336. package/package.json +3 -2
  337. package/dist/cjs/dom-BWMDM6En.js +0 -32
  338. package/dist/cjs/limel-badge.cjs.entry.js +0 -37
  339. package/dist/esm/dom-B9Ofc5RB.js +0 -30
  340. package/dist/esm/limel-badge.entry.js +0 -35
  341. package/dist/lime-elements/p-513d2a5e.entry.js +0 -1
  342. package/dist/lime-elements/p-55abec82.entry.js +0 -1
  343. package/dist/lime-elements/p-55f7c9f5.entry.js +0 -1
  344. package/dist/lime-elements/p-70272ea2.entry.js +0 -1
  345. package/dist/lime-elements/p-813cb15c.entry.js +0 -1
  346. package/dist/lime-elements/p-895a68c5.entry.js +0 -1
  347. package/dist/lime-elements/p-93a2d3b3.entry.js +0 -159
  348. package/dist/lime-elements/p-9bbf2612.entry.js +0 -1
  349. package/dist/lime-elements/p-B26k4gw8.js +0 -1
  350. package/dist/lime-elements/p-B9Ofc5RB.js +0 -1
  351. package/dist/lime-elements/p-ea11f365.entry.js +0 -1
  352. package/dist/lime-elements/p-fdc7da58.entry.js +0 -1
@@ -0,0 +1,193 @@
1
+ const PERCENT = 100;
2
+ const STEP_COUNT = 10;
3
+ /**
4
+ * The most steps that an `axisIncrement` may divide a value axis into.
5
+ */
6
+ export const MAX_AXIS_STEPS = 100;
7
+ /**
8
+ * Types whose items are parts of one whole. They draw no axis, and an item's
9
+ * value or range extent is its share of `maxValue`, or of the combined items.
10
+ */
11
+ const WHOLE_TYPES = new Set([
12
+ 'stacked-bar',
13
+ 'pie',
14
+ 'doughnut',
15
+ 'ring',
16
+ ]);
17
+ const AXIS_INCREMENT_TYPES = new Set([
18
+ 'bar',
19
+ 'dot',
20
+ 'area',
21
+ 'line',
22
+ ]);
23
+ /**
24
+ * Whether the items of a chart of this type are parts of one whole.
25
+ * @param type - the chart type
26
+ */
27
+ export function isPartOfWhole(type) {
28
+ return WHOLE_TYPES.has(type);
29
+ }
30
+ /**
31
+ * Whether a chart of this type draws its value axis in steps of
32
+ * `axisIncrement`.
33
+ * @param type - the chart type
34
+ */
35
+ export function usesAxisIncrement(type) {
36
+ return AXIS_INCREMENT_TYPES.has(type);
37
+ }
38
+ /**
39
+ * Whether the item has a `[start, end]` range, or an `[x, y]` point in a
40
+ * `scatter` chart, as its value.
41
+ * @param item - the item
42
+ */
43
+ export function isRangeItem(item) {
44
+ return Array.isArray(item.value);
45
+ }
46
+ /**
47
+ * The lower end of the item's range, or its value.
48
+ * @param item - the item
49
+ */
50
+ export function getMinimumValue(item) {
51
+ const value = item.value;
52
+ return Array.isArray(value) ? Math.min(...value) : value;
53
+ }
54
+ /**
55
+ * The upper end of the item's range, or its value.
56
+ * @param item - the item
57
+ */
58
+ export function getMaximumValue(item) {
59
+ const value = item.value;
60
+ return Array.isArray(value) ? Math.max(...value) : value;
61
+ }
62
+ /**
63
+ * The extent of the item's range, or its value measured from zero.
64
+ * @param item - the item
65
+ */
66
+ export function getValueSpan(item) {
67
+ const startValue = isRangeItem(item) ? getMinimumValue(item) : 0;
68
+ return getMaximumValue(item) - startValue;
69
+ }
70
+ /**
71
+ * The first value of a `scatter` point.
72
+ * @param item - the point
73
+ */
74
+ export function getXValue(item) {
75
+ return Array.isArray(item.value) ? item.value[0] : item.value;
76
+ }
77
+ /**
78
+ * The second value of a `scatter` point.
79
+ * @param item - the point
80
+ */
81
+ export function getYValue(item) {
82
+ return Array.isArray(item.value) ? item.value[1] : item.value;
83
+ }
84
+ /**
85
+ * The value axis of a `bar`, `dot`, `area` or `line` chart. It reaches from
86
+ * zero, or from the smallest value when that is below zero, up to `maxValue`
87
+ * or the largest value. Both ends are rounded outwards to a whole step.
88
+ * Without an `axisIncrement` above zero, or with one that would divide the
89
+ * axis into more than `MAX_AXIS_STEPS` steps, the step divides the axis into
90
+ * about ten.
91
+ * @param items - the items in the chart
92
+ * @param maxValue - the requested upper bound, if any
93
+ * @param axisIncrement - the requested step, if any
94
+ */
95
+ export function getAxisRange(items, maxValue, axisIncrement) {
96
+ const maximumValues = items.map((item) => getMaximumValue(item));
97
+ const minRange = Math.min(0, ...items.map((item) => getMinimumValue(item)));
98
+ const finalMaxRange = maxValue !== null && maxValue !== void 0 ? maxValue : Math.max(minRange, ...maximumValues);
99
+ const span = finalMaxRange - minRange;
100
+ const increment = isUsableStep(axisIncrement, span)
101
+ ? axisIncrement
102
+ : getNiceStep(span);
103
+ return roundOutwards(minRange, finalMaxRange, increment);
104
+ }
105
+ /**
106
+ * The range of a chart whose items are parts of one whole: `maxValue`
107
+ * when set, otherwise the combined item values or range extents. The value
108
+ * is a scale, not a cap, so the combined size can exceed it. The whole is
109
+ * not rounded to an axis step, since these types draw no axis and an item's
110
+ * size has to be its exact share.
111
+ * @param items - the items in the chart
112
+ * @param maxValue - the whole, if set
113
+ */
114
+ export function getWholeRange(items, maxValue) {
115
+ const sum = items.reduce((total, item) => total + getValueSpan(item), 0);
116
+ const inferredWhole = sum > 0 ? sum : 1;
117
+ // An explicit zero also falls back to 1, so normalization stays finite.
118
+ const whole = (maxValue !== null && maxValue !== void 0 ? maxValue : inferredWhole) || 1;
119
+ return {
120
+ minValue: 0,
121
+ maxValue: whole,
122
+ totalRange: whole,
123
+ increment: whole,
124
+ };
125
+ }
126
+ /**
127
+ * The two value axes of a `scatter` chart: `x` for each point's first value
128
+ * and `y` for its second. Each axis derives its own range and step from its
129
+ * own zero-anchored span, so positive, negative, and zero-crossing data all
130
+ * grid sensibly.
131
+ * @param items - the points in the chart
132
+ */
133
+ export function getScatterRanges(items) {
134
+ return {
135
+ x: getZeroAnchoredRange(items.map((item) => getXValue(item))),
136
+ y: getZeroAnchoredRange(items.map((item) => getYValue(item))),
137
+ };
138
+ }
139
+ /**
140
+ * An item's share of the whole, in percent.
141
+ * @param item - the item
142
+ * @param whole - the range from `getWholeRange`
143
+ */
144
+ export function getShare(item, whole) {
145
+ return (getValueSpan(item) / whole.totalRange) * PERCENT;
146
+ }
147
+ /**
148
+ * The item's value as text: its `formattedValue` when set, otherwise its
149
+ * value, range, or scatter point.
150
+ * @param item - the item
151
+ * @param type - the chart type
152
+ */
153
+ export function formatValue(item, type) {
154
+ const { value, formattedValue } = item;
155
+ if (formattedValue) {
156
+ return formattedValue;
157
+ }
158
+ if (Array.isArray(value)) {
159
+ if (type === 'scatter') {
160
+ return `(${value[0]}, ${value[1]})`;
161
+ }
162
+ return `${value[0]} — ${value[1]}`;
163
+ }
164
+ return `${value}`;
165
+ }
166
+ function isUsableStep(step, span) {
167
+ return step > 0 && span / step <= MAX_AXIS_STEPS;
168
+ }
169
+ function getNiceStep(span) {
170
+ if (span <= 0) {
171
+ return 1;
172
+ }
173
+ const roughStep = span / STEP_COUNT;
174
+ const magnitude = 10 ** Math.floor(Math.log10(roughStep));
175
+ return Math.ceil(roughStep / magnitude) * magnitude;
176
+ }
177
+ // Both bounds include zero, so a fully-negative axis still shows its origin
178
+ // (and zero line).
179
+ function getZeroAnchoredRange(values) {
180
+ const minValue = Math.min(0, ...values);
181
+ const maxValue = Math.max(0, ...values);
182
+ return roundOutwards(minValue, maxValue, getNiceStep(maxValue - minValue));
183
+ }
184
+ function roundOutwards(minValue, maxValue, increment) {
185
+ const lowerEnd = Math.floor(minValue / increment) * increment;
186
+ const upperEnd = Math.ceil(maxValue / increment) * increment;
187
+ return {
188
+ minValue: lowerEnd,
189
+ maxValue: upperEnd,
190
+ totalRange: upperEnd - lowerEnd,
191
+ increment: increment,
192
+ };
193
+ }
@@ -0,0 +1,133 @@
1
+ const PROBE_PROPERTY = '--limel-chart-probe';
2
+ const PUBLIC_COLORS = {
3
+ '--limel-chart-item-color': '--chart-item-color',
4
+ '--limel-chart-axis-line-color': '--chart-axis-line-color',
5
+ '--limel-chart-background-color': '--chart-background-color',
6
+ '--limel-chart-item-divider-color': '--chart-item-divider-color',
7
+ };
8
+ /**
9
+ * Creates a reader that resolves values in the given shadow root, where the
10
+ * chart's private custom properties are defined.
11
+ * @param root - the chart's shadow root
12
+ */
13
+ export function createThemeReader(root) {
14
+ const probe = document.createElement('span');
15
+ probe.setAttribute('aria-hidden', 'true');
16
+ probe.style.position = 'absolute';
17
+ probe.style.visibility = 'hidden';
18
+ probe.style.pointerEvents = 'none';
19
+ root.append(probe);
20
+ let canvasContext;
21
+ const toRgba = (color) => {
22
+ if (color.startsWith('rgb')) {
23
+ return color;
24
+ }
25
+ canvasContext !== null && canvasContext !== void 0 ? canvasContext : (canvasContext = document
26
+ .createElement('canvas')
27
+ .getContext('2d', { willReadFrequently: true }));
28
+ return canvasContext ? paintToRgba(canvasContext, color) : color;
29
+ };
30
+ const resolveColor = (value) => {
31
+ probe.style.color = '';
32
+ probe.style.color = value;
33
+ if (!probe.style.color) {
34
+ return undefined;
35
+ }
36
+ return toRgba(getComputedStyle(probe).color);
37
+ };
38
+ // A value with `var()` is accepted by any property, and only turns out
39
+ // not to be a color once its variables are filled in, when `color` falls
40
+ // back to the color of the chart. A custom property keeps the filled-in
41
+ // value, so it can be checked. See
42
+ // https://www.w3.org/TR/css-variables-1/#invalid-at-computed-value-time
43
+ const fillIn = (value) => {
44
+ probe.style.setProperty(PROBE_PROPERTY, value);
45
+ const filledIn = getComputedStyle(probe).getPropertyValue(PROBE_PROPERTY);
46
+ probe.style.removeProperty(PROBE_PROPERTY);
47
+ return filledIn.trim();
48
+ };
49
+ const isColor = (value) => CSS.supports('color', fillIn(value));
50
+ const warned = new Set();
51
+ const resolvePublicColor = (property) => {
52
+ const value = fillIn(`var(${property})`);
53
+ const warning = `${property}:${value}`;
54
+ if (value && !CSS.supports('color', value) && !warned.has(warning)) {
55
+ warned.add(warning);
56
+ console.warn(`limel-chart: \`${PUBLIC_COLORS[property]}\` must be a CSS color, but was \`${value}\`. Using the color of the text instead.`);
57
+ }
58
+ return resolveColor(`var(${property})`);
59
+ };
60
+ const resolveLength = (value) => {
61
+ probe.style.width = value;
62
+ const pixels = Number.parseFloat(getComputedStyle(probe).width);
63
+ probe.style.width = '';
64
+ return Number.isFinite(pixels) ? pixels : 0;
65
+ };
66
+ return {
67
+ color: (value) => (isColor(value) ? resolveColor(value) : undefined),
68
+ theme: () => ({
69
+ itemColor: resolvePublicColor('--limel-chart-item-color'),
70
+ lineColor: resolveColor('var(--limel-chart-line-color)'),
71
+ axisLineColor: resolvePublicColor('--limel-chart-axis-line-color'),
72
+ textColor: resolveColor('var(--limel-chart-text-color)'),
73
+ backgroundColor: resolvePublicColor('--limel-chart-background-color'),
74
+ dividerColor: resolvePublicColor('--limel-chart-item-divider-color'),
75
+ surfaceColor: resolveColor('var(--limel-chart-surface-color)'),
76
+ itemBorderRadius: resolveLength('var(--limel-chart-item-border-radius)'),
77
+ scatterItemSize: resolveLength('var(--limel-chart-scatter-item-size)'),
78
+ fontFamily: getComputedStyle(root.host).fontFamily,
79
+ npsColors: [
80
+ resolveColor('var(--limel-chart-nps-detractors-color)'),
81
+ resolveColor('var(--limel-chart-nps-passives-color)'),
82
+ resolveColor('var(--limel-chart-nps-good-color)'),
83
+ resolveColor('var(--limel-chart-nps-excellent-color)'),
84
+ ],
85
+ animate: !matchMedia('(prefers-reduced-motion: reduce)').matches,
86
+ }),
87
+ dispose: () => probe.remove(),
88
+ };
89
+ }
90
+ /**
91
+ * Calls back when the theme of the chart may have changed: when the color
92
+ * scheme or the reduced motion preference of the system changes, the
93
+ * `data-theme` attribute of the page does, or the `style` or `class`
94
+ * attribute of the chart does.
95
+ * @param host - the chart
96
+ * @param onChange - called on every change
97
+ * @returns a function that stops watching
98
+ */
99
+ export function watchTheme(host, onChange) {
100
+ const queries = [
101
+ matchMedia('(prefers-color-scheme: dark)'),
102
+ matchMedia('(prefers-reduced-motion: reduce)'),
103
+ ];
104
+ for (const query of queries) {
105
+ query.addEventListener('change', onChange);
106
+ }
107
+ const observer = new MutationObserver(onChange);
108
+ observer.observe(document.documentElement, {
109
+ attributes: true,
110
+ attributeFilter: ['data-theme'],
111
+ });
112
+ observer.observe(host, {
113
+ attributes: true,
114
+ attributeFilter: ['style', 'class'],
115
+ });
116
+ return () => {
117
+ for (const query of queries) {
118
+ query.removeEventListener('change', onChange);
119
+ }
120
+ observer.disconnect();
121
+ };
122
+ }
123
+ // Browsers report colors outside sRGB, and those from `color-mix()`, in
124
+ // notations such as `color(srgb …)` or `oklch(…)` that ECharts cannot parse.
125
+ // Painting a pixel converts any color to sRGB.
126
+ function paintToRgba(context, color) {
127
+ context.clearRect(0, 0, 1, 1);
128
+ context.fillStyle = color;
129
+ context.fillRect(0, 0, 1, 1);
130
+ const [red, green, blue, alpha] = context.getImageData(0, 0, 1, 1).data;
131
+ const MAX_CHANNEL = 255;
132
+ return `rgba(${red}, ${green}, ${blue}, ${alpha / MAX_CHANNEL})`;
133
+ }
@@ -136,7 +136,7 @@ export class Checkbox {
136
136
  this.destroyMDCInstances();
137
137
  }
138
138
  render() {
139
- return (h(CheckboxTemplate, { key: '4b128852f41050176409ab1362cb6ad284c25881', disabled: this.disabled || this.readonly, label: this.label, readonlyLabels: this.readonlyLabels, helperText: this.helperText, helperTextId: this.helperTextId, checked: this.checked || this.indeterminate, indeterminate: this.indeterminate, required: this.required, readonly: this.readonly, invalid: this.isInvalid(), onChange: this.onChange, id: this.inputId }));
139
+ return (h(CheckboxTemplate, { key: '6a18d520ee960ac28931ef982e193fbf94fc68c8', disabled: this.disabled || this.readonly, label: this.label, readonlyLabels: this.readonlyLabels, helperText: this.helperText, helperTextId: this.helperTextId, checked: this.checked || this.indeterminate, indeterminate: this.indeterminate, required: this.required, readonly: this.readonly, invalid: this.isInvalid(), onChange: this.onChange, id: this.inputId }));
140
140
  }
141
141
  static get is() { return "limel-checkbox"; }
142
142
  static get encapsulation() { return "shadow"; }
@@ -176,7 +176,7 @@ export class Chip {
176
176
  removeEnterClickable(this.host);
177
177
  }
178
178
  render() {
179
- return (h(Host, { key: 'fb7e275d2fa6c89222c35d8c79a29b5596fec9d4', onClick: this.filterClickWhenDisabled }, this.link ? this.renderAsLink() : this.renderAsButton()));
179
+ return (h(Host, { key: '6d14f382afece7cff1d5bb9e6f789d6aef5cad4c', onClick: this.filterClickWhenDisabled }, this.link ? this.renderAsLink() : this.renderAsButton()));
180
180
  }
181
181
  renderPicture() {
182
182
  var _a, _b;
@@ -5,6 +5,7 @@ import translate from "../../global/translations";
5
5
  import { getHref, getTarget } from "../../util/link-helper";
6
6
  import { isEqual } from "lodash-es";
7
7
  import { createRandomString } from "../../util/random-string";
8
+ import { setControlledElement } from "../../util/controlled-element";
8
9
  function isChipAnnotatedEvent(event) {
9
10
  var _a;
10
11
  return !!((_a = event === null || event === void 0 ? void 0 : event.Lime) === null || _a === void 0 ? void 0 : _a.chip);
@@ -260,6 +261,13 @@ export class ChipSet {
260
261
  this.mdcTextField = new MDCTextField(this.host.shadowRoot.querySelector('.mdc-text-field'));
261
262
  }
262
263
  }
264
+ componentDidRender() {
265
+ var _a;
266
+ const input = this.host.shadowRoot.querySelector('input');
267
+ if (input) {
268
+ setControlledElement(input, (_a = this.suggestionListId) !== null && _a !== void 0 ? _a : null);
269
+ }
270
+ }
263
271
  componentDidUpdate() {
264
272
  const input = this.host.shadowRoot.querySelector('input');
265
273
  if (input && this.editMode) {
@@ -293,7 +301,7 @@ export class ChipSet {
293
301
  });
294
302
  }
295
303
  const value = this.getValue();
296
- return (h(Host, { key: 'fc79f4d18b788f69454c5251a2abe6b37e782a9e' }, h("limel-notched-outline", { key: 'a7e6f2629c0b383413024e86add1620975ae6b29', labelId: this.labelId, label: this.label, required: this.required, invalid: this.isOutlineInvalid(), disabled: this.disabled, readonly: this.readonly, hasValue: !!((_a = this.value) === null || _a === void 0 ? void 0 : _a.length), hasLeadingIcon: !!this.leadingIcon, hasFloatingLabel: this.floatLabelAbove() }, h("div", Object.assign({ key: '4f433e43c825f295840eabf95f411894c3a1a199', slot: "content" }, this.getContentProps(), { class: classes }), this.renderContent(value))), this.renderHelperLine()));
304
+ return (h(Host, { key: '34ac6e27675003fc50fe4e3c345ade8b67fc6e39' }, h("limel-notched-outline", { key: 'b6eb6cb1e46042b39c21c7628158433dbef7d171', labelId: this.labelId, label: this.label, required: this.required, invalid: this.isOutlineInvalid(), disabled: this.disabled, readonly: this.readonly, hasValue: !!((_a = this.value) === null || _a === void 0 ? void 0 : _a.length), hasLeadingIcon: !!this.leadingIcon, hasFloatingLabel: this.floatLabelAbove() }, h("div", Object.assign({ key: 'f05b4c9435771e1e0a750b84f4a0f79aada51338', slot: "content" }, this.getContentProps(), { class: classes }), this.renderContent(value))), this.renderHelperLine()));
297
305
  }
298
306
  getContentProps() {
299
307
  if (this.type === 'input') {
@@ -343,17 +351,28 @@ export class ChipSet {
343
351
  renderInputChips() {
344
352
  return [
345
353
  this.value.map(this.renderInputChip),
346
- h("input", { tabIndex: this.disabled ? -1 : 0, type: this.inputType, id: this.labelId, "aria-describedby": this.getDescribedBy(), "aria-invalid": this.isOutlineInvalid() ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, disabled: this.disabled, class: {
354
+ h("input", Object.assign({ tabIndex: this.disabled ? -1 : 0, type: this.inputType, id: this.labelId, "aria-describedby": this.getDescribedBy(), "aria-invalid": this.isOutlineInvalid() ? 'true' : undefined, "aria-required": this.required ? 'true' : undefined, disabled: this.disabled, class: {
347
355
  'mdc-text-field__input': true,
348
356
  hidden: this.inputHidden(),
349
357
  }, value: this.textValue, onBlur: this.handleInputBlur, onFocus: this.handleTextFieldFocus, onKeyDown: this.handleKeyDown, onInput: this.handleTextInput,
350
358
  // Some browsers emit a change event on input elements, we need to stop
351
359
  // that event from propagating since we are emitting our own change event
352
- onChange: this.inputFieldOnChange, placeholder: this.isFull() ? '' : this.searchLabel, readonly: this.readonly || this.isFull(), autocomplete: this.autocomplete }),
360
+ onChange: this.inputFieldOnChange, placeholder: this.isFull() ? '' : this.searchLabel, readonly: this.readonly || this.isFull(), autocomplete: this.autocomplete }, this.getSuggestionListProps())),
353
361
  this.renderLeadingIcon(),
354
362
  this.renderClearAllChipsButton(),
355
363
  ];
356
364
  }
365
+ getSuggestionListProps() {
366
+ if (!this.suggestionListId) {
367
+ return {};
368
+ }
369
+ return {
370
+ role: 'combobox',
371
+ 'aria-autocomplete': 'list',
372
+ 'aria-haspopup': 'listbox',
373
+ 'aria-expanded': String(!!this.suggestionListOpen),
374
+ };
375
+ }
357
376
  isFull() {
358
377
  return !!this.maxItems && this.value.length >= this.maxItems;
359
378
  }
@@ -754,6 +773,50 @@ export class ChipSet {
754
773
  "attribute": "required",
755
774
  "defaultValue": "false"
756
775
  },
776
+ "suggestionListId": {
777
+ "type": "string",
778
+ "mutable": false,
779
+ "complexType": {
780
+ "original": "string",
781
+ "resolved": "string",
782
+ "references": {}
783
+ },
784
+ "required": false,
785
+ "optional": true,
786
+ "docs": {
787
+ "tags": [{
788
+ "name": "private",
789
+ "text": undefined
790
+ }],
791
+ "text": "The id of the list of suggestions that the input of a chip set of the\ntype `input` opens. Used by `limel-picker`."
792
+ },
793
+ "getter": false,
794
+ "setter": false,
795
+ "reflect": false,
796
+ "attribute": "suggestion-list-id"
797
+ },
798
+ "suggestionListOpen": {
799
+ "type": "boolean",
800
+ "mutable": false,
801
+ "complexType": {
802
+ "original": "boolean",
803
+ "resolved": "boolean",
804
+ "references": {}
805
+ },
806
+ "required": false,
807
+ "optional": true,
808
+ "docs": {
809
+ "tags": [{
810
+ "name": "private",
811
+ "text": undefined
812
+ }],
813
+ "text": "Whether the list of suggestions is open. Used by `limel-picker`."
814
+ },
815
+ "getter": false,
816
+ "setter": false,
817
+ "reflect": false,
818
+ "attribute": "suggestion-list-open"
819
+ },
757
820
  "searchLabel": {
758
821
  "type": "string",
759
822
  "mutable": false,
@@ -60,7 +60,7 @@ export class CircularProgress {
60
60
  };
61
61
  const currentPercentage = (this.value * PERCENT) / this.maxValue + '%';
62
62
  const value = Math.round(this.value * 10) / 10;
63
- return (h("div", { key: '47a6624518e8cd5938a0d3ab1538ea9e7ebbe6a6', role: "progressbar", class: classList, "aria-label": "%", "aria-valuemin": "0", "aria-valuemax": this.maxValue, "aria-valuenow": this.value, style: { '--percentage': currentPercentage } }, this.renderPrefix(), h("span", { key: 'bdb7887d49ecf6175c7b99c3eb96e754277acfd8', class: "value" }, abbreviate(value), h("span", { key: '4405e3306807b5f21e92286db01a1e8ca578c3f9', class: "suffix" }, this.suffix))));
63
+ return (h("div", { key: '8b5525fc84249eaa9dc5084b4169e23a6caa25ca', role: "progressbar", class: classList, "aria-label": "%", "aria-valuemin": "0", "aria-valuemax": this.maxValue, "aria-valuenow": this.value, style: { '--percentage': currentPercentage } }, this.renderPrefix(), h("span", { key: 'caaadc428a96ee41f55cb5b031a825b4f6623817', class: "value" }, abbreviate(value), h("span", { key: '11a94212df59d3f4baaacf94f0f8ce8c7376ac8c', class: "suffix" }, this.suffix))));
64
64
  }
65
65
  static get is() { return "limel-circular-progress"; }
66
66
  static get encapsulation() { return "shadow"; }
@@ -117,7 +117,7 @@ export class CodeDiff {
117
117
  // Capture total matches after rendering completes
118
118
  this.totalSearchMatches = this.searchMatchCounter;
119
119
  const lineNumberWidth = this.computeLineNumberWidth();
120
- return (h(Host, { key: 'c43133dfb5da6d4d98aa648a106fc44592d0e1f7', style: { '--limel-line-number-min-width': lineNumberWidth } }, this.renderHeader(), this.renderScreenReaderSummary(), this.searchVisible && this.renderSearchBar(), h("div", { key: 'ecc7f2b338f6d646d464e521d143c7940519b86c', class: "diff-body", role: "table", "aria-label": this.getTranslation('code-diff.table-label'), tabindex: "0", onKeyDown: (event) => this.handleKeyDown(event) }, diffContent), h("div", { key: '216112168a51928d05d10da7612143bcd7807b0c', class: "screen-reader-only", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.liveAnnouncement)));
120
+ return (h(Host, { key: 'd23d4b7aaf34c9925413c3751b45933c638f65fc', style: { '--limel-line-number-min-width': lineNumberWidth } }, this.renderHeader(), this.renderScreenReaderSummary(), this.searchVisible && this.renderSearchBar(), h("div", { key: '4eabc8cbcec33d3728043aa400667a2378079948', class: "diff-body", role: "table", "aria-label": this.getTranslation('code-diff.table-label'), tabindex: "0", onKeyDown: (event) => this.handleKeyDown(event) }, diffContent), h("div", { key: 'a9616e55cf6bc1c5265df1839d59d27a5579f68e', class: "screen-reader-only", role: "status", "aria-live": "polite", "aria-atomic": "true" }, this.liveAnnouncement)));
121
121
  }
122
122
  watchInputs() {
123
123
  this.recomputeDiff();
@@ -251,7 +251,7 @@ export class CodeEditor {
251
251
  'is-dark-mode': this.isDarkMode(),
252
252
  'is-light-mode': !this.isDarkMode(),
253
253
  };
254
- return (h(Host, { key: 'a3657a5cf54b3e8a935159f27aaebd4d47838a0c' }, this.renderCopyButton(), h("limel-notched-outline", { key: 'cb0b931c64166f8d4a09acbe0f9699bcccbe7b1d', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !!this.value, hasFloatingLabel: true }, h("div", { key: 'a9f5da0408972d22009c6fcded671b1a3f88064b', slot: "content", class: classList })), this.renderHelperLine()));
254
+ return (h(Host, { key: '70c2712c99e03787e1abd70bc19395078b574180' }, this.renderCopyButton(), h("limel-notched-outline", { key: 'b43ac02d0207760ad80bfce633bcad7596ecd14e', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !!this.value, hasFloatingLabel: true }, h("div", { key: 'f7c473508160199b4e9e4ff2919a3586a54187e0', slot: "content", class: classList })), this.renderHelperLine()));
255
255
  }
256
256
  forceRedraw() {
257
257
  // eslint-disable-next-line sonarjs/pseudo-random
@@ -130,7 +130,7 @@ export class CollapsibleSection {
130
130
  removeEnterClickable(button);
131
131
  }
132
132
  render() {
133
- return (h("section", { key: 'ff18dacc5e74d3bd8d16da55be3e5340922acf86', class: `${this.isOpen ? 'open' : ''}`, "aria-invalid": this.invalid, "aria-labelledby": this.header ? this.headingId : null }, h("header", { key: 'f4dba35493c7ce7344ff34d2fbaeeb769f8c87eb' }, h("button", { key: 'd3a632b4002d01774c9bb88f250be4e196340ef3', class: "open-close-toggle", onClick: this.onClick, "aria-controls": this.bodyId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.getCollapsibleSectionAriaLabel(), type: "button" }), this.renderExpandCollapseSign(), this.renderIcon(), this.renderHeading(), h("div", { key: '8d8489917d5e1bfa8de3cca8294651f448c8129c', class: "divider-line", role: "presentation" }), this.renderHeaderSlot(), this.renderActions()), h("div", { key: 'fd7e13cf3bd26815d62c3fbac0ef04ed4db364b5', class: "body", inert: !this.isOpen, "aria-hidden": String(!this.isOpen), id: this.bodyId, role: "region" }, h("slot", { key: '90ed08286c1091f5c5c5feec827729cfa65588fc' }))));
133
+ return (h("section", { key: '6c1080ba17f1b4e24cc363472386c91b97691a65', class: `${this.isOpen ? 'open' : ''}`, "aria-invalid": this.invalid, "aria-labelledby": this.header ? this.headingId : null }, h("header", { key: '63cbf4c42109445ac509fb605dba938cbb0a1c27' }, h("button", { key: 'b9b29b6ff5e4fbc3c2d4148fbae05eb86786fa09', class: "open-close-toggle", onClick: this.onClick, "aria-controls": this.bodyId, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-label": this.getCollapsibleSectionAriaLabel(), type: "button" }), this.renderExpandCollapseSign(), this.renderIcon(), this.renderHeading(), h("div", { key: 'f49b83a271b497d67371056aacfa793374ef3816', class: "divider-line", role: "presentation" }), this.renderHeaderSlot(), this.renderActions()), h("div", { key: '9e80a5dd70153a9e7d4970df1eb040de31e5948e', class: "body", inert: !this.isOpen, "aria-hidden": String(!this.isOpen), id: this.bodyId, role: "region" }, h("slot", { key: '03d2923d9019abdefd887a07b7005141c917c434' }))));
134
134
  }
135
135
  getHeadingLevel() {
136
136
  return isHeadingLevel(this.headingLevel)
@@ -39,10 +39,10 @@ export class Palette {
39
39
  render() {
40
40
  const background = this.value ? { '--background': this.value } : {};
41
41
  return [
42
- h("div", { key: 'b2a7d3a6fdb975039b27fa6c1991e2b13dfdfb7c', class: "color-picker-palette", style: {
42
+ h("div", { key: 'c3cf7aef60a6c9ddd995fcd6f1a44e7633af41c6', class: "color-picker-palette", style: {
43
43
  '--color-picker-column-count': `${this.getColumnCount()}`,
44
44
  } }, this.renderSwatches()),
45
- h("div", { key: '8388ecf46579ee13770a599fb4d73c355e01462e', class: "chosen-color-name" }, h("limel-input-field", { key: 'f98cd03a9a5beb2897961a063a1d78ae0e5dd71e', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, invalid: this.invalid, placeholder: this.placeholder, disabled: !this.manualInput }), h("div", { key: 'c9502329a95fdf25a7f787183f811679bde62882', class: "chosen-color-preview", style: background })),
45
+ h("div", { key: '821217eb21c42c54128d8b8b8ba7381dd74ced6d', class: "chosen-color-name" }, h("limel-input-field", { key: '11b030b4670b47c65d416daa7f2bbfc601d2e549', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, invalid: this.invalid, placeholder: this.placeholder, disabled: !this.manualInput }), h("div", { key: '1c500725280dde72af4ce3c0b44a278a8b324ba7', class: "chosen-color-preview", style: background })),
46
46
  ];
47
47
  }
48
48
  getPalette() {
@@ -87,7 +87,7 @@ export class ColorPicker {
87
87
  (_a = this.contentElement) === null || _a === void 0 ? void 0 : _a.focus();
88
88
  }
89
89
  render() {
90
- return (h(Host, { key: '04973de288b9d3f4773a03c351d37f288e9e07bf' }, this.renderTooltip(), this.renderPickerPalette(), h("limel-input-field", { key: '93c5ea34c6eef290b1b4cf744b911a4e5de80c1c', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, readonly: this.readonly, disabled: this.disabled || !this.manualInput, invalid: this.invalid, placeholder: this.placeholder })));
90
+ return (h(Host, { key: '2103fcb98a566b3263111a16ab303663a185074e' }, this.renderTooltip(), this.renderPickerPalette(), h("limel-input-field", { key: 'd86a999538d8e8d4656f6a1afd50d1c3b6fbb303', label: this.label, helperText: this.helperText, value: this.value, onChange: this.handleChange, required: this.required, readonly: this.readonly, disabled: this.disabled || !this.manualInput, invalid: this.invalid, placeholder: this.placeholder })));
91
91
  }
92
92
  static get is() { return "limel-color-picker"; }
93
93
  static get encapsulation() { return "shadow"; }
@@ -96,7 +96,7 @@ export class DatePickerCalendar {
96
96
  });
97
97
  }
98
98
  render() {
99
- return (h("div", { key: 'c9e65b096f57f96afaffcdca7889cf3addb3227f', class: "container", ref: (el) => (this.container = el), style: {
99
+ return (h("div", { key: '86cbefbe9481503480ec3a2d63e333aaa206aecc', class: "container", ref: (el) => (this.container = el), style: {
100
100
  '--today-label': `"${translate.get('date-picker.today', this.language)}"`,
101
101
  } }));
102
102
  }
@@ -84,10 +84,10 @@ export class Dialog {
84
84
  this.mdcDialog.destroy();
85
85
  }
86
86
  render() {
87
- return (h("div", { key: 'c25d2992895829671727b0d3a52c89d5cd6d3586', class: {
87
+ return (h("div", { key: 'a9a3f26e3da86f1659487affe5a8758dca4cefb9', class: {
88
88
  'mdc-dialog': true,
89
89
  'full-screen': !!this.fullscreen,
90
- }, role: "alertdialog", "aria-modal": "true", "aria-labelledby": 'limel-dialog-title-' + this.id, "aria-describedby": 'limel-dialog-content-' + this.id }, h("input", { key: 'bee5a5e54bc971b2ebf33fbcd4d84feba6ca9353', hidden: true, id: "initialFocusEl" }), h("div", { key: '3e5beb7bb0d881de3449cfe26ba5776f3ece4c42', class: "mdc-dialog__container" }, h("div", { key: '928c11c5eca38e7e4065c55d8ec6872c6c0dbd71', class: "mdc-dialog__surface" }, h("input", { key: 'c81d5586e8bf3c3f57d7ea6b33585a5e16c016e3', type: "button", id: "initialFocusElement" }), this.renderHeading(), h("div", { key: 'd7f278245136ea690182f82ad717ff57e4e4855b', class: "mdc-dialog__content", id: 'limel-dialog-content-' + this.id }, h("slot", { key: '40c910630b7df325a5e15829f96d6ce0f8e52ff0' })), this.renderFooter())), h("div", { key: '8aa1010d47e375d2ef607f87d4e724c674493cf9', class: "mdc-dialog__scrim" })));
90
+ }, role: "alertdialog", "aria-modal": "true", "aria-labelledby": 'limel-dialog-title-' + this.id, "aria-describedby": 'limel-dialog-content-' + this.id }, h("input", { key: '792d35f0b5c497bac447327c2aafdd74e3b8c0ee', hidden: true, id: "initialFocusEl" }), h("div", { key: 'a4331ee65f7ff242ee2af707281a1051f307a218', class: "mdc-dialog__container" }, h("div", { key: 'c4e1ef542e1078fe65bb6c299a890da6242c154e', class: "mdc-dialog__surface" }, h("input", { key: '626470072fbed50ef98ab29e32ad0d219018cb51', type: "button", id: "initialFocusElement" }), this.renderHeading(), h("div", { key: '8399fa33d6b6d342848f7051fc92b4bde9b02f8e', class: "mdc-dialog__content", id: 'limel-dialog-content-' + this.id }, h("slot", { key: '94f1d56d78fd5e5f0cc483c622b1138ed7148a2e' })), this.renderFooter())), h("div", { key: '22a1c2516049f8a8d444fbb60c0009cb96dffe9f', class: "mdc-dialog__scrim" })));
91
91
  }
92
92
  watchHandler(newValue, oldValue) {
93
93
  if (oldValue === newValue || !this.mdcDialog) {
@@ -94,11 +94,11 @@ export class Dock {
94
94
  this.resizeObserver.disconnect();
95
95
  }
96
96
  render() {
97
- return (h(Host, { key: '89d1c5d33de71c5b78b572ec3f72b36424c5b12a', class: {
97
+ return (h(Host, { key: '5f27f5d6ed669bdee199afc2dfe151495a67b05b', class: {
98
98
  dock: true,
99
99
  expanded: this.expanded,
100
100
  'has-mobile-layout': this.useMobileLayout,
101
- } }, h("nav", { key: 'bd58281fb439dbc3eb2b8fb159fb2a5fd95fc553', "aria-label": this.accessibleLabel }, this.dockItems.map(this.renderDockItem), this.renderSeparator(), this.dockFooterItems.map(this.renderDockItem)), this.renderExpandShrinkToggle()));
101
+ } }, h("nav", { key: '9f7befc311318c7ff2486714adc0a6ec0e6b4cea', "aria-label": this.accessibleLabel }, this.dockItems.map(this.renderDockItem), this.renderSeparator(), this.dockFooterItems.map(this.renderDockItem)), this.renderExpandShrinkToggle()));
102
102
  }
103
103
  renderExpandShrinkToggle() {
104
104
  if (this.useMobileLayout || !this.allowResize) {
@@ -51,7 +51,7 @@ export class DragHandleComponent {
51
51
  render() {
52
52
  const tooltipLabel = translate.get('drag-handle.drag-to-reorder', this.language);
53
53
  const ariaLabel = translate.get('drag-handle.drag-handle', this.language);
54
- return (h(Host, { key: '49a2335a2c2603c7fcdd3c329f71a27f52024f96' }, h("button", { key: '8a8caa87f2e6b43936753f11991e84e81f0385c6', "data-drag-handle": true, type: "button", class: "limel-drag-handle", tabindex: -1, "aria-label": ariaLabel, id: this.dragHandleId, onClick: this.handleClick }, h("div", { key: '841ce098bb464c79773cdac0ea40e89a941d439f', class: "drag-icon", role: "presentation", "aria-hidden": "true" }, h("div", { key: "1" }), h("div", { key: "2" }), h("div", { key: "3" }), h("div", { key: "4" }), h("div", { key: "5" }), h("div", { key: "6" })), h("limel-tooltip", { key: '650342114d7c64c5e621e1b65751b242c0a7c5a7', openDirection: this.tooltipOpenDirection, elementId: this.dragHandleId, label: tooltipLabel }))));
54
+ return (h(Host, { key: '2656fb1a09ca8bd8db8fe5849b4d5aa231d13e6e' }, h("button", { key: 'f2239eca3b4a11dd09f551d53c08aec30e780904', "data-drag-handle": true, type: "button", class: "limel-drag-handle", tabindex: -1, "aria-label": ariaLabel, id: this.dragHandleId, onClick: this.handleClick }, h("div", { key: '3c47f3612efa43a3e020f432e88b71524b15190b', class: "drag-icon", role: "presentation", "aria-hidden": "true" }, h("div", { key: "1" }), h("div", { key: "2" }), h("div", { key: "3" }), h("div", { key: "4" }), h("div", { key: "5" }), h("div", { key: "6" })), h("limel-tooltip", { key: 'e2706e1f4757b75ac8bce97d549e6e81ee53ecca', openDirection: this.tooltipOpenDirection, elementId: this.dragHandleId, label: tooltipLabel }))));
55
55
  }
56
56
  static get is() { return "limel-drag-handle"; }
57
57
  static get originalStyleUrls() {
@@ -75,7 +75,7 @@ export class EmailViewer {
75
75
  }
76
76
  }
77
77
  render() {
78
- return (h(Host, { key: '81c11ddad6377f11be8c2f82915708c16fd2ac77' }, h("div", { key: '4be342e3c746106d45eb4cd357f771a252a90ab8', class: "email", part: "email" }, this.renderHeaders(), this.renderRemoteImageBanner(), h("section", { key: 'd6b9661596131110ac40e7fa90dba17e8a5c99fd' }, this.renderAttachments(), this.renderBody()))));
78
+ return (h(Host, { key: '85990dff64a6fc62c1c3d4ca58c188ceee3aa639' }, h("div", { key: '6e1ab5f5210789e68256cd8bc2c50df7de3fe9e1', class: "email", part: "email" }, this.renderHeaders(), this.renderRemoteImageBanner(), h("section", { key: '523d7d19938312506bdfd735fde3251dfc408c75' }, this.renderAttachments(), this.renderBody()))));
79
79
  }
80
80
  renderHeaders() {
81
81
  const headerFields = [
@@ -154,7 +154,7 @@ export class File {
154
154
  this.resizingFile = undefined;
155
155
  }
156
156
  render() {
157
- return (h(Host, { key: '31fa16f6246cd4a6e7a7ce9ec6d32aadf245d84f', "aria-busy": this.isBusy ? 'true' : 'false' }, h("limel-file-dropzone", { key: 'f294201908569c70656ef52fff2fcca3e9b72bf0', disabled: this.disabled || this.readonly || !!this.displayedFile, accept: this.accept, onFilesSelected: this.handleNewFiles }, this.renderChipset()), this.renderDragAndDropTip(), this.renderSpinner()));
157
+ return (h(Host, { key: 'fde08c4a882443f122caf923cd5d4eae1603342d', "aria-busy": this.isBusy ? 'true' : 'false' }, h("limel-file-dropzone", { key: 'bbafe0b47742c71cca1dd78a380072ceb6646c37', disabled: this.disabled || this.readonly || !!this.displayedFile, accept: this.accept, onFilesSelected: this.handleNewFiles }, this.renderChipset()), this.renderDragAndDropTip(), this.renderSpinner()));
158
158
  }
159
159
  get statusText() {
160
160
  var _a, _b, _c;
@@ -90,7 +90,7 @@ export class FileDropzone {
90
90
  };
91
91
  }
92
92
  render() {
93
- return (h(Host, { key: 'd04afa2b6b4b0cb45ac908891f8b0b5da8d9867b', onDrop: this.handleDrop, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave }, h("slot", { key: '1b125711e06ccd2357375127b6cf2dd12779e584' }), this.renderOnDragLayout()));
93
+ return (h(Host, { key: '0a8c13ab0d5f60152669965bb43981cc1f6c430f', onDrop: this.handleDrop, onDragOver: this.handleDragOver, onDragLeave: this.handleDragLeave }, h("slot", { key: '740de02e64e7cebca2cd67d10c148d9761ac85bb' }), this.renderOnDragLayout()));
94
94
  }
95
95
  static get is() { return "limel-file-dropzone"; }
96
96
  static get encapsulation() { return "shadow"; }
@@ -72,7 +72,7 @@ export class FileInput {
72
72
  this.fileInput = this.element.shadowRoot.getElementById(this.fileInputId);
73
73
  }
74
74
  render() {
75
- return (h(Host, { key: '2ec5c6a56f846b4c606633fd418c4867f50f470d', onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("input", { key: 'c6a782ec3d71be85ca6e4fe13f5616b7c3809989', hidden: true, id: this.fileInputId, onChange: this.handleFileChange, type: "file", accept: this.accept, disabled: this.disabled, multiple: this.multiple }), h("slot", { key: '86efec1ed582204301530ecd549367be1c952b1d' })));
75
+ return (h(Host, { key: '1bedc75973c5a12ff099607e35991153811f3166', onClick: this.handleClick, onKeyUp: this.handleKeyUp, onKeyDown: this.handleKeyDown }, h("input", { key: '583506fe7cbc9319bece58aefe5d793fc563dbc2', hidden: true, id: this.fileInputId, onChange: this.handleFileChange, type: "file", accept: this.accept, disabled: this.disabled, multiple: this.multiple }), h("slot", { key: 'fef95ae5ffdc6a4cc00be7f6e021ea39ed253412' })));
76
76
  }
77
77
  handleKeyDown(event) {
78
78
  if (['Tab', 'Backspace', 'Enter'].includes(event.code)) {