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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (793) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +51 -2
  3. package/docs/AGENTS.snippet.md +10 -0
  4. package/docs/accordion.json +345 -0
  5. package/docs/accordion.md +207 -0
  6. package/docs/action-bar.json +421 -0
  7. package/docs/action-bar.md +364 -0
  8. package/docs/action-sheet.json +210 -0
  9. package/docs/action-sheet.md +19 -0
  10. package/docs/alert.json +407 -0
  11. package/docs/alert.md +239 -0
  12. package/docs/app-shell.examples.md +349 -0
  13. package/docs/app-shell.json +835 -0
  14. package/docs/app-shell.md +214 -0
  15. package/docs/aspect-ratio.json +159 -0
  16. package/docs/aspect-ratio.md +134 -0
  17. package/docs/attachment.json +486 -0
  18. package/docs/attachment.md +253 -0
  19. package/docs/avatar-group.json +208 -0
  20. package/docs/avatar-group.md +130 -0
  21. package/docs/avatar.json +342 -0
  22. package/docs/avatar.md +142 -0
  23. package/docs/badge.json +334 -0
  24. package/docs/badge.md +138 -0
  25. package/docs/breadcrumb.json +368 -0
  26. package/docs/breadcrumb.md +237 -0
  27. package/docs/button-group.json +158 -0
  28. package/docs/button-group.md +72 -0
  29. package/docs/button.examples.md +621 -0
  30. package/docs/button.json +977 -0
  31. package/docs/button.md +200 -0
  32. package/docs/calendar.json +592 -0
  33. package/docs/calendar.md +242 -0
  34. package/docs/card.json +283 -0
  35. package/docs/card.md +130 -0
  36. package/docs/carousel.json +560 -0
  37. package/docs/carousel.md +357 -0
  38. package/docs/cascader.json +933 -0
  39. package/docs/cascader.md +379 -0
  40. package/docs/chart.examples.md +582 -0
  41. package/docs/chart.json +1359 -0
  42. package/docs/chart.md +187 -0
  43. package/docs/checkbox-group.examples.md +612 -0
  44. package/docs/checkbox-group.json +395 -0
  45. package/docs/checkbox-group.md +106 -0
  46. package/docs/checkbox.examples.md +546 -0
  47. package/docs/checkbox.json +506 -0
  48. package/docs/checkbox.md +104 -0
  49. package/docs/code-block.json +616 -0
  50. package/docs/code-block.md +303 -0
  51. package/docs/collapsible.json +456 -0
  52. package/docs/collapsible.md +261 -0
  53. package/docs/color-picker.json +523 -0
  54. package/docs/color-picker.md +201 -0
  55. package/docs/column-manager.json +486 -0
  56. package/docs/column-manager.md +277 -0
  57. package/docs/combobox.examples.md +1732 -0
  58. package/docs/combobox.json +1250 -0
  59. package/docs/combobox.md +209 -0
  60. package/docs/command-palette.json +800 -0
  61. package/docs/command-palette.md +419 -0
  62. package/docs/container.json +156 -0
  63. package/docs/container.md +92 -0
  64. package/docs/context-menu.json +231 -0
  65. package/docs/context-menu.md +176 -0
  66. package/docs/currency-field.examples.md +321 -0
  67. package/docs/currency-field.json +649 -0
  68. package/docs/currency-field.md +128 -0
  69. package/docs/dashboard-grid.json +680 -0
  70. package/docs/dashboard-grid.md +265 -0
  71. package/docs/data-grid.examples.md +3064 -0
  72. package/docs/data-grid.json +1577 -0
  73. package/docs/data-grid.md +237 -0
  74. package/docs/data-grid.props.md +81 -0
  75. package/docs/data-list.json +685 -0
  76. package/docs/data-list.md +327 -0
  77. package/docs/date-field.json +490 -0
  78. package/docs/date-field.md +235 -0
  79. package/docs/date-picker.examples.md +1226 -0
  80. package/docs/date-picker.json +696 -0
  81. package/docs/date-picker.md +121 -0
  82. package/docs/date-range-picker.examples.md +1300 -0
  83. package/docs/date-range-picker.json +903 -0
  84. package/docs/date-range-picker.md +142 -0
  85. package/docs/datetime-field.json +665 -0
  86. package/docs/datetime-field.md +337 -0
  87. package/docs/datetime-picker.examples.md +1269 -0
  88. package/docs/datetime-picker.json +928 -0
  89. package/docs/datetime-picker.md +150 -0
  90. package/docs/datetime-range-picker.examples.md +225 -0
  91. package/docs/datetime-range-picker.json +1015 -0
  92. package/docs/datetime-range-picker.md +162 -0
  93. package/docs/description-list.json +471 -0
  94. package/docs/description-list.md +268 -0
  95. package/docs/detail-panel.json +530 -0
  96. package/docs/detail-panel.md +361 -0
  97. package/docs/dialog.examples.md +2467 -0
  98. package/docs/dialog.json +1141 -0
  99. package/docs/dialog.md +217 -0
  100. package/docs/dialog.props.md +63 -0
  101. package/docs/divider.json +148 -0
  102. package/docs/divider.md +83 -0
  103. package/docs/drawer.examples.md +1929 -0
  104. package/docs/drawer.json +753 -0
  105. package/docs/drawer.md +199 -0
  106. package/docs/entity-picker.json +946 -0
  107. package/docs/entity-picker.md +365 -0
  108. package/docs/event-calendar.examples.md +308 -0
  109. package/docs/event-calendar.json +1202 -0
  110. package/docs/event-calendar.md +201 -0
  111. package/docs/field-group.json +333 -0
  112. package/docs/field-group.md +181 -0
  113. package/docs/field.examples.md +676 -0
  114. package/docs/field.json +528 -0
  115. package/docs/field.md +127 -0
  116. package/docs/filter-bar.json +817 -0
  117. package/docs/filter-bar.md +380 -0
  118. package/docs/form.json +378 -0
  119. package/docs/form.md +235 -0
  120. package/docs/fullscreen.json +395 -0
  121. package/docs/fullscreen.md +225 -0
  122. package/docs/grid.json +176 -0
  123. package/docs/grid.md +74 -0
  124. package/docs/highlight.json +279 -0
  125. package/docs/highlight.md +210 -0
  126. package/docs/hover-card.json +254 -0
  127. package/docs/hover-card.md +213 -0
  128. package/docs/icon.json +173 -0
  129. package/docs/icon.md +101 -0
  130. package/docs/image.json +476 -0
  131. package/docs/image.md +254 -0
  132. package/docs/import-export-center.json +836 -0
  133. package/docs/import-export-center.md +345 -0
  134. package/docs/index.md +141 -0
  135. package/docs/inline-message.json +312 -0
  136. package/docs/inline-message.md +191 -0
  137. package/docs/inline.json +149 -0
  138. package/docs/inline.md +72 -0
  139. package/docs/kbd.json +350 -0
  140. package/docs/kbd.md +210 -0
  141. package/docs/link.json +264 -0
  142. package/docs/link.md +167 -0
  143. package/docs/list-item.json +463 -0
  144. package/docs/list-item.md +236 -0
  145. package/docs/list.json +321 -0
  146. package/docs/list.md +185 -0
  147. package/docs/listbox.json +807 -0
  148. package/docs/listbox.md +413 -0
  149. package/docs/loading-overlay.json +440 -0
  150. package/docs/loading-overlay.md +248 -0
  151. package/docs/markdown.json +461 -0
  152. package/docs/markdown.md +266 -0
  153. package/docs/menu.examples.md +1651 -0
  154. package/docs/menu.json +922 -0
  155. package/docs/menu.md +155 -0
  156. package/docs/menubar.json +292 -0
  157. package/docs/menubar.md +173 -0
  158. package/docs/message-scroller.json +401 -0
  159. package/docs/message-scroller.md +212 -0
  160. package/docs/message.json +862 -0
  161. package/docs/message.md +473 -0
  162. package/docs/multi-select.examples.md +1922 -0
  163. package/docs/multi-select.json +1314 -0
  164. package/docs/multi-select.md +213 -0
  165. package/docs/navigation-menu.json +529 -0
  166. package/docs/navigation-menu.md +329 -0
  167. package/docs/notification-center.json +664 -0
  168. package/docs/notification-center.md +372 -0
  169. package/docs/number-field.examples.md +1078 -0
  170. package/docs/number-field.json +668 -0
  171. package/docs/number-field.md +137 -0
  172. package/docs/otp-input.json +479 -0
  173. package/docs/otp-input.md +291 -0
  174. package/docs/page-header.json +574 -0
  175. package/docs/page-header.md +338 -0
  176. package/docs/page.json +332 -0
  177. package/docs/page.md +184 -0
  178. package/docs/pagination.json +434 -0
  179. package/docs/pagination.md +238 -0
  180. package/docs/popover.examples.md +1235 -0
  181. package/docs/popover.json +656 -0
  182. package/docs/popover.md +199 -0
  183. package/docs/progress-indicator.json +501 -0
  184. package/docs/progress-indicator.md +329 -0
  185. package/docs/prompt-composer.json +498 -0
  186. package/docs/prompt-composer.md +278 -0
  187. package/docs/prose.json +357 -0
  188. package/docs/prose.md +226 -0
  189. package/docs/radio-group.examples.md +626 -0
  190. package/docs/radio-group.json +541 -0
  191. package/docs/radio-group.md +112 -0
  192. package/docs/rating.json +1053 -0
  193. package/docs/rating.md +435 -0
  194. package/docs/result-state.json +376 -0
  195. package/docs/result-state.md +286 -0
  196. package/docs/saved-views.json +384 -0
  197. package/docs/saved-views.md +242 -0
  198. package/docs/scroll-area.json +120 -0
  199. package/docs/scroll-area.md +8 -0
  200. package/docs/section.json +344 -0
  201. package/docs/section.md +208 -0
  202. package/docs/segmented-control.json +429 -0
  203. package/docs/segmented-control.md +240 -0
  204. package/docs/select.examples.md +1214 -0
  205. package/docs/select.json +1147 -0
  206. package/docs/select.md +199 -0
  207. package/docs/side-navigation.json +632 -0
  208. package/docs/side-navigation.md +430 -0
  209. package/docs/skeleton.json +358 -0
  210. package/docs/skeleton.md +223 -0
  211. package/docs/slider.json +522 -0
  212. package/docs/slider.md +261 -0
  213. package/docs/sparkline.json +426 -0
  214. package/docs/sparkline.md +206 -0
  215. package/docs/split-button.json +361 -0
  216. package/docs/split-button.md +275 -0
  217. package/docs/splitter.json +142 -0
  218. package/docs/splitter.md +14 -0
  219. package/docs/stack.json +135 -0
  220. package/docs/stack.md +74 -0
  221. package/docs/stat-card.json +529 -0
  222. package/docs/stat-card.md +270 -0
  223. package/docs/status-indicator.json +314 -0
  224. package/docs/status-indicator.md +197 -0
  225. package/docs/stepper.json +451 -0
  226. package/docs/stepper.md +250 -0
  227. package/docs/switch.json +451 -0
  228. package/docs/switch.md +508 -0
  229. package/docs/table-of-contents.json +553 -0
  230. package/docs/table-of-contents.md +289 -0
  231. package/docs/table.examples.md +1981 -0
  232. package/docs/table.json +1059 -0
  233. package/docs/table.md +290 -0
  234. package/docs/tabs.examples.md +1370 -0
  235. package/docs/tabs.json +661 -0
  236. package/docs/tabs.md +211 -0
  237. package/docs/tag.json +813 -0
  238. package/docs/tag.md +241 -0
  239. package/docs/tags-input.json +771 -0
  240. package/docs/tags-input.md +361 -0
  241. package/docs/text-field.examples.md +821 -0
  242. package/docs/text-field.json +604 -0
  243. package/docs/text-field.md +125 -0
  244. package/docs/textarea.examples.md +612 -0
  245. package/docs/textarea.json +440 -0
  246. package/docs/textarea.md +98 -0
  247. package/docs/time-field.json +584 -0
  248. package/docs/time-field.md +291 -0
  249. package/docs/time-picker.json +679 -0
  250. package/docs/time-picker.md +315 -0
  251. package/docs/time-range-picker.examples.md +191 -0
  252. package/docs/time-range-picker.json +924 -0
  253. package/docs/time-range-picker.md +152 -0
  254. package/docs/timeline.json +839 -0
  255. package/docs/timeline.md +401 -0
  256. package/docs/toast.json +642 -0
  257. package/docs/toast.md +311 -0
  258. package/docs/toggle-group.json +417 -0
  259. package/docs/toggle-group.md +255 -0
  260. package/docs/toggle.json +326 -0
  261. package/docs/toggle.md +222 -0
  262. package/docs/toolbar.json +380 -0
  263. package/docs/toolbar.md +240 -0
  264. package/docs/tooltip.examples.md +664 -0
  265. package/docs/tooltip.json +604 -0
  266. package/docs/tooltip.md +146 -0
  267. package/docs/top-navigation.examples.md +287 -0
  268. package/docs/top-navigation.json +648 -0
  269. package/docs/top-navigation.md +138 -0
  270. package/docs/tour.json +759 -0
  271. package/docs/tour.md +337 -0
  272. package/docs/transfer.json +746 -0
  273. package/docs/transfer.md +273 -0
  274. package/docs/tree.json +918 -0
  275. package/docs/tree.md +397 -0
  276. package/docs/typography.json +317 -0
  277. package/docs/typography.md +107 -0
  278. package/docs/upload.examples.md +358 -0
  279. package/docs/upload.json +1103 -0
  280. package/docs/upload.md +166 -0
  281. package/docs/visually-hidden.json +71 -0
  282. package/docs/visually-hidden.md +42 -0
  283. package/docs/wizard.json +724 -0
  284. package/docs/wizard.md +295 -0
  285. package/fesm2022/slotted-angular-accordion.mjs +247 -0
  286. package/fesm2022/slotted-angular-accordion.mjs.map +1 -0
  287. package/fesm2022/slotted-angular-action-bar.mjs +639 -0
  288. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -0
  289. package/fesm2022/slotted-angular-action-sheet.mjs +749 -0
  290. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -0
  291. package/fesm2022/slotted-angular-alert.mjs +427 -0
  292. package/fesm2022/slotted-angular-alert.mjs.map +1 -0
  293. package/fesm2022/slotted-angular-app-shell.mjs +1334 -0
  294. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -0
  295. package/fesm2022/slotted-angular-aspect-ratio.mjs +63 -0
  296. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -0
  297. package/fesm2022/slotted-angular-attachment.mjs +595 -0
  298. package/fesm2022/slotted-angular-attachment.mjs.map +1 -0
  299. package/fesm2022/slotted-angular-avatar-group.mjs +230 -0
  300. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -0
  301. package/fesm2022/slotted-angular-avatar.mjs +330 -0
  302. package/fesm2022/slotted-angular-avatar.mjs.map +1 -0
  303. package/fesm2022/slotted-angular-badge.mjs +255 -0
  304. package/fesm2022/slotted-angular-badge.mjs.map +1 -0
  305. package/fesm2022/slotted-angular-breadcrumb.mjs +544 -0
  306. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -0
  307. package/fesm2022/slotted-angular-button-group.mjs +146 -0
  308. package/fesm2022/slotted-angular-button-group.mjs.map +1 -0
  309. package/fesm2022/slotted-angular-button.mjs +692 -0
  310. package/fesm2022/slotted-angular-button.mjs.map +1 -0
  311. package/fesm2022/slotted-angular-calendar.mjs +916 -0
  312. package/fesm2022/slotted-angular-calendar.mjs.map +1 -0
  313. package/fesm2022/slotted-angular-card.mjs +225 -0
  314. package/fesm2022/slotted-angular-card.mjs.map +1 -0
  315. package/fesm2022/slotted-angular-carousel.mjs +840 -0
  316. package/fesm2022/slotted-angular-carousel.mjs.map +1 -0
  317. package/fesm2022/slotted-angular-cascader.mjs +1839 -0
  318. package/fesm2022/slotted-angular-cascader.mjs.map +1 -0
  319. package/fesm2022/slotted-angular-chart.mjs +974 -0
  320. package/fesm2022/slotted-angular-chart.mjs.map +1 -0
  321. package/fesm2022/slotted-angular-checkbox-group.mjs +283 -0
  322. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -0
  323. package/fesm2022/slotted-angular-checkbox.mjs +468 -0
  324. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -0
  325. package/fesm2022/slotted-angular-code-block.mjs +476 -0
  326. package/fesm2022/slotted-angular-code-block.mjs.map +1 -0
  327. package/fesm2022/slotted-angular-collapsible.mjs +479 -0
  328. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -0
  329. package/fesm2022/slotted-angular-color-picker.mjs +910 -0
  330. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -0
  331. package/fesm2022/slotted-angular-column-manager.mjs +1037 -0
  332. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -0
  333. package/fesm2022/slotted-angular-combobox.mjs +1480 -0
  334. package/fesm2022/slotted-angular-combobox.mjs.map +1 -0
  335. package/fesm2022/slotted-angular-command-palette.mjs +1283 -0
  336. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -0
  337. package/fesm2022/slotted-angular-container.mjs +105 -0
  338. package/fesm2022/slotted-angular-container.mjs.map +1 -0
  339. package/fesm2022/slotted-angular-context-menu.mjs +221 -0
  340. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -0
  341. package/fesm2022/slotted-angular-currency-field.mjs +1131 -0
  342. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -0
  343. package/fesm2022/slotted-angular-dashboard-grid.mjs +1928 -0
  344. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -0
  345. package/fesm2022/slotted-angular-data-grid.mjs +6697 -0
  346. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -0
  347. package/fesm2022/slotted-angular-data-list.mjs +1418 -0
  348. package/fesm2022/slotted-angular-data-list.mjs.map +1 -0
  349. package/fesm2022/slotted-angular-date-field.mjs +772 -0
  350. package/fesm2022/slotted-angular-date-field.mjs.map +1 -0
  351. package/fesm2022/slotted-angular-date-picker.mjs +690 -0
  352. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -0
  353. package/fesm2022/slotted-angular-date-range-picker.mjs +1150 -0
  354. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -0
  355. package/fesm2022/slotted-angular-datetime-field.mjs +1058 -0
  356. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -0
  357. package/fesm2022/slotted-angular-datetime-picker.mjs +1362 -0
  358. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -0
  359. package/fesm2022/slotted-angular-datetime-range-picker.mjs +1872 -0
  360. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -0
  361. package/fesm2022/slotted-angular-description-list.mjs +545 -0
  362. package/fesm2022/slotted-angular-description-list.mjs.map +1 -0
  363. package/fesm2022/slotted-angular-detail-panel.mjs +754 -0
  364. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -0
  365. package/fesm2022/slotted-angular-dialog.mjs +980 -0
  366. package/fesm2022/slotted-angular-dialog.mjs.map +1 -0
  367. package/fesm2022/slotted-angular-divider.mjs +76 -0
  368. package/fesm2022/slotted-angular-divider.mjs.map +1 -0
  369. package/fesm2022/slotted-angular-drawer.mjs +1397 -0
  370. package/fesm2022/slotted-angular-drawer.mjs.map +1 -0
  371. package/fesm2022/slotted-angular-entity-picker.mjs +1987 -0
  372. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -0
  373. package/fesm2022/slotted-angular-event-calendar.mjs +2934 -0
  374. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -0
  375. package/fesm2022/slotted-angular-field-group.mjs +301 -0
  376. package/fesm2022/slotted-angular-field-group.mjs.map +1 -0
  377. package/fesm2022/slotted-angular-field.mjs +928 -0
  378. package/fesm2022/slotted-angular-field.mjs.map +1 -0
  379. package/fesm2022/slotted-angular-filter-bar.mjs +3107 -0
  380. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -0
  381. package/fesm2022/slotted-angular-form.mjs +592 -0
  382. package/fesm2022/slotted-angular-form.mjs.map +1 -0
  383. package/fesm2022/slotted-angular-fullscreen.mjs +314 -0
  384. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -0
  385. package/fesm2022/slotted-angular-grid.mjs +58 -0
  386. package/fesm2022/slotted-angular-grid.mjs.map +1 -0
  387. package/fesm2022/slotted-angular-highlight.mjs +123 -0
  388. package/fesm2022/slotted-angular-highlight.mjs.map +1 -0
  389. package/fesm2022/slotted-angular-hover-card.mjs +326 -0
  390. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -0
  391. package/fesm2022/slotted-angular-i18n.mjs +75 -0
  392. package/fesm2022/slotted-angular-i18n.mjs.map +1 -0
  393. package/fesm2022/slotted-angular-icon.mjs +232 -0
  394. package/fesm2022/slotted-angular-icon.mjs.map +1 -0
  395. package/fesm2022/slotted-angular-image.mjs +442 -0
  396. package/fesm2022/slotted-angular-image.mjs.map +1 -0
  397. package/fesm2022/slotted-angular-import-export-center.mjs +1792 -0
  398. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -0
  399. package/fesm2022/slotted-angular-inline-message.mjs +280 -0
  400. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -0
  401. package/fesm2022/slotted-angular-inline.mjs +52 -0
  402. package/fesm2022/slotted-angular-inline.mjs.map +1 -0
  403. package/fesm2022/slotted-angular-kbd.mjs +284 -0
  404. package/fesm2022/slotted-angular-kbd.mjs.map +1 -0
  405. package/fesm2022/slotted-angular-link.mjs +182 -0
  406. package/fesm2022/slotted-angular-link.mjs.map +1 -0
  407. package/fesm2022/slotted-angular-list-item.mjs +367 -0
  408. package/fesm2022/slotted-angular-list-item.mjs.map +1 -0
  409. package/fesm2022/slotted-angular-list.mjs +256 -0
  410. package/fesm2022/slotted-angular-list.mjs.map +1 -0
  411. package/fesm2022/slotted-angular-listbox.mjs +1274 -0
  412. package/fesm2022/slotted-angular-listbox.mjs.map +1 -0
  413. package/fesm2022/slotted-angular-loading-overlay.mjs +451 -0
  414. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -0
  415. package/fesm2022/slotted-angular-markdown.mjs +914 -0
  416. package/fesm2022/slotted-angular-markdown.mjs.map +1 -0
  417. package/fesm2022/slotted-angular-menu.mjs +1211 -0
  418. package/fesm2022/slotted-angular-menu.mjs.map +1 -0
  419. package/fesm2022/slotted-angular-menubar.mjs +230 -0
  420. package/fesm2022/slotted-angular-menubar.mjs.map +1 -0
  421. package/fesm2022/slotted-angular-message-scroller.mjs +378 -0
  422. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -0
  423. package/fesm2022/slotted-angular-message.mjs +866 -0
  424. package/fesm2022/slotted-angular-message.mjs.map +1 -0
  425. package/fesm2022/slotted-angular-multi-select.mjs +1939 -0
  426. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -0
  427. package/fesm2022/slotted-angular-navigation-menu.mjs +770 -0
  428. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -0
  429. package/fesm2022/slotted-angular-notification-center.mjs +1172 -0
  430. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -0
  431. package/fesm2022/slotted-angular-number-field.mjs +966 -0
  432. package/fesm2022/slotted-angular-number-field.mjs.map +1 -0
  433. package/fesm2022/slotted-angular-otp-input.mjs +629 -0
  434. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -0
  435. package/fesm2022/slotted-angular-page-header.mjs +788 -0
  436. package/fesm2022/slotted-angular-page-header.mjs.map +1 -0
  437. package/fesm2022/slotted-angular-page.mjs +255 -0
  438. package/fesm2022/slotted-angular-page.mjs.map +1 -0
  439. package/fesm2022/slotted-angular-pagination.mjs +562 -0
  440. package/fesm2022/slotted-angular-pagination.mjs.map +1 -0
  441. package/fesm2022/slotted-angular-popover.mjs +799 -0
  442. package/fesm2022/slotted-angular-popover.mjs.map +1 -0
  443. package/fesm2022/slotted-angular-progress-indicator.mjs +572 -0
  444. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -0
  445. package/fesm2022/slotted-angular-prompt-composer.mjs +596 -0
  446. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -0
  447. package/fesm2022/slotted-angular-prose.mjs +314 -0
  448. package/fesm2022/slotted-angular-prose.mjs.map +1 -0
  449. package/fesm2022/slotted-angular-radio-group.mjs +469 -0
  450. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -0
  451. package/fesm2022/slotted-angular-rating.mjs +1174 -0
  452. package/fesm2022/slotted-angular-rating.mjs.map +1 -0
  453. package/fesm2022/slotted-angular-result-state.mjs +330 -0
  454. package/fesm2022/slotted-angular-result-state.mjs.map +1 -0
  455. package/fesm2022/slotted-angular-saved-views.mjs +877 -0
  456. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -0
  457. package/fesm2022/slotted-angular-scroll-area.mjs +294 -0
  458. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -0
  459. package/fesm2022/slotted-angular-section.mjs +266 -0
  460. package/fesm2022/slotted-angular-section.mjs.map +1 -0
  461. package/fesm2022/slotted-angular-segmented-control.mjs +454 -0
  462. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -0
  463. package/fesm2022/slotted-angular-select.mjs +1899 -0
  464. package/fesm2022/slotted-angular-select.mjs.map +1 -0
  465. package/fesm2022/slotted-angular-side-navigation.mjs +1042 -0
  466. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -0
  467. package/fesm2022/slotted-angular-skeleton.mjs +316 -0
  468. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -0
  469. package/fesm2022/slotted-angular-slider.mjs +586 -0
  470. package/fesm2022/slotted-angular-slider.mjs.map +1 -0
  471. package/fesm2022/slotted-angular-sparkline.mjs +235 -0
  472. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -0
  473. package/fesm2022/slotted-angular-split-button.mjs +331 -0
  474. package/fesm2022/slotted-angular-split-button.mjs.map +1 -0
  475. package/fesm2022/slotted-angular-splitter.mjs +516 -0
  476. package/fesm2022/slotted-angular-splitter.mjs.map +1 -0
  477. package/fesm2022/slotted-angular-stack.mjs +48 -0
  478. package/fesm2022/slotted-angular-stack.mjs.map +1 -0
  479. package/fesm2022/slotted-angular-stat-card.mjs +478 -0
  480. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -0
  481. package/fesm2022/slotted-angular-status-indicator.mjs +155 -0
  482. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -0
  483. package/fesm2022/slotted-angular-stepper.mjs +536 -0
  484. package/fesm2022/slotted-angular-stepper.mjs.map +1 -0
  485. package/fesm2022/slotted-angular-switch.mjs +447 -0
  486. package/fesm2022/slotted-angular-switch.mjs.map +1 -0
  487. package/fesm2022/slotted-angular-table-of-contents.mjs +750 -0
  488. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -0
  489. package/fesm2022/slotted-angular-table.mjs +2518 -0
  490. package/fesm2022/slotted-angular-table.mjs.map +1 -0
  491. package/fesm2022/slotted-angular-tabs.mjs +829 -0
  492. package/fesm2022/slotted-angular-tabs.mjs.map +1 -0
  493. package/fesm2022/slotted-angular-tag.mjs +595 -0
  494. package/fesm2022/slotted-angular-tag.mjs.map +1 -0
  495. package/fesm2022/slotted-angular-tags-input.mjs +1211 -0
  496. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -0
  497. package/fesm2022/slotted-angular-text-field.mjs +674 -0
  498. package/fesm2022/slotted-angular-text-field.mjs.map +1 -0
  499. package/fesm2022/slotted-angular-textarea.mjs +275 -0
  500. package/fesm2022/slotted-angular-textarea.mjs.map +1 -0
  501. package/fesm2022/slotted-angular-theme.mjs +45 -0
  502. package/fesm2022/slotted-angular-theme.mjs.map +1 -0
  503. package/fesm2022/slotted-angular-time-field.mjs +895 -0
  504. package/fesm2022/slotted-angular-time-field.mjs.map +1 -0
  505. package/fesm2022/slotted-angular-time-picker.mjs +856 -0
  506. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -0
  507. package/fesm2022/slotted-angular-time-range-picker.mjs +1534 -0
  508. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -0
  509. package/fesm2022/slotted-angular-timeline.mjs +928 -0
  510. package/fesm2022/slotted-angular-timeline.mjs.map +1 -0
  511. package/fesm2022/slotted-angular-toast.mjs +917 -0
  512. package/fesm2022/slotted-angular-toast.mjs.map +1 -0
  513. package/fesm2022/slotted-angular-toggle-group.mjs +311 -0
  514. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -0
  515. package/fesm2022/slotted-angular-toggle.mjs +162 -0
  516. package/fesm2022/slotted-angular-toggle.mjs.map +1 -0
  517. package/fesm2022/slotted-angular-toolbar.mjs +536 -0
  518. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -0
  519. package/fesm2022/slotted-angular-tooltip.mjs +798 -0
  520. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -0
  521. package/fesm2022/slotted-angular-top-navigation.mjs +1308 -0
  522. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -0
  523. package/fesm2022/slotted-angular-tour.mjs +1330 -0
  524. package/fesm2022/slotted-angular-tour.mjs.map +1 -0
  525. package/fesm2022/slotted-angular-transfer.mjs +1406 -0
  526. package/fesm2022/slotted-angular-transfer.mjs.map +1 -0
  527. package/fesm2022/slotted-angular-tree.mjs +1448 -0
  528. package/fesm2022/slotted-angular-tree.mjs.map +1 -0
  529. package/fesm2022/slotted-angular-typography.mjs +184 -0
  530. package/fesm2022/slotted-angular-typography.mjs.map +1 -0
  531. package/fesm2022/slotted-angular-upload.mjs +1523 -0
  532. package/fesm2022/slotted-angular-upload.mjs.map +1 -0
  533. package/fesm2022/slotted-angular-visually-hidden.mjs +32 -0
  534. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -0
  535. package/fesm2022/slotted-angular-wizard.mjs +1715 -0
  536. package/fesm2022/slotted-angular-wizard.mjs.map +1 -0
  537. package/fesm2022/slotted-angular.mjs +4 -0
  538. package/fesm2022/slotted-angular.mjs.map +1 -0
  539. package/package.json +537 -3
  540. package/types/slotted-angular-accordion.d.ts +156 -0
  541. package/types/slotted-angular-accordion.d.ts.map +1 -0
  542. package/types/slotted-angular-action-bar.d.ts +291 -0
  543. package/types/slotted-angular-action-bar.d.ts.map +1 -0
  544. package/types/slotted-angular-action-sheet.d.ts +294 -0
  545. package/types/slotted-angular-action-sheet.d.ts.map +1 -0
  546. package/types/slotted-angular-alert.d.ts +214 -0
  547. package/types/slotted-angular-alert.d.ts.map +1 -0
  548. package/types/slotted-angular-app-shell.d.ts +549 -0
  549. package/types/slotted-angular-app-shell.d.ts.map +1 -0
  550. package/types/slotted-angular-aspect-ratio.d.ts +57 -0
  551. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -0
  552. package/types/slotted-angular-attachment.d.ts +294 -0
  553. package/types/slotted-angular-attachment.d.ts.map +1 -0
  554. package/types/slotted-angular-avatar-group.d.ts +119 -0
  555. package/types/slotted-angular-avatar-group.d.ts.map +1 -0
  556. package/types/slotted-angular-avatar.d.ts +202 -0
  557. package/types/slotted-angular-avatar.d.ts.map +1 -0
  558. package/types/slotted-angular-badge.d.ts +166 -0
  559. package/types/slotted-angular-badge.d.ts.map +1 -0
  560. package/types/slotted-angular-breadcrumb.d.ts +251 -0
  561. package/types/slotted-angular-breadcrumb.d.ts.map +1 -0
  562. package/types/slotted-angular-button-group.d.ts +89 -0
  563. package/types/slotted-angular-button-group.d.ts.map +1 -0
  564. package/types/slotted-angular-button.d.ts +390 -0
  565. package/types/slotted-angular-button.d.ts.map +1 -0
  566. package/types/slotted-angular-calendar.d.ts +280 -0
  567. package/types/slotted-angular-calendar.d.ts.map +1 -0
  568. package/types/slotted-angular-card.d.ts +140 -0
  569. package/types/slotted-angular-card.d.ts.map +1 -0
  570. package/types/slotted-angular-carousel.d.ts +288 -0
  571. package/types/slotted-angular-carousel.d.ts.map +1 -0
  572. package/types/slotted-angular-cascader.d.ts +351 -0
  573. package/types/slotted-angular-cascader.d.ts.map +1 -0
  574. package/types/slotted-angular-chart.d.ts +319 -0
  575. package/types/slotted-angular-chart.d.ts.map +1 -0
  576. package/types/slotted-angular-checkbox-group.d.ts +156 -0
  577. package/types/slotted-angular-checkbox-group.d.ts.map +1 -0
  578. package/types/slotted-angular-checkbox.d.ts +197 -0
  579. package/types/slotted-angular-checkbox.d.ts.map +1 -0
  580. package/types/slotted-angular-code-block.d.ts +158 -0
  581. package/types/slotted-angular-code-block.d.ts.map +1 -0
  582. package/types/slotted-angular-collapsible.d.ts +272 -0
  583. package/types/slotted-angular-collapsible.d.ts.map +1 -0
  584. package/types/slotted-angular-color-picker.d.ts +181 -0
  585. package/types/slotted-angular-color-picker.d.ts.map +1 -0
  586. package/types/slotted-angular-column-manager.d.ts +200 -0
  587. package/types/slotted-angular-column-manager.d.ts.map +1 -0
  588. package/types/slotted-angular-combobox.d.ts +449 -0
  589. package/types/slotted-angular-combobox.d.ts.map +1 -0
  590. package/types/slotted-angular-command-palette.d.ts +256 -0
  591. package/types/slotted-angular-command-palette.d.ts.map +1 -0
  592. package/types/slotted-angular-container.d.ts +84 -0
  593. package/types/slotted-angular-container.d.ts.map +1 -0
  594. package/types/slotted-angular-context-menu.d.ts +84 -0
  595. package/types/slotted-angular-context-menu.d.ts.map +1 -0
  596. package/types/slotted-angular-currency-field.d.ts +480 -0
  597. package/types/slotted-angular-currency-field.d.ts.map +1 -0
  598. package/types/slotted-angular-dashboard-grid.d.ts +341 -0
  599. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -0
  600. package/types/slotted-angular-data-grid.d.ts +1077 -0
  601. package/types/slotted-angular-data-grid.d.ts.map +1 -0
  602. package/types/slotted-angular-data-list.d.ts +272 -0
  603. package/types/slotted-angular-data-list.d.ts.map +1 -0
  604. package/types/slotted-angular-date-field.d.ts +320 -0
  605. package/types/slotted-angular-date-field.d.ts.map +1 -0
  606. package/types/slotted-angular-date-picker.d.ts +224 -0
  607. package/types/slotted-angular-date-picker.d.ts.map +1 -0
  608. package/types/slotted-angular-date-range-picker.d.ts +310 -0
  609. package/types/slotted-angular-date-range-picker.d.ts.map +1 -0
  610. package/types/slotted-angular-datetime-field.d.ts +362 -0
  611. package/types/slotted-angular-datetime-field.d.ts.map +1 -0
  612. package/types/slotted-angular-datetime-picker.d.ts +370 -0
  613. package/types/slotted-angular-datetime-picker.d.ts.map +1 -0
  614. package/types/slotted-angular-datetime-range-picker.d.ts +459 -0
  615. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -0
  616. package/types/slotted-angular-description-list.d.ts +281 -0
  617. package/types/slotted-angular-description-list.d.ts.map +1 -0
  618. package/types/slotted-angular-detail-panel.d.ts +240 -0
  619. package/types/slotted-angular-detail-panel.d.ts.map +1 -0
  620. package/types/slotted-angular-dialog.d.ts +497 -0
  621. package/types/slotted-angular-dialog.d.ts.map +1 -0
  622. package/types/slotted-angular-divider.d.ts +40 -0
  623. package/types/slotted-angular-divider.d.ts.map +1 -0
  624. package/types/slotted-angular-drawer.d.ts +532 -0
  625. package/types/slotted-angular-drawer.d.ts.map +1 -0
  626. package/types/slotted-angular-entity-picker.d.ts +338 -0
  627. package/types/slotted-angular-entity-picker.d.ts.map +1 -0
  628. package/types/slotted-angular-event-calendar.d.ts +574 -0
  629. package/types/slotted-angular-event-calendar.d.ts.map +1 -0
  630. package/types/slotted-angular-field-group.d.ts +152 -0
  631. package/types/slotted-angular-field-group.d.ts.map +1 -0
  632. package/types/slotted-angular-field.d.ts +535 -0
  633. package/types/slotted-angular-field.d.ts.map +1 -0
  634. package/types/slotted-angular-filter-bar.d.ts +573 -0
  635. package/types/slotted-angular-filter-bar.d.ts.map +1 -0
  636. package/types/slotted-angular-form.d.ts +298 -0
  637. package/types/slotted-angular-form.d.ts.map +1 -0
  638. package/types/slotted-angular-fullscreen.d.ts +145 -0
  639. package/types/slotted-angular-fullscreen.d.ts.map +1 -0
  640. package/types/slotted-angular-grid.d.ts +50 -0
  641. package/types/slotted-angular-grid.d.ts.map +1 -0
  642. package/types/slotted-angular-highlight.d.ts +93 -0
  643. package/types/slotted-angular-highlight.d.ts.map +1 -0
  644. package/types/slotted-angular-hover-card.d.ts +140 -0
  645. package/types/slotted-angular-hover-card.d.ts.map +1 -0
  646. package/types/slotted-angular-i18n.d.ts +46 -0
  647. package/types/slotted-angular-i18n.d.ts.map +1 -0
  648. package/types/slotted-angular-icon.d.ts +94 -0
  649. package/types/slotted-angular-icon.d.ts.map +1 -0
  650. package/types/slotted-angular-image.d.ts +251 -0
  651. package/types/slotted-angular-image.d.ts.map +1 -0
  652. package/types/slotted-angular-import-export-center.d.ts +351 -0
  653. package/types/slotted-angular-import-export-center.d.ts.map +1 -0
  654. package/types/slotted-angular-inline-message.d.ts +195 -0
  655. package/types/slotted-angular-inline-message.d.ts.map +1 -0
  656. package/types/slotted-angular-inline.d.ts +41 -0
  657. package/types/slotted-angular-inline.d.ts.map +1 -0
  658. package/types/slotted-angular-kbd.d.ts +174 -0
  659. package/types/slotted-angular-kbd.d.ts.map +1 -0
  660. package/types/slotted-angular-link.d.ts +94 -0
  661. package/types/slotted-angular-link.d.ts.map +1 -0
  662. package/types/slotted-angular-list-item.d.ts +210 -0
  663. package/types/slotted-angular-list-item.d.ts.map +1 -0
  664. package/types/slotted-angular-list.d.ts +176 -0
  665. package/types/slotted-angular-list.d.ts.map +1 -0
  666. package/types/slotted-angular-listbox.d.ts +470 -0
  667. package/types/slotted-angular-listbox.d.ts.map +1 -0
  668. package/types/slotted-angular-loading-overlay.d.ts +219 -0
  669. package/types/slotted-angular-loading-overlay.d.ts.map +1 -0
  670. package/types/slotted-angular-markdown.d.ts +172 -0
  671. package/types/slotted-angular-markdown.d.ts.map +1 -0
  672. package/types/slotted-angular-menu.d.ts +448 -0
  673. package/types/slotted-angular-menu.d.ts.map +1 -0
  674. package/types/slotted-angular-menubar.d.ts +90 -0
  675. package/types/slotted-angular-menubar.d.ts.map +1 -0
  676. package/types/slotted-angular-message-scroller.d.ts +151 -0
  677. package/types/slotted-angular-message-scroller.d.ts.map +1 -0
  678. package/types/slotted-angular-message.d.ts +348 -0
  679. package/types/slotted-angular-message.d.ts.map +1 -0
  680. package/types/slotted-angular-multi-select.d.ts +462 -0
  681. package/types/slotted-angular-multi-select.d.ts.map +1 -0
  682. package/types/slotted-angular-navigation-menu.d.ts +309 -0
  683. package/types/slotted-angular-navigation-menu.d.ts.map +1 -0
  684. package/types/slotted-angular-notification-center.d.ts +318 -0
  685. package/types/slotted-angular-notification-center.d.ts.map +1 -0
  686. package/types/slotted-angular-number-field.d.ts +402 -0
  687. package/types/slotted-angular-number-field.d.ts.map +1 -0
  688. package/types/slotted-angular-otp-input.d.ts +286 -0
  689. package/types/slotted-angular-otp-input.d.ts.map +1 -0
  690. package/types/slotted-angular-page-header.d.ts +334 -0
  691. package/types/slotted-angular-page-header.d.ts.map +1 -0
  692. package/types/slotted-angular-page.d.ts +141 -0
  693. package/types/slotted-angular-page.d.ts.map +1 -0
  694. package/types/slotted-angular-pagination.d.ts +213 -0
  695. package/types/slotted-angular-pagination.d.ts.map +1 -0
  696. package/types/slotted-angular-popover.d.ts +366 -0
  697. package/types/slotted-angular-popover.d.ts.map +1 -0
  698. package/types/slotted-angular-progress-indicator.d.ts +312 -0
  699. package/types/slotted-angular-progress-indicator.d.ts.map +1 -0
  700. package/types/slotted-angular-prompt-composer.d.ts +242 -0
  701. package/types/slotted-angular-prompt-composer.d.ts.map +1 -0
  702. package/types/slotted-angular-prose.d.ts +171 -0
  703. package/types/slotted-angular-prose.d.ts.map +1 -0
  704. package/types/slotted-angular-radio-group.d.ts +268 -0
  705. package/types/slotted-angular-radio-group.d.ts.map +1 -0
  706. package/types/slotted-angular-rating.d.ts +374 -0
  707. package/types/slotted-angular-rating.d.ts.map +1 -0
  708. package/types/slotted-angular-result-state.d.ts +217 -0
  709. package/types/slotted-angular-result-state.d.ts.map +1 -0
  710. package/types/slotted-angular-saved-views.d.ts +198 -0
  711. package/types/slotted-angular-saved-views.d.ts.map +1 -0
  712. package/types/slotted-angular-scroll-area.d.ts +186 -0
  713. package/types/slotted-angular-scroll-area.d.ts.map +1 -0
  714. package/types/slotted-angular-section.d.ts +143 -0
  715. package/types/slotted-angular-section.d.ts.map +1 -0
  716. package/types/slotted-angular-segmented-control.d.ts +251 -0
  717. package/types/slotted-angular-segmented-control.d.ts.map +1 -0
  718. package/types/slotted-angular-select.d.ts +507 -0
  719. package/types/slotted-angular-select.d.ts.map +1 -0
  720. package/types/slotted-angular-side-navigation.d.ts +373 -0
  721. package/types/slotted-angular-side-navigation.d.ts.map +1 -0
  722. package/types/slotted-angular-skeleton.d.ts +198 -0
  723. package/types/slotted-angular-skeleton.d.ts.map +1 -0
  724. package/types/slotted-angular-slider.d.ts +216 -0
  725. package/types/slotted-angular-slider.d.ts.map +1 -0
  726. package/types/slotted-angular-sparkline.d.ts +106 -0
  727. package/types/slotted-angular-sparkline.d.ts.map +1 -0
  728. package/types/slotted-angular-split-button.d.ts +180 -0
  729. package/types/slotted-angular-split-button.d.ts.map +1 -0
  730. package/types/slotted-angular-splitter.d.ts +206 -0
  731. package/types/slotted-angular-splitter.d.ts.map +1 -0
  732. package/types/slotted-angular-stack.d.ts +38 -0
  733. package/types/slotted-angular-stack.d.ts.map +1 -0
  734. package/types/slotted-angular-stat-card.d.ts +232 -0
  735. package/types/slotted-angular-stat-card.d.ts.map +1 -0
  736. package/types/slotted-angular-status-indicator.d.ts +106 -0
  737. package/types/slotted-angular-status-indicator.d.ts.map +1 -0
  738. package/types/slotted-angular-stepper.d.ts +198 -0
  739. package/types/slotted-angular-stepper.d.ts.map +1 -0
  740. package/types/slotted-angular-switch.d.ts +243 -0
  741. package/types/slotted-angular-switch.d.ts.map +1 -0
  742. package/types/slotted-angular-table-of-contents.d.ts +210 -0
  743. package/types/slotted-angular-table-of-contents.d.ts.map +1 -0
  744. package/types/slotted-angular-table.d.ts +888 -0
  745. package/types/slotted-angular-table.d.ts.map +1 -0
  746. package/types/slotted-angular-tabs.d.ts +340 -0
  747. package/types/slotted-angular-tabs.d.ts.map +1 -0
  748. package/types/slotted-angular-tag.d.ts +279 -0
  749. package/types/slotted-angular-tag.d.ts.map +1 -0
  750. package/types/slotted-angular-tags-input.d.ts +302 -0
  751. package/types/slotted-angular-tags-input.d.ts.map +1 -0
  752. package/types/slotted-angular-text-field.d.ts +334 -0
  753. package/types/slotted-angular-text-field.d.ts.map +1 -0
  754. package/types/slotted-angular-textarea.d.ts +150 -0
  755. package/types/slotted-angular-textarea.d.ts.map +1 -0
  756. package/types/slotted-angular-theme.d.ts +26 -0
  757. package/types/slotted-angular-theme.d.ts.map +1 -0
  758. package/types/slotted-angular-time-field.d.ts +300 -0
  759. package/types/slotted-angular-time-field.d.ts.map +1 -0
  760. package/types/slotted-angular-time-picker.d.ts +260 -0
  761. package/types/slotted-angular-time-picker.d.ts.map +1 -0
  762. package/types/slotted-angular-time-range-picker.d.ts +401 -0
  763. package/types/slotted-angular-time-range-picker.d.ts.map +1 -0
  764. package/types/slotted-angular-timeline.d.ts +329 -0
  765. package/types/slotted-angular-timeline.d.ts.map +1 -0
  766. package/types/slotted-angular-toast.d.ts +340 -0
  767. package/types/slotted-angular-toast.d.ts.map +1 -0
  768. package/types/slotted-angular-toggle-group.d.ts +167 -0
  769. package/types/slotted-angular-toggle-group.d.ts.map +1 -0
  770. package/types/slotted-angular-toggle.d.ts +106 -0
  771. package/types/slotted-angular-toggle.d.ts.map +1 -0
  772. package/types/slotted-angular-toolbar.d.ts +252 -0
  773. package/types/slotted-angular-toolbar.d.ts.map +1 -0
  774. package/types/slotted-angular-tooltip.d.ts +388 -0
  775. package/types/slotted-angular-tooltip.d.ts.map +1 -0
  776. package/types/slotted-angular-top-navigation.d.ts +442 -0
  777. package/types/slotted-angular-top-navigation.d.ts.map +1 -0
  778. package/types/slotted-angular-tour.d.ts +440 -0
  779. package/types/slotted-angular-tour.d.ts.map +1 -0
  780. package/types/slotted-angular-transfer.d.ts +296 -0
  781. package/types/slotted-angular-transfer.d.ts.map +1 -0
  782. package/types/slotted-angular-tree.d.ts +499 -0
  783. package/types/slotted-angular-tree.d.ts.map +1 -0
  784. package/types/slotted-angular-typography.d.ts +89 -0
  785. package/types/slotted-angular-typography.d.ts.map +1 -0
  786. package/types/slotted-angular-upload.d.ts +365 -0
  787. package/types/slotted-angular-upload.d.ts.map +1 -0
  788. package/types/slotted-angular-visually-hidden.d.ts +19 -0
  789. package/types/slotted-angular-visually-hidden.d.ts.map +1 -0
  790. package/types/slotted-angular-wizard.d.ts +441 -0
  791. package/types/slotted-angular-wizard.d.ts.map +1 -0
  792. package/types/slotted-angular.d.ts +3 -0
  793. package/types/slotted-angular.d.ts.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slotted-angular-stepper.mjs","sources":["../../stepper/src/stepper.constants.ts","../../stepper/src/stepper.ts","../../stepper/src/slotted-angular-stepper.ts"],"sourcesContent":["import { InjectionToken, inject } from '@angular/core';\nimport type { StepOrientation } from '@slotted/core/steps';\n\nexport type StepperOrientation = StepOrientation;\nexport type StepperLabelPlacement = 'end' | 'bottom';\n/** What a step header is: a control, a destination, or neither. */\nexport type StepperNavigation = 'button' | 'link' | 'none';\nexport type StepperStepReason = 'pointer' | 'keyboard' | 'programmatic';\n\nexport const STEPPER_DEFAULT_ORIENTATION: StepperOrientation = 'horizontal';\nexport const STEPPER_DEFAULT_LABEL_PLACEMENT: StepperLabelPlacement = 'end';\nexport const STEPPER_DEFAULT_NAVIGATION: StepperNavigation = 'button';\n\nexport interface StepperDefaults {\n labelPlacement?: StepperLabelPlacement;\n linear?: boolean;\n navigation?: StepperNavigation;\n orientation?: StepperOrientation;\n}\n\nexport const STEPPER_DEFAULTS_TOKEN = new InjectionToken<StepperDefaults>(\n 'slotted stepper defaults',\n { providedIn: 'root', factory: (): StepperDefaults => ({}) },\n);\n\n/**\n * An application decides once which way its flows run, where the labels sit,\n * whether a header can be pressed, and whether the order is enforced. A\n * stepper that states any of those itself still wins: an explicit input is\n * never overridden by the token. Its words come from the language in force\n * (`provideSlotted`).\n */\nexport function provideStepperDefaults(defaults: StepperDefaults) {\n return { provide: STEPPER_DEFAULTS_TOKEN, useValue: defaults };\n}\n\nexport function injectStepperDefaults(): StepperDefaults {\n return inject(STEPPER_DEFAULTS_TOKEN);\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n Directive,\n effect,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n untracked,\n ViewEncapsulation,\n} from '@angular/core';\nimport { injectLocale, injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport type { GlyphName } from '@slotted/angular/icon';\nimport { stepperMessages, type PartialMessages, type StepperMessages } from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeRequest } from '@slotted/core/state';\nimport { stepFocusIndex, stepPercent, stepReachable, stepStatus } from '@slotted/core/steps';\n\nimport {\n injectStepperDefaults,\n STEPPER_DEFAULT_LABEL_PLACEMENT,\n STEPPER_DEFAULT_NAVIGATION,\n STEPPER_DEFAULT_ORIENTATION,\n type StepperLabelPlacement,\n type StepperNavigation,\n type StepperOrientation,\n type StepperStepReason,\n} from './stepper.constants';\n\nlet counter = 0;\n\n/**\n * Where the reader is in a sequence of steps, which steps they may reach, and\n * the panel belonging to the step they are on.\n *\n * **It refuses the tab role.** Angular Material gives a horizontal stepper\n * `role=\"tablist\"`; section 7 of the feature guide forbids it in the Tabs entry\n * itself — tabs are for peer views in one context, not for the steps of a\n * process. What replaces it is `ol` and `li` for the sequence,\n * `aria-current=\"step\"` for where the reader is, and a visually hidden status\n * inside each header so a reader hears \"Step 2 of 5, completed\" rather than\n * \"2\".\n *\n * **It validates nothing.** A consumer refuses a move by cancelling the change\n * request, which every mutable value in this library already carries. Zag ships\n * `isStepValid` and `onStepInvalid` for that job; this family needs neither.\n *\n * **It never claims completion.** `complete` is the consumer's fact about one\n * step; `autoComplete` is the shorthand for the flow where reaching step three\n * does mean the first two are done, and it is off.\n */\n@Component({\n selector: '[slStepper]',\n standalone: true,\n template: '<ng-content></ng-content>',\n styleUrls: [\n '../../../styles/src/stepper/stepper.css',\n '../../../styles/src/visually-hidden/visually-hidden.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStepper',\n host: {\n 'data-ui': 'stepper',\n 'data-part': 'root',\n '[attr.data-orientation]': 'orientationValue()',\n '[attr.data-label-placement]': 'labelPlacementValue()',\n '[attr.data-navigation]': 'navigationValue()',\n },\n})\nexport class SlStepper {\n /** Present means controlled, for the life of the component. */\n readonly stepValue = input(undefined, { alias: 'step', transform: optionalNumber });\n /** What an uncontrolled stepper starts from, read once. */\n readonly defaultStep = input(0, { transform: numberAttribute });\n /**\n * Words laid over the catalog of the language in force, key by key: the\n * list's name (`label`), the position, and the status each step announces.\n */\n readonly messages = input<PartialMessages<StepperMessages> | undefined>(undefined);\n readonly orientation = input<StepperOrientation | undefined>(undefined);\n readonly labelPlacement = input<StepperLabelPlacement | undefined>(undefined);\n readonly navigation = input<StepperNavigation | undefined>(undefined);\n readonly linear = input(false, { transform: booleanAttribute });\n readonly autoComplete = input(false, { transform: booleanAttribute });\n\n /**\n * Emitted before the step moves, carrying what it replaces, the reason and\n * the event. It is not the second half of a two-way binding: one slot can\n * carry none of those, and cancelling the request is how a consumer refuses\n * a move.\n */\n readonly stepChange = output<ChangeRequest<number>>();\n\n private readonly defaults = injectStepperDefaults();\n private readonly own = signal<number | undefined>(undefined);\n private readonly steps = signal<readonly SlStepperStep[]>([]);\n\n readonly id = `slotted-stepper-${(counter += 1)}`;\n readonly step = computed(() => this.stepValue() ?? this.own() ?? this.defaultStep());\n readonly count = computed(() => this.steps().length);\n\n readonly orientationValue = computed(\n () => this.orientation() ?? this.defaults.orientation ?? STEPPER_DEFAULT_ORIENTATION,\n );\n readonly labelPlacementValue = computed(\n () => this.labelPlacement() ?? this.defaults.labelPlacement ?? STEPPER_DEFAULT_LABEL_PLACEMENT,\n );\n readonly navigationValue = computed(\n () => this.navigation() ?? this.defaults.navigation ?? STEPPER_DEFAULT_NAVIGATION,\n );\n readonly linearValue = computed(() => this.linear() || this.defaults.linear === true);\n /** The family's words in the language in force, with this stepper's `messages` laid over them. */\n readonly t = injectMessages(stepperMessages, this.messages);\n /** The locale in force: what the descriptors a step announces are listed in. */\n readonly locale = injectLocale();\n\n /** How far along the row the reader has travelled, nought to a hundred. */\n readonly percent = computed(() => stepPercent({ count: this.count(), step: this.step() }));\n readonly canGoPrevious = computed(() => this.step() > 0);\n readonly canGoNext = computed(\n () => this.count() > 0 && this.step() < this.count() - 1 && this.reachable(this.step() + 1),\n );\n\n register(steps: readonly SlStepperStep[]) {\n this.steps.set(steps);\n }\n\n statusOf(index: number) {\n return stepStatus({\n autoComplete: this.autoComplete(),\n complete: this.steps()[index]?.complete(),\n index,\n step: this.step(),\n });\n }\n\n reachable(index: number) {\n return stepReachable({\n autoComplete: this.autoComplete(),\n complete: this.steps()[index]?.complete(),\n count: this.count(),\n disabled: this.steps()[index]?.disabled(),\n index,\n isComplete: (candidate) => this.statusOf(candidate) === 'complete',\n linear: this.linearValue(),\n step: this.step(),\n });\n }\n\n goToStep(next: number, reason: StepperStepReason = 'pointer', source?: Event) {\n if (next < 0 || (this.count() > 0 && next >= this.count())) return;\n const state = createControllable<number>({\n controlled: untracked(() => this.stepValue()),\n initial: untracked(() => this.step()),\n onRequest: (request) => this.stepChange.emit(request),\n });\n if (state.request(next, reason, source)) this.own.set(next);\n }\n\n next(reason: StepperStepReason = 'pointer', source?: Event) {\n this.goToStep(this.step() + 1, reason, source);\n }\n\n previous(reason: StepperStepReason = 'pointer', source?: Event) {\n this.goToStep(this.step() - 1, reason, source);\n }\n\n reset(source?: Event) {\n this.goToStep(this.defaultStep(), 'programmatic', source);\n }\n\n triggerId(index: number) {\n return `${this.id}-trigger-${index}`;\n }\n\n panelId(index: number) {\n return `${this.id}-panel-${index}`;\n }\n}\n\n/**\n * The ordered list, and the one part that knows how many steps there are.\n *\n * The keyboard is handled here rather than on each header, because the\n * destination of an arrow is another header and only the list knows them all.\n * Every header stays in the tab sequence: the arrows are added on top of it\n * rather than replacing it with a roving tab stop, which is the model a\n * `tablist` has and the model this family declined.\n */\n@Directive({\n selector: 'ol[slStepperList]',\n standalone: true,\n exportAs: 'slStepperList',\n host: {\n 'data-part': 'list',\n '[attr.aria-label]': 'accessibleLabel()',\n '(keydown)': 'onKeydown($event)',\n },\n})\nexport class SlStepperList {\n private readonly stepper = inject(SlStepper);\n /* The step is declared below this class, and the dev-server transform puts\n the query predicate in a static initializer — a direct reference would read\n the binding before it exists. `forwardRef` defers the read to the query. */\n private readonly items = contentChildren<SlStepperStep>(forwardRef(() => SlStepperStep));\n private readonly element = inject(ElementRef<HTMLElement>).nativeElement;\n private readonly ownLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n\n readonly accessibleLabel = computed(() => this.ownLabel ?? this.stepper.t('label'));\n\n constructor() {\n effect(() => {\n const items = this.items();\n this.stepper.register(items);\n for (const [index, item] of items.entries()) {\n item.index.set(index);\n item.last.set(index === items.length - 1);\n }\n });\n }\n\n onKeydown(event: KeyboardEvent) {\n const trigger = (event.target as HTMLElement | null)?.closest?.('[data-part=\"trigger\"]');\n const from = Number(trigger?.getAttribute('data-index') ?? -1);\n if (!Number.isInteger(from) || from < 0) return;\n\n const view = this.element.ownerDocument.defaultView;\n const direction = view?.getComputedStyle(this.element).direction === 'rtl' ? 'rtl' : 'ltr';\n\n /**\n * Every header, reachable or not. The arrows move focus exactly where Tab\n * moves it, because that is the whole reason they were added on top of the\n * tab sequence: a step a linear flow has not opened is still one a reader\n * is allowed to find.\n */\n const next = stepFocusIndex({\n count: this.stepper.count(),\n direction,\n from,\n key: event.key,\n orientation: this.stepper.orientationValue(),\n });\n if (next === -1) return;\n\n event.preventDefault();\n this.element.ownerDocument.getElementById(this.stepper.triggerId(next))?.focus();\n }\n}\n\n/**\n * One step: its marker, its name, the second line under it, and the connector\n * that runs to the next one.\n *\n * A step a linear flow has not reached carries `aria-disabled` rather than\n * `disabled`, so it stays in the tab sequence: a reader can find out the step\n * exists and that it is not yet available.\n */\n@Component({\n selector: 'li[slStepperStep]',\n standalone: true,\n imports: [NgTemplateOutlet, SlGlyph, SlIcon],\n template: `\n @switch (stepper.navigationValue()) {\n @case ('none') {\n <span\n [attr.aria-current]=\"current() ? 'step' : null\"\n [attr.data-index]=\"index()\"\n [id]=\"stepper.triggerId(index())\"\n data-part=\"trigger\"\n >\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </span>\n }\n @case ('link') {\n <a\n [attr.aria-current]=\"current() ? 'step' : null\"\n [attr.aria-disabled]=\"unreachable() ? 'true' : null\"\n [attr.data-index]=\"index()\"\n [attr.href]=\"unreachable() ? null : (href() ?? null)\"\n [id]=\"stepper.triggerId(index())\"\n data-part=\"trigger\"\n (click)=\"activate($event)\"\n >\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </a>\n }\n @default {\n <button\n [attr.aria-current]=\"current() ? 'step' : null\"\n [attr.aria-disabled]=\"unreachable() ? 'true' : null\"\n [attr.data-index]=\"index()\"\n [id]=\"stepper.triggerId(index())\"\n data-part=\"trigger\"\n type=\"button\"\n (click)=\"activate($event)\"\n >\n <ng-container *ngTemplateOutlet=\"header\"></ng-container>\n </button>\n }\n }\n <ng-content></ng-content>\n @if (!last()) {\n <span\n [attr.data-complete]=\"travelled() ? '' : null\"\n aria-hidden=\"true\"\n data-part=\"separator\"\n ></span>\n }\n\n <ng-template #header>\n <span aria-hidden=\"true\" data-part=\"marker\"\n >{{ index() + 1 }}\n @if (mark(); as mark) {\n <span slIcon><svg slGlyph [name]=\"mark\"></svg></span>\n }\n </span>\n <span data-part=\"label\">\n {{ label() }}\n @if (description()) {\n <span data-part=\"description\">{{ description() }}</span>\n }\n </span>\n <!--\n The visible name and this run concatenate into one accessible name, and\n nothing separates two elements' text: without the comma a reader hears\n \"CartStep 1 of 4\".\n -->\n <span data-part=\"status\" data-ui=\"visually-hidden\">{{ ', ' + announced() }}</span>\n </ng-template>\n `,\n styleUrls: [\n '../../../styles/src/stepper/stepper.css',\n '../../../styles/src/visually-hidden/visually-hidden.css',\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'slStepperStep',\n host: {\n 'data-part': 'item',\n '[attr.data-current]': 'current() ? \"\" : null',\n '[attr.data-complete]': 'status() === \"complete\" ? \"\" : null',\n '[attr.data-invalid]': 'invalid() ? \"\" : null',\n '[attr.data-loading]': 'loading() ? \"\" : null',\n '[attr.data-disabled]': 'unreachable() ? \"\" : null',\n },\n})\nexport class SlStepperStep {\n readonly stepper = inject(SlStepper);\n\n readonly label = input<string | undefined>(undefined);\n readonly description = input<string | undefined>(undefined);\n readonly complete = input(undefined, { transform: optionalBoolean });\n readonly disabled = input(undefined, { transform: optionalBoolean });\n readonly invalid = input(false, { transform: booleanAttribute });\n readonly loading = input(false, { transform: booleanAttribute });\n readonly href = input<string | undefined>(undefined);\n\n /** Written by the list, the only part that can see the whole sequence. */\n readonly index = signal(0);\n readonly last = signal(false);\n\n readonly current = computed(() => this.index() === this.stepper.step());\n readonly travelled = computed(() => this.index() < this.stepper.step());\n readonly status = computed(() => this.stepper.statusOf(this.index()));\n readonly unreachable = computed(\n () => this.disabled() === true || !this.stepper.reachable(this.index()),\n );\n /**\n * The glyph drawn over the number: a cross for a step in error, a check for\n * a finished one the reader has left. The current step keeps its number\n * even when it is also complete, because the number is what says where the\n * reader is.\n */\n readonly mark = computed<GlyphName | null>(() =>\n this.invalid() ? 'x' : this.status() === 'complete' && !this.current() ? 'check' : null,\n );\n\n /** A list of descriptors, written the way the locale in force lists them. */\n readonly announced = computed(() => {\n const t = this.stepper.t;\n const state = this.invalid()\n ? t('invalid')\n : this.current()\n ? t('current')\n : this.status() === 'complete'\n ? t('complete')\n : undefined;\n return new Intl.ListFormat(this.stepper.locale(), { type: 'unit' }).format(\n [\n t('position', { index: this.index() + 1, count: this.stepper.count() }),\n state,\n this.loading() ? t('loading') : undefined,\n this.unreachable() && !this.current() ? t('unavailable') : undefined,\n ].filter((part): part is string => part !== undefined),\n );\n });\n\n activate(event: Event) {\n if (this.unreachable() || this.loading()) return;\n this.stepper.goToStep(this.index(), 'pointer', event);\n }\n}\n\n/**\n * The content of the step it is written inside. It is a `group` labelled by its\n * own header rather than a `tabpanel`, for the reason the root refuses the tab\n * role, and it is focusable so a consumer moving focus after a step change has\n * somewhere to put it.\n */\n@Directive({\n selector: '[slStepperPanel]',\n standalone: true,\n exportAs: 'slStepperPanel',\n host: {\n 'data-part': 'panel',\n role: 'group',\n tabindex: '-1',\n '[attr.id]': 'stepper.panelId(step.index())',\n '[attr.aria-labelledby]': 'stepper.triggerId(step.index())',\n '[hidden]': '!step.current()',\n },\n})\nexport class SlStepperPanel {\n readonly stepper = inject(SlStepper);\n readonly step = inject(SlStepperStep);\n}\n\n/**\n * The two directives that move the flow, on the consumer's own button.\n *\n * Angular Material reaches the same shape with `matStepperNext`: a family that\n * shipped its own advance button would ship a second button nobody could theme\n * with the first.\n */\n@Directive({\n selector: 'button[slStepperNext]',\n standalone: true,\n exportAs: 'slStepperNext',\n host: {\n '[disabled]': '!stepper.canGoNext()',\n '(click)': 'stepper.next(\"pointer\", $event)',\n },\n})\nexport class SlStepperNext {\n readonly stepper = inject(SlStepper);\n}\n\n@Directive({\n selector: 'button[slStepperPrevious]',\n standalone: true,\n exportAs: 'slStepperPrevious',\n host: {\n '[disabled]': '!stepper.canGoPrevious()',\n '(click)': 'stepper.previous(\"pointer\", $event)',\n },\n})\nexport class SlStepperPrevious {\n readonly stepper = inject(SlStepper);\n}\n\n/** Absence has to survive the transform, so an unset input stays unset. */\nfunction optionalBoolean(value: boolean | string | undefined) {\n return value === undefined ? undefined : booleanAttribute(value);\n}\n\nfunction optionalNumber(value: number | string | undefined) {\n if (value === undefined || value === null || value === '') return undefined;\n const parsed = numberAttribute(value);\n return Number.isFinite(parsed) ? parsed : undefined;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,447 @@
1
+ import { switchMessages } from '@slotted/core/i18n';
2
+ import { createControllable } from '@slotted/core/state';
3
+ import * as i0 from '@angular/core';
4
+ import { InjectionToken, inject, Injectable, Directive, input, booleanAttribute, output, DestroyRef, HostAttributeToken, viewChild, contentChild, signal, computed, effect, forwardRef, ViewEncapsulation, ChangeDetectionStrategy, Component } from '@angular/core';
5
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
6
+ import { injectMessages } from '@slotted/angular/i18n';
7
+ import { SlGlyph, SlIcon } from '@slotted/angular/icon';
8
+ import { SlField } from '@slotted/angular/field';
9
+ import { SlVisuallyHidden } from '@slotted/angular/visually-hidden';
10
+
11
+ /**
12
+ * How long a pending switch stays silent. A save that returns in two hundred
13
+ * milliseconds should say nothing at all, and a live region that spoke on
14
+ * every toggle would make a settings page unusable with a screen reader.
15
+ * Primer measured the same number against the same problem.
16
+ *
17
+ * It is a constant of the family rather than an input: an application that
18
+ * needs longer sets a `loading` message a reader can wait for.
19
+ */
20
+ const SWITCH_LOADING_ANNOUNCE_DELAY = 2000;
21
+ const FALLBACK = {
22
+ indicator: 'mark',
23
+ labelPlacement: 'end',
24
+ size: 'md',
25
+ };
26
+ const SWITCH_DEFAULTS = new InjectionToken('slotted switch defaults', {
27
+ providedIn: 'root',
28
+ factory: () => FALLBACK,
29
+ });
30
+ /**
31
+ * An application decides once what its switches look like, rather than
32
+ * repeating the same inputs on every row of a settings page. A switch that
33
+ * states any of them itself still wins. What a pending switch announces comes
34
+ * from the language in force (`provideSlotted`).
35
+ *
36
+ * `size` is the one the field outranks: a `size="sm"` field holding an `md`
37
+ * control is a field and a control disagreeing about one row, so a switch
38
+ * inside a field takes the field's step and this token answers only outside
39
+ * one.
40
+ */
41
+ function provideSwitchDefaults(defaults) {
42
+ return {
43
+ provide: SWITCH_DEFAULTS,
44
+ useFactory: () => ({ ...FALLBACK, ...defaults }),
45
+ };
46
+ }
47
+ /** What a switch renders as here, before it states anything of its own. */
48
+ function injectSwitchDefaults() {
49
+ return inject(SWITCH_DEFAULTS);
50
+ }
51
+ /**
52
+ * Application-scoped rather than module-scoped, for the reason `field` and
53
+ * `checkbox` both record: a module-level counter produces colliding sequences
54
+ * when two applications render in one server process, and the server and the
55
+ * client sequences must match for hydration.
56
+ */
57
+ class SlSwitchIdFactory {
58
+ count = 0;
59
+ next() {
60
+ this.count += 1;
61
+ return `slotted-switch-${this.count}`;
62
+ }
63
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitchIdFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
64
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitchIdFactory, providedIn: 'root' });
65
+ }
66
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitchIdFactory, decorators: [{
67
+ type: Injectable,
68
+ args: [{ providedIn: 'root' }]
69
+ }] });
70
+
71
+ /**
72
+ * Help text under a switch's label.
73
+ *
74
+ * It is a directive on the consumer's own element, so a `p`, a `span` or an
75
+ * `inline-message` all work and none of them loses its own semantics. It
76
+ * carries an identifier the switch points `aria-describedby` at, which is what
77
+ * makes the sentence a description rather than part of the name — and it is
78
+ * projected outside the `label` for the same reason.
79
+ */
80
+ class SlSwitchDescription {
81
+ id = `${inject(SlSwitchIdFactory).next()}-description`;
82
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitchDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
83
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlSwitchDescription, isStandalone: true, selector: "[slSwitchDescription]", host: { attributes: { "data-part": "description" }, properties: { "attr.id": "id" } }, exportAs: ["slSwitchDescription"], ngImport: i0 });
84
+ }
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitchDescription, decorators: [{
86
+ type: Directive,
87
+ args: [{
88
+ selector: '[slSwitchDescription]',
89
+ standalone: true,
90
+ exportAs: 'slSwitchDescription',
91
+ host: {
92
+ 'data-part': 'description',
93
+ '[attr.id]': 'id',
94
+ },
95
+ }]
96
+ }] });
97
+
98
+ /**
99
+ * Why the switch moved, read from the event rather than guessed. A pointer
100
+ * press reports a click count; Space on a checkbox reports none but is
101
+ * trusted; `element.click()` reports neither, and calling that `keyboard`
102
+ * would tell a consumer a person pressed a key nobody pressed.
103
+ */
104
+ function activationReason(activation) {
105
+ if (activation.detail > 0)
106
+ return 'pointer';
107
+ return activation.isTrusted ? 'keyboard' : 'programmatic';
108
+ }
109
+ /**
110
+ * A binary setting that takes effect immediately.
111
+ *
112
+ * **The control is a checkbox with the switch role.** Space toggles it, the
113
+ * label names it and doubles the target, `name` and `value` are submitted,
114
+ * `form.reset()` restores it, and a disabled `fieldset` disables it — none of
115
+ * which the `button` this family shipped on before gave. ARIA 1.2 declares the
116
+ * `switch` role Children Presentational, so the role goes on the void `input`
117
+ * and never on the host: a host carrying it would fold the label and the
118
+ * description beside it into the control's own accessible name.
119
+ *
120
+ * **Angular pays one element and renders the control itself**, which is the
121
+ * shape `checkbox` settled one item earlier in this wave. `formControlName`,
122
+ * `ngModel`, `id` and `aria-*` sit on the host, and the label is the
123
+ * consumer's own content projected into a `label` that points at the control.
124
+ *
125
+ * **The click is the request.** It is the one event that fires for a pointer,
126
+ * for Space and for `click()`, and the one that can be refused before the
127
+ * element moves.
128
+ *
129
+ * **Unset means ask the field.** `disabled`, `readOnly` and `invalid` default
130
+ * to `undefined` rather than `false`, which is what makes "not disabled" and
131
+ * "said nothing" different answers.
132
+ */
133
+ class SlSwitch {
134
+ /** Present means the consumer owns the state, for the life of the component. */
135
+ checkedValue = input(undefined, { ...(ngDevMode ? { debugName: "checkedValue" } : /* istanbul ignore next */ {}), alias: 'checked',
136
+ transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
137
+ /** What an uncontrolled switch starts from, read once. A form reset restores it. */
138
+ defaultChecked = input(false, { ...(ngDevMode ? { debugName: "defaultChecked" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
139
+ /** What this switch submits when it is on. Nothing is submitted when it is off. */
140
+ value = input(undefined, /* @ts-ignore */
141
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
142
+ name = input(undefined, /* @ts-ignore */
143
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
144
+ size = input(undefined, /* @ts-ignore */
145
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
146
+ indicator = input(undefined, /* @ts-ignore */
147
+ ...(ngDevMode ? [{ debugName: "indicator" }] : /* istanbul ignore next */ []));
148
+ labelPlacement = input(undefined, /* @ts-ignore */
149
+ ...(ngDevMode ? [{ debugName: "labelPlacement" }] : /* istanbul ignore next */ []));
150
+ /**
151
+ * The value is not settled yet. Activation is refused, the geometry does not
152
+ * change, and the pending label is announced politely once the wait is worth
153
+ * announcing.
154
+ */
155
+ loading = input(false, { ...(ngDevMode ? { debugName: "loading" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
156
+ /**
157
+ * Words laid over the catalog of the language in force, key by key:
158
+ * `loading` is what a reader hears while the switch is pending.
159
+ */
160
+ messages = input(undefined, /* @ts-ignore */
161
+ ...(ngDevMode ? [{ debugName: "messages" }] : /* istanbul ignore next */ []));
162
+ /** Unstated rather than `false`, so the switch defers to its field. */
163
+ disabled = input(undefined, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
164
+ /**
165
+ * Unstated rather than `false`. The native `readonly` attribute does nothing
166
+ * on a checkbox, so this is `aria-readonly` plus a refused activation.
167
+ */
168
+ readOnly = input(undefined, { ...(ngDevMode ? { debugName: "readOnly" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
169
+ invalid = input(undefined, { ...(ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {}), transform: (value) => (value === undefined ? undefined : booleanAttribute(value)) });
170
+ /**
171
+ * One output for one transition, carrying the new state, the state it
172
+ * replaces, the reason, the originating event and `cancel()`. There is no
173
+ * `[(checked)]`, because a two-way binding has one slot and can carry none of
174
+ * those; a form gets the same movement through `ControlValueAccessor`.
175
+ */
176
+ checkedChange = output();
177
+ field = inject(SlField, { optional: true });
178
+ defaults = injectSwitchDefaults();
179
+ destroyRef = inject(DestroyRef);
180
+ writtenId = inject(new HostAttributeToken('id'), { optional: true });
181
+ writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {
182
+ optional: true,
183
+ });
184
+ writtenRequired = inject(new HostAttributeToken('required'), { optional: true });
185
+ /** Read here so a consumer's own name survives the host binding. */
186
+ writtenAriaLabel = inject(new HostAttributeToken('aria-label'), {
187
+ optional: true,
188
+ });
189
+ control = viewChild.required('control', /* @ts-ignore */
190
+ ...(ngDevMode ? [{ debugName: "control" }] : /* istanbul ignore next */ []));
191
+ description = contentChild(SlSwitchDescription, { ...(ngDevMode ? { debugName: "description" } : /* istanbul ignore next */ {}), descendants: true });
192
+ own = signal(false, /* @ts-ignore */
193
+ ...(ngDevMode ? [{ debugName: "own" }] : /* istanbul ignore next */ []));
194
+ announced = signal(false, /* @ts-ignore */
195
+ ...(ngDevMode ? [{ debugName: "announced" }] : /* istanbul ignore next */ []));
196
+ formDisabled = signal(undefined, /* @ts-ignore */
197
+ ...(ngDevMode ? [{ debugName: "formDisabled" }] : /* istanbul ignore next */ []));
198
+ onChangeFn = () => undefined;
199
+ onTouchedFn = () => undefined;
200
+ /** A form model owns the value, so a native reset takes the model's value. */
201
+ formBound = false;
202
+ /**
203
+ * The identifier the label points at. A consumer's own wins, then the
204
+ * field's: a field writes `for` at its label whether or not the control it
205
+ * holds draws one, so a switch that kept its own identifier inside a field
206
+ * would leave that label pointing at nothing.
207
+ */
208
+ controlId = this.writtenId ?? this.field?.ids().control ?? inject(SlSwitchIdFactory).next();
209
+ /** The region the pending label is written into. */
210
+ pendingId = `${this.controlId}-pending`;
211
+ checked = computed(() => this.checkedValue() ?? this.own(), /* @ts-ignore */
212
+ ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
213
+ resolvedSize = computed(() => this.size() ?? this.field?.resolvedSize() ?? this.defaults.size, /* @ts-ignore */
214
+ ...(ngDevMode ? [{ debugName: "resolvedSize" }] : /* istanbul ignore next */ []));
215
+ resolvedIndicator = computed(() => this.indicator() ?? this.defaults.indicator, /* @ts-ignore */
216
+ ...(ngDevMode ? [{ debugName: "resolvedIndicator" }] : /* istanbul ignore next */ []));
217
+ resolvedLabelPlacement = computed(() => this.labelPlacement() ?? this.defaults.labelPlacement, /* @ts-ignore */
218
+ ...(ngDevMode ? [{ debugName: "resolvedLabelPlacement" }] : /* istanbul ignore next */ []));
219
+ resolvedDisabled = computed(() => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled(), /* @ts-ignore */
220
+ ...(ngDevMode ? [{ debugName: "resolvedDisabled" }] : /* istanbul ignore next */ []));
221
+ resolvedReadOnly = computed(() => this.readOnly() ?? this.field?.resolvedReadOnly(), /* @ts-ignore */
222
+ ...(ngDevMode ? [{ debugName: "resolvedReadOnly" }] : /* istanbul ignore next */ []));
223
+ resolvedInvalid = computed(() => this.invalid() ?? this.field?.invalid(), /* @ts-ignore */
224
+ ...(ngDevMode ? [{ debugName: "resolvedInvalid" }] : /* istanbul ignore next */ []));
225
+ /** The family's words in the language in force, with this switch's `messages` laid over them. */
226
+ t = injectMessages(switchMessages, this.messages);
227
+ /** Merged after the consumer's own, and the pending region last. */
228
+ describedBy = computed(() => {
229
+ const merged = [
230
+ this.writtenDescribedBy,
231
+ this.description()?.id,
232
+ this.field?.describedBy(),
233
+ this.loading() ? this.pendingId : null,
234
+ ].filter(Boolean);
235
+ return merged.length === 0 ? null : merged.join(' ');
236
+ }, /* @ts-ignore */
237
+ ...(ngDevMode ? [{ debugName: "describedBy" }] : /* istanbul ignore next */ []));
238
+ ariaInvalid = computed(() => this.resolvedInvalid() === true ? 'true' : null, /* @ts-ignore */
239
+ ...(ngDevMode ? [{ debugName: "ariaInvalid" }] : /* istanbul ignore next */ []));
240
+ ariaReadOnly = computed(() => this.resolvedReadOnly() === true ? 'true' : null, /* @ts-ignore */
241
+ ...(ngDevMode ? [{ debugName: "ariaReadOnly" }] : /* istanbul ignore next */ []));
242
+ ariaRequired = computed(() => this.field?.required() === true ? 'true' : null, /* @ts-ignore */
243
+ ...(ngDevMode ? [{ debugName: "ariaRequired" }] : /* istanbul ignore next */ []));
244
+ ariaBusy = computed(() => (this.loading() ? 'true' : null), /* @ts-ignore */
245
+ ...(ngDevMode ? [{ debugName: "ariaBusy" }] : /* istanbul ignore next */ []));
246
+ disabledAttribute = computed(() => this.resolvedDisabled() === true ? '' : null, /* @ts-ignore */
247
+ ...(ngDevMode ? [{ debugName: "disabledAttribute" }] : /* istanbul ignore next */ []));
248
+ /** The element's own attribute, passed through and never written by the family. */
249
+ requiredAttribute = computed(() => this.writtenRequired ?? null, /* @ts-ignore */
250
+ ...(ngDevMode ? [{ debugName: "requiredAttribute" }] : /* istanbul ignore next */ []));
251
+ /** Silence first, and the pending label only if the write is slow enough to notice. */
252
+ announcement = computed(() => this.loading() && this.announced() ? this.t('loading') : '', /* @ts-ignore */
253
+ ...(ngDevMode ? [{ debugName: "announcement" }] : /* istanbul ignore next */ []));
254
+ constructor() {
255
+ effect((onCleanup) => {
256
+ if (!this.loading()) {
257
+ this.announced.set(false);
258
+ return;
259
+ }
260
+ const timer = setTimeout(() => this.announced.set(true), SWITCH_LOADING_ANNOUNCE_DELAY);
261
+ onCleanup(() => clearTimeout(timer));
262
+ });
263
+ }
264
+ /**
265
+ * Angular creates every directive before it binds any input, so the starting
266
+ * state is read here rather than in the constructor: read there,
267
+ * `defaultChecked` is always `false` and an uncontrolled switch would start
268
+ * off however it was written.
269
+ */
270
+ ngOnInit() {
271
+ this.own.set(this.defaultChecked());
272
+ /* A native reset restores the element and tells nothing, so the mirror
273
+ would keep the last thing toggled and the track would disagree with the
274
+ control inside it. A switch bound to a form model takes the model's
275
+ reset value through writeValue instead, and its own default does not
276
+ apply. The form resets its elements after this event, to a default no
277
+ attribute wrote, so the element is put back after it — in a task,
278
+ because a reset pressed by a person drains the microtasks first. */
279
+ const element = this.control().nativeElement;
280
+ const form = element.form;
281
+ if (form !== null) {
282
+ const onReset = () => {
283
+ if (!this.formBound)
284
+ this.own.set(this.defaultChecked());
285
+ setTimeout(() => {
286
+ if (element.checked !== this.checked())
287
+ element.checked = this.checked();
288
+ });
289
+ };
290
+ form.addEventListener('reset', onReset);
291
+ this.destroyRef.onDestroy(() => form.removeEventListener('reset', onReset));
292
+ }
293
+ }
294
+ /** The native element, for `focus()` and anything else the platform ships. */
295
+ get inputElement() {
296
+ return this.control().nativeElement;
297
+ }
298
+ /**
299
+ * Toggles the switch the way the platform does. The click it fires is
300
+ * untrusted and carries no detail, so the request reports itself as
301
+ * `programmatic` rather than as a key press nobody pressed.
302
+ */
303
+ toggle() {
304
+ this.inputElement.click();
305
+ }
306
+ writeValue(value) {
307
+ this.own.set(value === true);
308
+ }
309
+ registerOnChange(fn) {
310
+ this.onChangeFn = fn;
311
+ this.formBound = true;
312
+ }
313
+ registerOnTouched(fn) {
314
+ this.onTouchedFn = fn;
315
+ }
316
+ setDisabledState(isDisabled) {
317
+ this.formDisabled.set(isDisabled);
318
+ }
319
+ onClick(event) {
320
+ if (this.resolvedDisabled() === true || this.resolvedReadOnly() === true || this.loading()) {
321
+ this.refuse(event);
322
+ return;
323
+ }
324
+ const next = !this.checked();
325
+ const reason = activationReason({ detail: event.detail, isTrusted: event.isTrusted });
326
+ let cancelled = false;
327
+ const state = createControllable({
328
+ controlled: this.checkedValue(),
329
+ initial: this.checked(),
330
+ onRequest: (request) => {
331
+ this.checkedChange.emit(request);
332
+ cancelled = request.cancelled;
333
+ },
334
+ });
335
+ state.request(next, reason, event);
336
+ if (cancelled || this.checkedValue() !== undefined) {
337
+ this.refuse(event);
338
+ return;
339
+ }
340
+ this.own.set(next);
341
+ this.onChangeFn(next);
342
+ }
343
+ onBlur() {
344
+ this.onTouchedFn();
345
+ }
346
+ /**
347
+ * Cancelling the click is what the platform offers — a checkbox reverts its
348
+ * own checkedness when its activation is cancelled — and the element is put
349
+ * back beside it, because that revert is the one part of the mechanism an
350
+ * environment can get wrong. A switch showing a state nobody committed is
351
+ * the whole defect this path exists to prevent.
352
+ *
353
+ * The restore is a microtask rather than a line here: the revert the
354
+ * platform does perform happens after the dispatch returns, so a value
355
+ * written now would be the one overwritten. It reads the state again at that
356
+ * point, so a consumer who accepted the move in the same tick keeps their
357
+ * answer.
358
+ */
359
+ refuse(event) {
360
+ event.preventDefault();
361
+ queueMicrotask(() => {
362
+ const element = this.inputElement;
363
+ if (element.checked !== this.checked())
364
+ element.checked = this.checked();
365
+ });
366
+ }
367
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitch, deps: [], target: i0.ɵɵFactoryTarget.Component });
368
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSwitch, isStandalone: true, selector: "[slSwitch]", inputs: { checkedValue: { classPropertyName: "checkedValue", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, defaultChecked: { classPropertyName: "defaultChecked", publicName: "defaultChecked", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", 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 }, indicator: { classPropertyName: "indicator", publicName: "indicator", isSignal: true, isRequired: false, transformFunction: null }, labelPlacement: { classPropertyName: "labelPlacement", publicName: "labelPlacement", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, messages: { classPropertyName: "messages", publicName: "messages", 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 } }, outputs: { checkedChange: "checkedChange" }, host: { attributes: { "data-ui": "switch", "data-part": "root" }, properties: { "attr.data-size": "resolvedSize()", "attr.data-indicator": "resolvedIndicator()", "attr.data-label-placement": "resolvedLabelPlacement()", "attr.data-checked": "checked() ? '' : null", "attr.data-disabled": "resolvedDisabled() === true ? '' : null", "attr.data-readonly": "resolvedReadOnly() === true ? '' : null", "attr.data-invalid": "resolvedInvalid() === true ? '' : null", "attr.data-loading": "loading() ? '' : null" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSwitch), multi: true }], queries: [{ propertyName: "description", first: true, predicate: SlSwitchDescription, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "control", first: true, predicate: ["control"], descendants: true, isSignal: true }], exportAs: ["slSwitch"], ngImport: i0, template: `<input
369
+ #control
370
+ data-part="control"
371
+ type="checkbox"
372
+ role="switch"
373
+ [attr.id]="controlId"
374
+ [attr.name]="name()"
375
+ [attr.value]="value()"
376
+ [attr.aria-describedby]="describedBy()"
377
+ [attr.aria-invalid]="ariaInvalid()"
378
+ [attr.aria-readonly]="ariaReadOnly()"
379
+ [attr.aria-required]="ariaRequired()"
380
+ [attr.aria-busy]="ariaBusy()"
381
+ [attr.aria-label]="writtenAriaLabel"
382
+ [attr.disabled]="disabledAttribute()"
383
+ [attr.required]="requiredAttribute()"
384
+ [checked]="checked()"
385
+ (click)="onClick($event)"
386
+ (blur)="onBlur()"
387
+ />
388
+ <span data-part="track"
389
+ ><span data-part="thumb">
390
+ @if (resolvedIndicator() === 'mark') {
391
+ <span slIcon><svg slGlyph name="check"></svg></span>
392
+ }</span
393
+ ></span>
394
+ <label data-part="label" [attr.for]="controlId"><ng-content /></label>
395
+ <ng-content select="[slSwitchDescription]" />
396
+ <span slVisuallyHidden role="status" [attr.id]="pendingId">{{ announcement() }}</span>`, isInline: true, styles: ["@layer slotted.components{[data-ui=switch][data-part=root]{--_thumb-size: var(--slotted-control-icon-size-md, 16px);--_gutter: var(--slotted-space-1, .125rem);--_border: var(--slotted-control-border-width, 1px);--_track-block: calc(var(--_thumb-size) + (var(--_gutter) + var(--_border)) * 2);--_track-inline: var( --slotted-switch-track-inline-size, calc(var(--_thumb-size) * 2 + var(--_gutter) * 3 + var(--_border) * 2) );--_travel: calc(var(--_thumb-size) + var(--_gutter));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-label-gap-md, 12px);--_line-height: var(--slotted-switch-line-height, var(--slotted-line-height-md, 1.5));--_label-slack: max(0px, (var(--_track-block) - var(--_font-size) * var(--_line-height)) / 2);--_lift: max( 0px, calc( var(--_label-slack) + (var(--_font-size) * var(--_line-height) - var(--_track-block)) / 2 ) );--_target-block: max(var(--_track-block), var(--slotted-target-min, 24px));--_description-gap: max(0px, var(--slotted-space-3, .375rem) - var(--_label-slack));align-content:start;color:var(--slotted-switch-color, var(--slotted-text, CanvasText));display:grid;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);grid-template-columns:auto minmax(0,1fr);line-height:var(--_line-height)}[data-ui=switch]>[data-part=control]{align-self:start;appearance:none;background-color:transparent;block-size:var(--_target-block);border:0;cursor:pointer;grid-area:1 / 1;inline-size:var(--_track-inline);margin-block-end:calc((var(--_track-block) - var(--_target-block)) / 2);margin-block-start:calc(var(--_lift) + (var(--_track-block) - var(--_target-block)) / 2);margin-inline:0;opacity:0;outline:none;padding:0;touch-action:manipulation;z-index:1;-webkit-tap-highlight-color:transparent}[data-ui=switch]>[data-part=track]{background-color:var( --slotted-switch-track-background, var(--slotted-tone-secondary-solid, ButtonFace) );block-size:var(--_track-block);border:var(--_border) solid var(--slotted-switch-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-switch-radius, var(--slotted-radius-full, 9999px));box-sizing:border-box;grid-area:1 / 1;inline-size:var(--_track-inline);margin-block-start:var(--_lift);pointer-events:none;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=switch]>[data-part=track]>[data-part=thumb]{align-items:center;background-color:var(--slotted-switch-thumb-background, var(--slotted-tone-accent-on-solid));border:var(--_border) solid var(--slotted-switch-thumb-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);block-size:var(--_thumb-size);box-shadow:var(--slotted-switch-thumb-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;display:flex;inline-size:var(--_thumb-size);inset-block-start:var(--_gutter);inset-inline-start:var(--_gutter);justify-content:center;position:absolute;transition:inset-inline-start var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=switch]>[data-part=track]>[data-part=thumb]>[data-ui=icon]{block-size:70%;color:var(--slotted-switch-mark-color, var(--slotted-tone-accent-solid));inline-size:70%;opacity:0;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=switch]>[data-part=label]{cursor:pointer;grid-column:2;grid-row:1;overflow-wrap:anywhere;padding-block:var(--_label-slack)}[data-ui=switch][data-part=root]:has(>[data-part=label]){column-gap:var(--_gap)}[data-ui=switch]>[data-part=label]{justify-self:start}[data-ui=switch][data-part=root]:has(>[data-part=label])>[data-part=control]{inline-size:calc(var(--_track-inline) + var(--_gap));margin-inline-end:calc(-1 * var(--_gap))}[data-ui=switch]>[data-part=description]{color:var(--slotted-switch-description-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-switch-description-font-size, var(--slotted-font-size-xs, .75rem));grid-column:2;grid-row:2;line-height:var(--slotted-line-height-xs, 1.4);margin:0;overflow-wrap:anywhere;padding-block-start:var(--_description-gap)}[data-ui=switch][data-part=root][data-label-placement=start]{grid-template-columns:minmax(0,1fr) auto}[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=control],[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=track]{grid-area:1 / 2}[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=label],[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=description]{grid-column:1}[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=label]{justify-self:stretch}[data-ui=switch][data-part=root][data-label-placement=start]:has(>[data-part=label])>[data-part=control]{margin-inline-end:0;margin-inline-start:calc(-1 * var(--_gap))}[data-ui=switch][data-part=root][data-size=sm]{--_thumb-size: var(--slotted-control-icon-size-sm, 14px);--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-label-gap-sm, 8px)}[data-ui=switch][data-part=root][data-size=md]{--_thumb-size: var(--slotted-control-icon-size-md, 16px);--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-label-gap-md, 12px)}[data-ui=switch][data-part=root][data-size=lg]{--_thumb-size: var(--slotted-control-icon-size-lg, 18px);--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-label-gap-lg, 12px)}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]{background-color:var( --slotted-switch-checked-background, var(--slotted-tone-accent-solid, Highlight) );border-color:var( --slotted-switch-checked-border-color, var(--slotted-tone-accent-solid, Highlight) )}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]>[data-part=thumb]{border-color:var( --slotted-switch-checked-thumb-border-color, var(--slotted-tone-accent-solid, Highlight) );inset-inline-start:calc(var(--_gutter) + var(--_travel))}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked)):not([data-loading])>[data-part=track]>[data-part=thumb]>[data-ui=icon]{opacity:1}[data-ui=switch][data-part=root]:hover:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-hover-background, var(--slotted-tone-secondary-solid-hover, ButtonFace) )}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked)):hover:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-checked-hover-background, var(--slotted-tone-accent-solid-hover, Highlight) );border-color:var( --slotted-switch-checked-hover-background, var(--slotted-tone-accent-solid-hover, Highlight) )}[data-ui=switch][data-part=root]:active:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-active-background, var(--slotted-tone-secondary-solid-active, ButtonFace) )}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked)):active:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-checked-active-background, var(--slotted-tone-accent-solid-active, Highlight) );border-color:var( --slotted-switch-checked-active-background, var(--slotted-tone-accent-solid-active, Highlight) )}[data-ui=switch][data-part=root]:has(>[data-part=control]:focus-visible)>[data-part=track]{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=switch][data-part=root][data-readonly]>[data-part=track]{background-color:var(--slotted-switch-readonly-background, var(--slotted-surface, Canvas))}[data-ui=switch][data-part=root][data-readonly]>[data-part=control],[data-ui=switch][data-part=root][data-readonly]>[data-part=label]{cursor:default}[data-ui=switch][data-part=root][data-readonly]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]{background-color:var(--slotted-switch-readonly-background, var(--slotted-surface, Canvas));border-color:var( --slotted-switch-readonly-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui=switch][data-part=root][data-readonly]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]>[data-part=thumb]{border-color:var( --slotted-switch-readonly-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui=switch][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-switch-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=switch][data-part=root][data-invalid]>[data-part=track],[data-ui=switch][data-part=root][data-invalid]>[data-part=track]>[data-part=thumb]{border-color:var(--slotted-switch-invalid-border-color, var(--slotted-tone-danger-border));--_invalid-edge-width: var( --slotted-switch-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );box-shadow:inset 0 0 0 var(--_invalid-edge-width) var(--slotted-switch-invalid-border-color, var(--slotted-tone-danger-border))}[data-ui=switch][data-part=root][data-loading]>[data-part=control]{cursor:progress}[data-ui=switch][data-part=root][data-loading]>[data-part=track]>[data-part=thumb]>[data-ui=icon]{opacity:0}[data-ui=switch][data-part=root][data-loading]>[data-part=track]>[data-part=thumb]:after{animation:slotted-switch-pending var(--slotted-duration-loop) linear infinite;border:var(--slotted-border-width-thin, 1px) solid var(--slotted-switch-pending-color, var(--slotted-tone-accent-solid));border-inline-start-color:transparent;border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;content:\"\";display:block;inset:12.5%;position:absolute}@keyframes slotted-switch-pending{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){[data-ui=switch][data-part=root][data-loading]>[data-part=track]>[data-part=thumb]:after{animation:none}}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=control],[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=label]{cursor:not-allowed}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-disabled-background, var(--slotted-disabled-background, ButtonFace) );border-color:var(--slotted-switch-disabled-border-color, var(--slotted-disabled-border))}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=track]>[data-part=thumb]{background-color:var( --slotted-switch-disabled-thumb-background, var(--slotted-disabled-foreground) );border-color:var(--slotted-switch-disabled-border-color, var(--slotted-disabled-border));box-shadow:none}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=track]>[data-part=thumb]>[data-ui=icon]{color:var(--slotted-switch-disabled-mark-color, var(--slotted-disabled-background))}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=label],[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=description]{color:var(--slotted-switch-disabled-color, var(--slotted-disabled-foreground, GrayText))}@media(forced-colors:active){[data-ui=switch][data-part=root][data-invalid]>[data-part=track],[data-ui=switch][data-part=root][data-invalid]>[data-part=track]>[data-part=thumb]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--_border) + var(--_invalid-edge-width)))}}}\n"], dependencies: [{ kind: "component", type: SlGlyph, selector: "svg[slGlyph]", inputs: ["name", "solid"] }, { kind: "component", type: SlIcon, selector: "[slIcon]", inputs: ["directional", "label", "size", "tone"], exportAs: ["slIcon"] }, { kind: "component", type: SlVisuallyHidden, selector: "[slVisuallyHidden]", inputs: ["focusable"], exportAs: ["slVisuallyHidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
397
+ }
398
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitch, decorators: [{
399
+ type: Component,
400
+ args: [{ selector: '[slSwitch]', standalone: true, exportAs: 'slSwitch', imports: [SlGlyph, SlIcon, SlVisuallyHidden], template: `<input
401
+ #control
402
+ data-part="control"
403
+ type="checkbox"
404
+ role="switch"
405
+ [attr.id]="controlId"
406
+ [attr.name]="name()"
407
+ [attr.value]="value()"
408
+ [attr.aria-describedby]="describedBy()"
409
+ [attr.aria-invalid]="ariaInvalid()"
410
+ [attr.aria-readonly]="ariaReadOnly()"
411
+ [attr.aria-required]="ariaRequired()"
412
+ [attr.aria-busy]="ariaBusy()"
413
+ [attr.aria-label]="writtenAriaLabel"
414
+ [attr.disabled]="disabledAttribute()"
415
+ [attr.required]="requiredAttribute()"
416
+ [checked]="checked()"
417
+ (click)="onClick($event)"
418
+ (blur)="onBlur()"
419
+ />
420
+ <span data-part="track"
421
+ ><span data-part="thumb">
422
+ @if (resolvedIndicator() === 'mark') {
423
+ <span slIcon><svg slGlyph name="check"></svg></span>
424
+ }</span
425
+ ></span>
426
+ <label data-part="label" [attr.for]="controlId"><ng-content /></label>
427
+ <ng-content select="[slSwitchDescription]" />
428
+ <span slVisuallyHidden role="status" [attr.id]="pendingId">{{ announcement() }}</span>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSwitch), multi: true }], host: {
429
+ 'data-ui': 'switch',
430
+ 'data-part': 'root',
431
+ '[attr.data-size]': 'resolvedSize()',
432
+ '[attr.data-indicator]': 'resolvedIndicator()',
433
+ '[attr.data-label-placement]': 'resolvedLabelPlacement()',
434
+ '[attr.data-checked]': "checked() ? '' : null",
435
+ '[attr.data-disabled]': "resolvedDisabled() === true ? '' : null",
436
+ '[attr.data-readonly]': "resolvedReadOnly() === true ? '' : null",
437
+ '[attr.data-invalid]': "resolvedInvalid() === true ? '' : null",
438
+ '[attr.data-loading]': "loading() ? '' : null",
439
+ }, styles: ["@layer slotted.components{[data-ui=switch][data-part=root]{--_thumb-size: var(--slotted-control-icon-size-md, 16px);--_gutter: var(--slotted-space-1, .125rem);--_border: var(--slotted-control-border-width, 1px);--_track-block: calc(var(--_thumb-size) + (var(--_gutter) + var(--_border)) * 2);--_track-inline: var( --slotted-switch-track-inline-size, calc(var(--_thumb-size) * 2 + var(--_gutter) * 3 + var(--_border) * 2) );--_travel: calc(var(--_thumb-size) + var(--_gutter));--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-label-gap-md, 12px);--_line-height: var(--slotted-switch-line-height, var(--slotted-line-height-md, 1.5));--_label-slack: max(0px, (var(--_track-block) - var(--_font-size) * var(--_line-height)) / 2);--_lift: max( 0px, calc( var(--_label-slack) + (var(--_font-size) * var(--_line-height) - var(--_track-block)) / 2 ) );--_target-block: max(var(--_track-block), var(--slotted-target-min, 24px));--_description-gap: max(0px, var(--slotted-space-3, .375rem) - var(--_label-slack));align-content:start;color:var(--slotted-switch-color, var(--slotted-text, CanvasText));display:grid;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);grid-template-columns:auto minmax(0,1fr);line-height:var(--_line-height)}[data-ui=switch]>[data-part=control]{align-self:start;appearance:none;background-color:transparent;block-size:var(--_target-block);border:0;cursor:pointer;grid-area:1 / 1;inline-size:var(--_track-inline);margin-block-end:calc((var(--_track-block) - var(--_target-block)) / 2);margin-block-start:calc(var(--_lift) + (var(--_track-block) - var(--_target-block)) / 2);margin-inline:0;opacity:0;outline:none;padding:0;touch-action:manipulation;z-index:1;-webkit-tap-highlight-color:transparent}[data-ui=switch]>[data-part=track]{background-color:var( --slotted-switch-track-background, var(--slotted-tone-secondary-solid, ButtonFace) );block-size:var(--_track-block);border:var(--_border) solid var(--slotted-switch-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-switch-radius, var(--slotted-radius-full, 9999px));box-sizing:border-box;grid-area:1 / 1;inline-size:var(--_track-inline);margin-block-start:var(--_lift);pointer-events:none;position:relative;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=switch]>[data-part=track]>[data-part=thumb]{align-items:center;background-color:var(--slotted-switch-thumb-background, var(--slotted-tone-accent-on-solid));border:var(--_border) solid var(--slotted-switch-thumb-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);block-size:var(--_thumb-size);box-shadow:var(--slotted-switch-thumb-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;display:flex;inline-size:var(--_thumb-size);inset-block-start:var(--_gutter);inset-inline-start:var(--_gutter);justify-content:center;position:absolute;transition:inset-inline-start var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=switch]>[data-part=track]>[data-part=thumb]>[data-ui=icon]{block-size:70%;color:var(--slotted-switch-mark-color, var(--slotted-tone-accent-solid));inline-size:70%;opacity:0;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=switch]>[data-part=label]{cursor:pointer;grid-column:2;grid-row:1;overflow-wrap:anywhere;padding-block:var(--_label-slack)}[data-ui=switch][data-part=root]:has(>[data-part=label]){column-gap:var(--_gap)}[data-ui=switch]>[data-part=label]{justify-self:start}[data-ui=switch][data-part=root]:has(>[data-part=label])>[data-part=control]{inline-size:calc(var(--_track-inline) + var(--_gap));margin-inline-end:calc(-1 * var(--_gap))}[data-ui=switch]>[data-part=description]{color:var(--slotted-switch-description-color, var(--slotted-text-muted, GrayText));font-size:var(--slotted-switch-description-font-size, var(--slotted-font-size-xs, .75rem));grid-column:2;grid-row:2;line-height:var(--slotted-line-height-xs, 1.4);margin:0;overflow-wrap:anywhere;padding-block-start:var(--_description-gap)}[data-ui=switch][data-part=root][data-label-placement=start]{grid-template-columns:minmax(0,1fr) auto}[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=control],[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=track]{grid-area:1 / 2}[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=label],[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=description]{grid-column:1}[data-ui=switch][data-part=root][data-label-placement=start]>[data-part=label]{justify-self:stretch}[data-ui=switch][data-part=root][data-label-placement=start]:has(>[data-part=label])>[data-part=control]{margin-inline-end:0;margin-inline-start:calc(-1 * var(--_gap))}[data-ui=switch][data-part=root][data-size=sm]{--_thumb-size: var(--slotted-control-icon-size-sm, 14px);--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-label-gap-sm, 8px)}[data-ui=switch][data-part=root][data-size=md]{--_thumb-size: var(--slotted-control-icon-size-md, 16px);--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-label-gap-md, 12px)}[data-ui=switch][data-part=root][data-size=lg]{--_thumb-size: var(--slotted-control-icon-size-lg, 18px);--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-label-gap-lg, 12px)}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]{background-color:var( --slotted-switch-checked-background, var(--slotted-tone-accent-solid, Highlight) );border-color:var( --slotted-switch-checked-border-color, var(--slotted-tone-accent-solid, Highlight) )}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]>[data-part=thumb]{border-color:var( --slotted-switch-checked-thumb-border-color, var(--slotted-tone-accent-solid, Highlight) );inset-inline-start:calc(var(--_gutter) + var(--_travel))}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked)):not([data-loading])>[data-part=track]>[data-part=thumb]>[data-ui=icon]{opacity:1}[data-ui=switch][data-part=root]:hover:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-hover-background, var(--slotted-tone-secondary-solid-hover, ButtonFace) )}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked)):hover:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-checked-hover-background, var(--slotted-tone-accent-solid-hover, Highlight) );border-color:var( --slotted-switch-checked-hover-background, var(--slotted-tone-accent-solid-hover, Highlight) )}[data-ui=switch][data-part=root]:active:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-active-background, var(--slotted-tone-secondary-solid-active, ButtonFace) )}[data-ui=switch][data-part=root]:is([data-checked],:has(>[data-part=control]:checked)):active:not([data-disabled]):not([data-loading]):not([data-readonly]):not(:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-checked-active-background, var(--slotted-tone-accent-solid-active, Highlight) );border-color:var( --slotted-switch-checked-active-background, var(--slotted-tone-accent-solid-active, Highlight) )}[data-ui=switch][data-part=root]:has(>[data-part=control]:focus-visible)>[data-part=track]{outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=switch][data-part=root][data-readonly]>[data-part=track]{background-color:var(--slotted-switch-readonly-background, var(--slotted-surface, Canvas))}[data-ui=switch][data-part=root][data-readonly]>[data-part=control],[data-ui=switch][data-part=root][data-readonly]>[data-part=label]{cursor:default}[data-ui=switch][data-part=root][data-readonly]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]{background-color:var(--slotted-switch-readonly-background, var(--slotted-surface, Canvas));border-color:var( --slotted-switch-readonly-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui=switch][data-part=root][data-readonly]:is([data-checked],:has(>[data-part=control]:checked))>[data-part=track]>[data-part=thumb]{border-color:var( --slotted-switch-readonly-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui=switch][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-switch-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=switch][data-part=root][data-invalid]>[data-part=track],[data-ui=switch][data-part=root][data-invalid]>[data-part=track]>[data-part=thumb]{border-color:var(--slotted-switch-invalid-border-color, var(--slotted-tone-danger-border));--_invalid-edge-width: var( --slotted-switch-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );box-shadow:inset 0 0 0 var(--_invalid-edge-width) var(--slotted-switch-invalid-border-color, var(--slotted-tone-danger-border))}[data-ui=switch][data-part=root][data-loading]>[data-part=control]{cursor:progress}[data-ui=switch][data-part=root][data-loading]>[data-part=track]>[data-part=thumb]>[data-ui=icon]{opacity:0}[data-ui=switch][data-part=root][data-loading]>[data-part=track]>[data-part=thumb]:after{animation:slotted-switch-pending var(--slotted-duration-loop) linear infinite;border:var(--slotted-border-width-thin, 1px) solid var(--slotted-switch-pending-color, var(--slotted-tone-accent-solid));border-inline-start-color:transparent;border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;content:\"\";display:block;inset:12.5%;position:absolute}@keyframes slotted-switch-pending{to{rotate:360deg}}@media(prefers-reduced-motion:reduce){[data-ui=switch][data-part=root][data-loading]>[data-part=track]>[data-part=thumb]:after{animation:none}}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=control],[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=label]{cursor:not-allowed}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=track]{background-color:var( --slotted-switch-disabled-background, var(--slotted-disabled-background, ButtonFace) );border-color:var(--slotted-switch-disabled-border-color, var(--slotted-disabled-border))}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=track]>[data-part=thumb]{background-color:var( --slotted-switch-disabled-thumb-background, var(--slotted-disabled-foreground) );border-color:var(--slotted-switch-disabled-border-color, var(--slotted-disabled-border));box-shadow:none}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=track]>[data-part=thumb]>[data-ui=icon]{color:var(--slotted-switch-disabled-mark-color, var(--slotted-disabled-background))}[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=label],[data-ui=switch][data-part=root]:is([data-disabled],:has(>[data-part=control]:disabled))>[data-part=description]{color:var(--slotted-switch-disabled-color, var(--slotted-disabled-foreground, GrayText))}@media(forced-colors:active){[data-ui=switch][data-part=root][data-invalid]>[data-part=track],[data-ui=switch][data-part=root][data-invalid]>[data-part=track]>[data-part=thumb]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--_border) + var(--_invalid-edge-width)))}}}\n"] }]
440
+ }], ctorParameters: () => [], propDecorators: { checkedValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], defaultChecked: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultChecked", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], indicator: [{ type: i0.Input, args: [{ isSignal: true, alias: "indicator", required: false }] }], labelPlacement: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelPlacement", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], messages: [{ type: i0.Input, args: [{ isSignal: true, alias: "messages", 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 }] }], checkedChange: [{ type: i0.Output, args: ["checkedChange"] }], control: [{ type: i0.ViewChild, args: ['control', { isSignal: true }] }], description: [{ type: i0.ContentChild, args: [i0.forwardRef(() => SlSwitchDescription), { ...{ descendants: true }, isSignal: true }] }] } });
441
+
442
+ /**
443
+ * Generated bundle index. Do not edit.
444
+ */
445
+
446
+ export { SWITCH_DEFAULTS, SWITCH_LOADING_ANNOUNCE_DELAY, SlSwitch, SlSwitchDescription, SlSwitchIdFactory, activationReason, injectSwitchDefaults, provideSwitchDefaults };
447
+ //# sourceMappingURL=slotted-angular-switch.mjs.map