@limetech/lime-elements 40.9.0 → 40.10.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (296) hide show
  1. package/CHANGELOG.md +21 -0
  2. package/dist/cjs/lime-elements.cjs.js +1 -1
  3. package/dist/cjs/limel-3d-hover-effect-glow.cjs.entry.js +1 -1
  4. package/dist/cjs/limel-action-bar_3.cjs.entry.js +3 -3
  5. package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
  6. package/dist/cjs/limel-badge.cjs.entry.js +2 -2
  7. package/dist/cjs/limel-banner.cjs.entry.js +1 -1
  8. package/dist/cjs/limel-breadcrumbs_6.cjs.entry.js +6 -6
  9. package/dist/cjs/limel-button-group.cjs.entry.js +1 -1
  10. package/dist/cjs/limel-button.cjs.entry.js +2 -2
  11. package/dist/cjs/limel-callout.cjs.entry.js +1 -1
  12. package/dist/cjs/limel-card.cjs.entry.js +1 -1
  13. package/dist/cjs/limel-checkbox.cjs.entry.js +1 -1
  14. package/dist/cjs/limel-chip-set.cjs.entry.js +1 -1
  15. package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
  16. package/dist/cjs/limel-circular-progress.cjs.entry.js +1 -1
  17. package/dist/cjs/limel-code-diff.cjs.entry.js +1 -1
  18. package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
  19. package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
  20. package/dist/cjs/limel-color-picker-palette.cjs.entry.js +2 -2
  21. package/dist/cjs/limel-color-picker.cjs.entry.js +1 -1
  22. package/dist/cjs/limel-dialog.cjs.entry.js +2 -2
  23. package/dist/cjs/limel-dock.cjs.entry.js +2 -2
  24. package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
  25. package/dist/cjs/limel-email-viewer.cjs.entry.js +1 -1
  26. package/dist/cjs/limel-file-dropzone_2.cjs.entry.js +2 -2
  27. package/dist/cjs/limel-file.cjs.entry.js +1 -1
  28. package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
  29. package/dist/cjs/limel-flex-container.cjs.entry.js +1 -1
  30. package/dist/cjs/limel-form.cjs.entry.js +1 -1
  31. package/dist/cjs/limel-grid.cjs.entry.js +1 -1
  32. package/dist/cjs/limel-header.cjs.entry.js +1 -1
  33. package/dist/cjs/limel-help-content.cjs.entry.js +1 -1
  34. package/dist/cjs/limel-help.cjs.entry.js +2 -2
  35. package/dist/cjs/limel-helper-line_3.cjs.entry.js +4 -4
  36. package/dist/cjs/limel-hotkey_4.cjs.entry.js +231 -15
  37. package/dist/cjs/limel-icon-button.cjs.entry.js +1 -1
  38. package/dist/cjs/limel-icon.cjs.entry.js +1 -1
  39. package/dist/cjs/limel-info-tile.cjs.entry.js +2 -2
  40. package/dist/cjs/limel-list-item.cjs.entry.js +2 -2
  41. package/dist/cjs/limel-markdown.cjs.entry.js +1 -1
  42. package/dist/cjs/limel-masonry-layout.cjs.entry.js +1 -1
  43. package/dist/cjs/limel-menu-item-meta.cjs.entry.js +1 -1
  44. package/dist/cjs/limel-pagination.cjs.entry.js +1 -1
  45. package/dist/cjs/limel-picker.cjs.entry.js +1 -1
  46. package/dist/cjs/limel-popover_2.cjs.entry.js +2 -2
  47. package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +1 -1
  48. package/dist/cjs/limel-radio-button-group.cjs.entry.js +1 -1
  49. package/dist/cjs/limel-radio-button.cjs.entry.js +2 -2
  50. package/dist/cjs/limel-resize-handle.cjs.entry.js +240 -0
  51. package/dist/cjs/limel-scroller.cjs.entry.js +2 -2
  52. package/dist/cjs/limel-select.cjs.entry.js +1 -1
  53. package/dist/cjs/limel-shortcut.cjs.entry.js +1 -1
  54. package/dist/cjs/limel-side-panel.cjs.entry.js +283 -0
  55. package/dist/cjs/limel-slider.cjs.entry.js +3 -3
  56. package/dist/cjs/limel-snackbar.cjs.entry.js +2 -2
  57. package/dist/cjs/limel-split-button.cjs.entry.js +2 -2
  58. package/dist/cjs/limel-switch.cjs.entry.js +1 -1
  59. package/dist/cjs/limel-tab-bar.cjs.entry.js +1 -1
  60. package/dist/cjs/limel-tab-panel.cjs.entry.js +1 -1
  61. package/dist/cjs/limel-table.cjs.entry.js +2 -2
  62. package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +3 -3
  63. package/dist/cjs/limel-text-editor.cjs.entry.js +1 -1
  64. package/dist/cjs/loader.cjs.js +1 -1
  65. package/dist/collection/collection-manifest.json +2 -0
  66. package/dist/collection/components/3d-hover-effect-glow/3d-hover-effect-glow.js +1 -1
  67. package/dist/collection/components/action-bar/action-bar-item/action-bar-overflow-menu.js +1 -1
  68. package/dist/collection/components/action-bar/action-bar.js +2 -2
  69. package/dist/collection/components/ai-avatar/ai-avatar.js +1 -1
  70. package/dist/collection/components/badge/badge.js +2 -2
  71. package/dist/collection/components/banner/banner.js +1 -1
  72. package/dist/collection/components/breadcrumbs/breadcrumbs.js +1 -1
  73. package/dist/collection/components/button/button.js +2 -2
  74. package/dist/collection/components/button-group/button-group.js +1 -1
  75. package/dist/collection/components/callout/callout.js +1 -1
  76. package/dist/collection/components/card/card.js +1 -1
  77. package/dist/collection/components/checkbox/checkbox.js +1 -1
  78. package/dist/collection/components/chip/chip.js +1 -1
  79. package/dist/collection/components/chip-set/chip-set.js +1 -1
  80. package/dist/collection/components/circular-progress/circular-progress.js +1 -1
  81. package/dist/collection/components/code-diff/code-diff.js +1 -1
  82. package/dist/collection/components/code-editor/code-editor.js +1 -1
  83. package/dist/collection/components/collapsible-section/collapsible-section.js +1 -1
  84. package/dist/collection/components/color-picker/color-picker-palette.js +2 -2
  85. package/dist/collection/components/color-picker/color-picker.js +1 -1
  86. package/dist/collection/components/date-picker/flatpickr-adapter/flatpickr-adapter.js +1 -1
  87. package/dist/collection/components/dialog/dialog.js +2 -2
  88. package/dist/collection/components/dock/dock.js +2 -2
  89. package/dist/collection/components/drag-handle/drag-handle.js +1 -1
  90. package/dist/collection/components/email-viewer/email-viewer.js +1 -1
  91. package/dist/collection/components/file/file.js +1 -1
  92. package/dist/collection/components/file-dropzone/file-dropzone.js +1 -1
  93. package/dist/collection/components/file-input/file-input.js +1 -1
  94. package/dist/collection/components/flex-container/flex-container.js +1 -1
  95. package/dist/collection/components/form/form.js +1 -1
  96. package/dist/collection/components/grid/grid.js +1 -1
  97. package/dist/collection/components/header/header.js +1 -1
  98. package/dist/collection/components/help/help-content.js +1 -1
  99. package/dist/collection/components/help/help.js +2 -2
  100. package/dist/collection/components/helper-line/helper-line.js +2 -2
  101. package/dist/collection/components/hotkey/get-hotkey-aria-label.js +14 -0
  102. package/dist/collection/components/hotkey/hotkey.js +3 -5
  103. package/dist/collection/components/icon/icon.js +1 -1
  104. package/dist/collection/components/icon-button/icon-button.js +1 -1
  105. package/dist/collection/components/info-tile/info-tile.js +2 -2
  106. package/dist/collection/components/input-field/input-field.js +1 -1
  107. package/dist/collection/components/list/list.js +1 -1
  108. package/dist/collection/components/list-item/list-item.js +2 -2
  109. package/dist/collection/components/list-item/menu-item-meta/menu-item-meta.js +1 -1
  110. package/dist/collection/components/markdown/markdown.js +1 -1
  111. package/dist/collection/components/masonry-layout/masonry-layout.js +1 -1
  112. package/dist/collection/components/menu/menu.js +1 -1
  113. package/dist/collection/components/menu-list/menu-list.js +1 -1
  114. package/dist/collection/components/menu-surface/menu-surface.js +1 -1
  115. package/dist/collection/components/notched-outline/notched-outline.js +1 -1
  116. package/dist/collection/components/pagination/pagination.js +1 -1
  117. package/dist/collection/components/picker/picker.js +1 -1
  118. package/dist/collection/components/popover/popover.js +1 -1
  119. package/dist/collection/components/popover-surface/popover-surface.js +1 -1
  120. package/dist/collection/components/portal/portal.js +1 -1
  121. package/dist/collection/components/radio-button-group/radio-button-group.js +1 -1
  122. package/dist/collection/components/radio-button-group/radio-button.js +2 -2
  123. package/dist/collection/components/resize-handle/resize-handle.css +274 -0
  124. package/dist/collection/components/resize-handle/resize-handle.js +210 -0
  125. package/dist/collection/components/scroller/scroller.js +2 -2
  126. package/dist/collection/components/select/select.js +1 -1
  127. package/dist/collection/components/shortcut/shortcut.js +1 -1
  128. package/dist/collection/components/side-panel/side-panel.css +300 -0
  129. package/dist/collection/components/side-panel/side-panel.js +433 -0
  130. package/dist/collection/components/slider/slider.js +3 -3
  131. package/dist/collection/components/snackbar/snackbar.js +2 -2
  132. package/dist/collection/components/spinner/spinner.js +1 -1
  133. package/dist/collection/components/split-button/split-button.js +2 -2
  134. package/dist/collection/components/switch/switch.js +1 -1
  135. package/dist/collection/components/tab-bar/tab-bar.js +1 -1
  136. package/dist/collection/components/tab-panel/tab-panel.js +1 -1
  137. package/dist/collection/components/table/table.js +2 -2
  138. package/dist/collection/components/text-editor/link-menu/editor-link-menu.js +3 -3
  139. package/dist/collection/components/text-editor/prosemirror-adapter/prosemirror-adapter.js +1 -1
  140. package/dist/collection/components/text-editor/text-editor.js +1 -1
  141. package/dist/collection/components/tooltip/description-registry.js +57 -0
  142. package/dist/collection/components/tooltip/get-description.js +42 -0
  143. package/dist/collection/components/tooltip/tooltip-content.js +1 -1
  144. package/dist/collection/components/tooltip/tooltip.js +53 -11
  145. package/dist/collection/util/drag-to-resize.js +108 -0
  146. package/dist/collection/util/get-deep-active-element.js +15 -0
  147. package/dist/collection/util/get-focus-target.js +69 -0
  148. package/dist/collection/util/resize-location.js +76 -0
  149. package/dist/esm/{keycodes-DQ5DmW_Y.js → keycodes-Bu6-QXrA.js} +1 -1
  150. package/dist/esm/lime-elements.js +1 -1
  151. package/dist/esm/limel-3d-hover-effect-glow.entry.js +1 -1
  152. package/dist/esm/limel-action-bar_3.entry.js +3 -3
  153. package/dist/esm/limel-ai-avatar.entry.js +1 -1
  154. package/dist/esm/limel-badge.entry.js +2 -2
  155. package/dist/esm/limel-banner.entry.js +1 -1
  156. package/dist/esm/limel-breadcrumbs_6.entry.js +7 -7
  157. package/dist/esm/limel-button-group.entry.js +1 -1
  158. package/dist/esm/limel-button.entry.js +2 -2
  159. package/dist/esm/limel-callout.entry.js +1 -1
  160. package/dist/esm/limel-card.entry.js +1 -1
  161. package/dist/esm/limel-checkbox.entry.js +1 -1
  162. package/dist/esm/limel-chip-set.entry.js +2 -2
  163. package/dist/esm/limel-chip_2.entry.js +2 -2
  164. package/dist/esm/limel-circular-progress.entry.js +1 -1
  165. package/dist/esm/limel-code-diff.entry.js +1 -1
  166. package/dist/esm/limel-code-editor.entry.js +1 -1
  167. package/dist/esm/limel-collapsible-section.entry.js +1 -1
  168. package/dist/esm/limel-color-picker-palette.entry.js +2 -2
  169. package/dist/esm/limel-color-picker.entry.js +1 -1
  170. package/dist/esm/limel-dialog.entry.js +2 -2
  171. package/dist/esm/limel-dock.entry.js +2 -2
  172. package/dist/esm/limel-drag-handle.entry.js +1 -1
  173. package/dist/esm/limel-email-viewer.entry.js +1 -1
  174. package/dist/esm/limel-file-dropzone_2.entry.js +2 -2
  175. package/dist/esm/limel-file.entry.js +1 -1
  176. package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
  177. package/dist/esm/limel-flex-container.entry.js +1 -1
  178. package/dist/esm/limel-form.entry.js +1 -1
  179. package/dist/esm/limel-grid.entry.js +1 -1
  180. package/dist/esm/limel-header.entry.js +1 -1
  181. package/dist/esm/limel-help-content.entry.js +1 -1
  182. package/dist/esm/limel-help.entry.js +2 -2
  183. package/dist/esm/limel-helper-line_3.entry.js +4 -4
  184. package/dist/esm/limel-hotkey_4.entry.js +231 -15
  185. package/dist/esm/limel-icon-button.entry.js +1 -1
  186. package/dist/esm/limel-icon.entry.js +1 -1
  187. package/dist/esm/limel-info-tile.entry.js +2 -2
  188. package/dist/esm/limel-list-item.entry.js +2 -2
  189. package/dist/esm/limel-markdown.entry.js +1 -1
  190. package/dist/esm/limel-masonry-layout.entry.js +1 -1
  191. package/dist/esm/limel-menu-item-meta.entry.js +1 -1
  192. package/dist/esm/limel-pagination-jump.entry.js +1 -1
  193. package/dist/esm/limel-pagination.entry.js +1 -1
  194. package/dist/esm/limel-picker.entry.js +2 -2
  195. package/dist/esm/limel-popover_2.entry.js +3 -3
  196. package/dist/esm/limel-prosemirror-adapter.entry.js +1 -1
  197. package/dist/esm/limel-radio-button-group.entry.js +1 -1
  198. package/dist/esm/limel-radio-button.entry.js +2 -2
  199. package/dist/esm/limel-resize-handle.entry.js +238 -0
  200. package/dist/esm/limel-scroller.entry.js +2 -2
  201. package/dist/esm/limel-select.entry.js +2 -2
  202. package/dist/esm/limel-shortcut.entry.js +1 -1
  203. package/dist/esm/limel-side-panel.entry.js +281 -0
  204. package/dist/esm/limel-slider.entry.js +3 -3
  205. package/dist/esm/limel-snackbar.entry.js +2 -2
  206. package/dist/esm/limel-split-button.entry.js +2 -2
  207. package/dist/esm/limel-switch.entry.js +1 -1
  208. package/dist/esm/limel-tab-bar.entry.js +2 -2
  209. package/dist/esm/limel-tab-panel.entry.js +1 -1
  210. package/dist/esm/limel-table.entry.js +2 -2
  211. package/dist/esm/limel-text-editor-link-menu.entry.js +4 -4
  212. package/dist/esm/limel-text-editor.entry.js +1 -1
  213. package/dist/esm/loader.js +1 -1
  214. package/dist/lime-elements/lime-elements.esm.js +1 -1
  215. package/dist/lime-elements/{p-5da47a8a.entry.js → p-065f1635.entry.js} +1 -1
  216. package/dist/lime-elements/{p-0e13ec91.entry.js → p-06cd9512.entry.js} +1 -1
  217. package/dist/lime-elements/{p-96246494.entry.js → p-07916acc.entry.js} +1 -1
  218. package/dist/lime-elements/{p-fdec09e9.entry.js → p-0c2ce99b.entry.js} +1 -1
  219. package/dist/lime-elements/{p-00c36c9e.entry.js → p-1020ca20.entry.js} +1 -1
  220. package/dist/lime-elements/{p-288ef79a.entry.js → p-14aff731.entry.js} +1 -1
  221. package/dist/lime-elements/p-1a5478e3.entry.js +1 -0
  222. package/dist/lime-elements/{p-2b033dfa.entry.js → p-24e5d420.entry.js} +1 -1
  223. package/dist/lime-elements/{p-9afa4721.entry.js → p-262a3d66.entry.js} +1 -1
  224. package/dist/lime-elements/{p-45461ec5.entry.js → p-29b2a176.entry.js} +1 -1
  225. package/dist/lime-elements/{p-e752dc7f.entry.js → p-2ba9d62f.entry.js} +1 -1
  226. package/dist/lime-elements/{p-a1c69e0c.entry.js → p-33ed0c68.entry.js} +1 -1
  227. package/dist/lime-elements/{p-efaf2616.entry.js → p-35bc5ed2.entry.js} +1 -1
  228. package/dist/lime-elements/{p-d37fbbd2.entry.js → p-3ee121fa.entry.js} +1 -1
  229. package/dist/lime-elements/{p-d1b7cc55.entry.js → p-458c131f.entry.js} +3 -3
  230. package/dist/lime-elements/{p-c439b68b.entry.js → p-46bf8b22.entry.js} +1 -1
  231. package/dist/lime-elements/{p-303edb1a.entry.js → p-4882acaa.entry.js} +1 -1
  232. package/dist/lime-elements/{p-7b4351f6.entry.js → p-4a7df81a.entry.js} +1 -1
  233. package/dist/lime-elements/{p-982a0f10.entry.js → p-527e9c95.entry.js} +1 -1
  234. package/dist/lime-elements/{p-5f5c6e7d.entry.js → p-54631dbf.entry.js} +1 -1
  235. package/dist/lime-elements/{p-d5800180.entry.js → p-5473eb74.entry.js} +1 -1
  236. package/dist/lime-elements/p-566750e5.entry.js +1 -0
  237. package/dist/lime-elements/{p-f4a0b1bc.entry.js → p-622660dd.entry.js} +1 -1
  238. package/dist/lime-elements/{p-d19c7a3a.entry.js → p-646731b6.entry.js} +1 -1
  239. package/dist/lime-elements/{p-7eab1341.entry.js → p-68542e00.entry.js} +1 -1
  240. package/dist/lime-elements/p-780dae0b.entry.js +1 -0
  241. package/dist/lime-elements/{p-8ac79ef5.entry.js → p-7a290372.entry.js} +1 -1
  242. package/dist/lime-elements/{p-ff1a8b2e.entry.js → p-7a2e0e18.entry.js} +1 -1
  243. package/dist/lime-elements/{p-7fa85785.entry.js → p-7cdbbffe.entry.js} +2 -2
  244. package/dist/lime-elements/{p-b6d39581.entry.js → p-887eea11.entry.js} +1 -1
  245. package/dist/lime-elements/{p-9c8c2fb7.entry.js → p-8a59698f.entry.js} +1 -1
  246. package/dist/lime-elements/p-8d567e42.entry.js +1 -0
  247. package/dist/lime-elements/{p-b22b52a1.entry.js → p-910807cb.entry.js} +1 -1
  248. package/dist/lime-elements/p-9168793f.entry.js +1 -0
  249. package/dist/lime-elements/{p-58b7c634.entry.js → p-9461c6bb.entry.js} +1 -1
  250. package/dist/lime-elements/{p-a98cbd1f.entry.js → p-9b1934fb.entry.js} +1 -1
  251. package/dist/lime-elements/p-9b384d62.entry.js +1 -0
  252. package/dist/lime-elements/{p-ee719744.entry.js → p-9ca18ba5.entry.js} +1 -1
  253. package/dist/lime-elements/{p-DQ5DmW_Y.js → p-Bu6-QXrA.js} +1 -1
  254. package/dist/lime-elements/{p-ab91cfff.entry.js → p-a317f2fa.entry.js} +1 -1
  255. package/dist/lime-elements/{p-32a050a3.entry.js → p-a449ca04.entry.js} +1 -1
  256. package/dist/lime-elements/p-a5246373.entry.js +1 -0
  257. package/dist/lime-elements/{p-9992b5f9.entry.js → p-a78aaf37.entry.js} +1 -1
  258. package/dist/lime-elements/p-abcc451a.entry.js +1 -0
  259. package/dist/lime-elements/{p-9e016212.entry.js → p-abed5afd.entry.js} +1 -1
  260. package/dist/lime-elements/{p-107654bb.entry.js → p-ae2e5e87.entry.js} +1 -1
  261. package/dist/lime-elements/{p-fdd674fc.entry.js → p-b69af611.entry.js} +1 -1
  262. package/dist/lime-elements/{p-74060535.entry.js → p-b9da0108.entry.js} +2 -2
  263. package/dist/lime-elements/{p-4cbcafae.entry.js → p-bf849dc9.entry.js} +1 -1
  264. package/dist/lime-elements/{p-0d6925f4.entry.js → p-c12fbc91.entry.js} +1 -1
  265. package/dist/lime-elements/{p-03cb609e.entry.js → p-cf6fab84.entry.js} +1 -1
  266. package/dist/lime-elements/{p-29c73bdf.entry.js → p-d3475514.entry.js} +1 -1
  267. package/dist/lime-elements/{p-006cfb3d.entry.js → p-d5144955.entry.js} +1 -1
  268. package/dist/lime-elements/{p-91a572c8.entry.js → p-d79d777e.entry.js} +1 -1
  269. package/dist/lime-elements/p-d7e5a4a7.entry.js +1 -0
  270. package/dist/lime-elements/{p-9415411e.entry.js → p-db1f9eba.entry.js} +1 -1
  271. package/dist/lime-elements/{p-a736ea08.entry.js → p-dd075353.entry.js} +1 -1
  272. package/dist/lime-elements/{p-526ede01.entry.js → p-de4d261a.entry.js} +1 -1
  273. package/dist/lime-elements/{p-e6a34047.entry.js → p-def7b38f.entry.js} +1 -1
  274. package/dist/lime-elements/{p-bc70090d.entry.js → p-e247e9fe.entry.js} +1 -1
  275. package/dist/lime-elements/{p-e2b074aa.entry.js → p-e25bfb2c.entry.js} +1 -1
  276. package/dist/lime-elements/{p-727b6c11.entry.js → p-ec74a07a.entry.js} +1 -1
  277. package/dist/lime-elements/{p-d1e5dd12.entry.js → p-ecded772.entry.js} +1 -1
  278. package/dist/types/components/hotkey/get-hotkey-aria-label.d.ts +8 -0
  279. package/dist/types/components/resize-handle/resize-handle.d.ts +64 -0
  280. package/dist/types/components/side-panel/side-panel.d.ts +134 -0
  281. package/dist/types/components/tooltip/description-registry.d.ts +21 -0
  282. package/dist/types/components/tooltip/get-description.d.ts +13 -0
  283. package/dist/types/components/tooltip/tooltip.d.ts +11 -3
  284. package/dist/types/components.d.ts +325 -6
  285. package/dist/types/util/drag-to-resize.d.ts +33 -0
  286. package/dist/types/util/get-deep-active-element.d.ts +9 -0
  287. package/dist/types/util/get-focus-target.d.ts +14 -0
  288. package/dist/types/util/resize-location.d.ts +59 -0
  289. package/package.json +4 -4
  290. package/dist/lime-elements/p-14a28a08.entry.js +0 -1
  291. package/dist/lime-elements/p-3d05e21f.entry.js +0 -1
  292. package/dist/lime-elements/p-681cb6de.entry.js +0 -1
  293. package/dist/lime-elements/p-a1d1470c.entry.js +0 -1
  294. package/dist/lime-elements/p-a2e6f16e.entry.js +0 -1
  295. package/dist/lime-elements/p-aa897903.entry.js +0 -1
  296. package/dist/lime-elements/p-de4719a6.entry.js +0 -1
