@aceshooting/lyra-ui 26.0.0 → 27.0.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 (1475) hide show
  1. package/CHANGELOG.md +63 -675
  2. package/README.md +281 -1130
  3. package/design-tokens.json +1 -1
  4. package/dist/ai/types.d.ts +5 -5
  5. package/dist/autoloader.js +1 -1
  6. package/dist/cli/agent-registry.mjs +1 -0
  7. package/dist/cli/component-inventory.mjs +1 -1
  8. package/dist/cli/init-agents.mjs +40 -0
  9. package/dist/cli/is-main-module.mjs +1 -0
  10. package/dist/cli/lyra-rename-ledger.mjs +1 -1
  11. package/dist/cli/lyra-ui.mjs +11 -0
  12. package/dist/cli/migrate-wa.mjs +4 -2
  13. package/dist/cli/migration-contract.json +1 -1
  14. package/dist/cli/migration-renames.mjs +1 -1
  15. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.d.ts +1 -1
  16. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +2 -2
  17. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
  18. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +2 -2
  19. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
  20. package/dist/components/agent-tools/connector-manager/connector-manager.class.d.ts +4 -2
  21. package/dist/components/agent-tools/connector-manager/connector-manager.class.js +6 -3
  22. package/dist/components/agent-tools/connector-manager/connector-manager.d.ts +1 -1
  23. package/dist/components/agent-tools/connector-manager/connector-manager.js +1 -1
  24. package/dist/components/agent-tools/connector-manager/connector-manager.styles.js +1 -1
  25. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +2 -2
  26. package/dist/components/agent-tools/context-inspector/context-inspector.class.js +6 -6
  27. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +8 -33
  28. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +27 -4
  29. package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts +1 -1
  30. package/dist/components/agent-tools/eval-dataset/eval-dataset.js +1 -1
  31. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +1 -1
  32. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +1 -1
  33. package/dist/components/agent-tools/permission-grant/permission-grant.class.d.ts +4 -2
  34. package/dist/components/agent-tools/permission-grant/permission-grant.class.js +6 -3
  35. package/dist/components/agent-tools/permission-grant/permission-grant.d.ts +1 -1
  36. package/dist/components/agent-tools/permission-grant/permission-grant.js +1 -1
  37. package/dist/components/agent-tools/permission-grant/permission-grant.styles.js +1 -1
  38. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +1 -1
  39. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +2 -2
  40. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +3 -1
  41. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +1 -1
  42. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
  43. package/dist/components/agent-tools/task-list/task-list.class.d.ts +2 -2
  44. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  45. package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
  46. package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
  47. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +15 -9
  48. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
  49. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.d.ts +2 -2
  50. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.js +1 -1
  51. package/dist/components/agent-tools/tool-call-block/tool-call-block.styles.js +1 -1
  52. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -7
  53. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +1 -1
  54. package/dist/components/agent-tools/tool-param-form/tool-param-constraints.js +1 -1
  55. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -5
  56. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
  57. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts +2 -5
  58. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +1 -1
  59. package/dist/components/agent-tools/tool-result-view/registry.d.ts +4 -12
  60. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +2 -2
  61. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
  62. package/dist/components/agent-tools/tool-status.d.ts +7 -0
  63. package/dist/components/agent-tools/tool-status.styles.js +1 -0
  64. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
  65. package/dist/components/agent-tools/tool-timeline/tool-timeline.d.ts +1 -1
  66. package/dist/components/agent-tools/tool-timeline/tool-timeline.js +1 -1
  67. package/dist/components/agent-tools/trace-tree/trace-tree.class.js +2 -2
  68. package/dist/components/charts/chart/box-plot.class.d.ts +1 -1
  69. package/dist/components/charts/chart/box-plot.class.js +1 -1
  70. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  71. package/dist/components/charts/chart/chart-surface-shared.js +1 -0
  72. package/dist/components/charts/chart/chart-surface.styles.js +1 -1
  73. package/dist/components/charts/chart/chart-table-sampling.js +1 -1
  74. package/dist/components/charts/chart/chart.class.d.ts +2 -2
  75. package/dist/components/charts/chart/chart.class.js +2 -2
  76. package/dist/components/charts/chart/chart.styles.js +1 -1
  77. package/dist/components/charts/chart/histogram.class.js +1 -1
  78. package/dist/components/charts/chart/lite-chart.class.d.ts +1 -1
  79. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  80. package/dist/components/conversation/catalog-picker-element.d.ts +28 -13
  81. package/dist/components/conversation/catalog-picker-element.js +1 -1
  82. package/dist/components/conversation/catalog-picker-trigger.styles.js +1 -0
  83. package/dist/components/conversation/chat-message/chat-message.class.js +1 -1
  84. package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
  85. package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +1 -1
  86. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  87. package/dist/components/conversation/code-block/code-block-shared.js +1 -1
  88. package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
  89. package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
  90. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  91. package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
  92. package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
  93. package/dist/components/conversation/model-select/model-select.class.d.ts +7 -34
  94. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  95. package/dist/components/conversation/model-select/model-select.styles.js +1 -1
  96. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +7 -2
  97. package/dist/components/conversation/prompt-input/prompt-input.class.js +5 -2
  98. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
  99. package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
  100. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  101. package/dist/components/conversation/stream-status/stream-status.class.js +1 -1
  102. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +10 -27
  103. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  104. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  105. package/dist/components/data/condition-builder/condition-builder.class.js +1 -1
  106. package/dist/components/data/data-grid/data-grid.class.js +1 -1
  107. package/dist/components/data/document-library/document-library.class.d.ts +2 -2
  108. package/dist/components/data/document-library/document-library.class.js +2 -2
  109. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +3 -3
  110. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  111. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  112. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +1 -1
  113. package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
  114. package/dist/components/data/table/table.class.d.ts +10 -195
  115. package/dist/components/data/table/table.class.js +2 -2
  116. package/dist/components/data/table/table.styles.js +1 -1
  117. package/dist/components/data/timeline/timeline.class.js +1 -1
  118. package/dist/components/data/tree/tree.class.js +1 -1
  119. package/dist/components/forms/button/button.class.d.ts +3 -3
  120. package/dist/components/forms/button/button.class.js +1 -1
  121. package/dist/components/forms/catalog-picker-base.js +1 -1
  122. package/dist/components/forms/checkbox/checkbox.class.d.ts +13 -34
  123. package/dist/components/forms/checkbox/checkbox.class.js +3 -3
  124. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +3 -3
  125. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  126. package/dist/components/forms/code-editor/code-editor.class.js +1 -1
  127. package/dist/components/forms/color-picker/color-picker.class.js +1 -1
  128. package/dist/components/forms/combobox/combobox.class.d.ts +6 -6
  129. package/dist/components/forms/combobox/combobox.class.js +3 -2
  130. package/dist/components/forms/combobox/option.class.d.ts +3 -0
  131. package/dist/components/forms/combobox/option.class.js +2 -2
  132. package/dist/components/forms/date-picker/date-input.class.d.ts +10 -11
  133. package/dist/components/forms/date-picker/date-input.class.js +4 -3
  134. package/dist/components/forms/date-picker/date-input.styles.js +1 -1
  135. package/dist/components/forms/date-picker/date-picker.class.d.ts +6 -0
  136. package/dist/components/forms/date-picker/date-picker.class.js +1 -1
  137. package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
  138. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  139. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  140. package/dist/components/forms/input/input.styles.js +1 -1
  141. package/dist/components/forms/input/time-input.class.d.ts +1 -1
  142. package/dist/components/forms/input/time-input.class.js +1 -1
  143. package/dist/components/forms/input/time-input.styles.js +1 -1
  144. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +5 -5
  145. package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
  146. package/dist/components/forms/otp-input/otp-input.class.js +1 -0
  147. package/dist/components/forms/phone-input/phone-input.class.d.ts +7 -9
  148. package/dist/components/forms/phone-input/phone-input.class.js +6 -5
  149. package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
  150. package/dist/components/forms/radio/radio-group.class.d.ts +4 -4
  151. package/dist/components/forms/radio/radio-group.class.js +1 -1
  152. package/dist/components/forms/radio/radio.class.d.ts +11 -19
  153. package/dist/components/forms/radio/radio.class.js +2 -2
  154. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +3 -5
  155. package/dist/components/forms/rubric-form/rubric-form.class.js +1 -1
  156. package/dist/components/forms/select/select.class.d.ts +5 -7
  157. package/dist/components/forms/select/select.class.js +3 -2
  158. package/dist/components/forms/slider/slider.class.d.ts +3 -3
  159. package/dist/components/forms/slider/slider.class.js +1 -1
  160. package/dist/components/forms/slider/slider.styles.js +1 -1
  161. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  162. package/dist/components/forms/switch/switch.class.d.ts +11 -36
  163. package/dist/components/forms/switch/switch.class.js +2 -2
  164. package/dist/components/forms/textarea/textarea.class.js +1 -0
  165. package/dist/components/forms/textarea/textarea.styles.js +1 -1
  166. package/dist/components/forms/time-range/time-range.class.d.ts +5 -3
  167. package/dist/components/forms/time-range/time-range.class.js +1 -1
  168. package/dist/components/forms/time-range/time-range.styles.js +1 -1
  169. package/dist/components/forms/toggle-group/toggle-group.class.d.ts +2 -2
  170. package/dist/components/forms/toggle-group/toggle-group.class.js +1 -1
  171. package/dist/components/forms/token-input/token-input.class.d.ts +3 -3
  172. package/dist/components/forms/token-input/token-input.class.js +1 -1
  173. package/dist/components/layout/app-rail/app-rail-item.class.js +1 -1
  174. package/dist/components/layout/app-rail/app-rail.class.d.ts +2 -2
  175. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  176. package/dist/components/layout/breadcrumb/breadcrumb-item.class.js +1 -1
  177. package/dist/components/layout/card/card.class.js +1 -1
  178. package/dist/components/layout/carousel/carousel.class.js +1 -1
  179. package/dist/components/layout/command-palette/command-palette.class.d.ts +6 -2
  180. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  181. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  182. package/dist/components/layout/details/accordion.class.js +1 -1
  183. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +1 -1
  184. package/dist/components/layout/dock-panel/dock-panel.class.js +1 -1
  185. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
  186. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -2
  187. package/dist/components/layout/filter-bar/filter-bar.class.js +18 -15
  188. package/dist/components/layout/filter-bar/filter-bar.styles.js +1 -1
  189. package/dist/components/layout/menu/menu.class.d.ts +1 -1
  190. package/dist/components/layout/menu/menu.class.js +1 -1
  191. package/dist/components/layout/multi-split/multi-split.class.d.ts +1 -1
  192. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  193. package/dist/components/layout/navigation-menu-item/navigation-menu-item.class.js +1 -1
  194. package/dist/components/layout/page/page.class.d.ts +1 -1
  195. package/dist/components/layout/page/page.class.js +1 -1
  196. package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +1 -1
  197. package/dist/components/layout/responsive-panel/responsive-panel.class.js +1 -1
  198. package/dist/components/layout/scroller/scroller.class.js +1 -1
  199. package/dist/components/layout/segmented/segmented.class.js +1 -1
  200. package/dist/components/layout/stepper/stepper.class.js +2 -2
  201. package/dist/components/layout/tab-group/tab-group.class.js +1 -1
  202. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +1 -1
  203. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  204. package/dist/components/layout/widget/widget.class.d.ts +1 -1
  205. package/dist/components/layout/widget/widget.class.js +3 -3
  206. package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -0
  207. package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
  208. package/dist/components/media/file-input/file-input.class.d.ts +3 -3
  209. package/dist/components/media/file-input/file-input.class.js +2 -2
  210. package/dist/components/media/file-input/file-intake.d.ts +5 -1
  211. package/dist/components/media/file-input/file-intake.js +1 -1
  212. package/dist/components/media/flag/flag.class.js +1 -1
  213. package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
  214. package/dist/components/media/lightbox/lightbox.class.js +1 -1
  215. package/dist/components/media/map/map.class.js +2 -2
  216. package/dist/components/media/qr-code/qr-code-loader.js +1 -1
  217. package/dist/components/media/qr-code/qr-code.class.js +1 -1
  218. package/dist/components/media/video/video.class.js +3 -3
  219. package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
  220. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +2 -2
  221. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +1 -1
  222. package/dist/components/overlays/alert/alert.class.d.ts +3 -3
  223. package/dist/components/overlays/alert/alert.class.js +1 -1
  224. package/dist/components/overlays/badge/badge.class.d.ts +2 -2
  225. package/dist/components/overlays/badge/badge.class.js +1 -1
  226. package/dist/components/overlays/badge/tag.class.d.ts +3 -1
  227. package/dist/components/overlays/badge/tag.class.js +3 -2
  228. package/dist/components/overlays/badge/tag.styles.js +1 -1
  229. package/dist/components/overlays/callout/callout.class.d.ts +2 -2
  230. package/dist/components/overlays/callout/callout.class.js +1 -1
  231. package/dist/components/overlays/chip/chip.class.d.ts +4 -2
  232. package/dist/components/overlays/chip/chip.class.js +2 -2
  233. package/dist/components/overlays/dialog/dialog.class.d.ts +1 -1
  234. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  235. package/dist/components/overlays/overlay/overlay-shared.d.ts +9 -0
  236. package/dist/components/overlays/overlay/overlay-shared.js +1 -1
  237. package/dist/components/overlays/overlay/popover.class.d.ts +2 -2
  238. package/dist/components/overlays/overlay/popover.class.js +1 -1
  239. package/dist/components/overlays/overlay/tooltip.class.d.ts +1 -1
  240. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  241. package/dist/components/overlays/progress/progress-bar.class.d.ts +5 -22
  242. package/dist/components/overlays/progress/progress-bar.class.js +4 -4
  243. package/dist/components/overlays/progress/progress-base.d.ts +25 -0
  244. package/dist/components/overlays/progress/progress-base.js +1 -0
  245. package/dist/components/overlays/progress/progress-ring.class.d.ts +3 -24
  246. package/dist/components/overlays/progress/progress-ring.class.js +4 -4
  247. package/dist/components/overlays/rating/rating.class.d.ts +3 -3
  248. package/dist/components/overlays/rating/rating.class.js +1 -1
  249. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.d.ts +4 -2
  250. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +4 -4
  251. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +1 -1
  252. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +1 -1
  253. package/dist/components/retrieval/graph/graph-canvas.js +1 -1
  254. package/dist/components/retrieval/graph/graph-model.js +1 -1
  255. package/dist/components/retrieval/graph/graph.class.d.ts +1 -3
  256. package/dist/components/retrieval/graph/graph.class.js +1 -1
  257. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +1 -1
  258. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
  259. package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +1 -1
  260. package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +2 -2
  261. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +1 -1
  262. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +1 -0
  263. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -1
  264. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -2
  265. package/dist/components/retrieval/memory-panel/memory-panel.class.js +2 -2
  266. package/dist/components/retrieval/memory-panel/memory-panel.styles.js +1 -1
  267. package/dist/components/retrieval/node-palette/node-palette.class.js +1 -1
  268. package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
  269. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +1 -1
  270. package/dist/components/retrieval/research-progress/research-progress.class.d.ts +5 -1
  271. package/dist/components/retrieval/research-progress/research-progress.class.js +3 -3
  272. package/dist/components/retrieval/research-progress/research-progress.d.ts +1 -1
  273. package/dist/components/retrieval/research-progress/research-progress.js +1 -1
  274. package/dist/components/retrieval/research-progress/research-progress.styles.js +1 -1
  275. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +6 -2
  276. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +2 -2
  277. package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
  278. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +2 -2
  279. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +3 -2
  280. package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +3 -3
  281. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +6 -2
  282. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +2 -2
  283. package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +1 -1
  284. package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
  285. package/dist/components/utility/copy-button/copy-button.class.js +1 -1
  286. package/dist/components/utility/diff-view/diff-view.class.js +1 -1
  287. package/dist/components/utility/export-button/export-button.class.d.ts +1 -1
  288. package/dist/components/utility/export-button/export-button.class.js +1 -1
  289. package/dist/components/utility/icon/dompurify-loader.js +1 -1
  290. package/dist/components/utility/json-viewer/json-viewer.class.js +2 -2
  291. package/dist/components/utility/known-date/known-date.class.js +1 -1
  292. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  293. package/dist/components/utility/mutation-observer/mutation-observer.class.js +1 -1
  294. package/dist/components/utility/random-content/random-content.class.d.ts +1 -1
  295. package/dist/components/utility/random-content/random-content.class.js +1 -1
  296. package/dist/components/utility/tour/tour.class.d.ts +1 -1
  297. package/dist/components/utility/tour/tour.class.js +1 -1
  298. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  299. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +1 -1
  300. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +3 -1
  301. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
  302. package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts +3 -1
  303. package/dist/components/viewers/contact-viewer/contact-viewer.class.js +1 -1
  304. package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +2 -2
  305. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +4 -18
  306. package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +1 -1
  307. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -2
  308. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +4 -18
  309. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
  310. package/dist/components/viewers/document-preview/document-preview.class.d.ts +1 -1
  311. package/dist/components/viewers/document-preview/document-preview.class.js +3 -16
  312. package/dist/components/viewers/document-viewer/ooxml-part-guard.js +1 -0
  313. package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
  314. package/dist/components/viewers/docx-viewer/docx-resource-guard.js +1 -1
  315. package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts +3 -3
  316. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +3 -3
  317. package/dist/components/viewers/ebook-viewer/ebook-loader.js +1 -1
  318. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +1 -1
  319. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -1
  320. package/dist/components/viewers/ebook-viewer/epub-resource-guard.js +1 -1
  321. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +1 -1
  322. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  323. package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +1 -4
  324. package/dist/components/viewers/geojson-view/geojson-viewer.class.js +1 -1
  325. package/dist/components/viewers/highlight-layer/highlight-layer.class.js +1 -1
  326. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +3 -1
  327. package/dist/components/viewers/html-viewer/html-viewer.class.js +1 -1
  328. package/dist/components/viewers/html-viewer/html-viewer.styles.js +1 -1
  329. package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
  330. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
  331. package/dist/components/viewers/page-rail/page-rail.class.js +2 -2
  332. package/dist/components/viewers/passive-markup.js +1 -1
  333. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  334. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +2 -2
  335. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  336. package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
  337. package/dist/components/viewers/pptx-viewer/pptx-resource-guard.js +1 -1
  338. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
  339. package/dist/components/viewers/region-highlight-layer.js +15 -2
  340. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +2 -2
  341. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +4 -18
  342. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +1 -1
  343. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +1 -1
  344. package/dist/components/viewers/svg-viewer/svg-viewer.class.js +2 -15
  345. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
  346. package/dist/components/viewers/table-viewer-shared.js +15 -1
  347. package/dist/components/viewers/table-viewer-shared.styles.js +1 -0
  348. package/dist/events.d.ts +19 -18
  349. package/dist/framework-types.d.ts +1 -1
  350. package/dist/internal/accessibility-visibility.d.ts +3 -1
  351. package/dist/internal/accessibility-visibility.js +1 -1
  352. package/dist/internal/accessible-text-controller.js +1 -1
  353. package/dist/internal/active-element.d.ts +11 -0
  354. package/dist/internal/active-element.js +1 -1
  355. package/dist/internal/adjacent-runs.js +1 -1
  356. package/dist/internal/approval-wait-until.d.ts +7 -0
  357. package/dist/internal/approval-wait-until.js +1 -0
  358. package/dist/internal/aria-controls.js +1 -1
  359. package/dist/internal/catalog-picker.d.ts +2 -2
  360. package/dist/internal/catalog-picker.js +1 -1
  361. package/dist/internal/composed-tree.d.ts +18 -0
  362. package/dist/internal/composed-tree.js +1 -1
  363. package/dist/internal/copy-feedback.js +1 -0
  364. package/dist/internal/css-length.js +1 -1
  365. package/dist/internal/css-motion-time.js +1 -1
  366. package/dist/internal/css-number.js +1 -0
  367. package/dist/internal/default-strings.generated.js +1 -1
  368. package/dist/internal/deferred-focus-return.d.ts +33 -0
  369. package/dist/internal/deferred-focus-return.js +1 -1
  370. package/dist/internal/fixed-containing-block.js +1 -1
  371. package/dist/internal/form-associated.d.ts +38 -2
  372. package/dist/internal/form-associated.js +1 -1
  373. package/dist/internal/form-control-element.d.ts +13 -0
  374. package/dist/internal/form-control-element.js +1 -0
  375. package/dist/internal/form-control.styles.js +1 -1
  376. package/dist/internal/inherited-attribute-hub.js +1 -1
  377. package/dist/internal/locale-loaders.generated.js +1 -1
  378. package/dist/internal/localization-types.d.ts +1 -1
  379. package/dist/internal/localization.js +1 -1
  380. package/dist/internal/modal-surface-controller.js +1 -1
  381. package/dist/internal/object-guards.js +1 -1
  382. package/dist/internal/optional-peer-capabilities.d.ts +3 -1
  383. package/dist/internal/optional-peer-capabilities.js +1 -1
  384. package/dist/internal/orientation-breakpoint.js +1 -1
  385. package/dist/internal/overlay-manager.d.ts +6 -1
  386. package/dist/internal/overlay-manager.js +1 -1
  387. package/dist/internal/overlay-stack.d.ts +7 -3
  388. package/dist/internal/overlay-stack.js +1 -1
  389. package/dist/internal/package-metadata.js +1 -1
  390. package/dist/internal/persisted-restore.js +1 -1
  391. package/dist/internal/popup-controller.js +1 -0
  392. package/dist/internal/rendered-tree-traversal.d.ts +3 -1
  393. package/dist/internal/rendered-tree-traversal.js +1 -1
  394. package/dist/internal/retry-forwarder.js +1 -0
  395. package/dist/internal/roving-toolbar.js +1 -1
  396. package/dist/internal/scoped-definitions.generated.js +1 -1
  397. package/dist/internal/score-tiers.d.ts +4 -0
  398. package/dist/internal/score-tiers.js +1 -0
  399. package/dist/internal/semantic-variant.d.ts +7 -0
  400. package/dist/internal/semantic-variant.js +1 -0
  401. package/dist/internal/shared-unions.d.ts +1 -1
  402. package/dist/internal/viewer-search.js +1 -1
  403. package/dist/lyra.d.ts +1 -1
  404. package/dist/testing/happy-dom-shims.d.ts +18 -0
  405. package/dist/testing/happy-dom-shims.js +1 -1
  406. package/dist/testing/index.d.ts +1 -1
  407. package/dist/testing/index.js +1 -1
  408. package/llms/components/lr-accordion-item.md +1 -1
  409. package/llms/components/lr-accordion.md +1 -1
  410. package/llms/components/lr-alert.md +2 -2
  411. package/llms/components/lr-app-rail-group.md +1 -1
  412. package/llms/components/lr-app-rail-item.md +1 -1
  413. package/llms/components/lr-app-rail.md +1 -1
  414. package/llms/components/lr-attachment-chip.md +1 -10
  415. package/llms/components/lr-attachment-trigger.md +0 -10
  416. package/llms/components/lr-avatar.md +4 -8
  417. package/llms/components/lr-badge.md +16 -20
  418. package/llms/components/lr-box-plot.md +1 -1
  419. package/llms/components/lr-breadcrumb-item.md +1 -1
  420. package/llms/components/lr-breadcrumb.md +1 -1
  421. package/llms/components/lr-button-group.md +1 -1
  422. package/llms/components/lr-button.md +1 -1
  423. package/llms/components/lr-calendar.md +1 -1
  424. package/llms/components/lr-callout.md +3 -13
  425. package/llms/components/lr-card.md +1 -1
  426. package/llms/components/lr-carousel-item.md +1 -1
  427. package/llms/components/lr-carousel.md +1 -1
  428. package/llms/components/lr-chart.md +5 -7
  429. package/llms/components/lr-checkbox-group.md +1 -1
  430. package/llms/components/lr-checkbox.md +2 -1
  431. package/llms/components/lr-chip.md +3 -17
  432. package/llms/components/lr-chunk-inspector.md +2 -1
  433. package/llms/components/lr-citation-badge.md +2 -2
  434. package/llms/components/lr-code-block.md +0 -10
  435. package/llms/components/lr-code-editor.md +1 -1
  436. package/llms/components/lr-color-picker.md +1 -1
  437. package/llms/components/lr-combobox.md +6 -3
  438. package/llms/components/lr-command-palette.md +5 -2
  439. package/llms/components/lr-commit-card.md +1 -3
  440. package/llms/components/lr-condition-builder.md +1 -1
  441. package/llms/components/lr-confirm-bar.md +7 -13
  442. package/llms/components/lr-connector-manager.md +3 -1
  443. package/llms/components/lr-context-inspector.md +1 -1
  444. package/llms/components/lr-context-meter.md +1 -1
  445. package/llms/components/lr-control-group.md +1 -1
  446. package/llms/components/lr-copy-button.md +8 -10
  447. package/llms/components/lr-country-picker.md +1 -1
  448. package/llms/components/lr-currency-picker.md +1 -1
  449. package/llms/components/lr-dashboard-grid.md +1 -1
  450. package/llms/components/lr-data-grid.md +1 -1
  451. package/llms/components/lr-date-input.md +1 -1
  452. package/llms/components/lr-date-picker.md +11 -4
  453. package/llms/components/lr-details.md +1 -1
  454. package/llms/components/lr-dialog.md +8 -31
  455. package/llms/components/lr-diff-view.md +1 -1
  456. package/llms/components/lr-divider.md +1 -1
  457. package/llms/components/lr-dock-panel.md +1 -1
  458. package/llms/components/lr-document-library.md +1 -1
  459. package/llms/components/lr-drawer.md +1 -13
  460. package/llms/components/lr-drilldown-panel.md +1 -1
  461. package/llms/components/lr-drop-zone.md +4 -0
  462. package/llms/components/lr-dropdown-item.md +1 -1
  463. package/llms/components/lr-ebook-viewer.md +4 -3
  464. package/llms/components/lr-emoji-picker.md +1 -1
  465. package/llms/components/lr-entity-chip.md +2 -2
  466. package/llms/components/lr-env-list.md +1 -1
  467. package/llms/components/lr-eval-dataset.md +4 -19
  468. package/llms/components/lr-export-button.md +3 -3
  469. package/llms/components/lr-file-icon.md +0 -5
  470. package/llms/components/lr-file-input.md +3 -5
  471. package/llms/components/lr-file-tree.md +1 -1
  472. package/llms/components/lr-filter-bar.md +5 -1
  473. package/llms/components/lr-flag.md +1 -2
  474. package/llms/components/lr-flow-canvas.md +1 -1
  475. package/llms/components/lr-flow-controls.md +1 -1
  476. package/llms/components/lr-flow-minimap.md +2 -2
  477. package/llms/components/lr-flow-node.md +1 -1
  478. package/llms/components/lr-flow-run-status.md +1 -1
  479. package/llms/components/lr-format-bytes.md +2 -3
  480. package/llms/components/lr-format-date.md +2 -3
  481. package/llms/components/lr-format-number.md +1 -1
  482. package/llms/components/lr-funnel.md +1 -1
  483. package/llms/components/lr-gauge.md +1 -1
  484. package/llms/components/lr-generation-metrics.md +1 -1
  485. package/llms/components/lr-graph-query-builder.md +1 -1
  486. package/llms/components/lr-heatmap.md +1 -1
  487. package/llms/components/lr-icon-button.md +1 -1
  488. package/llms/components/lr-icon.md +1 -1
  489. package/llms/components/lr-input.md +1 -1
  490. package/llms/components/lr-intersection-observer.md +1 -1
  491. package/llms/components/lr-json-viewer.md +1 -1
  492. package/llms/components/lr-knowledge-graph-explorer.md +2 -2
  493. package/llms/components/lr-known-date.md +1 -1
  494. package/llms/components/lr-lite-chart.md +3 -4
  495. package/llms/components/lr-live-region.md +1 -1
  496. package/llms/components/lr-locale-picker.md +1 -1
  497. package/llms/components/lr-map.md +1 -3
  498. package/llms/components/lr-media-card.md +1 -10
  499. package/llms/components/lr-memory-panel.md +2 -0
  500. package/llms/components/lr-mention-popover.md +3 -3
  501. package/llms/components/lr-menu-item.md +1 -1
  502. package/llms/components/lr-menu-label.md +1 -1
  503. package/llms/components/lr-menu.md +1 -1
  504. package/llms/components/lr-menubar-item.md +1 -1
  505. package/llms/components/lr-menubar.md +1 -1
  506. package/llms/components/lr-message-actions.md +1 -11
  507. package/llms/components/lr-message-parts.md +3 -5
  508. package/llms/components/lr-model-select.md +2 -4
  509. package/llms/components/lr-multi-split.md +1 -1
  510. package/llms/components/lr-mutation-observer.md +2 -2
  511. package/llms/components/lr-native-time-input.md +1 -1
  512. package/llms/components/lr-navigation-menu-item.md +1 -1
  513. package/llms/components/lr-navigation-menu.md +1 -1
  514. package/llms/components/lr-number-input.md +1 -1
  515. package/llms/components/lr-option.md +1 -1
  516. package/llms/components/lr-otp-input.md +1 -1
  517. package/llms/components/lr-page.md +1 -1
  518. package/llms/components/lr-pagination.md +1 -1
  519. package/llms/components/lr-pan-zoom.md +1 -3
  520. package/llms/components/lr-permission-grant.md +3 -1
  521. package/llms/components/lr-phone-input.md +7 -5
  522. package/llms/components/lr-poll-status.md +1 -1
  523. package/llms/components/lr-popover.md +5 -9
  524. package/llms/components/lr-popup.md +1 -3
  525. package/llms/components/lr-progress-bar.md +2 -1
  526. package/llms/components/lr-progress-ring.md +4 -8
  527. package/llms/components/lr-prompt-input.md +3 -1
  528. package/llms/components/lr-prompt-studio.md +4 -4
  529. package/llms/components/lr-radio-button.md +2 -2
  530. package/llms/components/lr-radio-group.md +1 -1
  531. package/llms/components/lr-radio.md +3 -2
  532. package/llms/components/lr-random-content.md +1 -1
  533. package/llms/components/lr-rating.md +2 -3
  534. package/llms/components/lr-relative-time.md +2 -3
  535. package/llms/components/lr-reorder-item.md +1 -1
  536. package/llms/components/lr-reorder-list.md +1 -1
  537. package/llms/components/lr-research-progress.md +2 -0
  538. package/llms/components/lr-resize-observer.md +1 -1
  539. package/llms/components/lr-responsive-panel.md +1 -1
  540. package/llms/components/lr-retrieval-compare.md +2 -0
  541. package/llms/components/lr-retrieval-trace.md +2 -0
  542. package/llms/components/lr-rubric-form.md +1 -1
  543. package/llms/components/lr-scroller.md +1 -1
  544. package/llms/components/lr-segmented.md +1 -1
  545. package/llms/components/lr-select.md +1 -1
  546. package/llms/components/lr-sequence-playback.md +1 -2
  547. package/llms/components/lr-sequence-strip.md +1 -1
  548. package/llms/components/lr-signature-pad.md +1 -1
  549. package/llms/components/lr-skeleton.md +2 -4
  550. package/llms/components/lr-slider.md +1 -1
  551. package/llms/components/lr-sparkline.md +1 -1
  552. package/llms/components/lr-split-panel.md +1 -1
  553. package/llms/components/lr-stat.md +1 -1
  554. package/llms/components/lr-stepper.md +1 -1
  555. package/llms/components/lr-swatch-picker.md +1 -1
  556. package/llms/components/lr-switch.md +2 -1
  557. package/llms/components/lr-tab-group.md +1 -1
  558. package/llms/components/lr-tab-panel.md +1 -1
  559. package/llms/components/lr-tab.md +1 -1
  560. package/llms/components/lr-table.md +3 -3
  561. package/llms/components/lr-task-list.md +3 -3
  562. package/llms/components/lr-test-results.md +2 -4
  563. package/llms/components/lr-textarea.md +1 -1
  564. package/llms/components/lr-time-input.md +1 -1
  565. package/llms/components/lr-time-range.md +5 -4
  566. package/llms/components/lr-time-zone-picker.md +1 -1
  567. package/llms/components/lr-timeline-item.md +1 -1
  568. package/llms/components/lr-timeline.md +1 -1
  569. package/llms/components/lr-toggle-group.md +1 -1
  570. package/llms/components/lr-toggle.md +1 -1
  571. package/llms/components/lr-token-input.md +1 -1
  572. package/llms/components/lr-tool-approval-dialog.md +12 -10
  573. package/llms/components/lr-tool-call-block.md +1 -1
  574. package/llms/components/lr-tool-call-chip.md +1 -3
  575. package/llms/components/lr-tool-result-view.md +3 -3
  576. package/llms/components/lr-tool-timeline.md +2 -2
  577. package/llms/components/lr-tooltip.md +8 -11
  578. package/llms/components/lr-tour.md +2 -2
  579. package/llms/components/lr-tree-item.md +1 -1
  580. package/llms/components/lr-tree.md +1 -1
  581. package/llms/components/lr-unit-picker.md +1 -1
  582. package/llms/components/lr-usage-badge.md +1 -3
  583. package/llms/components/lr-video.md +1 -2
  584. package/llms/components/lr-virtual-list.md +1 -1
  585. package/llms/components/lr-visually-hidden.md +1 -1
  586. package/llms/components/lr-voice-picker.md +1 -1
  587. package/llms/components/lr-widget.md +1 -1
  588. package/llms/components/lr-word-cloud.md +1 -1
  589. package/llms/components/lr-zoomable-frame.md +1 -6
  590. package/llms/migration.md +96 -2
  591. package/llms/peers.md +3 -2
  592. package/llms/shared/ai-and-peers.md +2 -2
  593. package/llms/shared/events-and-types.md +4 -1
  594. package/llms/shared/imports-and-registration.md +2 -2
  595. package/llms/shared/localization-and-rtl.md +18 -18
  596. package/llms/shared/styles-and-tokens.md +1 -1
  597. package/llms/shared/testing-and-utilities.md +44 -43
  598. package/llms/shared.md +71 -67
  599. package/llms.txt +14 -12
  600. package/locales.json +1002 -1002
  601. package/package.json +16 -6879
  602. package/registrations.json +1 -1
  603. package/skills/compose-lyra-interfaces/SKILL.md +60 -0
  604. package/skills/compose-lyra-interfaces/agents/openai.yaml +4 -0
  605. package/skills/compose-lyra-interfaces/references/composition-patterns.md +77 -0
  606. package/skills/lyra-ui/SKILL.md +145 -0
  607. package/skills/lyra-ui/commands/frontend.md +37 -0
  608. package/skills/lyra-ui/commands/migrate.md +44 -0
  609. package/skills/lyra-ui/commands/new-component.md +19 -0
  610. package/skills/lyra-ui/commands/review.md +247 -0
  611. package/skills/lyra-ui/commands/update.md +30 -0
  612. package/skills/lyra-ui/reporting.md +137 -0
  613. package/custom-elements.json +0 -1
  614. package/dist/internal/side-effect-only.d.ts +0 -1
  615. package/dist/translations/am/agent-tools.js +0 -1
  616. package/dist/translations/am/charts.js +0 -1
  617. package/dist/translations/am/conversation.js +0 -1
  618. package/dist/translations/am/data.js +0 -1
  619. package/dist/translations/am/forms.js +0 -1
  620. package/dist/translations/am/layout.js +0 -1
  621. package/dist/translations/am/media.js +0 -1
  622. package/dist/translations/am/overlays.js +0 -1
  623. package/dist/translations/am/retrieval.js +0 -1
  624. package/dist/translations/am/shared.js +0 -1
  625. package/dist/translations/am/utility.js +0 -1
  626. package/dist/translations/am/viewers.js +0 -5
  627. package/dist/translations/am.js +0 -1
  628. package/dist/translations/ar/agent-tools.js +0 -1
  629. package/dist/translations/ar/charts.js +0 -1
  630. package/dist/translations/ar/conversation.js +0 -1
  631. package/dist/translations/ar/data.js +0 -1
  632. package/dist/translations/ar/forms.js +0 -1
  633. package/dist/translations/ar/layout.js +0 -1
  634. package/dist/translations/ar/media.js +0 -1
  635. package/dist/translations/ar/overlays.js +0 -1
  636. package/dist/translations/ar/retrieval.js +0 -1
  637. package/dist/translations/ar/shared.js +0 -1
  638. package/dist/translations/ar/utility.js +0 -1
  639. package/dist/translations/ar/viewers.js +0 -5
  640. package/dist/translations/ar.js +0 -1
  641. package/dist/translations/bho/agent-tools.js +0 -1
  642. package/dist/translations/bho/charts.js +0 -1
  643. package/dist/translations/bho/conversation.js +0 -1
  644. package/dist/translations/bho/data.js +0 -1
  645. package/dist/translations/bho/forms.js +0 -1
  646. package/dist/translations/bho/layout.js +0 -1
  647. package/dist/translations/bho/media.js +0 -1
  648. package/dist/translations/bho/overlays.js +0 -1
  649. package/dist/translations/bho/retrieval.js +0 -1
  650. package/dist/translations/bho/shared.js +0 -1
  651. package/dist/translations/bho/utility.js +0 -1
  652. package/dist/translations/bho/viewers.js +0 -5
  653. package/dist/translations/bho.js +0 -1
  654. package/dist/translations/bn/agent-tools.js +0 -1
  655. package/dist/translations/bn/charts.js +0 -1
  656. package/dist/translations/bn/conversation.js +0 -1
  657. package/dist/translations/bn/data.js +0 -1
  658. package/dist/translations/bn/forms.js +0 -1
  659. package/dist/translations/bn/layout.js +0 -1
  660. package/dist/translations/bn/media.js +0 -1
  661. package/dist/translations/bn/overlays.js +0 -1
  662. package/dist/translations/bn/retrieval.js +0 -1
  663. package/dist/translations/bn/shared.js +0 -1
  664. package/dist/translations/bn/utility.js +0 -1
  665. package/dist/translations/bn/viewers.js +0 -5
  666. package/dist/translations/bn.js +0 -1
  667. package/dist/translations/cs/agent-tools.js +0 -1
  668. package/dist/translations/cs/charts.js +0 -1
  669. package/dist/translations/cs/conversation.js +0 -1
  670. package/dist/translations/cs/data.js +0 -1
  671. package/dist/translations/cs/forms.js +0 -1
  672. package/dist/translations/cs/layout.js +0 -1
  673. package/dist/translations/cs/media.js +0 -1
  674. package/dist/translations/cs/overlays.js +0 -1
  675. package/dist/translations/cs/retrieval.js +0 -1
  676. package/dist/translations/cs/shared.js +0 -1
  677. package/dist/translations/cs/utility.js +0 -1
  678. package/dist/translations/cs/viewers.js +0 -5
  679. package/dist/translations/cs.js +0 -1
  680. package/dist/translations/da/agent-tools.js +0 -1
  681. package/dist/translations/da/charts.js +0 -1
  682. package/dist/translations/da/conversation.js +0 -1
  683. package/dist/translations/da/data.js +0 -1
  684. package/dist/translations/da/forms.js +0 -1
  685. package/dist/translations/da/layout.js +0 -1
  686. package/dist/translations/da/media.js +0 -1
  687. package/dist/translations/da/overlays.js +0 -1
  688. package/dist/translations/da/retrieval.js +0 -1
  689. package/dist/translations/da/shared.js +0 -1
  690. package/dist/translations/da/utility.js +0 -1
  691. package/dist/translations/da/viewers.js +0 -5
  692. package/dist/translations/da.js +0 -1
  693. package/dist/translations/de/agent-tools.js +0 -1
  694. package/dist/translations/de/charts.js +0 -1
  695. package/dist/translations/de/conversation.js +0 -1
  696. package/dist/translations/de/data.js +0 -1
  697. package/dist/translations/de/forms.js +0 -1
  698. package/dist/translations/de/layout.js +0 -1
  699. package/dist/translations/de/media.js +0 -1
  700. package/dist/translations/de/overlays.js +0 -1
  701. package/dist/translations/de/retrieval.js +0 -1
  702. package/dist/translations/de/shared.js +0 -1
  703. package/dist/translations/de/utility.js +0 -1
  704. package/dist/translations/de/viewers.js +0 -5
  705. package/dist/translations/de-CH/agent-tools.js +0 -1
  706. package/dist/translations/de-CH/charts.js +0 -1
  707. package/dist/translations/de-CH/conversation.js +0 -1
  708. package/dist/translations/de-CH/data.js +0 -1
  709. package/dist/translations/de-CH/forms.js +0 -1
  710. package/dist/translations/de-CH/layout.js +0 -1
  711. package/dist/translations/de-CH/media.js +0 -1
  712. package/dist/translations/de-CH/overlays.js +0 -1
  713. package/dist/translations/de-CH/retrieval.js +0 -1
  714. package/dist/translations/de-CH/shared.js +0 -1
  715. package/dist/translations/de-CH/utility.js +0 -1
  716. package/dist/translations/de-CH/viewers.js +0 -1
  717. package/dist/translations/de-CH.js +0 -1
  718. package/dist/translations/de.js +0 -1
  719. package/dist/translations/el/agent-tools.js +0 -1
  720. package/dist/translations/el/charts.js +0 -1
  721. package/dist/translations/el/conversation.js +0 -1
  722. package/dist/translations/el/data.js +0 -1
  723. package/dist/translations/el/forms.js +0 -1
  724. package/dist/translations/el/layout.js +0 -1
  725. package/dist/translations/el/media.js +0 -1
  726. package/dist/translations/el/overlays.js +0 -1
  727. package/dist/translations/el/retrieval.js +0 -1
  728. package/dist/translations/el/shared.js +0 -1
  729. package/dist/translations/el/utility.js +0 -1
  730. package/dist/translations/el/viewers.js +0 -5
  731. package/dist/translations/el.js +0 -1
  732. package/dist/translations/es/agent-tools.js +0 -1
  733. package/dist/translations/es/charts.js +0 -1
  734. package/dist/translations/es/conversation.js +0 -1
  735. package/dist/translations/es/data.js +0 -1
  736. package/dist/translations/es/forms.js +0 -1
  737. package/dist/translations/es/layout.js +0 -1
  738. package/dist/translations/es/media.js +0 -1
  739. package/dist/translations/es/overlays.js +0 -1
  740. package/dist/translations/es/retrieval.js +0 -1
  741. package/dist/translations/es/shared.js +0 -1
  742. package/dist/translations/es/utility.js +0 -1
  743. package/dist/translations/es/viewers.js +0 -5
  744. package/dist/translations/es.js +0 -1
  745. package/dist/translations/fa/agent-tools.js +0 -1
  746. package/dist/translations/fa/charts.js +0 -1
  747. package/dist/translations/fa/conversation.js +0 -1
  748. package/dist/translations/fa/data.js +0 -1
  749. package/dist/translations/fa/forms.js +0 -1
  750. package/dist/translations/fa/layout.js +0 -1
  751. package/dist/translations/fa/media.js +0 -1
  752. package/dist/translations/fa/overlays.js +0 -1
  753. package/dist/translations/fa/retrieval.js +0 -1
  754. package/dist/translations/fa/shared.js +0 -1
  755. package/dist/translations/fa/utility.js +0 -1
  756. package/dist/translations/fa/viewers.js +0 -5
  757. package/dist/translations/fa-AF/agent-tools.js +0 -1
  758. package/dist/translations/fa-AF/charts.js +0 -1
  759. package/dist/translations/fa-AF/conversation.js +0 -1
  760. package/dist/translations/fa-AF/data.js +0 -1
  761. package/dist/translations/fa-AF/forms.js +0 -1
  762. package/dist/translations/fa-AF/layout.js +0 -1
  763. package/dist/translations/fa-AF/media.js +0 -1
  764. package/dist/translations/fa-AF/overlays.js +0 -1
  765. package/dist/translations/fa-AF/retrieval.js +0 -1
  766. package/dist/translations/fa-AF/shared.js +0 -1
  767. package/dist/translations/fa-AF/utility.js +0 -1
  768. package/dist/translations/fa-AF/viewers.js +0 -5
  769. package/dist/translations/fa-AF.js +0 -1
  770. package/dist/translations/fa.js +0 -1
  771. package/dist/translations/fi/agent-tools.js +0 -1
  772. package/dist/translations/fi/charts.js +0 -1
  773. package/dist/translations/fi/conversation.js +0 -1
  774. package/dist/translations/fi/data.js +0 -1
  775. package/dist/translations/fi/forms.js +0 -1
  776. package/dist/translations/fi/layout.js +0 -1
  777. package/dist/translations/fi/media.js +0 -1
  778. package/dist/translations/fi/overlays.js +0 -1
  779. package/dist/translations/fi/retrieval.js +0 -1
  780. package/dist/translations/fi/shared.js +0 -1
  781. package/dist/translations/fi/utility.js +0 -1
  782. package/dist/translations/fi/viewers.js +0 -5
  783. package/dist/translations/fi.js +0 -1
  784. package/dist/translations/fr/agent-tools.js +0 -1
  785. package/dist/translations/fr/charts.js +0 -1
  786. package/dist/translations/fr/conversation.js +0 -1
  787. package/dist/translations/fr/data.js +0 -1
  788. package/dist/translations/fr/forms.js +0 -1
  789. package/dist/translations/fr/layout.js +0 -1
  790. package/dist/translations/fr/media.js +0 -1
  791. package/dist/translations/fr/overlays.js +0 -1
  792. package/dist/translations/fr/retrieval.js +0 -1
  793. package/dist/translations/fr/shared.js +0 -1
  794. package/dist/translations/fr/utility.js +0 -1
  795. package/dist/translations/fr/viewers.js +0 -5
  796. package/dist/translations/fr.js +0 -1
  797. package/dist/translations/gu/agent-tools.js +0 -1
  798. package/dist/translations/gu/charts.js +0 -1
  799. package/dist/translations/gu/conversation.js +0 -1
  800. package/dist/translations/gu/data.js +0 -1
  801. package/dist/translations/gu/forms.js +0 -1
  802. package/dist/translations/gu/layout.js +0 -1
  803. package/dist/translations/gu/media.js +0 -1
  804. package/dist/translations/gu/overlays.js +0 -1
  805. package/dist/translations/gu/retrieval.js +0 -1
  806. package/dist/translations/gu/shared.js +0 -1
  807. package/dist/translations/gu/utility.js +0 -1
  808. package/dist/translations/gu/viewers.js +0 -5
  809. package/dist/translations/gu.js +0 -1
  810. package/dist/translations/ha/agent-tools.js +0 -1
  811. package/dist/translations/ha/charts.js +0 -1
  812. package/dist/translations/ha/conversation.js +0 -1
  813. package/dist/translations/ha/data.js +0 -1
  814. package/dist/translations/ha/forms.js +0 -1
  815. package/dist/translations/ha/layout.js +0 -1
  816. package/dist/translations/ha/media.js +0 -1
  817. package/dist/translations/ha/overlays.js +0 -1
  818. package/dist/translations/ha/retrieval.js +0 -1
  819. package/dist/translations/ha/shared.js +0 -1
  820. package/dist/translations/ha/utility.js +0 -1
  821. package/dist/translations/ha/viewers.js +0 -5
  822. package/dist/translations/ha.js +0 -1
  823. package/dist/translations/he/agent-tools.js +0 -1
  824. package/dist/translations/he/charts.js +0 -1
  825. package/dist/translations/he/conversation.js +0 -1
  826. package/dist/translations/he/data.js +0 -1
  827. package/dist/translations/he/forms.js +0 -1
  828. package/dist/translations/he/layout.js +0 -1
  829. package/dist/translations/he/media.js +0 -1
  830. package/dist/translations/he/overlays.js +0 -1
  831. package/dist/translations/he/retrieval.js +0 -1
  832. package/dist/translations/he/shared.js +0 -1
  833. package/dist/translations/he/utility.js +0 -1
  834. package/dist/translations/he/viewers.js +0 -5
  835. package/dist/translations/he.js +0 -1
  836. package/dist/translations/hi/agent-tools.js +0 -1
  837. package/dist/translations/hi/charts.js +0 -1
  838. package/dist/translations/hi/conversation.js +0 -1
  839. package/dist/translations/hi/data.js +0 -1
  840. package/dist/translations/hi/forms.js +0 -1
  841. package/dist/translations/hi/layout.js +0 -1
  842. package/dist/translations/hi/media.js +0 -1
  843. package/dist/translations/hi/overlays.js +0 -1
  844. package/dist/translations/hi/retrieval.js +0 -1
  845. package/dist/translations/hi/shared.js +0 -1
  846. package/dist/translations/hi/utility.js +0 -1
  847. package/dist/translations/hi/viewers.js +0 -5
  848. package/dist/translations/hi.js +0 -1
  849. package/dist/translations/hr/agent-tools.js +0 -1
  850. package/dist/translations/hr/charts.js +0 -1
  851. package/dist/translations/hr/conversation.js +0 -1
  852. package/dist/translations/hr/data.js +0 -1
  853. package/dist/translations/hr/forms.js +0 -1
  854. package/dist/translations/hr/layout.js +0 -1
  855. package/dist/translations/hr/media.js +0 -1
  856. package/dist/translations/hr/overlays.js +0 -1
  857. package/dist/translations/hr/retrieval.js +0 -1
  858. package/dist/translations/hr/shared.js +0 -1
  859. package/dist/translations/hr/utility.js +0 -1
  860. package/dist/translations/hr/viewers.js +0 -5
  861. package/dist/translations/hr.js +0 -1
  862. package/dist/translations/hu/agent-tools.js +0 -1
  863. package/dist/translations/hu/charts.js +0 -1
  864. package/dist/translations/hu/conversation.js +0 -1
  865. package/dist/translations/hu/data.js +0 -1
  866. package/dist/translations/hu/forms.js +0 -1
  867. package/dist/translations/hu/layout.js +0 -1
  868. package/dist/translations/hu/media.js +0 -1
  869. package/dist/translations/hu/overlays.js +0 -1
  870. package/dist/translations/hu/retrieval.js +0 -1
  871. package/dist/translations/hu/shared.js +0 -1
  872. package/dist/translations/hu/utility.js +0 -1
  873. package/dist/translations/hu/viewers.js +0 -5
  874. package/dist/translations/hu.js +0 -1
  875. package/dist/translations/id/agent-tools.js +0 -1
  876. package/dist/translations/id/charts.js +0 -1
  877. package/dist/translations/id/conversation.js +0 -1
  878. package/dist/translations/id/data.js +0 -1
  879. package/dist/translations/id/forms.js +0 -1
  880. package/dist/translations/id/layout.js +0 -1
  881. package/dist/translations/id/media.js +0 -1
  882. package/dist/translations/id/overlays.js +0 -1
  883. package/dist/translations/id/retrieval.js +0 -1
  884. package/dist/translations/id/shared.js +0 -1
  885. package/dist/translations/id/utility.js +0 -1
  886. package/dist/translations/id/viewers.js +0 -5
  887. package/dist/translations/id.js +0 -1
  888. package/dist/translations/ig/agent-tools.js +0 -1
  889. package/dist/translations/ig/charts.js +0 -1
  890. package/dist/translations/ig/conversation.js +0 -1
  891. package/dist/translations/ig/data.js +0 -1
  892. package/dist/translations/ig/forms.js +0 -1
  893. package/dist/translations/ig/layout.js +0 -1
  894. package/dist/translations/ig/media.js +0 -1
  895. package/dist/translations/ig/overlays.js +0 -1
  896. package/dist/translations/ig/retrieval.js +0 -1
  897. package/dist/translations/ig/shared.js +0 -1
  898. package/dist/translations/ig/utility.js +0 -1
  899. package/dist/translations/ig/viewers.js +0 -5
  900. package/dist/translations/ig.js +0 -1
  901. package/dist/translations/it/agent-tools.js +0 -1
  902. package/dist/translations/it/charts.js +0 -1
  903. package/dist/translations/it/conversation.js +0 -1
  904. package/dist/translations/it/data.js +0 -1
  905. package/dist/translations/it/forms.js +0 -1
  906. package/dist/translations/it/layout.js +0 -1
  907. package/dist/translations/it/media.js +0 -1
  908. package/dist/translations/it/overlays.js +0 -1
  909. package/dist/translations/it/retrieval.js +0 -1
  910. package/dist/translations/it/shared.js +0 -1
  911. package/dist/translations/it/utility.js +0 -1
  912. package/dist/translations/it/viewers.js +0 -5
  913. package/dist/translations/it.js +0 -1
  914. package/dist/translations/ja/agent-tools.js +0 -1
  915. package/dist/translations/ja/charts.js +0 -1
  916. package/dist/translations/ja/conversation.js +0 -1
  917. package/dist/translations/ja/data.js +0 -1
  918. package/dist/translations/ja/forms.js +0 -1
  919. package/dist/translations/ja/layout.js +0 -1
  920. package/dist/translations/ja/media.js +0 -1
  921. package/dist/translations/ja/overlays.js +0 -1
  922. package/dist/translations/ja/retrieval.js +0 -1
  923. package/dist/translations/ja/shared.js +0 -1
  924. package/dist/translations/ja/utility.js +0 -1
  925. package/dist/translations/ja/viewers.js +0 -4
  926. package/dist/translations/ja.js +0 -1
  927. package/dist/translations/jv/agent-tools.js +0 -1
  928. package/dist/translations/jv/charts.js +0 -1
  929. package/dist/translations/jv/conversation.js +0 -1
  930. package/dist/translations/jv/data.js +0 -1
  931. package/dist/translations/jv/forms.js +0 -1
  932. package/dist/translations/jv/layout.js +0 -1
  933. package/dist/translations/jv/media.js +0 -1
  934. package/dist/translations/jv/overlays.js +0 -1
  935. package/dist/translations/jv/retrieval.js +0 -1
  936. package/dist/translations/jv/shared.js +0 -1
  937. package/dist/translations/jv/utility.js +0 -1
  938. package/dist/translations/jv/viewers.js +0 -5
  939. package/dist/translations/jv.js +0 -1
  940. package/dist/translations/kk/agent-tools.js +0 -1
  941. package/dist/translations/kk/charts.js +0 -1
  942. package/dist/translations/kk/conversation.js +0 -1
  943. package/dist/translations/kk/data.js +0 -1
  944. package/dist/translations/kk/forms.js +0 -1
  945. package/dist/translations/kk/layout.js +0 -1
  946. package/dist/translations/kk/media.js +0 -1
  947. package/dist/translations/kk/overlays.js +0 -1
  948. package/dist/translations/kk/retrieval.js +0 -1
  949. package/dist/translations/kk/shared.js +0 -1
  950. package/dist/translations/kk/utility.js +0 -1
  951. package/dist/translations/kk/viewers.js +0 -5
  952. package/dist/translations/kk.js +0 -1
  953. package/dist/translations/kn/agent-tools.js +0 -1
  954. package/dist/translations/kn/charts.js +0 -1
  955. package/dist/translations/kn/conversation.js +0 -1
  956. package/dist/translations/kn/data.js +0 -1
  957. package/dist/translations/kn/forms.js +0 -1
  958. package/dist/translations/kn/layout.js +0 -1
  959. package/dist/translations/kn/media.js +0 -1
  960. package/dist/translations/kn/overlays.js +0 -1
  961. package/dist/translations/kn/retrieval.js +0 -1
  962. package/dist/translations/kn/shared.js +0 -1
  963. package/dist/translations/kn/utility.js +0 -1
  964. package/dist/translations/kn/viewers.js +0 -5
  965. package/dist/translations/kn.js +0 -1
  966. package/dist/translations/ko/agent-tools.js +0 -1
  967. package/dist/translations/ko/charts.js +0 -1
  968. package/dist/translations/ko/conversation.js +0 -1
  969. package/dist/translations/ko/data.js +0 -1
  970. package/dist/translations/ko/forms.js +0 -1
  971. package/dist/translations/ko/layout.js +0 -1
  972. package/dist/translations/ko/media.js +0 -1
  973. package/dist/translations/ko/overlays.js +0 -1
  974. package/dist/translations/ko/retrieval.js +0 -1
  975. package/dist/translations/ko/shared.js +0 -1
  976. package/dist/translations/ko/utility.js +0 -1
  977. package/dist/translations/ko/viewers.js +0 -5
  978. package/dist/translations/ko.js +0 -1
  979. package/dist/translations/ln/agent-tools.js +0 -1
  980. package/dist/translations/ln/charts.js +0 -1
  981. package/dist/translations/ln/conversation.js +0 -1
  982. package/dist/translations/ln/data.js +0 -1
  983. package/dist/translations/ln/forms.js +0 -1
  984. package/dist/translations/ln/layout.js +0 -1
  985. package/dist/translations/ln/media.js +0 -1
  986. package/dist/translations/ln/overlays.js +0 -1
  987. package/dist/translations/ln/retrieval.js +0 -1
  988. package/dist/translations/ln/shared.js +0 -1
  989. package/dist/translations/ln/utility.js +0 -1
  990. package/dist/translations/ln/viewers.js +0 -5
  991. package/dist/translations/ln.js +0 -1
  992. package/dist/translations/ml/agent-tools.js +0 -1
  993. package/dist/translations/ml/charts.js +0 -1
  994. package/dist/translations/ml/conversation.js +0 -1
  995. package/dist/translations/ml/data.js +0 -1
  996. package/dist/translations/ml/forms.js +0 -1
  997. package/dist/translations/ml/layout.js +0 -1
  998. package/dist/translations/ml/media.js +0 -1
  999. package/dist/translations/ml/overlays.js +0 -1
  1000. package/dist/translations/ml/retrieval.js +0 -1
  1001. package/dist/translations/ml/shared.js +0 -1
  1002. package/dist/translations/ml/utility.js +0 -1
  1003. package/dist/translations/ml/viewers.js +0 -5
  1004. package/dist/translations/ml.js +0 -1
  1005. package/dist/translations/mr/agent-tools.js +0 -1
  1006. package/dist/translations/mr/charts.js +0 -1
  1007. package/dist/translations/mr/conversation.js +0 -1
  1008. package/dist/translations/mr/data.js +0 -1
  1009. package/dist/translations/mr/forms.js +0 -1
  1010. package/dist/translations/mr/layout.js +0 -1
  1011. package/dist/translations/mr/media.js +0 -1
  1012. package/dist/translations/mr/overlays.js +0 -1
  1013. package/dist/translations/mr/retrieval.js +0 -1
  1014. package/dist/translations/mr/shared.js +0 -1
  1015. package/dist/translations/mr/utility.js +0 -1
  1016. package/dist/translations/mr/viewers.js +0 -5
  1017. package/dist/translations/mr.js +0 -1
  1018. package/dist/translations/ms/agent-tools.js +0 -1
  1019. package/dist/translations/ms/charts.js +0 -1
  1020. package/dist/translations/ms/conversation.js +0 -1
  1021. package/dist/translations/ms/data.js +0 -1
  1022. package/dist/translations/ms/forms.js +0 -1
  1023. package/dist/translations/ms/layout.js +0 -1
  1024. package/dist/translations/ms/media.js +0 -1
  1025. package/dist/translations/ms/overlays.js +0 -1
  1026. package/dist/translations/ms/retrieval.js +0 -1
  1027. package/dist/translations/ms/shared.js +0 -1
  1028. package/dist/translations/ms/utility.js +0 -1
  1029. package/dist/translations/ms/viewers.js +0 -5
  1030. package/dist/translations/ms.js +0 -1
  1031. package/dist/translations/my/agent-tools.js +0 -1
  1032. package/dist/translations/my/charts.js +0 -1
  1033. package/dist/translations/my/conversation.js +0 -1
  1034. package/dist/translations/my/data.js +0 -1
  1035. package/dist/translations/my/forms.js +0 -1
  1036. package/dist/translations/my/layout.js +0 -1
  1037. package/dist/translations/my/media.js +0 -1
  1038. package/dist/translations/my/overlays.js +0 -1
  1039. package/dist/translations/my/retrieval.js +0 -1
  1040. package/dist/translations/my/shared.js +0 -1
  1041. package/dist/translations/my/utility.js +0 -1
  1042. package/dist/translations/my/viewers.js +0 -5
  1043. package/dist/translations/my.js +0 -1
  1044. package/dist/translations/nb/agent-tools.js +0 -1
  1045. package/dist/translations/nb/charts.js +0 -1
  1046. package/dist/translations/nb/conversation.js +0 -1
  1047. package/dist/translations/nb/data.js +0 -1
  1048. package/dist/translations/nb/forms.js +0 -1
  1049. package/dist/translations/nb/layout.js +0 -1
  1050. package/dist/translations/nb/media.js +0 -1
  1051. package/dist/translations/nb/overlays.js +0 -1
  1052. package/dist/translations/nb/retrieval.js +0 -1
  1053. package/dist/translations/nb/shared.js +0 -1
  1054. package/dist/translations/nb/utility.js +0 -1
  1055. package/dist/translations/nb/viewers.js +0 -5
  1056. package/dist/translations/nb.js +0 -1
  1057. package/dist/translations/ne/agent-tools.js +0 -1
  1058. package/dist/translations/ne/charts.js +0 -1
  1059. package/dist/translations/ne/conversation.js +0 -1
  1060. package/dist/translations/ne/data.js +0 -1
  1061. package/dist/translations/ne/forms.js +0 -1
  1062. package/dist/translations/ne/layout.js +0 -1
  1063. package/dist/translations/ne/media.js +0 -1
  1064. package/dist/translations/ne/overlays.js +0 -1
  1065. package/dist/translations/ne/retrieval.js +0 -1
  1066. package/dist/translations/ne/shared.js +0 -1
  1067. package/dist/translations/ne/utility.js +0 -1
  1068. package/dist/translations/ne/viewers.js +0 -5
  1069. package/dist/translations/ne.js +0 -1
  1070. package/dist/translations/nl/agent-tools.js +0 -1
  1071. package/dist/translations/nl/charts.js +0 -1
  1072. package/dist/translations/nl/conversation.js +0 -1
  1073. package/dist/translations/nl/data.js +0 -1
  1074. package/dist/translations/nl/forms.js +0 -1
  1075. package/dist/translations/nl/layout.js +0 -1
  1076. package/dist/translations/nl/media.js +0 -1
  1077. package/dist/translations/nl/overlays.js +0 -1
  1078. package/dist/translations/nl/retrieval.js +0 -1
  1079. package/dist/translations/nl/shared.js +0 -1
  1080. package/dist/translations/nl/utility.js +0 -1
  1081. package/dist/translations/nl/viewers.js +0 -5
  1082. package/dist/translations/nl.js +0 -1
  1083. package/dist/translations/nn/agent-tools.js +0 -1
  1084. package/dist/translations/nn/charts.js +0 -1
  1085. package/dist/translations/nn/conversation.js +0 -1
  1086. package/dist/translations/nn/data.js +0 -1
  1087. package/dist/translations/nn/forms.js +0 -1
  1088. package/dist/translations/nn/layout.js +0 -1
  1089. package/dist/translations/nn/media.js +0 -1
  1090. package/dist/translations/nn/overlays.js +0 -1
  1091. package/dist/translations/nn/retrieval.js +0 -1
  1092. package/dist/translations/nn/shared.js +0 -1
  1093. package/dist/translations/nn/utility.js +0 -1
  1094. package/dist/translations/nn/viewers.js +0 -5
  1095. package/dist/translations/nn.js +0 -1
  1096. package/dist/translations/om/agent-tools.js +0 -1
  1097. package/dist/translations/om/charts.js +0 -1
  1098. package/dist/translations/om/conversation.js +0 -1
  1099. package/dist/translations/om/data.js +0 -1
  1100. package/dist/translations/om/forms.js +0 -1
  1101. package/dist/translations/om/layout.js +0 -1
  1102. package/dist/translations/om/media.js +0 -1
  1103. package/dist/translations/om/overlays.js +0 -1
  1104. package/dist/translations/om/retrieval.js +0 -1
  1105. package/dist/translations/om/shared.js +0 -1
  1106. package/dist/translations/om/utility.js +0 -1
  1107. package/dist/translations/om/viewers.js +0 -5
  1108. package/dist/translations/om.js +0 -1
  1109. package/dist/translations/or/agent-tools.js +0 -1
  1110. package/dist/translations/or/charts.js +0 -1
  1111. package/dist/translations/or/conversation.js +0 -1
  1112. package/dist/translations/or/data.js +0 -1
  1113. package/dist/translations/or/forms.js +0 -1
  1114. package/dist/translations/or/layout.js +0 -1
  1115. package/dist/translations/or/media.js +0 -1
  1116. package/dist/translations/or/overlays.js +0 -1
  1117. package/dist/translations/or/retrieval.js +0 -1
  1118. package/dist/translations/or/shared.js +0 -1
  1119. package/dist/translations/or/utility.js +0 -1
  1120. package/dist/translations/or/viewers.js +0 -5
  1121. package/dist/translations/or.js +0 -1
  1122. package/dist/translations/pa/agent-tools.js +0 -1
  1123. package/dist/translations/pa/charts.js +0 -1
  1124. package/dist/translations/pa/conversation.js +0 -1
  1125. package/dist/translations/pa/data.js +0 -1
  1126. package/dist/translations/pa/forms.js +0 -1
  1127. package/dist/translations/pa/layout.js +0 -1
  1128. package/dist/translations/pa/media.js +0 -1
  1129. package/dist/translations/pa/overlays.js +0 -1
  1130. package/dist/translations/pa/retrieval.js +0 -1
  1131. package/dist/translations/pa/shared.js +0 -1
  1132. package/dist/translations/pa/utility.js +0 -1
  1133. package/dist/translations/pa/viewers.js +0 -5
  1134. package/dist/translations/pa.js +0 -1
  1135. package/dist/translations/pcm/agent-tools.js +0 -1
  1136. package/dist/translations/pcm/charts.js +0 -1
  1137. package/dist/translations/pcm/conversation.js +0 -1
  1138. package/dist/translations/pcm/data.js +0 -1
  1139. package/dist/translations/pcm/forms.js +0 -1
  1140. package/dist/translations/pcm/layout.js +0 -1
  1141. package/dist/translations/pcm/media.js +0 -1
  1142. package/dist/translations/pcm/overlays.js +0 -1
  1143. package/dist/translations/pcm/retrieval.js +0 -1
  1144. package/dist/translations/pcm/shared.js +0 -1
  1145. package/dist/translations/pcm/utility.js +0 -1
  1146. package/dist/translations/pcm/viewers.js +0 -5
  1147. package/dist/translations/pcm.js +0 -1
  1148. package/dist/translations/pl/agent-tools.js +0 -1
  1149. package/dist/translations/pl/charts.js +0 -1
  1150. package/dist/translations/pl/conversation.js +0 -1
  1151. package/dist/translations/pl/data.js +0 -1
  1152. package/dist/translations/pl/forms.js +0 -1
  1153. package/dist/translations/pl/layout.js +0 -1
  1154. package/dist/translations/pl/media.js +0 -1
  1155. package/dist/translations/pl/overlays.js +0 -1
  1156. package/dist/translations/pl/retrieval.js +0 -1
  1157. package/dist/translations/pl/shared.js +0 -1
  1158. package/dist/translations/pl/utility.js +0 -1
  1159. package/dist/translations/pl/viewers.js +0 -5
  1160. package/dist/translations/pl.js +0 -1
  1161. package/dist/translations/pnb/agent-tools.js +0 -1
  1162. package/dist/translations/pnb/charts.js +0 -1
  1163. package/dist/translations/pnb/conversation.js +0 -1
  1164. package/dist/translations/pnb/data.js +0 -1
  1165. package/dist/translations/pnb/forms.js +0 -1
  1166. package/dist/translations/pnb/layout.js +0 -1
  1167. package/dist/translations/pnb/media.js +0 -1
  1168. package/dist/translations/pnb/overlays.js +0 -1
  1169. package/dist/translations/pnb/retrieval.js +0 -1
  1170. package/dist/translations/pnb/shared.js +0 -1
  1171. package/dist/translations/pnb/utility.js +0 -1
  1172. package/dist/translations/pnb/viewers.js +0 -5
  1173. package/dist/translations/pnb.js +0 -1
  1174. package/dist/translations/ps/agent-tools.js +0 -1
  1175. package/dist/translations/ps/charts.js +0 -1
  1176. package/dist/translations/ps/conversation.js +0 -1
  1177. package/dist/translations/ps/data.js +0 -1
  1178. package/dist/translations/ps/forms.js +0 -1
  1179. package/dist/translations/ps/layout.js +0 -1
  1180. package/dist/translations/ps/media.js +0 -1
  1181. package/dist/translations/ps/overlays.js +0 -1
  1182. package/dist/translations/ps/retrieval.js +0 -1
  1183. package/dist/translations/ps/shared.js +0 -1
  1184. package/dist/translations/ps/utility.js +0 -1
  1185. package/dist/translations/ps/viewers.js +0 -5
  1186. package/dist/translations/ps.js +0 -1
  1187. package/dist/translations/pt-BR/agent-tools.js +0 -1
  1188. package/dist/translations/pt-BR/charts.js +0 -1
  1189. package/dist/translations/pt-BR/conversation.js +0 -1
  1190. package/dist/translations/pt-BR/data.js +0 -1
  1191. package/dist/translations/pt-BR/forms.js +0 -1
  1192. package/dist/translations/pt-BR/layout.js +0 -1
  1193. package/dist/translations/pt-BR/media.js +0 -1
  1194. package/dist/translations/pt-BR/overlays.js +0 -1
  1195. package/dist/translations/pt-BR/retrieval.js +0 -1
  1196. package/dist/translations/pt-BR/shared.js +0 -1
  1197. package/dist/translations/pt-BR/utility.js +0 -1
  1198. package/dist/translations/pt-BR/viewers.js +0 -5
  1199. package/dist/translations/pt-BR.js +0 -1
  1200. package/dist/translations/pt-PT/agent-tools.js +0 -1
  1201. package/dist/translations/pt-PT/charts.js +0 -1
  1202. package/dist/translations/pt-PT/conversation.js +0 -1
  1203. package/dist/translations/pt-PT/data.js +0 -1
  1204. package/dist/translations/pt-PT/forms.js +0 -1
  1205. package/dist/translations/pt-PT/layout.js +0 -1
  1206. package/dist/translations/pt-PT/media.js +0 -1
  1207. package/dist/translations/pt-PT/overlays.js +0 -1
  1208. package/dist/translations/pt-PT/retrieval.js +0 -1
  1209. package/dist/translations/pt-PT/shared.js +0 -1
  1210. package/dist/translations/pt-PT/utility.js +0 -1
  1211. package/dist/translations/pt-PT/viewers.js +0 -5
  1212. package/dist/translations/pt-PT.js +0 -1
  1213. package/dist/translations/ro/agent-tools.js +0 -1
  1214. package/dist/translations/ro/charts.js +0 -1
  1215. package/dist/translations/ro/conversation.js +0 -1
  1216. package/dist/translations/ro/data.js +0 -1
  1217. package/dist/translations/ro/forms.js +0 -1
  1218. package/dist/translations/ro/layout.js +0 -1
  1219. package/dist/translations/ro/media.js +0 -1
  1220. package/dist/translations/ro/overlays.js +0 -1
  1221. package/dist/translations/ro/retrieval.js +0 -1
  1222. package/dist/translations/ro/shared.js +0 -1
  1223. package/dist/translations/ro/utility.js +0 -1
  1224. package/dist/translations/ro/viewers.js +0 -5
  1225. package/dist/translations/ro.js +0 -1
  1226. package/dist/translations/ru/agent-tools.js +0 -1
  1227. package/dist/translations/ru/charts.js +0 -1
  1228. package/dist/translations/ru/conversation.js +0 -1
  1229. package/dist/translations/ru/data.js +0 -1
  1230. package/dist/translations/ru/forms.js +0 -1
  1231. package/dist/translations/ru/layout.js +0 -1
  1232. package/dist/translations/ru/media.js +0 -1
  1233. package/dist/translations/ru/overlays.js +0 -1
  1234. package/dist/translations/ru/retrieval.js +0 -1
  1235. package/dist/translations/ru/shared.js +0 -1
  1236. package/dist/translations/ru/utility.js +0 -1
  1237. package/dist/translations/ru/viewers.js +0 -5
  1238. package/dist/translations/ru.js +0 -1
  1239. package/dist/translations/sd/agent-tools.js +0 -1
  1240. package/dist/translations/sd/charts.js +0 -1
  1241. package/dist/translations/sd/conversation.js +0 -1
  1242. package/dist/translations/sd/data.js +0 -1
  1243. package/dist/translations/sd/forms.js +0 -1
  1244. package/dist/translations/sd/layout.js +0 -1
  1245. package/dist/translations/sd/media.js +0 -1
  1246. package/dist/translations/sd/overlays.js +0 -1
  1247. package/dist/translations/sd/retrieval.js +0 -1
  1248. package/dist/translations/sd/shared.js +0 -1
  1249. package/dist/translations/sd/utility.js +0 -1
  1250. package/dist/translations/sd/viewers.js +0 -5
  1251. package/dist/translations/sd.js +0 -1
  1252. package/dist/translations/sl/agent-tools.js +0 -1
  1253. package/dist/translations/sl/charts.js +0 -1
  1254. package/dist/translations/sl/conversation.js +0 -1
  1255. package/dist/translations/sl/data.js +0 -1
  1256. package/dist/translations/sl/forms.js +0 -1
  1257. package/dist/translations/sl/layout.js +0 -1
  1258. package/dist/translations/sl/media.js +0 -1
  1259. package/dist/translations/sl/overlays.js +0 -1
  1260. package/dist/translations/sl/retrieval.js +0 -1
  1261. package/dist/translations/sl/shared.js +0 -1
  1262. package/dist/translations/sl/utility.js +0 -1
  1263. package/dist/translations/sl/viewers.js +0 -5
  1264. package/dist/translations/sl.js +0 -1
  1265. package/dist/translations/su/agent-tools.js +0 -1
  1266. package/dist/translations/su/charts.js +0 -1
  1267. package/dist/translations/su/conversation.js +0 -1
  1268. package/dist/translations/su/data.js +0 -1
  1269. package/dist/translations/su/forms.js +0 -1
  1270. package/dist/translations/su/layout.js +0 -1
  1271. package/dist/translations/su/media.js +0 -1
  1272. package/dist/translations/su/overlays.js +0 -1
  1273. package/dist/translations/su/retrieval.js +0 -1
  1274. package/dist/translations/su/shared.js +0 -1
  1275. package/dist/translations/su/utility.js +0 -1
  1276. package/dist/translations/su/viewers.js +0 -5
  1277. package/dist/translations/su.js +0 -1
  1278. package/dist/translations/sv/agent-tools.js +0 -1
  1279. package/dist/translations/sv/charts.js +0 -1
  1280. package/dist/translations/sv/conversation.js +0 -1
  1281. package/dist/translations/sv/data.js +0 -1
  1282. package/dist/translations/sv/forms.js +0 -1
  1283. package/dist/translations/sv/layout.js +0 -1
  1284. package/dist/translations/sv/media.js +0 -1
  1285. package/dist/translations/sv/overlays.js +0 -1
  1286. package/dist/translations/sv/retrieval.js +0 -1
  1287. package/dist/translations/sv/shared.js +0 -1
  1288. package/dist/translations/sv/utility.js +0 -1
  1289. package/dist/translations/sv/viewers.js +0 -5
  1290. package/dist/translations/sv.js +0 -1
  1291. package/dist/translations/sw/agent-tools.js +0 -1
  1292. package/dist/translations/sw/charts.js +0 -1
  1293. package/dist/translations/sw/conversation.js +0 -1
  1294. package/dist/translations/sw/data.js +0 -1
  1295. package/dist/translations/sw/forms.js +0 -1
  1296. package/dist/translations/sw/layout.js +0 -1
  1297. package/dist/translations/sw/media.js +0 -1
  1298. package/dist/translations/sw/overlays.js +0 -1
  1299. package/dist/translations/sw/retrieval.js +0 -1
  1300. package/dist/translations/sw/shared.js +0 -1
  1301. package/dist/translations/sw/utility.js +0 -1
  1302. package/dist/translations/sw/viewers.js +0 -5
  1303. package/dist/translations/sw.js +0 -1
  1304. package/dist/translations/ta/agent-tools.js +0 -1
  1305. package/dist/translations/ta/charts.js +0 -1
  1306. package/dist/translations/ta/conversation.js +0 -1
  1307. package/dist/translations/ta/data.js +0 -1
  1308. package/dist/translations/ta/forms.js +0 -1
  1309. package/dist/translations/ta/layout.js +0 -1
  1310. package/dist/translations/ta/media.js +0 -1
  1311. package/dist/translations/ta/overlays.js +0 -1
  1312. package/dist/translations/ta/retrieval.js +0 -1
  1313. package/dist/translations/ta/shared.js +0 -1
  1314. package/dist/translations/ta/utility.js +0 -1
  1315. package/dist/translations/ta/viewers.js +0 -5
  1316. package/dist/translations/ta.js +0 -1
  1317. package/dist/translations/te/agent-tools.js +0 -1
  1318. package/dist/translations/te/charts.js +0 -1
  1319. package/dist/translations/te/conversation.js +0 -1
  1320. package/dist/translations/te/data.js +0 -1
  1321. package/dist/translations/te/forms.js +0 -1
  1322. package/dist/translations/te/layout.js +0 -1
  1323. package/dist/translations/te/media.js +0 -1
  1324. package/dist/translations/te/overlays.js +0 -1
  1325. package/dist/translations/te/retrieval.js +0 -1
  1326. package/dist/translations/te/shared.js +0 -1
  1327. package/dist/translations/te/utility.js +0 -1
  1328. package/dist/translations/te/viewers.js +0 -5
  1329. package/dist/translations/te.js +0 -1
  1330. package/dist/translations/th/agent-tools.js +0 -1
  1331. package/dist/translations/th/charts.js +0 -1
  1332. package/dist/translations/th/conversation.js +0 -1
  1333. package/dist/translations/th/data.js +0 -1
  1334. package/dist/translations/th/forms.js +0 -1
  1335. package/dist/translations/th/layout.js +0 -1
  1336. package/dist/translations/th/media.js +0 -1
  1337. package/dist/translations/th/overlays.js +0 -1
  1338. package/dist/translations/th/retrieval.js +0 -1
  1339. package/dist/translations/th/shared.js +0 -1
  1340. package/dist/translations/th/utility.js +0 -1
  1341. package/dist/translations/th/viewers.js +0 -5
  1342. package/dist/translations/th.js +0 -1
  1343. package/dist/translations/tl/agent-tools.js +0 -1
  1344. package/dist/translations/tl/charts.js +0 -1
  1345. package/dist/translations/tl/conversation.js +0 -1
  1346. package/dist/translations/tl/data.js +0 -1
  1347. package/dist/translations/tl/forms.js +0 -1
  1348. package/dist/translations/tl/layout.js +0 -1
  1349. package/dist/translations/tl/media.js +0 -1
  1350. package/dist/translations/tl/overlays.js +0 -1
  1351. package/dist/translations/tl/retrieval.js +0 -1
  1352. package/dist/translations/tl/shared.js +0 -1
  1353. package/dist/translations/tl/utility.js +0 -1
  1354. package/dist/translations/tl/viewers.js +0 -5
  1355. package/dist/translations/tl.js +0 -1
  1356. package/dist/translations/tr/agent-tools.js +0 -1
  1357. package/dist/translations/tr/charts.js +0 -1
  1358. package/dist/translations/tr/conversation.js +0 -1
  1359. package/dist/translations/tr/data.js +0 -1
  1360. package/dist/translations/tr/forms.js +0 -1
  1361. package/dist/translations/tr/layout.js +0 -1
  1362. package/dist/translations/tr/media.js +0 -1
  1363. package/dist/translations/tr/overlays.js +0 -1
  1364. package/dist/translations/tr/retrieval.js +0 -1
  1365. package/dist/translations/tr/shared.js +0 -1
  1366. package/dist/translations/tr/utility.js +0 -1
  1367. package/dist/translations/tr/viewers.js +0 -5
  1368. package/dist/translations/tr.js +0 -1
  1369. package/dist/translations/uk/agent-tools.js +0 -1
  1370. package/dist/translations/uk/charts.js +0 -1
  1371. package/dist/translations/uk/conversation.js +0 -1
  1372. package/dist/translations/uk/data.js +0 -1
  1373. package/dist/translations/uk/forms.js +0 -1
  1374. package/dist/translations/uk/layout.js +0 -1
  1375. package/dist/translations/uk/media.js +0 -1
  1376. package/dist/translations/uk/overlays.js +0 -1
  1377. package/dist/translations/uk/retrieval.js +0 -1
  1378. package/dist/translations/uk/shared.js +0 -1
  1379. package/dist/translations/uk/utility.js +0 -1
  1380. package/dist/translations/uk/viewers.js +0 -5
  1381. package/dist/translations/uk.js +0 -1
  1382. package/dist/translations/ur/agent-tools.js +0 -1
  1383. package/dist/translations/ur/charts.js +0 -1
  1384. package/dist/translations/ur/conversation.js +0 -1
  1385. package/dist/translations/ur/data.js +0 -1
  1386. package/dist/translations/ur/forms.js +0 -1
  1387. package/dist/translations/ur/layout.js +0 -1
  1388. package/dist/translations/ur/media.js +0 -1
  1389. package/dist/translations/ur/overlays.js +0 -1
  1390. package/dist/translations/ur/retrieval.js +0 -1
  1391. package/dist/translations/ur/shared.js +0 -1
  1392. package/dist/translations/ur/utility.js +0 -1
  1393. package/dist/translations/ur/viewers.js +0 -5
  1394. package/dist/translations/ur.js +0 -1
  1395. package/dist/translations/uz/agent-tools.js +0 -1
  1396. package/dist/translations/uz/charts.js +0 -1
  1397. package/dist/translations/uz/conversation.js +0 -1
  1398. package/dist/translations/uz/data.js +0 -1
  1399. package/dist/translations/uz/forms.js +0 -1
  1400. package/dist/translations/uz/layout.js +0 -1
  1401. package/dist/translations/uz/media.js +0 -1
  1402. package/dist/translations/uz/overlays.js +0 -1
  1403. package/dist/translations/uz/retrieval.js +0 -1
  1404. package/dist/translations/uz/shared.js +0 -1
  1405. package/dist/translations/uz/utility.js +0 -1
  1406. package/dist/translations/uz/viewers.js +0 -5
  1407. package/dist/translations/uz.js +0 -1
  1408. package/dist/translations/vi/agent-tools.js +0 -1
  1409. package/dist/translations/vi/charts.js +0 -1
  1410. package/dist/translations/vi/conversation.js +0 -1
  1411. package/dist/translations/vi/data.js +0 -1
  1412. package/dist/translations/vi/forms.js +0 -1
  1413. package/dist/translations/vi/layout.js +0 -1
  1414. package/dist/translations/vi/media.js +0 -1
  1415. package/dist/translations/vi/overlays.js +0 -1
  1416. package/dist/translations/vi/retrieval.js +0 -1
  1417. package/dist/translations/vi/shared.js +0 -1
  1418. package/dist/translations/vi/utility.js +0 -1
  1419. package/dist/translations/vi/viewers.js +0 -5
  1420. package/dist/translations/vi.js +0 -1
  1421. package/dist/translations/yo/agent-tools.js +0 -1
  1422. package/dist/translations/yo/charts.js +0 -1
  1423. package/dist/translations/yo/conversation.js +0 -1
  1424. package/dist/translations/yo/data.js +0 -1
  1425. package/dist/translations/yo/forms.js +0 -1
  1426. package/dist/translations/yo/layout.js +0 -1
  1427. package/dist/translations/yo/media.js +0 -1
  1428. package/dist/translations/yo/overlays.js +0 -1
  1429. package/dist/translations/yo/retrieval.js +0 -1
  1430. package/dist/translations/yo/shared.js +0 -1
  1431. package/dist/translations/yo/utility.js +0 -1
  1432. package/dist/translations/yo/viewers.js +0 -5
  1433. package/dist/translations/yo.js +0 -1
  1434. package/dist/translations/zh-CN/agent-tools.js +0 -1
  1435. package/dist/translations/zh-CN/charts.js +0 -1
  1436. package/dist/translations/zh-CN/conversation.js +0 -1
  1437. package/dist/translations/zh-CN/data.js +0 -1
  1438. package/dist/translations/zh-CN/forms.js +0 -1
  1439. package/dist/translations/zh-CN/layout.js +0 -1
  1440. package/dist/translations/zh-CN/media.js +0 -1
  1441. package/dist/translations/zh-CN/overlays.js +0 -1
  1442. package/dist/translations/zh-CN/retrieval.js +0 -1
  1443. package/dist/translations/zh-CN/shared.js +0 -1
  1444. package/dist/translations/zh-CN/utility.js +0 -1
  1445. package/dist/translations/zh-CN/viewers.js +0 -5
  1446. package/dist/translations/zh-CN.js +0 -1
  1447. package/dist/translations/zh-TW/agent-tools.js +0 -1
  1448. package/dist/translations/zh-TW/charts.js +0 -1
  1449. package/dist/translations/zh-TW/conversation.js +0 -1
  1450. package/dist/translations/zh-TW/data.js +0 -1
  1451. package/dist/translations/zh-TW/forms.js +0 -1
  1452. package/dist/translations/zh-TW/layout.js +0 -1
  1453. package/dist/translations/zh-TW/media.js +0 -1
  1454. package/dist/translations/zh-TW/overlays.js +0 -1
  1455. package/dist/translations/zh-TW/retrieval.js +0 -1
  1456. package/dist/translations/zh-TW/shared.js +0 -1
  1457. package/dist/translations/zh-TW/utility.js +0 -1
  1458. package/dist/translations/zh-TW/viewers.js +0 -5
  1459. package/dist/translations/zh-TW.js +0 -1
  1460. package/dist/translations/zu/agent-tools.js +0 -1
  1461. package/dist/translations/zu/charts.js +0 -1
  1462. package/dist/translations/zu/conversation.js +0 -1
  1463. package/dist/translations/zu/data.js +0 -1
  1464. package/dist/translations/zu/forms.js +0 -1
  1465. package/dist/translations/zu/layout.js +0 -1
  1466. package/dist/translations/zu/media.js +0 -1
  1467. package/dist/translations/zu/overlays.js +0 -1
  1468. package/dist/translations/zu/retrieval.js +0 -1
  1469. package/dist/translations/zu/shared.js +0 -1
  1470. package/dist/translations/zu/utility.js +0 -1
  1471. package/dist/translations/zu/viewers.js +0 -5
  1472. package/dist/translations/zu.js +0 -1
  1473. package/vscode-css-data.json +0 -1
  1474. package/vscode-html-data.json +0 -1
  1475. package/web-types.json +0 -1
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{setNativeRangeText,nativeAutocorrectAttribute}from"../../../internal/native-text-control.js";import{installFormControlLabelSupport}from"../../../internal/form-control-labels.js";import{FormControlController,reflectFormName}from"../../../internal/form-control-controller.js";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{activeElementIn}from"../../../internal/active-element.js";import{acquireResolvedAriaRelationship}from"../../../internal/aria-controls.js";import{captureComposedFocusRepair,applyComposedFocusRepair}from"../../../internal/focus-navigation.js";import{VALIDITY_ANCHOR}from"../../../internal/anchored-validity.js";import{syncValidityStates}from"../../../internal/custom-states.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{nextId}from"../../../internal/a11y.js";import{closeIcon}from"../../../internal/icons.js";import{autocorrectConverter,normalizeAutocorrect,spellcheckConverter}from"../../../internal/converters.js";import{submitOnEnter}from"../../../internal/submit-on-enter.js";import{dispatchNativeEvent,dispatchNativeInputEvent,relayNativeEvent}from"../../../internal/native-event-relay.js";import{sizes}from"../../../internal/sizes.styles.js";import{styles}from"./token-input.styles.js";import{createStringArrayFormDataState,getFormOwner,isBarredFromValidation,readStringArrayFormDataState,setFormOwner}from"../../../internal/form-associated.js";import{LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_removeWithContext,LYRA_DEFAULT_tokenInputEditWithContext,LYRA_DEFAULT_tokenInputRequired}from"../../../internal/default-strings.generated.js";installFormControlLabelSupport();const delimiterConverter={fromAttribute:value=>value===null?",":value===""||value==="none"?null:value};function normalizeStringArray(value){if(!Array.isArray(value))return Object.freeze([]);try{const normalized=[];for(const entry of value)typeof entry=="string"&&normalized.push(entry);return Object.freeze(normalized)}catch{return Object.freeze([])}}const stringArrayConverter={fromAttribute:value=>{if(value===null)return null;try{const parsed=JSON.parse(value);return normalizeStringArray(parsed)}catch{return[]}},toAttribute:value=>value==null?null:JSON.stringify(value)};class LyraTokenInput extends LyraElement{static{this.defaultStrings={...super.defaultStrings,fieldRequired:LYRA_DEFAULT_fieldRequired,removeWithContext:LYRA_DEFAULT_removeWithContext,tokenInputEditWithContext:LYRA_DEFAULT_tokenInputEditWithContext,tokenInputRequired:LYRA_DEFAULT_tokenInputRequired}}static{this.formAssociated=!0}static{this.styles=[LyraElement.styles,sizes,styles]}static{this.properties={customError:{attribute:"custom-error",reflect:!0,noAccessor:!0},name:{reflect:!0,noAccessor:!0},required:{type:Boolean,reflect:!0,noAccessor:!0},disabled:{type:Boolean,reflect:!0,noAccessor:!0},readonly:{type:Boolean,reflect:!0,noAccessor:!0},defaultValue:{attribute:"value",reflect:!0,useDefault:!0,converter:stringArrayConverter,noAccessor:!0}}}get autocorrect(){return this.autocorrectValue}set autocorrect(next){this.autocorrectValue=normalizeAutocorrect(next),this.requestUpdate()}get editable(){return this._editable}set editable(next){const old=this._editable;this._editable=!!next,this._editable||this.discardTransientState(!1),this.requestUpdate("editable",old)}syncExternalDescription(){const target=this.isConnected?this.inputEl:void 0;if(!target){this.releaseExternalDescription();return}this.externalDescriptionLease?this.externalDescriptionLease.update(target):this.externalDescriptionLease=acquireResolvedAriaRelationship(this,target,"aria-describedby")}releaseExternalDescription(){this.externalDescriptionLease?.release(),this.externalDescriptionLease=void 0}get value(){return this._value}set value(next){const old=this._value;this.settingDefaultValue||(this._valueDirty=!0);const normalized=normalizeStringArray(next);this.captureTokenFocusRepair(normalized),this.editingIndex>=0&&normalized!==old&&(this.editingIndex=-1,this.editDraft="",this.focusEditorPending=!1),this._value=normalized,this.requestUpdate("value",old),this.internals&&this.syncValidity()}get defaultValue(){return this._defaultValue}set defaultValue(next){if(this.reflectingDefaultValue)return;const old=this._defaultValue;this._defaultValue=normalizeStringArray(next),this.reflectingDefaultValue=!0;try{next==null?this.removeAttribute("value"):this.setAttribute("value",JSON.stringify(this._defaultValue))}finally{this.reflectingDefaultValue=!1}this._valueDirty||this.restoreLiveValueFromDefault(),this.requestUpdate("defaultValue",old)}get name(){return this._name}set name(next){const old=this._name;this._name=next??"",reflectFormName(this,this._name),this.syncValidity(),this.requestUpdate("name",old)}get required(){return this._required}set required(next){const old=this._required;this._required=!!next,this.toggleAttribute("required",this._required),this.syncValidity(),this.requestUpdate("required",old)}get disabled(){return this._disabled}set disabled(next){const old=this._disabled,wasEffectivelyDisabled=this.effectiveDisabled;this._disabled=!!next,!wasEffectivelyDisabled&&this.effectiveDisabled&&this.retireDisabledInteraction(),this.toggleAttribute("disabled",this._disabled),this._fieldsetDisabled=this.validityController?.fieldsetDisabled(this._fieldsetDisabled)??this._fieldsetDisabled,this.syncValidity(),this.requestUpdate("disabled",old)}get readonly(){return this._readonly}set readonly(next){const old=this._readonly,nextValue=!!next;!old&&nextValue&&this.discardTransientState(!0),this._readonly=nextValue,this.toggleAttribute("readonly",this._readonly),this.syncValidity(),this.requestUpdate("readonly",old)}constructor(){super(),this.label="",this.hint="",this.errorText="",this.placeholder="",this.spellcheck=!0,this.autocapitalize="",this.autocorrectValue=!0,this.accessibleLabel="",this.size="m",this.pill=!1,this.allowDuplicates=!1,this._editable=!1,this.delimiter=",",this.draft="",this.touched=!1,this.editingIndex=-1,this.editDraft="",this.rovingIndex=0,this.focusEditorPending=!1,this.focusTokenPending=-1,this.editorBlurRelayed=!1,this.slotPresence=new SlotPresenceController(this),this.labelId=nextId("token-input-label"),this.hintId=nextId("token-input-hint"),this.errorId=nextId("token-input-error"),this._value=Object.freeze([]),this._defaultValue=Object.freeze([]),this._valueDirty=!1,this.settingDefaultValue=!1,this.reflectingDefaultValue=!1,this._fieldsetDisabled=!1,this._name="",this._required=!1,this._disabled=!1,this._readonly=!1,this.markInteracted=()=>{this.touched||(this.touched=!0,this.syncValidity())},this.onEditInput=event=>{event.stopPropagation(),!(this.liveDisabled||this.readonly)&&(this.editDraft=event.target.value)},this.onEditFocus=event=>{if(this.liveDisabled){event.stopPropagation();return}this.editorBlurRelayed=!1,relayNativeEvent(this,event)},this.onEditKeyDown=event=>{event.isComposing||event.keyCode===229||(event.key==="Enter"?(event.preventDefault(),this.commitEdit(!0)):event.key==="Escape"&&(event.preventDefault(),event.stopPropagation(),this.cancelEdit()))},this.onEditBlur=event=>{if(this.editorBlurRelayed){event.stopPropagation();return}this.editorBlurRelayed=!0,event.stopPropagation(),queueMicrotask(()=>{!this.isConnected||!this.editable||this.liveDisabled?this.discardTransientState(!1):this.commitEdit(!1),relayNativeEvent(this,event)})},this.onInput=event=>{event.stopPropagation(),!(this.liveDisabled||this.readonly)&&(this.draft=event.target.value)},this.onKeyDown=event=>{event.isComposing||event.keyCode===229||this.liveDisabled||(event.key==="Enter"||this.delimiter!==null&&event.key===this.delimiter?this.draft.trim()?(event.preventDefault(),this.addDraft()):event.key==="Enter"&&submitOnEnter(this,event):event.key==="Tab"?this.draft.trim()&&this.addDraft():event.key==="Backspace"&&!this.draft&&this.value.length&&this.editingIndex<0&&this.removeToken(this.value.length-1))},this.onBlur=event=>{this.liveDisabled||(this.draft.trim()&&this.addDraft(),this.touched=!0),this.syncValidity(),relayNativeEvent(this,event)},this.onFocus=event=>{if(this.liveDisabled){event.stopPropagation();return}relayNativeEvent(this,event)},this.validityController=new FormControlController(this,{invalid:init=>this.emit("lr-invalid",null,init),interacted:this.markInteracted,customError:()=>this.validityController.customValidityMessage}),this.internals=this.validityController.formInternals}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this.syncExternalDescription(),this.syncValidity()}disconnectedCallback(){this.releaseExternalDescription(),this.tokenFocusRepairPending=void 0,this.discardTransientState(!0),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.releaseExternalDescription(),this.isConnected&&this.hasUpdated&&this.syncExternalDescription()}get form(){return getFormOwner(this.internals)}set form(owner){setFormOwner(this,owner)}getForm(){return getFormOwner(this.internals)}get labels(){return this.internals.labels}get validity(){return this.internals.validity}get validationMessage(){return this.internals.validationMessage}get willValidate(){return this.internals.willValidate}get effectiveDisabled(){return this.disabled||this._fieldsetDisabled}formDisabledCallback(disabled){if(this.validityController?.reflectingDisabled)return;const wasEffectivelyDisabled=this.effectiveDisabled;this._fieldsetDisabled=disabled,!wasEffectivelyDisabled&&this.effectiveDisabled&&this.retireDisabledInteraction(),this.syncValidity(),this.requestUpdate()}[VALIDITY_ANCHOR](){return this.inputEl??this.renderRoot?.querySelector('[part="input-wrapper"]')??null}checkValidity(){return this.validityController.checkValidity()}reportValidity(){return this.validityController.syncConstraints(),this.touched=!0,this.syncValidity(),this.internals.reportValidity()}setCustomValidity(message){this.validityController.setCustomValidity(message??""),this.syncValidity()}get liveDisabled(){return this.effectiveDisabled||this.matches(":disabled")}focus(options){this.liveDisabled||this.inputEl?.focus(options)}blur(){const active=activeElementIn(this.shadowRoot);active&&typeof active.blur=="function"&&active.blur()}click(){this.liveDisabled||this.inputEl?.focus()}select(){this.inputEl?.select()}get selectionStart(){return this.inputEl?.selectionStart??null}set selectionStart(value){this.inputEl&&(this.inputEl.selectionStart=value??0)}get selectionEnd(){return this.inputEl?.selectionEnd??null}set selectionEnd(value){this.inputEl&&(this.inputEl.selectionEnd=value??0)}get selectionDirection(){return this.inputEl?.selectionDirection??null}set selectionDirection(value){this.inputEl&&(this.inputEl.selectionDirection=value??"none")}setSelectionRange(selectionStart,selectionEnd,selectionDirection="none"){this.inputEl?.setSelectionRange(selectionStart,selectionEnd,selectionDirection??"none")}setRangeText(replacement,start,end,selectMode="preserve"){const input=this.inputEl;input&&(setNativeRangeText(input,replacement,start,end,selectMode),this.draft=input.value)}get barredFromValidation(){return isBarredFromValidation(this,this.internals)}syncValidity(){const barred=this.barredFromValidation,missing=!barred&&this.required&&this.value.length===0;this.validityController.setValidity(missing?{valueMissing:!0}:{},missing?this.localize("tokenInputRequired"):""),this.toggleAttribute("data-invalid",!barred&&this.touched&&!this.internals.validity.valid),syncValidityStates(this.internals,{required:this.required,hasInteracted:this.touched,barred});const data=new FormData;this.name&&this.value.forEach(token=>data.append(this.name,token)),this.internals.setFormValue(this.name?data:null,createStringArrayFormDataState(this.name,this.value))}updateValue(next){const previousValue=Object.freeze([...this.value]);this.value=next,this.syncValidity();const detail=()=>Object.freeze({value:Object.freeze([...this.value]),previousValue});dispatchNativeInputEvent(this),this.emit("lr-input",detail()),dispatchNativeEvent(this,"change"),this.emit("lr-change",detail())}addDraft(){if(this.liveDisabled||this.readonly)return;const candidates=(this.delimiter?this.draft.split(this.delimiter):[this.draft]).map(token=>token.trim()).filter(Boolean),next=[...this.value],seen=this.allowDuplicates?null:new Set(next),added=[];for(const token of candidates)seen?.has(token)||(seen?.add(token),next.push(token),added.push(token));if(added.length===0){this.draft="";return}const addDetail=()=>Object.freeze({value:added[added.length-1],values:Object.freeze([...added])});this.emit("lr-token-add-request",addDetail(),{cancelable:!0}).defaultPrevented||(this.updateValue(next),this.draft="")}discardTransientState(clearDraft){this.editingIndex=-1,this.editDraft="",this.focusEditorPending=!1,this.focusTokenPending=-1,clearDraft&&(this.draft="",this.inputEl&&(this.inputEl.value=""))}retireDisabledInteraction(){this.tokenFocusRepairPending=void 0,this.discardTransientState(!0);const active=activeElementIn(this.shadowRoot);active&&typeof active.blur=="function"&&active.blur()}captureTokenFocusRepair(next){this.tokenFocusRepairPending=void 0;const tokens=[...this.renderRoot?.querySelectorAll('[part~="token"]')??[]];if(next.length>=tokens.length)return;const active=activeElementIn(this.shadowRoot),token=typeof active?.closest=="function"?active.closest('[part~="token"]'):null;if(!active||!token)return;const index=tokens.indexOf(token);if(index<0)return;const repair=captureComposedFocusRepair(this,active);if(!repair)return;const targetIndex=Math.min(index,Math.max(0,next.length-1));this.rovingIndex=targetIndex,this.tokenFocusRepairPending={index:targetIndex,surface:active.matches('[part~="remove"]')?"remove":"label",repair}}removeToken(index){if(this.liveDisabled||this.readonly)return;const removed=this.value[index];removed===void 0||this.emit("lr-token-remove-request",{value:removed,index},{cancelable:!0}).defaultPrevented||(this.editingIndex>=0&&(this.editingIndex=-1,this.editDraft=""),this.updateValue(this.value.filter((_token,i)=>i!==index)))}get activeTokenIndex(){return this.value.length?Math.min(Math.max(this.rovingIndex,0),this.value.length-1):-1}startEdit(index){this.liveDisabled||this.readonly||!this.editable||index<0||index>=this.value.length||(this.editingIndex=index,this.editDraft=this.value[index],this.rovingIndex=index,this.editorBlurRelayed=!1,this.focusEditorPending=!0)}cancelEdit(){this.editingIndex<0||(this.focusTokenPending=this.editingIndex,this.editingIndex=-1,this.editDraft="")}commitEdit(restoreFocus){if(this.liveDisabled||this.readonly){this.discardTransientState(!1);return}const index=this.editingIndex;if(index<0)return;const previousValue=this.value[index],next=this.editDraft.trim();if(previousValue===void 0||!next||next===previousValue||!this.allowDuplicates&&this.value.some((token,i)=>i!==index&&token===next)){restoreFocus&&(this.focusTokenPending=index),this.editingIndex=-1,this.editDraft="";return}this.emit("lr-token-edit-request",{value:next,previousValue,index},{cancelable:!0}).defaultPrevented||(restoreFocus&&(this.focusTokenPending=index),this.editingIndex=-1,this.editDraft="",this.updateValue(this.value.map((token,i)=>i===index?next:token)))}moveRovingFocus(index){if(!this.value.length)return;const clamped=Math.min(Math.max(index,0),this.value.length-1);this.rovingIndex=clamped,this.focusTokenPending=clamped}onTokenKeyDown(event,index){if(this.liveDisabled)return;const rtl=this.effectiveDirection==="rtl",forward=rtl?"ArrowLeft":"ArrowRight",backward=rtl?"ArrowRight":"ArrowLeft";event.key==="Enter"||event.key===" "||event.key==="F2"?(event.preventDefault(),this.startEdit(index)):event.key===forward?(event.preventDefault(),this.moveRovingFocus(index+1)):event.key===backward?(event.preventDefault(),this.moveRovingFocus(index-1)):event.key==="Home"?(event.preventDefault(),this.moveRovingFocus(0)):event.key==="End"&&(event.preventDefault(),this.moveRovingFocus(this.value.length-1))}stopInternalChange(event){event.stopPropagation()}formResetCallback(){this.restoreLiveValueFromDefault(),this.discardTransientState(!0),this.rovingIndex=0,this.touched=!1,this.syncValidity()}restoreLiveValueFromDefault(){this.settingDefaultValue=!0;try{this.value=[...this._defaultValue]}finally{this.settingDefaultValue=!1}this._valueDirty=!1}formStateRestoreCallback(state2,_mode){this.value=readStringArrayFormDataState(state2),this.discardTransientState(!0),this.rovingIndex=0,this.touched=!1,this.syncValidity()}updated(changed){if(super.updated(changed),this.syncExternalDescription(),this.focusEditorPending){this.focusEditorPending=!1;const editor=this.renderRoot?.querySelector('[part="token-editor"]');editor?.focus(),editor?.select()}if(this.focusTokenPending>=0){const index=this.focusTokenPending;this.focusTokenPending=-1;const label=this.renderRoot?.querySelectorAll('[part="token-label"]')?.[index];label?.focus(),label?.scrollIntoView({block:"nearest",inline:"nearest"})}const pending=this.tokenFocusRepairPending;if(this.tokenFocusRepairPending=void 0,pending){const token=[...this.renderRoot.querySelectorAll('[part~="token"]')][pending.index],target=(pending.surface==="remove"?token?.querySelector('[part~="remove"]'):token?.querySelector('[part~="token-label"]'))??token?.querySelector('[part~="remove"]')??this.inputEl??null;applyComposedFocusRepair(pending.repair,target)&&target?.scrollIntoView({block:"nearest",inline:"nearest"})}}renderRemoveButton(token,index){return html`<button
1
+ import{__decorate}from"tslib";import{setNativeRangeText,nativeAutocorrectAttribute}from"../../../internal/native-text-control.js";import{installFormControlLabelSupport}from"../../../internal/form-control-labels.js";import{FormControlController,reflectFormName}from"../../../internal/form-control-controller.js";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{LyraFormControlElement}from"../../../internal/form-control-element.js";import{shadowFocusTarget}from"../../../internal/active-element.js";import{acquireResolvedAriaRelationship}from"../../../internal/aria-controls.js";import{captureComposedFocusRepair,applyComposedFocusRepair}from"../../../internal/focus-navigation.js";import{VALIDITY_ANCHOR}from"../../../internal/anchored-validity.js";import{syncValidityStates}from"../../../internal/custom-states.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{nextId}from"../../../internal/a11y.js";import{closeIcon}from"../../../internal/icons.js";import{autocorrectConverter,normalizeAutocorrect,spellcheckConverter}from"../../../internal/converters.js";import{submitOnEnter}from"../../../internal/submit-on-enter.js";import{dispatchNativeEvent,dispatchNativeInputEvent,relayNativeEvent}from"../../../internal/native-event-relay.js";import{sizes}from"../../../internal/sizes.styles.js";import{styles}from"./token-input.styles.js";import{createStringArrayFormDataState,getFormOwner,isBarredFromValidation,readStringArrayFormDataState,setFormOwner}from"../../../internal/form-associated.js";import{LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_removeWithContext,LYRA_DEFAULT_tokenInputEditWithContext,LYRA_DEFAULT_tokenInputRequired}from"../../../internal/default-strings.generated.js";installFormControlLabelSupport();const delimiterConverter={fromAttribute:value=>value===null?",":value===""||value==="none"?null:value};function normalizeStringArray(value){if(!Array.isArray(value))return Object.freeze([]);try{const normalized=[];for(const entry of value)typeof entry=="string"&&normalized.push(entry);return Object.freeze(normalized)}catch{return Object.freeze([])}}const stringArrayConverter={fromAttribute:value=>{if(value===null)return null;try{const parsed=JSON.parse(value);return normalizeStringArray(parsed)}catch{return[]}},toAttribute:value=>value==null?null:JSON.stringify(value)};class LyraTokenInput extends LyraFormControlElement{static{this.defaultStrings={...super.defaultStrings,fieldRequired:LYRA_DEFAULT_fieldRequired,removeWithContext:LYRA_DEFAULT_removeWithContext,tokenInputEditWithContext:LYRA_DEFAULT_tokenInputEditWithContext,tokenInputRequired:LYRA_DEFAULT_tokenInputRequired}}static{this.formAssociated=!0}static{this.styles=[LyraElement.styles,sizes,styles]}static{this.properties={customError:{attribute:"custom-error",reflect:!0,noAccessor:!0},name:{reflect:!0,noAccessor:!0},required:{type:Boolean,reflect:!0,noAccessor:!0},disabled:{type:Boolean,reflect:!0,noAccessor:!0},readonly:{type:Boolean,reflect:!0,noAccessor:!0},defaultValue:{attribute:"value",reflect:!0,useDefault:!0,converter:stringArrayConverter,noAccessor:!0}}}get autocorrect(){return this.autocorrectValue}set autocorrect(next){this.autocorrectValue=normalizeAutocorrect(next),this.requestUpdate()}get editable(){return this._editable}set editable(next){const old=this._editable;this._editable=!!next,this._editable||this.discardTransientState(!1),this.requestUpdate("editable",old)}syncExternalDescription(){const target=this.isConnected?this.inputEl:void 0;if(!target){this.releaseExternalDescription();return}this.externalDescriptionLease?this.externalDescriptionLease.update(target):this.externalDescriptionLease=acquireResolvedAriaRelationship(this,target,"aria-describedby")}releaseExternalDescription(){this.externalDescriptionLease?.release(),this.externalDescriptionLease=void 0}get value(){return this._value}set value(next){const old=this._value;this.settingDefaultValue||(this._valueDirty=!0);const normalized=normalizeStringArray(next);this.captureTokenFocusRepair(normalized),this.editingIndex>=0&&normalized!==old&&(this.editingIndex=-1,this.editDraft="",this.focusEditorPending=!1),this._value=normalized,this.requestUpdate("value",old),this.internals&&this.syncValidity()}get defaultValue(){return this._defaultValue}set defaultValue(next){if(this.reflectingDefaultValue)return;const old=this._defaultValue;this._defaultValue=normalizeStringArray(next),this.reflectingDefaultValue=!0;try{next==null?this.removeAttribute("value"):this.setAttribute("value",JSON.stringify(this._defaultValue))}finally{this.reflectingDefaultValue=!1}this._valueDirty||this.restoreLiveValueFromDefault(),this.requestUpdate("defaultValue",old)}get name(){return this._name}set name(next){const old=this._name;this._name=next??"",reflectFormName(this,this._name),this.syncValidity(),this.requestUpdate("name",old)}get required(){return this._required}set required(next){const old=this._required;this._required=!!next,this.toggleAttribute("required",this._required),this.syncValidity(),this.requestUpdate("required",old)}get disabled(){return this._disabled}set disabled(next){const old=this._disabled,wasEffectivelyDisabled=this.effectiveDisabled;this._disabled=!!next,!wasEffectivelyDisabled&&this.effectiveDisabled&&this.retireDisabledInteraction(),this.toggleAttribute("disabled",this._disabled),this._fieldsetDisabled=this.validityController?.fieldsetDisabled(this._fieldsetDisabled)??this._fieldsetDisabled,this.syncValidity(),this.requestUpdate("disabled",old)}get readonly(){return this._readonly}set readonly(next){const old=this._readonly,nextValue=!!next;!old&&nextValue&&this.discardTransientState(!0),this._readonly=nextValue,this.toggleAttribute("readonly",this._readonly),this.syncValidity(),this.requestUpdate("readonly",old)}constructor(){super(),this.label="",this.hint="",this.errorText="",this.placeholder="",this.spellcheck=!0,this.autocapitalize="",this.autocorrectValue=!0,this.accessibleLabel="",this.size="m",this.pill=!1,this.allowDuplicates=!1,this._editable=!1,this.delimiter=",",this.draft="",this.touched=!1,this.editingIndex=-1,this.editDraft="",this.rovingIndex=0,this.focusEditorPending=!1,this.focusTokenPending=-1,this.editorBlurRelayed=!1,this.slotPresence=new SlotPresenceController(this),this.labelId=nextId("token-input-label"),this.hintId=nextId("token-input-hint"),this.errorId=nextId("token-input-error"),this._value=Object.freeze([]),this._defaultValue=Object.freeze([]),this._valueDirty=!1,this.settingDefaultValue=!1,this.reflectingDefaultValue=!1,this._fieldsetDisabled=!1,this._name="",this._required=!1,this._disabled=!1,this._readonly=!1,this.markInteracted=()=>{this.touched||(this.touched=!0,this.syncValidity())},this.onEditInput=event=>{event.stopPropagation(),!(this.liveDisabled||this.readonly)&&(this.editDraft=event.target.value)},this.onEditFocus=event=>{if(this.liveDisabled){event.stopPropagation();return}this.editorBlurRelayed=!1,relayNativeEvent(this,event)},this.onEditKeyDown=event=>{event.isComposing||event.keyCode===229||(event.key==="Enter"?(event.preventDefault(),this.commitEdit(!0)):event.key==="Escape"&&(event.preventDefault(),event.stopPropagation(),this.cancelEdit()))},this.onEditBlur=event=>{if(this.editorBlurRelayed){event.stopPropagation();return}this.editorBlurRelayed=!0,event.stopPropagation(),queueMicrotask(()=>{!this.isConnected||!this.editable||this.liveDisabled?this.discardTransientState(!1):this.commitEdit(!1),relayNativeEvent(this,event)})},this.onInput=event=>{event.stopPropagation(),!(this.liveDisabled||this.readonly)&&(this.draft=event.target.value)},this.onKeyDown=event=>{event.isComposing||event.keyCode===229||this.liveDisabled||(event.key==="Enter"||this.delimiter!==null&&event.key===this.delimiter?this.draft.trim()?(event.preventDefault(),this.addDraft()):event.key==="Enter"&&submitOnEnter(this,event):event.key==="Tab"?this.draft.trim()&&this.addDraft():event.key==="Backspace"&&!this.draft&&this.value.length&&this.editingIndex<0&&this.removeToken(this.value.length-1))},this.onBlur=event=>{this.liveDisabled||(this.draft.trim()&&this.addDraft(),this.touched=!0),this.syncValidity(),relayNativeEvent(this,event)},this.onFocus=event=>{if(this.liveDisabled){event.stopPropagation();return}relayNativeEvent(this,event)},this.validityController=new FormControlController(this,{invalid:init=>this.emit("lr-invalid",null,init),interacted:this.markInteracted,customError:()=>this.validityController.customValidityMessage}),this.internals=this.validityController.formInternals}connectedCallback(){super.connectedCallback(),this.hasUpdated&&this.syncExternalDescription(),this.syncValidity()}disconnectedCallback(){this.releaseExternalDescription(),this.tokenFocusRepairPending=void 0,this.discardTransientState(!0),super.disconnectedCallback()}adoptedCallback(){super.adoptedCallback(),this.releaseExternalDescription(),this.isConnected&&this.hasUpdated&&this.syncExternalDescription()}get form(){return getFormOwner(this.internals)}set form(owner){setFormOwner(this,owner)}get effectiveDisabled(){return this.disabled||this._fieldsetDisabled}formDisabledCallback(disabled){if(this.validityController?.reflectingDisabled)return;const wasEffectivelyDisabled=this.effectiveDisabled;this._fieldsetDisabled=disabled,!wasEffectivelyDisabled&&this.effectiveDisabled&&this.retireDisabledInteraction(),this.syncValidity(),this.requestUpdate()}[VALIDITY_ANCHOR](){return this.inputEl??this.renderRoot?.querySelector('[part="input-wrapper"]')??null}checkValidity(){return this.validityController.checkValidity()}reportValidity(){return this.validityController.syncConstraints(),this.touched=!0,this.syncValidity(),this.internals.reportValidity()}setCustomValidity(message){this.validityController.setCustomValidity(message??""),this.syncValidity()}get liveDisabled(){return this.effectiveDisabled||this.matches(":disabled")}focus(options){this.liveDisabled||this.inputEl?.focus(options)}blur(){const active=shadowFocusTarget(this);active&&typeof active.blur=="function"&&active.blur()}click(){this.liveDisabled||this.inputEl?.focus()}select(){this.inputEl?.select()}get selectionStart(){return this.inputEl?.selectionStart??null}set selectionStart(value){this.inputEl&&(this.inputEl.selectionStart=value??0)}get selectionEnd(){return this.inputEl?.selectionEnd??null}set selectionEnd(value){this.inputEl&&(this.inputEl.selectionEnd=value??0)}get selectionDirection(){return this.inputEl?.selectionDirection??null}set selectionDirection(value){this.inputEl&&(this.inputEl.selectionDirection=value??"none")}setSelectionRange(selectionStart,selectionEnd,selectionDirection="none"){this.inputEl?.setSelectionRange(selectionStart,selectionEnd,selectionDirection??"none")}setRangeText(replacement,start,end,selectMode="preserve"){const input=this.inputEl;input&&(setNativeRangeText(input,replacement,start,end,selectMode),this.draft=input.value)}get barredFromValidation(){return isBarredFromValidation(this,this.internals)}syncValidity(){const barred=this.barredFromValidation,missing=!barred&&this.required&&this.value.length===0;this.validityController.setValidity(missing?{valueMissing:!0}:{},missing?this.localize("tokenInputRequired"):""),this.toggleAttribute("data-invalid",!barred&&this.touched&&!this.internals.validity.valid),syncValidityStates(this.internals,{required:this.required,hasInteracted:this.touched,barred});const data=new FormData;this.name&&this.value.forEach(token=>data.append(this.name,token)),this.internals.setFormValue(this.name?data:null,createStringArrayFormDataState(this.name,this.value))}updateValue(next){const previousValue=Object.freeze([...this.value]);this.value=next,this.syncValidity();const detail=()=>Object.freeze({value:Object.freeze([...this.value]),previousValue});dispatchNativeInputEvent(this),this.emit("lr-input",detail()),dispatchNativeEvent(this,"change"),this.emit("lr-change",detail())}addDraft(){if(this.liveDisabled||this.readonly)return;const candidates=(this.delimiter?this.draft.split(this.delimiter):[this.draft]).map(token=>token.trim()).filter(Boolean),next=[...this.value],seen=this.allowDuplicates?null:new Set(next),added=[];for(const token of candidates)seen?.has(token)||(seen?.add(token),next.push(token),added.push(token));if(added.length===0){this.draft="";return}const addDetail=()=>Object.freeze({value:added[added.length-1],values:Object.freeze([...added])});this.emit("lr-token-add-request",addDetail(),{cancelable:!0}).defaultPrevented||(this.updateValue(next),this.draft="")}discardTransientState(clearDraft){this.editingIndex=-1,this.editDraft="",this.focusEditorPending=!1,this.focusTokenPending=-1,clearDraft&&(this.draft="",this.inputEl&&(this.inputEl.value=""))}retireDisabledInteraction(){this.tokenFocusRepairPending=void 0,this.discardTransientState(!0);const active=shadowFocusTarget(this);active&&typeof active.blur=="function"&&active.blur()}captureTokenFocusRepair(next){this.tokenFocusRepairPending=void 0;const tokens=[...this.renderRoot?.querySelectorAll('[part~="token"]')??[]];if(next.length>=tokens.length)return;const active=shadowFocusTarget(this),token=typeof active?.closest=="function"?active.closest('[part~="token"]'):null;if(!active||!token)return;const index=tokens.indexOf(token);if(index<0)return;const repair=captureComposedFocusRepair(this,active);if(!repair)return;const targetIndex=Math.min(index,Math.max(0,next.length-1));this.rovingIndex=targetIndex,this.tokenFocusRepairPending={index:targetIndex,surface:active.matches('[part~="remove"]')?"remove":"label",repair}}removeToken(index){if(this.liveDisabled||this.readonly)return;const removed=this.value[index];removed===void 0||this.emit("lr-token-remove-request",{value:removed,index},{cancelable:!0}).defaultPrevented||(this.editingIndex>=0&&(this.editingIndex=-1,this.editDraft=""),this.updateValue(this.value.filter((_token,i)=>i!==index)))}get activeTokenIndex(){return this.value.length?Math.min(Math.max(this.rovingIndex,0),this.value.length-1):-1}startEdit(index){this.liveDisabled||this.readonly||!this.editable||index<0||index>=this.value.length||(this.editingIndex=index,this.editDraft=this.value[index],this.rovingIndex=index,this.editorBlurRelayed=!1,this.focusEditorPending=!0)}cancelEdit(){this.editingIndex<0||(this.focusTokenPending=this.editingIndex,this.editingIndex=-1,this.editDraft="")}commitEdit(restoreFocus){if(this.liveDisabled||this.readonly){this.discardTransientState(!1);return}const index=this.editingIndex;if(index<0)return;const previousValue=this.value[index],next=this.editDraft.trim();if(previousValue===void 0||!next||next===previousValue||!this.allowDuplicates&&this.value.some((token,i)=>i!==index&&token===next)){restoreFocus&&(this.focusTokenPending=index),this.editingIndex=-1,this.editDraft="";return}this.emit("lr-token-edit-request",{value:next,previousValue,index},{cancelable:!0}).defaultPrevented||(restoreFocus&&(this.focusTokenPending=index),this.editingIndex=-1,this.editDraft="",this.updateValue(this.value.map((token,i)=>i===index?next:token)))}moveRovingFocus(index){if(!this.value.length)return;const clamped=Math.min(Math.max(index,0),this.value.length-1);this.rovingIndex=clamped,this.focusTokenPending=clamped}onTokenKeyDown(event,index){if(this.liveDisabled)return;const rtl=this.effectiveDirection==="rtl",forward=rtl?"ArrowLeft":"ArrowRight",backward=rtl?"ArrowRight":"ArrowLeft";event.key==="Enter"||event.key===" "||event.key==="F2"?(event.preventDefault(),this.startEdit(index)):event.key===forward?(event.preventDefault(),this.moveRovingFocus(index+1)):event.key===backward?(event.preventDefault(),this.moveRovingFocus(index-1)):event.key==="Home"?(event.preventDefault(),this.moveRovingFocus(0)):event.key==="End"&&(event.preventDefault(),this.moveRovingFocus(this.value.length-1))}stopInternalChange(event){event.stopPropagation()}formResetCallback(){this.restoreLiveValueFromDefault(),this.discardTransientState(!0),this.rovingIndex=0,this.touched=!1,this.syncValidity()}restoreLiveValueFromDefault(){this.settingDefaultValue=!0;try{this.value=[...this._defaultValue]}finally{this.settingDefaultValue=!1}this._valueDirty=!1}formStateRestoreCallback(state2,_mode){this.value=readStringArrayFormDataState(state2),this.discardTransientState(!0),this.rovingIndex=0,this.touched=!1,this.syncValidity()}updated(changed){if(super.updated(changed),this.syncExternalDescription(),this.focusEditorPending){this.focusEditorPending=!1;const editor=this.renderRoot?.querySelector('[part="token-editor"]');editor?.focus(),editor?.select()}if(this.focusTokenPending>=0){const index=this.focusTokenPending;this.focusTokenPending=-1;const label=this.renderRoot?.querySelectorAll('[part="token-label"]')?.[index];label?.focus(),label?.scrollIntoView({block:"nearest",inline:"nearest"})}const pending=this.tokenFocusRepairPending;if(this.tokenFocusRepairPending=void 0,pending){const token=[...this.renderRoot.querySelectorAll('[part~="token"]')][pending.index],target=(pending.surface==="remove"?token?.querySelector('[part~="remove"]'):token?.querySelector('[part~="token-label"]'))??token?.querySelector('[part~="remove"]')??this.inputEl??null;applyComposedFocusRepair(pending.repair,target)&&target?.scrollIntoView({block:"nearest",inline:"nearest"})}}renderRemoveButton(token,index){return html`<button
2
2
  part="remove"
