@slotted/angular 0.0.0-stage → 0.1.0-beta.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 (793) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -2
  3. package/docs/AGENTS.snippet.md +10 -0
  4. package/docs/accordion.json +345 -0
  5. package/docs/accordion.md +207 -0
  6. package/docs/action-bar.json +421 -0
  7. package/docs/action-bar.md +364 -0
  8. package/docs/action-sheet.json +210 -0
  9. package/docs/action-sheet.md +19 -0
  10. package/docs/alert.json +407 -0
  11. package/docs/alert.md +239 -0
  12. package/docs/app-shell.examples.md +349 -0
  13. package/docs/app-shell.json +835 -0
  14. package/docs/app-shell.md +214 -0
  15. package/docs/aspect-ratio.json +159 -0
  16. package/docs/aspect-ratio.md +134 -0
  17. package/docs/attachment.json +486 -0
  18. package/docs/attachment.md +253 -0
  19. package/docs/avatar-group.json +208 -0
  20. package/docs/avatar-group.md +130 -0
  21. package/docs/avatar.json +342 -0
  22. package/docs/avatar.md +142 -0
  23. package/docs/badge.json +334 -0
  24. package/docs/badge.md +138 -0
  25. package/docs/breadcrumb.json +368 -0
  26. package/docs/breadcrumb.md +237 -0
  27. package/docs/button-group.json +158 -0
  28. package/docs/button-group.md +72 -0
  29. package/docs/button.examples.md +621 -0
  30. package/docs/button.json +977 -0
  31. package/docs/button.md +200 -0
  32. package/docs/calendar.json +592 -0
  33. package/docs/calendar.md +242 -0
  34. package/docs/card.json +283 -0
  35. package/docs/card.md +130 -0
  36. package/docs/carousel.json +560 -0
  37. package/docs/carousel.md +357 -0
  38. package/docs/cascader.json +933 -0
  39. package/docs/cascader.md +379 -0
  40. package/docs/chart.examples.md +582 -0
  41. package/docs/chart.json +1359 -0
  42. package/docs/chart.md +187 -0
  43. package/docs/checkbox-group.examples.md +612 -0
  44. package/docs/checkbox-group.json +395 -0
  45. package/docs/checkbox-group.md +106 -0
  46. package/docs/checkbox.examples.md +546 -0
  47. package/docs/checkbox.json +506 -0
  48. package/docs/checkbox.md +104 -0
  49. package/docs/code-block.json +616 -0
  50. package/docs/code-block.md +303 -0
  51. package/docs/collapsible.json +456 -0
  52. package/docs/collapsible.md +261 -0
  53. package/docs/color-picker.json +523 -0
  54. package/docs/color-picker.md +201 -0
  55. package/docs/column-manager.json +486 -0
  56. package/docs/column-manager.md +277 -0
  57. package/docs/combobox.examples.md +1732 -0
  58. package/docs/combobox.json +1250 -0
  59. package/docs/combobox.md +209 -0
  60. package/docs/command-palette.json +800 -0
  61. package/docs/command-palette.md +419 -0
  62. package/docs/container.json +156 -0
  63. package/docs/container.md +92 -0
  64. package/docs/context-menu.json +231 -0
  65. package/docs/context-menu.md +176 -0
  66. package/docs/currency-field.examples.md +321 -0
  67. package/docs/currency-field.json +649 -0
  68. package/docs/currency-field.md +128 -0
  69. package/docs/dashboard-grid.json +680 -0
  70. package/docs/dashboard-grid.md +265 -0
  71. package/docs/data-grid.examples.md +3064 -0
  72. package/docs/data-grid.json +1577 -0
  73. package/docs/data-grid.md +237 -0
  74. package/docs/data-grid.props.md +81 -0
  75. package/docs/data-list.json +685 -0
  76. package/docs/data-list.md +327 -0
  77. package/docs/date-field.json +490 -0
  78. package/docs/date-field.md +235 -0
  79. package/docs/date-picker.examples.md +1226 -0
  80. package/docs/date-picker.json +696 -0
  81. package/docs/date-picker.md +121 -0
  82. package/docs/date-range-picker.examples.md +1300 -0
  83. package/docs/date-range-picker.json +903 -0
  84. package/docs/date-range-picker.md +142 -0
  85. package/docs/datetime-field.json +665 -0
  86. package/docs/datetime-field.md +337 -0
  87. package/docs/datetime-picker.examples.md +1269 -0
  88. package/docs/datetime-picker.json +928 -0
  89. package/docs/datetime-picker.md +150 -0
  90. package/docs/datetime-range-picker.examples.md +225 -0
  91. package/docs/datetime-range-picker.json +1015 -0
  92. package/docs/datetime-range-picker.md +162 -0
  93. package/docs/description-list.json +471 -0
  94. package/docs/description-list.md +268 -0
  95. package/docs/detail-panel.json +530 -0
  96. package/docs/detail-panel.md +361 -0
  97. package/docs/dialog.examples.md +2467 -0
  98. package/docs/dialog.json +1141 -0
  99. package/docs/dialog.md +217 -0
  100. package/docs/dialog.props.md +63 -0
  101. package/docs/divider.json +148 -0
  102. package/docs/divider.md +83 -0
  103. package/docs/drawer.examples.md +1929 -0
  104. package/docs/drawer.json +753 -0
  105. package/docs/drawer.md +199 -0
  106. package/docs/entity-picker.json +946 -0
  107. package/docs/entity-picker.md +365 -0
  108. package/docs/event-calendar.examples.md +308 -0
  109. package/docs/event-calendar.json +1202 -0
  110. package/docs/event-calendar.md +201 -0
  111. package/docs/field-group.json +333 -0
  112. package/docs/field-group.md +181 -0
  113. package/docs/field.examples.md +676 -0
  114. package/docs/field.json +528 -0
  115. package/docs/field.md +127 -0
  116. package/docs/filter-bar.json +817 -0
  117. package/docs/filter-bar.md +380 -0
  118. package/docs/form.json +378 -0
  119. package/docs/form.md +235 -0
  120. package/docs/fullscreen.json +395 -0
  121. package/docs/fullscreen.md +225 -0
  122. package/docs/grid.json +176 -0
  123. package/docs/grid.md +74 -0
  124. package/docs/highlight.json +279 -0
  125. package/docs/highlight.md +210 -0
  126. package/docs/hover-card.json +254 -0
  127. package/docs/hover-card.md +213 -0
  128. package/docs/icon.json +173 -0
  129. package/docs/icon.md +101 -0
  130. package/docs/image.json +476 -0
  131. package/docs/image.md +254 -0
  132. package/docs/import-export-center.json +836 -0
  133. package/docs/import-export-center.md +345 -0
  134. package/docs/index.md +141 -0
  135. package/docs/inline-message.json +312 -0
  136. package/docs/inline-message.md +191 -0
  137. package/docs/inline.json +149 -0
  138. package/docs/inline.md +72 -0
  139. package/docs/kbd.json +350 -0
  140. package/docs/kbd.md +210 -0
  141. package/docs/link.json +264 -0
  142. package/docs/link.md +167 -0
  143. package/docs/list-item.json +463 -0
  144. package/docs/list-item.md +236 -0
  145. package/docs/list.json +321 -0
  146. package/docs/list.md +185 -0
  147. package/docs/listbox.json +807 -0
  148. package/docs/listbox.md +413 -0
  149. package/docs/loading-overlay.json +440 -0
  150. package/docs/loading-overlay.md +248 -0
  151. package/docs/markdown.json +461 -0
  152. package/docs/markdown.md +266 -0
  153. package/docs/menu.examples.md +1651 -0
  154. package/docs/menu.json +922 -0
  155. package/docs/menu.md +155 -0
  156. package/docs/menubar.json +292 -0
  157. package/docs/menubar.md +173 -0
  158. package/docs/message-scroller.json +401 -0
  159. package/docs/message-scroller.md +212 -0
  160. package/docs/message.json +862 -0
  161. package/docs/message.md +473 -0
  162. package/docs/multi-select.examples.md +1922 -0
  163. package/docs/multi-select.json +1314 -0
  164. package/docs/multi-select.md +213 -0
  165. package/docs/navigation-menu.json +529 -0
  166. package/docs/navigation-menu.md +329 -0
  167. package/docs/notification-center.json +664 -0
  168. package/docs/notification-center.md +372 -0
  169. package/docs/number-field.examples.md +1078 -0
  170. package/docs/number-field.json +668 -0
  171. package/docs/number-field.md +137 -0
  172. package/docs/otp-input.json +479 -0
  173. package/docs/otp-input.md +291 -0
  174. package/docs/page-header.json +574 -0
  175. package/docs/page-header.md +338 -0
  176. package/docs/page.json +332 -0
  177. package/docs/page.md +184 -0
  178. package/docs/pagination.json +434 -0
  179. package/docs/pagination.md +238 -0
  180. package/docs/popover.examples.md +1235 -0
  181. package/docs/popover.json +656 -0
  182. package/docs/popover.md +199 -0
  183. package/docs/progress-indicator.json +501 -0
  184. package/docs/progress-indicator.md +329 -0
  185. package/docs/prompt-composer.json +498 -0
  186. package/docs/prompt-composer.md +278 -0
  187. package/docs/prose.json +357 -0
  188. package/docs/prose.md +226 -0
  189. package/docs/radio-group.examples.md +626 -0
  190. package/docs/radio-group.json +541 -0
  191. package/docs/radio-group.md +112 -0
  192. package/docs/rating.json +1053 -0
  193. package/docs/rating.md +435 -0
  194. package/docs/result-state.json +376 -0
  195. package/docs/result-state.md +286 -0
  196. package/docs/saved-views.json +384 -0
  197. package/docs/saved-views.md +242 -0
  198. package/docs/scroll-area.json +120 -0
  199. package/docs/scroll-area.md +8 -0
  200. package/docs/section.json +344 -0
  201. package/docs/section.md +208 -0
  202. package/docs/segmented-control.json +429 -0
  203. package/docs/segmented-control.md +240 -0
  204. package/docs/select.examples.md +1214 -0
  205. package/docs/select.json +1147 -0
  206. package/docs/select.md +199 -0
  207. package/docs/side-navigation.json +632 -0
  208. package/docs/side-navigation.md +430 -0
  209. package/docs/skeleton.json +358 -0
  210. package/docs/skeleton.md +223 -0
  211. package/docs/slider.json +522 -0
  212. package/docs/slider.md +261 -0
  213. package/docs/sparkline.json +426 -0
  214. package/docs/sparkline.md +206 -0
  215. package/docs/split-button.json +361 -0
  216. package/docs/split-button.md +275 -0
  217. package/docs/splitter.json +142 -0
  218. package/docs/splitter.md +14 -0
  219. package/docs/stack.json +135 -0
  220. package/docs/stack.md +74 -0
  221. package/docs/stat-card.json +529 -0
  222. package/docs/stat-card.md +270 -0
  223. package/docs/status-indicator.json +314 -0
  224. package/docs/status-indicator.md +197 -0
  225. package/docs/stepper.json +451 -0
  226. package/docs/stepper.md +250 -0
  227. package/docs/switch.json +451 -0
  228. package/docs/switch.md +508 -0
  229. package/docs/table-of-contents.json +553 -0
  230. package/docs/table-of-contents.md +289 -0
  231. package/docs/table.examples.md +1981 -0
  232. package/docs/table.json +1059 -0
  233. package/docs/table.md +290 -0
  234. package/docs/tabs.examples.md +1370 -0
  235. package/docs/tabs.json +661 -0
  236. package/docs/tabs.md +211 -0
  237. package/docs/tag.json +813 -0
  238. package/docs/tag.md +241 -0
  239. package/docs/tags-input.json +771 -0
  240. package/docs/tags-input.md +361 -0
  241. package/docs/text-field.examples.md +821 -0
  242. package/docs/text-field.json +604 -0
  243. package/docs/text-field.md +125 -0
  244. package/docs/textarea.examples.md +612 -0
  245. package/docs/textarea.json +440 -0
  246. package/docs/textarea.md +98 -0
  247. package/docs/time-field.json +584 -0
  248. package/docs/time-field.md +291 -0
  249. package/docs/time-picker.json +679 -0
  250. package/docs/time-picker.md +315 -0
  251. package/docs/time-range-picker.examples.md +191 -0
  252. package/docs/time-range-picker.json +924 -0
  253. package/docs/time-range-picker.md +152 -0
  254. package/docs/timeline.json +839 -0
  255. package/docs/timeline.md +401 -0
  256. package/docs/toast.json +642 -0
  257. package/docs/toast.md +311 -0
  258. package/docs/toggle-group.json +417 -0
  259. package/docs/toggle-group.md +255 -0
  260. package/docs/toggle.json +326 -0
  261. package/docs/toggle.md +222 -0
  262. package/docs/toolbar.json +380 -0
  263. package/docs/toolbar.md +240 -0
  264. package/docs/tooltip.examples.md +664 -0
  265. package/docs/tooltip.json +604 -0
  266. package/docs/tooltip.md +146 -0
  267. package/docs/top-navigation.examples.md +287 -0
  268. package/docs/top-navigation.json +648 -0
  269. package/docs/top-navigation.md +138 -0
  270. package/docs/tour.json +759 -0
  271. package/docs/tour.md +337 -0
  272. package/docs/transfer.json +746 -0
  273. package/docs/transfer.md +273 -0
  274. package/docs/tree.json +918 -0
  275. package/docs/tree.md +397 -0
  276. package/docs/typography.json +317 -0
  277. package/docs/typography.md +107 -0
  278. package/docs/upload.examples.md +358 -0
  279. package/docs/upload.json +1103 -0
  280. package/docs/upload.md +166 -0
  281. package/docs/visually-hidden.json +71 -0
  282. package/docs/visually-hidden.md +42 -0
  283. package/docs/wizard.json +724 -0
  284. package/docs/wizard.md +295 -0
  285. package/fesm2022/slotted-angular-accordion.mjs +247 -0
  286. package/fesm2022/slotted-angular-accordion.mjs.map +1 -0
  287. package/fesm2022/slotted-angular-action-bar.mjs +639 -0
  288. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -0
  289. package/fesm2022/slotted-angular-action-sheet.mjs +749 -0
  290. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -0
  291. package/fesm2022/slotted-angular-alert.mjs +427 -0
  292. package/fesm2022/slotted-angular-alert.mjs.map +1 -0
  293. package/fesm2022/slotted-angular-app-shell.mjs +1334 -0
  294. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -0
  295. package/fesm2022/slotted-angular-aspect-ratio.mjs +63 -0
  296. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -0
  297. package/fesm2022/slotted-angular-attachment.mjs +595 -0
  298. package/fesm2022/slotted-angular-attachment.mjs.map +1 -0
  299. package/fesm2022/slotted-angular-avatar-group.mjs +230 -0
  300. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -0
  301. package/fesm2022/slotted-angular-avatar.mjs +330 -0
  302. package/fesm2022/slotted-angular-avatar.mjs.map +1 -0
  303. package/fesm2022/slotted-angular-badge.mjs +255 -0
  304. package/fesm2022/slotted-angular-badge.mjs.map +1 -0
  305. package/fesm2022/slotted-angular-breadcrumb.mjs +544 -0
  306. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -0
  307. package/fesm2022/slotted-angular-button-group.mjs +146 -0
  308. package/fesm2022/slotted-angular-button-group.mjs.map +1 -0
  309. package/fesm2022/slotted-angular-button.mjs +692 -0
  310. package/fesm2022/slotted-angular-button.mjs.map +1 -0
  311. package/fesm2022/slotted-angular-calendar.mjs +916 -0
  312. package/fesm2022/slotted-angular-calendar.mjs.map +1 -0
  313. package/fesm2022/slotted-angular-card.mjs +225 -0
  314. package/fesm2022/slotted-angular-card.mjs.map +1 -0
  315. package/fesm2022/slotted-angular-carousel.mjs +840 -0
  316. package/fesm2022/slotted-angular-carousel.mjs.map +1 -0
  317. package/fesm2022/slotted-angular-cascader.mjs +1839 -0
  318. package/fesm2022/slotted-angular-cascader.mjs.map +1 -0
  319. package/fesm2022/slotted-angular-chart.mjs +974 -0
  320. package/fesm2022/slotted-angular-chart.mjs.map +1 -0
  321. package/fesm2022/slotted-angular-checkbox-group.mjs +283 -0
  322. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -0
  323. package/fesm2022/slotted-angular-checkbox.mjs +468 -0
  324. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -0
  325. package/fesm2022/slotted-angular-code-block.mjs +476 -0
  326. package/fesm2022/slotted-angular-code-block.mjs.map +1 -0
  327. package/fesm2022/slotted-angular-collapsible.mjs +479 -0
  328. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -0
  329. package/fesm2022/slotted-angular-color-picker.mjs +910 -0
  330. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -0
  331. package/fesm2022/slotted-angular-column-manager.mjs +1037 -0
  332. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -0
  333. package/fesm2022/slotted-angular-combobox.mjs +1480 -0
  334. package/fesm2022/slotted-angular-combobox.mjs.map +1 -0
  335. package/fesm2022/slotted-angular-command-palette.mjs +1283 -0
  336. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -0
  337. package/fesm2022/slotted-angular-container.mjs +105 -0
  338. package/fesm2022/slotted-angular-container.mjs.map +1 -0
  339. package/fesm2022/slotted-angular-context-menu.mjs +221 -0
  340. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -0
  341. package/fesm2022/slotted-angular-currency-field.mjs +1131 -0
  342. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -0
  343. package/fesm2022/slotted-angular-dashboard-grid.mjs +1928 -0
  344. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -0
  345. package/fesm2022/slotted-angular-data-grid.mjs +6697 -0
  346. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -0
  347. package/fesm2022/slotted-angular-data-list.mjs +1418 -0
  348. package/fesm2022/slotted-angular-data-list.mjs.map +1 -0
  349. package/fesm2022/slotted-angular-date-field.mjs +772 -0
  350. package/fesm2022/slotted-angular-date-field.mjs.map +1 -0
  351. package/fesm2022/slotted-angular-date-picker.mjs +690 -0
  352. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -0
  353. package/fesm2022/slotted-angular-date-range-picker.mjs +1150 -0
  354. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -0
  355. package/fesm2022/slotted-angular-datetime-field.mjs +1058 -0
  356. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -0
  357. package/fesm2022/slotted-angular-datetime-picker.mjs +1362 -0
  358. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -0
  359. package/fesm2022/slotted-angular-datetime-range-picker.mjs +1872 -0
  360. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -0
  361. package/fesm2022/slotted-angular-description-list.mjs +545 -0
  362. package/fesm2022/slotted-angular-description-list.mjs.map +1 -0
  363. package/fesm2022/slotted-angular-detail-panel.mjs +754 -0
  364. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -0
  365. package/fesm2022/slotted-angular-dialog.mjs +980 -0
  366. package/fesm2022/slotted-angular-dialog.mjs.map +1 -0
  367. package/fesm2022/slotted-angular-divider.mjs +76 -0
  368. package/fesm2022/slotted-angular-divider.mjs.map +1 -0
  369. package/fesm2022/slotted-angular-drawer.mjs +1397 -0
  370. package/fesm2022/slotted-angular-drawer.mjs.map +1 -0
  371. package/fesm2022/slotted-angular-entity-picker.mjs +1987 -0
  372. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -0
  373. package/fesm2022/slotted-angular-event-calendar.mjs +2934 -0
  374. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -0
  375. package/fesm2022/slotted-angular-field-group.mjs +301 -0
  376. package/fesm2022/slotted-angular-field-group.mjs.map +1 -0
  377. package/fesm2022/slotted-angular-field.mjs +928 -0
  378. package/fesm2022/slotted-angular-field.mjs.map +1 -0
  379. package/fesm2022/slotted-angular-filter-bar.mjs +3107 -0
  380. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -0
  381. package/fesm2022/slotted-angular-form.mjs +592 -0
  382. package/fesm2022/slotted-angular-form.mjs.map +1 -0
  383. package/fesm2022/slotted-angular-fullscreen.mjs +314 -0
  384. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -0
  385. package/fesm2022/slotted-angular-grid.mjs +58 -0
  386. package/fesm2022/slotted-angular-grid.mjs.map +1 -0
  387. package/fesm2022/slotted-angular-highlight.mjs +123 -0
  388. package/fesm2022/slotted-angular-highlight.mjs.map +1 -0
  389. package/fesm2022/slotted-angular-hover-card.mjs +326 -0
  390. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -0
  391. package/fesm2022/slotted-angular-i18n.mjs +75 -0
  392. package/fesm2022/slotted-angular-i18n.mjs.map +1 -0
  393. package/fesm2022/slotted-angular-icon.mjs +232 -0
  394. package/fesm2022/slotted-angular-icon.mjs.map +1 -0
  395. package/fesm2022/slotted-angular-image.mjs +442 -0
  396. package/fesm2022/slotted-angular-image.mjs.map +1 -0
  397. package/fesm2022/slotted-angular-import-export-center.mjs +1792 -0
  398. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -0
  399. package/fesm2022/slotted-angular-inline-message.mjs +280 -0
  400. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -0
  401. package/fesm2022/slotted-angular-inline.mjs +52 -0
  402. package/fesm2022/slotted-angular-inline.mjs.map +1 -0
  403. package/fesm2022/slotted-angular-kbd.mjs +284 -0
  404. package/fesm2022/slotted-angular-kbd.mjs.map +1 -0
  405. package/fesm2022/slotted-angular-link.mjs +182 -0
  406. package/fesm2022/slotted-angular-link.mjs.map +1 -0
  407. package/fesm2022/slotted-angular-list-item.mjs +367 -0
  408. package/fesm2022/slotted-angular-list-item.mjs.map +1 -0
  409. package/fesm2022/slotted-angular-list.mjs +256 -0
  410. package/fesm2022/slotted-angular-list.mjs.map +1 -0
  411. package/fesm2022/slotted-angular-listbox.mjs +1274 -0
  412. package/fesm2022/slotted-angular-listbox.mjs.map +1 -0
  413. package/fesm2022/slotted-angular-loading-overlay.mjs +451 -0
  414. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -0
  415. package/fesm2022/slotted-angular-markdown.mjs +914 -0
  416. package/fesm2022/slotted-angular-markdown.mjs.map +1 -0
  417. package/fesm2022/slotted-angular-menu.mjs +1211 -0
  418. package/fesm2022/slotted-angular-menu.mjs.map +1 -0
  419. package/fesm2022/slotted-angular-menubar.mjs +230 -0
  420. package/fesm2022/slotted-angular-menubar.mjs.map +1 -0
  421. package/fesm2022/slotted-angular-message-scroller.mjs +378 -0
  422. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -0
  423. package/fesm2022/slotted-angular-message.mjs +866 -0
  424. package/fesm2022/slotted-angular-message.mjs.map +1 -0
  425. package/fesm2022/slotted-angular-multi-select.mjs +1939 -0
  426. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -0
  427. package/fesm2022/slotted-angular-navigation-menu.mjs +770 -0
  428. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -0
  429. package/fesm2022/slotted-angular-notification-center.mjs +1172 -0
  430. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -0
  431. package/fesm2022/slotted-angular-number-field.mjs +966 -0
  432. package/fesm2022/slotted-angular-number-field.mjs.map +1 -0
  433. package/fesm2022/slotted-angular-otp-input.mjs +629 -0
  434. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -0
  435. package/fesm2022/slotted-angular-page-header.mjs +788 -0
  436. package/fesm2022/slotted-angular-page-header.mjs.map +1 -0
  437. package/fesm2022/slotted-angular-page.mjs +255 -0
  438. package/fesm2022/slotted-angular-page.mjs.map +1 -0
  439. package/fesm2022/slotted-angular-pagination.mjs +562 -0
  440. package/fesm2022/slotted-angular-pagination.mjs.map +1 -0
  441. package/fesm2022/slotted-angular-popover.mjs +799 -0
  442. package/fesm2022/slotted-angular-popover.mjs.map +1 -0
  443. package/fesm2022/slotted-angular-progress-indicator.mjs +572 -0
  444. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -0
  445. package/fesm2022/slotted-angular-prompt-composer.mjs +596 -0
  446. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -0
  447. package/fesm2022/slotted-angular-prose.mjs +314 -0
  448. package/fesm2022/slotted-angular-prose.mjs.map +1 -0
  449. package/fesm2022/slotted-angular-radio-group.mjs +469 -0
  450. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -0
  451. package/fesm2022/slotted-angular-rating.mjs +1174 -0
  452. package/fesm2022/slotted-angular-rating.mjs.map +1 -0
  453. package/fesm2022/slotted-angular-result-state.mjs +330 -0
  454. package/fesm2022/slotted-angular-result-state.mjs.map +1 -0
  455. package/fesm2022/slotted-angular-saved-views.mjs +877 -0
  456. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -0
  457. package/fesm2022/slotted-angular-scroll-area.mjs +294 -0
  458. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -0
  459. package/fesm2022/slotted-angular-section.mjs +266 -0
  460. package/fesm2022/slotted-angular-section.mjs.map +1 -0
  461. package/fesm2022/slotted-angular-segmented-control.mjs +454 -0
  462. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -0
  463. package/fesm2022/slotted-angular-select.mjs +1899 -0
  464. package/fesm2022/slotted-angular-select.mjs.map +1 -0
  465. package/fesm2022/slotted-angular-side-navigation.mjs +1042 -0
  466. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -0
  467. package/fesm2022/slotted-angular-skeleton.mjs +316 -0
  468. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -0
  469. package/fesm2022/slotted-angular-slider.mjs +586 -0
  470. package/fesm2022/slotted-angular-slider.mjs.map +1 -0
  471. package/fesm2022/slotted-angular-sparkline.mjs +235 -0
  472. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -0
  473. package/fesm2022/slotted-angular-split-button.mjs +331 -0
  474. package/fesm2022/slotted-angular-split-button.mjs.map +1 -0
  475. package/fesm2022/slotted-angular-splitter.mjs +516 -0
  476. package/fesm2022/slotted-angular-splitter.mjs.map +1 -0
  477. package/fesm2022/slotted-angular-stack.mjs +48 -0
  478. package/fesm2022/slotted-angular-stack.mjs.map +1 -0
  479. package/fesm2022/slotted-angular-stat-card.mjs +478 -0
  480. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -0
  481. package/fesm2022/slotted-angular-status-indicator.mjs +155 -0
  482. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -0
  483. package/fesm2022/slotted-angular-stepper.mjs +536 -0
  484. package/fesm2022/slotted-angular-stepper.mjs.map +1 -0
  485. package/fesm2022/slotted-angular-switch.mjs +447 -0
  486. package/fesm2022/slotted-angular-switch.mjs.map +1 -0
  487. package/fesm2022/slotted-angular-table-of-contents.mjs +750 -0
  488. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -0
  489. package/fesm2022/slotted-angular-table.mjs +2518 -0
  490. package/fesm2022/slotted-angular-table.mjs.map +1 -0
  491. package/fesm2022/slotted-angular-tabs.mjs +829 -0
  492. package/fesm2022/slotted-angular-tabs.mjs.map +1 -0
  493. package/fesm2022/slotted-angular-tag.mjs +595 -0
  494. package/fesm2022/slotted-angular-tag.mjs.map +1 -0
  495. package/fesm2022/slotted-angular-tags-input.mjs +1211 -0
  496. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -0
  497. package/fesm2022/slotted-angular-text-field.mjs +674 -0
  498. package/fesm2022/slotted-angular-text-field.mjs.map +1 -0
  499. package/fesm2022/slotted-angular-textarea.mjs +275 -0
  500. package/fesm2022/slotted-angular-textarea.mjs.map +1 -0
  501. package/fesm2022/slotted-angular-theme.mjs +45 -0
  502. package/fesm2022/slotted-angular-theme.mjs.map +1 -0
  503. package/fesm2022/slotted-angular-time-field.mjs +895 -0
  504. package/fesm2022/slotted-angular-time-field.mjs.map +1 -0
  505. package/fesm2022/slotted-angular-time-picker.mjs +856 -0
  506. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -0
  507. package/fesm2022/slotted-angular-time-range-picker.mjs +1534 -0
  508. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -0
  509. package/fesm2022/slotted-angular-timeline.mjs +928 -0
  510. package/fesm2022/slotted-angular-timeline.mjs.map +1 -0
  511. package/fesm2022/slotted-angular-toast.mjs +917 -0
  512. package/fesm2022/slotted-angular-toast.mjs.map +1 -0
  513. package/fesm2022/slotted-angular-toggle-group.mjs +311 -0
  514. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -0
  515. package/fesm2022/slotted-angular-toggle.mjs +162 -0
  516. package/fesm2022/slotted-angular-toggle.mjs.map +1 -0
  517. package/fesm2022/slotted-angular-toolbar.mjs +536 -0
  518. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -0
  519. package/fesm2022/slotted-angular-tooltip.mjs +798 -0
  520. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -0
  521. package/fesm2022/slotted-angular-top-navigation.mjs +1308 -0
  522. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -0
  523. package/fesm2022/slotted-angular-tour.mjs +1330 -0
  524. package/fesm2022/slotted-angular-tour.mjs.map +1 -0
  525. package/fesm2022/slotted-angular-transfer.mjs +1406 -0
  526. package/fesm2022/slotted-angular-transfer.mjs.map +1 -0
  527. package/fesm2022/slotted-angular-tree.mjs +1448 -0
  528. package/fesm2022/slotted-angular-tree.mjs.map +1 -0
  529. package/fesm2022/slotted-angular-typography.mjs +184 -0
  530. package/fesm2022/slotted-angular-typography.mjs.map +1 -0
  531. package/fesm2022/slotted-angular-upload.mjs +1523 -0
  532. package/fesm2022/slotted-angular-upload.mjs.map +1 -0
  533. package/fesm2022/slotted-angular-visually-hidden.mjs +32 -0
  534. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -0
  535. package/fesm2022/slotted-angular-wizard.mjs +1715 -0
  536. package/fesm2022/slotted-angular-wizard.mjs.map +1 -0
  537. package/fesm2022/slotted-angular.mjs +4 -0
  538. package/fesm2022/slotted-angular.mjs.map +1 -0
  539. package/package.json +537 -3
  540. package/types/slotted-angular-accordion.d.ts +156 -0
  541. package/types/slotted-angular-accordion.d.ts.map +1 -0
  542. package/types/slotted-angular-action-bar.d.ts +291 -0
  543. package/types/slotted-angular-action-bar.d.ts.map +1 -0
  544. package/types/slotted-angular-action-sheet.d.ts +294 -0
  545. package/types/slotted-angular-action-sheet.d.ts.map +1 -0
  546. package/types/slotted-angular-alert.d.ts +214 -0
  547. package/types/slotted-angular-alert.d.ts.map +1 -0
  548. package/types/slotted-angular-app-shell.d.ts +549 -0
  549. package/types/slotted-angular-app-shell.d.ts.map +1 -0
  550. package/types/slotted-angular-aspect-ratio.d.ts +57 -0
  551. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -0
  552. package/types/slotted-angular-attachment.d.ts +294 -0
  553. package/types/slotted-angular-attachment.d.ts.map +1 -0
  554. package/types/slotted-angular-avatar-group.d.ts +119 -0
  555. package/types/slotted-angular-avatar-group.d.ts.map +1 -0
  556. package/types/slotted-angular-avatar.d.ts +202 -0
  557. package/types/slotted-angular-avatar.d.ts.map +1 -0
  558. package/types/slotted-angular-badge.d.ts +166 -0
  559. package/types/slotted-angular-badge.d.ts.map +1 -0
  560. package/types/slotted-angular-breadcrumb.d.ts +251 -0
  561. package/types/slotted-angular-breadcrumb.d.ts.map +1 -0
  562. package/types/slotted-angular-button-group.d.ts +89 -0
  563. package/types/slotted-angular-button-group.d.ts.map +1 -0
  564. package/types/slotted-angular-button.d.ts +390 -0
  565. package/types/slotted-angular-button.d.ts.map +1 -0
  566. package/types/slotted-angular-calendar.d.ts +280 -0
  567. package/types/slotted-angular-calendar.d.ts.map +1 -0
  568. package/types/slotted-angular-card.d.ts +140 -0
  569. package/types/slotted-angular-card.d.ts.map +1 -0
  570. package/types/slotted-angular-carousel.d.ts +288 -0
  571. package/types/slotted-angular-carousel.d.ts.map +1 -0
  572. package/types/slotted-angular-cascader.d.ts +351 -0
  573. package/types/slotted-angular-cascader.d.ts.map +1 -0
  574. package/types/slotted-angular-chart.d.ts +319 -0
  575. package/types/slotted-angular-chart.d.ts.map +1 -0
  576. package/types/slotted-angular-checkbox-group.d.ts +156 -0
  577. package/types/slotted-angular-checkbox-group.d.ts.map +1 -0
  578. package/types/slotted-angular-checkbox.d.ts +197 -0
  579. package/types/slotted-angular-checkbox.d.ts.map +1 -0
  580. package/types/slotted-angular-code-block.d.ts +158 -0
  581. package/types/slotted-angular-code-block.d.ts.map +1 -0
  582. package/types/slotted-angular-collapsible.d.ts +272 -0
  583. package/types/slotted-angular-collapsible.d.ts.map +1 -0
  584. package/types/slotted-angular-color-picker.d.ts +181 -0
  585. package/types/slotted-angular-color-picker.d.ts.map +1 -0
  586. package/types/slotted-angular-column-manager.d.ts +200 -0
  587. package/types/slotted-angular-column-manager.d.ts.map +1 -0
  588. package/types/slotted-angular-combobox.d.ts +449 -0
  589. package/types/slotted-angular-combobox.d.ts.map +1 -0
  590. package/types/slotted-angular-command-palette.d.ts +256 -0
  591. package/types/slotted-angular-command-palette.d.ts.map +1 -0
  592. package/types/slotted-angular-container.d.ts +84 -0
  593. package/types/slotted-angular-container.d.ts.map +1 -0
  594. package/types/slotted-angular-context-menu.d.ts +84 -0
  595. package/types/slotted-angular-context-menu.d.ts.map +1 -0
  596. package/types/slotted-angular-currency-field.d.ts +480 -0
  597. package/types/slotted-angular-currency-field.d.ts.map +1 -0
  598. package/types/slotted-angular-dashboard-grid.d.ts +341 -0
  599. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -0
  600. package/types/slotted-angular-data-grid.d.ts +1077 -0
  601. package/types/slotted-angular-data-grid.d.ts.map +1 -0
  602. package/types/slotted-angular-data-list.d.ts +272 -0
  603. package/types/slotted-angular-data-list.d.ts.map +1 -0
  604. package/types/slotted-angular-date-field.d.ts +320 -0
  605. package/types/slotted-angular-date-field.d.ts.map +1 -0
  606. package/types/slotted-angular-date-picker.d.ts +224 -0
  607. package/types/slotted-angular-date-picker.d.ts.map +1 -0
  608. package/types/slotted-angular-date-range-picker.d.ts +310 -0
  609. package/types/slotted-angular-date-range-picker.d.ts.map +1 -0
  610. package/types/slotted-angular-datetime-field.d.ts +362 -0
  611. package/types/slotted-angular-datetime-field.d.ts.map +1 -0
  612. package/types/slotted-angular-datetime-picker.d.ts +370 -0
  613. package/types/slotted-angular-datetime-picker.d.ts.map +1 -0
  614. package/types/slotted-angular-datetime-range-picker.d.ts +459 -0
  615. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -0
  616. package/types/slotted-angular-description-list.d.ts +281 -0
  617. package/types/slotted-angular-description-list.d.ts.map +1 -0
  618. package/types/slotted-angular-detail-panel.d.ts +240 -0
  619. package/types/slotted-angular-detail-panel.d.ts.map +1 -0
  620. package/types/slotted-angular-dialog.d.ts +497 -0
  621. package/types/slotted-angular-dialog.d.ts.map +1 -0
  622. package/types/slotted-angular-divider.d.ts +40 -0
  623. package/types/slotted-angular-divider.d.ts.map +1 -0
  624. package/types/slotted-angular-drawer.d.ts +532 -0
  625. package/types/slotted-angular-drawer.d.ts.map +1 -0
  626. package/types/slotted-angular-entity-picker.d.ts +338 -0
  627. package/types/slotted-angular-entity-picker.d.ts.map +1 -0
  628. package/types/slotted-angular-event-calendar.d.ts +574 -0
  629. package/types/slotted-angular-event-calendar.d.ts.map +1 -0
  630. package/types/slotted-angular-field-group.d.ts +152 -0
  631. package/types/slotted-angular-field-group.d.ts.map +1 -0
  632. package/types/slotted-angular-field.d.ts +535 -0
  633. package/types/slotted-angular-field.d.ts.map +1 -0
  634. package/types/slotted-angular-filter-bar.d.ts +573 -0
  635. package/types/slotted-angular-filter-bar.d.ts.map +1 -0
  636. package/types/slotted-angular-form.d.ts +298 -0
  637. package/types/slotted-angular-form.d.ts.map +1 -0
  638. package/types/slotted-angular-fullscreen.d.ts +145 -0
  639. package/types/slotted-angular-fullscreen.d.ts.map +1 -0
  640. package/types/slotted-angular-grid.d.ts +50 -0
  641. package/types/slotted-angular-grid.d.ts.map +1 -0
  642. package/types/slotted-angular-highlight.d.ts +93 -0
  643. package/types/slotted-angular-highlight.d.ts.map +1 -0
  644. package/types/slotted-angular-hover-card.d.ts +140 -0
  645. package/types/slotted-angular-hover-card.d.ts.map +1 -0
  646. package/types/slotted-angular-i18n.d.ts +46 -0
  647. package/types/slotted-angular-i18n.d.ts.map +1 -0
  648. package/types/slotted-angular-icon.d.ts +94 -0
  649. package/types/slotted-angular-icon.d.ts.map +1 -0
  650. package/types/slotted-angular-image.d.ts +251 -0
  651. package/types/slotted-angular-image.d.ts.map +1 -0
  652. package/types/slotted-angular-import-export-center.d.ts +351 -0
  653. package/types/slotted-angular-import-export-center.d.ts.map +1 -0
  654. package/types/slotted-angular-inline-message.d.ts +195 -0
  655. package/types/slotted-angular-inline-message.d.ts.map +1 -0
  656. package/types/slotted-angular-inline.d.ts +41 -0
  657. package/types/slotted-angular-inline.d.ts.map +1 -0
  658. package/types/slotted-angular-kbd.d.ts +174 -0
  659. package/types/slotted-angular-kbd.d.ts.map +1 -0
  660. package/types/slotted-angular-link.d.ts +94 -0
  661. package/types/slotted-angular-link.d.ts.map +1 -0
  662. package/types/slotted-angular-list-item.d.ts +210 -0
  663. package/types/slotted-angular-list-item.d.ts.map +1 -0
  664. package/types/slotted-angular-list.d.ts +176 -0
  665. package/types/slotted-angular-list.d.ts.map +1 -0
  666. package/types/slotted-angular-listbox.d.ts +470 -0
  667. package/types/slotted-angular-listbox.d.ts.map +1 -0
  668. package/types/slotted-angular-loading-overlay.d.ts +219 -0
  669. package/types/slotted-angular-loading-overlay.d.ts.map +1 -0
  670. package/types/slotted-angular-markdown.d.ts +172 -0
  671. package/types/slotted-angular-markdown.d.ts.map +1 -0
  672. package/types/slotted-angular-menu.d.ts +448 -0
  673. package/types/slotted-angular-menu.d.ts.map +1 -0
  674. package/types/slotted-angular-menubar.d.ts +90 -0
  675. package/types/slotted-angular-menubar.d.ts.map +1 -0
  676. package/types/slotted-angular-message-scroller.d.ts +151 -0
  677. package/types/slotted-angular-message-scroller.d.ts.map +1 -0
  678. package/types/slotted-angular-message.d.ts +348 -0
  679. package/types/slotted-angular-message.d.ts.map +1 -0
  680. package/types/slotted-angular-multi-select.d.ts +462 -0
  681. package/types/slotted-angular-multi-select.d.ts.map +1 -0
  682. package/types/slotted-angular-navigation-menu.d.ts +309 -0
  683. package/types/slotted-angular-navigation-menu.d.ts.map +1 -0
  684. package/types/slotted-angular-notification-center.d.ts +318 -0
  685. package/types/slotted-angular-notification-center.d.ts.map +1 -0
  686. package/types/slotted-angular-number-field.d.ts +402 -0
  687. package/types/slotted-angular-number-field.d.ts.map +1 -0
  688. package/types/slotted-angular-otp-input.d.ts +286 -0
  689. package/types/slotted-angular-otp-input.d.ts.map +1 -0
  690. package/types/slotted-angular-page-header.d.ts +334 -0
  691. package/types/slotted-angular-page-header.d.ts.map +1 -0
  692. package/types/slotted-angular-page.d.ts +141 -0
  693. package/types/slotted-angular-page.d.ts.map +1 -0
  694. package/types/slotted-angular-pagination.d.ts +213 -0
  695. package/types/slotted-angular-pagination.d.ts.map +1 -0
  696. package/types/slotted-angular-popover.d.ts +366 -0
  697. package/types/slotted-angular-popover.d.ts.map +1 -0
  698. package/types/slotted-angular-progress-indicator.d.ts +312 -0
  699. package/types/slotted-angular-progress-indicator.d.ts.map +1 -0
  700. package/types/slotted-angular-prompt-composer.d.ts +242 -0
  701. package/types/slotted-angular-prompt-composer.d.ts.map +1 -0
  702. package/types/slotted-angular-prose.d.ts +171 -0
  703. package/types/slotted-angular-prose.d.ts.map +1 -0
  704. package/types/slotted-angular-radio-group.d.ts +268 -0
  705. package/types/slotted-angular-radio-group.d.ts.map +1 -0
  706. package/types/slotted-angular-rating.d.ts +374 -0
  707. package/types/slotted-angular-rating.d.ts.map +1 -0
  708. package/types/slotted-angular-result-state.d.ts +217 -0
  709. package/types/slotted-angular-result-state.d.ts.map +1 -0
  710. package/types/slotted-angular-saved-views.d.ts +198 -0
  711. package/types/slotted-angular-saved-views.d.ts.map +1 -0
  712. package/types/slotted-angular-scroll-area.d.ts +186 -0
  713. package/types/slotted-angular-scroll-area.d.ts.map +1 -0
  714. package/types/slotted-angular-section.d.ts +143 -0
  715. package/types/slotted-angular-section.d.ts.map +1 -0
  716. package/types/slotted-angular-segmented-control.d.ts +251 -0
  717. package/types/slotted-angular-segmented-control.d.ts.map +1 -0
  718. package/types/slotted-angular-select.d.ts +507 -0
  719. package/types/slotted-angular-select.d.ts.map +1 -0
  720. package/types/slotted-angular-side-navigation.d.ts +373 -0
  721. package/types/slotted-angular-side-navigation.d.ts.map +1 -0
  722. package/types/slotted-angular-skeleton.d.ts +198 -0
  723. package/types/slotted-angular-skeleton.d.ts.map +1 -0
  724. package/types/slotted-angular-slider.d.ts +216 -0
  725. package/types/slotted-angular-slider.d.ts.map +1 -0
  726. package/types/slotted-angular-sparkline.d.ts +106 -0
  727. package/types/slotted-angular-sparkline.d.ts.map +1 -0
  728. package/types/slotted-angular-split-button.d.ts +180 -0
  729. package/types/slotted-angular-split-button.d.ts.map +1 -0
  730. package/types/slotted-angular-splitter.d.ts +206 -0
  731. package/types/slotted-angular-splitter.d.ts.map +1 -0
  732. package/types/slotted-angular-stack.d.ts +38 -0
  733. package/types/slotted-angular-stack.d.ts.map +1 -0
  734. package/types/slotted-angular-stat-card.d.ts +232 -0
  735. package/types/slotted-angular-stat-card.d.ts.map +1 -0
  736. package/types/slotted-angular-status-indicator.d.ts +106 -0
  737. package/types/slotted-angular-status-indicator.d.ts.map +1 -0
  738. package/types/slotted-angular-stepper.d.ts +198 -0
  739. package/types/slotted-angular-stepper.d.ts.map +1 -0
  740. package/types/slotted-angular-switch.d.ts +243 -0
  741. package/types/slotted-angular-switch.d.ts.map +1 -0
  742. package/types/slotted-angular-table-of-contents.d.ts +210 -0
  743. package/types/slotted-angular-table-of-contents.d.ts.map +1 -0
  744. package/types/slotted-angular-table.d.ts +888 -0
  745. package/types/slotted-angular-table.d.ts.map +1 -0
  746. package/types/slotted-angular-tabs.d.ts +340 -0
  747. package/types/slotted-angular-tabs.d.ts.map +1 -0
  748. package/types/slotted-angular-tag.d.ts +279 -0
  749. package/types/slotted-angular-tag.d.ts.map +1 -0
  750. package/types/slotted-angular-tags-input.d.ts +302 -0
  751. package/types/slotted-angular-tags-input.d.ts.map +1 -0
  752. package/types/slotted-angular-text-field.d.ts +334 -0
  753. package/types/slotted-angular-text-field.d.ts.map +1 -0
  754. package/types/slotted-angular-textarea.d.ts +150 -0
  755. package/types/slotted-angular-textarea.d.ts.map +1 -0
  756. package/types/slotted-angular-theme.d.ts +26 -0
  757. package/types/slotted-angular-theme.d.ts.map +1 -0
  758. package/types/slotted-angular-time-field.d.ts +300 -0
  759. package/types/slotted-angular-time-field.d.ts.map +1 -0
  760. package/types/slotted-angular-time-picker.d.ts +260 -0
  761. package/types/slotted-angular-time-picker.d.ts.map +1 -0
  762. package/types/slotted-angular-time-range-picker.d.ts +401 -0
  763. package/types/slotted-angular-time-range-picker.d.ts.map +1 -0
  764. package/types/slotted-angular-timeline.d.ts +329 -0
  765. package/types/slotted-angular-timeline.d.ts.map +1 -0
  766. package/types/slotted-angular-toast.d.ts +340 -0
  767. package/types/slotted-angular-toast.d.ts.map +1 -0
  768. package/types/slotted-angular-toggle-group.d.ts +167 -0
  769. package/types/slotted-angular-toggle-group.d.ts.map +1 -0
  770. package/types/slotted-angular-toggle.d.ts +106 -0
  771. package/types/slotted-angular-toggle.d.ts.map +1 -0
  772. package/types/slotted-angular-toolbar.d.ts +252 -0
  773. package/types/slotted-angular-toolbar.d.ts.map +1 -0
  774. package/types/slotted-angular-tooltip.d.ts +388 -0
  775. package/types/slotted-angular-tooltip.d.ts.map +1 -0
  776. package/types/slotted-angular-top-navigation.d.ts +442 -0
  777. package/types/slotted-angular-top-navigation.d.ts.map +1 -0
  778. package/types/slotted-angular-tour.d.ts +440 -0
  779. package/types/slotted-angular-tour.d.ts.map +1 -0
  780. package/types/slotted-angular-transfer.d.ts +296 -0
  781. package/types/slotted-angular-transfer.d.ts.map +1 -0
  782. package/types/slotted-angular-tree.d.ts +499 -0
  783. package/types/slotted-angular-tree.d.ts.map +1 -0
  784. package/types/slotted-angular-typography.d.ts +89 -0
  785. package/types/slotted-angular-typography.d.ts.map +1 -0
  786. package/types/slotted-angular-upload.d.ts +365 -0
  787. package/types/slotted-angular-upload.d.ts.map +1 -0
  788. package/types/slotted-angular-visually-hidden.d.ts +19 -0
  789. package/types/slotted-angular-visually-hidden.d.ts.map +1 -0
  790. package/types/slotted-angular-wizard.d.ts +441 -0
  791. package/types/slotted-angular-wizard.d.ts.map +1 -0
  792. package/types/slotted-angular.d.ts +3 -0
  793. package/types/slotted-angular.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slotted-angular-multi-select.mjs","sources":["../../multi-select/src/multi-select-defaults.ts","../../multi-select/src/multi-select.ts","../../multi-select/src/multi-select-items.ts","../../multi-select/src/slotted-angular-multi-select.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { Provider } from '@angular/core';\n\nexport type MultiSelectSize = 'sm' | 'md' | 'lg';\nexport type MultiSelectVariant = 'outline' | 'subtle' | 'plain';\nexport type MultiSelectSide = 'bottom' | 'top' | 'inline-start' | 'inline-end' | 'left' | 'right';\nexport type MultiSelectAlign = 'start' | 'center' | 'end';\nexport type MultiSelectWidth = 'anchor' | 'content';\nexport type MultiSelectMount = 'active' | 'lazy' | 'eager';\nexport type MultiSelectStrategy = 'absolute' | 'fixed';\n/** Which gestures open the popup besides the trigger and the arrows. */\nexport type MultiSelectOpenOn = 'input' | 'focus' | 'manual';\n\n/** What the row does with more chips than fit on one line. */\nexport type MultiSelectOverflow = 'wrap' | 'collapse';\n/** Whether an option already in the set stays in the list, marked, or leaves it. */\nexport type MultiSelectChosenOptions = 'show' | 'hide';\n\nexport type MultiSelectOptionValue = string;\n\nexport type MultiSelectOpenReason =\n | 'pointer'\n | 'keyboard'\n | 'escape'\n | 'outsidePress'\n | 'select'\n | 'dismiss'\n | 'blur'\n | 'programmatic';\n\n/**\n * Why the set moved. The six words the React binding states in full, and for\n * the same reason: a consumer writes a different handler for each, and\n * `keyboard` is reorder alone.\n */\nexport type MultiSelectValueReason =\n 'select' | 'submit' | 'remove' | 'clear' | 'keyboard' | 'programmatic';\n\nexport type MultiSelectInputReason =\n 'keyboard' | 'select' | 'submit' | 'clear' | 'blur' | 'programmatic';\n\nexport type MultiSelectHighlightReason = 'pointer' | 'keyboard' | 'programmatic';\n\n/** Why a value the reader offered did not get in. */\nexport type MultiSelectRefuseCause = 'duplicate' | 'limit' | 'invalid';\n\n/**\n * Whether an option answers a query. `null` turns filtering off entirely, which\n * is what a list a server has already filtered needs.\n */\nexport type MultiSelectFilter = ((label: string, query: string) => boolean) | null;\n\n/** Whether text the reader typed may become a value at all. */\nexport type MultiSelectValidator = (\n text: string,\n values: readonly MultiSelectOptionValue[],\n) => boolean;\n\nexport interface MultiSelectOption {\n value: MultiSelectOptionValue;\n label: string;\n disabled?: boolean;\n}\n\nexport interface MultiSelectOptionGroup {\n label: string;\n options: readonly MultiSelectOption[];\n}\n\nexport type MultiSelectItems = readonly (MultiSelectOption | MultiSelectOptionGroup)[];\n\nexport interface MultiSelectDefaults {\n addOnPaste: boolean;\n align: MultiSelectAlign;\n alignOffset: number;\n allowDuplicates: boolean;\n chosenOptions: MultiSelectChosenOptions;\n clearable: boolean;\n closeOnEscape: boolean;\n closeOnOutsidePress: boolean;\n closeOnSelect: boolean;\n collisionPadding: number;\n commitOnBlur: boolean;\n creatable: boolean;\n /** The characters that commit the typed text, and split a paste. */\n delimiters: readonly string[];\n disabled: boolean;\n editable: boolean;\n flip: boolean;\n fullWidth: boolean;\n hideWhenDetached: boolean;\n highlightMatch: boolean;\n invalid: boolean;\n loading: boolean;\n loop: boolean;\n /** The most values the set may hold, or `null` for no limit. */\n max: number | null;\n mount: MultiSelectMount;\n openOn: MultiSelectOpenOn;\n overflow: MultiSelectOverflow;\n portal: boolean;\n readOnly: boolean;\n reorderable: boolean;\n required: boolean;\n shift: boolean;\n side: MultiSelectSide;\n sideOffset: number;\n size: MultiSelectSize;\n strategy: MultiSelectStrategy;\n variant: MultiSelectVariant;\n width: MultiSelectWidth;\n}\n\n/**\n * The numbers, and why they are these numbers. The React binding's\n * `MULTI_SELECT_FALLBACK` states the reasoning; the values are the same, and\n * they have to be — an application that renders both bindings would otherwise\n * ship two controls that behave differently under the same name.\n */\nexport const MULTI_SELECT_FALLBACK: MultiSelectDefaults = {\n addOnPaste: true,\n align: 'start',\n alignOffset: 0,\n allowDuplicates: false,\n chosenOptions: 'show',\n clearable: true,\n closeOnEscape: true,\n closeOnOutsidePress: true,\n closeOnSelect: false,\n collisionPadding: 8,\n commitOnBlur: true,\n creatable: false,\n delimiters: [','],\n disabled: false,\n editable: false,\n flip: true,\n fullWidth: true,\n hideWhenDetached: true,\n highlightMatch: true,\n invalid: false,\n loading: false,\n loop: false,\n max: null,\n mount: 'active',\n openOn: 'input',\n overflow: 'wrap',\n portal: true,\n readOnly: false,\n reorderable: false,\n required: false,\n shift: true,\n side: 'bottom',\n sideOffset: 4,\n size: 'md',\n strategy: 'absolute',\n variant: 'outline',\n width: 'content',\n};\n\nexport const MULTI_SELECT_DEFAULTS = new InjectionToken<MultiSelectDefaults>(\n 'MULTI_SELECT_DEFAULTS',\n { providedIn: 'root', factory: () => MULTI_SELECT_FALLBACK },\n);\n\n/**\n * The decisions an application takes once. Its words come from the language in\n * force (`provideSlotted`).\n */\nexport function provideMultiSelectDefaults(defaults: Partial<MultiSelectDefaults>): Provider {\n return { provide: MULTI_SELECT_DEFAULTS, useValue: { ...MULTI_SELECT_FALLBACK, ...defaults } };\n}\n\nexport function injectMultiSelectDefaults(): MultiSelectDefaults {\n return inject(MULTI_SELECT_DEFAULTS);\n}\n","import { createFilter, moveIndex } from '@slotted/core/collection';\nimport type { Filter, MoveIntent } from '@slotted/core/collection';\nimport { createDismissableLayer, pressOrigin } from '@slotted/core/dismissable-layer';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { createArrowNavigation, createRemovalFocus } from '@slotted/core/focus';\nimport type { ArrowNavigationHandle, RemovalFocusHandle } from '@slotted/core/focus';\nimport {\n multiSelectMessages,\n type MultiSelectMessages,\n type PartialMessages,\n} from '@slotted/core/i18n';\nimport { getLiveAnnouncer } from '@slotted/core/live-announcer';\nimport { createWidthGate } from '@slotted/core/measure';\nimport type { WidthGateHandle } from '@slotted/core/measure';\nimport { createCollapse } from '@slotted/core/overflow';\nimport type { CollapseHandle } from '@slotted/core/overflow';\nimport { createPortalRoot } from '@slotted/core/portal';\nimport type { PortalRootHandle } from '@slotted/core/portal';\nimport { createPositioner } from '@slotted/core/positioner';\nimport type { PositionerHandle } from '@slotted/core/positioner';\nimport { createPresence } from '@slotted/core/presence';\nimport type { PresenceHandle } from '@slotted/core/presence';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n effect,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n Injector,\n input,\n model,\n numberAttribute,\n output,\n signal,\n untracked,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n type EmbeddedViewRef,\n type OnInit,\n type TemplateRef,\n} from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlField } from '@slotted/angular/field';\n\nimport { injectMultiSelectDefaults } from './multi-select-defaults';\nimport type {\n MultiSelectAlign,\n MultiSelectChosenOptions,\n MultiSelectFilter,\n MultiSelectHighlightReason,\n MultiSelectInputReason,\n MultiSelectItems,\n MultiSelectMount,\n MultiSelectOpenOn,\n MultiSelectOpenReason,\n MultiSelectOption,\n MultiSelectOptionGroup,\n MultiSelectOptionValue,\n MultiSelectOverflow,\n MultiSelectRefuseCause,\n MultiSelectSide,\n MultiSelectSize,\n MultiSelectStrategy,\n MultiSelectValidator,\n MultiSelectValueReason,\n MultiSelectVariant,\n MultiSelectWidth,\n} from './multi-select-defaults';\n\nexport * from './multi-select-defaults';\n\ntype Entry = 'first' | 'last' | 'none';\n\n/**\n * A filtered-out option stays in the DOM and is hidden, so that the element a\n * reader's pointer is over survives a keystroke. It is therefore not part of\n * the result set, and every count and every move has to skip it.\n */\nconst OPTION_SELECTOR = \"[data-part='item']:not([hidden])\";\n\n/**\n * Brings an option into view without moving the page: the nearest scrolling\n * box between the option and the popup surface is scrolled, by the least\n * distance that shows the whole row, and nothing past it. `scrollIntoView`\n * would scroll every ancestor too, and on the first open it runs before the\n * popup is positioned — a control far down a page sent the page to its top.\n */\nfunction revealWithin(option: HTMLElement, surface: HTMLElement) {\n let box: HTMLElement = surface;\n for (\n let node = option.parentElement;\n node !== null && node !== surface;\n node = node.parentElement\n ) {\n const overflow = getComputedStyle(node).overflowY;\n if (overflow === 'auto' || overflow === 'scroll') {\n box = node;\n break;\n }\n }\n const row = option.getBoundingClientRect();\n const top = box.getBoundingClientRect().top + box.clientTop;\n const bottom = top + box.clientHeight;\n if (row.top < top) box.scrollTop -= top - row.top;\n else if (row.bottom > bottom) box.scrollTop += Math.min(row.bottom - bottom, row.top - top);\n}\n\n/** The chips in the row, which are every cell but the one holding the caret. */\nconst CHIP_SELECTOR = \"[data-part='chips'] > [role='gridcell']:not([data-part='field'])\";\n\nconst isGroup = (entry: MultiSelectItems[number]): entry is MultiSelectOptionGroup =>\n 'options' in entry;\n\nconst flatten = (items: MultiSelectItems | undefined): readonly MultiSelectOption[] =>\n items === undefined ? [] : items.flatMap((entry) => (isGroup(entry) ? entry.options : [entry]));\n\nconst same = (a: readonly string[], b: readonly string[]) =>\n a.length === b.length && a.every((value, index) => value === b[index]);\n\n/**\n * A frame of chosen values, with a field that adds more.\n *\n * **The host element is the frame**, as `sl-combobox`'s is: it carries\n * `data-ui`, and the grid, the chips, the field, the counter and the two\n * buttons are its template. The popup is an `ng-template` built into the portal\n * when it opens.\n *\n * **The set is ordered, and the order is the reader's.** It is an array and not\n * a set, because reorder is meaningless against a value the family is free to\n * re-sort.\n *\n * **What is refused is reported, not dropped.** `valueRefuse` carries the\n * values that did not get in and the cause — a duplicate, the limit, or the\n * consumer's own predicate.\n */\n@Component({\n selector: 'sl-multi-select',\n standalone: true,\n exportAs: 'slMultiSelect',\n imports: [SlGlyph, SlIcon],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n /*\n * Three of these belong to other families and are worn as `data-ui` beside\n * this one's own parts: the chips are `tag`s, the mark is `highlight`'s, the\n * ring while an answer travels is `spinner`'s and the waiting rows are\n * `skeleton`'s. A family that renders another's identifier and does not load\n * its sheet draws an element with no rules — the ring measured 0 × 0 on the\n * rendered page before the last two lines existed.\n */\n styleUrls: [\n '../../../styles/src/multi-select/multi-select.css',\n '../../../styles/src/tag/tag.css',\n '../../../styles/src/spinner/spinner.css',\n '../../../styles/src/skeleton/skeleton.css',\n ],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlMultiSelect), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlMultiSelect), multi: true },\n ],\n host: {\n 'data-ui': 'multi-select',\n 'data-part': 'root',\n /* The name is the input's and the listbox's; on the host it would name a\n generic element, which is a role that prohibits one. */\n '[attr.aria-label]': 'null',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-overflow]': 'resolvedOverflow()',\n '[attr.data-full-width]': \"resolvedFullWidth() ? '' : null\",\n '[attr.data-open]': \"isOpen() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() ? '' : null\",\n '[attr.data-required]': \"resolvedRequired() ? '' : null\",\n '[attr.data-loading]': \"loading() ? '' : null\",\n '[attr.data-complete]': \"full() ? '' : null\",\n '[attr.data-narrow]': \"narrow() ? '' : null\",\n },\n template: `\n <div data-part=\"control\" role=\"grid\" [attr.aria-label]=\"gridLabel()\">\n <div data-part=\"chips\" role=\"row\" #row>\n @for (chip of value(); track chip; let index = $index) {\n @if (editingValue() === chip) {\n <span\n role=\"gridcell\"\n data-ui=\"tag\"\n data-part=\"root\"\n data-size=\"sm\"\n data-variant=\"soft\"\n [attr.data-value]=\"chip\"\n >\n <span data-part=\"body\">\n <input\n type=\"text\"\n [attr.aria-label]=\"labelFor(chip) ?? chip\"\n [value]=\"editingText()\"\n (input)=\"onEditInput($event)\"\n (blur)=\"commitEdit(chip, $event)\"\n (keydown)=\"onEditKeyDown(chip, $event)\"\n />\n </span>\n </span>\n } @else {\n <span\n role=\"gridcell\"\n tabindex=\"-1\"\n data-ui=\"tag\"\n data-part=\"root\"\n data-size=\"sm\"\n data-variant=\"soft\"\n [attr.data-value]=\"chip\"\n [attr.data-disabled]=\"frozen() ? '' : null\"\n [attr.aria-label]=\"chipLabel(chip, index)\"\n (keydown)=\"onChipKeyDown(chip, index, $event)\"\n >\n <span data-part=\"body\">\n <span data-part=\"label\">{{ labelFor(chip) ?? chip }}</span>\n </span>\n @if (!frozen()) {\n <button\n type=\"button\"\n tabindex=\"-1\"\n data-part=\"remove\"\n [attr.aria-label]=\"removeLabelFor(chip)\"\n (click)=\"onRemoveClick(chip, $event)\"\n >\n <span slIcon><svg slGlyph name=\"x\"></svg></span>\n </button>\n }\n </span>\n }\n }\n @if (resolvedOverflow() === 'collapse') {\n <span\n #count\n hidden\n role=\"gridcell\"\n tabindex=\"-1\"\n data-count\n data-ui=\"tag\"\n data-part=\"root\"\n data-size=\"sm\"\n data-variant=\"outline\"\n (click)=\"onCountClick($event)\"\n >\n <span data-part=\"body\">\n <span data-part=\"label\">+{{ hiddenCount() }}</span>\n </span>\n </span>\n }\n <span data-part=\"field\" role=\"gridcell\">\n <input\n #control\n type=\"text\"\n role=\"combobox\"\n data-part=\"input\"\n aria-autocomplete=\"list\"\n [id]=\"controlId()\"\n [value]=\"inputValue()\"\n [disabled]=\"resolvedDisabled()\"\n [readOnly]=\"resolvedReadOnly()\"\n [required]=\"resolvedRequired() && value().length === 0\"\n [placeholder]=\"value().length === 0 ? placeholder() : ''\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? contentId : null\"\n [attr.aria-activedescendant]=\"activeDescendant()\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-readonly]=\"resolvedReadOnly() ? true : null\"\n [attr.aria-invalid]=\"resolvedInvalid() ? true : null\"\n (input)=\"onInput($event)\"\n (focus)=\"onFocus()\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (paste)=\"onPaste($event)\"\n (blur)=\"onBlur($event)\"\n />\n </span>\n </div>\n </div>\n\n @if (counterText(); as counter) {\n <span data-part=\"counter\" aria-hidden=\"true\">{{ counter }}</span>\n }\n @if (showClear()) {\n <button\n type=\"button\"\n data-part=\"clear\"\n [attr.aria-label]=\"t('clear')\"\n (click)=\"onClear($event)\"\n >\n <span slIcon><svg slGlyph name=\"x\"></svg></span>\n </button>\n }\n @if (loading()) {\n <span data-part=\"busy\" data-ui=\"spinner\" aria-hidden=\"true\"></span>\n } @else {\n <button\n type=\"button\"\n tabindex=\"-1\"\n data-part=\"trigger\"\n [disabled]=\"resolvedDisabled()\"\n [attr.aria-label]=\"t('trigger')\"\n (click)=\"onToggle($event)\"\n >\n <span data-part=\"arrow\"\n ><span slIcon><svg slGlyph name=\"chevron-down\"></svg></span\n ></span>\n </button>\n }\n\n <!--\n One hidden input per value, all under the same name: that is how a plain\n FormData receives several values under one key and how a native reset()\n restores them.\n -->\n @if (name(); as submissionName) {\n @for (held of value(); track held) {\n <input\n type=\"text\"\n aria-hidden=\"true\"\n tabindex=\"-1\"\n readonly\n [name]=\"submissionName\"\n [attr.form]=\"form() ?? null\"\n [value]=\"held\"\n style=\"\n position: absolute;\n inline-size: 1px;\n block-size: 1px;\n padding: 0;\n border: 0;\n overflow: hidden;\n clip-path: inset(50%);\n white-space: nowrap;\n \"\n />\n }\n }\n\n <ng-template #layer>\n <div\n data-ui=\"multi-select\"\n data-part=\"positioner\"\n [attr.data-align]=\"resolvedAlign()\"\n [attr.data-size]=\"resolvedSize()\"\n [attr.data-width]=\"resolvedWidth()\"\n [attr.data-open]=\"isOpen() ? '' : null\"\n [attr.inert]=\"isOpen() ? null : ''\"\n >\n <div\n data-part=\"content\"\n role=\"listbox\"\n aria-multiselectable=\"true\"\n [id]=\"contentId\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-busy]=\"loading() ? true : null\"\n [attr.data-loading]=\"loading() ? '' : null\"\n >\n @if (value().length > 0) {\n <!--\n Every chosen value, whatever the row in the control did with them.\n Its chips carry no remove control: focus never enters this layer,\n so one would be reachable by pointer and by nothing else.\n -->\n <div data-part=\"chosen\">\n @for (held of value(); track held) {\n <span data-ui=\"tag\" data-part=\"root\" data-size=\"sm\" data-variant=\"soft\">\n <span data-part=\"body\">\n <span data-part=\"label\">{{ labelFor(held) ?? held }}</span>\n </span>\n </span>\n }\n </div>\n }\n <ng-content />\n @if (!loading() && offering(); as query) {\n <div\n role=\"option\"\n data-part=\"item\"\n data-create\n aria-selected=\"false\"\n [attr.data-value]=\"query\"\n [id]=\"optionId(query)\"\n [attr.data-current]=\"highlightedValue() === query ? '' : null\"\n (click)=\"onCreateClick(query, $event)\"\n (pointerdown)=\"onOptionPointerDown($event)\"\n (pointerenter)=\"setHighlighted(query, 'pointer', $event)\"\n >\n <span data-part=\"icon\"></span>\n <span data-part=\"label\">{{ t('create', { query: query }) }}</span>\n <span data-part=\"indicator\"\n ><span slIcon><svg slGlyph name=\"plus\"></svg></span\n ></span>\n </div>\n } @else if (!loading() && optionCount() === 0) {\n <div data-part=\"empty\">{{ t('empty') }}</div>\n }\n @if (loading()) {\n <div data-part=\"placeholder\" aria-hidden=\"true\">\n @for (row of [0, 1, 2]; track row) {\n <div>\n <span data-ui=\"skeleton\" data-part=\"root\" data-shape=\"text\" data-loading></span>\n </div>\n }\n </div>\n }\n <div\n data-part=\"status\"\n role=\"status\"\n aria-live=\"polite\"\n [attr.data-loading]=\"loading() ? '' : null\"\n >\n {{ statusMessage() }}\n </div>\n </div>\n </div>\n </ng-template>\n `,\n})\nexport class SlMultiSelect implements ControlValueAccessor, OnInit, Validator {\n private static readonly flag = (given: boolean | string | undefined) =>\n given === undefined ? undefined : booleanAttribute(given);\n private static readonly count = (given: number | string | undefined) =>\n given === undefined ? undefined : numberAttribute(given);\n\n /** The chosen values, in the order the reader chose them. */\n readonly value = model<readonly MultiSelectOptionValue[]>([]);\n readonly valueChangeRequest = output<ChangeRequest<readonly MultiSelectOptionValue[]>>();\n /** What an unbound `value` starts from, read once. */\n readonly defaultValue = input<readonly MultiSelectOptionValue[] | undefined>(undefined);\n\n /** The characters in the field, which are not the chosen values. */\n readonly inputValue = model<string>('');\n readonly inputValueChangeRequest = output<ChangeRequest<string>>();\n\n readonly open = model<boolean>(false);\n readonly openChangeRequest = output<ChangeRequest<boolean>>();\n\n readonly highlightedValue = model<MultiSelectOptionValue | null>(null);\n readonly highlightedValueChangeRequest = output<ChangeRequest<MultiSelectOptionValue | null>>();\n\n /** What the family refused, and why. It holds no state and cancels nothing. */\n readonly valueRefuse = output<{\n values: readonly MultiSelectOptionValue[];\n cause: MultiSelectRefuseCause;\n }>();\n\n /** The last option came into view; the consumer fetches the next page. */\n readonly loadMore = output<void>();\n\n readonly ariaLabel = input<string | undefined>(undefined, { alias: 'aria-label' });\n readonly placeholder = input<string>('');\n readonly name = input<string | undefined>(undefined);\n readonly form = input<string | undefined>(undefined);\n readonly items = input<MultiSelectItems | undefined>(undefined);\n readonly total = input(undefined, { transform: SlMultiSelect.count });\n /**\n * BCP 47, for the comparison the default filter and the duplicate rule make.\n * The language in force when absent.\n */\n readonly locale = input<string | undefined>(undefined);\n readonly filter = input<MultiSelectFilter | undefined>(undefined);\n readonly validateValue = input<MultiSelectValidator | undefined>(undefined);\n readonly delimiters = input<readonly string[] | undefined>(undefined);\n readonly max = input(undefined, { transform: SlMultiSelect.count });\n\n readonly size = input<MultiSelectSize | undefined>(undefined);\n readonly variant = input<MultiSelectVariant | undefined>(undefined);\n readonly side = input<MultiSelectSide | undefined>(undefined);\n readonly align = input<MultiSelectAlign | undefined>(undefined);\n readonly width = input<MultiSelectWidth | undefined>(undefined);\n readonly mount = input<MultiSelectMount | undefined>(undefined);\n readonly strategy = input<MultiSelectStrategy | undefined>(undefined);\n readonly openOn = input<MultiSelectOpenOn | undefined>(undefined);\n readonly overflow = input<MultiSelectOverflow | undefined>(undefined);\n readonly chosenOptions = input<MultiSelectChosenOptions | undefined>(undefined);\n\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * buttons, the chips, the counter, the offer to add, and the sentences.\n */\n readonly messages = input<PartialMessages<MultiSelectMessages> | undefined>(undefined);\n\n readonly sideOffset = input(undefined, { transform: SlMultiSelect.count });\n readonly alignOffset = input(undefined, { transform: SlMultiSelect.count });\n readonly collisionPadding = input(undefined, { transform: SlMultiSelect.count });\n\n readonly addOnPaste = input(undefined, { transform: SlMultiSelect.flag });\n readonly allowDuplicates = input(undefined, { transform: SlMultiSelect.flag });\n readonly commitOnBlur = input(undefined, { transform: SlMultiSelect.flag });\n readonly creatable = input(undefined, { transform: SlMultiSelect.flag });\n readonly editable = input(undefined, { transform: SlMultiSelect.flag });\n readonly reorderable = input(undefined, { transform: SlMultiSelect.flag });\n readonly highlightMatch = input(undefined, { transform: SlMultiSelect.flag });\n readonly clearable = input(undefined, { transform: SlMultiSelect.flag });\n readonly loop = input(undefined, { transform: SlMultiSelect.flag });\n readonly closeOnSelect = input(undefined, { transform: SlMultiSelect.flag });\n readonly closeOnEscape = input(undefined, { transform: SlMultiSelect.flag });\n readonly closeOnOutsidePress = input(undefined, { transform: SlMultiSelect.flag });\n readonly flip = input(undefined, { transform: SlMultiSelect.flag });\n readonly shift = input(undefined, { transform: SlMultiSelect.flag });\n readonly hideWhenDetached = input(undefined, { transform: SlMultiSelect.flag });\n readonly portal = input(undefined, { transform: SlMultiSelect.flag });\n readonly fullWidth = input(undefined, { transform: SlMultiSelect.flag });\n readonly disabled = input(undefined, { transform: SlMultiSelect.flag });\n readonly readOnly = input(undefined, { transform: SlMultiSelect.flag });\n readonly required = input(undefined, { transform: SlMultiSelect.flag });\n readonly invalid = input(undefined, { transform: SlMultiSelect.flag });\n readonly loading = input(false, { transform: booleanAttribute });\n\n private readonly defaults = injectMultiSelectDefaults();\n /** The family's words in the language in force, with this control's `messages` laid over them. */\n readonly t = injectMessages(multiSelectMessages, this.messages);\n private readonly inForceLocale = injectLocale();\n /** The locale the filter and the duplicate rule compare in: the `locale` input, or the language in force. */\n readonly resolvedLocale = computed(() => this.locale() ?? this.inForceLocale());\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly host = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly injector = inject(Injector);\n private readonly template = viewChild.required<TemplateRef<unknown>>('layer');\n private readonly controlRef = viewChild.required<{ nativeElement: HTMLInputElement }>('control');\n private readonly rowRef = viewChild.required<{ nativeElement: HTMLElement }>('row');\n private readonly countRef = viewChild<{ nativeElement: HTMLElement }>('count');\n\n readonly field = inject(SlField, { optional: true });\n\n private readonly identifier = Math.random().toString(36).slice(2, 8);\n readonly contentId = `sl-multi-select-${this.identifier}`;\n private readonly ownId = `sl-multi-select-input-${this.identifier}`;\n\n private readonly registry = signal(new Map<MultiSelectOptionValue, string>());\n readonly optionCount = signal(0);\n readonly hiddenCount = signal(0);\n readonly narrow = signal(false);\n readonly editingValue = signal<MultiSelectOptionValue | null>(null);\n readonly editingText = signal('');\n private entry: Entry = 'none';\n\n private view: EmbeddedViewRef<unknown> | null = null;\n private layerNode: HTMLElement | null = null;\n private surfaceNode: HTMLElement | null = null;\n private portalRoot: PortalRootHandle | null = null;\n private positioner: PositionerHandle | null = null;\n private layer: DismissableLayerHandle | null = null;\n private presence: PresenceHandle | null = null;\n private observer: IntersectionObserver | null = null;\n private ring: ArrowNavigationHandle | null = null;\n private removal: RemovalFocusHandle | null = null;\n private collapse: CollapseHandle | null = null;\n private gate: WidthGateHandle | null = null;\n private disabledByForm = signal<boolean | undefined>(undefined);\n\n private readonly hostId = inject(new HostAttributeToken('id'), { optional: true });\n\n private onChange: (value: readonly MultiSelectOptionValue[]) => void = () => undefined;\n private onTouched: () => void = () => undefined;\n\n readonly resolvedSize = computed(() => this.size() ?? this.field?.size() ?? this.defaults.size);\n readonly resolvedVariant = computed(() => this.variant() ?? this.defaults.variant);\n readonly resolvedAlign = computed(() => this.align() ?? this.defaults.align);\n readonly resolvedSide = computed(() => this.side() ?? this.defaults.side);\n readonly resolvedWidth = computed(() => this.width() ?? this.defaults.width);\n readonly resolvedMount = computed(() => this.mount() ?? this.defaults.mount);\n readonly resolvedOpenOn = computed(() => this.openOn() ?? this.defaults.openOn);\n readonly resolvedOverflow = computed(() => this.overflow() ?? this.defaults.overflow);\n readonly resolvedChosenOptions = computed(\n () => this.chosenOptions() ?? this.defaults.chosenOptions,\n );\n readonly resolvedLoop = computed(() => this.loop() ?? this.defaults.loop);\n readonly resolvedClearable = computed(() => this.clearable() ?? this.defaults.clearable);\n readonly resolvedFullWidth = computed(() => this.fullWidth() ?? this.defaults.fullWidth);\n readonly resolvedCreatable = computed(() => this.creatable() ?? this.defaults.creatable);\n readonly resolvedEditable = computed(() => this.editable() ?? this.defaults.editable);\n readonly resolvedReorderable = computed(() => this.reorderable() ?? this.defaults.reorderable);\n readonly resolvedAddOnPaste = computed(() => this.addOnPaste() ?? this.defaults.addOnPaste);\n readonly resolvedCommitOnBlur = computed(() => this.commitOnBlur() ?? this.defaults.commitOnBlur);\n readonly resolvedAllowDuplicates = computed(\n () => this.allowDuplicates() ?? this.defaults.allowDuplicates,\n );\n readonly resolvedDelimiters = computed(() => this.delimiters() ?? this.defaults.delimiters);\n readonly resolvedMax = computed(() => this.max() ?? this.defaults.max);\n readonly resolvedCloseOnSelect = computed(\n () => this.closeOnSelect() ?? this.defaults.closeOnSelect,\n );\n readonly resolvedHighlightMatch = computed(\n () => this.highlightMatch() ?? this.defaults.highlightMatch,\n );\n\n readonly resolvedDisabled = computed(\n () =>\n this.disabled() ?? this.disabledByForm() ?? this.field?.disabled() ?? this.defaults.disabled,\n );\n readonly resolvedReadOnly = computed(\n () => this.readOnly() ?? this.field?.readOnly() ?? this.defaults.readOnly,\n );\n readonly resolvedRequired = computed(\n () => this.required() ?? this.field?.required() ?? this.defaults.required,\n );\n readonly resolvedInvalid = computed(\n () => this.invalid() ?? this.field?.invalid() ?? this.defaults.invalid,\n );\n\n readonly isOpen = computed(() => this.open() && !this.resolvedDisabled());\n readonly controlId = computed(() => this.hostId ?? this.field?.ids().control ?? this.ownId);\n readonly describedBy = computed(() => this.field?.describedBy() ?? null);\n /** The set has reached `max` and takes nothing more. */\n readonly full = computed(() => {\n const limit = this.resolvedMax();\n return limit !== null && this.value().length >= limit;\n });\n readonly frozen = computed(() => this.resolvedReadOnly() || this.resolvedDisabled());\n\n private readonly declared = computed(() => {\n const table = new Map<MultiSelectOptionValue, string>();\n for (const option of flatten(this.items())) table.set(option.value, option.label);\n return table;\n });\n\n /** The query is the typed text: unlike a combobox's, committing empties it. */\n readonly query = computed(() => this.inputValue());\n\n private readonly collator = computed<Filter>(() =>\n createFilter({ locale: this.resolvedLocale() }),\n );\n\n readonly showClear = computed(\n () =>\n this.resolvedClearable() &&\n (this.value().length > 0 || this.inputValue() !== '') &&\n !this.resolvedDisabled() &&\n !this.resolvedReadOnly(),\n );\n\n readonly gridLabel = computed(() => this.t('chosen', { count: this.value().length }));\n\n readonly counterText = computed(() => {\n const limit = this.resolvedMax();\n if (limit !== null) {\n return this.t('counter', { count: this.value().length, max: limit });\n }\n if (this.narrow() && this.value().length > 0) return this.gridLabel();\n return null;\n });\n\n readonly activeDescendant = computed(() => {\n const held = this.highlightedValue();\n return this.isOpen() && held !== null ? this.optionId(held) : null;\n });\n\n /**\n * The offer to add what was typed: while the consumer allows one, the reader\n * typed something, nothing matched, and there is room to take it. A full\n * control refuses every value, so an offer there is one the next press turns\n * down.\n */\n readonly offering = computed(() =>\n this.resolvedCreatable() &&\n !this.full() &&\n this.query().trim() !== '' &&\n this.optionCount() === 0\n ? this.query()\n : null,\n );\n\n readonly statusMessage = computed(() => {\n if (this.loading()) return this.t('loading');\n const count = this.optionCount();\n return count === 0 ? '' : this.t('count', { count });\n });\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n\n effect(() => {\n const open = this.isOpen();\n untracked(() => (open ? this.show() : this.hide()));\n });\n\n afterNextRender(() => {\n this.bindRow();\n if (this.resolvedMount() === 'eager' && !this.isOpen()) this.build();\n });\n\n /* A value arriving or leaving changes what there is to fit, and which cells\n the ring walks. */\n afterRenderEffect(() => {\n this.value();\n this.resolvedOverflow();\n untracked(() => {\n this.ring?.refresh();\n this.collapse?.refresh();\n });\n });\n\n destroyRef.onDestroy(() => {\n this.teardown();\n this.ring?.destroy();\n this.removal?.destroy();\n this.collapse?.destroy();\n this.gate?.destroy();\n });\n }\n\n ngOnInit() {\n const seed = this.defaultValue();\n if (seed === undefined || this.value().length > 0) return;\n this.value.set([...seed]);\n }\n\n optionId(value: MultiSelectOptionValue): string {\n return `${this.contentId}-option-${encodeURIComponent(value)}`;\n }\n\n labelFor(value: MultiSelectOptionValue): string | undefined {\n return this.declared().get(value) ?? this.registry().get(value);\n }\n\n registerLabel(value: MultiSelectOptionValue, label: string) {\n if (this.registry().get(value) === label) return;\n const next = new Map(this.registry());\n next.set(value, label);\n this.registry.set(next);\n }\n\n protected removeLabelFor(value: MultiSelectOptionValue) {\n return this.t('remove', { label: this.labelFor(value) ?? value });\n }\n\n protected chipLabel(value: MultiSelectOptionValue, index: number) {\n if (!this.resolvedReorderable()) return null;\n return this.t('reorder', {\n label: this.labelFor(value) ?? value,\n position: index + 1,\n count: this.value().length,\n });\n }\n\n matches(label: string): boolean {\n const query = this.query();\n const given = this.filter();\n if (query === '' || given === null) return true;\n if (given !== undefined) return given(label, query);\n return this.collator().contains(label, query);\n }\n\n /** Whether an option may be taken: a full control refuses what it does not hold. */\n refuses(value: MultiSelectOptionValue): boolean {\n return this.full() && !this.value().includes(value);\n }\n\n recount() {\n this.optionCount.set(\n this.options().filter((option) => option.dataset['create'] === undefined).length,\n );\n this.dropStaleHighlight();\n }\n\n options(): HTMLElement[] {\n return [...(this.surfaceNode?.querySelectorAll<HTMLElement>(OPTION_SELECTOR) ?? [])];\n }\n\n focus() {\n this.controlRef().nativeElement.focus({ preventScroll: true });\n }\n\n scrollToKey(value: MultiSelectOptionValue) {\n const option = this.options().find((candidate) => candidate.dataset['value'] === value);\n if (option !== undefined && this.surfaceNode !== null) revealWithin(option, this.surfaceNode);\n }\n\n private announce(message: string) {\n if (message === '') return;\n getLiveAnnouncer(this.host.nativeElement.ownerDocument).announce(message, { repeat: true });\n }\n\n setOpen(next: boolean, reason: MultiSelectOpenReason, source?: Event) {\n if (next === this.isOpen()) return;\n const state = createControllable<boolean>({\n initial: this.isOpen(),\n onRequest: (request) => this.openChangeRequest.emit(request),\n });\n if (!state.request(next, reason, source)) return;\n this.open.set(next);\n if (!next) {\n this.highlightedValue.set(null);\n this.entry = 'none';\n }\n }\n\n setHighlighted(\n next: MultiSelectOptionValue | null,\n reason: MultiSelectHighlightReason,\n source?: Event,\n ) {\n if (next === this.highlightedValue()) return;\n const state = createControllable<MultiSelectOptionValue | null>({\n initial: this.highlightedValue(),\n onRequest: (request) => this.highlightedValueChangeRequest.emit(request),\n });\n if (state.request(next, reason, source)) {\n this.highlightedValue.set(next);\n if (next !== null) this.scrollToKey(next);\n }\n }\n\n setInputValue(next: string, reason: MultiSelectInputReason, source?: Event) {\n if (next === this.inputValue()) return;\n const state = createControllable<string>({\n initial: this.inputValue(),\n onRequest: (request) => this.inputValueChangeRequest.emit(request),\n });\n if (!state.request(next, reason, source)) return;\n this.inputValue.set(next);\n /* The binding writes the input at the next render, and a key that arrives\n before it types into what the browser still holds: a commit left its\n text in the input, and the next character joined it. */\n const element = this.host.nativeElement.querySelector<HTMLInputElement>(\"[data-part='input']\");\n if (element !== null && element.value !== next) element.value = next;\n }\n\n /** One request for one transition, whatever moved the set. */\n private commit(next: readonly string[], reason: MultiSelectValueReason, source?: Event) {\n if (same(next, this.value())) return false;\n const state = createControllable<readonly MultiSelectOptionValue[]>({\n initial: this.value(),\n onRequest: (request) => this.valueChangeRequest.emit(request),\n });\n if (!state.request(next, reason, source)) return false;\n this.value.set(next);\n this.onChange(next);\n this.onTouched();\n return true;\n }\n\n /**\n * Every candidate judged against the set it would join, in order. It returns\n * the set that survived rather than committing one, so a value arriving and a\n * value edited in place apply one rule and cannot drift apart.\n */\n private judge(candidates: readonly string[], held: readonly string[]) {\n const next = [...held];\n const refused: Record<MultiSelectRefuseCause, string[]> = {\n duplicate: [],\n limit: [],\n invalid: [],\n };\n let existing: MultiSelectOptionValue | null = null;\n const validate = this.validateValue();\n const collator = this.collator();\n const limit = this.resolvedMax();\n\n for (const candidate of candidates) {\n const text = candidate.trim();\n if (text === '') continue;\n\n if (validate !== undefined && !validate(text, next)) {\n refused.invalid.push(text);\n continue;\n }\n\n if (!this.resolvedAllowDuplicates()) {\n const twin = next.find(\n (value) =>\n value === text ||\n collator.equals(value, text) ||\n collator.equals(this.labelFor(value) ?? value, text),\n );\n if (twin !== undefined) {\n refused.duplicate.push(text);\n existing ??= twin;\n continue;\n }\n }\n\n if (limit !== null && next.length >= limit) {\n refused.limit.push(text);\n continue;\n }\n\n next.push(text);\n }\n\n return { existing, next, refused };\n }\n\n private report(\n refused: Record<MultiSelectRefuseCause, string[]>,\n existing: MultiSelectOptionValue | null,\n ) {\n for (const cause of ['duplicate', 'limit', 'invalid'] as const) {\n if (refused[cause].length === 0) continue;\n this.valueRefuse.emit({ values: refused[cause], cause });\n }\n\n /* A duplicate is answered by the chip that already holds it taking focus;\n the other two have nothing to point at, so they are said. */\n if (existing !== null) this.focusChip(existing);\n const limit = this.resolvedMax();\n if (refused.limit.length > 0 && limit !== null)\n this.announce(this.t('counter', { count: limit, max: limit }));\n }\n\n /** The one door into the set. */\n admit(candidates: readonly string[], reason: MultiSelectValueReason, source?: Event) {\n const held = this.value();\n const { existing, next, refused } = this.judge(candidates, held);\n if (next.length > held.length) this.commit(next, reason, source);\n this.report(refused, existing);\n }\n\n /**\n * One value edited in place, which is one transition and not a removal\n * followed by an addition — and judged against the set *without* it, or every\n * edit is a duplicate of itself.\n */\n replace(target: MultiSelectOptionValue, text: string, source?: Event) {\n const held = this.value();\n const index = held.indexOf(target);\n if (index === -1) return;\n if (text.trim() === '' || text === target) return;\n\n const without = held.filter((value) => value !== target);\n const { existing, next, refused } = this.judge([text], without);\n if (next.length > without.length) {\n const taken = next[next.length - 1] as string;\n const ordered = [...without];\n ordered.splice(index, 0, taken);\n this.commit(ordered, 'submit', source);\n }\n this.report(refused, existing);\n }\n\n remove(target: MultiSelectOptionValue, source?: Event) {\n const held = this.value();\n const next = held.filter((value) => value !== target);\n if (next.length === held.length) return;\n if (this.commit(next, 'remove', source)) {\n this.announce(`${this.labelFor(target) ?? target}, ${next.length}`);\n }\n }\n\n toggle(target: MultiSelectOptionValue, reason: MultiSelectValueReason, source?: Event) {\n if (this.value().includes(target)) {\n this.remove(target, source);\n return;\n }\n this.admit([target], reason, source);\n }\n\n clear(source?: Event) {\n this.commit([], 'clear', source);\n this.setInputValue('', 'clear', source);\n }\n\n /** Reorder, and the only shape it has: one value moving to one index. */\n move(from: number, to: number, source?: Event) {\n const held = this.value();\n if (from < 0 || from >= held.length) return;\n const target = Math.min(Math.max(to, 0), held.length - 1);\n if (target === from) return;\n\n const next = [...held];\n const [moved] = next.splice(from, 1);\n next.splice(target, 0, moved as string);\n if (!this.commit(next, 'keyboard', source)) return;\n this.announce(`${this.labelFor(moved as string) ?? moved}, ${target + 1}, ${next.length}`);\n /* The chip travelled with the reader's focus; the ring has to be told the\n cells moved under it. After the render rather than after a microtask:\n a browser runs microtasks first, and the chip has not moved yet. */\n this.afterRender(() => {\n this.ring?.refresh();\n this.focusChip(moved as string);\n });\n }\n\n private chips(): HTMLElement[] {\n return [...this.host.nativeElement.querySelectorAll<HTMLElement>(CHIP_SELECTOR)];\n }\n\n /** Runs once the change in hand has reached the DOM. */\n private afterRender(callback: () => void) {\n afterNextRender(callback, { injector: this.injector });\n }\n\n private focusChip(value: MultiSelectOptionValue) {\n const chip = this.chips().find((candidate) => candidate.dataset['value'] === value);\n chip?.focus({ preventScroll: true });\n }\n\n private splitText(text: string): string[] {\n const delimiters = this.resolvedDelimiters();\n if (delimiters.length === 0) return [text];\n const pattern = new RegExp(\n `[${delimiters.map((mark) => mark.replace(/[.*+?^${}()|[\\]\\\\-]/g, '\\\\$&')).join('')}]`,\n );\n return text.split(pattern);\n }\n\n /** The typed text, committed as one or several values. */\n private commitQuery(source?: Event) {\n if (!this.resolvedCreatable()) return false;\n const text = this.inputValue();\n if (text.trim() === '') return false;\n this.admit(this.splitText(text), 'submit', source);\n this.setInputValue('', 'submit', source);\n return true;\n }\n\n protected onInput(event: Event) {\n const next = (event.target as HTMLInputElement).value;\n this.setInputValue(next, 'keyboard', event);\n if (\n this.resolvedOpenOn() !== 'manual' &&\n !this.isOpen() &&\n !this.resolvedReadOnly() &&\n next !== ''\n ) {\n this.entry = 'none';\n this.setOpen(true, 'keyboard', event);\n } else {\n this.recount();\n }\n }\n\n protected onFocus() {\n if (this.resolvedOpenOn() !== 'focus' || this.isOpen()) return;\n if (this.resolvedDisabled() || this.resolvedReadOnly()) return;\n this.entry = 'none';\n this.setOpen(true, 'keyboard');\n }\n\n /* A press on the input opens a closed popup and never closes an open one,\n because the same press places the caret. Under `focus` the press has\n already opened it through focus, so this finds it open. */\n protected onClick(event: MouseEvent) {\n if (event.defaultPrevented || this.resolvedOpenOn() === 'manual' || this.isOpen()) return;\n if (this.resolvedDisabled() || this.resolvedReadOnly()) return;\n this.entry = 'none';\n this.setOpen(true, 'pointer', event);\n }\n\n protected onEditInput(event: Event) {\n this.editingText.set((event.target as HTMLInputElement).value);\n }\n\n protected onEditKeyDown(value: MultiSelectOptionValue, event: KeyboardEvent) {\n if (event.key === 'Enter') {\n event.preventDefault();\n this.commitEdit(value, event);\n return;\n }\n if (event.key === 'Escape') {\n event.preventDefault();\n this.editingValue.set(null);\n this.afterRender(() => this.focusChip(value));\n }\n }\n\n protected commitEdit(value: MultiSelectOptionValue, event: Event) {\n if (this.editingValue() !== value) return;\n const text = this.editingText();\n this.editingValue.set(null);\n this.replace(value, text, event);\n this.afterRender(() => this.focusChip(text.trim() === '' ? value : text.trim()));\n }\n\n protected onPaste(event: ClipboardEvent) {\n if (!this.resolvedAddOnPaste() || !this.resolvedCreatable() || this.resolvedReadOnly()) return;\n const text = event.clipboardData?.getData('text') ?? '';\n const parts = this.splitText(text).filter((part) => part.trim() !== '');\n if (parts.length < 2) return;\n event.preventDefault();\n this.admit(parts, 'submit', event);\n this.setInputValue('', 'submit', event);\n }\n\n protected onBlur(event: FocusEvent) {\n this.onTouched();\n const next = event.relatedTarget;\n if (next instanceof Node && this.surfaceNode?.contains(next) === true) return;\n if (next instanceof Node && this.host.nativeElement.contains(next)) return;\n const began = pressOrigin(this.controlRef().nativeElement.ownerDocument);\n if (began instanceof Node && this.surfaceNode?.contains(began) === true) return;\n\n if (this.resolvedCommitOnBlur()) this.commitQuery(event);\n if (this.isOpen()) this.setOpen(false, 'blur', event);\n }\n\n protected onClear(event: MouseEvent) {\n this.clear(event);\n this.focus();\n }\n\n protected onRemoveClick(value: MultiSelectOptionValue, event: MouseEvent) {\n event.stopPropagation();\n this.remove(value, event);\n }\n\n protected onCountClick(event: MouseEvent) {\n this.setOpen(true, 'pointer', event);\n }\n\n protected onToggle(event: MouseEvent) {\n if (this.resolvedDisabled() || this.resolvedReadOnly()) return;\n this.entry = 'none';\n this.setOpen(!this.isOpen(), 'pointer', event);\n this.focus();\n }\n\n protected onKeyDown(event: KeyboardEvent) {\n if (this.resolvedDisabled()) return;\n const alt = event.altKey;\n\n if (this.resolvedDelimiters().includes(event.key) && !alt) {\n event.preventDefault();\n this.commitQuery(event);\n return;\n }\n\n switch (event.key) {\n case 'ArrowDown':\n if (this.resolvedReadOnly()) return;\n event.preventDefault();\n if (!this.isOpen()) this.openWith(alt ? 'none' : 'first', event);\n else if (!alt) this.moveHighlight('next', event);\n return;\n case 'ArrowUp':\n if (this.resolvedReadOnly()) return;\n event.preventDefault();\n if (alt) this.setOpen(false, 'keyboard', event);\n else if (!this.isOpen()) this.openWith('last', event);\n else this.moveHighlight('previous', event);\n return;\n case 'PageDown':\n if (!this.isOpen()) return;\n event.preventDefault();\n this.moveHighlight('pageDown', event);\n return;\n case 'PageUp':\n if (!this.isOpen()) return;\n event.preventDefault();\n this.moveHighlight('pageUp', event);\n return;\n case 'Enter': {\n const held = this.highlightedValue();\n if (held !== null) {\n event.preventDefault();\n if (held === this.offering()) this.commitQuery(event);\n else {\n this.toggle(held, 'select', event);\n this.setInputValue('', 'select', event);\n if (this.resolvedCloseOnSelect()) this.setOpen(false, 'select', event);\n }\n return;\n }\n if (this.commitQuery(event)) event.preventDefault();\n return;\n }\n case 'Escape':\n if (this.isOpen()) {\n event.preventDefault();\n this.setOpen(false, 'escape', event);\n return;\n }\n if (this.inputValue() === '') return;\n event.preventDefault();\n this.setInputValue('', 'clear', event);\n return;\n case 'Backspace': {\n /* §6's rule: from an empty field the first press moves focus to the\n last chip and removes nothing, and the second — which lands on the\n chip — removes it. */\n if (this.inputValue() !== '') return;\n const element = event.target as HTMLInputElement;\n if (element.selectionStart !== 0) return;\n if (this.resolvedReadOnly() || this.value().length === 0) return;\n const last = this.chips().at(-1);\n if (last === undefined) return;\n event.preventDefault();\n last.focus({ preventScroll: true });\n return;\n }\n case 'Tab':\n if (this.isOpen()) this.setOpen(false, 'dismiss', event);\n return;\n default:\n /* Every other key is the browser's, which the pattern asks for by name. */\n break;\n }\n }\n\n protected onChipKeyDown(value: MultiSelectOptionValue, index: number, event: KeyboardEvent) {\n if (event.defaultPrevented) return;\n\n switch (event.key) {\n case 'Delete':\n case 'Backspace':\n if (this.frozen()) return;\n event.preventDefault();\n this.remove(value, event);\n return;\n case 'Enter':\n if (this.frozen() || !this.resolvedEditable()) return;\n event.preventDefault();\n this.editingText.set(this.labelFor(value) ?? value);\n this.editingValue.set(value);\n this.afterRender(() => {\n const field = this.host.nativeElement.querySelector<HTMLInputElement>(\n `[data-value=\"${CSS.escape(value)}\"] input`,\n );\n field?.focus({ preventScroll: true });\n });\n return;\n case 'Escape':\n event.preventDefault();\n this.focus();\n return;\n default:\n break;\n }\n\n /* Reorder. `Alt` and an arrow, following the writing direction. */\n if (this.resolvedReorderable() && event.altKey && !this.frozen()) {\n const rtl =\n this.host.nativeElement.ownerDocument.defaultView?.getComputedStyle(this.host.nativeElement)\n .direction === 'rtl';\n const forward = rtl ? 'ArrowLeft' : 'ArrowRight';\n const back = rtl ? 'ArrowRight' : 'ArrowLeft';\n if (event.key === forward) {\n event.preventDefault();\n this.move(index, index + 1, event);\n return;\n }\n if (event.key === back) {\n event.preventDefault();\n this.move(index, index - 1, event);\n return;\n }\n if (event.key === 'Home') {\n event.preventDefault();\n this.move(index, 0, event);\n return;\n }\n if (event.key === 'End') {\n event.preventDefault();\n this.move(index, this.value().length - 1, event);\n return;\n }\n }\n\n /* The grid pattern's alphanumeric branch: a printable character on a cell\n holding editable content takes focus into its field and types there. */\n if (event.key.length === 1 && !event.ctrlKey && !event.metaKey && !event.altKey) {\n this.focus();\n }\n }\n\n protected onOptionPointerDown(event: PointerEvent) {\n if (event.defaultPrevented) return;\n event.preventDefault();\n }\n\n protected onCreateClick(query: string, event: MouseEvent) {\n this.admit(this.splitText(query), 'submit', event);\n this.setInputValue('', 'submit', event);\n this.focus();\n }\n\n private openWith(entry: Entry, event: Event) {\n this.entry = entry;\n this.setOpen(true, 'keyboard', event);\n }\n\n private moveHighlight(intent: MoveIntent, event?: Event) {\n const list = this.options();\n if (list.length === 0) return;\n const held = this.highlightedValue();\n const index = moveIndex({\n enabled: list.map(\n (option) =>\n option.dataset['disabled'] === undefined &&\n option.getAttribute('aria-disabled') !== 'true',\n ),\n from: held === null ? -1 : list.findIndex((option) => option.dataset['value'] === held),\n intent,\n loop: this.resolvedLoop(),\n });\n if (index !== -1) this.setHighlighted(list[index]?.dataset['value'] ?? null, 'keyboard', event);\n }\n\n private dropStaleHighlight() {\n const held = this.highlightedValue();\n if (held === null || held === this.offering()) return;\n const kept = this.options().some((option) => option.dataset['value'] === held);\n if (!kept) this.setHighlighted(null, 'keyboard');\n }\n\n /**\n * The ring over the cells, the removal rule, the collapse and the width gate.\n * All four belong to the row rather than to the layer, so they are bound once\n * and outlive every open.\n */\n private bindRow() {\n const row = this.rowRef().nativeElement;\n\n this.ring = createArrowNavigation(row, {\n itemSelector: `${CHIP_SELECTOR}, [data-part='field'] > [data-part='input']`,\n loop: false,\n /* The field keeps the caret keys while there is anything to move the\n caret through, and gives them up when the query is empty. */\n ownedKeys: (item) =>\n item instanceof HTMLInputElement && item.value !== ''\n ? ['ArrowLeft', 'ArrowRight', 'Home', 'End']\n : [],\n });\n\n this.removal = createRemovalFocus(row, {\n fallback: () => this.controlRef().nativeElement,\n itemSelector: CHIP_SELECTOR,\n });\n\n this.gate = createWidthGate(this.host.nativeElement, {\n at: 120,\n onChange: (narrow) => this.narrow.set(narrow),\n });\n\n this.collapse = createCollapse(row, {\n collapsible: () => this.resolvedOverflow() === 'collapse',\n onChange: (units) => this.hiddenCount.set(Math.max(units.length, 1)),\n trigger: () => this.countRef()?.nativeElement ?? null,\n /* The counting chip is the trigger, never a unit: measured as one, it\n counted itself and stood one too high, and was collapsed into itself. */\n units: () =>\n [...row.querySelectorAll<HTMLElement>(CHIP_SELECTOR)].filter(\n (unit) => !unit.hasAttribute('data-count'),\n ),\n });\n }\n\n private show() {\n this.build();\n this.position();\n this.bind();\n this.enter();\n }\n\n private build() {\n if (this.view !== null) {\n this.presence?.sync(this.isOpen());\n this.view.detectChanges();\n return;\n }\n\n this.portalRoot = createPortalRoot({\n origin: this.host.nativeElement,\n disabled: this.portal() === false,\n });\n\n this.view = this.viewContainer.createEmbeddedView(this.template());\n this.view.detectChanges();\n\n this.layerNode = this.view.rootNodes.find(\n (node: unknown): node is HTMLElement => node instanceof HTMLElement,\n ) as HTMLElement | null;\n this.surfaceNode = this.layerNode?.querySelector<HTMLElement>(\"[data-part='content']\") ?? null;\n if (this.layerNode === null) return;\n\n this.portalRoot.container?.append(this.layerNode);\n this.presence = createPresence({ present: this.isOpen() });\n this.presence.setNode(this.layerNode);\n }\n\n private position() {\n if (this.layerNode === null) return;\n\n this.positioner?.destroy();\n this.positioner = createPositioner(this.host.nativeElement, this.layerNode, {\n align: this.resolvedAlign(),\n alignOffset: this.alignOffset() ?? this.defaults.alignOffset,\n boundaryPadding: this.collisionPadding() ?? this.defaults.collisionPadding,\n flip: this.flip() ?? this.defaults.flip,\n hideWhenDetached: this.hideWhenDetached() ?? this.defaults.hideWhenDetached,\n matchWidth: this.resolvedWidth() === 'anchor',\n shift: this.shift() ?? this.defaults.shift,\n side: this.resolvedSide(),\n sideOffset: this.sideOffset() ?? this.defaults.sideOffset,\n strategy: this.strategy() ?? this.defaults.strategy,\n });\n /* The height that bounds the list arrives with the position, after the\n highlight has landed, so the highlighted row is revealed again. */\n void this.positioner.update().then(() => {\n const held = this.highlightedValue();\n if (held !== null) this.scrollToKey(held);\n });\n }\n\n private bind() {\n if (this.layerNode === null) return;\n\n this.layer = createDismissableLayer(this.layerNode, {\n branches: [this.host.nativeElement],\n escape: this.closeOnEscape() ?? this.defaults.closeOnEscape,\n focusOutside: false,\n modal: false,\n outsidePress: this.closeOnOutsidePress() ?? this.defaults.closeOnOutsidePress,\n scrollLock: false,\n onDismiss: (request) => {\n this.setOpen(\n false,\n request.reason === 'escape' ? 'escape' : 'outsidePress',\n request.source as Event | undefined,\n );\n },\n });\n\n this.observeEnd();\n }\n\n private observeEnd() {\n this.observer?.disconnect();\n this.observer = null;\n const root = this.surfaceNode;\n if (root === null || typeof IntersectionObserver !== 'function') return;\n const last = this.options().at(-1);\n if (last === undefined) return;\n\n this.observer = new IntersectionObserver(\n (entries) => {\n if (entries.some((entry) => entry.isIntersecting)) this.loadMore.emit();\n },\n { root },\n );\n this.observer.observe(last);\n }\n\n private enter() {\n this.recount();\n if (this.entry === 'none') return;\n this.moveHighlight(this.entry);\n this.entry = 'none';\n }\n\n private hide() {\n this.unbind();\n if (this.resolvedMount() === 'active') this.teardown();\n }\n\n private unbind() {\n this.layer?.destroy();\n this.positioner?.destroy();\n this.observer?.disconnect();\n this.layer = null;\n this.positioner = null;\n this.observer = null;\n }\n\n private teardown() {\n this.unbind();\n this.presence?.destroy();\n this.portalRoot?.release();\n this.layerNode?.remove();\n this.view?.destroy();\n\n this.presence = null;\n this.portalRoot = null;\n this.layerNode = null;\n this.surfaceNode = null;\n this.view = null;\n }\n\n writeValue(value: readonly MultiSelectOptionValue[] | null) {\n this.value.set(value === null ? [] : [...value]);\n }\n\n registerOnChange(fn: (value: readonly MultiSelectOptionValue[]) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.disabledByForm.set(isDisabled);\n }\n\n /**\n * Three validities the family owns, and none of them is one a native input\n * can describe: a required control holding nothing, a set over its limit, and\n * a set holding a value twice where duplicates are refused. The second is the\n * one Zag has the mechanism for and no validator to report it with.\n */\n validate(): ValidationErrors | null {\n const held = this.value();\n if (this.resolvedRequired() && held.length === 0) return { required: true };\n\n const limit = this.resolvedMax();\n if (limit !== null && held.length > limit) {\n return { tooMany: { max: limit, actual: held.length } };\n }\n\n if (!this.resolvedAllowDuplicates() && new Set(held).size !== held.length) {\n return { duplicate: true };\n }\n return null;\n }\n}\n","import { matchRanges } from '@slotted/core/highlight';\nimport {\n afterRenderEffect,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n ElementRef,\n inject,\n input,\n numberAttribute,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport type { GlyphName } from '@slotted/angular/icon';\n\nimport { SlHighlight } from '@slotted/angular/highlight';\n\nimport { SlMultiSelect } from './multi-select';\nimport type { MultiSelectOptionValue } from './multi-select-defaults';\n\n/**\n * One option, and the one that decides whether it belongs in the results.\n *\n * **Each option filters itself**, as `sl-combobox-item` does: the family holds\n * the query and the comparison, the option holds its own label, and the popup's\n * DOM is therefore the result set.\n *\n * **An option the set already holds is still an option.** It carries\n * `aria-selected=\"true\"` and the check, and pressing it takes the value back\n * out; `chosenOptions=\"hide\"` is the other answer, for a list long enough that\n * a reader would rather see only what is left.\n *\n * `label` is an input rather than projected content, which is the one place\n * this binding differs from its React counterpart: a comparison and a split\n * both need the text before the view exists.\n */\n@Component({\n selector: 'sl-multi-select-item',\n standalone: true,\n exportAs: 'slMultiSelectItem',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [SlGlyph, SlHighlight, SlIcon],\n host: {\n 'data-part': 'item',\n role: 'option',\n '[id]': 'optionId()',\n '[hidden]': '!visible()',\n '[attr.data-value]': 'value()',\n '[attr.data-text-value]': 'label()',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-disabled]': 'inert() ? true : null',\n '[attr.aria-posinset]': 'position() ?? null',\n '[attr.aria-setsize]': 'position() === undefined ? null : (multiSelect.total() ?? null)',\n '[attr.data-disabled]': \"disabled() ? '' : null\",\n '[attr.data-selected]': \"selected() ? '' : null\",\n '[attr.data-current]': \"current() ? '' : null\",\n '(click)': 'onClick($event)',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointerenter)': 'onPointerEnter($event)',\n },\n template: `\n @if (icon(); as glyph) {\n <span data-part=\"icon\"\n ><span slIcon><svg slGlyph [name]=\"glyph\"></svg></span\n ></span>\n }\n <span data-part=\"label\">\n @if (ranges().length > 0) {\n <span slHighlight [text]=\"label()\" [ranges]=\"ranges()\"></span>\n } @else {\n {{ label() }}\n }\n </span>\n @if (description()) {\n <span data-part=\"description\">{{ description() }}</span>\n }\n <span data-part=\"indicator\"\n ><span slIcon><svg slGlyph name=\"check\"></svg></span\n ></span>\n `,\n})\nexport class SlMultiSelectItem {\n readonly value = input.required<MultiSelectOptionValue>();\n /** What the reader sees, what the filter compares, and what the mark splits. */\n readonly label = input.required<string>();\n readonly disabled = input(false, { transform: booleanAttribute });\n readonly description = input<string | undefined>(undefined);\n /** The glyph drawn in the first column, as a `Glyph` inside an `Icon` box. */\n readonly icon = input<GlyphName | undefined>(undefined);\n readonly position = input(undefined, {\n transform: (given: number | string | undefined) =>\n given === undefined ? undefined : numberAttribute(given),\n });\n\n readonly multiSelect = inject(SlMultiSelect);\n\n readonly optionId = computed(() => this.multiSelect.optionId(this.value()));\n readonly selected = computed(() => this.multiSelect.value().includes(this.value()));\n readonly current = computed(() => this.multiSelect.highlightedValue() === this.value());\n /**\n * A full control refuses every value it does not already hold, and says so\n * where a reader can hear it. A control that silently ignores a press is a\n * control the reader presses again.\n */\n readonly inert = computed(() => this.disabled() || this.multiSelect.refuses(this.value()));\n readonly visible = computed(\n () =>\n this.multiSelect.matches(this.label()) &&\n !(this.selected() && this.multiSelect.resolvedChosenOptions() === 'hide'),\n );\n\n /**\n * The spans the query matched, from the same collator the filter used, drawn\n * by the `highlight` family inside this family's label. An `indexOf` beside\n * a locale-sensitive filter marks nothing on the row it has just matched.\n */\n readonly ranges = computed(() => {\n const query = this.multiSelect.query();\n if (!this.multiSelect.resolvedHighlightMatch() || query === '') return [];\n return matchRanges(this.label(), query, { locale: this.multiSelect.resolvedLocale() });\n });\n\n constructor() {\n /**\n * A hidden option is out of the result set, so the count and the label\n * registry both have to see the change. `hidden` rather than an `@if`,\n * because an option destroyed and rebuilt on every keystroke loses its\n * element identity — and with it whatever the reader's pointer was on.\n */\n afterRenderEffect(() => {\n this.visible();\n this.multiSelect.registerLabel(this.value(), this.label());\n this.multiSelect.recount();\n });\n\n inject(DestroyRef).onDestroy(() => this.multiSelect.recount());\n }\n\n protected onPointerEnter(event: PointerEvent) {\n if (this.inert()) return;\n this.multiSelect.setHighlighted(this.value(), 'pointer', event);\n }\n\n /**\n * Only to stop the browser moving focus off the field: an option cannot hold\n * focus, so a press on it would take focus to the body and the blur path\n * would run in the middle of a choice.\n */\n protected onPointerDown(event: PointerEvent) {\n if (event.defaultPrevented) return;\n event.preventDefault();\n }\n\n protected onClick(event: MouseEvent) {\n if (this.inert()) return;\n this.multiSelect.toggle(this.value(), 'select', event);\n this.multiSelect.setInputValue('', 'select', event);\n if (this.multiSelect.resolvedCloseOnSelect()) this.multiSelect.setOpen(false, 'select', event);\n this.multiSelect.focus();\n }\n}\n\n/**\n * A set of options under a heading, named by `aria-labelledby` pointing at its\n * own label. A group whose every option was filtered away is hidden: a heading\n * with no options under it says a category matched when none did.\n */\n@Component({\n selector: 'sl-multi-select-group',\n standalone: true,\n exportAs: 'slMultiSelectGroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'group',\n role: 'group',\n '[attr.aria-labelledby]': 'labelId',\n '[hidden]': 'empty()',\n },\n template: `\n <div data-part=\"group-label\" [id]=\"labelId\">{{ label() }}</div>\n <ng-content />\n `,\n})\nexport class SlMultiSelectGroup {\n readonly label = input.required<string>();\n readonly labelId = `sl-multi-select-group-${Math.random().toString(36).slice(2, 8)}`;\n\n private readonly host = inject(ElementRef<HTMLElement>);\n private readonly multiSelect = inject(SlMultiSelect);\n readonly empty = signal(false);\n\n constructor() {\n /**\n * Measured after render rather than computed from the query: whether a\n * group still holds an option is a fact about the DOM its own children\n * produced, and a computed that read the DOM would be right once and stale\n * from then on. The set is read as well, because hiding a chosen option can\n * empty a group without the query moving at all.\n */\n afterRenderEffect(() => {\n this.multiSelect.query();\n this.multiSelect.value();\n const element = this.host.nativeElement as HTMLElement;\n this.empty.set(element.querySelector(\"[data-part='item']:not([hidden])\") === null);\n });\n }\n}\n\n/** A line between two sets of options. */\n@Component({\n selector: 'sl-multi-select-separator',\n standalone: true,\n exportAs: 'slMultiSelectSeparator',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { 'data-part': 'separator', role: 'separator' },\n template: '',\n})\nexport class SlMultiSelectSeparator {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}