@@ -99,6 +99,19 @@ function formatDisplayToken(token, isApple) {
99
99
  return { display: trimmed, isGlyph: false, ariaName: trimmed };
100
100
  }
101
101
 
102
+ /**
103
+ * Get the text that a screen reader reads for a hotkey, e.g. `"Command K"`.
104
+ *
105
+ * @param hotkey - The hotkey string, e.g. `"meta+k"`.
106
+ * @param isApple - Whether the current device is an Apple device.
107
+ */
108
+ function getHotkeyAriaLabel(hotkey, isApple) {
109
+ return tokenizeHotkeyString(hotkey)
110
+ .map((token) => formatDisplayToken(token, isApple).ariaName)
111
+ .filter(Boolean)
112
+ .join(' ');
113
+ }
114
+
102
115
  const hotkeyCss = () => `@charset "UTF-8";kbd{display:inline-block;font-family:ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;font-weight:600;color:rgb(var(--contrast-1100));white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:normal;border-radius:0.125rem;border-style:solid;border-color:rgb(var(--contrast-500));border-width:0 1px 0.1875rem 1px;padding:0.0625rem 0.375rem;margin:0 0.25rem;background-color:rgb(var(--contrast-200));box-shadow:var(--button-shadow-normal), 0 0.625rem 0.375rem -0.5rem rgb(var(--color-black), 0.02), 0 0.025rem 0.5rem 0 rgb(var(--contrast-100)) inset}:host(limel-hotkey){display:flex;align-items:center;justify-content:center;gap:0.25rem}:host(limel-hotkey[disabled]:not([disabled=false])){opacity:0.5}kbd{text-transform:var(--hotkey-text-transform, uppercase);margin:0;font-size:0.75rem;box-shadow:var(--button-shadow-pressed), 0 0.625rem 0.375px -0.5rem rgb(var(--color-black), 0.02), 0 0.025rem 0.5rem 0 rgb(var(--contrast-100)) inset}span{display:inline-block}kbd.is-glyph span{transform:scale(1.2)}`;