3
3
  type="button"
4
4
  aria-label=${this.localize("removeWithContext",void 0,{label:token})}
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{activateNonmodalOverlay,composedContains,deepActiveElement}from"../../../internal/nonmodal-overlay-manager.js";import{activeElementIn}from"../../../internal/active-element.js";import{isKeyboardFocusEvent}from"../../../internal/focus-modality.js";import{hostAriaLabel,nextId}from"../../../internal/a11y.js";import{applyComposedFocusRepair,captureComposedFocusRepair,isComposedFocusAvailable,repairComposedFocus}from"../../../internal/focus-navigation.js";import{chevronIcon}from"../../../internal/icons.js";import{collectInitialSlotAssignment}from"../../../internal/initial-slot-collection.js";import{resolveGuardedRel}from"../../../internal/link-rel.js";import{LyraElement}from"../../../internal/lyra-element.js";import{AccessibleTextController}from"../../../internal/accessible-text-controller.js";import{renderInertPresentation}from"../../../internal/inert-presentation.js";import{tag}from"../../../internal/prefix.js";import{requestThenCommit}from"../../../internal/request-commit.js";import{safeLinkHref}from"../../../internal/safe-url.js";import{deferredPlace as place,syncTopLayerRelease,topLayerPlacement}from"../../../internal/anchored-overlay-runtime.js";import{resolveEffectivePositioningStrategy}from"../../../internal/positioning-strategy.js";import{rtlAwarePlacement}from"../../../internal/rtl.js";import{markVetoGuardWrite,VetoWriteGuard}from"../../../internal/veto-write-guard.js";import{styles}from"./app-rail-item.styles.js";import{LYRA_DEFAULT_appRailItemCollapse,LYRA_DEFAULT_appRailItemExpand}from"../../../internal/default-strings.generated.js";class LyraAppRailItem extends LyraElement{constructor(){super(...arguments),this.href="",this.target="",this.disabled=!1,this.current=!1,this.tooltip=!1,this.topLayer=!1,this.railTopLayer=!1,this._expanded=!1,this.toggleGuard=new VetoWriteGuard,this.showTooltip=!1,this.hasEndSlot=!1,this.hasMetaSlot=!1,this.labelTextObserver=new AccessibleTextController(this,[],()=>this.requestUpdate(),[],!1),this.recoverFocusAfterIconOnly=!1,this.childrenId=nextId("app-rail-item-children"),this.onToggleClick=event=>{event.stopPropagation();const next=!this._expanded;requestThenCommit({requestDetail:{expanded:next},emitRequest:(detail,init)=>this.emit("lr-toggle-request",detail,init),guard:this.toggleGuard,commit:()=>{this.expanded=next,this.emit("lr-toggle",{expanded:next})}})},this.onFocusShow=event=>{if(this.tooltip&&this.hasAttribute("icon-only")&&(event.type!=="focus"||isKeyboardFocusEvent(event))&&(this.showTooltip=!0),event.type!=="focus")return;const related=event.relatedTarget;related&&related.nodeType===1&&isComposedFocusAvailable(related)&&(this.focusReturnTarget=related)},this.onBlurHide=()=>{this.showTooltip=!1},this.onEndSlotChange=event=>{this.applyEndSlotPresence(event.target)},this.onMetaSlotChange=event=>{this.applyMetaSlotPresence(event.target)}}static{this.defaultStrings={...super.defaultStrings,appRailItemCollapse:LYRA_DEFAULT_appRailItemCollapse,appRailItemExpand:LYRA_DEFAULT_appRailItemExpand}}static{this.styles=[LyraElement.styles,styles]}static get observedAttributes(){return[...super.observedAttributes,"icon-only"]}syncRailTopLayer(){const rail=this.closest(tag("app-rail"));this.railTopLayer=rail?.topLayer===!0}get effectiveTopLayer(){return this.topLayer||this.railTopLayer}get expanded(){return this._expanded}set expanded(next){const old=this._expanded;this._expanded=next,markVetoGuardWrite(this.toggleGuard),this.requestUpdate("expanded",old)}get hasChildrenSlotted(){return Array.from(this.children).some(el=>el.getAttribute("slot")==="children")}connectedCallback(){super.connectedCallback(),this.syncRailTopLayer(),this.armChildrenObserver(),this.syncOwnedChildren()}armChildrenObserver(){this.childrenObserver?.disconnect();const MutationObserverCtor=this.ownerDocument.defaultView?.MutationObserver;MutationObserverCtor&&(this.childrenObserver=new MutationObserverCtor(()=>{this.syncOwnedChildren(),this.requestUpdate()}),this.childrenObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["slot"]}))}syncOwnedChildren(){if(!this.isConnected)return;const iconOnly=this.hasAttribute("icon-only"),itemTag=tag("app-rail-item");for(const node of this.querySelectorAll(itemTag))(node.parentElement?.closest(itemTag)??null)===this&&node.toggleAttribute("icon-only",iconOnly)}get labelText(){return Array.from(this.childNodes).filter(node=>node.nodeType===3||node.nodeType===1&&!node.getAttribute("slot")).map(n=>n.textContent??"").join("").trim()}get tooltipText(){return hostAriaLabel(this)??(this.labelText||"")}applyEndSlotPresence(slot){this.hasEndSlot=slot.assignedNodes({flatten:!0}).some(node=>node.nodeType!==3||(node.textContent??"").trim()!=="")}applyMetaSlotPresence(slot){this.hasMetaSlot=slot.assignedNodes({flatten:!0}).some(node=>node.nodeType!==3||(node.textContent??"").trim()!=="")}attributeChangedCallback(name,oldValue,newValue){if(super.attributeChangedCallback(name,oldValue,newValue),!(name!=="icon-only"||oldValue===newValue)){if(newValue===null)this.showTooltip=!1;else{const active=deepActiveElement(this.ownerDocument),toggle=this.renderRoot?.querySelector('[part="toggle"]');this.recoverFocusAfterIconOnly=active===toggle||Array.from(this.children).some(child=>child.getAttribute("slot")==="children"&&composedContains(child,active))}this.syncOwnedChildren(),this.requestUpdate()}}firstUpdated(changed){super.firstUpdated(changed);const metaSlot=this.metaSlot,endSlot=this.endSlot;queueMicrotask(()=>{collectInitialSlotAssignment(metaSlot,s=>this.applyMetaSlotPresence(s)),collectInitialSlotAssignment(endSlot,s=>this.applyEndSlotPresence(s))})}willUpdate(changed){super.willUpdate(changed),changed.has("tooltip")&&!this.tooltip&&(this.showTooltip=!1),this.labelTextObserver.setEnabled(this.showTooltip);const children=this.renderRoot?.querySelector('[part="children"]');if(changed.has("expanded")&&!this._expanded&&children&&repairComposedFocus(children,()=>this.renderRoot.querySelector('[part="toggle"]')),changed.has("href")||changed.has("disabled")){const previous=this.renderRoot?.querySelector('[part="base"]')??null,nextIsLink=!!safeLinkHref(this.href)&&!this.disabled,ownerReplaced=previous!==null&&previous.localName==="a"!==nextIsLink;this.semanticFocusRepair=ownerReplaced&&activeElementIn(this.shadowRoot)===previous?captureComposedFocusRepair(this,this.focusFallback()??previous)??void 0:void 0}}updated(changed){super.updated(changed),this.recoverFocusAfterIconOnly&&(this.recoverFocusAfterIconOnly=!1,this.scheduleAfterUpdate(()=>{const base=this.renderRoot.querySelector('[part="base"]');base&&isComposedFocusAvailable(base)&&!composedContains(base,deepActiveElement(this.ownerDocument))&&base.focus()},"app-rail-item-icon-only-focus"));const focusRepair=this.semanticFocusRepair;this.semanticFocusRepair=void 0,focusRepair&&this.scheduleAfterUpdate(()=>{const replacement=this.renderRoot.querySelector('[part="base"]'),target=replacement&&isComposedFocusAvailable(replacement)?replacement:this.focusFallback();applyComposedFocusRepair(focusRepair,target)},"app-rail-item-owner-focus");const popup=this.renderRoot.querySelector('[part="tooltip"]');if(!popup){this.stopPositioning?.(),this.stopPositioning=void 0,this.tooltipOverlay?.deactivate({restoreFocus:!1}),this.tooltipOverlay=void 0;return}if(this.tooltipOverlay?.isActive()||(this.tooltipOverlay=activateNonmodalOverlay({host:this,panel:()=>this.renderRoot.querySelector('[part="tooltip"]'),onEscape:()=>{this.showTooltip=!1},restoreFocusTo:null})),changed.has("showTooltip")||changed.has("topLayer")||changed.has("railTopLayer")||!this.stopPositioning){this.stopPositioning?.();const anchor=this.renderRoot.querySelector('[part="base"]'),topLayer=this.effectiveTopLayer;this.placedTopLayer=syncTopLayerRelease(popup,this.placedTopLayer,topLayer),this.stopPositioning=place(anchor,popup,{placement:rtlAwarePlacement("right",this),...topLayerPlacement(topLayer,resolveEffectivePositioningStrategy(this,void 0,"fixed"))})}}disconnectedCallback(){super.disconnectedCallback(),this.semanticFocusRepair=void 0,this.focusReturnTarget=void 0,this.childrenObserver?.disconnect(),this.childrenObserver=void 0,this.stopPositioning?.(),this.stopPositioning=void 0,this.tooltipOverlay?.deactivate({restoreFocus:!1}),this.tooltipOverlay=void 0,this.showTooltip=!1}adoptedCallback(){super.adoptedCallback(),this.labelTextObserver.adopted()}focusFallback(){if(this.focusReturnTarget&&isComposedFocusAvailable(this.focusReturnTarget))return this.focusReturnTarget;const owner=this.closest(tag("app-rail"))?.shadowRoot?.querySelector('[part~="base"], [part~="panel"]')??null;return owner&&isComposedFocusAvailable(owner)?owner:null}click(){this.disabled||this.renderRoot.querySelector('[part~="base"]')?.click()}render(){const label=hostAriaLabel(this),href=safeLinkHref(this.href),content=html`
1
+ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{activateNonmodalOverlay,composedContains,deepActiveElement}from"../../../internal/nonmodal-overlay-manager.js";import{shadowFocusTarget}from"../../../internal/active-element.js";import{isKeyboardFocusEvent}from"../../../internal/focus-modality.js";import{hostAriaLabel,nextId}from"../../../internal/a11y.js";import{applyComposedFocusRepair,captureComposedFocusRepair,isComposedFocusAvailable,repairComposedFocus}from"../../../internal/focus-navigation.js";import{chevronIcon}from"../../../internal/icons.js";import{collectInitialSlotAssignment}from"../../../internal/initial-slot-collection.js";import{resolveGuardedRel}from"../../../internal/link-rel.js";import{LyraElement}from"../../../internal/lyra-element.js";import{AccessibleTextController}from"../../../internal/accessible-text-controller.js";import{renderInertPresentation}from"../../../internal/inert-presentation.js";import{tag}from"../../../internal/prefix.js";import{requestThenCommit}from"../../../internal/request-commit.js";import{safeLinkHref}from"../../../internal/safe-url.js";import{deferredPlace as place,syncTopLayerRelease,topLayerPlacement}from"../../../internal/anchored-overlay-runtime.js";import{resolveEffectivePositioningStrategy}from"../../../internal/positioning-strategy.js";import{rtlAwarePlacement}from"../../../internal/rtl.js";import{markVetoGuardWrite,VetoWriteGuard}from"../../../internal/veto-write-guard.js";import{styles}from"./app-rail-item.styles.js";import{LYRA_DEFAULT_appRailItemCollapse,LYRA_DEFAULT_appRailItemExpand}from"../../../internal/default-strings.generated.js";class LyraAppRailItem extends LyraElement{constructor(){super(...arguments),this.href="",this.target="",this.disabled=!1,this.current=!1,this.tooltip=!1,this.topLayer=!1,this.railTopLayer=!1,this._expanded=!1,this.toggleGuard=new VetoWriteGuard,this.showTooltip=!1,this.hasEndSlot=!1,this.hasMetaSlot=!1,this.labelTextObserver=new AccessibleTextController(this,[],()=>this.requestUpdate(),[],!1),this.recoverFocusAfterIconOnly=!1,this.childrenId=nextId("app-rail-item-children"),this.onToggleClick=event=>{event.stopPropagation();const next=!this._expanded;requestThenCommit({requestDetail:{expanded:next},emitRequest:(detail,init)=>this.emit("lr-toggle-request",detail,init),guard:this.toggleGuard,commit:()=>{this.expanded=next,this.emit("lr-toggle",{expanded:next})}})},this.onFocusShow=event=>{if(this.tooltip&&this.hasAttribute("icon-only")&&(event.type!=="focus"||isKeyboardFocusEvent(event))&&(this.showTooltip=!0),event.type!=="focus")return;const related=event.relatedTarget;related&&related.nodeType===1&&isComposedFocusAvailable(related)&&(this.focusReturnTarget=related)},this.onBlurHide=()=>{this.showTooltip=!1},this.onEndSlotChange=event=>{this.applyEndSlotPresence(event.target)},this.onMetaSlotChange=event=>{this.applyMetaSlotPresence(event.target)}}static{this.defaultStrings={...super.defaultStrings,appRailItemCollapse:LYRA_DEFAULT_appRailItemCollapse,appRailItemExpand:LYRA_DEFAULT_appRailItemExpand}}static{this.styles=[LyraElement.styles,styles]}static get observedAttributes(){return[...super.observedAttributes,"icon-only"]}syncRailTopLayer(){const rail=this.closest(tag("app-rail"));this.railTopLayer=rail?.topLayer===!0}get effectiveTopLayer(){return this.topLayer||this.railTopLayer}get expanded(){return this._expanded}set expanded(next){const old=this._expanded;this._expanded=next,markVetoGuardWrite(this.toggleGuard),this.requestUpdate("expanded",old)}get hasChildrenSlotted(){return Array.from(this.children).some(el=>el.getAttribute("slot")==="children")}connectedCallback(){super.connectedCallback(),this.syncRailTopLayer(),this.armChildrenObserver(),this.syncOwnedChildren()}armChildrenObserver(){this.childrenObserver?.disconnect();const MutationObserverCtor=this.ownerDocument.defaultView?.MutationObserver;MutationObserverCtor&&(this.childrenObserver=new MutationObserverCtor(()=>{this.syncOwnedChildren(),this.requestUpdate()}),this.childrenObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["slot"]}))}syncOwnedChildren(){if(!this.isConnected)return;const iconOnly=this.hasAttribute("icon-only"),itemTag=tag("app-rail-item");for(const node of this.querySelectorAll(itemTag))(node.parentElement?.closest(itemTag)??null)===this&&node.toggleAttribute("icon-only",iconOnly)}get labelText(){return Array.from(this.childNodes).filter(node=>node.nodeType===3||node.nodeType===1&&!node.getAttribute("slot")).map(n=>n.textContent??"").join("").trim()}get tooltipText(){return hostAriaLabel(this)??(this.labelText||"")}applyEndSlotPresence(slot){this.hasEndSlot=slot.assignedNodes({flatten:!0}).some(node=>node.nodeType!==3||(node.textContent??"").trim()!=="")}applyMetaSlotPresence(slot){this.hasMetaSlot=slot.assignedNodes({flatten:!0}).some(node=>node.nodeType!==3||(node.textContent??"").trim()!=="")}attributeChangedCallback(name,oldValue,newValue){if(super.attributeChangedCallback(name,oldValue,newValue),!(name!=="icon-only"||oldValue===newValue)){if(newValue===null)this.showTooltip=!1;else{const active=deepActiveElement(this.ownerDocument),toggle=this.renderRoot?.querySelector('[part="toggle"]');this.recoverFocusAfterIconOnly=active===toggle||Array.from(this.children).some(child=>child.getAttribute("slot")==="children"&&composedContains(child,active))}this.syncOwnedChildren(),this.requestUpdate()}}firstUpdated(changed){super.firstUpdated(changed);const metaSlot=this.metaSlot,endSlot=this.endSlot;queueMicrotask(()=>{collectInitialSlotAssignment(metaSlot,s=>this.applyMetaSlotPresence(s)),collectInitialSlotAssignment(endSlot,s=>this.applyEndSlotPresence(s))})}willUpdate(changed){super.willUpdate(changed),changed.has("tooltip")&&!this.tooltip&&(this.showTooltip=!1),this.labelTextObserver.setEnabled(this.showTooltip);const children=this.renderRoot?.querySelector('[part="children"]');if(changed.has("expanded")&&!this._expanded&&children&&repairComposedFocus(children,()=>this.renderRoot.querySelector('[part="toggle"]')),changed.has("href")||changed.has("disabled")){const previous=this.renderRoot?.querySelector('[part="base"]')??null,nextIsLink=!!safeLinkHref(this.href)&&!this.disabled,ownerReplaced=previous!==null&&previous.localName==="a"!==nextIsLink;this.semanticFocusRepair=ownerReplaced&&shadowFocusTarget(this)===previous?captureComposedFocusRepair(this,this.focusFallback()??previous)??void 0:void 0}}updated(changed){super.updated(changed),this.recoverFocusAfterIconOnly&&(this.recoverFocusAfterIconOnly=!1,this.scheduleAfterUpdate(()=>{const base=this.renderRoot.querySelector('[part="base"]');base&&isComposedFocusAvailable(base)&&!composedContains(base,deepActiveElement(this.ownerDocument))&&base.focus()},"app-rail-item-icon-only-focus"));const focusRepair=this.semanticFocusRepair;this.semanticFocusRepair=void 0,focusRepair&&this.scheduleAfterUpdate(()=>{const replacement=this.renderRoot.querySelector('[part="base"]'),target=replacement&&isComposedFocusAvailable(replacement)?replacement:this.focusFallback();applyComposedFocusRepair(focusRepair,target)},"app-rail-item-owner-focus");const popup=this.renderRoot.querySelector('[part="tooltip"]');if(!popup){this.stopPositioning?.(),this.stopPositioning=void 0,this.tooltipOverlay?.deactivate({restoreFocus:!1}),this.tooltipOverlay=void 0;return}if(this.tooltipOverlay?.isActive()||(this.tooltipOverlay=activateNonmodalOverlay({host:this,panel:()=>this.renderRoot.querySelector('[part="tooltip"]'),onEscape:()=>{this.showTooltip=!1},restoreFocusTo:null})),changed.has("showTooltip")||changed.has("topLayer")||changed.has("railTopLayer")||!this.stopPositioning){this.stopPositioning?.();const anchor=this.renderRoot.querySelector('[part="base"]'),topLayer=this.effectiveTopLayer;this.placedTopLayer=syncTopLayerRelease(popup,this.placedTopLayer,topLayer),this.stopPositioning=place(anchor,popup,{placement:rtlAwarePlacement("right",this),...topLayerPlacement(topLayer,resolveEffectivePositioningStrategy(this,void 0,"fixed"))})}}disconnectedCallback(){super.disconnectedCallback(),this.semanticFocusRepair=void 0,this.focusReturnTarget=void 0,this.childrenObserver?.disconnect(),this.childrenObserver=void 0,this.stopPositioning?.(),this.stopPositioning=void 0,this.tooltipOverlay?.deactivate({restoreFocus:!1}),this.tooltipOverlay=void 0,this.showTooltip=!1}adoptedCallback(){super.adoptedCallback(),this.labelTextObserver.adopted()}focusFallback(){if(this.focusReturnTarget&&isComposedFocusAvailable(this.focusReturnTarget))return this.focusReturnTarget;const owner=this.closest(tag("app-rail"))?.shadowRoot?.querySelector('[part~="base"], [part~="panel"]')??null;return owner&&isComposedFocusAvailable(owner)?owner:null}click(){this.disabled||this.renderRoot.querySelector('[part~="base"]')?.click()}render(){const label=hostAriaLabel(this),href=safeLinkHref(this.href),content=html`
2
2
  ${this.current?html`<span part="current-indicator" aria-hidden="true"></span>`:nothing}
3
3
  ${renderInertPresentation(html`<slot name="start"><slot name="icon"></slot></slot>`,{part:"icon"})}
4
4
  <span part="label"><slot></slot></span>
@@ -442,7 +442,7 @@ maxRailWidth:number|string;private pixelsOf;private get railWidthInPixels();
442
442
  * `transition: inline-size` during the drag, which otherwise visibly "chases" the pointer
443
443
  * instead of tracking it 1:1. Read-only -- this component owns the transitions entirely; there
444
444
  * is no public setter. */
445
- get dragging():boolean;private _dragging;private setDragging;private hasHeaderSlot;private hasFooterSlot;private persistReady;private _mode;private _lastReflectedMode?;private pendingInitialModeAnnouncement?;private forced;private hotkeyWindow?;private iconOnlyMatches;private mobileMatches;private mqIconOnly?;private mqMobile?;private mqIconOnlyListener?;private mqMobileListener?;private overlayActive;private justOpened;private overlayHandle?;private readonly nativeModal;private explicitTrigger?;private overlayReturnTarget;private overlayOpener;private overlayReturnIsExplicit;private readonly deferredFocusReturn;private restoreFallbackTabIndex?;private triggerAria?;private recoverInlineFocusAfterResponsiveClose;private readonly navId;private readonly navRegionId;private baseEl?;private toggleEl?;private resizePointerId?;private readonly resizeController;private resizeStartX;private resizeRtl;private resizeStartWidth;private resizeGestureChanged;private managedItems;private syncSlottedItems;
445
+ get dragging():boolean;private _dragging;private setDragging;private hasHeaderSlot;private hasFooterSlot;private persistReady;private _mode;private _lastReflectedMode?;private pendingInitialModeAnnouncement?;private forced;private hotkeyWindow?;private iconOnlyMatches;private mobileMatches;private mqIconOnly?;private mqMobile?;private mqIconOnlyListener?;private mqMobileListener?;private overlayActive;private justOpened;private overlayHandle?;private readonly nativeModal;private explicitTrigger?;private overlayReturnTarget;private overlayOpener;private overlayReturnIsExplicit;private restoreFallbackTabIndex?;private triggerAria?;private recoverInlineFocusAfterResponsiveClose;private readonly navId;private readonly navRegionId;private baseEl?;private toggleEl?;private resizePointerId?;private readonly resizeController;private resizeStartX;private resizeRtl;private resizeStartWidth;private resizeGestureChanged;private managedItems;private syncSlottedItems;
446
446
  /**
447
447
  * The rail's current effective presentation. Always one of the three real
448
448
  * modes — never `'auto'` — reflecting either the live breakpoint match or,
@@ -458,7 +458,7 @@ get dragging():boolean;private _dragging;private setDragging;private hasHeaderSl
458
458
  * manually, via `updated()`, since this property has no Lit-managed
459
459
  * accessor to reflect through (see `setEffectiveMode()`).
460
460
  */
461
- get mode():LyraAppRailMode;private get safeMinRailWidthPx();private get safeMaxRailWidthPx();private get effectiveRailWidthPx();private resizeValueText;private get storageFullKey();private get persistFields();private loadPersisted;private persistState;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;private resolveExternalTrigger;private resolveFocusFallback;private activateMobileOverlay;private deactivateMobileOverlay;private scheduleDeferredFocusReturn;private focusHostFallback;private placeToggle;private setupMediaQueries;private teardownMediaQueries;private onIconOnlyChange;private onMobileChange;private applyComputedMode;private setEffectiveMode;private setOpen;private onToggleClick;private onBackdropClick;
461
+ get mode():LyraAppRailMode;private get safeMinRailWidthPx();private get safeMaxRailWidthPx();private get effectiveRailWidthPx();private resizeValueText;private get storageFullKey();private get persistFields();private loadPersisted;private persistState;protected willUpdate(changed:PropertyValues):void;protected updated(changed:PropertyValues):void;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;private resolveExternalTrigger;private resolveFocusFallback;private activateMobileOverlay;private deactivateMobileOverlay;private readonly deferredReturnPass;private focusHostFallback;private placeToggle;private setupMediaQueries;private teardownMediaQueries;private onIconOnlyChange;private onMobileChange;private applyComputedMode;private setEffectiveMode;private setOpen;private onToggleClick;private onBackdropClick;
462
462
  /**
463
463
  * Flips the rail between its `'full'` and `'icon-only'` presentations by writing
464
464
  * `preferredMode` -- the same action `[part="collapse-toggle"]` performs, exposed for a consumer
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{NativeModalCarrier}from"../../../internal/native-modal-carrier.js";import{nativeModalCarrierStyles}from"../../../internal/native-modal-carrier.styles.js";import{GlassScrollLayer}from"../../../internal/glass-scroll-layer.js";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{activateOverlay,collectFocusableElements,composedContains,deepActiveElement}from"../../../internal/overlay-manager.js";import{optionalLiteralSetConverter}from"../../../internal/converters.js";import{DeferredFocusReturn}from"../../../internal/deferred-focus-return.js";import{resolveCssLength}from"../../../internal/css-length.js";import{focusFirstAvailable}from"../../../internal/focus-navigation.js";import{isHtmlElement}from"../../../internal/dom-guards.js";import{detectPlatform}from"../../../internal/platform.js";import{parseHotkey,hasNonShiftModifier,matchesHotkey,hotkeyAriaKeyShortcuts,isIgnorableKeyEvent,isEditableKeyEventTarget,registerHotkeyOwner,unregisterHotkeyOwner,resolveHotkeyOwner}from"../../../internal/hotkey.js";import{nextId,isAccessibilityVisible}from"../../../internal/a11y.js";import{acquireAriaOwnership}from"../../../internal/aria-ownership.js";import{chevronIcon,closeIcon,menuIcon}from"../../../internal/icons.js";import{tag}from"../../../internal/prefix.js";import{isRtl}from"../../../internal/rtl.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{finiteRange}from"../../../internal/numbers.js";import{SeparatorDragController,separatorArrowDirection,separatorDelta}from"../../../internal/separator-drag.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{computeAppRailMode}from"./app-rail-mode.js";import{readPersistedState,writePersistedState}from"../../../internal/persisted-state.js";import{definePersistedProperty,isPersistedPropertyExplicitlySet}from"../../../internal/persisted-restore.js";import{styles}from"./app-rail.styles.js";import"./app-rail-item.class.js";import{LYRA_DEFAULT_appRailCollapse,LYRA_DEFAULT_appRailExpand,LYRA_DEFAULT_closeNavigation,LYRA_DEFAULT_navigation,LYRA_DEFAULT_openNavigation,LYRA_DEFAULT_resizeNavigation,LYRA_DEFAULT_resizeValuePixels}from"../../../internal/default-strings.generated.js";const NON_NAVIGATION_CLICK='[part~="toggle"], [part~="header-actions"], [part~="meta"], [part~="end"]',APP_RAIL_FRAME=optionalLiteralSetConverter(["card","plain"]),RAIL_WIDTH_CONVERTER={fromAttribute:value=>{if(value===null)return value;const number=Number(value);return Number.isNaN(number)?value:number}},APP_RAIL_PERSIST_FIELDS=new Set(["open","width","preferred-mode"]);import{computeAppRailMode as computeAppRailMode2}from"./app-rail-mode.js";class LyraAppRail extends LyraElement{static{this.defaultStrings={...super.defaultStrings,appRailCollapse:LYRA_DEFAULT_appRailCollapse,appRailExpand:LYRA_DEFAULT_appRailExpand,closeNavigation:LYRA_DEFAULT_closeNavigation,navigation:LYRA_DEFAULT_navigation,openNavigation:LYRA_DEFAULT_openNavigation,resizeNavigation:LYRA_DEFAULT_resizeNavigation,resizeValuePixels:LYRA_DEFAULT_resizeValuePixels}}constructor(){super(),this.iconOnlyBreakpoint="960px",this.mobileBreakpoint="600px",this.triggerCollapses=!1,this.hotkey="",this.accessibleLabel=null,this.withoutToggle=!1,this.collapsible=!1,this.topLayer=!1,this.trigger=null,this.for="",this.focusFallback=null,this.resizable=!1,this.persist="open width",this.minRailWidth=190,this.maxRailWidth=440,this._dragging=!1,this.hasHeaderSlot=!1,this.hasFooterSlot=!1,this.persistReady=!1,this._mode="full",this.forced=!1,this.iconOnlyMatches=!1,this.mobileMatches=!1,this.overlayActive=!1,this.justOpened=!1,this.nativeModal=new NativeModalCarrier(this,{onCancel:()=>{this.overlayHandle?.isTopmost()&&this.setOpen(!1)},onUnexpectedClose:()=>{this.overlayHandle?.isTopmost()&&this.setOpen(!1),this.overlayActive&&this.nativeModal.show()}}),this.overlayReturnTarget=null,this.overlayOpener=null,this.overlayReturnIsExplicit=!1,this.deferredFocusReturn=new DeferredFocusReturn,this.recoverInlineFocusAfterResponsiveClose=!1,this.navId=nextId("app-rail-nav"),this.navRegionId=nextId("app-rail-nav-region"),this.resizeController=new SeparatorDragController(this,event=>this.onResizerPointerMove(event),event=>this.onResizerPointerUp(event)),this.resizeStartX=0,this.resizeRtl=!1,this.resizeStartWidth=0,this.resizeGestureChanged=!1,this.managedItems=new Set,this.onIconOnlyChange=e=>{this.iconOnlyMatches=e.matches,this.forced||this.applyComputedMode()},this.onMobileChange=e=>{this.mobileMatches=e.matches,this.forced||this.applyComputedMode()},this.onToggleClick=e=>{this.open||(this.explicitTrigger=e.currentTarget),this.setOpen(!this.open)},this.onBackdropClick=()=>{this.overlayHandle?.dismissBackdrop()},this.acceptsHotkey=event=>{const parsed=parseHotkey(this.hotkey);return this.isConnected&&!this.forced&&parsed!==null&&hasNonShiftModifier(parsed)&&matchesHotkey(parsed,event,detectPlatform(this.hotkeyWindow?.navigator)==="mac")&&!isEditableKeyEventTarget(event)&&isAccessibilityVisible(this)},this.onHotkeyKeyDown=event=>{if(event.defaultPrevented||isIgnorableKeyEvent(event)||!this.hotkeyWindow)return;const keyboard=event;!this.acceptsHotkey(keyboard)||resolveHotkeyOwner(this.hotkeyWindow,keyboard)!==this||(event.preventDefault(),this.toggle())},this.onPanelTransition=event=>{event.target===event.currentTarget&&event.propertyName==="transform"&&this.baseEl?.removeAttribute("data-sliding")},this.onCollapseToggleClick=()=>{this.toggleCollapse()},this.onNavItemClick=event=>{this.overlayActive&&(event.composedPath().some(node=>isHtmlElement(node)&&node.matches(NON_NAVIGATION_CLICK))||this.setOpen(!1))},this.onHeaderSlotChange=()=>{this.hasHeaderSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="header")},this.onFooterSlotChange=()=>{this.hasFooterSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="footer")},this.onNavSlotChange=()=>{this.syncSlottedItems()},this.onResizerPointerDown=e=>{if(!e.isPrimary||e.button!==0||!this.resizable||this._mode!=="full"||this.resizePointerId!==void 0)return;const resizer=e.currentTarget;this.resizeController.start(e,resizer)&&(this.resizePointerId=e.pointerId,this.resizeStartX=e.clientX,this.resizeRtl=isRtl(this),this.resizeStartWidth=this.effectiveRailWidthPx,this.resizeGestureChanged=!1,this.setDragging(!0))},this.onResizerPointerMove=e=>{if(e.pointerId!==this.resizePointerId)return;if(!this.resizable||this._mode!=="full"||isRtl(this)!==this.resizeRtl){this.endResizerGesture();return}const delta=separatorDelta(this.resizeStartX,e,"inline",this.resizeRtl),next=Math.min(this.safeMaxRailWidthPx,Math.max(this.safeMinRailWidthPx,this.resizeStartWidth+delta));this.requestRailResize(next,!1)},this.onResizerPointerUp=e=>{e.pointerId===this.resizePointerId&&this.endResizerGesture(e.type==="pointerup")},this.onResizerKeyDown=e=>{if(e.altKey||e.ctrlKey||e.metaKey||e.isComposing)return;const rtl=this.getAttribute("dir")==="rtl"||isRtl(this),direction=separatorArrowDirection(e,"inline",rtl),step=8,width=this.effectiveRailWidthPx,next=direction===1?Math.min(this.safeMaxRailWidthPx,width+step):direction===-1?Math.max(this.safeMinRailWidthPx,width-step):e.key==="Home"?this.safeMinRailWidthPx:e.key==="End"?this.safeMaxRailWidthPx:width;next!==width&&(e.preventDefault(),this.requestRailResize(next))},new GlassScrollLayer(this,'[part="base"], [part="panel"]')}static{this.knownUnobservedAttributes=["mode","dragging"]}static{this.styles=[LyraElement.styles,nativeModalCarrierStyles,styles]}get frame(){return this._frame}set frame(next){const value=APP_RAIL_FRAME.normalizeReflected(this,"frame",next),old=this._frame;value!==old&&(this._frame=value,this.requestUpdate("frame",old))}get forceMode(){return this._forceMode}set forceMode(next){if(next!=null&&next!=="auto"&&next!=="full"&&next!=="icon-only")return;const old=this._forceMode;if(this._forceMode=next??void 0,this.requestUpdate("forceMode",old),next==null||next==="auto"){if(!this.forced)return;this.forced=!1,this.applyComputedMode();return}this.forced=!0,this.setEffectiveMode(next)}static{definePersistedProperty(this.prototype,"open",{initial:!1,attribute:!0,type:Boolean,reflect:!0}),definePersistedProperty(this.prototype,"preferredMode",{initial:void 0,attribute:"preferred-mode"}),definePersistedProperty(this.prototype,"railWidth",{initial:void 0,attribute:"rail-width",converter:RAIL_WIDTH_CONVERTER})}pixelsOf(value){return typeof value=="number"?value:typeof value=="string"?resolveCssLength(value,{host:this}):void 0}get railWidthInPixels(){const width=this.railWidth;return typeof width=="string"?this.pixelsOf(width):width}get dragging(){return this._dragging}setDragging(next){this._dragging=next,this.toggleAttribute("dragging",next)}syncSlottedItems(){const slot=this.shadowRoot?.querySelector('[part="nav"] > slot'),itemTag=tag("app-rail-item"),groupTag=tag("app-rail-group"),railTag=tag("app-rail"),next=new Set((slot?.assignedElements({flatten:!0})??[]).filter(item=>item.localName===itemTag||item.localName===groupTag));for(const item of this.managedItems){if(next.has(item))continue;const newOwner=item.closest(railTag);newOwner&&newOwner!==this&&item.parentElement===newOwner&&!item.hasAttribute("slot")?item.toggleAttribute("icon-only",newOwner.mode==="icon-only"):item.removeAttribute("icon-only")}for(const item of next)item.toggleAttribute("icon-only",this._mode==="icon-only");this.managedItems=next}get mode(){return this._mode}get safeMinRailWidthPx(){return finiteRange(this.pixelsOf(this.minRailWidth)??Number.NaN,190,0)}get safeMaxRailWidthPx(){return Math.max(this.safeMinRailWidthPx,finiteRange(this.pixelsOf(this.maxRailWidth)??Number.NaN,440,0))}get effectiveRailWidthPx(){return this.railWidth!=null?finiteRange(this.railWidthInPixels??Number.NaN,this.safeMinRailWidthPx,this.safeMinRailWidthPx,this.safeMaxRailWidthPx):this.baseEl?.getBoundingClientRect().width??240}resizeValueText(widthPx){return this.localize("resizeValuePixels",void 0,{value:getNumberFormat(this.effectiveLocale).format(Math.round(widthPx))})}get storageFullKey(){return this.storageKey?`lr-app-rail:${this.storageKey}`:void 0}get persistFields(){const persist=typeof this.persist=="string"?this.persist:"";return new Set(persist.split(/\s+/).filter(field=>APP_RAIL_PERSIST_FIELDS.has(field)))}loadPersisted(){const restored={open:!1,preferredMode:!1},parsed=readPersistedState(this.storageFullKey,v=>typeof v=="object"&&v!==null);if(!parsed)return restored;const fields=this.persistFields;return fields.has("open")&&!isPersistedPropertyExplicitlySet(this,"open")&&typeof parsed.open=="boolean"&&(this.open=parsed.open,restored.open=!0),fields.has("width")&&!isPersistedPropertyExplicitlySet(this,"railWidth")&&typeof parsed.railWidthPx=="number"&&Number.isFinite(parsed.railWidthPx)&&(this.railWidth=parsed.railWidthPx),fields.has("preferred-mode")&&!isPersistedPropertyExplicitlySet(this,"preferredMode")&&(parsed.preferredMode==="full"||parsed.preferredMode==="icon-only")&&(this.preferredMode=parsed.preferredMode,restored.preferredMode=!0),restored}persistState(){const fields=this.persistFields;if(fields.size===0)return;const state2={};fields.has("open")&&(state2.open=this.open),fields.has("width")&&(state2.railWidthPx=this.railWidthInPixels),fields.has("preferred-mode")&&(state2.preferredMode=this.preferredMode??null),writePersistedState(this.storageFullKey,state2)}willUpdate(changed){if(super.willUpdate(changed),(changed.has("resizable")||changed.has("mode"))&&(!this.resizable||this._mode!=="full")&&this.endResizerGesture(),!this.hasUpdated){this.hasHeaderSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="header"),this.hasFooterSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="footer");const restored=this.loadPersisted();if(restored.preferredMode&&!this.forced){const restoredMode=computeAppRailMode(this.iconOnlyMatches,this.mobileMatches,this.preferredMode);restoredMode!==this._mode&&(this._mode=restoredMode,this.pendingInitialModeAnnouncement=restoredMode)}restored.open&&this.open&&this._mode!=="mobile"&&(this.open=!1)}if(this.hasUpdated&&(changed.has("iconOnlyBreakpoint")||changed.has("mobileBreakpoint"))&&(this.teardownMediaQueries(),this.setupMediaQueries()),this.hasUpdated&&changed.has("preferredMode")&&!this.forced&&this.applyComputedMode(),changed.has("open")||changed.has("mode")){const next=this._mode==="mobile"&&this.open;next!==this.overlayActive&&(this.hasUpdated&&this._mode==="mobile"&&!prefersReducedMotion(this)&&this.baseEl?.toggleAttribute("data-sliding",!0),this.overlayActive=next,this.placeToggle(next),next?(this.justOpened=!0,this.activateMobileOverlay()):this.deactivateMobileOverlay(this._mode==="mobile"))}}updated(changed){if(super.updated(changed),this.overlayActive&&this.nativeModal.show(),changed.has("topLayer"))for(const item of this.querySelectorAll(tag("app-rail-item")))item.syncRailTopLayer?.();if(this._lastReflectedMode!==this._mode&&(this._lastReflectedMode=this._mode,this.setAttribute("mode",this._mode)),this.pendingInitialModeAnnouncement!==void 0){const mode=this.pendingInitialModeAnnouncement;this.pendingInitialModeAnnouncement=void 0,this.emit("lr-mode-change",{mode})}if(this.syncSlottedItems(),this.placeToggle(this.overlayActive),this.syncExternalTriggerA11y(),this.syncBuiltInKeyShortcuts(),this.baseEl&&(this._mode!=="mobile"||!this.baseEl.getAnimations().some(animation=>"transitionProperty"in animation&&animation.transitionProperty==="transform"))&&this.baseEl.removeAttribute("data-sliding"),this.recoverInlineFocusAfterResponsiveClose){this.recoverInlineFocusAfterResponsiveClose=!1;const active=deepActiveElement(this.ownerDocument);this.baseEl&&!composedContains(this.baseEl,active)&&this.baseEl.focus()}this.justOpened&&(this.justOpened=!1,this.overlayHandle?.focusInitial()),this.persistReady&&(changed.has("open")||changed.has("railWidth")&&!this.dragging||changed.has("preferredMode")||changed.has("persist"))&&this.persistState(),this.persistReady=!0,this.baseEl&&(this.resizable&&this.railWidth!=null&&this._mode==="full"?this.baseEl.style.setProperty("inline-size",`${this.effectiveRailWidthPx}px`):this.baseEl.style.removeProperty("inline-size")),this.observeResizerPosition(),this.syncResizerPosition()}connectedCallback(){super.connectedCallback(),this.hotkeyWindow=this.ownerDocument.defaultView??void 0,this.hotkeyWindow&&(registerHotkeyOwner(this.hotkeyWindow,this,this.acceptsHotkey),this.hotkeyWindow.addEventListener("keydown",this.onHotkeyKeyDown)),this.setupMediaQueries(),this.hasUpdated&&this._mode==="mobile"&&this.open&&(this.overlayHandle?.isActive()?this.overlayHandle.resume():this.activateMobileOverlay(),queueMicrotask(()=>{this.nativeModal.show(),this.overlayHandle?.focusInitial()})),this.hasUpdated&&queueMicrotask(()=>{this.isConnected&&(this.syncSlottedItems(),this.observeResizerPosition(),this.syncResizerPosition(),this.syncExternalTriggerA11y())})}disconnectedCallback(){this.disconnectResizerPosition(),this.nativeModal.hide(),this.hotkeyWindow&&(this.hotkeyWindow.removeEventListener("keydown",this.onHotkeyKeyDown),unregisterHotkeyOwner(this.hotkeyWindow,this),this.hotkeyWindow=void 0),this.baseEl?.removeAttribute("data-sliding"),this.deferredFocusReturn.cancel(),super.disconnectedCallback(),this.restoreFallbackTabIndex?.(),this.teardownMediaQueries(),this.overlayHandle?.suspend(),this.endResizerGesture(),this.releaseExternalTriggerA11y()}adoptedCallback(){this.disconnectResizerPosition(),super.adoptedCallback(),this.teardownMediaQueries(),this.endResizerGesture()}resolveExternalTrigger(){if(this.trigger)return this.trigger;if(!this.for)return null;const found=this.getRootNode().getElementById?.(this.for);return found instanceof HTMLElement?found:null}resolveFocusFallback(){const value=this.focusFallback;if(!value)return null;const target=typeof value=="string"?this.getRootNode().getElementById?.(value)??null:value;return isHtmlElement(target)&&target.ownerDocument===this.ownerDocument?target:null}activateMobileOverlay(){this.nativeModal.prepare();const explicitTrigger=this.explicitTrigger;this.explicitTrigger=void 0;const restoreFocusTo=explicitTrigger??this.resolveExternalTrigger()??void 0;this.overlayReturnIsExplicit=explicitTrigger!==void 0,this.deferredFocusReturn.cancel();const active=deepActiveElement(this.ownerDocument);this.overlayOpener=active&&typeof active.focus=="function"&&!composedContains(this,active)?active:null,this.overlayReturnTarget=restoreFocusTo??this.overlayOpener,this.overlayHandle=activateOverlay({host:this,panel:()=>this.shadowRoot?.querySelector('[part="panel"]')??null,onEscape:()=>this.setOpen(!1),onBackdrop:()=>this.setOpen(!1),restoreFocusTo,preferredInitialFocus:()=>{const panel=this.shadowRoot?.querySelector('[part="panel"]')??null;if(!panel)return null;const toggle=this.toggleEl??null;return collectFocusableElements(panel).filter(stop=>stop!==toggle)[0]??panel},lockScroll:!0,suspendWhenUnrendered:!0})}deactivateMobileOverlay(restoreFocus=!0){this.nativeModal.hide(),this.nativeModal.prepare(!1);const handle=this.overlayHandle;if(this.overlayHandle=void 0,this.deferredFocusReturn.cancel(),handle&&restoreFocus&&!this.overlayReturnIsExplicit){const external=this.resolveExternalTrigger();external&&external!==this.overlayReturnTarget&&(this.overlayReturnTarget=external,handle.updateRestoreFocusTo(external))}handle?.deactivate({restoreFocus}),handle&&restoreFocus&&this.scheduleDeferredFocusReturn()}scheduleDeferredFocusReturn(){const candidates=[this.overlayReturnTarget,this.overlayOpener];this.deferredFocusReturn.schedule({host:this,candidates:()=>[...candidates,this.toggleEl],isCurrent:()=>!this.overlayActive,fallback:()=>{this.focusHostFallback()||focusFirstAvailable([this.resolveFocusFallback()])}})}focusHostFallback(){if(!this.hasAttribute("tabindex")){this.setAttribute("tabindex","-1");const view=this.ownerDocument.defaultView,onFocusChange=()=>{deepActiveElement(this.ownerDocument)!==this&&restore()},restore=()=>{this.removeEventListener("blur",onFocusChange),view?.removeEventListener("focus",onFocusChange),this.getAttribute("tabindex")==="-1"&&this.removeAttribute("tabindex"),this.restoreFallbackTabIndex=void 0};this.restoreFallbackTabIndex=restore,this.addEventListener("blur",onFocusChange),view?.addEventListener("focus",onFocusChange)}return focusFirstAvailable(this)?!0:(this.restoreFallbackTabIndex?.(),!1)}placeToggle(insidePanel){const toggle=this.toggleEl,panel=this.baseEl;if(!(!toggle||!panel)){if(insidePanel){panel.firstChild!==toggle&&panel.insertBefore(toggle,panel.firstChild);return}toggle.nextSibling!==panel&&panel.parentNode?.insertBefore(toggle,panel)}}setupMediaQueries(){if(!this.isConnected)return;const view=this.ownerDocument.defaultView;if(!view?.matchMedia)return;const iconOnlyQuery=view.matchMedia(`(max-width: ${this.iconOnlyBreakpoint})`),mobileQuery=view.matchMedia(`(max-width: ${this.mobileBreakpoint})`),iconOnlyListener=event=>{this.mqIconOnly!==iconOnlyQuery||!this.isConnected||this.ownerDocument.defaultView!==view||this.onIconOnlyChange(event)},mobileListener=event=>{this.mqMobile!==mobileQuery||!this.isConnected||this.ownerDocument.defaultView!==view||this.onMobileChange(event)};this.mqIconOnly=iconOnlyQuery,this.mqMobile=mobileQuery,this.mqIconOnlyListener=iconOnlyListener,this.mqMobileListener=mobileListener,iconOnlyQuery.addEventListener("change",iconOnlyListener),mobileQuery.addEventListener("change",mobileListener),this.iconOnlyMatches=iconOnlyQuery.matches,this.mobileMatches=mobileQuery.matches,!this.forced&&this.applyComputedMode(this.hasUpdated?void 0:{silent:!0})}teardownMediaQueries(){this.mqIconOnly&&this.mqIconOnlyListener&&this.mqIconOnly.removeEventListener("change",this.mqIconOnlyListener),this.mqMobile&&this.mqMobileListener&&this.mqMobile.removeEventListener("change",this.mqMobileListener),this.mqIconOnly=void 0,this.mqMobile=void 0,this.mqIconOnlyListener=void 0,this.mqMobileListener=void 0}applyComputedMode(options){this.setEffectiveMode(computeAppRailMode(this.iconOnlyMatches,this.mobileMatches,this.preferredMode),options)}setEffectiveMode(next,options){if(this._mode===next)return;const old=this._mode,resizer=this.renderRoot?.querySelector('[part="resizer"]');old==="full"&&next==="icon-only"&&resizer&&composedContains(resizer,deepActiveElement(this.ownerDocument))&&(this.recoverInlineFocusAfterResponsiveClose=!0),next!=="mobile"&&this.baseEl?.removeAttribute("data-sliding"),old==="mobile"&&next!=="mobile"&&this.open&&(this.recoverInlineFocusAfterResponsiveClose=!0),this._mode=next,this.baseEl&&(this.resizable&&this.railWidth!=null&&next==="full"||this.baseEl.style.removeProperty("inline-size")),this.requestUpdate("mode",old),options?.silent?this.pendingInitialModeAnnouncement=next:this.emit("lr-mode-change",{mode:next}),next!=="mobile"&&this.open&&this.setOpen(!1,{force:!0})}setOpen(next,options){if(this.open===next)return;if(options?.force){this.open=next,this.emit("lr-toggle",{expanded:next});return}const mode=this._mode,open=this.open;this.emit("lr-toggle-request",{expanded:next},{cancelable:!0}).defaultPrevented||this._mode!==mode||this.open!==open||(this.open=next,this.emit("lr-toggle",{expanded:next}))}toggleCollapse(){this._mode!=="mobile"&&(this.preferredMode=(this.preferredMode??this._mode)==="icon-only"?"full":"icon-only")}toggle(){this.isConnected&&(this._mode==="mobile"?this.setOpen(!this.open):this.toggleCollapse())}get resolvedHotkeyShortcuts(){const parsed=parseHotkey(this.hotkey);return hotkeyAriaKeyShortcuts(parsed&&hasNonShiftModifier(parsed)?parsed:null,detectPlatform(this.ownerDocument.defaultView?.navigator)==="mac")}syncBuiltInKeyShortcuts(){const value=this.resolvedHotkeyShortcuts;for(const control of[this.toggleEl,this.renderRoot.querySelector('[part="collapse-toggle"]')])!control||control.getAttribute("aria-keyshortcuts")===value||(value===null?control.removeAttribute("aria-keyshortcuts"):control.setAttribute("aria-keyshortcuts",value))}syncExternalTriggerA11y(){if(!this.isConnected){this.releaseExternalTriggerA11y();return}const mobile=this._mode==="mobile",trigger=mobile||this.triggerCollapses?this.resolveExternalTrigger():null;if(!trigger){this.releaseExternalTriggerA11y();return}const panel=this.baseEl??null,contribution={attributes:{"aria-expanded":(mobile?this.open:this._mode==="full")?"true":"false","aria-keyshortcuts":this.resolvedHotkeyShortcuts},controls:panel?[panel]:[]};this.triggerAria?this.triggerAria.update(trigger,contribution):this.triggerAria=acquireAriaOwnership(trigger,contribution)}releaseExternalTriggerA11y(){this.triggerAria?.release(),this.triggerAria=void 0}endResizerGesture(commit=!1){const pointerId=this.resizePointerId,changed=this.resizeGestureChanged,widthPx=this.effectiveRailWidthPx;this.resizePointerId=void 0,this.resizeGestureChanged=!1,this.setDragging(!1),pointerId!==void 0&&this.resizeController.end(pointerId),commit&&changed&&(this.emit("lr-rail-resize",{widthPx}),this.persistReady&&this.persistState())}requestRailResize(next,commit=!0){if(!this.resizable||this._mode!=="full"||!this.isConnected||next===this.effectiveRailWidthPx)return!1;const event=this.emit("lr-rail-resize-request",{widthPx:next},{cancelable:!0});return!this.resizable||this._mode!=="full"||!this.isConnected?(this.endResizerGesture(),!1):event.defaultPrevented?!1:(this.railWidth=next,commit?this.emit("lr-rail-resize",{widthPx:next}):this.resizeGestureChanged=!0,!0)}observeResizerPosition(){const resizer=this.renderRoot.querySelector('[part="resizer"]');if(!this.isConnected||!resizer||!this.baseEl||this._mode!=="full"||!this.resizable){this.disconnectResizerPosition();return}if(this.observedResizer===resizer)return;this.disconnectResizerPosition();const ResizeObserverConstructor=this.ownerDocument.defaultView?.ResizeObserver;ResizeObserverConstructor&&(this.resizerPositionObserver=new ResizeObserverConstructor(()=>this.syncResizerPosition()),this.resizerPositionObserver.observe(this,{box:"border-box"}),this.resizerPositionObserver.observe(this.baseEl,{box:"border-box"}),this.resizerPositionObserver.observe(resizer,{box:"border-box"}),this.observedResizer=resizer)}disconnectResizerPosition(){this.resizerPositionObserver?.disconnect(),this.resizerPositionObserver=void 0,this.observedResizer=void 0}syncResizerPosition(){const resizer=this.renderRoot.querySelector('[part="resizer"]');if(!resizer||!this.baseEl||this._mode!=="full"||!this.resizable)return;const hostRect=this.getBoundingClientRect(),baseRect=this.baseEl.getBoundingClientRect(),half=resizer.getBoundingClientRect().width/2,offset=this.getAttribute("dir")==="rtl"||isRtl(this)?hostRect.right-baseRect.left:baseRect.right-hostRect.left;resizer.style.setProperty("inset-inline-start",`${offset-half}px`),resizer.style.setProperty("inset-inline-end","auto")}renderResizer(){const railWidthPx=this.effectiveRailWidthPx;return html`<div
1
+ import{__decorate}from"tslib";import{NativeModalCarrier}from"../../../internal/native-modal-carrier.js";import{nativeModalCarrierStyles}from"../../../internal/native-modal-carrier.styles.js";import{GlassScrollLayer}from"../../../internal/glass-scroll-layer.js";import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{activateOverlay,collectFocusableElements,composedContains,deepActiveElement}from"../../../internal/overlay-manager.js";import{optionalLiteralSetConverter}from"../../../internal/converters.js";import{cancelDeferredFocusReturn}from"../../../internal/deferred-focus-return.js";import{resolveCssLength}from"../../../internal/css-length.js";import{focusFirstAvailable}from"../../../internal/focus-navigation.js";import{isHtmlElement}from"../../../internal/dom-guards.js";import{detectPlatform}from"../../../internal/platform.js";import{parseHotkey,hasNonShiftModifier,matchesHotkey,hotkeyAriaKeyShortcuts,isIgnorableKeyEvent,isEditableKeyEventTarget,registerHotkeyOwner,unregisterHotkeyOwner,resolveHotkeyOwner}from"../../../internal/hotkey.js";import{nextId,isAccessibilityVisible}from"../../../internal/a11y.js";import{acquireAriaOwnership}from"../../../internal/aria-ownership.js";import{chevronIcon,closeIcon,menuIcon}from"../../../internal/icons.js";import{tag}from"../../../internal/prefix.js";import{isRtl}from"../../../internal/rtl.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{finiteRange}from"../../../internal/numbers.js";import{SeparatorDragController,separatorArrowDirection,separatorDelta}from"../../../internal/separator-drag.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{computeAppRailMode}from"./app-rail-mode.js";import{readPersistedState,writePersistedState}from"../../../internal/persisted-state.js";import{definePersistedProperty,isPersistedPropertyExplicitlySet}from"../../../internal/persisted-restore.js";import{styles}from"./app-rail.styles.js";import"./app-rail-item.class.js";import{LYRA_DEFAULT_appRailCollapse,LYRA_DEFAULT_appRailExpand,LYRA_DEFAULT_closeNavigation,LYRA_DEFAULT_navigation,LYRA_DEFAULT_openNavigation,LYRA_DEFAULT_resizeNavigation,LYRA_DEFAULT_resizeValuePixels}from"../../../internal/default-strings.generated.js";const NON_NAVIGATION_CLICK='[part~="toggle"], [part~="header-actions"], [part~="meta"], [part~="end"]',APP_RAIL_FRAME=optionalLiteralSetConverter(["card","plain"]),RAIL_WIDTH_CONVERTER={fromAttribute:value=>{if(value===null)return value;const number=Number(value);return Number.isNaN(number)?value:number}},APP_RAIL_PERSIST_FIELDS=new Set(["open","width","preferred-mode"]);import{computeAppRailMode as computeAppRailMode2}from"./app-rail-mode.js";class LyraAppRail extends LyraElement{static{this.defaultStrings={...super.defaultStrings,appRailCollapse:LYRA_DEFAULT_appRailCollapse,appRailExpand:LYRA_DEFAULT_appRailExpand,closeNavigation:LYRA_DEFAULT_closeNavigation,navigation:LYRA_DEFAULT_navigation,openNavigation:LYRA_DEFAULT_openNavigation,resizeNavigation:LYRA_DEFAULT_resizeNavigation,resizeValuePixels:LYRA_DEFAULT_resizeValuePixels}}constructor(){super(),this.iconOnlyBreakpoint="960px",this.mobileBreakpoint="600px",this.triggerCollapses=!1,this.hotkey="",this.accessibleLabel=null,this.withoutToggle=!1,this.collapsible=!1,this.topLayer=!1,this.trigger=null,this.for="",this.focusFallback=null,this.resizable=!1,this.persist="open width",this.minRailWidth=190,this.maxRailWidth=440,this._dragging=!1,this.hasHeaderSlot=!1,this.hasFooterSlot=!1,this.persistReady=!1,this._mode="full",this.forced=!1,this.iconOnlyMatches=!1,this.mobileMatches=!1,this.overlayActive=!1,this.justOpened=!1,this.nativeModal=new NativeModalCarrier(this,{onCancel:()=>{this.overlayHandle?.isTopmost()&&this.setOpen(!1)},onUnexpectedClose:()=>{this.overlayHandle?.isTopmost()&&this.setOpen(!1),this.overlayActive&&this.nativeModal.show()}}),this.overlayReturnTarget=null,this.overlayOpener=null,this.overlayReturnIsExplicit=!1,this.recoverInlineFocusAfterResponsiveClose=!1,this.navId=nextId("app-rail-nav"),this.navRegionId=nextId("app-rail-nav-region"),this.resizeController=new SeparatorDragController(this,event=>this.onResizerPointerMove(event),event=>this.onResizerPointerUp(event)),this.resizeStartX=0,this.resizeRtl=!1,this.resizeStartWidth=0,this.resizeGestureChanged=!1,this.managedItems=new Set,this.deferredReturnPass=()=>{const candidates=[this.overlayReturnTarget,this.overlayOpener];return{candidates:()=>[...candidates,this.toggleEl],isCurrent:()=>!this.overlayActive,fallback:()=>{this.focusHostFallback()||focusFirstAvailable([this.resolveFocusFallback()])}}},this.onIconOnlyChange=e=>{this.iconOnlyMatches=e.matches,this.forced||this.applyComputedMode()},this.onMobileChange=e=>{this.mobileMatches=e.matches,this.forced||this.applyComputedMode()},this.onToggleClick=e=>{this.open||(this.explicitTrigger=e.currentTarget),this.setOpen(!this.open)},this.onBackdropClick=()=>{this.overlayHandle?.dismissBackdrop()},this.acceptsHotkey=event=>{const parsed=parseHotkey(this.hotkey);return this.isConnected&&!this.forced&&parsed!==null&&hasNonShiftModifier(parsed)&&matchesHotkey(parsed,event,detectPlatform(this.hotkeyWindow?.navigator)==="mac")&&!isEditableKeyEventTarget(event)&&isAccessibilityVisible(this)},this.onHotkeyKeyDown=event=>{if(event.defaultPrevented||isIgnorableKeyEvent(event)||!this.hotkeyWindow)return;const keyboard=event;!this.acceptsHotkey(keyboard)||resolveHotkeyOwner(this.hotkeyWindow,keyboard)!==this||(event.preventDefault(),this.toggle())},this.onPanelTransition=event=>{event.target===event.currentTarget&&event.propertyName==="transform"&&this.baseEl?.removeAttribute("data-sliding")},this.onCollapseToggleClick=()=>{this.toggleCollapse()},this.onNavItemClick=event=>{this.overlayActive&&(event.composedPath().some(node=>isHtmlElement(node)&&node.matches(NON_NAVIGATION_CLICK))||this.setOpen(!1))},this.onHeaderSlotChange=()=>{this.hasHeaderSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="header")},this.onFooterSlotChange=()=>{this.hasFooterSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="footer")},this.onNavSlotChange=()=>{this.syncSlottedItems()},this.onResizerPointerDown=e=>{if(!e.isPrimary||e.button!==0||!this.resizable||this._mode!=="full"||this.resizePointerId!==void 0)return;const resizer=e.currentTarget;this.resizeController.start(e,resizer)&&(this.resizePointerId=e.pointerId,this.resizeStartX=e.clientX,this.resizeRtl=isRtl(this),this.resizeStartWidth=this.effectiveRailWidthPx,this.resizeGestureChanged=!1,this.setDragging(!0))},this.onResizerPointerMove=e=>{if(e.pointerId!==this.resizePointerId)return;if(!this.resizable||this._mode!=="full"||isRtl(this)!==this.resizeRtl){this.endResizerGesture();return}const delta=separatorDelta(this.resizeStartX,e,"inline",this.resizeRtl),next=Math.min(this.safeMaxRailWidthPx,Math.max(this.safeMinRailWidthPx,this.resizeStartWidth+delta));this.requestRailResize(next,!1)},this.onResizerPointerUp=e=>{e.pointerId===this.resizePointerId&&this.endResizerGesture(e.type==="pointerup")},this.onResizerKeyDown=e=>{if(e.altKey||e.ctrlKey||e.metaKey||e.isComposing)return;const rtl=this.getAttribute("dir")==="rtl"||isRtl(this),direction=separatorArrowDirection(e,"inline",rtl),step=8,width=this.effectiveRailWidthPx,next=direction===1?Math.min(this.safeMaxRailWidthPx,width+step):direction===-1?Math.max(this.safeMinRailWidthPx,width-step):e.key==="Home"?this.safeMinRailWidthPx:e.key==="End"?this.safeMaxRailWidthPx:width;next!==width&&(e.preventDefault(),this.requestRailResize(next))},new GlassScrollLayer(this,'[part="base"], [part="panel"]')}static{this.knownUnobservedAttributes=["mode","dragging"]}static{this.styles=[LyraElement.styles,nativeModalCarrierStyles,styles]}get frame(){return this._frame}set frame(next){const value=APP_RAIL_FRAME.normalizeReflected(this,"frame",next),old=this._frame;value!==old&&(this._frame=value,this.requestUpdate("frame",old))}get forceMode(){return this._forceMode}set forceMode(next){if(next!=null&&next!=="auto"&&next!=="full"&&next!=="icon-only")return;const old=this._forceMode;if(this._forceMode=next??void 0,this.requestUpdate("forceMode",old),next==null||next==="auto"){if(!this.forced)return;this.forced=!1,this.applyComputedMode();return}this.forced=!0,this.setEffectiveMode(next)}static{definePersistedProperty(this.prototype,"open",{initial:!1,attribute:!0,type:Boolean,reflect:!0}),definePersistedProperty(this.prototype,"preferredMode",{initial:void 0,attribute:"preferred-mode"}),definePersistedProperty(this.prototype,"railWidth",{initial:void 0,attribute:"rail-width",converter:RAIL_WIDTH_CONVERTER})}pixelsOf(value){return typeof value=="number"?value:typeof value=="string"?resolveCssLength(value,{host:this}):void 0}get railWidthInPixels(){const width=this.railWidth;return typeof width=="string"?this.pixelsOf(width):width}get dragging(){return this._dragging}setDragging(next){this._dragging=next,this.toggleAttribute("dragging",next)}syncSlottedItems(){const slot=this.shadowRoot?.querySelector('[part="nav"] > slot'),itemTag=tag("app-rail-item"),groupTag=tag("app-rail-group"),railTag=tag("app-rail"),next=new Set((slot?.assignedElements({flatten:!0})??[]).filter(item=>item.localName===itemTag||item.localName===groupTag));for(const item of this.managedItems){if(next.has(item))continue;const newOwner=item.closest(railTag);newOwner&&newOwner!==this&&item.parentElement===newOwner&&!item.hasAttribute("slot")?item.toggleAttribute("icon-only",newOwner.mode==="icon-only"):item.removeAttribute("icon-only")}for(const item of next)item.toggleAttribute("icon-only",this._mode==="icon-only");this.managedItems=next}get mode(){return this._mode}get safeMinRailWidthPx(){return finiteRange(this.pixelsOf(this.minRailWidth)??Number.NaN,190,0)}get safeMaxRailWidthPx(){return Math.max(this.safeMinRailWidthPx,finiteRange(this.pixelsOf(this.maxRailWidth)??Number.NaN,440,0))}get effectiveRailWidthPx(){return this.railWidth!=null?finiteRange(this.railWidthInPixels??Number.NaN,this.safeMinRailWidthPx,this.safeMinRailWidthPx,this.safeMaxRailWidthPx):this.baseEl?.getBoundingClientRect().width??240}resizeValueText(widthPx){return this.localize("resizeValuePixels",void 0,{value:getNumberFormat(this.effectiveLocale).format(Math.round(widthPx))})}get storageFullKey(){return this.storageKey?`lr-app-rail:${this.storageKey}`:void 0}get persistFields(){const persist=typeof this.persist=="string"?this.persist:"";return new Set(persist.split(/\s+/).filter(field=>APP_RAIL_PERSIST_FIELDS.has(field)))}loadPersisted(){const restored={open:!1,preferredMode:!1},parsed=readPersistedState(this.storageFullKey,v=>typeof v=="object"&&v!==null);if(!parsed)return restored;const fields=this.persistFields;return fields.has("open")&&!isPersistedPropertyExplicitlySet(this,"open")&&typeof parsed.open=="boolean"&&(this.open=parsed.open,restored.open=!0),fields.has("width")&&!isPersistedPropertyExplicitlySet(this,"railWidth")&&typeof parsed.railWidthPx=="number"&&Number.isFinite(parsed.railWidthPx)&&(this.railWidth=parsed.railWidthPx),fields.has("preferred-mode")&&!isPersistedPropertyExplicitlySet(this,"preferredMode")&&(parsed.preferredMode==="full"||parsed.preferredMode==="icon-only")&&(this.preferredMode=parsed.preferredMode,restored.preferredMode=!0),restored}persistState(){const fields=this.persistFields;if(fields.size===0)return;const state2={};fields.has("open")&&(state2.open=this.open),fields.has("width")&&(state2.railWidthPx=this.railWidthInPixels),fields.has("preferred-mode")&&(state2.preferredMode=this.preferredMode??null),writePersistedState(this.storageFullKey,state2)}willUpdate(changed){if(super.willUpdate(changed),(changed.has("resizable")||changed.has("mode"))&&(!this.resizable||this._mode!=="full")&&this.endResizerGesture(),!this.hasUpdated){this.hasHeaderSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="header"),this.hasFooterSlot=Array.from(this.children).some(el=>el.getAttribute("slot")==="footer");const restored=this.loadPersisted();if(restored.preferredMode&&!this.forced){const restoredMode=computeAppRailMode(this.iconOnlyMatches,this.mobileMatches,this.preferredMode);restoredMode!==this._mode&&(this._mode=restoredMode,this.pendingInitialModeAnnouncement=restoredMode)}restored.open&&this.open&&this._mode!=="mobile"&&(this.open=!1)}if(this.hasUpdated&&(changed.has("iconOnlyBreakpoint")||changed.has("mobileBreakpoint"))&&(this.teardownMediaQueries(),this.setupMediaQueries()),this.hasUpdated&&changed.has("preferredMode")&&!this.forced&&this.applyComputedMode(),changed.has("open")||changed.has("mode")){const next=this._mode==="mobile"&&this.open;next!==this.overlayActive&&(this.hasUpdated&&this._mode==="mobile"&&!prefersReducedMotion(this)&&this.baseEl?.toggleAttribute("data-sliding",!0),this.overlayActive=next,this.placeToggle(next),next?(this.justOpened=!0,this.activateMobileOverlay()):this.deactivateMobileOverlay(this._mode==="mobile"))}}updated(changed){if(super.updated(changed),this.overlayActive&&this.nativeModal.show(),changed.has("topLayer"))for(const item of this.querySelectorAll(tag("app-rail-item")))item.syncRailTopLayer?.();if(this._lastReflectedMode!==this._mode&&(this._lastReflectedMode=this._mode,this.setAttribute("mode",this._mode)),this.pendingInitialModeAnnouncement!==void 0){const mode=this.pendingInitialModeAnnouncement;this.pendingInitialModeAnnouncement=void 0,this.emit("lr-mode-change",{mode})}if(this.syncSlottedItems(),this.placeToggle(this.overlayActive),this.syncExternalTriggerA11y(),this.syncBuiltInKeyShortcuts(),this.baseEl&&(this._mode!=="mobile"||!this.baseEl.getAnimations().some(animation=>"transitionProperty"in animation&&animation.transitionProperty==="transform"))&&this.baseEl.removeAttribute("data-sliding"),this.recoverInlineFocusAfterResponsiveClose){this.recoverInlineFocusAfterResponsiveClose=!1;const active=deepActiveElement(this.ownerDocument);this.baseEl&&!composedContains(this.baseEl,active)&&this.baseEl.focus()}this.justOpened&&(this.justOpened=!1,this.overlayHandle?.focusInitial()),this.persistReady&&(changed.has("open")||changed.has("railWidth")&&!this.dragging||changed.has("preferredMode")||changed.has("persist"))&&this.persistState(),this.persistReady=!0,this.baseEl&&(this.resizable&&this.railWidth!=null&&this._mode==="full"?this.baseEl.style.setProperty("inline-size",`${this.effectiveRailWidthPx}px`):this.baseEl.style.removeProperty("inline-size")),this.observeResizerPosition(),this.syncResizerPosition()}connectedCallback(){super.connectedCallback(),this.hotkeyWindow=this.ownerDocument.defaultView??void 0,this.hotkeyWindow&&(registerHotkeyOwner(this.hotkeyWindow,this,this.acceptsHotkey),this.hotkeyWindow.addEventListener("keydown",this.onHotkeyKeyDown)),this.setupMediaQueries(),this.hasUpdated&&this._mode==="mobile"&&this.open&&(this.overlayHandle?.isActive()?this.overlayHandle.resume():this.activateMobileOverlay(),queueMicrotask(()=>{this.nativeModal.show(),this.overlayHandle?.focusInitial()})),this.hasUpdated&&queueMicrotask(()=>{this.isConnected&&(this.syncSlottedItems(),this.observeResizerPosition(),this.syncResizerPosition(),this.syncExternalTriggerA11y())})}disconnectedCallback(){this.disconnectResizerPosition(),this.nativeModal.hide(),this.hotkeyWindow&&(this.hotkeyWindow.removeEventListener("keydown",this.onHotkeyKeyDown),unregisterHotkeyOwner(this.hotkeyWindow,this),this.hotkeyWindow=void 0),this.baseEl?.removeAttribute("data-sliding"),cancelDeferredFocusReturn(this),super.disconnectedCallback(),this.restoreFallbackTabIndex?.(),this.teardownMediaQueries(),this.overlayHandle?.suspend(),this.endResizerGesture(),this.releaseExternalTriggerA11y()}adoptedCallback(){this.disconnectResizerPosition(),super.adoptedCallback(),this.teardownMediaQueries(),this.endResizerGesture()}resolveExternalTrigger(){if(this.trigger)return this.trigger;if(!this.for)return null;const found=this.getRootNode().getElementById?.(this.for);return found instanceof HTMLElement?found:null}resolveFocusFallback(){const value=this.focusFallback;if(!value)return null;const target=typeof value=="string"?this.getRootNode().getElementById?.(value)??null:value;return isHtmlElement(target)&&target.ownerDocument===this.ownerDocument?target:null}activateMobileOverlay(){this.nativeModal.prepare();const explicitTrigger=this.explicitTrigger;this.explicitTrigger=void 0;const restoreFocusTo=explicitTrigger??this.resolveExternalTrigger()??void 0;this.overlayReturnIsExplicit=explicitTrigger!==void 0;const active=deepActiveElement(this.ownerDocument);this.overlayOpener=active&&typeof active.focus=="function"&&!composedContains(this,active)?active:null,this.overlayReturnTarget=restoreFocusTo??this.overlayOpener,this.overlayHandle=activateOverlay({host:this,panel:()=>this.shadowRoot?.querySelector('[part="panel"]')??null,onEscape:()=>this.setOpen(!1),onBackdrop:()=>this.setOpen(!1),restoreFocusTo,preferredInitialFocus:()=>{const panel=this.shadowRoot?.querySelector('[part="panel"]')??null;if(!panel)return null;const toggle=this.toggleEl??null;return collectFocusableElements(panel).filter(stop=>stop!==toggle)[0]??panel},lockScroll:!0,suspendWhenUnrendered:!0,deferredReturn:this.deferredReturnPass})}deactivateMobileOverlay(restoreFocus=!0){this.nativeModal.hide(),this.nativeModal.prepare(!1);const handle=this.overlayHandle;if(this.overlayHandle=void 0,handle&&restoreFocus&&!this.overlayReturnIsExplicit){const external=this.resolveExternalTrigger();external&&external!==this.overlayReturnTarget&&(this.overlayReturnTarget=external,handle.updateRestoreFocusTo(external))}handle?.deactivate({restoreFocus})}focusHostFallback(){if(!this.hasAttribute("tabindex")){this.setAttribute("tabindex","-1");const view=this.ownerDocument.defaultView,onFocusChange=()=>{deepActiveElement(this.ownerDocument)!==this&&restore()},restore=()=>{this.removeEventListener("blur",onFocusChange),view?.removeEventListener("focus",onFocusChange),this.getAttribute("tabindex")==="-1"&&this.removeAttribute("tabindex"),this.restoreFallbackTabIndex=void 0};this.restoreFallbackTabIndex=restore,this.addEventListener("blur",onFocusChange),view?.addEventListener("focus",onFocusChange)}return focusFirstAvailable(this)?!0:(this.restoreFallbackTabIndex?.(),!1)}placeToggle(insidePanel){const toggle=this.toggleEl,panel=this.baseEl;if(!(!toggle||!panel)){if(insidePanel){panel.firstChild!==toggle&&panel.insertBefore(toggle,panel.firstChild);return}toggle.nextSibling!==panel&&panel.parentNode?.insertBefore(toggle,panel)}}setupMediaQueries(){if(!this.isConnected)return;const view=this.ownerDocument.defaultView;if(!view?.matchMedia)return;const iconOnlyQuery=view.matchMedia(`(max-width: ${this.iconOnlyBreakpoint})`),mobileQuery=view.matchMedia(`(max-width: ${this.mobileBreakpoint})`),iconOnlyListener=event=>{this.mqIconOnly!==iconOnlyQuery||!this.isConnected||this.ownerDocument.defaultView!==view||this.onIconOnlyChange(event)},mobileListener=event=>{this.mqMobile!==mobileQuery||!this.isConnected||this.ownerDocument.defaultView!==view||this.onMobileChange(event)};this.mqIconOnly=iconOnlyQuery,this.mqMobile=mobileQuery,this.mqIconOnlyListener=iconOnlyListener,this.mqMobileListener=mobileListener,iconOnlyQuery.addEventListener("change",iconOnlyListener),mobileQuery.addEventListener("change",mobileListener),this.iconOnlyMatches=iconOnlyQuery.matches,this.mobileMatches=mobileQuery.matches,!this.forced&&this.applyComputedMode(this.hasUpdated?void 0:{silent:!0})}teardownMediaQueries(){this.mqIconOnly&&this.mqIconOnlyListener&&this.mqIconOnly.removeEventListener("change",this.mqIconOnlyListener),this.mqMobile&&this.mqMobileListener&&this.mqMobile.removeEventListener("change",this.mqMobileListener),this.mqIconOnly=void 0,this.mqMobile=void 0,this.mqIconOnlyListener=void 0,this.mqMobileListener=void 0}applyComputedMode(options){this.setEffectiveMode(computeAppRailMode(this.iconOnlyMatches,this.mobileMatches,this.preferredMode),options)}setEffectiveMode(next,options){if(this._mode===next)return;const old=this._mode,resizer=this.renderRoot?.querySelector('[part="resizer"]');old==="full"&&next==="icon-only"&&resizer&&composedContains(resizer,deepActiveElement(this.ownerDocument))&&(this.recoverInlineFocusAfterResponsiveClose=!0),next!=="mobile"&&this.baseEl?.removeAttribute("data-sliding"),old==="mobile"&&next!=="mobile"&&this.open&&(this.recoverInlineFocusAfterResponsiveClose=!0),this._mode=next,this.baseEl&&(this.resizable&&this.railWidth!=null&&next==="full"||this.baseEl.style.removeProperty("inline-size")),this.requestUpdate("mode",old),options?.silent?this.pendingInitialModeAnnouncement=next:this.emit("lr-mode-change",{mode:next}),next!=="mobile"&&this.open&&this.setOpen(!1,{force:!0})}setOpen(next,options){if(this.open===next)return;if(options?.force){this.open=next,this.emit("lr-toggle",{expanded:next});return}const mode=this._mode,open=this.open;this.emit("lr-toggle-request",{expanded:next},{cancelable:!0}).defaultPrevented||this._mode!==mode||this.open!==open||(this.open=next,this.emit("lr-toggle",{expanded:next}))}toggleCollapse(){this._mode!=="mobile"&&(this.preferredMode=(this.preferredMode??this._mode)==="icon-only"?"full":"icon-only")}toggle(){this.isConnected&&(this._mode==="mobile"?this.setOpen(!this.open):this.toggleCollapse())}get resolvedHotkeyShortcuts(){const parsed=parseHotkey(this.hotkey);return hotkeyAriaKeyShortcuts(parsed&&hasNonShiftModifier(parsed)?parsed:null,detectPlatform(this.ownerDocument.defaultView?.navigator)==="mac")}syncBuiltInKeyShortcuts(){const value=this.resolvedHotkeyShortcuts;for(const control of[this.toggleEl,this.renderRoot.querySelector('[part="collapse-toggle"]')])!control||control.getAttribute("aria-keyshortcuts")===value||(value===null?control.removeAttribute("aria-keyshortcuts"):control.setAttribute("aria-keyshortcuts",value))}syncExternalTriggerA11y(){if(!this.isConnected){this.releaseExternalTriggerA11y();return}const mobile=this._mode==="mobile",trigger=mobile||this.triggerCollapses?this.resolveExternalTrigger():null;if(!trigger){this.releaseExternalTriggerA11y();return}const panel=this.baseEl??null,contribution={attributes:{"aria-expanded":(mobile?this.open:this._mode==="full")?"true":"false","aria-keyshortcuts":this.resolvedHotkeyShortcuts},controls:panel?[panel]:[]};this.triggerAria?this.triggerAria.update(trigger,contribution):this.triggerAria=acquireAriaOwnership(trigger,contribution)}releaseExternalTriggerA11y(){this.triggerAria?.release(),this.triggerAria=void 0}endResizerGesture(commit=!1){const pointerId=this.resizePointerId,changed=this.resizeGestureChanged,widthPx=this.effectiveRailWidthPx;this.resizePointerId=void 0,this.resizeGestureChanged=!1,this.setDragging(!1),pointerId!==void 0&&this.resizeController.end(pointerId),commit&&changed&&(this.emit("lr-rail-resize",{widthPx}),this.persistReady&&this.persistState())}requestRailResize(next,commit=!0){if(!this.resizable||this._mode!=="full"||!this.isConnected||next===this.effectiveRailWidthPx)return!1;const event=this.emit("lr-rail-resize-request",{widthPx:next},{cancelable:!0});return!this.resizable||this._mode!=="full"||!this.isConnected?(this.endResizerGesture(),!1):event.defaultPrevented?!1:(this.railWidth=next,commit?this.emit("lr-rail-resize",{widthPx:next}):this.resizeGestureChanged=!0,!0)}observeResizerPosition(){const resizer=this.renderRoot.querySelector('[part="resizer"]');if(!this.isConnected||!resizer||!this.baseEl||this._mode!=="full"||!this.resizable){this.disconnectResizerPosition();return}if(this.observedResizer===resizer)return;this.disconnectResizerPosition();const ResizeObserverConstructor=this.ownerDocument.defaultView?.ResizeObserver;ResizeObserverConstructor&&(this.resizerPositionObserver=new ResizeObserverConstructor(()=>this.syncResizerPosition()),this.resizerPositionObserver.observe(this,{box:"border-box"}),this.resizerPositionObserver.observe(this.baseEl,{box:"border-box"}),this.resizerPositionObserver.observe(resizer,{box:"border-box"}),this.observedResizer=resizer)}disconnectResizerPosition(){this.resizerPositionObserver?.disconnect(),this.resizerPositionObserver=void 0,this.observedResizer=void 0}syncResizerPosition(){const resizer=this.renderRoot.querySelector('[part="resizer"]');if(!resizer||!this.baseEl||this._mode!=="full"||!this.resizable)return;const hostRect=this.getBoundingClientRect(),baseRect=this.baseEl.getBoundingClientRect(),half=resizer.getBoundingClientRect().width/2,offset=this.getAttribute("dir")==="rtl"||isRtl(this)?hostRect.right-baseRect.left:baseRect.right-hostRect.left;resizer.style.setProperty("inset-inline-start",`${offset-half}px`),resizer.style.setProperty("inset-inline-end","auto")}renderResizer(){const railWidthPx=this.effectiveRailWidthPx;return html`<div
2
2
  part="resizer"
3
3
  role="separator"
4
4
  aria-orientation="vertical"
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{activeElementIn}from"../../../internal/active-element.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{resolveGuardedRel}from"../../../internal/link-rel.js";import{LyraElement}from"../../../internal/lyra-element.js";import{safeLinkHref}from"../../../internal/safe-url.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{styles}from"./breadcrumb-item.styles.js";class LyraBreadcrumbItem extends LyraElement{constructor(){super(...arguments),this._href="",this.rel="noreferrer noopener",this.current=!1,this.slots=new SlotPresenceController(this)}static{this.styles=[LyraElement.styles,styles]}get href(){return this._href}set href(value){const old=this._href;this._href=value??"",this.requestUpdate("href",old)}get resolvedRel(){return resolveGuardedRel(this.rel,this.target)}connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role","listitem")}willUpdate(changed){if(super.willUpdate(changed),!changed.has("href")&&!changed.has("current"))return;const previous=this.renderRoot?.querySelector('[part="base"]')??null;if(!previous)return;const nextKind=this.current?"span":safeLinkHref(this.href)?"a":"button";this.semanticFocusOrigin=previous.localName!==nextKind&&activeElementIn(this.shadowRoot)===previous?previous:void 0}updated(changed){super.updated(changed);const focusOrigin=this.semanticFocusOrigin;this.semanticFocusOrigin=void 0,focusOrigin&&this.scheduleAfterUpdate(()=>{const internalActive=activeElementIn(this.shadowRoot),documentActive=activeElementIn(this.ownerDocument);internalActive!==null&&internalActive!==focusOrigin||documentActive!==null&&documentActive!==this&&documentActive!==this.ownerDocument.body||this.renderRoot.querySelector('[part="base"]')?.focus()},"breadcrumb-item-owner-focus")}disconnectedCallback(){this.semanticFocusOrigin=void 0,super.disconnectedCallback()}click(){this.current||this.renderRoot.querySelector('[part~="base"]')?.click()}render(){const href=safeLinkHref(this.href),ariaLabel=hostAriaLabel(this),separator=html`<span part="separator" aria-hidden="true" inert><slot name="separator">/</slot></span>`,label=html`
1
+ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{activeElementIn,shadowFocusTarget}from"../../../internal/active-element.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{resolveGuardedRel}from"../../../internal/link-rel.js";import{LyraElement}from"../../../internal/lyra-element.js";import{safeLinkHref}from"../../../internal/safe-url.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{styles}from"./breadcrumb-item.styles.js";class LyraBreadcrumbItem extends LyraElement{constructor(){super(...arguments),this._href="",this.rel="noreferrer noopener",this.current=!1,this.slots=new SlotPresenceController(this)}static{this.styles=[LyraElement.styles,styles]}get href(){return this._href}set href(value){const old=this._href;this._href=value??"",this.requestUpdate("href",old)}get resolvedRel(){return resolveGuardedRel(this.rel,this.target)}connectedCallback(){super.connectedCallback(),this.hasAttribute("role")||this.setAttribute("role","listitem")}willUpdate(changed){if(super.willUpdate(changed),!changed.has("href")&&!changed.has("current"))return;const previous=this.renderRoot?.querySelector('[part="base"]')??null;if(!previous)return;const nextKind=this.current?"span":safeLinkHref(this.href)?"a":"button";this.semanticFocusOrigin=previous.localName!==nextKind&&shadowFocusTarget(this)===previous?previous:void 0}updated(changed){super.updated(changed);const focusOrigin=this.semanticFocusOrigin;this.semanticFocusOrigin=void 0,focusOrigin&&this.scheduleAfterUpdate(()=>{const internalActive=shadowFocusTarget(this),documentActive=activeElementIn(this.ownerDocument);internalActive!==null&&internalActive!==focusOrigin||documentActive!==null&&documentActive!==this&&documentActive!==this.ownerDocument.body||this.renderRoot.querySelector('[part="base"]')?.focus()},"breadcrumb-item-owner-focus")}disconnectedCallback(){this.semanticFocusOrigin=void 0,super.disconnectedCallback()}click(){this.current||this.renderRoot.querySelector('[part~="base"]')?.click()}render(){const href=safeLinkHref(this.href),ariaLabel=hostAriaLabel(this),separator=html`<span part="separator" aria-hidden="true" inert><slot name="separator">/</slot></span>`,label=html`
2
2
  <span part="start prefix" ?hidden=${!this.slots.has("start")&&!this.slots.has("prefix")}>
3
3
  <slot name="start"></slot><slot name="prefix"></slot>
4
4
  </span>
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{activeElementIn}from"../../../internal/active-element.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{declaredDefaultConverter}from"../../../internal/converters.js";import{composedAccessibilityText}from"../../../internal/accessibility-visibility.js";import{AccessibleTextController}from"../../../internal/accessible-text-controller.js";import{containsNestedInteractive}from"../../../internal/nested-interactive.js";import{resolveGuardedRel}from"../../../internal/link-rel.js";import{LyraElement}from"../../../internal/lyra-element.js";import{safeLinkHref}from"../../../internal/safe-url.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{styles}from"./card.styles.js";import{LYRA_DEFAULT_open}from"../../../internal/default-strings.generated.js";function isElementNode(value){return typeof value=="object"&&value!==null&&value.nodeType===1&&typeof value.matches=="function"}class LyraCard extends LyraElement{constructor(){super(...arguments),this.appearance="outlined",this.orientation="vertical",this.withHeader=!1,this.withHeaderActions=!1,this.withMedia=!1,this.withFooter=!1,this.withFooterActions=!1,this.actionable=!1,this.disabled=!1,this.accessibleLabel=null,this.triggerPressed=null,this.triggerCurrent=null,this.slotPresence=new SlotPresenceController(this),this.accessibleContentText="",this.contentTextObserver=new AccessibleTextController(this,[""],()=>{this.needsAccessibleContentText()&&this.recomputeAccessibleContentText()},["alt","aria-labelledby","slot"]),this.onBaseClick=e=>{if(this.disabled)return;const origin=e.composedPath()[0];if(isElementNode(origin)&&origin.getAttribute("part")==="activation-button"){this.emit("lr-card-activate",null);return}containsNestedInteractive(e,e.currentTarget)||this.emit("lr-card-activate",null)},this.onLinkedContentClick=e=>{this.disabled||e.defaultPrevented||containsNestedInteractive(e,e.currentTarget)||(e.stopPropagation(),this.renderRoot.querySelector('a[part~="base"][href]')?.click())}}static{this.defaultStrings={...super.defaultStrings,open:LYRA_DEFAULT_open}}static{this.styles=[LyraElement.styles,styles]}get resolvedRel(){return resolveGuardedRel(this.rel,this.target)}semanticOwner(){const root=this.renderRoot;return root?root.querySelector('a[part="base"]')??root.querySelector('button[part="activation-button"]')??root.querySelector('div[part="base"]'):null}willUpdate(changed){if(super.willUpdate(changed),changed.has("href")||changed.has("actionable")){const previous=this.semanticOwner(),nextKind=safeLinkHref(this.href)?"a":this.actionable?"button":"div";this.semanticFocusOrigin=previous!==null&&previous.localName!==nextKind&&activeElementIn(this.shadowRoot)===previous?previous:void 0}this.syncAccessibleContentText()}updated(changed){super.updated(changed);const focusOrigin=this.semanticFocusOrigin;this.semanticFocusOrigin=void 0,focusOrigin&&this.scheduleAfterUpdate(()=>{const internalActive=activeElementIn(this.shadowRoot),documentActive=activeElementIn(this.ownerDocument);if(internalActive!==null&&internalActive!==focusOrigin||documentActive!==null&&documentActive!==this&&documentActive!==this.ownerDocument.body)return;this.semanticOwner()?.focus()},"card-owner-focus")}connectedCallback(){this.contentTextObserver.setEnabled(this.needsAccessibleContentText()),super.connectedCallback(),this.needsAccessibleContentText()&&this.recomputeAccessibleContentText(),this.requestUpdate()}needsAccessibleContentText(){return this.actionable&&!safeLinkHref(this.href)&&(hostAriaLabel(this)??this.accessibleLabel??null)===null}syncAccessibleContentText(){if(this.contentTextObserver.setEnabled(this.needsAccessibleContentText()),!this.needsAccessibleContentText()){this.accessibleContentText="";return}(!this.hasUpdated||this.accessibleContentText==="")&&this.recomputeAccessibleContentText()}recomputeAccessibleContentText(){this.accessibleContentText=composedAccessibilityText(this.childNodes,{requireRendered:!1}).replace(/\s+/g," ").trim()}disconnectedCallback(){super.disconnectedCallback(),this.semanticFocusOrigin=void 0}adoptedCallback(){super.adoptedCallback(),this.contentTextObserver.adopted()}click(){this.disabled||this.renderRoot.querySelector('a[part~="base"], button[part~="activation-button"]')?.click()}render(){const has=name=>this.slotPresence.has(name),hasMedia=this.withMedia||has("media")||has("image"),hasHeaderActions=this.withHeaderActions||has("header-actions")||has("actions"),hasHeader=this.withHeader||has("header")||hasHeaderActions,hasFooterActions=this.withFooterActions||has("footer-actions"),hasFooter=this.withFooter||has("footer")||hasFooterActions,href=safeLinkHref(this.href),activatable=this.actionable&&!href,disabled=this.disabled&&(activatable||!!href),pressed=["true","false","mixed"].includes(this.triggerPressed??"")?this.triggerPressed:nothing,current=["page","step","location","date","time","true","false"].includes(this.triggerCurrent??"")?this.triggerCurrent:nothing,accessibleLabel=hostAriaLabel(this)??this.accessibleLabel,fallbackAccessibleLabel=this.accessibleContentText||this.localize("open"),body=html`
1
+ import{__decorate}from"tslib";import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{activeElementIn,shadowFocusTarget}from"../../../internal/active-element.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{declaredDefaultConverter}from"../../../internal/converters.js";import{composedAccessibilityText}from"../../../internal/accessibility-visibility.js";import{AccessibleTextController}from"../../../internal/accessible-text-controller.js";import{containsNestedInteractive}from"../../../internal/nested-interactive.js";import{resolveGuardedRel}from"../../../internal/link-rel.js";import{LyraElement}from"../../../internal/lyra-element.js";import{safeLinkHref}from"../../../internal/safe-url.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{styles}from"./card.styles.js";import{LYRA_DEFAULT_open}from"../../../internal/default-strings.generated.js";function isElementNode(value){return typeof value=="object"&&value!==null&&value.nodeType===1&&typeof value.matches=="function"}class LyraCard extends LyraElement{constructor(){super(...arguments),this.appearance="outlined",this.orientation="vertical",this.withHeader=!1,this.withHeaderActions=!1,this.withMedia=!1,this.withFooter=!1,this.withFooterActions=!1,this.actionable=!1,this.disabled=!1,this.accessibleLabel=null,this.triggerPressed=null,this.triggerCurrent=null,this.slotPresence=new SlotPresenceController(this),this.accessibleContentText="",this.contentTextObserver=new AccessibleTextController(this,[""],()=>{this.needsAccessibleContentText()&&this.recomputeAccessibleContentText()},["alt","aria-labelledby","slot"]),this.onBaseClick=e=>{if(this.disabled)return;const origin=e.composedPath()[0];if(isElementNode(origin)&&origin.getAttribute("part")==="activation-button"){this.emit("lr-card-activate",null);return}containsNestedInteractive(e,e.currentTarget)||this.emit("lr-card-activate",null)},this.onLinkedContentClick=e=>{this.disabled||e.defaultPrevented||containsNestedInteractive(e,e.currentTarget)||(e.stopPropagation(),this.renderRoot.querySelector('a[part~="base"][href]')?.click())}}static{this.defaultStrings={...super.defaultStrings,open:LYRA_DEFAULT_open}}static{this.styles=[LyraElement.styles,styles]}get resolvedRel(){return resolveGuardedRel(this.rel,this.target)}semanticOwner(){const root=this.renderRoot;return root?root.querySelector('a[part="base"]')??root.querySelector('button[part="activation-button"]')??root.querySelector('div[part="base"]'):null}willUpdate(changed){if(super.willUpdate(changed),changed.has("href")||changed.has("actionable")){const previous=this.semanticOwner(),nextKind=safeLinkHref(this.href)?"a":this.actionable?"button":"div";this.semanticFocusOrigin=previous!==null&&previous.localName!==nextKind&&shadowFocusTarget(this)===previous?previous:void 0}this.syncAccessibleContentText()}updated(changed){super.updated(changed);const focusOrigin=this.semanticFocusOrigin;this.semanticFocusOrigin=void 0,focusOrigin&&this.scheduleAfterUpdate(()=>{const internalActive=shadowFocusTarget(this),documentActive=activeElementIn(this.ownerDocument);if(internalActive!==null&&internalActive!==focusOrigin||documentActive!==null&&documentActive!==this&&documentActive!==this.ownerDocument.body)return;this.semanticOwner()?.focus()},"card-owner-focus")}connectedCallback(){this.contentTextObserver.setEnabled(this.needsAccessibleContentText()),super.connectedCallback(),this.needsAccessibleContentText()&&this.recomputeAccessibleContentText(),this.requestUpdate()}needsAccessibleContentText(){return this.actionable&&!safeLinkHref(this.href)&&(hostAriaLabel(this)??this.accessibleLabel??null)===null}syncAccessibleContentText(){if(this.contentTextObserver.setEnabled(this.needsAccessibleContentText()),!this.needsAccessibleContentText()){this.accessibleContentText="";return}(!this.hasUpdated||this.accessibleContentText==="")&&this.recomputeAccessibleContentText()}recomputeAccessibleContentText(){this.accessibleContentText=composedAccessibilityText(this.childNodes,{requireRendered:!1}).replace(/\s+/g," ").trim()}disconnectedCallback(){super.disconnectedCallback(),this.semanticFocusOrigin=void 0}adoptedCallback(){super.adoptedCallback(),this.contentTextObserver.adopted()}click(){this.disabled||this.renderRoot.querySelector('a[part~="base"], button[part~="activation-button"]')?.click()}render(){const has=name=>this.slotPresence.has(name),hasMedia=this.withMedia||has("media")||has("image"),hasHeaderActions=this.withHeaderActions||has("header-actions")||has("actions"),hasHeader=this.withHeader||has("header")||hasHeaderActions,hasFooterActions=this.withFooterActions||has("footer-actions"),hasFooter=this.withFooter||has("footer")||hasFooterActions,href=safeLinkHref(this.href),activatable=this.actionable&&!href,disabled=this.disabled&&(activatable||!!href),pressed=["true","false","mixed"].includes(this.triggerPressed??"")?this.triggerPressed:nothing,current=["page","step","location","date","time","true","false"].includes(this.triggerCurrent??"")?this.triggerCurrent:nothing,accessibleLabel=hostAriaLabel(this)??this.accessibleLabel,fallbackAccessibleLabel=this.accessibleContentText||this.localize("open"),body=html`
2
2
  ${activatable?html`<button
3
3
  part="activation-button"
4
4
  type="button"
@@ -1,4 +1,4 @@
1
- import{__decorate}from"tslib";import{prefersReducedMotion}from"../../../internal/motion.js";import{observeReducedMotion}from"../../../internal/motion-observer.js";import{html,nothing}from"lit";import{property,query}from"lit/decorators.js";import{acquireAnnouncementSink}from"../../../internal/announcer.js";import{isAccessibilitySubtreeExcluded,isAccessibilityVisible,isAccessibilityVisibilityHidden}from"../../../internal/accessibility-visibility.js";import{activeElementIn,deepActiveElementIn}from"../../../internal/active-element.js";import{composedAccessibilityText}from"../../../internal/announcement-text.js";import{collectInitialSlotAssignment}from"../../../internal/initial-slot-collection.js";import{renderInertPresentation}from"../../../internal/inert-presentation.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteDuration,finiteInteger}from"../../../internal/numbers.js";import{DebounceController}from"../../../internal/debounce-controller.js";import{keyEventOwnedByInnerControl}from"../../../internal/hotkey.js";import{composedContains}from"../../../internal/overlay-manager.js";import{SlottedOverlayController}from"../../../internal/slotted-overlay-controller.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{tag}from"../../../internal/prefix.js";import{styles}from"./carousel.styles.js";import{LYRA_DEFAULT_carousel,LYRA_DEFAULT_carouselGoTo,LYRA_DEFAULT_carouselIndicators,LYRA_DEFAULT_carouselLabel,LYRA_DEFAULT_carouselSlide,LYRA_DEFAULT_carouselSlideAnnouncement,LYRA_DEFAULT_carouselSlideAnnouncementSeparator,LYRA_DEFAULT_carouselSlidePosition,LYRA_DEFAULT_next,LYRA_DEFAULT_previous}from"../../../internal/default-strings.generated.js";const SCROLL_SETTLE_MS=120,LOOP_SNAPSHOT_UNSAFE_TAGS=new Set(["audio","canvas","embed","form","iframe","img","input","link","object","picture","script","select","source","style","textarea","track","video"]),CAROUSEL_MANAGED_SLIDE_ATTRIBUTES=new Set(["aria-hidden","aria-label","aria-roledescription","hidden","inert","role"]),SLIDE_SNAPSHOT_KEYS=["hidden","inert","role","label","roleDescription","ariaHidden"];class LyraCarousel extends LyraElement{static{this.defaultStrings={...super.defaultStrings,carousel:LYRA_DEFAULT_carousel,carouselGoTo:LYRA_DEFAULT_carouselGoTo,carouselIndicators:LYRA_DEFAULT_carouselIndicators,carouselLabel:LYRA_DEFAULT_carouselLabel,carouselSlide:LYRA_DEFAULT_carouselSlide,carouselSlideAnnouncement:LYRA_DEFAULT_carouselSlideAnnouncement,carouselSlideAnnouncementSeparator:LYRA_DEFAULT_carouselSlideAnnouncementSeparator,carouselSlidePosition:LYRA_DEFAULT_carouselSlidePosition,next:LYRA_DEFAULT_next,previous:LYRA_DEFAULT_previous}}static{this.styles=[LyraElement.styles,styles]}static get observedAttributes(){return[...new Set([...super.observedAttributes,"currentslide"])]}get currentSlide(){return this._currentSlide}set currentSlide(value){this.setCurrentSlideState(value)}get pagination(){return this._pagination}set pagination(value){this.setPaginationState(!!value)}get slides(){return this._slides}constructor(){super(),this._currentSlide=0,this._pagination=!1,this._slides=0,this.loop=!1,this.autoplay=!1,this.autoplayInterval=3e3,this.navigation=!1,this.orientation="horizontal",this.mouseDragging=!1,this.slidesPerPage=1,this.slidesPerMove=1,this.hostAccessibleLabel=null,this.reduceMotion=!1,this.snapshots=new Map,this.appliedSnapshots=new WeakMap,this.scrollSettle=new DebounceController(SCROLL_SETTLE_MS,()=>this.settleScrolledSlide(),()=>this.ownerDocument.defaultView),this.adoptingScrolledSlide=!1,this.hasAlignedOnce=!1,this.loopClonesDirty=!0,this.pointerInteracting=!1,this.focusInteracting=!1,this.slideOverlay=new SlottedOverlayController(this,()=>this.renderRoot?.querySelector("slot:not([name])")),this.slideOverlayWasOpen=!1,this.dragStartCoordinate=0,this.dragStartScroll=0,this.dragMoved=!1,this.suppressClick=!1,this.announcementsArmed=!1,this.changeOrigin="manual",this.manualPending=!1,this.observerGeneration=0,this.passiveTakeOver={handleEvent:()=>this.takeOverViewport(),passive:!0},this.onMotionPreferenceChange=reduced=>{this.reduceMotion=reduced,this.restartAutoplay(),this.requestUpdate()},this.onVisibilityChange=()=>{this.restartAutoplay()},this.onSlotChange=()=>{this.handleSlidesChanged()},this.onViewportScroll=()=>{this.cancelScrollSettle(),this.ownerDocument.defaultView&&this.scrollSettle.push(void 0)},this.onViewportScrollEnd=()=>{this.cancelScrollSettle(),this.settleScrolledSlide()},this.settleScrolledSlide=()=>{if(!this.isConnected)return;const viewport=this.viewport;if(!viewport)return;if(this.alignTarget){if(Math.abs(this.axisOffsetOf(this.alignTarget,viewport))>2)return;const cloneSide=this.alignTarget.dataset.carouselClone;if(cloneSide==="before"||cloneSide==="after"){const realSlide=this.slideElements()[this.alignIndex??-1];if(realSlide){this.alignTarget=realSlide,this.scrollByAxis(viewport,this.axisOffsetOf(realSlide,viewport),"instant");return}}this.clearAlignment();return}const resting=this.restingSlide();if(!resting)return;const changed=resting.index!==this.currentSlide;!changed&&!resting.cloneSide||(this.adoptingScrolledSlide=!0,changed&&(this.currentSlide=resting.index,this.emit("lr-slide-change",{index:resting.index,slide:this.slideElements()[resting.index]})),this.updateComplete.then(()=>{if(resting.cloneSide&&this.isConnected&&this.viewport){const realSlide=this.slideElements()[resting.index];realSlide&&this.scrollByAxis(this.viewport,this.axisOffsetOf(realSlide,this.viewport),"instant")}this.adoptingScrolledSlide=!1}))},this.onViewportPointerEnter=()=>{this.pointerInteracting=!0,this.restartAutoplay()},this.onViewportPointerLeave=()=>{this.dragPointerId===void 0&&(this.pointerInteracting=!1,this.restartAutoplay())},this.onViewportFocusIn=event=>{this.focusInteracting=!0;const slides=new Set(this.slideElements()),focusedSlide=event.composedPath().find(candidate=>candidate.nodeType===1&&slides.has(candidate));focusedSlide&&(this.lastFocusedSlide=focusedSlide),this.restartAutoplay()},this.onViewportFocusOut=()=>{this.queueOwnerMicrotask(()=>{if(!this.isConnected)return;const active=deepActiveElementIn(this.ownerDocument);this.lastFocusedSlide&&!composedContains(this.lastFocusedSlide,active)&&(this.lastFocusedSlide.isConnected||active!==null&&active!==this.ownerDocument.body)&&(this.lastFocusedSlide=void 0),this.focusInteracting=this.matches(":focus-within"),this.restartAutoplay()})},this.onViewportPointerDown=event=>{if(!this.mouseDragging||event.pointerType!=="mouse"||!event.isPrimary||event.button!==0||this.dragPointerId!==void 0||this.targetsInteractiveContent(event))return;this.takeOverViewport();const viewport=this.viewport;if(viewport){this.dragPointerId=event.pointerId,this.dragStartCoordinate=this.effectiveOrientation()==="vertical"?event.clientY:event.clientX,this.dragStartScroll=this.effectiveOrientation()==="vertical"?viewport.scrollTop:viewport.scrollLeft,this.dragMoved=!1,viewport.setAttribute("data-dragging","");try{viewport.setPointerCapture(event.pointerId)}catch{}this.restartAutoplay()}},this.onViewportPointerMove=event=>{if(event.pointerId!==this.dragPointerId)return;const viewport=this.viewport;if(!viewport)return;const delta=(this.effectiveOrientation()==="vertical"?event.clientY:event.clientX)-this.dragStartCoordinate;Math.abs(delta)>2&&(this.dragMoved=!0),this.dragMoved&&(event.preventDefault(),this.effectiveOrientation()==="vertical"?viewport.scrollTo({top:this.dragStartScroll-delta,behavior:"instant"}):viewport.scrollTo({left:this.dragStartScroll-delta,behavior:"instant"}))},this.onViewportPointerUp=event=>{this.finishDrag(event.pointerId,!1)},this.onViewportPointerCancel=event=>{this.finishDrag(event.pointerId,!0)},this.onViewportLostPointerCapture=event=>{this.finishDrag(event.pointerId,!0)},this.onViewportClick=event=>{this.suppressClick&&(event.preventDefault(),event.stopImmediatePropagation())},this.onViewportKeyDown=event=>{if(this.targetsInteractiveContent(event,!0))return;const vertical=this.effectiveOrientation()==="vertical",rtl=this.effectiveDirection==="rtl",forwardKey=vertical?"ArrowDown":rtl?"ArrowLeft":"ArrowRight",backwardKey=vertical?"ArrowUp":rtl?"ArrowRight":"ArrowLeft";event.key===forwardKey?(event.preventDefault(),this.next()):event.key===backwardKey?(event.preventDefault(),this.previous()):event.key==="Home"?(event.preventDefault(),this.goToSlide(0)):event.key==="End"&&(event.preventDefault(),this.goToSlide(this.loop?this.slideElements().length-1:this.maxStartIndex()))},this.requestUpdate("currentSlide",void 0),this.requestUpdate("pagination",void 0)}attributeChangedCallback(name,oldValue,newValue){if(name==="currentslide"){oldValue!==newValue&&(this.currentSlide=finiteInteger(Number(newValue??0),0));return}super.attributeChangedCallback(name,oldValue,newValue),name==="current-slide"&&newValue===null&&oldValue!==newValue&&this.hasAttribute("currentslide")&&(this.currentSlide=finiteInteger(Number(this.getAttribute("currentslide")??0),0))}connectedCallback(){this.hasAttribute("current-slide")&&(this.currentSlide=finiteInteger(Number(this.getAttribute("current-slide")??0),0)),super.connectedCallback(),this.announcementSink??=acquireAnnouncementSink("polite",{document:this.ownerDocument,source:this}),this.announcementsArmed=!1,this.manualPending=!1,this.reduceMotion=prefersReducedMotion(this),this.stopMotionWatch=observeReducedMotion(this,this.onMotionPreferenceChange),this.visibilityDocument=this.ownerDocument,this.visibilityDocument.addEventListener("visibilitychange",this.onVisibilityChange),this.armSlideContentObserver(),this.restartAutoplay(),this.hasUpdated&&this.queueOwnerMicrotask(()=>{this.isConnected&&this.handleSlidesChanged()})}disconnectedCallback(){this.announcementSink?.release(),this.announcementSink=void 0,this.announcementsArmed=!1,this.manualPending=!1,this.cancelDrag(!1),this.stopAutoplay(),this.cancelScrollSettle(),this.cancelClickSuppression(),this.suppressClick=!1,this.pointerInteracting=!1,this.focusInteracting=!1,this.hasAlignedOnce=!1,this.clearAlignment(),this.stopMotionWatch?.(),this.stopMotionWatch=void 0,this.visibilityDocument?.removeEventListener("visibilitychange",this.onVisibilityChange),this.visibilityDocument=void 0,this.resetSlideContentObserver(),this.restoreSlides(),this.lastFocusedSlide=void 0,super.disconnectedCallback()}armSlideContentObserver(){const ownerDocument=this.ownerDocument,MutationObserverCtor=ownerDocument.defaultView?.MutationObserver;if(!MutationObserverCtor||!this.isConnected)return;this.resetSlideContentObserver();const generation=this.observerGeneration,observer=new MutationObserverCtor(records=>{this.observer!==observer||this.observerDocument!==ownerDocument||this.observerGeneration!==generation||!this.isConnected||this.ownerDocument!==ownerDocument||!records.some(record=>{if(record.target===this)return record.type!=="attributes";if(record.type!=="attributes"||!CAROUSEL_MANAGED_SLIDE_ATTRIBUTES.has(record.attributeName??""))return this.loop;const slide=record.target,snapshot=this.snapshots.get(slide);return snapshot?this.adoptChanges(slide,snapshot):!1})||(this.loop&&(this.loopClonesDirty=!0),this.syncSlides(),this.requestUpdate())});this.observer=observer,this.observerDocument=ownerDocument,observer.observe(this,{attributes:!0,characterData:!0,childList:!0,subtree:!0})}resetSlideContentObserver(){this.observerGeneration+=1,this.observer?.disconnect(),this.observer=void 0,this.observerDocument=void 0}willUpdate(changed){super.willUpdate(changed);const active=activeElementIn(this.shadowRoot);if(this.focusedNavButton=active?.matches('[part~="navigation-button"]')?active:void 0,(changed.has("currentSlide")||changed.has("slidesPerPage"))&&this.slideSlot){const normalized=this.normalizedIndex();if(this.currentSlide!==normalized){const forcedBySibling=changed.has("slidesPerPage")&&!changed.has("currentSlide");if(this.currentSlide=normalized,forcedBySibling){const slide=this.slideElements()[normalized];slide&&this.emit("lr-slide-change",{index:normalized,slide})}}}}firstUpdated(changed){super.firstUpdated(changed);const slot=this.slideSlot;this.queueOwnerMicrotask(()=>{collectInitialSlotAssignment(slot,()=>this.handleSlidesChanged())})}updated(changed){super.updated(changed);const shouldAnnounceActivePage=this.announcementsArmed&&(this.manualPending||changed.has("slidesPerPage"));this.slideOverlay.open!==this.slideOverlayWasOpen&&(this.slideOverlayWasOpen=this.slideOverlay.open,this.restartAutoplay()),this.focusedNavButton?.disabled&&(this.focusedNavButton.parentElement.querySelector("button:not(:disabled)")??this.viewport)?.focus(),this.syncSlides(),(this.loopClonesDirty||changed.has("loop")||changed.has("slidesPerPage")||changed.has("slidesPerMove"))&&(this.syncLoopClones(),this.loopClonesDirty=!1),(changed.has("autoplay")||changed.has("autoplayInterval")||changed.has("loop")||changed.has("slidesPerPage"))&&this.restartAutoplay(),!this.adoptingScrolledSlide&&(changed.has("currentSlide")||changed.has("slidesPerPage")||changed.has("orientation")||!this.hasAlignedOnce)&&this.alignToActiveSlide(),this.hasAlignedOnce=!0,shouldAnnounceActivePage&&this.announceActivePage(),this.manualPending=!1,this.announcementsArmed=!0}setCurrentSlideState(value){const old=this._currentSlide,next=finiteInteger(value,0);old!==next&&(this._currentSlide=next,this.changeOrigin==="manual"&&(this.manualPending=!0),this.requestUpdate("currentSlide",old))}setPaginationState(value){const old=this._pagination;old!==value&&(this._pagination=value,this.requestUpdate("pagination",old))}queueOwnerMicrotask(callback){const view=this.ownerDocument.defaultView;view?view.queueMicrotask(callback):queueMicrotask(callback)}effectiveOrientation(){return this.orientation==="vertical"?"vertical":"horizontal"}slideElements(){return(this.slideSlot?.assignedElements({flatten:!0})??[]).filter(element=>element.nodeType===1&&element.namespaceURI==="http://www.w3.org/1999/xhtml")}pageSize(count=this.slideElements().length){return finiteInteger(this.slidesPerPage,1,1,Math.max(1,count))}moveSize(count=this.slideElements().length){return finiteInteger(this.slidesPerMove,1,1,this.pageSize(count))}maxStartIndex(count=this.slideElements().length){return Math.max(0,count-this.pageSize(count))}normalizedIndex(count=this.slideElements().length){if(count===0)return 0;const max=this.loop?count-1:this.maxStartIndex(count);return finiteInteger(this.currentSlide,0,0,max)}pageTargets(count=this.slideElements().length){if(count===0)return[];if(this.loop)return Array.from({length:count},(_unused,index)=>index);const max=this.maxStartIndex(count),move=this.moveSize(count),targets=[0];for(let target=move;target<max;target+=move)targets.push(target);return max>0&&targets.at(-1)!==max&&targets.push(max),targets}visibleIndices(count,current){const visible=new Set,perPage=this.pageSize(count);for(let offset=0;offset<perPage;offset+=1){const index=this.loop?(current+offset)%count:current+offset;index>=0&&index<count&&visible.add(index)}return visible}announceActivePage(){if(!isAccessibilityVisible(this))return;const slides=this.slideElements();if(slides.length===0)return;const current=this.normalizedIndex(slides.length),visible=this.visibleIndices(slides.length,current),format=getNumberFormat(this.effectiveLocale),messages=slides.flatMap((slide,index)=>{if(!visible.has(index))return[];if(isAccessibilitySubtreeExcluded(slide))return[];const slideTextVisible=!isAccessibilityVisibilityHidden(slide),authoredLabel=slideTextVisible?this.snapshots.get(slide)?.label?.trim():"";if(authoredLabel)return[authoredLabel];const position=this.localize("carouselSlidePosition",void 0,{index:format.format(index+1),total:format.format(slides.length)}),content=Array.from(slide.childNodes).map(node=>composedAccessibilityText(node,slideTextVisible)).join(" ").replace(/\s+/g," ").trim();return!slideTextVisible&&!content?[]:[content&&content!==position?this.localize("carouselSlideAnnouncement",void 0,{position,content}):position]});this.announcementSink?.announce(messages.join(this.localize("carouselSlideAnnouncementSeparator")))}restoreAttribute(slide,name,value){value===null?slide.removeAttribute(name):slide.setAttribute(name,value)}snapshotSlide(slide){return{hidden:slide.hidden,inert:slide.inert,role:slide.getAttribute("role"),label:slide.getAttribute("aria-label"),roleDescription:slide.getAttribute("aria-roledescription"),ariaHidden:slide.getAttribute("aria-hidden")}}adoptChanges(slide,snapshot){const applied=this.appliedSnapshots.get(slide);if(!applied)return!1;const current=this.snapshotSlide(slide);let changed=!1;for(const key of SLIDE_SNAPSHOT_KEYS)current[key]!==applied[key]&&(snapshot[key]=current[key],changed=!0);return changed}restoreSlide(slide,snapshot){slide.hidden=snapshot.hidden,slide.inert=snapshot.inert,this.restoreAttribute(slide,"role",snapshot.role),this.restoreAttribute(slide,"aria-label",snapshot.label),this.restoreAttribute(slide,"aria-roledescription",snapshot.roleDescription),this.restoreAttribute(slide,"aria-hidden",snapshot.ariaHidden)}restoreSlides(){for(const[slide,snapshot]of this.snapshots)this.adoptChanges(slide,snapshot),this.restoreSlide(slide,snapshot);this.snapshots.clear()}syncSlides(){const slides=this.slideElements(),assigned=new Set(slides);for(const[slide,snapshot]of this.snapshots)this.adoptChanges(slide,snapshot)&&(this.loopClonesDirty=!0),assigned.has(slide)||(this.restoreSlide(slide,snapshot),this.snapshots.delete(slide));const current=this.normalizedIndex(slides.length);if(this.currentSlide!==current){this.currentSlide=current;const slide=slides[current];slide&&this.emit("lr-slide-change",{index:current,slide})}const visible=this.visibleIndices(slides.length,current);this.repairFocusBeforeSlideExclusion(slides,visible);const format=getNumberFormat(this.effectiveLocale);slides.forEach((slide,slideIndex)=>{const existing=this.snapshots.get(slide),snapshot=existing??this.snapshotSlide(slide);existing||this.snapshots.set(slide,snapshot),slide.localName===tag("carousel-item")?(this.restoreAttribute(slide,"role",snapshot.role??"group"),this.restoreAttribute(slide,"aria-roledescription",snapshot.roleDescription??this.localize("carouselSlide")),this.restoreAttribute(slide,"aria-label",snapshot.label??this.localize("carouselSlidePosition",void 0,{index:format.format(slideIndex+1),total:format.format(slides.length)}))):(this.restoreAttribute(slide,"role",snapshot.role),this.restoreAttribute(slide,"aria-roledescription",snapshot.roleDescription),this.restoreAttribute(slide,"aria-label",snapshot.label)),slide.hidden=snapshot.hidden,visible.has(slideIndex)?(slide.inert=snapshot.inert,this.restoreAttribute(slide,"aria-hidden",snapshot.ariaHidden)):(slide.inert=!0,slide.setAttribute("aria-hidden","true")),this.appliedSnapshots.set(slide,this.snapshotSlide(slide))})}repairFocusBeforeSlideExclusion(slides,visible){const active=deepActiveElementIn(this.ownerDocument),focusedIndex=slides.findIndex(slide=>composedContains(slide,active)),focusedSlideWillBeExcluded=focusedIndex>=0&&!visible.has(focusedIndex),focusedSlideWasRemoved=focusedIndex<0&&this.lastFocusedSlide!==void 0&&!this.lastFocusedSlide.isConnected&&(active===null||active===this.ownerDocument.body);!focusedSlideWillBeExcluded&&!focusedSlideWasRemoved||(this.viewport?.focus(),this.lastFocusedSlide=void 0)}handleSlidesChanged(){const count=this.slideElements().length,active=activeElementIn(this.shadowRoot);if(active?.matches('[part~="pagination-item"]')){const children=active.parentElement.children,pages=this.pageTargets(count).length;(pages<2||[...children].indexOf(active)>=pages)&&(pages>1?children[pages-1]:this.viewport)?.focus()}else active?.matches('[part~="navigation-button"]')&&(!this.navigation||count<=this.pageSize(count))&&this.viewport?.focus();if(this._slides!==count){const previous=this._slides;this._slides=count,this.requestUpdate("slides",previous)}this.loopClonesDirty=!0,this.syncSlides(),this.syncLoopClones(),this.loopClonesDirty=!1,this.restartAutoplay(),this.requestUpdate()}prepareClone(original,index,side){if([original,...Array.from(original.querySelectorAll("*"))].some(element=>element.namespaceURI!=="http://www.w3.org/1999/xhtml"||element.localName.includes("-")||LOOP_SNAPSHOT_UNSAFE_TAGS.has(element.localName)))return;const clone=original.cloneNode(!0),descendants=[clone,...Array.from(clone.querySelectorAll("*"))];for(const descendant of descendants)descendant.removeAttribute("id"),descendant.removeAttribute("name"),descendant.removeAttribute("form"),descendant.removeAttribute("for"),descendant.removeAttribute("aria-controls"),descendant.removeAttribute("aria-describedby"),descendant.removeAttribute("aria-labelledby");return clone.removeAttribute("slot"),clone.dataset.carouselClone=side,clone.dataset.carouselIndex=String(index),clone.inert=!0,clone.setAttribute("aria-hidden","true"),clone}syncLoopClones(){const before=this.beforeClones,after=this.afterClones;if(!before||!after)return;before.replaceChildren(),after.replaceChildren();const slides=this.slideElements();if(!this.loop||slides.length<2)return;const cloneCount=Math.min(slides.length,Math.max(this.pageSize(slides.length),this.moveSize(slides.length))),beforeStart=slides.length-cloneCount;for(let index=beforeStart;index<slides.length;index+=1){const clone=this.prepareClone(slides[index],index,"before");clone&&before.append(clone)}for(let index=0;index<cloneCount;index+=1){const clone=this.prepareClone(slides[index],index,"after");clone&&after.append(clone)}}cloneFor(side,index){return(side==="before"?this.beforeClones:this.afterClones)?.querySelector(`[data-carousel-index="${index}"]`)??void 0}changeTo(index,behavior="smooth",origin="manual"){const slides=this.slideElements(),count=slides.length;if(count===0||!Number.isFinite(index))return;const requested=Math.trunc(index);let next,loopSide;if(this.loop?(next=(requested%count+count)%count,requested<0?loopSide="before":requested>=count&&(loopSide="after")):next=Math.min(this.maxStartIndex(count),Math.max(0,requested)),next===this.currentSlide)return;this.requestedBehavior=behavior,this.loopSide=loopSide;const previousOrigin=this.changeOrigin;this.changeOrigin=origin;try{this.currentSlide=next}finally{this.changeOrigin=previousOrigin}this.emit("lr-slide-change",{index:next,slide:slides[next]})}next(behavior="smooth"){this.changeTo(this.currentSlide+this.moveSize(),behavior)}previous(behavior="smooth"){this.changeTo(this.currentSlide-this.moveSize(),behavior)}goToSlide(index,behavior="smooth"){this.changeTo(index,behavior)}addSlide(slide){slide?.nodeType!==1||slide?.namespaceURI!=="http://www.w3.org/1999/xhtml"||(this.append(slide),this.queueOwnerMicrotask(()=>{this.isConnected&&this.handleSlidesChanged()}))}removeSlide(index){if(!Number.isFinite(index))return;const target=this.slideElements()[Math.trunc(index)];target&&(target.remove(),this.queueOwnerMicrotask(()=>{this.isConnected&&this.handleSlidesChanged()}))}stopAutoplay(){this.timer!==void 0&&this.timerWindow?.clearInterval(this.timer),this.timer=void 0,this.timerWindow=void 0}restartAutoplay(){this.stopAutoplay();const count=this.slideElements().length,doc=this.visibilityDocument??this.ownerDocument,view=doc.defaultView;if(!this.isConnected||!view||!this.autoplay||this.reduceMotion||this.pointerInteracting||this.focusInteracting||this.slideOverlay.open||this.dragPointerId!==void 0||doc.visibilityState!=="visible"||count<=this.pageSize(count))return;const interval=finiteDuration(this.autoplayInterval,3e3,1e3);this.timerWindow=view,this.timer=view.setInterval(()=>{this.loop||this.currentSlide<this.maxStartIndex()?this.changeTo(this.currentSlide+this.moveSize(),"smooth","autoplay"):this.stopAutoplay()},interval)}scrollPaddingStart(){const rect=this.scrollHintProbe?.getBoundingClientRect();if(!rect)return 0;const pixels=this.effectiveOrientation()==="vertical"?rect.height:rect.width;return Number.isFinite(pixels)?pixels:0}axisOffsetOf(slide,viewport){const viewportRect=viewport.getBoundingClientRect(),slideRect=slide.getBoundingClientRect(),padding=this.scrollPaddingStart();return this.effectiveOrientation()==="vertical"?slideRect.top-(viewportRect.top+padding):this.effectiveDirection==="rtl"?slideRect.right-(viewportRect.right-padding):slideRect.left-(viewportRect.left+padding)}scrollByAxis(viewport,distance,behavior){this.effectiveOrientation()==="vertical"?viewport.scrollBy({top:distance,behavior}):viewport.scrollBy({left:distance,behavior})}restingSlide(){const viewport=this.viewport,slides=this.slideElements();if(!viewport||slides.length===0)return;const candidates=slides.map((element,index)=>({element,index}));for(const clone of this.shadowRoot?.querySelectorAll("[data-carousel-clone]")??[]){const index=Number(clone.dataset.carouselIndex),cloneSide=clone.dataset.carouselClone;Number.isInteger(index)&&index>=0&&index<slides.length&&(cloneSide==="before"||cloneSide==="after")&&candidates.push({element:clone,index,cloneSide})}let nearest,nearestDistance=Number.POSITIVE_INFINITY;for(const candidate of candidates){const distance=Math.abs(this.axisOffsetOf(candidate.element,viewport));distance<nearestDistance&&(nearestDistance=distance,nearest=candidate)}return nearest}alignToActiveSlide(){const viewport=this.viewport,targetIndex=this.normalizedIndex(),realSlide=this.slideElements()[targetIndex];if(!viewport||!realSlide)return;const loopSide=this.loopSide,requestedBehavior=this.requestedBehavior;this.loopSide=void 0,this.requestedBehavior=void 0;const target=loopSide?this.cloneFor(loopSide,targetIndex)??realSlide:realSlide,offset=this.axisOffsetOf(target,viewport);if(Math.round(offset)===0){this.clearAlignment();return}this.alignIndex=targetIndex,this.alignTarget=target;const behavior=this.motionAwareScrollBehavior(requestedBehavior??"smooth",!0);this.scrollByAxis(viewport,offset,behavior)}motionAwareScrollBehavior(requested,instantBeforeFirstAlignment=!1){return this.reduceMotion||instantBeforeFirstAlignment&&!this.hasAlignedOnce?"instant":requested}cancelScrollSettle(){this.scrollSettle.cancel()}clearAlignment(){this.alignTarget=void 0,this.alignIndex=void 0,this.loopSide=void 0,this.requestedBehavior=void 0}takeOverViewport(){this.clearAlignment()}targetsInteractiveContent(event,includeSlideEditors=!1){const slides=new Set(this.slideElements()),slideRoot=event.composedPath().find(target=>typeof target=="object"&&target!==null&&target.nodeType===1&&slides.has(target));return keyEventOwnedByInnerControl(event,{container:!includeSlideEditors&&slideRoot?slideRoot:this,ownsButtons:!0,ownsCustomElements:!0,ignoreCustomElements:slides})}finishDrag(pointerId,canceled){if(pointerId!==this.dragPointerId)return;const viewport=this.viewport,moved=this.dragMoved;if(this.dragPointerId=void 0,this.dragMoved=!1,viewport?.removeAttribute("data-dragging"),viewport?.hasPointerCapture(pointerId))try{viewport.releasePointerCapture(pointerId)}catch{}if(moved){this.suppressClick=!0,this.cancelClickSuppression();const view=this.ownerDocument.defaultView;view?(this.clickTimerWindow=view,this.clickTimer=view.setTimeout(()=>{this.suppressClick=!1,this.clickTimer=void 0,this.clickTimerWindow=void 0},0)):this.suppressClick=!1}if(canceled&&viewport){const active=this.slideElements()[this.normalizedIndex()];active&&this.scrollByAxis(viewport,this.axisOffsetOf(active,viewport),this.motionAwareScrollBehavior("smooth"))}else canceled||this.onViewportScroll();this.matches(":hover")||(this.pointerInteracting=!1),this.restartAutoplay()}cancelClickSuppression(){this.clickTimer!==void 0&&this.clickTimerWindow?.clearTimeout(this.clickTimer),this.clickTimer=void 0,this.clickTimerWindow=void 0}cancelDrag(realign){this.dragPointerId!==void 0&&this.finishDrag(this.dragPointerId,realign)}computedSlideBasis(perPage){return perPage===1?"100%":`calc((100% - (${perPage-1} * var(--slide-gap, var(--lr-space-m)))) / ${perPage})`}render(){const count=this.slideElements().length,current=this.normalizedIndex(count),pageTargets=this.pageTargets(count),exactCurrentPage=pageTargets.indexOf(current),currentPage=exactCurrentPage>=0?exactCurrentPage:pageTargets.reduce((nearest,target,pageIndex)=>Math.abs(target-current)<Math.abs(pageTargets[nearest]-current)?pageIndex:nearest,0),hasNavigation=this.navigation&&count>this.pageSize(count),hasPagination=this.pagination&&pageTargets.length>1,label=this.hostAccessibleLabel??this.localize("carouselLabel"),numberFormat=getNumberFormat(this.effectiveLocale),orientation=this.effectiveOrientation(),perPage=this.pageSize(count);return html`<section
1
+ import{__decorate}from"tslib";import{prefersReducedMotion}from"../../../internal/motion.js";import{observeReducedMotion}from"../../../internal/motion-observer.js";import{html,nothing}from"lit";import{property,query}from"lit/decorators.js";import{acquireAnnouncementSink}from"../../../internal/announcer.js";import{isAccessibilitySubtreeExcluded,isAccessibilityVisible,isAccessibilityVisibilityHidden}from"../../../internal/accessibility-visibility.js";import{deepActiveElementIn,shadowFocusTarget}from"../../../internal/active-element.js";import{composedAccessibilityText}from"../../../internal/announcement-text.js";import{collectInitialSlotAssignment}from"../../../internal/initial-slot-collection.js";import{renderInertPresentation}from"../../../internal/inert-presentation.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteDuration,finiteInteger}from"../../../internal/numbers.js";import{DebounceController}from"../../../internal/debounce-controller.js";import{keyEventOwnedByInnerControl}from"../../../internal/hotkey.js";import{composedContains}from"../../../internal/overlay-manager.js";import{SlottedOverlayController}from"../../../internal/slotted-overlay-controller.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{tag}from"../../../internal/prefix.js";import{styles}from"./carousel.styles.js";import{LYRA_DEFAULT_carousel,LYRA_DEFAULT_carouselGoTo,LYRA_DEFAULT_carouselIndicators,LYRA_DEFAULT_carouselLabel,LYRA_DEFAULT_carouselSlide,LYRA_DEFAULT_carouselSlideAnnouncement,LYRA_DEFAULT_carouselSlideAnnouncementSeparator,LYRA_DEFAULT_carouselSlidePosition,LYRA_DEFAULT_next,LYRA_DEFAULT_previous}from"../../../internal/default-strings.generated.js";const SCROLL_SETTLE_MS=120,LOOP_SNAPSHOT_UNSAFE_TAGS=new Set(["audio","canvas","embed","form","iframe","img","input","link","object","picture","script","select","source","style","textarea","track","video"]),CAROUSEL_MANAGED_SLIDE_ATTRIBUTES=new Set(["aria-hidden","aria-label","aria-roledescription","hidden","inert","role"]),SLIDE_SNAPSHOT_KEYS=["hidden","inert","role","label","roleDescription","ariaHidden"];class LyraCarousel extends LyraElement{static{this.defaultStrings={...super.defaultStrings,carousel:LYRA_DEFAULT_carousel,carouselGoTo:LYRA_DEFAULT_carouselGoTo,carouselIndicators:LYRA_DEFAULT_carouselIndicators,carouselLabel:LYRA_DEFAULT_carouselLabel,carouselSlide:LYRA_DEFAULT_carouselSlide,carouselSlideAnnouncement:LYRA_DEFAULT_carouselSlideAnnouncement,carouselSlideAnnouncementSeparator:LYRA_DEFAULT_carouselSlideAnnouncementSeparator,carouselSlidePosition:LYRA_DEFAULT_carouselSlidePosition,next:LYRA_DEFAULT_next,previous:LYRA_DEFAULT_previous}}static{this.styles=[LyraElement.styles,styles]}static get observedAttributes(){return[...new Set([...super.observedAttributes,"currentslide"])]}get currentSlide(){return this._currentSlide}set currentSlide(value){this.setCurrentSlideState(value)}get pagination(){return this._pagination}set pagination(value){this.setPaginationState(!!value)}get slides(){return this._slides}constructor(){super(),this._currentSlide=0,this._pagination=!1,this._slides=0,this.loop=!1,this.autoplay=!1,this.autoplayInterval=3e3,this.navigation=!1,this.orientation="horizontal",this.mouseDragging=!1,this.slidesPerPage=1,this.slidesPerMove=1,this.hostAccessibleLabel=null,this.reduceMotion=!1,this.snapshots=new Map,this.appliedSnapshots=new WeakMap,this.scrollSettle=new DebounceController(SCROLL_SETTLE_MS,()=>this.settleScrolledSlide(),()=>this.ownerDocument.defaultView),this.adoptingScrolledSlide=!1,this.hasAlignedOnce=!1,this.loopClonesDirty=!0,this.pointerInteracting=!1,this.focusInteracting=!1,this.slideOverlay=new SlottedOverlayController(this,()=>this.renderRoot?.querySelector("slot:not([name])")),this.slideOverlayWasOpen=!1,this.dragStartCoordinate=0,this.dragStartScroll=0,this.dragMoved=!1,this.suppressClick=!1,this.announcementsArmed=!1,this.changeOrigin="manual",this.manualPending=!1,this.observerGeneration=0,this.passiveTakeOver={handleEvent:()=>this.takeOverViewport(),passive:!0},this.onMotionPreferenceChange=reduced=>{this.reduceMotion=reduced,this.restartAutoplay(),this.requestUpdate()},this.onVisibilityChange=()=>{this.restartAutoplay()},this.onSlotChange=()=>{this.handleSlidesChanged()},this.onViewportScroll=()=>{this.cancelScrollSettle(),this.ownerDocument.defaultView&&this.scrollSettle.push(void 0)},this.onViewportScrollEnd=()=>{this.cancelScrollSettle(),this.settleScrolledSlide()},this.settleScrolledSlide=()=>{if(!this.isConnected)return;const viewport=this.viewport;if(!viewport)return;if(this.alignTarget){if(Math.abs(this.axisOffsetOf(this.alignTarget,viewport))>2)return;const cloneSide=this.alignTarget.dataset.carouselClone;if(cloneSide==="before"||cloneSide==="after"){const realSlide=this.slideElements()[this.alignIndex??-1];if(realSlide){this.alignTarget=realSlide,this.scrollByAxis(viewport,this.axisOffsetOf(realSlide,viewport),"instant");return}}this.clearAlignment();return}const resting=this.restingSlide();if(!resting)return;const changed=resting.index!==this.currentSlide;!changed&&!resting.cloneSide||(this.adoptingScrolledSlide=!0,changed&&(this.currentSlide=resting.index,this.emit("lr-slide-change",{index:resting.index,slide:this.slideElements()[resting.index]})),this.updateComplete.then(()=>{if(resting.cloneSide&&this.isConnected&&this.viewport){const realSlide=this.slideElements()[resting.index];realSlide&&this.scrollByAxis(this.viewport,this.axisOffsetOf(realSlide,this.viewport),"instant")}this.adoptingScrolledSlide=!1}))},this.onViewportPointerEnter=()=>{this.pointerInteracting=!0,this.restartAutoplay()},this.onViewportPointerLeave=()=>{this.dragPointerId===void 0&&(this.pointerInteracting=!1,this.restartAutoplay())},this.onViewportFocusIn=event=>{this.focusInteracting=!0;const slides=new Set(this.slideElements()),focusedSlide=event.composedPath().find(candidate=>candidate.nodeType===1&&slides.has(candidate));focusedSlide&&(this.lastFocusedSlide=focusedSlide),this.restartAutoplay()},this.onViewportFocusOut=()=>{this.queueOwnerMicrotask(()=>{if(!this.isConnected)return;const active=deepActiveElementIn(this.ownerDocument);this.lastFocusedSlide&&!composedContains(this.lastFocusedSlide,active)&&(this.lastFocusedSlide.isConnected||active!==null&&active!==this.ownerDocument.body)&&(this.lastFocusedSlide=void 0),this.focusInteracting=this.matches(":focus-within"),this.restartAutoplay()})},this.onViewportPointerDown=event=>{if(!this.mouseDragging||event.pointerType!=="mouse"||!event.isPrimary||event.button!==0||this.dragPointerId!==void 0||this.targetsInteractiveContent(event))return;this.takeOverViewport();const viewport=this.viewport;if(viewport){this.dragPointerId=event.pointerId,this.dragStartCoordinate=this.effectiveOrientation()==="vertical"?event.clientY:event.clientX,this.dragStartScroll=this.effectiveOrientation()==="vertical"?viewport.scrollTop:viewport.scrollLeft,this.dragMoved=!1,viewport.setAttribute("data-dragging","");try{viewport.setPointerCapture(event.pointerId)}catch{}this.restartAutoplay()}},this.onViewportPointerMove=event=>{if(event.pointerId!==this.dragPointerId)return;const viewport=this.viewport;if(!viewport)return;const delta=(this.effectiveOrientation()==="vertical"?event.clientY:event.clientX)-this.dragStartCoordinate;Math.abs(delta)>2&&(this.dragMoved=!0),this.dragMoved&&(event.preventDefault(),this.effectiveOrientation()==="vertical"?viewport.scrollTo({top:this.dragStartScroll-delta,behavior:"instant"}):viewport.scrollTo({left:this.dragStartScroll-delta,behavior:"instant"}))},this.onViewportPointerUp=event=>{this.finishDrag(event.pointerId,!1)},this.onViewportPointerCancel=event=>{this.finishDrag(event.pointerId,!0)},this.onViewportLostPointerCapture=event=>{this.finishDrag(event.pointerId,!0)},this.onViewportClick=event=>{this.suppressClick&&(event.preventDefault(),event.stopImmediatePropagation())},this.onViewportKeyDown=event=>{if(this.targetsInteractiveContent(event,!0))return;const vertical=this.effectiveOrientation()==="vertical",rtl=this.effectiveDirection==="rtl",forwardKey=vertical?"ArrowDown":rtl?"ArrowLeft":"ArrowRight",backwardKey=vertical?"ArrowUp":rtl?"ArrowRight":"ArrowLeft";event.key===forwardKey?(event.preventDefault(),this.next()):event.key===backwardKey?(event.preventDefault(),this.previous()):event.key==="Home"?(event.preventDefault(),this.goToSlide(0)):event.key==="End"&&(event.preventDefault(),this.goToSlide(this.loop?this.slideElements().length-1:this.maxStartIndex()))},this.requestUpdate("currentSlide",void 0),this.requestUpdate("pagination",void 0)}attributeChangedCallback(name,oldValue,newValue){if(name==="currentslide"){oldValue!==newValue&&(this.currentSlide=finiteInteger(Number(newValue??0),0));return}super.attributeChangedCallback(name,oldValue,newValue),name==="current-slide"&&newValue===null&&oldValue!==newValue&&this.hasAttribute("currentslide")&&(this.currentSlide=finiteInteger(Number(this.getAttribute("currentslide")??0),0))}connectedCallback(){this.hasAttribute("current-slide")&&(this.currentSlide=finiteInteger(Number(this.getAttribute("current-slide")??0),0)),super.connectedCallback(),this.announcementSink??=acquireAnnouncementSink("polite",{document:this.ownerDocument,source:this}),this.announcementsArmed=!1,this.manualPending=!1,this.reduceMotion=prefersReducedMotion(this),this.stopMotionWatch=observeReducedMotion(this,this.onMotionPreferenceChange),this.visibilityDocument=this.ownerDocument,this.visibilityDocument.addEventListener("visibilitychange",this.onVisibilityChange),this.armSlideContentObserver(),this.restartAutoplay(),this.hasUpdated&&this.queueOwnerMicrotask(()=>{this.isConnected&&this.handleSlidesChanged()})}disconnectedCallback(){this.announcementSink?.release(),this.announcementSink=void 0,this.announcementsArmed=!1,this.manualPending=!1,this.cancelDrag(!1),this.stopAutoplay(),this.cancelScrollSettle(),this.cancelClickSuppression(),this.suppressClick=!1,this.pointerInteracting=!1,this.focusInteracting=!1,this.hasAlignedOnce=!1,this.clearAlignment(),this.stopMotionWatch?.(),this.stopMotionWatch=void 0,this.visibilityDocument?.removeEventListener("visibilitychange",this.onVisibilityChange),this.visibilityDocument=void 0,this.resetSlideContentObserver(),this.restoreSlides(),this.lastFocusedSlide=void 0,super.disconnectedCallback()}armSlideContentObserver(){const ownerDocument=this.ownerDocument,MutationObserverCtor=ownerDocument.defaultView?.MutationObserver;if(!MutationObserverCtor||!this.isConnected)return;this.resetSlideContentObserver();const generation=this.observerGeneration,observer=new MutationObserverCtor(records=>{this.observer!==observer||this.observerDocument!==ownerDocument||this.observerGeneration!==generation||!this.isConnected||this.ownerDocument!==ownerDocument||!records.some(record=>{if(record.target===this)return record.type!=="attributes";if(record.type!=="attributes"||!CAROUSEL_MANAGED_SLIDE_ATTRIBUTES.has(record.attributeName??""))return this.loop;const slide=record.target,snapshot=this.snapshots.get(slide);return snapshot?this.adoptChanges(slide,snapshot):!1})||(this.loop&&(this.loopClonesDirty=!0),this.syncSlides(),this.requestUpdate())});this.observer=observer,this.observerDocument=ownerDocument,observer.observe(this,{attributes:!0,characterData:!0,childList:!0,subtree:!0})}resetSlideContentObserver(){this.observerGeneration+=1,this.observer?.disconnect(),this.observer=void 0,this.observerDocument=void 0}willUpdate(changed){super.willUpdate(changed);const active=shadowFocusTarget(this);if(this.focusedNavButton=active?.matches('[part~="navigation-button"]')?active:void 0,(changed.has("currentSlide")||changed.has("slidesPerPage"))&&this.slideSlot){const normalized=this.normalizedIndex();if(this.currentSlide!==normalized){const forcedBySibling=changed.has("slidesPerPage")&&!changed.has("currentSlide");if(this.currentSlide=normalized,forcedBySibling){const slide=this.slideElements()[normalized];slide&&this.emit("lr-slide-change",{index:normalized,slide})}}}}firstUpdated(changed){super.firstUpdated(changed);const slot=this.slideSlot;this.queueOwnerMicrotask(()=>{collectInitialSlotAssignment(slot,()=>this.handleSlidesChanged())})}updated(changed){super.updated(changed);const shouldAnnounceActivePage=this.announcementsArmed&&(this.manualPending||changed.has("slidesPerPage"));this.slideOverlay.open!==this.slideOverlayWasOpen&&(this.slideOverlayWasOpen=this.slideOverlay.open,this.restartAutoplay()),this.focusedNavButton?.disabled&&(this.focusedNavButton.parentElement.querySelector("button:not(:disabled)")??this.viewport)?.focus(),this.syncSlides(),(this.loopClonesDirty||changed.has("loop")||changed.has("slidesPerPage")||changed.has("slidesPerMove"))&&(this.syncLoopClones(),this.loopClonesDirty=!1),(changed.has("autoplay")||changed.has("autoplayInterval")||changed.has("loop")||changed.has("slidesPerPage"))&&this.restartAutoplay(),!this.adoptingScrolledSlide&&(changed.has("currentSlide")||changed.has("slidesPerPage")||changed.has("orientation")||!this.hasAlignedOnce)&&this.alignToActiveSlide(),this.hasAlignedOnce=!0,shouldAnnounceActivePage&&this.announceActivePage(),this.manualPending=!1,this.announcementsArmed=!0}setCurrentSlideState(value){const old=this._currentSlide,next=finiteInteger(value,0);old!==next&&(this._currentSlide=next,this.changeOrigin==="manual"&&(this.manualPending=!0),this.requestUpdate("currentSlide",old))}setPaginationState(value){const old=this._pagination;old!==value&&(this._pagination=value,this.requestUpdate("pagination",old))}queueOwnerMicrotask(callback){const view=this.ownerDocument.defaultView;view?view.queueMicrotask(callback):queueMicrotask(callback)}effectiveOrientation(){return this.orientation==="vertical"?"vertical":"horizontal"}slideElements(){return(this.slideSlot?.assignedElements({flatten:!0})??[]).filter(element=>element.nodeType===1&&element.namespaceURI==="http://www.w3.org/1999/xhtml")}pageSize(count=this.slideElements().length){return finiteInteger(this.slidesPerPage,1,1,Math.max(1,count))}moveSize(count=this.slideElements().length){return finiteInteger(this.slidesPerMove,1,1,this.pageSize(count))}maxStartIndex(count=this.slideElements().length){return Math.max(0,count-this.pageSize(count))}normalizedIndex(count=this.slideElements().length){if(count===0)return 0;const max=this.loop?count-1:this.maxStartIndex(count);return finiteInteger(this.currentSlide,0,0,max)}pageTargets(count=this.slideElements().length){if(count===0)return[];if(this.loop)return Array.from({length:count},(_unused,index)=>index);const max=this.maxStartIndex(count),move=this.moveSize(count),targets=[0];for(let target=move;target<max;target+=move)targets.push(target);return max>0&&targets.at(-1)!==max&&targets.push(max),targets}visibleIndices(count,current){const visible=new Set,perPage=this.pageSize(count);for(let offset=0;offset<perPage;offset+=1){const index=this.loop?(current+offset)%count:current+offset;index>=0&&index<count&&visible.add(index)}return visible}announceActivePage(){if(!isAccessibilityVisible(this))return;const slides=this.slideElements();if(slides.length===0)return;const current=this.normalizedIndex(slides.length),visible=this.visibleIndices(slides.length,current),format=getNumberFormat(this.effectiveLocale),messages=slides.flatMap((slide,index)=>{if(!visible.has(index))return[];if(isAccessibilitySubtreeExcluded(slide))return[];const slideTextVisible=!isAccessibilityVisibilityHidden(slide),authoredLabel=slideTextVisible?this.snapshots.get(slide)?.label?.trim():"";if(authoredLabel)return[authoredLabel];const position=this.localize("carouselSlidePosition",void 0,{index:format.format(index+1),total:format.format(slides.length)}),content=Array.from(slide.childNodes).map(node=>composedAccessibilityText(node,slideTextVisible)).join(" ").replace(/\s+/g," ").trim();return!slideTextVisible&&!content?[]:[content&&content!==position?this.localize("carouselSlideAnnouncement",void 0,{position,content}):position]});this.announcementSink?.announce(messages.join(this.localize("carouselSlideAnnouncementSeparator")))}restoreAttribute(slide,name,value){value===null?slide.removeAttribute(name):slide.setAttribute(name,value)}snapshotSlide(slide){return{hidden:slide.hidden,inert:slide.inert,role:slide.getAttribute("role"),label:slide.getAttribute("aria-label"),roleDescription:slide.getAttribute("aria-roledescription"),ariaHidden:slide.getAttribute("aria-hidden")}}adoptChanges(slide,snapshot){const applied=this.appliedSnapshots.get(slide);if(!applied)return!1;const current=this.snapshotSlide(slide);let changed=!1;for(const key of SLIDE_SNAPSHOT_KEYS)current[key]!==applied[key]&&(snapshot[key]=current[key],changed=!0);return changed}restoreSlide(slide,snapshot){slide.hidden=snapshot.hidden,slide.inert=snapshot.inert,this.restoreAttribute(slide,"role",snapshot.role),this.restoreAttribute(slide,"aria-label",snapshot.label),this.restoreAttribute(slide,"aria-roledescription",snapshot.roleDescription),this.restoreAttribute(slide,"aria-hidden",snapshot.ariaHidden)}restoreSlides(){for(const[slide,snapshot]of this.snapshots)this.adoptChanges(slide,snapshot),this.restoreSlide(slide,snapshot);this.snapshots.clear()}syncSlides(){const slides=this.slideElements(),assigned=new Set(slides);for(const[slide,snapshot]of this.snapshots)this.adoptChanges(slide,snapshot)&&(this.loopClonesDirty=!0),assigned.has(slide)||(this.restoreSlide(slide,snapshot),this.snapshots.delete(slide));const current=this.normalizedIndex(slides.length);if(this.currentSlide!==current){this.currentSlide=current;const slide=slides[current];slide&&this.emit("lr-slide-change",{index:current,slide})}const visible=this.visibleIndices(slides.length,current);this.repairFocusBeforeSlideExclusion(slides,visible);const format=getNumberFormat(this.effectiveLocale);slides.forEach((slide,slideIndex)=>{const existing=this.snapshots.get(slide),snapshot=existing??this.snapshotSlide(slide);existing||this.snapshots.set(slide,snapshot),slide.localName===tag("carousel-item")?(this.restoreAttribute(slide,"role",snapshot.role??"group"),this.restoreAttribute(slide,"aria-roledescription",snapshot.roleDescription??this.localize("carouselSlide")),this.restoreAttribute(slide,"aria-label",snapshot.label??this.localize("carouselSlidePosition",void 0,{index:format.format(slideIndex+1),total:format.format(slides.length)}))):(this.restoreAttribute(slide,"role",snapshot.role),this.restoreAttribute(slide,"aria-roledescription",snapshot.roleDescription),this.restoreAttribute(slide,"aria-label",snapshot.label)),slide.hidden=snapshot.hidden,visible.has(slideIndex)?(slide.inert=snapshot.inert,this.restoreAttribute(slide,"aria-hidden",snapshot.ariaHidden)):(slide.inert=!0,slide.setAttribute("aria-hidden","true")),this.appliedSnapshots.set(slide,this.snapshotSlide(slide))})}repairFocusBeforeSlideExclusion(slides,visible){const active=deepActiveElementIn(this.ownerDocument),focusedIndex=slides.findIndex(slide=>composedContains(slide,active)),focusedSlideWillBeExcluded=focusedIndex>=0&&!visible.has(focusedIndex),focusedSlideWasRemoved=focusedIndex<0&&this.lastFocusedSlide!==void 0&&!this.lastFocusedSlide.isConnected&&(active===null||active===this.ownerDocument.body);!focusedSlideWillBeExcluded&&!focusedSlideWasRemoved||(this.viewport?.focus(),this.lastFocusedSlide=void 0)}handleSlidesChanged(){const count=this.slideElements().length,active=shadowFocusTarget(this);if(active?.matches('[part~="pagination-item"]')){const children=active.parentElement.children,pages=this.pageTargets(count).length;(pages<2||[...children].indexOf(active)>=pages)&&(pages>1?children[pages-1]:this.viewport)?.focus()}else active?.matches('[part~="navigation-button"]')&&(!this.navigation||count<=this.pageSize(count))&&this.viewport?.focus();if(this._slides!==count){const previous=this._slides;this._slides=count,this.requestUpdate("slides",previous)}this.loopClonesDirty=!0,this.syncSlides(),this.syncLoopClones(),this.loopClonesDirty=!1,this.restartAutoplay(),this.requestUpdate()}prepareClone(original,index,side){if([original,...Array.from(original.querySelectorAll("*"))].some(element=>element.namespaceURI!=="http://www.w3.org/1999/xhtml"||element.localName.includes("-")||LOOP_SNAPSHOT_UNSAFE_TAGS.has(element.localName)))return;const clone=original.cloneNode(!0),descendants=[clone,...Array.from(clone.querySelectorAll("*"))];for(const descendant of descendants)descendant.removeAttribute("id"),descendant.removeAttribute("name"),descendant.removeAttribute("form"),descendant.removeAttribute("for"),descendant.removeAttribute("aria-controls"),descendant.removeAttribute("aria-describedby"),descendant.removeAttribute("aria-labelledby");return clone.removeAttribute("slot"),clone.dataset.carouselClone=side,clone.dataset.carouselIndex=String(index),clone.inert=!0,clone.setAttribute("aria-hidden","true"),clone}syncLoopClones(){const before=this.beforeClones,after=this.afterClones;if(!before||!after)return;before.replaceChildren(),after.replaceChildren();const slides=this.slideElements();if(!this.loop||slides.length<2)return;const cloneCount=Math.min(slides.length,Math.max(this.pageSize(slides.length),this.moveSize(slides.length))),beforeStart=slides.length-cloneCount;for(let index=beforeStart;index<slides.length;index+=1){const clone=this.prepareClone(slides[index],index,"before");clone&&before.append(clone)}for(let index=0;index<cloneCount;index+=1){const clone=this.prepareClone(slides[index],index,"after");clone&&after.append(clone)}}cloneFor(side,index){return(side==="before"?this.beforeClones:this.afterClones)?.querySelector(`[data-carousel-index="${index}"]`)??void 0}changeTo(index,behavior="smooth",origin="manual"){const slides=this.slideElements(),count=slides.length;if(count===0||!Number.isFinite(index))return;const requested=Math.trunc(index);let next,loopSide;if(this.loop?(next=(requested%count+count)%count,requested<0?loopSide="before":requested>=count&&(loopSide="after")):next=Math.min(this.maxStartIndex(count),Math.max(0,requested)),next===this.currentSlide)return;this.requestedBehavior=behavior,this.loopSide=loopSide;const previousOrigin=this.changeOrigin;this.changeOrigin=origin;try{this.currentSlide=next}finally{this.changeOrigin=previousOrigin}this.emit("lr-slide-change",{index:next,slide:slides[next]})}next(behavior="smooth"){this.changeTo(this.currentSlide+this.moveSize(),behavior)}previous(behavior="smooth"){this.changeTo(this.currentSlide-this.moveSize(),behavior)}goToSlide(index,behavior="smooth"){this.changeTo(index,behavior)}addSlide(slide){slide?.nodeType!==1||slide?.namespaceURI!=="http://www.w3.org/1999/xhtml"||(this.append(slide),this.queueOwnerMicrotask(()=>{this.isConnected&&this.handleSlidesChanged()}))}removeSlide(index){if(!Number.isFinite(index))return;const target=this.slideElements()[Math.trunc(index)];target&&(target.remove(),this.queueOwnerMicrotask(()=>{this.isConnected&&this.handleSlidesChanged()}))}stopAutoplay(){this.timer!==void 0&&this.timerWindow?.clearInterval(this.timer),this.timer=void 0,this.timerWindow=void 0}restartAutoplay(){this.stopAutoplay();const count=this.slideElements().length,doc=this.visibilityDocument??this.ownerDocument,view=doc.defaultView;if(!this.isConnected||!view||!this.autoplay||this.reduceMotion||this.pointerInteracting||this.focusInteracting||this.slideOverlay.open||this.dragPointerId!==void 0||doc.visibilityState!=="visible"||count<=this.pageSize(count))return;const interval=finiteDuration(this.autoplayInterval,3e3,1e3);this.timerWindow=view,this.timer=view.setInterval(()=>{this.loop||this.currentSlide<this.maxStartIndex()?this.changeTo(this.currentSlide+this.moveSize(),"smooth","autoplay"):this.stopAutoplay()},interval)}scrollPaddingStart(){const rect=this.scrollHintProbe?.getBoundingClientRect();if(!rect)return 0;const pixels=this.effectiveOrientation()==="vertical"?rect.height:rect.width;return Number.isFinite(pixels)?pixels:0}axisOffsetOf(slide,viewport){const viewportRect=viewport.getBoundingClientRect(),slideRect=slide.getBoundingClientRect(),padding=this.scrollPaddingStart();return this.effectiveOrientation()==="vertical"?slideRect.top-(viewportRect.top+padding):this.effectiveDirection==="rtl"?slideRect.right-(viewportRect.right-padding):slideRect.left-(viewportRect.left+padding)}scrollByAxis(viewport,distance,behavior){this.effectiveOrientation()==="vertical"?viewport.scrollBy({top:distance,behavior}):viewport.scrollBy({left:distance,behavior})}restingSlide(){const viewport=this.viewport,slides=this.slideElements();if(!viewport||slides.length===0)return;const candidates=slides.map((element,index)=>({element,index}));for(const clone of this.shadowRoot?.querySelectorAll("[data-carousel-clone]")??[]){const index=Number(clone.dataset.carouselIndex),cloneSide=clone.dataset.carouselClone;Number.isInteger(index)&&index>=0&&index<slides.length&&(cloneSide==="before"||cloneSide==="after")&&candidates.push({element:clone,index,cloneSide})}let nearest,nearestDistance=Number.POSITIVE_INFINITY;for(const candidate of candidates){const distance=Math.abs(this.axisOffsetOf(candidate.element,viewport));distance<nearestDistance&&(nearestDistance=distance,nearest=candidate)}return nearest}alignToActiveSlide(){const viewport=this.viewport,targetIndex=this.normalizedIndex(),realSlide=this.slideElements()[targetIndex];if(!viewport||!realSlide)return;const loopSide=this.loopSide,requestedBehavior=this.requestedBehavior;this.loopSide=void 0,this.requestedBehavior=void 0;const target=loopSide?this.cloneFor(loopSide,targetIndex)??realSlide:realSlide,offset=this.axisOffsetOf(target,viewport);if(Math.round(offset)===0){this.clearAlignment();return}this.alignIndex=targetIndex,this.alignTarget=target;const behavior=this.motionAwareScrollBehavior(requestedBehavior??"smooth",!0);this.scrollByAxis(viewport,offset,behavior)}motionAwareScrollBehavior(requested,instantBeforeFirstAlignment=!1){return this.reduceMotion||instantBeforeFirstAlignment&&!this.hasAlignedOnce?"instant":requested}cancelScrollSettle(){this.scrollSettle.cancel()}clearAlignment(){this.alignTarget=void 0,this.alignIndex=void 0,this.loopSide=void 0,this.requestedBehavior=void 0}takeOverViewport(){this.clearAlignment()}targetsInteractiveContent(event,includeSlideEditors=!1){const slides=new Set(this.slideElements()),slideRoot=event.composedPath().find(target=>typeof target=="object"&&target!==null&&target.nodeType===1&&slides.has(target));return keyEventOwnedByInnerControl(event,{container:!includeSlideEditors&&slideRoot?slideRoot:this,ownsButtons:!0,ownsCustomElements:!0,ignoreCustomElements:slides})}finishDrag(pointerId,canceled){if(pointerId!==this.dragPointerId)return;const viewport=this.viewport,moved=this.dragMoved;if(this.dragPointerId=void 0,this.dragMoved=!1,viewport?.removeAttribute("data-dragging"),viewport?.hasPointerCapture(pointerId))try{viewport.releasePointerCapture(pointerId)}catch{}if(moved){this.suppressClick=!0,this.cancelClickSuppression();const view=this.ownerDocument.defaultView;view?(this.clickTimerWindow=view,this.clickTimer=view.setTimeout(()=>{this.suppressClick=!1,this.clickTimer=void 0,this.clickTimerWindow=void 0},0)):this.suppressClick=!1}if(canceled&&viewport){const active=this.slideElements()[this.normalizedIndex()];active&&this.scrollByAxis(viewport,this.axisOffsetOf(active,viewport),this.motionAwareScrollBehavior("smooth"))}else canceled||this.onViewportScroll();this.matches(":hover")||(this.pointerInteracting=!1),this.restartAutoplay()}cancelClickSuppression(){this.clickTimer!==void 0&&this.clickTimerWindow?.clearTimeout(this.clickTimer),this.clickTimer=void 0,this.clickTimerWindow=void 0}cancelDrag(realign){this.dragPointerId!==void 0&&this.finishDrag(this.dragPointerId,realign)}computedSlideBasis(perPage){return perPage===1?"100%":`calc((100% - (${perPage-1} * var(--slide-gap, var(--lr-space-m)))) / ${perPage})`}render(){const count=this.slideElements().length,current=this.normalizedIndex(count),pageTargets=this.pageTargets(count),exactCurrentPage=pageTargets.indexOf(current),currentPage=exactCurrentPage>=0?exactCurrentPage:pageTargets.reduce((nearest,target,pageIndex)=>Math.abs(target-current)<Math.abs(pageTargets[nearest]-current)?pageIndex:nearest,0),hasNavigation=this.navigation&&count>this.pageSize(count),hasPagination=this.pagination&&pageTargets.length>1,label=this.hostAccessibleLabel??this.localize("carouselLabel"),numberFormat=getNumberFormat(this.effectiveLocale),orientation=this.effectiveOrientation(),perPage=this.pageSize(count);return html`<section
2
2
  part="base carousel"
3
3
  role="region"
4
4
  aria-roledescription=${this.localize("carousel")}
@@ -10,7 +10,7 @@ keywords?:readonly string[];disabled?:boolean;
10
10
  * `LyraSegmentedItem.icon` precedent -- not restricted to a square icon-only shape). */
11
11
  icon?:unknown;onSelect?:()=>void;}export type LyraCommandPaletteCloseReason='api'|'escape'|'backdrop'|'select';
