@slotted/angular 0.0.0-stage → 0.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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,454 @@
1
+ import { createControllable } from '@slotted/core/state';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, inject, Injectable, input, booleanAttribute, output, HostAttributeToken, signal, computed, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component, Directive, viewChild, DestroyRef } from '@angular/core';
4
+ import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
5
+ import { SlField } from '@slotted/angular/field';
6
+ import { SlFieldGroup } from '@slotted/angular/field-group';
7
+
8
+ const FALLBACK = {
9
+ condense: 'none',
10
+ fullWidth: false,
11
+ orientation: 'horizontal',
12
+ size: 'md',
13
+ };
14
+ const SEGMENTED_CONTROL_DEFAULTS = new InjectionToken('slotted segmented control defaults', { providedIn: 'root', factory: () => FALLBACK });
15
+ /**
16
+ * An application decides once how its segmented controls are drawn, rather
17
+ * than repeating the same inputs on every one of them. A control that states
18
+ * any of them itself still wins, and a field around it outranks this token for
19
+ * `size`.
20
+ */
21
+ function provideSegmentedControlDefaults(defaults) {
22
+ return {
23
+ provide: SEGMENTED_CONTROL_DEFAULTS,
24
+ useFactory: () => ({ ...FALLBACK, ...defaults }),
25
+ };
26
+ }
27
+ /** What a segmented control renders as here, before it states anything of its own. */
28
+ function injectSegmentedControlDefaults() {
29
+ return inject(SEGMENTED_CONTROL_DEFAULTS);
30
+ }
31
+ /**
32
+ * Application-scoped rather than module-scoped, for the reason `field`
33
+ * records: a module-level counter produces colliding sequences when two
34
+ * applications render in one server process, and the server and the client
35
+ * sequences must match for hydration.
36
+ *
37
+ * It answers for the control's generated `name` as well as for each segment's
38
+ * identifier, because both have to be stable across the two renders.
39
+ */
40
+ class SlSegmentedControlIdFactory {
41
+ count = 0;
42
+ next() {
43
+ this.count += 1;
44
+ return `slotted-segmented-control-${this.count}`;
45
+ }
46
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegmentedControlIdFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
47
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegmentedControlIdFactory, providedIn: 'root' });
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegmentedControlIdFactory, decorators: [{
50
+ type: Injectable,
51
+ args: [{ providedIn: 'root' }]
52
+ }] });
53
+
54
+ /**
55
+ * One choice out of a few, applied at once, on a track.
56
+ *
57
+ * **The keyboard is the platform's, and that is why the segments share a
58
+ * `name`.** Native radios in one form owner with one name already implement
59
+ * the APG's Radio Group table: Tab lands on the checked segment or on the
60
+ * first, `Space` checks, both arrow axes move focus and the selection
61
+ * together, the set wraps, and disabled segments are skipped — in a
62
+ * right-to-left document too.
63
+ *
64
+ * **The role is conditional, and the condition is the field group.** A
65
+ * `field-group` is a `fieldset` with a `legend`, which is already a named
66
+ * group; a `radiogroup` inside it is the same set announced twice. A `role`
67
+ * the consumer wrote wins over both.
68
+ *
69
+ * **`readOnly` is enforced, because the platform has none.** A radio ignores
70
+ * `readonly`, so the control refuses the change on the segment's own `click` —
71
+ * the one event a pointer and `Space` share — and announces `aria-readonly`.
72
+ *
73
+ * **The thumb's place is the checked index, and the count is how many
74
+ * segments registered.** Both are written as custom properties on the host, so
75
+ * the stylesheet needs no measurement: the thumb is one column wide and moves
76
+ * by its own width times the index.
77
+ */
78
+ class SlSegmentedControl {
79
+ /** Present means the consumer owns the choice. */
80
+ value = input(undefined, /* @ts-ignore */
81
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
82
+ /** The value an uncontrolled control starts from, read once. */
83
+ defaultValue = input(undefined, /* @ts-ignore */
84
+ ...(ngDevMode ? [{ debugName: "defaultValue" }] : /* istanbul ignore next */ []));
85
+ /**
86
+ * The submission name the segments share, and the reason the platform
87
+ * treats them as one radio group. Generated when it is not written, because
88
+ * grouping is by name within the form owner and an unnamed set is not a set.
89
+ */
90
+ name = input(undefined, /* @ts-ignore */
91
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
92
+ size = input(undefined, /* @ts-ignore */
93
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
94
+ orientation = input(undefined, /* @ts-ignore */
95
+ ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
96
+ condense = input(undefined, /* @ts-ignore */
97
+ ...(ngDevMode ? [{ debugName: "condense" }] : /* istanbul ignore next */ []));
98
+ fullWidth = input(undefined, { ...(ngDevMode ? { debugName: "fullWidth" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
99
+ /** Unstated rather than `false`, so the control defers to the field around it. */
100
+ disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
101
+ readOnly = input(undefined, { ...(ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
102
+ invalid = input(undefined, { ...(ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
103
+ required = input(undefined, { ...(ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
104
+ /**
105
+ * One output for one transition. Its `previous` is `undefined` while nothing
106
+ * has been chosen, which a request typed over `string` alone could not say.
107
+ */
108
+ valueChange = output();
109
+ field = inject(SlField, { optional: true });
110
+ fieldGroup = inject(SlFieldGroup, { optional: true });
111
+ defaults = injectSegmentedControlDefaults();
112
+ generatedName = inject(SlSegmentedControlIdFactory).next();
113
+ writtenRole = inject(new HostAttributeToken('role'), { optional: true });
114
+ writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {
115
+ optional: true,
116
+ });
117
+ segments = signal([], /* @ts-ignore */
118
+ ...(ngDevMode ? [{ debugName: "segments" }] : /* istanbul ignore next */ []));
119
+ own = signal(undefined, /* @ts-ignore */
120
+ ...(ngDevMode ? [{ debugName: "own" }] : /* istanbul ignore next */ []));
121
+ formDisabled = signal(undefined, /* @ts-ignore */
122
+ ...(ngDevMode ? [{ debugName: "formDisabled" }] : /* istanbul ignore next */ []));
123
+ onChangeFn = () => undefined;
124
+ onTouchedFn = () => undefined;
125
+ selection = computed(() => this.value() ?? this.own(), /* @ts-ignore */
126
+ ...(ngDevMode ? [{ debugName: "selection" }] : /* istanbul ignore next */ []));
127
+ resolvedName = computed(() => this.name() ?? this.generatedName, /* @ts-ignore */
128
+ ...(ngDevMode ? [{ debugName: "resolvedName" }] : /* istanbul ignore next */ []));
129
+ /** How many segments the track holds, and which of them is checked. */
130
+ count = computed(() => this.segments().length, /* @ts-ignore */
131
+ ...(ngDevMode ? [{ debugName: "count" }] : /* istanbul ignore next */ []));
132
+ checkedIndex = computed(() => {
133
+ const current = this.selection();
134
+ if (current === undefined)
135
+ return -1;
136
+ return this.segments().findIndex((segment) => segment.value() === current);
137
+ }, /* @ts-ignore */
138
+ ...(ngDevMode ? [{ debugName: "checkedIndex" }] : /* istanbul ignore next */ []));
139
+ indexProperty = computed(() => {
140
+ const index = this.checkedIndex();
141
+ return index < 0 ? null : index;
142
+ }, /* @ts-ignore */
143
+ ...(ngDevMode ? [{ debugName: "indexProperty" }] : /* istanbul ignore next */ []));
144
+ resolvedSize = computed(() => this.size() ??
145
+ this.field?.resolvedSize() ??
146
+ this.fieldGroup?.resolvedSize() ??
147
+ this.defaults.size, /* @ts-ignore */
148
+ ...(ngDevMode ? [{ debugName: "resolvedSize" }] : /* istanbul ignore next */ []));
149
+ resolvedOrientation = computed(() => this.orientation() ?? this.defaults.orientation, /* @ts-ignore */
150
+ ...(ngDevMode ? [{ debugName: "resolvedOrientation" }] : /* istanbul ignore next */ []));
151
+ resolvedCondense = computed(() => this.condense() ?? this.defaults.condense, /* @ts-ignore */
152
+ ...(ngDevMode ? [{ debugName: "resolvedCondense" }] : /* istanbul ignore next */ []));
153
+ resolvedFullWidth = computed(() => this.fullWidth() ?? this.defaults.fullWidth, /* @ts-ignore */
154
+ ...(ngDevMode ? [{ debugName: "resolvedFullWidth" }] : /* istanbul ignore next */ []));
155
+ resolvedDisabled = computed(() => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled(), /* @ts-ignore */
156
+ ...(ngDevMode ? [{ debugName: "resolvedDisabled" }] : /* istanbul ignore next */ []));
157
+ resolvedReadOnly = computed(() => this.readOnly() ?? this.field?.resolvedReadOnly(), /* @ts-ignore */
158
+ ...(ngDevMode ? [{ debugName: "resolvedReadOnly" }] : /* istanbul ignore next */ []));
159
+ resolvedInvalid = computed(() => this.invalid() ?? this.field?.invalid(), /* @ts-ignore */
160
+ ...(ngDevMode ? [{ debugName: "resolvedInvalid" }] : /* istanbul ignore next */ []));
161
+ resolvedRequired = computed(() => this.required() ?? this.field?.required() ?? this.fieldGroup?.required(), /* @ts-ignore */
162
+ ...(ngDevMode ? [{ debugName: "resolvedRequired" }] : /* istanbul ignore next */ []));
163
+ resolvedRole = computed(() => this.writtenRole ?? (this.fieldGroup === null ? 'radiogroup' : null), /* @ts-ignore */
164
+ ...(ngDevMode ? [{ debugName: "resolvedRole" }] : /* istanbul ignore next */ []));
165
+ describedBy = computed(() => {
166
+ const merged = [this.writtenDescribedBy, this.field?.describedBy()].filter(Boolean);
167
+ return merged.length === 0 ? null : merged.join(' ');
168
+ }, /* @ts-ignore */
169
+ ...(ngDevMode ? [{ debugName: "describedBy" }] : /* istanbul ignore next */ []));
170
+ ariaInvalid = computed(() => this.resolvedInvalid() === true ? 'true' : null, /* @ts-ignore */
171
+ ...(ngDevMode ? [{ debugName: "ariaInvalid" }] : /* istanbul ignore next */ []));
172
+ ariaReadOnly = computed(() => this.resolvedReadOnly() === true ? 'true' : null, /* @ts-ignore */
173
+ ...(ngDevMode ? [{ debugName: "ariaReadOnly" }] : /* istanbul ignore next */ []));
174
+ ariaRequired = computed(() => this.resolvedRequired() === true ? 'true' : null, /* @ts-ignore */
175
+ ...(ngDevMode ? [{ debugName: "ariaRequired" }] : /* istanbul ignore next */ []));
176
+ /**
177
+ * Only where the root owns the role, and only when the set flows the way
178
+ * `radiogroup` does not already imply.
179
+ */
180
+ ariaOrientation = computed(() => this.resolvedRole() === 'radiogroup' && this.resolvedOrientation() === 'horizontal'
181
+ ? 'horizontal'
182
+ : null, /* @ts-ignore */
183
+ ...(ngDevMode ? [{ debugName: "ariaOrientation" }] : /* istanbul ignore next */ []));
184
+ ngOnInit() {
185
+ if (this.value() === undefined)
186
+ this.own.set(this.defaultValue());
187
+ }
188
+ /** A segment joins the set, in the order the template holds it. */
189
+ register(segment) {
190
+ this.segments.update((current) => [...current, segment]);
191
+ }
192
+ /** A segment leaves the set. */
193
+ unregister(segment) {
194
+ this.segments.update((current) => current.filter((entry) => entry !== segment));
195
+ }
196
+ /**
197
+ * Writes every segment's element from the value.
198
+ *
199
+ * The HTML standard's canceled activation behaviour for a radio restores the
200
+ * *clicked* element and nothing else, so the option that was chosen before
201
+ * the refused click stays unchecked. Angular writes a property binding only
202
+ * when its value changes, and the neighbour's did not — the correction is
203
+ * made here, which is the defect `radio-group` measured first.
204
+ */
205
+ restoreElements() {
206
+ for (const segment of this.segments())
207
+ segment.syncElement();
208
+ }
209
+ /** Whether one value is the chosen one. Read by every segment in the set. */
210
+ holds(value) {
211
+ return this.selection() === value;
212
+ }
213
+ /**
214
+ * Asks the control to move to one value. Returns whether the value actually
215
+ * moved — false while a consumer owns it, which is what tells the segment to
216
+ * refuse the activation and let the platform put the element back.
217
+ */
218
+ select(value, reason, source) {
219
+ if (this.resolvedReadOnly() === true)
220
+ return false;
221
+ let cancelled = false;
222
+ const state = createControllable({
223
+ controlled: this.value(),
224
+ initial: this.selection(),
225
+ onRequest: (request) => {
226
+ this.valueChange.emit(request);
227
+ cancelled = request.cancelled;
228
+ },
229
+ });
230
+ const moved = state.request(value, reason, source);
231
+ if (cancelled || !moved)
232
+ return false;
233
+ this.own.set(value);
234
+ this.onChangeFn(value);
235
+ return true;
236
+ }
237
+ writeValue(value) {
238
+ this.own.set(value ?? undefined);
239
+ }
240
+ registerOnChange(fn) {
241
+ this.onChangeFn = fn;
242
+ }
243
+ registerOnTouched(fn) {
244
+ this.onTouchedFn = fn;
245
+ }
246
+ setDisabledState(isDisabled) {
247
+ this.formDisabled.set(isDisabled);
248
+ }
249
+ /** Marks the set touched, which a segment calls when it loses focus. */
250
+ markTouched() {
251
+ this.onTouchedFn();
252
+ }
253
+ /**
254
+ * The control owns validity over the set, which no single segment can see:
255
+ * "choose one" is a fact about the set and not about any one option.
256
+ */
257
+ validate(control) {
258
+ if (this.resolvedRequired() !== true)
259
+ return null;
260
+ const value = control.value;
261
+ return value === null || value === undefined || value === '' ? { required: true } : null;
262
+ }
263
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegmentedControl, deps: [], target: i0.ɵɵFactoryTarget.Component });
264
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSegmentedControl, isStandalone: true, selector: "[slSegmentedControl]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, condense: { classPropertyName: "condense", publicName: "condense", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "data-ui": "segmented-control", "data-part": "root" }, properties: { "attr.role": "resolvedRole()", "attr.data-size": "resolvedSize()", "attr.data-orientation": "resolvedOrientation()", "attr.data-condense": "resolvedCondense()", "attr.data-full-width": "resolvedFullWidth() ? '' : null", "attr.data-disabled": "resolvedDisabled() === true ? '' : null", "attr.data-invalid": "resolvedInvalid() === true ? '' : null", "attr.data-readonly": "resolvedReadOnly() === true ? '' : null", "attr.aria-describedby": "describedBy()", "attr.aria-invalid": "ariaInvalid()", "attr.aria-readonly": "ariaReadOnly()", "attr.aria-required": "ariaRequired()", "attr.aria-orientation": "ariaOrientation()", "style.--slotted-segmented-control-count": "count()", "style.--slotted-segmented-control-index": "indexProperty()" } }, providers: [
265
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSegmentedControl), multi: true },
266
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlSegmentedControl), multi: true },
267
+ ], exportAs: ["slSegmentedControl"], ngImport: i0, template: `@if (checkedIndex() >= 0) {
268
+ <span data-part="indicator" aria-hidden="true"></span>
269
+ }
270
+ <ng-content />`, isInline: true, styles: ["@layer slotted.components{[data-ui=segmented-control][data-part=root]{--_count: var(--slotted-segmented-control-count, 1);--_index: var(--slotted-segmented-control-index, 0);--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, 13px);--_font-size: var(--slotted-control-font-size-md, 13px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_gap: var(--slotted-control-gap-md, 8px);--_radius: var(--slotted-segmented-control-radius, var(--slotted-control-radius, 4px));--_border-width: var(--slotted-control-border-width, 1px);--_inset: var(--slotted-segmented-control-inset, var(--slotted-space-1, .125rem));--_inner: calc(var(--_height) - (var(--_inset) + var(--_border-width)) * 2);--_thumb-radius: max(calc(var(--_radius) - var(--_inset)), var(--slotted-radius-xs, 2px));--_travel: var(--slotted-duration-medium);background:var(--slotted-segmented-control-background, var(--slotted-control-surface, Field));border:var(--_border-width) solid var( --slotted-segmented-control-border-color, var(--slotted-control-border-color, ButtonBorder) );border-radius:var(--_radius);box-shadow:var(--slotted-segmented-control-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;display:inline-grid;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;isolation:isolate;min-inline-size:0;padding:var(--_inset);position:relative}[data-ui=segmented-control][data-part=root]:empty{display:none}[data-ui=segmented-control][data-part=root][data-size=sm]{--_height: var(--slotted-control-height-sm, 30px);--_padding-inline: var(--slotted-control-padding-inline-sm, 10px);--_font-size: var(--slotted-control-font-size-sm, 12px);--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_gap: var(--slotted-control-gap-sm, 6px)}[data-ui=segmented-control][data-part=root][data-size=lg]{--_height: var(--slotted-control-height-lg, 38px);--_padding-inline: var(--slotted-control-padding-inline-lg, 16px);--_font-size: var(--slotted-control-font-size-lg, 14px);--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_gap: var(--slotted-control-gap-lg, 8px)}[data-ui=segmented-control][data-part=root][data-orientation=vertical]{grid-auto-columns:auto;grid-auto-flow:row;grid-auto-rows:minmax(0,1fr)}[data-ui=segmented-control][data-part=root][data-full-width]{display:grid;inline-size:100%}[data-ui=segmented-control][data-part=root][data-condense=icons]{container-name:slotted-segmented-control;container-type:inline-size;display:grid;inline-size:100%}[data-ui=segmented-control] [data-part=item]{align-items:center;block-size:var(--_inner);border-radius:var(--_thumb-radius);box-sizing:border-box;color:var(--slotted-segmented-control-color, var(--slotted-text, ButtonText));cursor:pointer;display:flex;font-weight:var(--slotted-control-font-weight, 600);gap:var(--_gap);justify-content:center;letter-spacing:var(--slotted-control-letter-spacing, 0);line-height:var(--slotted-control-line-height, 1);min-inline-size:max(var(--_inner),var(--slotted-target-min, 24px));padding-inline:var(--_padding-inline);position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);z-index:1}[data-ui=segmented-control] [data-part=item]:not(:has([data-part=label]:not(:empty))){padding-inline:0}[data-ui=segmented-control] [data-part=label]:empty{display:none}[data-ui=segmented-control] [data-part=item]+[data-part=item]:before{background:var(--slotted-segmented-control-divider-color, var(--slotted-border-subtle));content:\"\";inline-size:var(--_border-width);inset-block:22%;inset-inline-start:0;position:absolute;transition:opacity var(--_travel) var(--slotted-easing-standard)}[data-ui=segmented-control][data-part=root][data-orientation=vertical] [data-part=item]+[data-part=item]:before{block-size:var(--_border-width);inline-size:auto;inset-block:auto;inset-block-start:0;inset-inline:22%}[data-ui=segmented-control] [data-part=item][data-checked]:before,[data-ui=segmented-control] [data-part=item][data-checked]+[data-part=item]:before{opacity:0}[data-ui=segmented-control] [data-part=control]{appearance:none;background:none;border:0;border-radius:inherit;cursor:inherit;inset-block:calc(-1 * (var(--_inset) + var(--_border-width)));inset-inline:0;margin:0;opacity:0;padding:0;position:absolute}[data-ui=segmented-control] [data-part=icon]{block-size:var(--_icon-size);display:inline-flex;flex:none;inline-size:var(--_icon-size)}[data-ui=segmented-control] [data-part=label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-ui=segmented-control] [data-part=indicator]{background:var( --slotted-segmented-control-indicator-background, var(--slotted-tone-accent-subtle-active, Highlight) );block-size:calc(100% - var(--_inset) * 2);border:var(--_border-width) solid var( --slotted-segmented-control-indicator-border-color, var(--slotted-tone-accent-border, Highlight) );border-radius:var(--_thumb-radius);box-shadow:var(--slotted-control-shadow, none);box-sizing:border-box;inline-size:calc((100% - var(--_inset) * 2) / var(--_count));inset-block-start:var(--_inset);inset-inline-start:var(--_inset);pointer-events:none;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-easing-standard),translate var(--_travel) var(--slotted-easing-standard);translate:calc(var(--_index) * 100%);z-index:0}@starting-style{[data-ui=segmented-control] [data-part=indicator]{opacity:0}}[data-ui=segmented-control] [data-part=indicator]:dir(rtl){translate:calc(var(--_index) * -100%)}[data-ui=segmented-control][data-part=root][data-orientation=vertical] [data-part=indicator]{block-size:calc((100% - var(--_inset) * 2) / var(--_count));inline-size:calc(100% - var(--_inset) * 2);translate:0 calc(var(--_index) * 100%)}[data-ui=segmented-control] [data-part=item][data-checked]{color:var( --slotted-segmented-control-checked-color, var(--slotted-tone-accent-text, HighlightText) )}[data-ui=segmented-control][data-part=root]:not([data-readonly]) [data-part=item]:hover:not([data-disabled]):not([data-checked]):has([data-part=control]:enabled){background:var( --slotted-segmented-control-hover-background, var(--slotted-tone-secondary-subtle-hover, ButtonFace) )}[data-ui=segmented-control][data-part=root]:not([data-readonly]) [data-part=item]:active:not([data-disabled]):not([data-checked]):has([data-part=control]:enabled){background:var( --slotted-segmented-control-active-background, var(--slotted-tone-secondary-subtle-active, ButtonFace) );transition-duration:var(--slotted-duration-instant)}[data-ui=segmented-control] [data-part=item]:has([data-part=control]:focus-visible){outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * var(--slotted-focus-ring-width, 2px));z-index:2}[data-ui=segmented-control] [data-part=control]:focus-visible{outline:none}[data-ui=segmented-control][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-segmented-control-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) );border-color:var( --slotted-segmented-control-invalid-border-color, var(--slotted-tone-danger-border, ButtonBorder) );--_invalid-edge-width: var( --slotted-segmented-control-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );box-shadow:inset 0 0 0 var(--_invalid-edge-width) var( --slotted-segmented-control-invalid-border-color, var(--slotted-tone-danger-border, ButtonBorder) )}[data-ui=segmented-control][data-part=root][data-readonly] [data-part=item],[data-ui=segmented-control][data-part=root][data-readonly] [data-part=control]{cursor:default}[data-ui=segmented-control] [data-part=item][data-disabled]{color:var( --slotted-segmented-control-disabled-color, var(--slotted-disabled-foreground, GrayText) );cursor:default}[data-ui=segmented-control] [data-part=control]:disabled{cursor:default}[data-ui=segmented-control][data-part=root][data-disabled]{border-color:var( --slotted-segmented-control-disabled-border-color, var(--slotted-disabled-border, GrayText) )}[data-ui=segmented-control][data-part=root][data-disabled] [data-part=indicator]{background:var( --slotted-segmented-control-disabled-indicator-background, var(--slotted-disabled-background, ButtonFace) );border-color:var( --slotted-segmented-control-disabled-border-color, var(--slotted-disabled-border, GrayText) );box-shadow:none}@container slotted-segmented-control (max-inline-size: 20rem){[data-ui=segmented-control][data-part=root][data-condense=icons] [data-part=item]:has([data-part=icon]) [data-part=label]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}[data-ui=segmented-control][data-part=root][data-condense=icons] [data-part=item]:has([data-part=icon]){padding-inline:0}}@media(forced-colors:active){[data-ui=segmented-control][data-part=root][data-invalid]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--_border-width) + var(--_invalid-edge-width)))}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
271
+ }
272
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegmentedControl, decorators: [{
273
+ type: Component,
274
+ args: [{ selector: '[slSegmentedControl]', standalone: true, exportAs: 'slSegmentedControl', template: `@if (checkedIndex() >= 0) {
275
+ <span data-part="indicator" aria-hidden="true"></span>
276
+ }
277
+ <ng-content />`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [
278
+ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSegmentedControl), multi: true },
279
+ { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlSegmentedControl), multi: true },
280
+ ], host: {
281
+ 'data-ui': 'segmented-control',
282
+ 'data-part': 'root',
283
+ '[attr.role]': 'resolvedRole()',
284
+ '[attr.data-size]': 'resolvedSize()',
285
+ '[attr.data-orientation]': 'resolvedOrientation()',
286
+ '[attr.data-condense]': 'resolvedCondense()',
287
+ '[attr.data-full-width]': "resolvedFullWidth() ? '' : null",
288
+ '[attr.data-disabled]': "resolvedDisabled() === true ? '' : null",
289
+ '[attr.data-invalid]': "resolvedInvalid() === true ? '' : null",
290
+ '[attr.data-readonly]': "resolvedReadOnly() === true ? '' : null",
291
+ '[attr.aria-describedby]': 'describedBy()',
292
+ '[attr.aria-invalid]': 'ariaInvalid()',
293
+ '[attr.aria-readonly]': 'ariaReadOnly()',
294
+ '[attr.aria-required]': 'ariaRequired()',
295
+ '[attr.aria-orientation]': 'ariaOrientation()',
296
+ '[style.--slotted-segmented-control-count]': 'count()',
297
+ '[style.--slotted-segmented-control-index]': 'indexProperty()',
298
+ }, styles: ["@layer slotted.components{[data-ui=segmented-control][data-part=root]{--_count: var(--slotted-segmented-control-count, 1);--_index: var(--slotted-segmented-control-index, 0);--_height: var(--slotted-control-height-md, 34px);--_padding-inline: var(--slotted-control-padding-inline-md, 13px);--_font-size: var(--slotted-control-font-size-md, 13px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_gap: var(--slotted-control-gap-md, 8px);--_radius: var(--slotted-segmented-control-radius, var(--slotted-control-radius, 4px));--_border-width: var(--slotted-control-border-width, 1px);--_inset: var(--slotted-segmented-control-inset, var(--slotted-space-1, .125rem));--_inner: calc(var(--_height) - (var(--_inset) + var(--_border-width)) * 2);--_thumb-radius: max(calc(var(--_radius) - var(--_inset)), var(--slotted-radius-xs, 2px));--_travel: var(--slotted-duration-medium);background:var(--slotted-segmented-control-background, var(--slotted-control-surface, Field));border:var(--_border-width) solid var( --slotted-segmented-control-border-color, var(--slotted-control-border-color, ButtonBorder) );border-radius:var(--_radius);box-shadow:var(--slotted-segmented-control-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;display:inline-grid;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;isolation:isolate;min-inline-size:0;padding:var(--_inset);position:relative}[data-ui=segmented-control][data-part=root]:empty{display:none}[data-ui=segmented-control][data-part=root][data-size=sm]{--_height: var(--slotted-control-height-sm, 30px);--_padding-inline: var(--slotted-control-padding-inline-sm, 10px);--_font-size: var(--slotted-control-font-size-sm, 12px);--_icon-size: var(--slotted-control-icon-size-sm, 14px);--_gap: var(--slotted-control-gap-sm, 6px)}[data-ui=segmented-control][data-part=root][data-size=lg]{--_height: var(--slotted-control-height-lg, 38px);--_padding-inline: var(--slotted-control-padding-inline-lg, 16px);--_font-size: var(--slotted-control-font-size-lg, 14px);--_icon-size: var(--slotted-control-icon-size-lg, 18px);--_gap: var(--slotted-control-gap-lg, 8px)}[data-ui=segmented-control][data-part=root][data-orientation=vertical]{grid-auto-columns:auto;grid-auto-flow:row;grid-auto-rows:minmax(0,1fr)}[data-ui=segmented-control][data-part=root][data-full-width]{display:grid;inline-size:100%}[data-ui=segmented-control][data-part=root][data-condense=icons]{container-name:slotted-segmented-control;container-type:inline-size;display:grid;inline-size:100%}[data-ui=segmented-control] [data-part=item]{align-items:center;block-size:var(--_inner);border-radius:var(--_thumb-radius);box-sizing:border-box;color:var(--slotted-segmented-control-color, var(--slotted-text, ButtonText));cursor:pointer;display:flex;font-weight:var(--slotted-control-font-weight, 600);gap:var(--_gap);justify-content:center;letter-spacing:var(--slotted-control-letter-spacing, 0);line-height:var(--slotted-control-line-height, 1);min-inline-size:max(var(--_inner),var(--slotted-target-min, 24px));padding-inline:var(--_padding-inline);position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);z-index:1}[data-ui=segmented-control] [data-part=item]:not(:has([data-part=label]:not(:empty))){padding-inline:0}[data-ui=segmented-control] [data-part=label]:empty{display:none}[data-ui=segmented-control] [data-part=item]+[data-part=item]:before{background:var(--slotted-segmented-control-divider-color, var(--slotted-border-subtle));content:\"\";inline-size:var(--_border-width);inset-block:22%;inset-inline-start:0;position:absolute;transition:opacity var(--_travel) var(--slotted-easing-standard)}[data-ui=segmented-control][data-part=root][data-orientation=vertical] [data-part=item]+[data-part=item]:before{block-size:var(--_border-width);inline-size:auto;inset-block:auto;inset-block-start:0;inset-inline:22%}[data-ui=segmented-control] [data-part=item][data-checked]:before,[data-ui=segmented-control] [data-part=item][data-checked]+[data-part=item]:before{opacity:0}[data-ui=segmented-control] [data-part=control]{appearance:none;background:none;border:0;border-radius:inherit;cursor:inherit;inset-block:calc(-1 * (var(--_inset) + var(--_border-width)));inset-inline:0;margin:0;opacity:0;padding:0;position:absolute}[data-ui=segmented-control] [data-part=icon]{block-size:var(--_icon-size);display:inline-flex;flex:none;inline-size:var(--_icon-size)}[data-ui=segmented-control] [data-part=label]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}[data-ui=segmented-control] [data-part=indicator]{background:var( --slotted-segmented-control-indicator-background, var(--slotted-tone-accent-subtle-active, Highlight) );block-size:calc(100% - var(--_inset) * 2);border:var(--_border-width) solid var( --slotted-segmented-control-indicator-border-color, var(--slotted-tone-accent-border, Highlight) );border-radius:var(--_thumb-radius);box-shadow:var(--slotted-control-shadow, none);box-sizing:border-box;inline-size:calc((100% - var(--_inset) * 2) / var(--_count));inset-block-start:var(--_inset);inset-inline-start:var(--_inset);pointer-events:none;position:absolute;transition:opacity var(--slotted-control-transition-duration) var(--slotted-easing-standard),translate var(--_travel) var(--slotted-easing-standard);translate:calc(var(--_index) * 100%);z-index:0}@starting-style{[data-ui=segmented-control] [data-part=indicator]{opacity:0}}[data-ui=segmented-control] [data-part=indicator]:dir(rtl){translate:calc(var(--_index) * -100%)}[data-ui=segmented-control][data-part=root][data-orientation=vertical] [data-part=indicator]{block-size:calc((100% - var(--_inset) * 2) / var(--_count));inline-size:calc(100% - var(--_inset) * 2);translate:0 calc(var(--_index) * 100%)}[data-ui=segmented-control] [data-part=item][data-checked]{color:var( --slotted-segmented-control-checked-color, var(--slotted-tone-accent-text, HighlightText) )}[data-ui=segmented-control][data-part=root]:not([data-readonly]) [data-part=item]:hover:not([data-disabled]):not([data-checked]):has([data-part=control]:enabled){background:var( --slotted-segmented-control-hover-background, var(--slotted-tone-secondary-subtle-hover, ButtonFace) )}[data-ui=segmented-control][data-part=root]:not([data-readonly]) [data-part=item]:active:not([data-disabled]):not([data-checked]):has([data-part=control]:enabled){background:var( --slotted-segmented-control-active-background, var(--slotted-tone-secondary-subtle-active, ButtonFace) );transition-duration:var(--slotted-duration-instant)}[data-ui=segmented-control] [data-part=item]:has([data-part=control]:focus-visible){outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:calc(-1 * var(--slotted-focus-ring-width, 2px));z-index:2}[data-ui=segmented-control] [data-part=control]:focus-visible{outline:none}[data-ui=segmented-control][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-segmented-control-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) );border-color:var( --slotted-segmented-control-invalid-border-color, var(--slotted-tone-danger-border, ButtonBorder) );--_invalid-edge-width: var( --slotted-segmented-control-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );box-shadow:inset 0 0 0 var(--_invalid-edge-width) var( --slotted-segmented-control-invalid-border-color, var(--slotted-tone-danger-border, ButtonBorder) )}[data-ui=segmented-control][data-part=root][data-readonly] [data-part=item],[data-ui=segmented-control][data-part=root][data-readonly] [data-part=control]{cursor:default}[data-ui=segmented-control] [data-part=item][data-disabled]{color:var( --slotted-segmented-control-disabled-color, var(--slotted-disabled-foreground, GrayText) );cursor:default}[data-ui=segmented-control] [data-part=control]:disabled{cursor:default}[data-ui=segmented-control][data-part=root][data-disabled]{border-color:var( --slotted-segmented-control-disabled-border-color, var(--slotted-disabled-border, GrayText) )}[data-ui=segmented-control][data-part=root][data-disabled] [data-part=indicator]{background:var( --slotted-segmented-control-disabled-indicator-background, var(--slotted-disabled-background, ButtonFace) );border-color:var( --slotted-segmented-control-disabled-border-color, var(--slotted-disabled-border, GrayText) );box-shadow:none}@container slotted-segmented-control (max-inline-size: 20rem){[data-ui=segmented-control][data-part=root][data-condense=icons] [data-part=item]:has([data-part=icon]) [data-part=label]{block-size:1px;clip-path:inset(50%);inline-size:1px;overflow:hidden;position:absolute;white-space:nowrap}[data-ui=segmented-control][data-part=root][data-condense=icons] [data-part=item]:has([data-part=icon]){padding-inline:0}}@media(forced-colors:active){[data-ui=segmented-control][data-part=root][data-invalid]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--_border-width) + var(--_invalid-edge-width)))}}}\n"] }]
299
+ }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], condense: [{ type: i0.Input, args: [{ isSignal: true, alias: "condense", required: false }] }], fullWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "fullWidth", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readOnly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readOnly", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
300
+
301
+ /**
302
+ * The mark a segment is drawn with, on the consumer's own element.
303
+ *
304
+ * A directive rather than a slot, so an `ng-icon`, an inline `svg` or a
305
+ * `span` all work and none of them loses its own semantics. It is hidden from
306
+ * the reading order, because the words beside it — or the `aria-label` on the
307
+ * radio — are what a reader hears.
308
+ */
309
+ class SlSegmentIcon {
310
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegmentIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive });
311
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlSegmentIcon, isStandalone: true, selector: "[slSegmentIcon]", host: { attributes: { "data-part": "icon", "aria-hidden": "true" } }, exportAs: ["slSegmentIcon"], ngImport: i0 });
312
+ }
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegmentIcon, decorators: [{
314
+ type: Directive,
315
+ args: [{
316
+ selector: '[slSegmentIcon]',
317
+ standalone: true,
318
+ exportAs: 'slSegmentIcon',
319
+ host: {
320
+ 'data-part': 'icon',
321
+ 'aria-hidden': 'true',
322
+ },
323
+ }]
324
+ }] });
325
+ /**
326
+ * A click synthesised by the keyboard reports no detail; a real one reports
327
+ * the click count. It is why `Space` and a pointer are told apart without a
328
+ * key listener existing anywhere in the family.
329
+ */
330
+ function activationReason(event) {
331
+ return event instanceof MouseEvent && event.detail === 0 ? 'keyboard' : 'pointer';
332
+ }
333
+ /**
334
+ * One segment of the track.
335
+ *
336
+ * It is a part of `segmented-control` and not an entry point of its own:
337
+ * outside a control it has no exclusive set to belong to, and the platform's
338
+ * whole keyboard model is defined over the set. `SlSegmentedControl` is
339
+ * injected without `optional`, so a segment written outside one fails at
340
+ * construction rather than silently.
341
+ *
342
+ * The radio is real, visually hidden and left where it is: it covers the
343
+ * segment and reaches the track's own edge, so the hit area is the control's
344
+ * height rather than the thumb's.
345
+ */
346
+ class SlSegment {
347
+ /** What this segment selects. It is what the control's value holds. */
348
+ value = input.required(/* @ts-ignore */
349
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
350
+ /** Unstated rather than `false`, so the segment defers to the control. */
351
+ disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
352
+ /**
353
+ * The control the segment belongs to. Injected without `optional`, and
354
+ * public because the template reads the shared name from it and a consumer
355
+ * reaching the segment through `exportAs` may want the resolved step.
356
+ *
357
+ * The trailing underscore keeps the name off `value`, which is the input.
358
+ */
359
+ control_ = inject(SlSegmentedControl);
360
+ writtenId = inject(new HostAttributeToken('id'), { optional: true });
361
+ /**
362
+ * Read from the host and written onto the radio: the name of a segment whose
363
+ * mark is its whole content belongs to the control that holds the focus, and
364
+ * an `aria-label` left on the `label` element would name it twice.
365
+ */
366
+ ariaLabel = inject(new HostAttributeToken('aria-label'), { optional: true });
367
+ writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {
368
+ optional: true,
369
+ });
370
+ element = viewChild.required('control', /* @ts-ignore */
371
+ ...(ngDevMode ? [{ debugName: "element" }] : /* istanbul ignore next */ []));
372
+ /** The identifier the radio carries. A consumer's own wins. */
373
+ controlId = this.writtenId ?? inject(SlSegmentedControlIdFactory).next();
374
+ checked = computed(() => this.control_.holds(this.value()), /* @ts-ignore */
375
+ ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
376
+ resolvedDisabled = computed(() => this.disabled() ?? this.control_.resolvedDisabled(), /* @ts-ignore */
377
+ ...(ngDevMode ? [{ debugName: "resolvedDisabled" }] : /* istanbul ignore next */ []));
378
+ disabledAttribute = computed(() => this.resolvedDisabled() === true ? '' : null, /* @ts-ignore */
379
+ ...(ngDevMode ? [{ debugName: "disabledAttribute" }] : /* istanbul ignore next */ []));
380
+ constructor() {
381
+ this.control_.register(this);
382
+ inject(DestroyRef).onDestroy(() => this.control_.unregister(this));
383
+ }
384
+ /** Writes this segment's element from the control's value. */
385
+ syncElement() {
386
+ this.element().nativeElement.checked = this.checked();
387
+ }
388
+ onClick(event) {
389
+ if (this.control_.select(this.value(), activationReason(event), event))
390
+ return;
391
+ /* Refused: the platform's own selection is put back, on this element and
392
+ on the neighbour the browser had already unchecked. */
393
+ event.preventDefault();
394
+ this.control_.restoreElements();
395
+ }
396
+ onBlur() {
397
+ this.control_.markTouched();
398
+ }
399
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegment, deps: [], target: i0.ɵɵFactoryTarget.Component });
400
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.7", type: SlSegment, isStandalone: true, selector: "[slSegment]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-part": "item" }, properties: { "attr.data-checked": "checked() ? '' : null", "attr.data-disabled": "resolvedDisabled() === true ? '' : null" } }, viewQueries: [{ propertyName: "element", first: true, predicate: ["control"], descendants: true, isSignal: true }], exportAs: ["slSegment"], ngImport: i0, template: `<input
401
+ #control
402
+ data-part="control"
403
+ type="radio"
404
+ [attr.id]="controlId"
405
+ [attr.name]="control_.resolvedName()"
406
+ [attr.value]="value()"
407
+ [attr.aria-label]="ariaLabel"
408
+ [attr.aria-describedby]="writtenDescribedBy"
409
+ [attr.disabled]="disabledAttribute()"
410
+ [checked]="checked()"
411
+ (click)="onClick($event)"
412
+ (blur)="onBlur()"
413
+ />
414
+ <ng-content select="[slSegmentIcon]" />
415
+ <span data-part="label"><ng-content /></span>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
416
+ }
417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSegment, decorators: [{
418
+ type: Component,
419
+ args: [{
420
+ selector: '[slSegment]',
421
+ standalone: true,
422
+ exportAs: 'slSegment',
423
+ template: `<input
424
+ #control
425
+ data-part="control"
426
+ type="radio"
427
+ [attr.id]="controlId"
428
+ [attr.name]="control_.resolvedName()"
429
+ [attr.value]="value()"
430
+ [attr.aria-label]="ariaLabel"
431
+ [attr.aria-describedby]="writtenDescribedBy"
432
+ [attr.disabled]="disabledAttribute()"
433
+ [checked]="checked()"
434
+ (click)="onClick($event)"
435
+ (blur)="onBlur()"
436
+ />
437
+ <ng-content select="[slSegmentIcon]" />
438
+ <span data-part="label"><ng-content /></span>`,
439
+ changeDetection: ChangeDetectionStrategy.OnPush,
440
+ encapsulation: ViewEncapsulation.None,
441
+ host: {
442
+ 'data-part': 'item',
443
+ '[attr.data-checked]': "checked() ? '' : null",
444
+ '[attr.data-disabled]': "resolvedDisabled() === true ? '' : null",
445
+ },
446
+ }]
447
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], element: [{ type: i0.ViewChild, args: ['control', { isSignal: true }] }] } });
448
+
449
+ /**
450
+ * Generated bundle index. Do not edit.
451
+ */
452
+
453
+ export { SEGMENTED_CONTROL_DEFAULTS, SlSegment, SlSegmentIcon, SlSegmentedControl, SlSegmentedControlIdFactory, injectSegmentedControlDefaults, provideSegmentedControlDefaults };
454
+ //# sourceMappingURL=slotted-angular-segmented-control.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slotted-angular-segmented-control.mjs","sources":["../../segmented-control/src/segmented-control-defaults.ts","../../segmented-control/src/segmented-control.ts","../../segmented-control/src/segmented-control-parts.ts","../../segmented-control/src/slotted-angular-segmented-control.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The type step the control and every segment inside it sit at. */\nexport type SegmentedControlSize = 'sm' | 'md' | 'lg';\n\n/** How the segments flow. The thumb travels along the same axis. */\nexport type SegmentedControlOrientation = 'horizontal' | 'vertical';\n\n/**\n * What the control does when it is narrower than its labels need. `icons`\n * keeps the marks and hides the words — hidden, never removed, so the\n * accessible name of every segment is the same at every width.\n */\nexport type SegmentedControlCondense = 'none' | 'icons';\n\nexport interface SegmentedControlDefaults {\n condense: SegmentedControlCondense;\n fullWidth: boolean;\n orientation: SegmentedControlOrientation;\n size: SegmentedControlSize;\n}\n\nconst FALLBACK: SegmentedControlDefaults = {\n condense: 'none',\n fullWidth: false,\n orientation: 'horizontal',\n size: 'md',\n};\n\nexport const SEGMENTED_CONTROL_DEFAULTS = new InjectionToken<SegmentedControlDefaults>(\n 'slotted segmented control defaults',\n { providedIn: 'root', factory: () => FALLBACK },\n);\n\n/**\n * An application decides once how its segmented controls are drawn, rather\n * than repeating the same inputs on every one of them. A control that states\n * any of them itself still wins, and a field around it outranks this token for\n * `size`.\n */\nexport function provideSegmentedControlDefaults(defaults: Partial<SegmentedControlDefaults>) {\n return {\n provide: SEGMENTED_CONTROL_DEFAULTS,\n useFactory: (): SegmentedControlDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a segmented control renders as here, before it states anything of its own. */\nexport function injectSegmentedControlDefaults(): SegmentedControlDefaults {\n return inject(SEGMENTED_CONTROL_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field`\n * records: a module-level counter produces colliding sequences when two\n * applications render in one server process, and the server and the client\n * sequences must match for hydration.\n *\n * It answers for the control's generated `name` as well as for each segment's\n * identifier, because both have to be stable across the two renders.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlSegmentedControlIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-segmented-control-${this.count}`;\n }\n}\n","import { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type {\n AbstractControl,\n ControlValueAccessor,\n ValidationErrors,\n Validator,\n} from '@angular/forms';\nimport { SlField } from '@slotted/angular/field';\nimport { SlFieldGroup } from '@slotted/angular/field-group';\n\nimport {\n injectSegmentedControlDefaults,\n SlSegmentedControlIdFactory,\n} from './segmented-control-defaults';\nimport type {\n SegmentedControlCondense,\n SegmentedControlOrientation,\n SegmentedControlSize,\n} from './segmented-control-defaults';\n\nexport type {\n SegmentedControlCondense,\n SegmentedControlDefaults,\n SegmentedControlOrientation,\n SegmentedControlSize,\n} from './segmented-control-defaults';\n\n/** Why the value moved. A segmented control can produce exactly these two. */\nexport type SegmentedControlSelectionReason = 'pointer' | 'keyboard';\n\n/**\n * What the control needs from each segment, and nothing more.\n *\n * A structural type rather than the segment's class, so the control does not\n * import the component that injects it — the cycle `text-field` breaks with an\n * abstract class, broken here with the smaller thing that works.\n */\nexport interface SlSegmentedControlSegment {\n /** What this segment selects. */\n value: () => string;\n /** Writes this segment's element from the control's value. */\n syncElement(): void;\n}\n\n/**\n * One choice out of a few, applied at once, on a track.\n *\n * **The keyboard is the platform's, and that is why the segments share a\n * `name`.** Native radios in one form owner with one name already implement\n * the APG's Radio Group table: Tab lands on the checked segment or on the\n * first, `Space` checks, both arrow axes move focus and the selection\n * together, the set wraps, and disabled segments are skipped — in a\n * right-to-left document too.\n *\n * **The role is conditional, and the condition is the field group.** A\n * `field-group` is a `fieldset` with a `legend`, which is already a named\n * group; a `radiogroup` inside it is the same set announced twice. A `role`\n * the consumer wrote wins over both.\n *\n * **`readOnly` is enforced, because the platform has none.** A radio ignores\n * `readonly`, so the control refuses the change on the segment's own `click` —\n * the one event a pointer and `Space` share — and announces `aria-readonly`.\n *\n * **The thumb's place is the checked index, and the count is how many\n * segments registered.** Both are written as custom properties on the host, so\n * the stylesheet needs no measurement: the thumb is one column wide and moves\n * by its own width times the index.\n */\n@Component({\n selector: '[slSegmentedControl]',\n standalone: true,\n exportAs: 'slSegmentedControl',\n template: `@if (checkedIndex() >= 0) {\n <span data-part=\"indicator\" aria-hidden=\"true\"></span>\n }\n <ng-content />`,\n styleUrl: '../../../styles/src/segmented-control/segmented-control.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [\n { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSegmentedControl), multi: true },\n { provide: NG_VALIDATORS, useExisting: forwardRef(() => SlSegmentedControl), multi: true },\n ],\n host: {\n 'data-ui': 'segmented-control',\n 'data-part': 'root',\n '[attr.role]': 'resolvedRole()',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-orientation]': 'resolvedOrientation()',\n '[attr.data-condense]': 'resolvedCondense()',\n '[attr.data-full-width]': \"resolvedFullWidth() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.aria-describedby]': 'describedBy()',\n '[attr.aria-invalid]': 'ariaInvalid()',\n '[attr.aria-readonly]': 'ariaReadOnly()',\n '[attr.aria-required]': 'ariaRequired()',\n '[attr.aria-orientation]': 'ariaOrientation()',\n '[style.--slotted-segmented-control-count]': 'count()',\n '[style.--slotted-segmented-control-index]': 'indexProperty()',\n },\n})\nexport class SlSegmentedControl implements ControlValueAccessor, OnInit, Validator {\n /** Present means the consumer owns the choice. */\n readonly value = input<string | undefined>(undefined);\n /** The value an uncontrolled control starts from, read once. */\n readonly defaultValue = input<string | undefined>(undefined);\n /**\n * The submission name the segments share, and the reason the platform\n * treats them as one radio group. Generated when it is not written, because\n * grouping is by name within the form owner and an unnamed set is not a set.\n */\n readonly name = input<string | undefined>(undefined);\n readonly size = input<SegmentedControlSize | undefined>(undefined);\n readonly orientation = input<SegmentedControlOrientation | undefined>(undefined);\n readonly condense = input<SegmentedControlCondense | undefined>(undefined);\n readonly fullWidth = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /** Unstated rather than `false`, so the control defers to the field around it. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly required = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * One output for one transition. Its `previous` is `undefined` while nothing\n * has been chosen, which a request typed over `string` alone could not say.\n */\n readonly valueChange = output<ChangeRequest<string | undefined>>();\n\n private readonly field = inject(SlField, { optional: true });\n private readonly fieldGroup = inject(SlFieldGroup, { optional: true });\n private readonly defaults = injectSegmentedControlDefaults();\n private readonly generatedName = inject(SlSegmentedControlIdFactory).next();\n private readonly writtenRole = inject(new HostAttributeToken('role'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n\n private readonly segments = signal<readonly SlSegmentedControlSegment[]>([]);\n private readonly own = signal<string | undefined>(undefined);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private onChangeFn: (value: string) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n\n readonly selection = computed(() => this.value() ?? this.own());\n readonly resolvedName = computed(() => this.name() ?? this.generatedName);\n\n /** How many segments the track holds, and which of them is checked. */\n readonly count = computed(() => this.segments().length);\n readonly checkedIndex = computed(() => {\n const current = this.selection();\n if (current === undefined) return -1;\n return this.segments().findIndex((segment) => segment.value() === current);\n });\n protected readonly indexProperty = computed(() => {\n const index = this.checkedIndex();\n return index < 0 ? null : index;\n });\n\n readonly resolvedSize = computed(\n () =>\n this.size() ??\n this.field?.resolvedSize() ??\n this.fieldGroup?.resolvedSize() ??\n this.defaults.size,\n );\n readonly resolvedOrientation = computed(() => this.orientation() ?? this.defaults.orientation);\n readonly resolvedCondense = computed(() => this.condense() ?? this.defaults.condense);\n readonly resolvedFullWidth = computed(() => this.fullWidth() ?? this.defaults.fullWidth);\n readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled(),\n );\n readonly resolvedReadOnly = computed(() => this.readOnly() ?? this.field?.resolvedReadOnly());\n readonly resolvedInvalid = computed(() => this.invalid() ?? this.field?.invalid());\n readonly resolvedRequired = computed(\n () => this.required() ?? this.field?.required() ?? this.fieldGroup?.required(),\n );\n\n protected readonly resolvedRole = computed(\n () => this.writtenRole ?? (this.fieldGroup === null ? 'radiogroup' : null),\n );\n protected readonly describedBy = computed(() => {\n const merged = [this.writtenDescribedBy, this.field?.describedBy()].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly ariaInvalid = computed(() =>\n this.resolvedInvalid() === true ? 'true' : null,\n );\n protected readonly ariaReadOnly = computed(() =>\n this.resolvedReadOnly() === true ? 'true' : null,\n );\n protected readonly ariaRequired = computed(() =>\n this.resolvedRequired() === true ? 'true' : null,\n );\n /**\n * Only where the root owns the role, and only when the set flows the way\n * `radiogroup` does not already imply.\n */\n protected readonly ariaOrientation = computed(() =>\n this.resolvedRole() === 'radiogroup' && this.resolvedOrientation() === 'horizontal'\n ? 'horizontal'\n : null,\n );\n\n ngOnInit() {\n if (this.value() === undefined) this.own.set(this.defaultValue());\n }\n\n /** A segment joins the set, in the order the template holds it. */\n register(segment: SlSegmentedControlSegment) {\n this.segments.update((current) => [...current, segment]);\n }\n\n /** A segment leaves the set. */\n unregister(segment: SlSegmentedControlSegment) {\n this.segments.update((current) => current.filter((entry) => entry !== segment));\n }\n\n /**\n * Writes every segment's element from the value.\n *\n * The HTML standard's canceled activation behaviour for a radio restores the\n * *clicked* element and nothing else, so the option that was chosen before\n * the refused click stays unchecked. Angular writes a property binding only\n * when its value changes, and the neighbour's did not — the correction is\n * made here, which is the defect `radio-group` measured first.\n */\n restoreElements() {\n for (const segment of this.segments()) segment.syncElement();\n }\n\n /** Whether one value is the chosen one. Read by every segment in the set. */\n holds(value: string): boolean {\n return this.selection() === value;\n }\n\n /**\n * Asks the control to move to one value. Returns whether the value actually\n * moved — false while a consumer owns it, which is what tells the segment to\n * refuse the activation and let the platform put the element back.\n */\n select(value: string, reason: SegmentedControlSelectionReason, source: Event): boolean {\n if (this.resolvedReadOnly() === true) return false;\n\n let cancelled = false;\n const state = createControllable<string | undefined>({\n controlled: this.value(),\n initial: this.selection(),\n onRequest: (request) => {\n this.valueChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n const moved = state.request(value, reason, source);\n if (cancelled || !moved) return false;\n this.own.set(value);\n this.onChangeFn(value);\n return true;\n }\n\n writeValue(value: string | null | undefined) {\n this.own.set(value ?? undefined);\n }\n\n registerOnChange(fn: (value: string) => void) {\n this.onChangeFn = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n /** Marks the set touched, which a segment calls when it loses focus. */\n markTouched() {\n this.onTouchedFn();\n }\n\n /**\n * The control owns validity over the set, which no single segment can see:\n * \"choose one\" is a fact about the set and not about any one option.\n */\n validate(control: AbstractControl): ValidationErrors | null {\n if (this.resolvedRequired() !== true) return null;\n const value = control.value as string | null | undefined;\n return value === null || value === undefined || value === '' ? { required: true } : null;\n }\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n DestroyRef,\n Directive,\n ElementRef,\n HostAttributeToken,\n inject,\n input,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\n\nimport { SlSegmentedControl } from './segmented-control';\nimport { SlSegmentedControlIdFactory } from './segmented-control-defaults';\nimport type {\n SegmentedControlSelectionReason,\n SlSegmentedControlSegment,\n} from './segmented-control';\n\n/**\n * The mark a segment is drawn with, on the consumer's own element.\n *\n * A directive rather than a slot, so an `ng-icon`, an inline `svg` or a\n * `span` all work and none of them loses its own semantics. It is hidden from\n * the reading order, because the words beside it — or the `aria-label` on the\n * radio — are what a reader hears.\n */\n@Directive({\n selector: '[slSegmentIcon]',\n standalone: true,\n exportAs: 'slSegmentIcon',\n host: {\n 'data-part': 'icon',\n 'aria-hidden': 'true',\n },\n})\nexport class SlSegmentIcon {}\n\n/**\n * A click synthesised by the keyboard reports no detail; a real one reports\n * the click count. It is why `Space` and a pointer are told apart without a\n * key listener existing anywhere in the family.\n */\nfunction activationReason(event: Event): SegmentedControlSelectionReason {\n return event instanceof MouseEvent && event.detail === 0 ? 'keyboard' : 'pointer';\n}\n\n/**\n * One segment of the track.\n *\n * It is a part of `segmented-control` and not an entry point of its own:\n * outside a control it has no exclusive set to belong to, and the platform's\n * whole keyboard model is defined over the set. `SlSegmentedControl` is\n * injected without `optional`, so a segment written outside one fails at\n * construction rather than silently.\n *\n * The radio is real, visually hidden and left where it is: it covers the\n * segment and reaches the track's own edge, so the hit area is the control's\n * height rather than the thumb's.\n */\n@Component({\n selector: '[slSegment]',\n standalone: true,\n exportAs: 'slSegment',\n template: `<input\n #control\n data-part=\"control\"\n type=\"radio\"\n [attr.id]=\"controlId\"\n [attr.name]=\"control_.resolvedName()\"\n [attr.value]=\"value()\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-describedby]=\"writtenDescribedBy\"\n [attr.disabled]=\"disabledAttribute()\"\n [checked]=\"checked()\"\n (click)=\"onClick($event)\"\n (blur)=\"onBlur()\"\n />\n <ng-content select=\"[slSegmentIcon]\" />\n <span data-part=\"label\"><ng-content /></span>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-part': 'item',\n '[attr.data-checked]': \"checked() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n },\n})\nexport class SlSegment implements SlSegmentedControlSegment {\n /** What this segment selects. It is what the control's value holds. */\n readonly value = input.required<string>();\n /** Unstated rather than `false`, so the segment defers to the control. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * The control the segment belongs to. Injected without `optional`, and\n * public because the template reads the shared name from it and a consumer\n * reaching the segment through `exportAs` may want the resolved step.\n *\n * The trailing underscore keeps the name off `value`, which is the input.\n */\n readonly control_ = inject(SlSegmentedControl);\n\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n /**\n * Read from the host and written onto the radio: the name of a segment whose\n * mark is its whole content belongs to the control that holds the focus, and\n * an `aria-label` left on the `label` element would name it twice.\n */\n protected readonly ariaLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n protected readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly element = viewChild.required<ElementRef<HTMLInputElement>>('control');\n\n /** The identifier the radio carries. A consumer's own wins. */\n readonly controlId = this.writtenId ?? inject(SlSegmentedControlIdFactory).next();\n\n readonly checked = computed(() => this.control_.holds(this.value()));\n readonly resolvedDisabled = computed(() => this.disabled() ?? this.control_.resolvedDisabled());\n\n protected readonly disabledAttribute = computed(() =>\n this.resolvedDisabled() === true ? '' : null,\n );\n\n constructor() {\n this.control_.register(this);\n inject(DestroyRef).onDestroy(() => this.control_.unregister(this));\n }\n\n /** Writes this segment's element from the control's value. */\n syncElement() {\n this.element().nativeElement.checked = this.checked();\n }\n\n protected onClick(event: Event) {\n if (this.control_.select(this.value(), activationReason(event), event)) return;\n /* Refused: the platform's own selection is put back, on this element and\n on the neighbour the browser had already unchecked. */\n event.preventDefault();\n this.control_.restoreElements();\n }\n\n protected onBlur() {\n this.control_.markTouched();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}