103
116
 
104
117
  const Hotkey = class {
@@ -115,11 +128,8 @@ const Hotkey = class {
115
128
  render() {
116
129
  const parts = tokenizeHotkeyString(this.value);
117
130
  const displayParts = parts.map((part) => formatDisplayToken(part, this.isApple));
118
- const ariaLabel = displayParts
119
- .map((p) => p.ariaName)
120
- .filter(Boolean)
121
- .join(' ');
122
- return (h(Host, { key: 'dd8bc8134560dae3014e6ab5ab6eadeaa0bb6a4e', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index) => (h("kbd", { key: `${parts[index]}-${index}`, class: isGlyph ? 'is-glyph' : undefined }, h("span", null, display))))));
131
+ const ariaLabel = getHotkeyAriaLabel(this.value, this.isApple);
132
+ return (h(Host, { key: '8ffc94c7ac5061743e423e5efb8097b7ea03dc6e', "aria-label": ariaLabel || undefined }, displayParts.map(({ display, isGlyph }, index) => (h("kbd", { key: `${parts[index]}-${index}`, class: isGlyph ? 'is-glyph' : undefined }, h("span", null, display))))));
123
133
  }
124
134
  };
125
135
  Hotkey.style = hotkeyCss();
@@ -1991,7 +2001,7 @@ const Portal = class {
1991
2001
  this.showContainer();
1992
2002
  }