12
12
  /** The affordance that requested palette dismissal. */
13
- export interface LyraCommandPaletteCloseDetail{reason:LyraCommandPaletteCloseReason;}export interface LyraCommandPaletteEventMap{'lr-select':CustomEvent<Readonly<{command:LyraCommand;}>>;'lr-show':CustomEvent<null>;'lr-close-request':CustomEvent<LyraCommandPaletteCloseDetail>;'lr-close':CustomEvent<LyraCommandPaletteCloseDetail>;focus:FocusEvent;blur:FocusEvent;}
13
+ export interface LyraCommandPaletteCloseDetail{reason:LyraCommandPaletteCloseReason;}export interface LyraCommandPaletteEventMap{'lr-select':CustomEvent<Readonly<{command:LyraCommand;}>>;'lr-show':CustomEvent<null>;'lr-hide':CustomEvent<LyraCommandPaletteCloseDetail>;'lr-close-request':CustomEvent<LyraCommandPaletteCloseDetail>;'lr-close':CustomEvent<LyraCommandPaletteCloseDetail>;'lr-after-show':CustomEvent<null>;'lr-after-hide':CustomEvent<null>;focus:FocusEvent;blur:FocusEvent;}
14
14
  /** `<lr-command-palette>` — searchable application command menu with keyboard navigation.
15
15
  * Shared overlay infrastructure (the same one `<lr-dialog>` uses) coordinates focus-trapping
16
16
  * Tab, Escape dismissal, and document scroll-locking for as long as the palette is open.
@@ -28,8 +28,12 @@ export interface LyraCommandPaletteCloseDetail{reason:LyraCommandPaletteCloseRea
28
28
  * @event lr-select - A command was chosen; detail is `{ command }`.
29
29
  * @event lr-show - Emitted before the palette opens. Cancelable: `preventDefault()` keeps it
30
30
  * closed.
31
+ * @event lr-after-show - The palette is open and rendered.
32
+ * @event lr-hide - The palette is about to close, after `lr-close-request` was not vetoed.
33
+ * Non-cancelable, with `{ reason }` detail; veto the close through `lr-close-request`.
31
34
  * @event lr-close-request - Cancelable proposal before dismissal, with `{ reason }` detail.
32
35
  * @event lr-close - Non-cancelable notification after closing, with `{ reason }` detail.
36
+ * @event lr-after-hide - The palette is closed and rendered closed.
33
37
  * @event {FocusEvent} focus - Re-dispatched when the search input receives focus. Native `focus` neither
34
38
  * bubbles nor crosses the shadow boundary, so a host listener on `<lr-command-palette>` itself
35
39
  * never sees it otherwise.
@@ -82,7 +86,7 @@ export interface LyraCommandPaletteCloseDetail{reason:LyraCommandPaletteCloseRea
82
86
  */
83
87
  export declare class LyraCommandPalette extends LyraElement<LyraCommandPaletteEventMap>{protected static collectionSupport:import("../../../internal/lyra-element.js").LyraCollectionSupport;protected static readonly ownedCollectionProperties:readonly string[];
84
88
  /** Command objects are returned to `onSelect`; their identity is an explicit API contract. */
85
- protected static readonly identityCollectionProperties:readonly string[];protected static readonly identityEventDetailProperties:Readonly<{'lr-select':readonly string[];}>;static styles:import("lit").CSSResultGroup[];protected static readonly immutableEventDetails:readonly string[];private _open;
89
+ protected static readonly identityCollectionProperties:readonly string[];protected static readonly identityEventDetailProperties:Readonly<{'lr-select':readonly string[];}>;static styles:import("lit").CSSResultGroup[];protected static readonly immutableEventDetails:readonly string[];private _open;private hasShown;
86
90
  /** Whether the palette is open. Post-mount IDL and attribute writes use the same synchronous,
87
91
  * cancelable lifecycle as `openPalette()` and `close()`; initial markup stays silent. */
88
92
  get open():boolean;set open(next:boolean);