@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-select.mjs","sources":["../../select/src/select-defaults.ts","../../select/src/select-value.ts","../../select/src/select.ts","../../select/src/select-items.ts","../../select/src/slotted-angular-select.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\nimport type { Provider } from '@angular/core';\n\nexport type SelectSize = 'sm' | 'md' | 'lg';\nexport type SelectVariant = 'outline' | 'subtle' | 'plain';\nexport type SelectSide = 'bottom' | 'top' | 'inline-start' | 'inline-end' | 'left' | 'right';\nexport type SelectAlign = 'start' | 'center' | 'end';\nexport type SelectWidth = 'anchor' | 'content';\nexport type SelectMount = 'active' | 'lazy' | 'eager';\nexport type SelectStrategy = 'absolute' | 'fixed';\n\nexport type SelectOptionValue = string;\nexport type SelectSelection = SelectOptionValue | readonly SelectOptionValue[] | null;\n\nexport type SelectOpenReason =\n | 'pointer'\n | 'keyboard'\n | 'escape'\n | 'outsidePress'\n | 'select'\n | 'dismiss'\n | 'blur'\n | 'programmatic';\n\nexport type SelectValueReason = 'pointer' | 'keyboard' | 'clear' | 'select' | 'programmatic';\n\n/**\n * Why the query moved. `clear` covers both the reader emptying the field and\n * the popup emptying it as it opens and closes — the field was emptied either\n * way.\n */\nexport type SelectSearchReason = 'keyboard' | 'select' | 'clear' | 'programmatic';\n\n/**\n * Whether an option answers a query. `null` turns filtering off, which is what\n * a list a server has already filtered needs; a function replaces the\n * comparison; unset asks for the library's own locale-sensitive `contains`.\n */\nexport type SelectFilter = ((label: string, query: string) => boolean) | null;\nexport type SelectHighlightReason = 'pointer' | 'keyboard' | 'programmatic';\n\n/** Enough to name a value the popup has never rendered. */\nexport interface SelectOption {\n value: SelectOptionValue;\n label: string;\n disabled?: boolean;\n}\n\nexport interface SelectOptionGroup {\n label: string;\n options: readonly SelectOption[];\n}\n\nexport type SelectItems = readonly (SelectOption | SelectOptionGroup)[];\n\nexport interface SelectDefaults {\n align: SelectAlign;\n alignOffset: number;\n clearable: boolean;\n /** Whether the span a query matched is marked inside the option's label. */\n highlightMatch: boolean;\n /** Whether the popup opens onto a field the reader filters the options with. */\n search: boolean;\n closeOnEscape: boolean;\n closeOnOutsidePress: boolean;\n closeOnSelect: boolean;\n collisionPadding: number;\n disabled: boolean;\n flip: boolean;\n fullWidth: boolean;\n hideWhenDetached: boolean;\n invalid: boolean;\n loading: boolean;\n loop: boolean;\n mount: SelectMount;\n multiple: boolean;\n portal: boolean;\n readOnly: boolean;\n required: boolean;\n shift: boolean;\n side: SelectSide;\n sideOffset: number;\n size: SelectSize;\n strategy: SelectStrategy;\n typeahead: boolean;\n typeaheadTimeout: number;\n variant: SelectVariant;\n width: SelectWidth;\n}\n\n/**\n * The numbers, and why they are these numbers. The reasoning is the React\n * binding's, written out in `packages/react/src/select/select-defaults.tsx`;\n * the two tables are checked against each other by the contract, which holds\n * every one of them as a declared default.\n */\nexport const SELECT_FALLBACK: SelectDefaults = {\n align: 'start',\n alignOffset: 0,\n clearable: false,\n highlightMatch: true,\n search: false,\n closeOnEscape: true,\n closeOnOutsidePress: true,\n closeOnSelect: true,\n collisionPadding: 8,\n disabled: false,\n flip: true,\n fullWidth: true,\n hideWhenDetached: true,\n invalid: false,\n loading: false,\n loop: false,\n mount: 'active',\n multiple: false,\n portal: true,\n readOnly: false,\n required: false,\n shift: true,\n side: 'bottom',\n sideOffset: 4,\n size: 'md',\n strategy: 'absolute',\n typeahead: true,\n typeaheadTimeout: 500,\n variant: 'outline',\n width: 'content',\n};\n\nexport const SELECT_DEFAULTS = new InjectionToken<SelectDefaults>('SELECT_DEFAULTS', {\n providedIn: 'root',\n factory: () => SELECT_FALLBACK,\n});\n\n/**\n * The decisions an application takes once, in its bootstrap, rather than on\n * every select it renders. A select that states one of them itself still wins.\n * Its words come from the language in force (`provideSlotted`).\n */\nexport function provideSelectDefaults(defaults: Partial<SelectDefaults>): Provider {\n return { provide: SELECT_DEFAULTS, useValue: { ...SELECT_FALLBACK, ...defaults } };\n}\n\nexport function injectSelectDefaults(): SelectDefaults {\n return inject(SELECT_DEFAULTS);\n}\n","import { Directive } from '@angular/core';\n\n/**\n * The summary a consumer writes instead of the family's own.\n *\n * A `TemplateRef` rather than a render function, because that is what Angular\n * has where React has a function — and it is the asymmetry\n * `docs/history/designs/2026-09-04-select-and-combobox-design.md` §11 records\n * rather than levels away. The context carries the values and the labels the\n * family could resolve, so a consumer who already holds the records does not\n * resolve them twice:\n *\n * ```html\n * <ng-template slSelectValue let-values let-labels=\"labels\">\n * {{ values.length }} of 40 chosen\n * </ng-template>\n * ```\n */\n@Directive({ selector: '[slSelectValue]', standalone: true })\nexport class SlSelectValue {}\n","import { createFilter, moveIndex } from '@slotted/core/collection';\nimport type { MoveIntent } from '@slotted/core/collection';\nimport { tabbables } from '@slotted/core/focus';\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 { createDismissableLayer } from '@slotted/core/dismissable-layer';\nimport type { DismissableLayerHandle } from '@slotted/core/dismissable-layer';\nimport { selectMessages, type PartialMessages, type SelectMessages } from '@slotted/core/i18n';\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 { createTypeahead, isPrintable } from '@slotted/core/typeahead';\nimport type { TypeaheadHandle } from '@slotted/core/typeahead';\nimport {\n afterNextRender,\n afterRenderEffect,\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n effect,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n model,\n numberAttribute,\n output,\n signal,\n untracked,\n TemplateRef,\n viewChild,\n ViewContainerRef,\n ViewEncapsulation,\n type EmbeddedViewRef,\n} from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlField } from '@slotted/angular/field';\n\nimport { injectSelectDefaults } from './select-defaults';\n\n/** The width, in CSS pixels, under which a chip has no room for a word (SL4). */\nexport const NARROW_WIDTH = 120;\nimport type {\n SelectAlign,\n SelectFilter,\n SelectHighlightReason,\n SelectItems,\n SelectMount,\n SelectOpenReason,\n SelectOption,\n SelectOptionGroup,\n SelectOptionValue,\n SelectSearchReason,\n SelectSelection,\n SelectSide,\n SelectSize,\n SelectStrategy,\n SelectValueReason,\n SelectVariant,\n SelectWidth,\n} from './select-defaults';\nimport { SlSelectValue } from './select-value';\n\nexport * from './select-defaults';\nexport { SlSelectValue } from './select-value';\n\n/** Where the highlight lands when the popup opens. */\ntype Entry = 'selected' | 'first' | 'last' | 'none';\n\n/* A filtered-out option stays in the DOM and hides: Angular cannot decline to\n render a host component from inside it. Every reader of the collection —\n the movement keys, the count, the entry highlight — takes the visible ones,\n which is the selector `combobox` already writes for the same reason. */\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 select 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\nconst isGroup = (entry: SelectItems[number]): entry is SelectOptionGroup => 'options' in entry;\n\nconst flatten = (items: SelectItems | undefined): readonly SelectOption[] =>\n items === undefined ? [] : items.flatMap((entry) => (isGroup(entry) ? entry.options : [entry]));\n\n/**\n * A control that shows the current choice and opens a listbox of the rest.\n *\n * **The host element is the control.** `sl-select` carries `data-ui` and the\n * frame's own `data-part`, and the button, the chevron, the clear button and\n * the hidden native `select` are its template — the same shape `text-field`\n * has, where the frame draws the border and the ring because a ring can only be\n * drawn by an ancestor of whatever took focus.\n *\n * **The popup is an `ng-template` built into the portal when it opens**, which\n * is how `sl-menu` is built and for the same reason: a surface that has to\n * escape its parent's clipping cannot be rendered where it was declared. It\n * also makes `mount` a real axis here — a hundred options are not constructed\n * until the popup is.\n *\n * **Focus never leaves the button.** The highlighted option is named by\n * `aria-activedescendant`, which is what the APG's own select-only combobox\n * example does and what this family's pair, `combobox`, has no choice about.\n */\n@Component({\n selector: 'sl-select',\n standalone: true,\n exportAs: 'slSelect',\n imports: [NgTemplateOutlet, SlGlyph, SlIcon],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['../../../styles/src/select/select.css', '../../../styles/src/tag/tag.css'],\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSelect), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlSelect), multi: true },\n ],\n host: {\n 'data-ui': 'select',\n 'data-part': 'root',\n /* The name a page writes on the element is forwarded to the control, and\n the root keeps none: ARIA 1.2 does not name a generic element. */\n '[attr.aria-label]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-variant]': 'resolvedVariant()',\n '[attr.data-full-width]': \"resolvedFullWidth() ? '' : null\",\n '[attr.data-multiple]': \"resolvedMultiple() ? '' : 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-narrow]': \"narrow() ? '' : null\",\n },\n template: `\n <button\n #trigger\n type=\"button\"\n role=\"combobox\"\n data-part=\"trigger\"\n [id]=\"triggerId\"\n [attr.aria-haspopup]=\"resolvedSearch() ? 'dialog' : 'listbox'\"\n [disabled]=\"resolvedDisabled()\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.aria-controls]=\"isOpen() ? contentId : null\"\n [attr.aria-activedescendant]=\"triggerActiveDescendant()\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-labelledby]=\"labelledBy()\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-readonly]=\"resolvedReadOnly() ? true : null\"\n [attr.aria-required]=\"resolvedRequired() ? true : null\"\n [attr.aria-invalid]=\"resolvedInvalid() ? true : null\"\n (click)=\"onTriggerClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (blur)=\"onBlur()\"\n >\n <span\n data-part=\"value\"\n [attr.data-placeholder]=\"selection().length === 0 ? '' : null\"\n [attr.data-unmatched]=\"unmatched() ? '' : null\"\n >\n @if (summaryTemplate(); as template) {\n <ng-container\n [ngTemplateOutlet]=\"template\"\n [ngTemplateOutletContext]=\"{ $implicit: selection(), labels: labels() }\"\n />\n } @else if (resolvedMultiple() && selection().length > 1) {\n <span data-part=\"summary\">{{ summary() }}</span>\n } @else {\n {{ summary() }}\n }\n </span>\n </button>\n\n <!--\n The chips, over the trigger rather than inside it: the trigger is a\n button, and a remove control inside one is a control inside a control\n (SL4). The stylesheet places the row over the trigger's own content box\n and lets every press it does not want through to the button underneath.\n -->\n @if (resolvedMultiple() && selection().length > 0) {\n <span #tags data-part=\"tags\">\n @for (value of selection(); track value) {\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(value) ?? value }}</span>\n </span>\n <button\n type=\"button\"\n data-part=\"remove\"\n [disabled]=\"resolvedDisabled() || resolvedReadOnly()\"\n [attr.aria-label]=\"removeLabelFor(value)\"\n (click)=\"onRemoveChip(value, $event)\"\n >\n <span slIcon><svg slGlyph name=\"x\"></svg></span>\n </button>\n </span>\n }\n <span\n #chipOverflow\n data-ui=\"tag\"\n data-part=\"root\"\n data-size=\"sm\"\n data-variant=\"soft\"\n data-overflow\n hidden\n >\n <span data-part=\"body\"\n ><span data-part=\"label\">+{{ collapsedCount() || 1 }}</span></span\n >\n </span>\n </span>\n }\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 <span data-part=\"arrow\"\n ><span slIcon><svg slGlyph name=\"chevron-down\"></svg></span\n ></span>\n }\n\n @if (name(); as submissionName) {\n <select\n aria-hidden=\"true\"\n tabindex=\"-1\"\n [name]=\"submissionName\"\n [attr.form]=\"form() ?? null\"\n [multiple]=\"resolvedMultiple()\"\n [disabled]=\"resolvedDisabled()\"\n [required]=\"resolvedRequired()\"\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 <option value=\"\"></option>\n @for (held of selection(); track $index) {\n <option [value]=\"held\" selected>{{ labelFor(held) ?? held }}</option>\n }\n </select>\n }\n\n <!--\n The rows the popup holds, stamped into the listbox wherever the listbox\n is: the surface itself without a search field, and the list part one\n element in with one. They are a template rather than markup written twice\n because ng-content may be projected into exactly one place, and the\n options are that one place.\n -->\n <ng-template #rows>\n <!--\n Everything that is chosen, at the top of the popup (SL10). The\n control holds one line, so twelve values are three chips and a\n count; here they are all of them, and the band scrolls at about two\n rows of its own rather than growing the surface.\n\n It is aria-hidden, and carries no remove control. The reason is\n keyboard reach: without a search field focus never enters this\n layer at all, and with one the layer spends its single Tab on\n commiting and leaving the control — so a widget in the band would\n answer the pointer and nothing else. What it says is already said,\n by the trigger's own name and by each option's aria-selected.\n -->\n @if (resolvedMultiple() && selection().length > 0) {\n <div data-part=\"chosen\" aria-hidden=\"true\">\n @for (value of selection(); track value) {\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(value) ?? value }}</span>\n </span>\n </span>\n }\n </div>\n }\n <ng-content />\n @if (loading()) {\n <!--\n The wait, as the shape of the list that is coming: three rows the\n height of an option, drawn by the skeleton sheet (SL6/CB5). Hidden\n assistive technology — the status row is the live region.\n -->\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 @if (!loading() && empty()) {\n <div data-part=\"empty\">{{ t('empty') }}</div>\n }\n @if (loading() || resolvedSearch()) {\n <!--\n The live region. While an answer is travelling it says so; while\n the reader is searching it says how many options survived the\n query, which is what docs/component-features.md §6 asks of a\n filtered collection. An empty row draws nothing.\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 }\n </ng-template>\n\n <ng-template #layer>\n <div\n data-ui=\"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 #surface\n data-part=\"content\"\n [attr.role]=\"resolvedSearch() ? 'dialog' : 'listbox'\"\n [attr.data-search]=\"resolvedSearch() ? '' : null\"\n [id]=\"contentId\"\n [attr.aria-labelledby]=\"ariaLabel() === undefined ? triggerId : null\"\n [attr.aria-label]=\"ariaLabel() ?? null\"\n [attr.aria-multiselectable]=\"resolvedSearch() || !resolvedMultiple() ? null : true\"\n [attr.aria-busy]=\"resolvedSearch() || !loading() ? null : true\"\n [attr.data-loading]=\"loading() ? '' : null\"\n >\n <!--\n The field the reader filters with, and the listbox one element in.\n The combobox pattern lists the four roles a popup may carry and a\n popup holding a text field is a dialog, so the listbox moves inside\n it: a listbox holds options and groups, and a text field is neither.\n -->\n @if (resolvedSearch()) {\n <div data-part=\"search\">\n <span data-part=\"search-icon\" aria-hidden=\"true\"\n ><span slIcon><svg slGlyph name=\"search\"></svg></span\n ></span>\n <input\n #search\n type=\"text\"\n role=\"combobox\"\n data-part=\"search-input\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n aria-expanded=\"true\"\n aria-autocomplete=\"list\"\n [id]=\"searchId\"\n [attr.aria-controls]=\"listId\"\n [attr.aria-activedescendant]=\"activeDescendant()\"\n [attr.aria-label]=\"t('search')\"\n [placeholder]=\"t('searchPlaceholder')\"\n [value]=\"query()\"\n (input)=\"onSearchInput($event)\"\n (keydown)=\"onSearchKeyDown($event)\"\n />\n </div>\n }\n @if (resolvedSearch()) {\n <div\n data-part=\"list\"\n role=\"listbox\"\n [id]=\"listId\"\n [attr.aria-labelledby]=\"triggerId\"\n [attr.aria-multiselectable]=\"resolvedMultiple() ? true : null\"\n [attr.aria-busy]=\"loading() ? true : null\"\n >\n <ng-container [ngTemplateOutlet]=\"rows\" />\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"rows\" />\n }\n </div>\n </div>\n </ng-template>\n `,\n})\nexport class SlSelect implements ControlValueAccessor, 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 value, or the chosen values when `multiple` is set. */\n readonly value = model<SelectSelection>(null);\n readonly valueChangeRequest = output<ChangeRequest<SelectSelection>>();\n\n readonly open = model<boolean>(false);\n readonly openChangeRequest = output<ChangeRequest<boolean>>();\n\n /** The option the highlight is on, which is not the option that is chosen. */\n readonly highlightedValue = model<SelectOptionValue | null>(null);\n readonly highlightedValueChangeRequest = output<ChangeRequest<SelectOptionValue | null>>();\n\n /**\n * What the reader has typed into the search field. It is a value the consumer\n * can own and it is **not** the selection: no request ever carries both.\n */\n readonly searchValue = model<string>('');\n readonly searchValueChangeRequest = output<ChangeRequest<string>>();\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 /** Labels for values, so a closed control can name one it never rendered. */\n readonly items = input<SelectItems | undefined>(undefined);\n readonly total = input(undefined, { transform: SlSelect.count });\n\n readonly size = input<SelectSize | undefined>(undefined);\n readonly variant = input<SelectVariant | undefined>(undefined);\n readonly side = input<SelectSide | undefined>(undefined);\n readonly align = input<SelectAlign | undefined>(undefined);\n readonly width = input<SelectWidth | undefined>(undefined);\n readonly mount = input<SelectMount | undefined>(undefined);\n readonly strategy = input<SelectStrategy | undefined>(undefined);\n /**\n * Words laid over the catalog of the language in force, key by key: the clear\n * button, the chips, the summary, the search field, and the sentences.\n */\n readonly messages = input<PartialMessages<SelectMessages> | undefined>(undefined);\n /** Whether an option answers the query. `null` turns filtering off. */\n readonly filter = input<SelectFilter | undefined>(undefined);\n /** BCP 47, for the comparison the default filter makes. */\n /** BCP 47, for the comparison the default filter makes. The language in force when absent. */\n readonly locale = input<string | undefined>(undefined);\n\n readonly sideOffset = input(undefined, { transform: SlSelect.count });\n readonly alignOffset = input(undefined, { transform: SlSelect.count });\n readonly collisionPadding = input(undefined, { transform: SlSelect.count });\n readonly typeaheadTimeout = input(undefined, { transform: SlSelect.count });\n\n readonly multiple = input(undefined, { transform: SlSelect.flag });\n readonly clearable = input(undefined, { transform: SlSelect.flag });\n readonly loop = input(undefined, { transform: SlSelect.flag });\n readonly search = input(undefined, { transform: SlSelect.flag });\n readonly highlightMatch = input(undefined, { transform: SlSelect.flag });\n readonly typeahead = input(undefined, { transform: SlSelect.flag });\n readonly closeOnSelect = input(undefined, { transform: SlSelect.flag });\n readonly closeOnEscape = input(undefined, { transform: SlSelect.flag });\n readonly closeOnOutsidePress = input(undefined, { transform: SlSelect.flag });\n readonly flip = input(undefined, { transform: SlSelect.flag });\n readonly shift = input(undefined, { transform: SlSelect.flag });\n readonly hideWhenDetached = input(undefined, { transform: SlSelect.flag });\n readonly portal = input(undefined, { transform: SlSelect.flag });\n readonly fullWidth = input(undefined, { transform: SlSelect.flag });\n readonly disabled = input(undefined, { transform: SlSelect.flag });\n readonly readOnly = input(undefined, { transform: SlSelect.flag });\n readonly required = input(undefined, { transform: SlSelect.flag });\n readonly invalid = input(undefined, { transform: SlSelect.flag });\n readonly loading = input(false, { transform: booleanAttribute });\n\n private readonly defaults = injectSelectDefaults();\n /** The family's words in the language in force, with this select's `messages` laid over them. */\n readonly t = injectMessages(selectMessages, this.messages);\n private readonly inForceLocale = injectLocale();\n /** The locale the default filter compares 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 template = viewChild.required<TemplateRef<unknown>>('layer');\n private readonly triggerRef = viewChild.required<{ nativeElement: HTMLButtonElement }>('trigger');\n /** The summary a consumer writes instead of the family's own. */\n readonly summaryTemplate = contentChild(SlSelectValue, { read: TemplateRef });\n\n /** The field around the control, whose state a bare input defers to. */\n readonly field = inject(SlField, { optional: true });\n\n private readonly identifier = Math.random().toString(36).slice(2, 8);\n readonly contentId = `sl-select-${this.identifier}`;\n /**\n * The listbox's own identifier. Without a search field the surface is the\n * listbox and `contentId` names it; with one the surface is a dialog and the\n * listbox is one element in, so the two need separate names.\n */\n readonly listId = `sl-select-list-${this.identifier}`;\n readonly searchId = `sl-select-search-${this.identifier}`;\n /** The field's control identifier inside a field, so its label's `for` reaches the trigger. */\n readonly triggerId = this.field?.ids().control ?? `sl-select-trigger-${this.identifier}`;\n\n private readonly registry = signal(new Map<SelectOptionValue, string>());\n private readonly optionCount = signal(0);\n private entry: Entry = 'selected';\n private pending: string | null = null;\n private lastQuery = '';\n private disabledByForm = signal<boolean | undefined>(undefined);\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 typeaheadHandle: TypeaheadHandle | null = null;\n\n private readonly hostLabelledBy = inject(new HostAttributeToken('aria-labelledby'), {\n optional: true,\n });\n\n private onChange: (value: SelectSelection) => 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 resolvedMultiple = computed(() => this.multiple() ?? this.defaults.multiple);\n readonly resolvedClearable = computed(() => this.clearable() ?? this.defaults.clearable);\n readonly resolvedLoop = computed(() => this.loop() ?? this.defaults.loop);\n readonly resolvedSearch = computed(() => this.search() ?? this.defaults.search);\n readonly resolvedHighlightMatch = computed(\n () => this.highlightMatch() ?? this.defaults.highlightMatch,\n );\n /* A reader typing into a field cannot also be driving a typeahead on the\n same keys: two searches on one keystroke move the highlight twice. */\n readonly resolvedTypeahead = computed(() =>\n this.resolvedSearch() ? false : (this.typeahead() ?? this.defaults.typeahead),\n );\n readonly resolvedCloseOnSelect = computed(\n () => this.closeOnSelect() ?? this.defaults.closeOnSelect,\n );\n readonly resolvedFullWidth = computed(() => this.fullWidth() ?? this.defaults.fullWidth);\n\n /** The query, which only exists while there is a field holding it. */\n readonly query = computed(() => (this.resolvedSearch() ? this.searchValue() : ''));\n\n private readonly fallbackFilter = computed(() => createFilter({ locale: this.resolvedLocale() }));\n\n /**\n * Three answers, and `undefined` is not one of them. Not giving `filter` asks\n * for the library's own locale-sensitive `contains`; giving `null` turns\n * filtering off, which is what a list a server has already filtered needs;\n * giving a function replaces the comparison.\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.fallbackFilter().contains(label, query);\n }\n\n /** What the live region carries: the wait, or how many options survived. */\n readonly statusMessage = computed(() => {\n if (this.loading()) return this.t('loading');\n if (!this.resolvedSearch() || this.optionCount() === 0) return '';\n return this.t('count', { count: this.optionCount() });\n });\n\n /** Unset asks the field; a field that says nothing leaves the default. */\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\n /** One value, several, or none — always read as a list, whatever was given. */\n readonly selection = computed((): readonly SelectOptionValue[] => {\n const held = this.value();\n if (held === null || held === undefined) return [];\n return typeof held === 'string' ? [held] : held;\n });\n\n private readonly declared = computed(() => {\n const table = new Map<SelectOptionValue, string>();\n for (const option of flatten(this.items())) table.set(option.value, option.label);\n return table;\n });\n\n readonly labels = computed(() => this.selection().map((held) => this.labelFor(held) ?? held));\n\n readonly unmatched = computed(() =>\n this.selection().some((held) => this.labelFor(held) === undefined),\n );\n\n /** The first label, then how many more. A count alone names none of them. */\n readonly summary = computed(() => {\n const held = this.selection();\n if (held.length === 0) return this.placeholder();\n const first = this.labelFor(held[0] as string) ?? held[0];\n if (!this.resolvedMultiple() || held.length === 1) return first;\n /* Several values are the chips beside this element, not a sentence here\n (SL4). The sentence stays: it names the trigger, and it is what a control\n too narrow for a chip shows instead. */\n return this.t('summary', { count: held.length });\n });\n\n readonly showClear = computed(\n () =>\n this.resolvedClearable() &&\n this.selection().length > 0 &&\n !this.resolvedDisabled() &&\n !this.resolvedReadOnly(),\n );\n\n readonly empty = computed(() => this.optionCount() === 0);\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 trigger names the highlighted option only while it is the focused\n * element. With a search field the field holds focus and names it instead;\n * two elements naming one option would put the announcement on the element\n * nobody is operating.\n */\n readonly triggerActiveDescendant = computed(() =>\n this.resolvedSearch() ? null : this.activeDescendant(),\n );\n\n readonly labelledBy = computed(() => {\n if (this.ariaLabel() !== undefined) return null;\n return this.hostLabelledBy ?? this.field?.ids().label ?? null;\n });\n\n readonly describedBy = computed(() => this.field?.describedBy() ?? null);\n\n /**\n * The chip row, and the two measurements it needs (SL4).\n *\n * `createCollapse` is the same ResizeObserver arithmetic `toolbar` collapses\n * a bar with: it hides the chips that overrun and reveals the `+N` chip from\n * the first one that does, so the count is what the collapse reports and\n * cannot disagree with what is on screen. `createWidthGate` answers the other\n * question — whether the frame has room for a chip at all — because under a\n * hundred and twenty pixels a chip is a shape with no word in it.\n */\n private readonly tags = viewChild<ElementRef<HTMLElement>>('tags');\n private readonly chipOverflow = viewChild<ElementRef<HTMLElement>>('chipOverflow');\n protected readonly collapsedCount = signal(0);\n protected readonly narrow = signal(false);\n private collapse: CollapseHandle | null = null;\n private widthGate: WidthGateHandle | null = null;\n\n protected removeLabelFor(value: SelectOptionValue) {\n return this.t('remove', { label: String(this.labelFor(value) ?? value) });\n }\n\n protected onRemoveChip(value: SelectOptionValue, event: MouseEvent) {\n event.preventDefault();\n event.stopPropagation();\n this.toggle(value, 'select', event);\n /* A control that removes itself as it is pressed would leave focus on the\n document; the reader lands back on the control they were on. */\n this.triggerRef().nativeElement.focus({ preventScroll: true });\n }\n\n constructor() {\n const destroyRef = inject(DestroyRef);\n const host = inject(ElementRef<HTMLElement>);\n\n effect(() => {\n const row = this.tags()?.nativeElement ?? null;\n const trigger = this.chipOverflow()?.nativeElement ?? null;\n untracked(() => {\n this.collapse?.destroy();\n this.collapse = null;\n this.widthGate?.destroy();\n this.widthGate = null;\n this.narrow.set(false);\n if (row === null) {\n this.collapsedCount.set(0);\n return;\n }\n /* The swap is the chips' alone (contract `chips.narrowWidth`): a\n control drawing none has nothing to give way. */\n this.widthGate = createWidthGate(host.nativeElement as HTMLElement, {\n at: NARROW_WIDTH,\n onChange: (narrow) => this.narrow.set(narrow),\n });\n this.collapse = createCollapse(row, {\n collapsible: () => true,\n onChange: (units) => this.collapsedCount.set(units.length),\n trigger: () => trigger,\n units: () => [...row.querySelectorAll<HTMLElement>(':scope > *:not([data-overflow])')],\n });\n });\n });\n\n /* A value arriving or leaving changes what there is to fit. */\n effect(() => {\n this.selection();\n untracked(() => this.collapse?.refresh());\n });\n\n effect(() => {\n const open = this.isOpen();\n untracked(() => (open ? this.show() : this.hide()));\n });\n\n /**\n * The highlight follows the query. A reader who types four characters and\n * presses `Enter` means the first row they can see, and a highlight left on\n * a row the filter has just removed answers with nothing at all. It is read\n * after render because the options decide their own visibility, so the\n * surviving set does not exist until the view has answered.\n */\n afterRenderEffect(() => {\n const query = this.query();\n untracked(() => {\n if (!this.isOpen() || !this.resolvedSearch()) return;\n if (this.lastQuery === query) return;\n this.lastQuery = query;\n this.recount();\n this.move('first', new Event('input'));\n });\n });\n\n afterNextRender(() => {\n if (this.resolvedMount() === 'eager' && !this.isOpen()) this.build();\n });\n\n destroyRef.onDestroy(() => {\n this.collapse?.destroy();\n this.widthGate?.destroy();\n this.teardown();\n });\n }\n\n /** The element `aria-activedescendant` names, and the option carries. */\n optionId(value: SelectOptionValue): string {\n return `${this.contentId}-option-${encodeURIComponent(value)}`;\n }\n\n labelFor(value: SelectOptionValue): string | undefined {\n return this.declared().get(value) ?? this.registry().get(value);\n }\n\n /** An option hands over what it reads as, so the closed control can print it. */\n registerLabel(value: SelectOptionValue, 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 /** Options count themselves, so the popup knows whether it holds any. */\n recount() {\n this.optionCount.set(this.options().length);\n }\n\n options(): HTMLElement[] {\n return [...(this.surfaceNode?.querySelectorAll<HTMLElement>(OPTION_SELECTOR) ?? [])];\n }\n\n focus() {\n this.triggerRef().nativeElement.focus({ preventScroll: true });\n }\n\n /**\n * Whether a click landed on the control's frame. A click a `label` elsewhere\n * forwards to the button carries the label's coordinates, which lie outside it.\n */\n private pressedOnFrame(x: number, y: number): boolean {\n const button = this.triggerRef().nativeElement;\n const box = (button.parentElement ?? button).getBoundingClientRect();\n return x >= box.left && x <= box.right && y >= box.top && y <= box.bottom;\n }\n\n scrollToKey(value: SelectOptionValue) {\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 /** Asks to open or close, and reports the reason before anything moves. */\n setOpen(next: boolean, reason: SelectOpenReason, source?: Event) {\n if (next === this.isOpen()) return;\n\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 = 'selected';\n /* A popup that closes takes the query with it: the field is built with\n the popup, and a select that reopened onto four characters nobody had\n typed this time would filter a list the reader thought was whole. */\n this.setQuery('', 'clear', source);\n }\n }\n\n /**\n * The query. The reset the popup performs as it opens and as it closes\n * carries `clear`, which is what happened to the field.\n */\n setQuery(next: string, reason: SelectSearchReason, source?: Event) {\n if (next === this.query()) return;\n\n const state = createControllable<string>({\n initial: this.query(),\n onRequest: (request) => this.searchValueChangeRequest.emit(request),\n });\n if (state.request(next, reason, source)) this.searchValue.set(next);\n }\n\n /** The field inside the popup, which lives in an embedded view. */\n private searchNode(): HTMLInputElement | null {\n return this.layerNode?.querySelector<HTMLInputElement>(\"[data-part='search-input']\") ?? null;\n }\n\n /** Focuses the field when there is one, and the control otherwise. */\n focusSearch() {\n (this.searchNode() ?? this.triggerRef().nativeElement).focus({ preventScroll: true });\n }\n\n setHighlighted(next: SelectOptionValue | null, reason: SelectHighlightReason, source?: Event) {\n if (next === this.highlightedValue()) return;\n\n const state = createControllable<SelectOptionValue | 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 this.reveal(next);\n }\n }\n\n /** Takes an option, or takes it back when the select holds several. */\n toggle(value: SelectOptionValue, reason: SelectValueReason, source?: Event) {\n if (!this.resolvedMultiple()) {\n this.commit([value], reason, source);\n return;\n }\n const held = this.selection();\n this.commit(\n held.includes(value) ? held.filter((candidate) => candidate !== value) : [...held, value],\n reason,\n source,\n );\n }\n\n clear(reason: SelectValueReason, source?: Event) {\n this.commit([], reason, source);\n }\n\n private commit(next: readonly SelectOptionValue[], reason: SelectValueReason, source?: Event) {\n const held = this.selection();\n const same = next.length === held.length && next.every((value, index) => value === held[index]);\n if (same) return;\n\n const shaped: SelectSelection = this.resolvedMultiple() ? next : (next[0] ?? null);\n const state = createControllable<SelectSelection>({\n initial: this.resolvedMultiple() ? held : (held[0] ?? null),\n /* Membership was compared above; comparing the shaped values here would\n compare two fresh arrays by identity and call every request a change. */\n equals: () => false,\n onRequest: (request) => this.valueChangeRequest.emit(request),\n });\n if (!state.request(shaped, reason, source)) return;\n this.value.set(shaped);\n this.onChange(shaped);\n this.onTouched();\n }\n\n protected onTriggerClick(event: MouseEvent) {\n /* A press on the field's label arrives here as the click the label\n forwards: a pointer click at the label's coordinates, outside the frame.\n It focuses the control and does not open the list — the select-only\n example's label only focuses, and so does a native select's. A keyboard\n or assistive-technology click carries detail 0 and opens. */\n if (event.detail > 0 && !this.pressedOnFrame(event.clientX, event.clientY)) {\n this.focus();\n return;\n }\n if (this.resolvedDisabled() || this.resolvedReadOnly()) return;\n this.entry = 'selected';\n this.setOpen(!this.isOpen(), 'pointer', event);\n }\n\n protected onClear(event: MouseEvent) {\n this.clear('clear', event);\n this.focus();\n }\n\n protected onBlur() {\n this.onTouched();\n }\n\n protected onKeyDown(event: KeyboardEvent) {\n if (this.resolvedDisabled() || this.resolvedReadOnly()) return;\n const alt = event.altKey;\n\n if (!this.isOpen()) {\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n return this.openWith(alt ? 'none' : 'selected', event);\n case 'ArrowUp':\n /* The example opens onto the first option; the last is the mirror of\n ArrowDown, and the contract records the departure. */\n event.preventDefault();\n return this.openWith('last', event);\n case 'Enter':\n case ' ':\n event.preventDefault();\n return this.openWith('selected', event);\n case 'Home':\n event.preventDefault();\n return this.openWith('first', event);\n case 'End':\n event.preventDefault();\n return this.openWith('last', event);\n default:\n break;\n }\n if (!event.ctrlKey && !event.metaKey && !alt && isPrintable(event.key)) {\n /* With a field the character opens the popup and becomes the first\n character of the query; without one it seeds the typeahead. The\n pattern asks the same of both, and only the search it feeds differs. */\n if (this.resolvedSearch()) {\n event.preventDefault();\n this.setQuery(event.key, 'keyboard', event);\n return this.openWith('first', event);\n }\n if (this.resolvedTypeahead()) {\n event.preventDefault();\n this.pending = event.key;\n this.openWith('none', event);\n }\n }\n return;\n }\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n return this.move('next', event);\n case 'ArrowUp':\n event.preventDefault();\n return alt ? this.commitHighlighted(event, true) : this.move('previous', event);\n case 'Home':\n event.preventDefault();\n return this.move('first', event);\n case 'End':\n event.preventDefault();\n return this.move('last', event);\n case 'PageDown':\n event.preventDefault();\n return this.move('pageDown', event);\n case 'PageUp':\n event.preventDefault();\n return this.move('pageUp', event);\n case 'Enter':\n event.preventDefault();\n return this.commitHighlighted(event, this.resolvedCloseOnSelect());\n case ' ':\n event.preventDefault();\n /* Multiple selection keeps the popup open on Space, which is the\n listbox pattern's recommended model. */\n return this.commitHighlighted(\n event,\n this.resolvedMultiple() ? false : this.resolvedCloseOnSelect(),\n );\n case 'Escape':\n event.preventDefault();\n return this.setOpen(false, 'escape', event);\n case 'Tab':\n /* Not prevented: the key commits and then does what Tab does, which the\n example states and notes differs from a native select. */\n return this.commitHighlighted(event, true);\n default:\n break;\n }\n\n const handle = this.typeaheadHandle;\n if (handle === null) return;\n if (event.ctrlKey || event.metaKey || alt) return;\n if (!isPrintable(event.key, handle.query.length > 0)) return;\n\n event.preventDefault();\n this.typeaheadMatch(event.key, handle);\n }\n\n protected onSearchInput(event: Event) {\n const field = event.target as HTMLInputElement;\n this.setQuery(field.value, 'keyboard', event);\n }\n\n /**\n * The keys the field takes, and the three the closed control spends that this\n * one cannot: `Home`, `End` and the space bar all belong to the caret while\n * the reader is typing, and the pattern's editable branch returns them there.\n */\n protected onSearchKeyDown(event: KeyboardEvent) {\n const alt = event.altKey;\n\n switch (event.key) {\n case 'ArrowDown':\n event.preventDefault();\n return this.move('next', event);\n case 'ArrowUp':\n event.preventDefault();\n return alt ? this.commitHighlighted(event, true) : this.move('previous', event);\n case 'PageDown':\n event.preventDefault();\n return this.move('pageDown', event);\n case 'PageUp':\n event.preventDefault();\n return this.move('pageUp', event);\n case 'Enter':\n event.preventDefault();\n return this.commitHighlighted(\n event,\n this.resolvedMultiple() ? false : this.resolvedCloseOnSelect(),\n );\n case 'Escape':\n event.preventDefault();\n /* The layer saw this key first, in the capture phase, and its dismiss\n handler holds the two steps. This branch is what answers when the\n layer was told to ignore Escape entirely: the query still empties,\n and the popup a consumer said to keep open stays open. */\n if (this.query() !== '') this.setQuery('', 'clear', event);\n return;\n case 'Tab': {\n event.preventDefault();\n const layer = this.layerNode;\n this.commitHighlighted(event, true);\n return this.moveTabFrom(layer, event.shiftKey);\n }\n default:\n return;\n }\n }\n\n /**\n * Where `Tab` goes from inside the popup. The layer is portalled to the end\n * of the document, so the browser's own next element is the end of the page\n * rather than the element after the control: the document's tab order is read\n * with the layer taken out of it, the trigger is found in what remains, and\n * focus goes to the entry beside it.\n */\n private moveTabFrom(layer: HTMLElement | null, backwards: boolean) {\n const trigger = this.triggerRef().nativeElement;\n const order = tabbables(document.body).filter(\n (node) => layer === null || !layer.contains(node),\n );\n const index = order.indexOf(trigger);\n const next = index === -1 ? undefined : order[index + (backwards ? -1 : 1)];\n (next ?? trigger).focus({ preventScroll: true });\n }\n\n private openWith(entry: Entry, event: Event) {\n this.entry = entry;\n this.setOpen(true, 'keyboard', event);\n }\n\n private move(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((option) => option.dataset['disabled'] === undefined),\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 commitHighlighted(event: Event, close: boolean) {\n const held = this.highlightedValue();\n if (held !== null) this.toggle(held, 'keyboard', event);\n if (close) {\n this.setOpen(false, 'select', event);\n /* The trigger takes focus back wherever the popup is closed by a key.\n It does not on an outside press: the reader has just put focus\n somewhere themselves. Without a field focus never left, and the call\n costs nothing. */\n const leaving = event instanceof KeyboardEvent && event.key === 'Tab';\n if (!leaving) this.focus();\n return;\n }\n /* The popup stayed open, so the query is emptied here rather than by the\n close: a list still filtered to the row the reader has just taken is a\n list that looks broken. */\n if (held !== null) this.setQuery('', 'select', event);\n }\n\n /**\n * Typeahead searches the **enabled** options and only those. The arrows step\n * over a disabled option, so a typeahead that landed on one would let a\n * reader reach by typing a row the family then refuses to commit.\n */\n private typeaheadMatch(character: string, handle: TypeaheadHandle) {\n const list = this.options().filter((option) => option.dataset['disabled'] === undefined);\n const labels = list.map(\n (option) =>\n option.dataset['textValue'] ??\n option.querySelector(\"[data-part='label']\")?.textContent?.trim() ??\n '',\n );\n const held = this.highlightedValue();\n const from = held === null ? -1 : list.findIndex((option) => option.dataset['value'] === held);\n const index = handle.match(character, labels, from);\n if (index !== -1) this.setHighlighted(list[index]?.dataset['value'] ?? null, 'keyboard');\n }\n\n private reveal(value: SelectOptionValue | null) {\n if (value === null) return;\n this.scrollToKey(value);\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.triggerRef().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 this.recount();\n }\n\n private position() {\n if (this.layerNode === null) return;\n this.positioner?.destroy();\n /* The anchor is the frame rather than the button inside it, so the popup is\n as wide as the control the reader sees: the trigger is the frame less its\n two borders, and `matchWidth` writes whatever it is given (SL10). */\n const trigger = this.triggerRef().nativeElement;\n this.positioner = createPositioner(\n trigger.closest<HTMLElement>(\"[data-part='root']\") ?? trigger,\n this.layerNode,\n {\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 );\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(() => this.reveal(this.highlightedValue()));\n }\n\n private bind() {\n if (this.layerNode === null) return;\n\n /* The control is a branch, so pressing the trigger again toggles the popup\n instead of dismissing it and reopening it in one gesture. */\n this.layer = createDismissableLayer(this.layerNode, {\n branches: [this.triggerRef().nativeElement.parentElement].filter(\n (branch): branch is HTMLElement => branch !== null,\n ),\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 const source = request.source as Event | undefined;\n /**\n * The query first, the popup second — and the decision lives here\n * rather than in the field's own handler because the layer listens in\n * the **capture** phase: it sees Escape before anything inside it does,\n * so a field that tried to spend the key first would already have lost\n * the surface. A reader four characters into a search wants the whole\n * list back more often than they want the popup gone, and the pattern\n * names this branch and makes it optional.\n */\n if (request.reason === 'escape' && this.resolvedSearch() && this.query() !== '') {\n this.setQuery('', 'clear', source);\n return;\n }\n this.setOpen(false, request.reason === 'escape' ? 'escape' : 'outsidePress', source);\n /* Focus goes back to the control on a key and stays where the reader\n put it on a press outside. */\n if (request.reason === 'escape') this.focus();\n },\n });\n\n if (this.resolvedTypeahead()) {\n this.typeaheadHandle = createTypeahead({\n timeout: this.typeaheadTimeout() ?? this.defaults.typeaheadTimeout,\n });\n }\n }\n\n /**\n * Where the highlight lands as the popup opens, and where focus goes.\n *\n * Without a search field nothing moves: the trigger keeps focus for the whole\n * interaction. With one, focus enters the layer — the combobox pattern's own\n * note says a dialog popup does not support `aria-activedescendant`, so DOM\n * focus moves into the dialog — and the field takes it however the popup was\n * opened, a press on the trigger included.\n */\n private enter() {\n this.recount();\n if (this.resolvedSearch()) this.searchNode()?.focus({ preventScroll: true });\n const list = this.options();\n if (list.length === 0) return;\n\n const character = this.pending;\n this.pending = null;\n if (character !== null && this.typeaheadHandle !== null) {\n this.typeaheadMatch(character, this.typeaheadHandle);\n return;\n }\n\n if (this.entry === 'none') return;\n if (this.entry === 'selected') {\n const held = this.selection();\n const chosen = list.find(\n (option) =>\n held.includes(option.dataset['value'] ?? '') && option.dataset['disabled'] === undefined,\n );\n if (chosen !== undefined) {\n this.setHighlighted(chosen.dataset['value'] ?? null, 'keyboard');\n return;\n }\n this.move('first', new Event('keydown'));\n return;\n }\n this.move(this.entry, new Event('keydown'));\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.typeaheadHandle?.destroy();\n this.layer = null;\n this.positioner = null;\n this.typeaheadHandle = 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: SelectSelection) {\n this.value.set(value ?? null);\n }\n\n registerOnChange(fn: (value: SelectSelection) => 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 * The one validity the family owns. `required` on a native `select` is\n * satisfied by any non-empty option, and the hidden element this control\n * carries always holds one — so the browser cannot answer the question and\n * the family answers it here.\n */\n validate(): ValidationErrors | null {\n if (!this.resolvedRequired()) return null;\n return this.selection().length === 0 ? { required: true } : null;\n }\n}\n","import {\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 { matchRanges } from '@slotted/core/highlight';\n\nimport { SlHighlight } from '@slotted/angular/highlight';\n\nimport { SlSelect } from './select';\nimport type { SelectOptionValue } from './select-defaults';\n\n/**\n * One option.\n *\n * `role=\"option\"` on the host, and not a button: the listbox pattern's option\n * is not separately focusable — DOM focus stays on the trigger for the whole\n * interaction — and a button here would put a widget inside a widget and add a\n * tab stop the pattern excludes by name.\n *\n * The highlight is set by the pointer as well as by the keyboard, so exactly\n * one option is highlighted whichever device is driving and the state a screen\n * reader announces is the state the eye sees.\n */\n@Component({\n selector: 'sl-select-item',\n standalone: true,\n exportAs: 'slSelectItem',\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]': 'searchText() || null',\n '[attr.aria-selected]': 'selected()',\n '[attr.aria-disabled]': 'disabled() ? true : null',\n '[attr.aria-posinset]': 'position() ?? null',\n '[attr.aria-setsize]': 'position() === undefined ? null : (select.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 (label(); as text) {\n @if (ranges(text).length > 0) {\n <span slHighlight [text]=\"text\" [ranges]=\"ranges(text)\"></span>\n } @else {\n {{ text }}\n }\n } @else {\n <ng-content />\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 SlSelectItem {\n readonly value = input.required<SelectOptionValue>();\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 /**\n * What typeahead matches on, what the search filters on, and what the mark\n * splits, when the label is not plain text.\n */\n readonly textValue = input<string | undefined>(undefined);\n /**\n * The label as text, given rather than projected.\n *\n * It is the one place this binding differs from its React counterpart, and it\n * is the difference `combobox` already records: a split needs the text before\n * the view exists, and Angular cannot read projected content that has not\n * been created. An option that projects its content instead is filtered on\n * `textValue` or on what it rendered, and its matched span is not marked —\n * there is nothing to split.\n */\n readonly label = input<string | undefined>(undefined);\n readonly position = input(undefined, {\n transform: (given: number | string | undefined) =>\n given === undefined ? undefined : numberAttribute(given),\n });\n\n readonly select = inject(SlSelect);\n private readonly host = inject(ElementRef<HTMLElement>);\n\n readonly optionId = computed(() => this.select.optionId(this.value()));\n readonly selected = computed(() => this.select.selection().includes(this.value()));\n readonly current = computed(() => this.select.highlightedValue() === this.value());\n\n /** What was rendered, for an option that projected its content. */\n private readonly rendered = signal('');\n\n /**\n * The text the filter judges: what the consumer said this option reads as,\n * then what it actually rendered. An option the filter cannot judge — one\n * whose content has not been created yet — is shown, which is what keeps a\n * list whole on its first render.\n */\n readonly searchText = computed(() => this.label() ?? this.textValue() ?? this.rendered());\n\n /**\n * Each option decides whether it belongs in the results: the family holds the\n * query and the comparison, and the option holds its own text. It hides\n * rather than leaving, because Angular cannot decline to render a host\n * component from inside it — and every reader of the collection takes the\n * visible ones.\n */\n readonly visible = computed(() => {\n const text = this.searchText();\n return text === '' || this.select.matches(text);\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 ranges(text: string) {\n const query = this.select.query();\n if (!this.select.resolvedHighlightMatch() || query === '') return [];\n return matchRanges(text, query, { locale: this.select.resolvedLocale() });\n }\n\n constructor() {\n /**\n * The label reaches the closed control from here, and the count from the\n * same place. Both are read after render rather than from the input,\n * because the children may be elements and what a reader sees is the honest\n * answer either way.\n */\n afterRenderEffect(() => {\n /* Read so that hiding or showing this option re-runs the count: the\n popup's own answer to \"how many are there\" is what draws the empty row\n and what the live region announces. */\n this.visible();\n const element = this.host.nativeElement as HTMLElement;\n const text = element.querySelector(\"[data-part='label']\")?.textContent?.trim() ?? '';\n if (text !== '') this.rendered.set(text);\n const label = this.label() ?? this.textValue() ?? text;\n if (label !== '') this.select.registerLabel(this.value(), label);\n this.select.recount();\n });\n\n inject(DestroyRef).onDestroy(() => this.select.recount());\n }\n\n protected onPointerEnter(event: PointerEvent) {\n if (this.disabled()) return;\n this.select.setHighlighted(this.value(), 'pointer', event);\n }\n\n /**\n * Only to stop the browser moving focus off the trigger. Under\n * `aria-activedescendant` the trigger is the focused element, and a press that\n * took focus to the body would leave the property pointing at something that\n * is no longer the active element (CB11).\n */\n protected onPointerDown(event: PointerEvent) {\n if (event.defaultPrevented) return;\n event.preventDefault();\n }\n\n protected onClick(event: MouseEvent) {\n if (this.disabled()) return;\n this.select.toggle(this.value(), 'pointer', event);\n /* Multiple selection keeps the popup open, so a reader can take three\n options without reopening it twice. */\n if (this.select.resolvedCloseOnSelect() && !this.select.resolvedMultiple()) {\n this.select.setOpen(false, 'select', event);\n this.select.focus();\n return;\n }\n /* The popup stayed open, so the query is emptied here rather than by the\n close: a list still filtered to the row the reader has just taken is a\n list that looks broken. */\n this.select.setQuery('', 'select', event);\n this.select.focusSearch();\n }\n}\n\n/**\n * A set of options under a heading, named by `aria-labelledby` pointing at its\n * own label — which the listbox pattern requires of every option group. The\n * label is an input rather than a projected part, because a group with no\n * accessible name is a pattern violation the type system can refuse.\n */\n@Component({\n selector: 'sl-select-group',\n standalone: true,\n exportAs: 'slSelectGroup',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'group',\n role: 'group',\n '[hidden]': 'empty()',\n '[attr.aria-labelledby]': 'labelId',\n },\n template: `\n <div data-part=\"group-label\" [id]=\"labelId\">{{ label() }}</div>\n <ng-content />\n `,\n})\nexport class SlSelectGroup {\n readonly label = input.required<string>();\n readonly labelId = `sl-select-group-${Math.random().toString(36).slice(2, 8)}`;\n\n private readonly select = inject(SlSelect);\n private readonly host = inject(ElementRef<HTMLElement>);\n protected readonly empty = signal(false);\n\n constructor() {\n /* A group whose every option was filtered away renders nothing at all: a\n heading with no options under it says a category matched when none did.\n The query is read so that a moving query re-measures the group. */\n afterRenderEffect(() => {\n this.select.query();\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/**\n * A line between two sets of options. `role=\"separator\"` inside a listbox is a\n * structural element and takes no orientation: the line is horizontal because\n * the list is vertical, and saying so twice is how two families came to\n * disagree about which axis the word names.\n */\n@Component({\n selector: 'sl-select-separator',\n standalone: true,\n exportAs: 'slSelectSeparator',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: { 'data-part': 'separator', role: 'separator' },\n template: '',\n})\nexport class SlSelectSeparator {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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A,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAA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"}