1993
2003
  render() {
1994
- return h("slot", { key: '7fd1ebea533dbbd8ff3df343830cc195e0a66555' });
2004
+ return h("slot", { key: 'f4db0b146b4cd851a9837bf10dc7d331cd5a9dce' });
1995
2005
  }
1996
2006
  onVisible() {
1997
2007
  if (!this.container && this.visible) {
@@ -2234,6 +2244,174 @@ const Portal = class {
2234
2244
  };
2235
2245
  Portal.style = portalCss();
2236
2246
 
2247
+ const entries = new WeakMap();
2248
+ /**
2249
+ * Set the `aria-description` of an element on behalf of an owner. The
2250
+ * description that the element had before is kept, for when the last owner
2251
+ * stops describing it.
2252
+ *
2253
+ * @param element
2254
+ * @param owner
2255
+ * @param text
2256
+ */
2257
+ function setDescription(element, owner, text) {
2258
+ let entry = entries.get(element);
2259
+ if (!entry) {
2260
+ entry = {
2261
+ original: element.getAttribute('aria-description'),
2262
+ texts: new Map(),
2263
+ };
2264
+ entries.set(element, entry);
2265
+ }
2266
+ entry.texts.delete(owner);
2267
+ entry.texts.set(owner, text);
2268
+ element.setAttribute('aria-description', text);
2269
+ }
2270
+ /**
2271
+ * Stop describing an element on behalf of an owner. The text of the owner
2272
+ * that described it most recently stays, and when none is left, the
2273
+ * description that the element had before is put back. Nothing is changed
2274
+ * if the attribute has been changed by someone else.
2275
+ *
2276
+ * @param element
2277
+ * @param owner
2278
+ */
2279
+ function clearDescription(element, owner) {
2280
+ const entry = entries.get(element);
2281
+ const text = entry === null || entry === void 0 ? void 0 : entry.texts.get(owner);
2282
+ if (!entry || text === undefined) {
2283
+ return;
2284
+ }
2285
+ entry.texts.delete(owner);
2286
+ const isCurrent = element.getAttribute('aria-description') === text;
2287
+ const remaining = [...entry.texts.values()].at(-1);
2288
+ if (remaining !== undefined) {
2289
+ if (isCurrent) {
2290
+ element.setAttribute('aria-description', remaining);
2291
+ }
2292
+ return;
2293
+ }
2294
+ entries.delete(element);
2295
+ if (!isCurrent) {
2296
+ return;
2297
+ }
2298
+ if (entry.original === null) {
2299
+ element.removeAttribute('aria-description');
2300
+ return;
2301
+ }
2302
+ element.setAttribute('aria-description', entry.original);
2303
+ }
2304
+
2305
+ /**
2306
+ * Get the text that a screen reader should read as the description of the
2307
+ * element that a tooltip describes. The label and the helper label are left
2308
+ * out when they only repeat the name of the element, or the text of one of
2309
+ * its parts, so that they are not read twice.
2310
+ *
2311
+ * @param element
2312
+ * @param label
2313
+ * @param helperLabel
2314
+ * @param hotkey
2315
+ */
2316
+ function getDescription(element, label, helperLabel, hotkey) {
2317
+ const names = new Set(getNames(element).map(normalize));
2318
+ const parts = [label, helperLabel].filter((text) => text && !names.has(normalize(text)));
2319
+ parts.push(getHotkeyText(hotkey));
2320
+ return parts.filter(Boolean).join('. ');
2321
+ }
2322
+ function getHotkeyText(hotkey) {
2323
+ const normalized = normalizeHotkeyString(hotkey);
2324
+ return normalized
2325
+ ? getHotkeyAriaLabel(normalized, isAppleDevice())
2326
+ : undefined;
2327
+ }
2328
+ function getNames(element) {
2329
+ var _a;
2330
+ const ariaLabel = (_a = element.getAttribute('aria-label')) === null || _a === void 0 ? void 0 : _a.trim();
2331
+ if (ariaLabel) {
2332
+ return [ariaLabel];
2333
+ }
2334
+ const labelled = [...element.querySelectorAll('[aria-label]')];
2335
+ return [
2336
+ element.textContent,
2337
+ ...[...element.children].map((part) => part.textContent),
2338
+ ...labelled.map((labelledElement) => labelledElement.getAttribute('aria-label')),
2339
+ ].filter(Boolean);
2340
+ }
2341
+ function normalize(text) {
2342
+ return text.replaceAll(/\s+/g, ' ').trim().toLowerCase();
2343
+ }
2344
+
2345
+ const CONTROLS = ['button', 'input:not([type="hidden"])', 'select', 'textarea'];
2346
+ const FOCUSABLE = [
2347
+ 'a[href]',
2348
+ ...CONTROLS.map((selector) => `${selector}:not([disabled])`),
2349
+ 'summary',
2350
+ '[contenteditable]:not([contenteditable="false"])',
2351
+ '[tabindex]',
2352
+ ]
2353
+ .map((selector) => `${selector}:not([tabindex="-1"])`)
2354
+ .join(', ');
2355
+ const DISABLED = CONTROLS.map((selector) => `${selector}[disabled]:not([tabindex="-1"])`).join(', ');
2356
+ /**
2357
+ * Get the element that a screen reader describes for the owner element of a
2358
+ * tooltip. That is the owner itself if it can be focused, otherwise the first
2359
+ * element that can be focused inside it, also inside shadow roots. A disabled
2360
+ * control is only used when there is nothing that can be focused, and if
2361
+ * there is no control at all, the owner itself is used.
2362
+ *
2363
+ * An element that passes the focus on to an element in its shadow root is
2364
+ * never used itself, since the screen reader lands on the element inside.
2365
+ *
2366
+ * @param owner
2367
+ */
2368
+ async function getFocusTarget(owner) {
2369
+ var _a, _b;
2370
+ const search = {};
2371
+ return (_b = (_a = (await find(owner, search))) !== null && _a !== void 0 ? _a : search.disabled) !== null && _b !== void 0 ? _b : owner;
2372
+ }
2373
+ async function find(element, search) {
2374
+ if (isFocusable(element)) {
2375
+ return element;
2376
+ }
2377
+ rememberDisabled(element, search);
2378
+ return findInside(element, search);
2379
+ }
2380
+ async function findInside(element, search) {
2381
+ if (isStencilComponent(element)) {
2382
+ await element.componentOnReady();
2383
+ }
2384
+ const inShadowRoot = element.shadowRoot
2385
+ ? await findAmong(element.shadowRoot.children, search)
2386
+ : undefined;
2387
+ return inShadowRoot !== null && inShadowRoot !== void 0 ? inShadowRoot : findAmong(element.children, search);
2388
+ }
2389
+ async function findAmong(elements, search) {
2390
+ for (const element of elements) {
2391
+ if (element.localName === 'limel-tooltip') {
2392
+ continue;
2393
+ }
2394
+ const found = await find(element, search);
2395
+ if (found) {
2396
+ return found;
2397
+ }
2398
+ }
2399
+ return undefined;
2400
+ }
2401
+ function isFocusable(element) {
2402
+ var _a;
2403
+ return !((_a = element.shadowRoot) === null || _a === void 0 ? void 0 : _a.delegatesFocus) && element.matches(FOCUSABLE);
2404
+ }
2405
+ function rememberDisabled(element, search) {
2406
+ if (!search.disabled && element.matches(DISABLED)) {
2407
+ search.disabled = element;
2408
+ }
2409
+ }
2410
+ function isStencilComponent(element) {
2411
+ return ('componentOnReady' in element &&
2412
+ typeof element.componentOnReady === 'function');
2413
+ }
2414
+
2237
2415
  /**
2238
2416
  *
2239
2417
  * @param id
@@ -2284,6 +2462,7 @@ const Tooltip = class {
2284
2462
  * Decides the tooltip's location in relation to its trigger.
2285
2463
  */
2286
2464
  this.openDirection = 'top';
2465
+ this.latestUpdate = 0;
2287
2466
  this.showTooltip = () => {
2288
2467
  this.tooltipTimer.showAfterDelay();
2289
2468
  };
@@ -2291,27 +2470,53 @@ const Tooltip = class {
2291
2470
  this.tooltipTimer.hide();
2292
2471
  };
2293
2472
  this.portalId = createRandomString();
2294
- this.tooltipId = createRandomString();
2295
2473
  this.tooltipTimer = new TooltipTimer(() => (this.open = true), () => (this.open = false));
2296
2474
  }
2297
- connectedCallback() {
2475
+ async connectedCallback() {
2298
2476
  this.ownerElement = getOwnerElement(this.elementId, this.host);
2299
- this.setOwnerAriaDescribedby();
2300
2477
  this.addListeners();
2478
+ await this.updateDescription();
2301
2479
  }
2302
2480
  disconnectedCallback() {
2303
2481
  this.removeListeners();
2482
+ this.latestUpdate++;
2483
+ this.restoreDescription();
2484
+ }
2485
+ async watchDescription() {
2486
+ await this.updateDescription();
2304
2487
  }
2305
2488
  render() {
2306
2489
  const tooltipZIndex = getComputedStyle(this.host).getPropertyValue('--tooltip-z-index');
2307
- return (h("div", { key: '970ce406a2209065f744d124c28d486dfa169164', class: "trigger-anchor" }, h("limel-portal", { key: 'bfe825d0261a452c207077e8fe37ddce5b10d477', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
2490
+ return (h("div", { key: 'f77ad0d2453d4abda766785d0ccfe96154df71bb', class: "trigger-anchor" }, h("limel-portal", { key: 'e7f314f76039381ebe5c3add9e675a53650ad8f1', openDirection: this.openDirection, visible: this.open, containerId: this.portalId, containerStyle: {
2308
2491
  'z-index': tooltipZIndex,
2309
2492
  'pointer-events': 'none',
2310
- }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: '07003cc2b868b8320b97e4a75f3cb2e71b50efb9', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open, id: this.tooltipId }))));
2493
+ }, anchor: this.ownerElement }, h("limel-tooltip-content", { key: 'afbd8bf04d7070fa8afe22f14496c2c24cdf222e', label: this.label, helperLabel: this.helperLabel, hotkey: this.hotkey, maxlength: this.maxlength, role: "tooltip", "aria-hidden": !this.open }))));
2311
2494
  }
2312
- setOwnerAriaDescribedby() {
2313
- var _a;
2314
- (_a = this.ownerElement) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-describedby', this.tooltipId);
2495
+ async updateDescription() {
2496
+ if (!this.ownerElement) {
2497
+ return;
2498
+ }
2499
+ const update = ++this.latestUpdate;
2500
+ const element = await getFocusTarget(this.ownerElement);
2501
+ if (!this.host.isConnected || update !== this.latestUpdate) {
2502
+ return;
2503
+ }
2504
+ if (element !== this.describedElement) {
2505
+ this.restoreDescription();
2506
+ this.describedElement = element;
2507
+ }
2508
+ const description = getDescription(element, this.label, this.helperLabel, this.hotkey);
2509
+ if (!description) {
2510
+ this.restoreDescription();
2511
+ return;
2512
+ }
2513
+ setDescription(element, this, description);
2514
+ }
2515
+ restoreDescription() {
2516
+ if (this.describedElement) {
2517
+ clearDescription(this.describedElement, this);
2518
+ }
2519
+ this.describedElement = undefined;
2315
2520
  }
2316
2521
  addListeners() {
2317
2522
  var _a, _b, _c, _d;
@@ -2328,6 +2533,17 @@ const Tooltip = class {
2328
2533
  (_d = this.ownerElement) === null || _d === void 0 ? void 0 : _d.removeEventListener('blur', this.hideTooltip);
2329
2534
  }
2330
2535
  get host() { return getElement(this); }
2536
+ static get watchers() { return {
2537
+ "label": [{
2538
+ "watchDescription": 0
2539
+ }],
2540
+ "helperLabel": [{
2541
+ "watchDescription": 0
2542
+ }],
2543
+ "hotkey": [{
2544
+ "watchDescription": 0
2545
+ }]
2546
+ }; }
2331
2547
  };
2332
2548
  Tooltip.style = tooltipCss();
2333
2549
 
@@ -2346,7 +2562,7 @@ const TooltipContent = class {
2346
2562
  const style = this.maxlength
2347
2563
  ? { '--tooltip-max-width-of-text': `${this.maxlength}ch` }
2348
2564
  : undefined;
2349
- return (h(Host, { key: 'e8299e2c990753eafd08af063a7828a11ea77cec', class: { 'has-column-layout': isLabelsTextLong }, style: style }, h("div", { key: '634f141ede25c9a3faa7ca7ce4f79b59c3c7ec8d', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
2565
+ return (h(Host, { key: '63d36a0e0f1fb0e4eb94c5c216c80299d82f63b2', class: { 'has-column-layout': isLabelsTextLong }, style: style }, h("div", { key: '6d4ecf58b8854edeece92a53065816292a2a39b9', class: "label" }, this.label), this.renderHelperLabel(), this.renderHotkey()));
2350
2566
  }
2351
2567
  renderHelperLabel() {
2352
2568
  if (!this.helperLabel) {
@@ -47,7 +47,7 @@ const IconButton = class {
47
47
  if (this.host.hasAttribute('tabindex')) {
48
48
  buttonAttributes.tabindex = this.host.getAttribute('tabindex');
49
49
  }
50
- return (h(Host, { key: 'e2fa10697beccc59cb8f332695e445522391649d', onClick: this.filterClickWhenDisabled }, h("button", Object.assign({ key: '2dc00d1341e9a458f5a7d060abd777c29cd333e0', "aria-label": this.label, disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
50
+ return (h(Host, { key: '0c2536bf5d9628ed72bc55ed768c4e5eb6396b68', onClick: this.filterClickWhenDisabled }, h("button", Object.assign({ key: '3c18c8f45209887df5c4f76ec635839f3cc147ab', "aria-label": this.label, disabled: this.disabled, id: this.tooltipId }, buttonAttributes), this.renderIcon(), this.renderTooltip(this.tooltipId))));
51
51
  }
52
52
  renderIcon() {
53
53
  var _a, _b;
@@ -159,7 +159,7 @@ const Icon = class {
159
159
  this.loadIcon(this.name);
160
160
  }
161
161
  render() {
162
- return h("div", { key: '3e5dc80a0e19e21988169509b33685bdb3005f1d', class: "container" });
162
+ return h("div", { key: '6d01432082e0272137562dd22ab309b75ce95504', class: "container" });
163
163
  }
164
164
  async loadIcon(name) {
165
165
  if (name === undefined || name === '') {
@@ -114,9 +114,9 @@ const InfoTile = class {
114
114
  this.checkProps((_d = this === null || this === void 0 ? void 0 : this.link) === null || _d === void 0 ? void 0 : _d.title);
115
115
  const link = this.disabled ? '#' : (_e = this.link) === null || _e === void 0 ? void 0 : _e.href;
116
116
  const rel = getRel((_f = this.link) === null || _f === void 0 ? void 0 : _f.target, (_g = this.link) === null || _g === void 0 ? void 0 : _g.rel);
117
- return (h(Host, { key: '60e7f038ad45210a2ef928287b2794052993a84b', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, class: { 'has-primary-slot-content': this.hasPrimarySlot } }, h("a", { key: 'd6c9828fa7aaea462e9fefaad921da51b2376738', title: (_h = this.link) === null || _h === void 0 ? void 0 : _h.title, href: link, target: (_j = this.link) === null || _j === void 0 ? void 0 : _j.target, rel: rel, tabindex: "0", "aria-label": extendedAriaLabel, "aria-disabled": this.disabled, "aria-busy": this.loading ? 'true' : 'false', "aria-live": "polite", class: {
117
+ return (h(Host, { key: 'a21ede478dc485edad5648d167cb5168a8560c85', onMouseEnter: this.handleMouseEnter, onMouseLeave: this.handleMouseLeave, class: { 'has-primary-slot-content': this.hasPrimarySlot } }, h("a", { key: '694ed4b61590373e448f63d0814a91d506db9caf', title: (_h = this.link) === null || _h === void 0 ? void 0 : _h.title, href: link, target: (_j = this.link) === null || _j === void 0 ? void 0 : _j.target, rel: rel, tabindex: "0", "aria-label": extendedAriaLabel, "aria-disabled": this.disabled, "aria-busy": this.loading ? 'true' : 'false', "aria-live": "polite", class: {
118
118
  'is-clickable': !!((_k = this.link) === null || _k === void 0 ? void 0 : _k.href) && !this.disabled,
119
- } }, this.renderIcon(), this.renderProgress(), h("slot", { key: '045db9fdf61d87bd8e92bb299d20b3f21a980634', name: "primary", onSlotchange: this.updateHasPrimarySlotContent }), h("div", { key: '78ddf4323cb56a791a6d3749b653716afd33ccba', class: "value-group" }, this.renderPrefix(), h("div", { key: 'b84ba69a5720088e3207bceb02cc8fd84d4dbdd2', class: "value-and-suffix" }, this.renderValue(), this.renderSuffix()), this.renderSpinner()), this.renderLabel(), h("limel-3d-hover-effect-glow", { key: 'e33b280c08673989e33d99b982499b401cd505f0' })), this.renderNotification()));
119
+ } }, this.renderIcon(), this.renderProgress(), h("slot", { key: '753e0576a88b10a3a981e0e46ba266266d84aec6', name: "primary", onSlotchange: this.updateHasPrimarySlotContent }), h("div", { key: '0d125992ed03f4aedcc8b82d47929bd45a268c80', class: "value-group" }, this.renderPrefix(), h("div", { key: 'bde1b5e9cd8fe539d29f267d8b1675bcbc8dbe0b', class: "value-and-suffix" }, this.renderValue(), this.renderSuffix()), this.renderSpinner()), this.renderLabel(), h("limel-3d-hover-effect-glow", { key: '6263b7a134238981c5ce6cdc5dc4321cc7ac43d1' })), this.renderNotification()));
120
120
  }
121
121
  checkProps(propValue) {
122
122
  return propValue ? propValue + ' ' : '';
@@ -129,9 +129,9 @@ const ListItemComponent = class {
129
129
  // also keep for `menuitem` for visual state consistency
130
130
  ariaProps['aria-selected'] = this.selected ? 'true' : 'false';
131
131
  }
132
- return (h(Host, Object.assign({ key: '005e6e5fa87bab94b1d3c00970ed4efff409de1b', role: this.getHostRole(), class: {
132
+ return (h(Host, Object.assign({ key: '628910c7216db5d7580fb139475210d0a05c55db', role: this.getHostRole(), class: {
133
133
  'has-primary-component': !!((_a = this.primaryComponent) === null || _a === void 0 ? void 0 : _a.name),
134
- } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: '351438e788b747b86a9700ab1a8c700532aee409', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
134
+ } }, ariaProps), this.renderRadioButton(), this.renderCheckbox(), this.renderIcon(), this.renderImage(), this.renderPrimaryComponent(), h("div", { key: 'acb5d43d2690515d88146b5592a9bfd32225ab88', class: "text" }, this.renderLabel(), this.renderDescription()), this.renderActionMenu(this.actions)));
135
135
  }
136
136
  /**
137
137
  * Returns a stable reference for the provided actions array to avoid
@@ -1191,7 +1191,7 @@ const Markdown = class {
1191
1191
  this.cleanupImageIntersectionObserver();
1192
1192
  }
1193
1193
  render() {
1194
- return (h(Host, { key: 'cb9496c27479dce2acf8005bff7c780190f923ba' }, h("div", { key: 'a48bd187c4b08db7d7b2e105fe4b1c92089d1a57', id: "markdown", ref: (el) => (this.rootElement = el) })));
1194
+ return (h(Host, { key: 'a1883ae4c80a775bc1dbdd9f2b993ab4af8c4cba' }, h("div", { key: 'd8a1cd8f5a102a209fa89f8baf0b08912ead1059', id: "markdown", ref: (el) => (this.rootElement = el) })));
1195
1195
  }
1196
1196
  setupImageIntersectionObserver() {
1197
1197
  if (this.lazyLoadImages) {
@@ -42,7 +42,7 @@ const MasonryLayout = class {
42
42
  const style = {
43
43
  height: `${this.containerHeight}rem`,
44
44
  };
45
- return (h(Host, { key: 'eac58da6cc41749eaaae8ca78d9940132c632fba', style: style, class: { 'is-laid-out': this.hasRendered } }, h("slot", { key: 'c551e446908efa397c665301f121a02c2efb068c' })));
45
+ return (h(Host, { key: '4739b8085adca277a42f36478b1692970e2a8675', style: style, class: { 'is-laid-out': this.hasRendered } }, h("slot", { key: '14290465ddb5ea67ff9d2883904f3298900151ee' })));
46
46
  }
47
47
  setupObservers() {
48
48
  this.resizeObserver = new ResizeObserver(() => {
@@ -16,7 +16,7 @@ const MenuItemMeta = class {
16
16
  this.showChevron = false;
17
17
  }
18
18
  render() {
19
- return (h(Host, { key: '6dbc3a71962933c5cfdf415096e41f90e84e7740' }, this.renderCommandText(), this.renderBadge(), this.renderChevron()));
19
+ return (h(Host, { key: '468078fa475182bea0474fa0806bd54bb00db4c6' }, this.renderCommandText(), this.renderBadge(), this.renderChevron()));
20
20
  }
21
21
  renderCommandText() {
22
22
  if (this.hotkey) {
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host } from './index-BU9IJqli.js';
2
2
  import { t as translations } from './translations-UrIr-5_D.js';
3
- import { a as ENTER } from './keycodes-DQ5DmW_Y.js';
3
+ import { a as ENTER } from './keycodes-Bu6-QXrA.js';
4
4
  import { p as pageFromInput } from './pagination.util-CSC2LJ7P.js';
5
5
  import './language-ChagAaNf.js';
6
6
 
@@ -287,7 +287,7 @@ const Pagination = class {
287
287
  }
288
288
  render() {
289
289
  const { slots } = this.view;
290
- return (h(Host, { key: 'f2218cfa9c631d93e39ecee3a9823c3dd73ba505' }, h("nav", { key: '7b1989a9abdbf254b66d3d2780583749a3ecd44e', "aria-label": this.translate('pagination.label'), "aria-busy": this.loading ? 'true' : null }, this.renderArrow('previous'), slots.map((slot, index) => this.renderSlot(slot, index)), this.renderArrow('next')), h("span", { key: 'ad9af64cb7885d6bb6227d5bb6897a267c1a598e', class: "live-region", "aria-live": "polite" }, this.liveMessage)));
290
+ return (h(Host, { key: 'dce4e827fbbaba2f2423b7623caa1371b51a7750' }, h("nav", { key: '18e75c58c919f78a5c19986d3a42612c0b125a55', "aria-label": this.translate('pagination.label'), "aria-busy": this.loading ? 'true' : null }, this.renderArrow('previous'), slots.map((slot, index) => this.renderSlot(slot, index)), this.renderArrow('next')), h("span", { key: '1aea124497cbec584bdb1977c7371b391f5576a2', class: "live-region", "aria-live": "polite" }, this.liveMessage)));
291
291
  }
292
292
  /**
293
293
  * Without a count we know where the user is but not how far the set goes,
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as getElement } from './index-BU9IJqli.js';
2
2
  import { t as translations } from './translations-UrIr-5_D.js';
3
3
  import { i as isDescendant } from './dom-B9Ofc5RB.js';
4
- import { E as ESCAPE, T as TAB, a as ENTER, A as ARROW_UP, b as ARROW_DOWN } from './keycodes-DQ5DmW_Y.js';
4
+ import { E as ESCAPE, T as TAB, a as ENTER, A as ARROW_UP, b as ARROW_DOWN } from './keycodes-Bu6-QXrA.js';
5
5
  import { c as createRandomString } from './random-string-BrjD-ITe.js';
6
6
  import { a as getIconFillColor, g as getIconName } from './get-icon-props-CgNJbSP4.js';
7
7
  import { d as debounce } from './debounce-B67JMchz.js';
@@ -195,7 +195,7 @@ const Picker = class {
195
195
  props.maxItems = 1;
196
196
  }
197
197
  return [
198
- h("limel-chip-set", Object.assign({ key: '5045ffdd72efce3465448fb8e1ae3044c32ffea2', type: "input", inputType: "search", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, invalid: this.invalid, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, language: this.language, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, emptyInputOnChange: false, clearAllButton: this.multiple && !this.chipSetEditMode }, props)),
198
+ h("limel-chip-set", Object.assign({ key: '3bd160f27baba3f2b6cfdb75bac451b87a25f75a', type: "input", inputType: "search", label: this.label, helperText: this.helperText, leadingIcon: this.leadingIcon, value: this.chips, disabled: this.disabled, invalid: this.invalid, delimiter: this.renderDelimiter(), readonly: this.readonly, required: this.required, searchLabel: this.searchLabel, language: this.language, onInput: this.handleTextInput, onKeyDown: this.handleInputKeyDown, onChange: this.handleChange, onInteract: this.handleInteract, onStartEdit: this.handleInputFieldFocus, onStopEdit: this.handleStopEditAndBlur, emptyInputOnBlur: false, emptyInputOnChange: false, clearAllButton: this.multiple && !this.chipSetEditMode }, props)),
199
199
  this.renderDropdown(),
200
200
  ];
201
201
  }
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, a as getElement } from './index-BU9IJqli.js';
2
2
  import { c as createRandomString } from './random-string-BrjD-ITe.js';
3
- import { E as ESCAPE } from './keycodes-DQ5DmW_Y.js';
3
+ import { E as ESCAPE } from './keycodes-Bu6-QXrA.js';
4
4
  import { f as focusTriggerElement, z as zipObject } from './focus-trigger-element-BOFcjLq3.js';
5
5
  import './_assignValue-CEFvyZxO.js';
6
6
  import './_defineProperty-C69Btzid.js';
@@ -133,7 +133,7 @@ const Popover = class {
133
133
  render() {
134
134
  const cssProperties = this.getCssProperties();
135
135
  const popoverZIndex = getComputedStyle(this.host).getPropertyValue('--popover-z-index');
136
- return (h("div", { key: '5726846ff3f4ccc50067c63cab387ce9efa34e9b', class: "trigger-anchor" }, h("slot", { key: '9bc0082641e95e2345b0ae3eb548477827420e85', name: "trigger", ref: this.setTriggerRef }), h("limel-portal", { key: 'fb247bd41c2d0f62f598a0e7d21776661490c485', visible: this.open, containerId: this.portalId, containerStyle: { 'z-index': popoverZIndex }, openDirection: this.openDirection }, h("limel-popover-surface", { key: '808155682967864b09f4344106cc0d1106f9e2c5', contentCollection: this.host.children, style: cssProperties }))));
136
+ return (h("div", { key: 'a819793a1a82680cb7ce15239366c57c5e8300cc', class: "trigger-anchor" }, h("slot", { key: 'ddd5f786c93939afae68e0a35446be8470bfe638', name: "trigger", ref: this.setTriggerRef }), h("limel-portal", { key: '369a832fab6a9e3438202ed1c3dbb6fe9b5a5f39', visible: this.open, containerId: this.portalId, containerStyle: { 'z-index': popoverZIndex }, openDirection: this.openDirection }, h("limel-popover-surface", { key: '1b583fc37aa48fb67ff2b40f8c2e88cb7f6db88f', contentCollection: this.host.children, style: cssProperties }))));
137
137
  }
138
138
  globalClickListener(event) {
139
139
  const element = event.target;
@@ -177,7 +177,7 @@ const PopoverSurface = class {
177
177
  this.appendElement();
178
178
  }
179
179
  render() {
180
- return h("div", { key: '246fdc8fe255ae881e4ece6ae20bbb7f34a827b5', class: "limel-popover-surface", tabindex: "0" });
180
+ return h("div", { key: '0efb74a821ff0c1919a048ee08209befdf5582c0', class: "limel-popover-surface", tabindex: "0" });
181
181
  }
182
182
  appendElement() {
183
183
  const portalContainer = this.host.shadowRoot.querySelector('.limel-popover-surface');
@@ -28566,7 +28566,7 @@ const ProsemirrorAdapter = class {
28566
28566
  (_e = this.view) === null || _e === void 0 ? void 0 : _e.destroy();
28567
28567
  }
28568
28568
  render() {
28569
- return (h(Host, { key: '16ef71481dea1fcefa1735e5a6350f47bf1d78ca', onFocus: this.handleFocus }, h("div", { key: '3b6598d8efd561afb6191d3d650f3a32e86f6904', id: "editor" }), this.renderToolbar(), this.renderLinkMenu()));
28569
+ return (h(Host, { key: '6c92f1576fdd862e592d0ccf6779c6d3da806808', onFocus: this.handleFocus }, h("div", { key: '0b1b90a7c68b62ecffed21f4c49fced5333f0d83', id: "editor" }), this.renderToolbar(), this.renderLinkMenu()));
28570
28570
  }
28571
28571
  renderToolbar() {
28572
28572
  if (this.actionBarItems.length === 0 || this.ui === 'no-toolbar') {
@@ -24,7 +24,7 @@ const RadioButtonGroup = class {
24
24
  };
25
25
  }
26
26
  render() {
27
- return (h("limel-list", { key: '1c3fef764fd84f4e84d38a4dbd04f2272fb73775', items: this.createItems(), type: "radio", badgeIcons: this.badgeIcons, maxLinesSecondaryText: this.maxLinesSecondaryText, onChange: this.handleChange }));
27
+ return (h("limel-list", { key: '9c12503b398b5c5d35d47d554b64219baf75d21b', items: this.createItems(), type: "radio", badgeIcons: this.badgeIcons, maxLinesSecondaryText: this.maxLinesSecondaryText, onChange: this.handleChange }));
28
28
  }
29
29
  createItems() {
30
30
  return this.items.map((option) => {
@@ -7,12 +7,12 @@ const RadioButtonComponent = class {
7
7
  registerInstance(this, hostRef);
8
8
  }
9
9
  render() {
10
- return (h(Host, { key: '93e5adb101fd866a1c56e0233b32eddef6617a08', class: {
10
+ return (h(Host, { key: '7cdb4d6a667a0afe8ed668cc32b4a38c39817d75', class: {
11
11
  'boolean-input': true,
12
12
  'radio-button': true,
13
13
  checked: this.checked,
14
14
  disabled: this.disabled,
15
- } }, h("input", { key: '816bc49ab2f8bd6fcbaa8d10c7b5250fd64aa044', type: "radio", id: this.id, checked: this.checked, disabled: this.disabled, onChange: this.onChange }), h("div", { key: 'e4656777d40210f46c5f28deace470a90f41cfdf', class: "box" }), h("label", { key: 'c27a557fea46c0951a0aed27df40a61b30809550', class: "boolean-input-label", htmlFor: this.id }, this.label)));
15
+ } }, h("input", { key: 'f51cfa414dd1e2f50ea211a690a55dc7525d5501', type: "radio", id: this.id, checked: this.checked, disabled: this.disabled, onChange: this.onChange }), h("div", { key: 'a6ec3d879e3410c9973a1b8c66469a852e4e4995', class: "box" }), h("label", { key: '978984158d1c8344da8bcc6a4e3d7aa8003f75b2', class: "boolean-input-label", htmlFor: this.id }, this.label)));
16
16
  }
17
17
  };
18
18
  RadioButtonComponent.style = radioButtonCss();