@slotted/angular 0.1.0-beta.0 → 0.1.0-beta.10

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 (588) hide show
  1. package/README.md +4 -0
  2. package/docs/AGENTS.snippet.md +12 -0
  3. package/docs/alert.json +7 -1
  4. package/docs/alert.md +3 -3
  5. package/docs/app-shell.examples.md +1 -1
  6. package/docs/app-shell.json +5 -5
  7. package/docs/app-shell.md +2 -2
  8. package/docs/avatar.json +22 -1
  9. package/docs/avatar.md +5 -3
  10. package/docs/badge.json +7 -1
  11. package/docs/badge.md +3 -3
  12. package/docs/button-group.json +2 -0
  13. package/docs/button-group.md +1 -1
  14. package/docs/button.json +51 -11
  15. package/docs/button.md +10 -6
  16. package/docs/calendar.json +8 -1
  17. package/docs/calendar.md +1 -0
  18. package/docs/cascader.json +1 -0
  19. package/docs/cascader.md +1 -1
  20. package/docs/chart.examples.md +1 -1
  21. package/docs/chart.json +10 -1
  22. package/docs/chart.md +3 -2
  23. package/docs/checkbox.json +7 -0
  24. package/docs/checkbox.md +1 -0
  25. package/docs/code-block.json +92 -92
  26. package/docs/code-block.md +69 -69
  27. package/docs/combobox.json +1 -0
  28. package/docs/combobox.md +1 -1
  29. package/docs/currency-field.json +40 -1
  30. package/docs/currency-field.md +5 -1
  31. package/docs/data-grid.examples.md +2 -2
  32. package/docs/data-grid.json +24 -7
  33. package/docs/data-grid.md +1 -1
  34. package/docs/data-grid.props.md +6 -4
  35. package/docs/data-list.json +2 -1
  36. package/docs/data-list.md +1 -1
  37. package/docs/date-field.json +9 -1
  38. package/docs/date-field.md +3 -2
  39. package/docs/date-picker.examples.md +36 -0
  40. package/docs/date-picker.json +20 -5
  41. package/docs/date-picker.md +5 -4
  42. package/docs/datetime-field.json +1 -0
  43. package/docs/datetime-field.md +1 -1
  44. package/docs/dialog.examples.md +158 -136
  45. package/docs/dialog.json +35 -11
  46. package/docs/dialog.md +4 -2
  47. package/docs/dialog.props.md +1 -1
  48. package/docs/drawer.json +5 -0
  49. package/docs/drawer.md +1 -0
  50. package/docs/entity-picker.json +19 -4
  51. package/docs/entity-picker.md +8 -6
  52. package/docs/event-calendar.json +7 -0
  53. package/docs/event-calendar.md +1 -0
  54. package/docs/filter-bar.json +118 -118
  55. package/docs/filter-bar.md +79 -79
  56. package/docs/form.json +2 -1
  57. package/docs/form.md +1 -1
  58. package/docs/guidelines/README.md +27 -0
  59. package/docs/guidelines/async-feedback.md +129 -0
  60. package/docs/guidelines/browsing.md +74 -0
  61. package/docs/guidelines/builders.md +97 -0
  62. package/docs/guidelines/composition.md +143 -0
  63. package/docs/guidelines/conversations.md +59 -0
  64. package/docs/guidelines/errors-and-conflicts.md +71 -0
  65. package/docs/guidelines/forms.md +202 -0
  66. package/docs/guidelines/index.md +129 -0
  67. package/docs/guidelines/layout-alignment.md +95 -0
  68. package/docs/guidelines/ledgers.md +45 -0
  69. package/docs/guidelines/list-pages.md +206 -0
  70. package/docs/guidelines/overviews.md +76 -0
  71. package/docs/guidelines/own-elements.md +115 -0
  72. package/docs/guidelines/reading-permissions.md +55 -0
  73. package/docs/guidelines/record-pages.md +178 -0
  74. package/docs/guidelines/reports.md +123 -0
  75. package/docs/guidelines/shell-composition.md +94 -0
  76. package/docs/guidelines/workspaces.md +46 -0
  77. package/docs/icon.json +3 -1
  78. package/docs/icon.md +3 -3
  79. package/docs/index.md +12 -0
  80. package/docs/inline-message.json +14 -2
  81. package/docs/inline-message.md +4 -3
  82. package/docs/list-item.json +9 -1
  83. package/docs/list-item.md +3 -3
  84. package/docs/list.json +19 -1
  85. package/docs/list.md +3 -1
  86. package/docs/markdown.json +79 -79
  87. package/docs/markdown.md +65 -65
  88. package/docs/menu.json +12 -0
  89. package/docs/menu.md +2 -0
  90. package/docs/message.json +7 -1
  91. package/docs/message.md +3 -3
  92. package/docs/multi-select.json +1 -0
  93. package/docs/multi-select.md +1 -1
  94. package/docs/notification-center.json +4 -0
  95. package/docs/notification-center.md +2 -2
  96. package/docs/number-field.json +1 -0
  97. package/docs/number-field.md +1 -1
  98. package/docs/otp-input.json +1 -0
  99. package/docs/otp-input.md +1 -1
  100. package/docs/page-header.json +4 -3
  101. package/docs/page-header.md +2 -2
  102. package/docs/page.json +1 -0
  103. package/docs/page.md +1 -0
  104. package/docs/popover.json +1 -1
  105. package/docs/progress-indicator.json +4 -3
  106. package/docs/progress-indicator.md +4 -4
  107. package/docs/prompt-composer.json +41 -1
  108. package/docs/prompt-composer.md +5 -1
  109. package/docs/rating.json +5 -3
  110. package/docs/rating.md +5 -5
  111. package/docs/section.json +27 -15
  112. package/docs/section.md +11 -9
  113. package/docs/segmented-control.json +36 -12
  114. package/docs/segmented-control.md +17 -1
  115. package/docs/select.json +1 -0
  116. package/docs/select.md +1 -1
  117. package/docs/side-navigation.json +1 -0
  118. package/docs/side-navigation.md +1 -1
  119. package/docs/skills/build-own-element/SKILL.md +90 -0
  120. package/docs/skills/compose-screen/SKILL.md +95 -0
  121. package/docs/skills/index.md +9 -0
  122. package/docs/skills/review-screen/SKILL.md +77 -0
  123. package/docs/skills/theme-app/SKILL.md +87 -0
  124. package/docs/skills/waiting-states/SKILL.md +143 -0
  125. package/docs/sparkline.json +5 -2
  126. package/docs/sparkline.md +4 -4
  127. package/docs/split-button.json +4 -1
  128. package/docs/split-button.md +3 -3
  129. package/docs/stat-card.json +5 -1
  130. package/docs/stat-card.md +3 -3
  131. package/docs/table.examples.md +3 -3
  132. package/docs/table.json +85 -3
  133. package/docs/table.md +12 -1
  134. package/docs/tabs.json +17 -7
  135. package/docs/tabs.md +3 -2
  136. package/docs/tag.json +14 -4
  137. package/docs/tag.md +6 -6
  138. package/docs/tags-input.json +29 -2
  139. package/docs/tags-input.md +4 -1
  140. package/docs/text-field.json +2 -1
  141. package/docs/text-field.md +2 -2
  142. package/docs/textarea.json +1 -0
  143. package/docs/textarea.md +1 -1
  144. package/docs/time-field.json +1 -0
  145. package/docs/time-field.md +1 -1
  146. package/docs/timeline.json +138 -132
  147. package/docs/timeline.md +125 -125
  148. package/docs/toast.json +7 -1
  149. package/docs/toast.md +3 -3
  150. package/docs/toggle-group.json +14 -3
  151. package/docs/toggle-group.md +3 -3
  152. package/docs/toggle.json +12 -3
  153. package/docs/toggle.md +3 -3
  154. package/docs/tokens.md +467 -0
  155. package/docs/tour.json +1 -1
  156. package/docs/typography.json +4 -2
  157. package/docs/typography.md +4 -4
  158. package/fesm2022/slotted-angular-accordion.mjs +4 -2
  159. package/fesm2022/slotted-angular-accordion.mjs.map +1 -1
  160. package/fesm2022/slotted-angular-action-bar.mjs +22 -11
  161. package/fesm2022/slotted-angular-action-bar.mjs.map +1 -1
  162. package/fesm2022/slotted-angular-action-sheet.mjs +42 -29
  163. package/fesm2022/slotted-angular-action-sheet.mjs.map +1 -1
  164. package/fesm2022/slotted-angular-alert.mjs +18 -11
  165. package/fesm2022/slotted-angular-alert.mjs.map +1 -1
  166. package/fesm2022/slotted-angular-app-shell.mjs +111 -61
  167. package/fesm2022/slotted-angular-app-shell.mjs.map +1 -1
  168. package/fesm2022/slotted-angular-aspect-ratio.mjs +4 -2
  169. package/fesm2022/slotted-angular-aspect-ratio.mjs.map +1 -1
  170. package/fesm2022/slotted-angular-attachment.mjs +31 -20
  171. package/fesm2022/slotted-angular-attachment.mjs.map +1 -1
  172. package/fesm2022/slotted-angular-avatar-group.mjs +9 -6
  173. package/fesm2022/slotted-angular-avatar-group.mjs.map +1 -1
  174. package/fesm2022/slotted-angular-avatar.mjs +14 -7
  175. package/fesm2022/slotted-angular-avatar.mjs.map +1 -1
  176. package/fesm2022/slotted-angular-badge.mjs +14 -10
  177. package/fesm2022/slotted-angular-badge.mjs.map +1 -1
  178. package/fesm2022/slotted-angular-breadcrumb.mjs +26 -18
  179. package/fesm2022/slotted-angular-breadcrumb.mjs.map +1 -1
  180. package/fesm2022/slotted-angular-button-group.mjs +7 -4
  181. package/fesm2022/slotted-angular-button-group.mjs.map +1 -1
  182. package/fesm2022/slotted-angular-button.mjs +90 -29
  183. package/fesm2022/slotted-angular-button.mjs.map +1 -1
  184. package/fesm2022/slotted-angular-calendar.mjs +235 -58
  185. package/fesm2022/slotted-angular-calendar.mjs.map +1 -1
  186. package/fesm2022/slotted-angular-card.mjs +18 -16
  187. package/fesm2022/slotted-angular-card.mjs.map +1 -1
  188. package/fesm2022/slotted-angular-carousel.mjs +22 -11
  189. package/fesm2022/slotted-angular-carousel.mjs.map +1 -1
  190. package/fesm2022/slotted-angular-cascader.mjs +166 -66
  191. package/fesm2022/slotted-angular-cascader.mjs.map +1 -1
  192. package/fesm2022/slotted-angular-chart.mjs +53 -20
  193. package/fesm2022/slotted-angular-chart.mjs.map +1 -1
  194. package/fesm2022/slotted-angular-checkbox-group.mjs +5 -3
  195. package/fesm2022/slotted-angular-checkbox-group.mjs.map +1 -1
  196. package/fesm2022/slotted-angular-checkbox.mjs +23 -9
  197. package/fesm2022/slotted-angular-checkbox.mjs.map +1 -1
  198. package/fesm2022/slotted-angular-code-block.mjs +29 -15
  199. package/fesm2022/slotted-angular-code-block.mjs.map +1 -1
  200. package/fesm2022/slotted-angular-collapsible.mjs +20 -15
  201. package/fesm2022/slotted-angular-collapsible.mjs.map +1 -1
  202. package/fesm2022/slotted-angular-color-picker.mjs +77 -22
  203. package/fesm2022/slotted-angular-color-picker.mjs.map +1 -1
  204. package/fesm2022/slotted-angular-column-manager.mjs +68 -31
  205. package/fesm2022/slotted-angular-column-manager.mjs.map +1 -1
  206. package/fesm2022/slotted-angular-combobox.mjs +112 -39
  207. package/fesm2022/slotted-angular-combobox.mjs.map +1 -1
  208. package/fesm2022/slotted-angular-command-palette.mjs +150 -54
  209. package/fesm2022/slotted-angular-command-palette.mjs.map +1 -1
  210. package/fesm2022/slotted-angular-container.mjs +6 -4
  211. package/fesm2022/slotted-angular-container.mjs.map +1 -1
  212. package/fesm2022/slotted-angular-context-menu.mjs +5 -4
  213. package/fesm2022/slotted-angular-context-menu.mjs.map +1 -1
  214. package/fesm2022/slotted-angular-currency-field.mjs +149 -32
  215. package/fesm2022/slotted-angular-currency-field.mjs.map +1 -1
  216. package/fesm2022/slotted-angular-dashboard-grid.mjs +142 -63
  217. package/fesm2022/slotted-angular-dashboard-grid.mjs.map +1 -1
  218. package/fesm2022/slotted-angular-data-grid.mjs +354 -113
  219. package/fesm2022/slotted-angular-data-grid.mjs.map +1 -1
  220. package/fesm2022/slotted-angular-data-list.mjs +83 -50
  221. package/fesm2022/slotted-angular-data-list.mjs.map +1 -1
  222. package/fesm2022/slotted-angular-date-field.mjs +74 -25
  223. package/fesm2022/slotted-angular-date-field.mjs.map +1 -1
  224. package/fesm2022/slotted-angular-date-picker.mjs +112 -40
  225. package/fesm2022/slotted-angular-date-picker.mjs.map +1 -1
  226. package/fesm2022/slotted-angular-date-range-picker.mjs +45 -22
  227. package/fesm2022/slotted-angular-date-range-picker.mjs.map +1 -1
  228. package/fesm2022/slotted-angular-datetime-field.mjs +48 -16
  229. package/fesm2022/slotted-angular-datetime-field.mjs.map +1 -1
  230. package/fesm2022/slotted-angular-datetime-picker.mjs +41 -29
  231. package/fesm2022/slotted-angular-datetime-picker.mjs.map +1 -1
  232. package/fesm2022/slotted-angular-datetime-range-picker.mjs +115 -48
  233. package/fesm2022/slotted-angular-datetime-range-picker.mjs.map +1 -1
  234. package/fesm2022/slotted-angular-description-list.mjs +33 -19
  235. package/fesm2022/slotted-angular-description-list.mjs.map +1 -1
  236. package/fesm2022/slotted-angular-detail-panel.mjs +29 -18
  237. package/fesm2022/slotted-angular-detail-panel.mjs.map +1 -1
  238. package/fesm2022/slotted-angular-dialog.mjs +72 -30
  239. package/fesm2022/slotted-angular-dialog.mjs.map +1 -1
  240. package/fesm2022/slotted-angular-divider.mjs +7 -5
  241. package/fesm2022/slotted-angular-divider.mjs.map +1 -1
  242. package/fesm2022/slotted-angular-drawer.mjs +53 -29
  243. package/fesm2022/slotted-angular-drawer.mjs.map +1 -1
  244. package/fesm2022/slotted-angular-entity-picker.mjs +468 -75
  245. package/fesm2022/slotted-angular-entity-picker.mjs.map +1 -1
  246. package/fesm2022/slotted-angular-event-calendar.mjs +275 -108
  247. package/fesm2022/slotted-angular-event-calendar.mjs.map +1 -1
  248. package/fesm2022/slotted-angular-field-group.mjs +14 -7
  249. package/fesm2022/slotted-angular-field-group.mjs.map +1 -1
  250. package/fesm2022/slotted-angular-field.mjs +35 -15
  251. package/fesm2022/slotted-angular-field.mjs.map +1 -1
  252. package/fesm2022/slotted-angular-filter-bar.mjs +112 -51
  253. package/fesm2022/slotted-angular-filter-bar.mjs.map +1 -1
  254. package/fesm2022/slotted-angular-form.mjs +18 -10
  255. package/fesm2022/slotted-angular-form.mjs.map +1 -1
  256. package/fesm2022/slotted-angular-fullscreen.mjs +14 -8
  257. package/fesm2022/slotted-angular-fullscreen.mjs.map +1 -1
  258. package/fesm2022/slotted-angular-grid.mjs +4 -2
  259. package/fesm2022/slotted-angular-grid.mjs.map +1 -1
  260. package/fesm2022/slotted-angular-highlight.mjs +5 -3
  261. package/fesm2022/slotted-angular-highlight.mjs.map +1 -1
  262. package/fesm2022/slotted-angular-hover-card.mjs +5 -4
  263. package/fesm2022/slotted-angular-hover-card.mjs.map +1 -1
  264. package/fesm2022/slotted-angular-icon.mjs +6 -3
  265. package/fesm2022/slotted-angular-icon.mjs.map +1 -1
  266. package/fesm2022/slotted-angular-image.mjs +13 -10
  267. package/fesm2022/slotted-angular-image.mjs.map +1 -1
  268. package/fesm2022/slotted-angular-import-export-center.mjs +167 -99
  269. package/fesm2022/slotted-angular-import-export-center.mjs.map +1 -1
  270. package/fesm2022/slotted-angular-inline-message.mjs +88 -13
  271. package/fesm2022/slotted-angular-inline-message.mjs.map +1 -1
  272. package/fesm2022/slotted-angular-inline.mjs +4 -2
  273. package/fesm2022/slotted-angular-inline.mjs.map +1 -1
  274. package/fesm2022/slotted-angular-kbd.mjs +11 -7
  275. package/fesm2022/slotted-angular-kbd.mjs.map +1 -1
  276. package/fesm2022/slotted-angular-link.mjs +5 -3
  277. package/fesm2022/slotted-angular-link.mjs.map +1 -1
  278. package/fesm2022/slotted-angular-list-item.mjs +21 -18
  279. package/fesm2022/slotted-angular-list-item.mjs.map +1 -1
  280. package/fesm2022/slotted-angular-list.mjs +37 -22
  281. package/fesm2022/slotted-angular-list.mjs.map +1 -1
  282. package/fesm2022/slotted-angular-listbox.mjs +39 -21
  283. package/fesm2022/slotted-angular-listbox.mjs.map +1 -1
  284. package/fesm2022/slotted-angular-loading-overlay.mjs +59 -22
  285. package/fesm2022/slotted-angular-loading-overlay.mjs.map +1 -1
  286. package/fesm2022/slotted-angular-markdown.mjs +31 -19
  287. package/fesm2022/slotted-angular-markdown.mjs.map +1 -1
  288. package/fesm2022/slotted-angular-menu.mjs +51 -29
  289. package/fesm2022/slotted-angular-menu.mjs.map +1 -1
  290. package/fesm2022/slotted-angular-menubar.mjs +4 -2
  291. package/fesm2022/slotted-angular-menubar.mjs.map +1 -1
  292. package/fesm2022/slotted-angular-message-scroller.mjs +28 -15
  293. package/fesm2022/slotted-angular-message-scroller.mjs.map +1 -1
  294. package/fesm2022/slotted-angular-message.mjs +113 -51
  295. package/fesm2022/slotted-angular-message.mjs.map +1 -1
  296. package/fesm2022/slotted-angular-multi-select.mjs +189 -87
  297. package/fesm2022/slotted-angular-multi-select.mjs.map +1 -1
  298. package/fesm2022/slotted-angular-navigation-menu.mjs +34 -26
  299. package/fesm2022/slotted-angular-navigation-menu.mjs.map +1 -1
  300. package/fesm2022/slotted-angular-notification-center.mjs +108 -65
  301. package/fesm2022/slotted-angular-notification-center.mjs.map +1 -1
  302. package/fesm2022/slotted-angular-number-field.mjs +23 -11
  303. package/fesm2022/slotted-angular-number-field.mjs.map +1 -1
  304. package/fesm2022/slotted-angular-otp-input.mjs +13 -8
  305. package/fesm2022/slotted-angular-otp-input.mjs.map +1 -1
  306. package/fesm2022/slotted-angular-page-header.mjs +75 -45
  307. package/fesm2022/slotted-angular-page-header.mjs.map +1 -1
  308. package/fesm2022/slotted-angular-page.mjs +38 -10
  309. package/fesm2022/slotted-angular-page.mjs.map +1 -1
  310. package/fesm2022/slotted-angular-pagination.mjs +35 -22
  311. package/fesm2022/slotted-angular-pagination.mjs.map +1 -1
  312. package/fesm2022/slotted-angular-popover.mjs +32 -19
  313. package/fesm2022/slotted-angular-popover.mjs.map +1 -1
  314. package/fesm2022/slotted-angular-progress-indicator.mjs +236 -52
  315. package/fesm2022/slotted-angular-progress-indicator.mjs.map +1 -1
  316. package/fesm2022/slotted-angular-prompt-composer.mjs +41 -20
  317. package/fesm2022/slotted-angular-prompt-composer.mjs.map +1 -1
  318. package/fesm2022/slotted-angular-prose.mjs +14 -11
  319. package/fesm2022/slotted-angular-prose.mjs.map +1 -1
  320. package/fesm2022/slotted-angular-radio-group.mjs +15 -9
  321. package/fesm2022/slotted-angular-radio-group.mjs.map +1 -1
  322. package/fesm2022/slotted-angular-rating.mjs +138 -82
  323. package/fesm2022/slotted-angular-rating.mjs.map +1 -1
  324. package/fesm2022/slotted-angular-result-state.mjs +16 -12
  325. package/fesm2022/slotted-angular-result-state.mjs.map +1 -1
  326. package/fesm2022/slotted-angular-saved-views.mjs +43 -16
  327. package/fesm2022/slotted-angular-saved-views.mjs.map +1 -1
  328. package/fesm2022/slotted-angular-scroll-area.mjs +13 -5
  329. package/fesm2022/slotted-angular-scroll-area.mjs.map +1 -1
  330. package/fesm2022/slotted-angular-section.mjs +53 -18
  331. package/fesm2022/slotted-angular-section.mjs.map +1 -1
  332. package/fesm2022/slotted-angular-segmented-control.mjs +37 -11
  333. package/fesm2022/slotted-angular-segmented-control.mjs.map +1 -1
  334. package/fesm2022/slotted-angular-select.mjs +184 -94
  335. package/fesm2022/slotted-angular-select.mjs.map +1 -1
  336. package/fesm2022/slotted-angular-side-navigation.mjs +46 -35
  337. package/fesm2022/slotted-angular-side-navigation.mjs.map +1 -1
  338. package/fesm2022/slotted-angular-skeleton.mjs +32 -16
  339. package/fesm2022/slotted-angular-skeleton.mjs.map +1 -1
  340. package/fesm2022/slotted-angular-slider.mjs +31 -11
  341. package/fesm2022/slotted-angular-slider.mjs.map +1 -1
  342. package/fesm2022/slotted-angular-sparkline.mjs +41 -14
  343. package/fesm2022/slotted-angular-sparkline.mjs.map +1 -1
  344. package/fesm2022/slotted-angular-split-button.mjs +25 -11
  345. package/fesm2022/slotted-angular-split-button.mjs.map +1 -1
  346. package/fesm2022/slotted-angular-splitter.mjs +11 -9
  347. package/fesm2022/slotted-angular-splitter.mjs.map +1 -1
  348. package/fesm2022/slotted-angular-stack.mjs +4 -2
  349. package/fesm2022/slotted-angular-stack.mjs.map +1 -1
  350. package/fesm2022/slotted-angular-stat-card.mjs +35 -28
  351. package/fesm2022/slotted-angular-stat-card.mjs.map +1 -1
  352. package/fesm2022/slotted-angular-status-indicator.mjs +22 -8
  353. package/fesm2022/slotted-angular-status-indicator.mjs.map +1 -1
  354. package/fesm2022/slotted-angular-stepper.mjs +40 -15
  355. package/fesm2022/slotted-angular-stepper.mjs.map +1 -1
  356. package/fesm2022/slotted-angular-switch.mjs +15 -10
  357. package/fesm2022/slotted-angular-switch.mjs.map +1 -1
  358. package/fesm2022/slotted-angular-table-of-contents.mjs +29 -21
  359. package/fesm2022/slotted-angular-table-of-contents.mjs.map +1 -1
  360. package/fesm2022/slotted-angular-table.mjs +243 -73
  361. package/fesm2022/slotted-angular-table.mjs.map +1 -1
  362. package/fesm2022/slotted-angular-tabs.mjs +42 -18
  363. package/fesm2022/slotted-angular-tabs.mjs.map +1 -1
  364. package/fesm2022/slotted-angular-tag.mjs +19 -12
  365. package/fesm2022/slotted-angular-tag.mjs.map +1 -1
  366. package/fesm2022/slotted-angular-tags-input.mjs +253 -28
  367. package/fesm2022/slotted-angular-tags-input.mjs.map +1 -1
  368. package/fesm2022/slotted-angular-text-field.mjs +49 -15
  369. package/fesm2022/slotted-angular-text-field.mjs.map +1 -1
  370. package/fesm2022/slotted-angular-textarea.mjs +5 -3
  371. package/fesm2022/slotted-angular-textarea.mjs.map +1 -1
  372. package/fesm2022/slotted-angular-time-field.mjs +48 -14
  373. package/fesm2022/slotted-angular-time-field.mjs.map +1 -1
  374. package/fesm2022/slotted-angular-time-picker.mjs +32 -20
  375. package/fesm2022/slotted-angular-time-picker.mjs.map +1 -1
  376. package/fesm2022/slotted-angular-time-range-picker.mjs +113 -46
  377. package/fesm2022/slotted-angular-time-range-picker.mjs.map +1 -1
  378. package/fesm2022/slotted-angular-timeline.mjs +135 -64
  379. package/fesm2022/slotted-angular-timeline.mjs.map +1 -1
  380. package/fesm2022/slotted-angular-toast.mjs +43 -31
  381. package/fesm2022/slotted-angular-toast.mjs.map +1 -1
  382. package/fesm2022/slotted-angular-toggle-group.mjs +25 -8
  383. package/fesm2022/slotted-angular-toggle-group.mjs.map +1 -1
  384. package/fesm2022/slotted-angular-toggle.mjs +9 -4
  385. package/fesm2022/slotted-angular-toggle.mjs.map +1 -1
  386. package/fesm2022/slotted-angular-toolbar.mjs +22 -11
  387. package/fesm2022/slotted-angular-toolbar.mjs.map +1 -1
  388. package/fesm2022/slotted-angular-tooltip.mjs +15 -6
  389. package/fesm2022/slotted-angular-tooltip.mjs.map +1 -1
  390. package/fesm2022/slotted-angular-top-navigation.mjs +64 -44
  391. package/fesm2022/slotted-angular-top-navigation.mjs.map +1 -1
  392. package/fesm2022/slotted-angular-tour.mjs +47 -22
  393. package/fesm2022/slotted-angular-tour.mjs.map +1 -1
  394. package/fesm2022/slotted-angular-transfer.mjs +69 -30
  395. package/fesm2022/slotted-angular-transfer.mjs.map +1 -1
  396. package/fesm2022/slotted-angular-tree.mjs +74 -26
  397. package/fesm2022/slotted-angular-tree.mjs.map +1 -1
  398. package/fesm2022/slotted-angular-typography.mjs +8 -4
  399. package/fesm2022/slotted-angular-typography.mjs.map +1 -1
  400. package/fesm2022/slotted-angular-upload.mjs +125 -57
  401. package/fesm2022/slotted-angular-upload.mjs.map +1 -1
  402. package/fesm2022/slotted-angular-visually-hidden.mjs +4 -2
  403. package/fesm2022/slotted-angular-visually-hidden.mjs.map +1 -1
  404. package/fesm2022/slotted-angular-wizard.mjs +163 -65
  405. package/fesm2022/slotted-angular-wizard.mjs.map +1 -1
  406. package/package.json +3 -3
  407. package/types/slotted-angular-accordion.d.ts.map +1 -1
  408. package/types/slotted-angular-action-bar.d.ts.map +1 -1
  409. package/types/slotted-angular-action-sheet.d.ts.map +1 -1
  410. package/types/slotted-angular-alert.d.ts +2 -2
  411. package/types/slotted-angular-alert.d.ts.map +1 -1
  412. package/types/slotted-angular-app-shell.d.ts +11 -3
  413. package/types/slotted-angular-app-shell.d.ts.map +1 -1
  414. package/types/slotted-angular-aspect-ratio.d.ts.map +1 -1
  415. package/types/slotted-angular-attachment.d.ts +1 -1
  416. package/types/slotted-angular-attachment.d.ts.map +1 -1
  417. package/types/slotted-angular-avatar-group.d.ts.map +1 -1
  418. package/types/slotted-angular-avatar.d.ts +11 -3
  419. package/types/slotted-angular-avatar.d.ts.map +1 -1
  420. package/types/slotted-angular-badge.d.ts +1 -1
  421. package/types/slotted-angular-badge.d.ts.map +1 -1
  422. package/types/slotted-angular-breadcrumb.d.ts.map +1 -1
  423. package/types/slotted-angular-button-group.d.ts +1 -1
  424. package/types/slotted-angular-button-group.d.ts.map +1 -1
  425. package/types/slotted-angular-button.d.ts +33 -13
  426. package/types/slotted-angular-button.d.ts.map +1 -1
  427. package/types/slotted-angular-calendar.d.ts +30 -2
  428. package/types/slotted-angular-calendar.d.ts.map +1 -1
  429. package/types/slotted-angular-card.d.ts.map +1 -1
  430. package/types/slotted-angular-carousel.d.ts.map +1 -1
  431. package/types/slotted-angular-cascader.d.ts.map +1 -1
  432. package/types/slotted-angular-chart.d.ts +10 -0
  433. package/types/slotted-angular-chart.d.ts.map +1 -1
  434. package/types/slotted-angular-checkbox-group.d.ts.map +1 -1
  435. package/types/slotted-angular-checkbox.d.ts +7 -1
  436. package/types/slotted-angular-checkbox.d.ts.map +1 -1
  437. package/types/slotted-angular-code-block.d.ts +1 -1
  438. package/types/slotted-angular-code-block.d.ts.map +1 -1
  439. package/types/slotted-angular-collapsible.d.ts +1 -1
  440. package/types/slotted-angular-collapsible.d.ts.map +1 -1
  441. package/types/slotted-angular-color-picker.d.ts.map +1 -1
  442. package/types/slotted-angular-column-manager.d.ts.map +1 -1
  443. package/types/slotted-angular-combobox.d.ts +5 -1
  444. package/types/slotted-angular-combobox.d.ts.map +1 -1
  445. package/types/slotted-angular-command-palette.d.ts +10 -1
  446. package/types/slotted-angular-command-palette.d.ts.map +1 -1
  447. package/types/slotted-angular-container.d.ts.map +1 -1
  448. package/types/slotted-angular-context-menu.d.ts.map +1 -1
  449. package/types/slotted-angular-currency-field.d.ts +63 -15
  450. package/types/slotted-angular-currency-field.d.ts.map +1 -1
  451. package/types/slotted-angular-dashboard-grid.d.ts.map +1 -1
  452. package/types/slotted-angular-data-grid.d.ts +49 -4
  453. package/types/slotted-angular-data-grid.d.ts.map +1 -1
  454. package/types/slotted-angular-data-list.d.ts.map +1 -1
  455. package/types/slotted-angular-date-field.d.ts +11 -1
  456. package/types/slotted-angular-date-field.d.ts.map +1 -1
  457. package/types/slotted-angular-date-picker.d.ts +38 -12
  458. package/types/slotted-angular-date-picker.d.ts.map +1 -1
  459. package/types/slotted-angular-date-range-picker.d.ts +0 -1
  460. package/types/slotted-angular-date-range-picker.d.ts.map +1 -1
  461. package/types/slotted-angular-datetime-field.d.ts.map +1 -1
  462. package/types/slotted-angular-datetime-picker.d.ts +0 -1
  463. package/types/slotted-angular-datetime-picker.d.ts.map +1 -1
  464. package/types/slotted-angular-datetime-range-picker.d.ts +0 -1
  465. package/types/slotted-angular-datetime-range-picker.d.ts.map +1 -1
  466. package/types/slotted-angular-description-list.d.ts.map +1 -1
  467. package/types/slotted-angular-detail-panel.d.ts.map +1 -1
  468. package/types/slotted-angular-dialog.d.ts +10 -3
  469. package/types/slotted-angular-dialog.d.ts.map +1 -1
  470. package/types/slotted-angular-divider.d.ts.map +1 -1
  471. package/types/slotted-angular-drawer.d.ts +7 -1
  472. package/types/slotted-angular-drawer.d.ts.map +1 -1
  473. package/types/slotted-angular-entity-picker.d.ts +63 -15
  474. package/types/slotted-angular-entity-picker.d.ts.map +1 -1
  475. package/types/slotted-angular-event-calendar.d.ts +9 -2
  476. package/types/slotted-angular-event-calendar.d.ts.map +1 -1
  477. package/types/slotted-angular-field-group.d.ts.map +1 -1
  478. package/types/slotted-angular-field.d.ts.map +1 -1
  479. package/types/slotted-angular-filter-bar.d.ts.map +1 -1
  480. package/types/slotted-angular-form.d.ts.map +1 -1
  481. package/types/slotted-angular-fullscreen.d.ts.map +1 -1
  482. package/types/slotted-angular-grid.d.ts.map +1 -1
  483. package/types/slotted-angular-highlight.d.ts.map +1 -1
  484. package/types/slotted-angular-hover-card.d.ts.map +1 -1
  485. package/types/slotted-angular-icon.d.ts +2 -2
  486. package/types/slotted-angular-icon.d.ts.map +1 -1
  487. package/types/slotted-angular-image.d.ts.map +1 -1
  488. package/types/slotted-angular-import-export-center.d.ts.map +1 -1
  489. package/types/slotted-angular-inline-message.d.ts +25 -25
  490. package/types/slotted-angular-inline-message.d.ts.map +1 -1
  491. package/types/slotted-angular-inline.d.ts.map +1 -1
  492. package/types/slotted-angular-kbd.d.ts.map +1 -1
  493. package/types/slotted-angular-link.d.ts.map +1 -1
  494. package/types/slotted-angular-list-item.d.ts +1 -1
  495. package/types/slotted-angular-list-item.d.ts.map +1 -1
  496. package/types/slotted-angular-list.d.ts +42 -27
  497. package/types/slotted-angular-list.d.ts.map +1 -1
  498. package/types/slotted-angular-listbox.d.ts.map +1 -1
  499. package/types/slotted-angular-loading-overlay.d.ts.map +1 -1
  500. package/types/slotted-angular-markdown.d.ts.map +1 -1
  501. package/types/slotted-angular-menu.d.ts +11 -2
  502. package/types/slotted-angular-menu.d.ts.map +1 -1
  503. package/types/slotted-angular-menubar.d.ts.map +1 -1
  504. package/types/slotted-angular-message-scroller.d.ts.map +1 -1
  505. package/types/slotted-angular-message.d.ts +1 -1
  506. package/types/slotted-angular-message.d.ts.map +1 -1
  507. package/types/slotted-angular-multi-select.d.ts +15 -1
  508. package/types/slotted-angular-multi-select.d.ts.map +1 -1
  509. package/types/slotted-angular-navigation-menu.d.ts.map +1 -1
  510. package/types/slotted-angular-notification-center.d.ts +1 -1
  511. package/types/slotted-angular-notification-center.d.ts.map +1 -1
  512. package/types/slotted-angular-number-field.d.ts.map +1 -1
  513. package/types/slotted-angular-otp-input.d.ts.map +1 -1
  514. package/types/slotted-angular-page-header.d.ts +4 -4
  515. package/types/slotted-angular-page-header.d.ts.map +1 -1
  516. package/types/slotted-angular-page.d.ts.map +1 -1
  517. package/types/slotted-angular-pagination.d.ts.map +1 -1
  518. package/types/slotted-angular-popover.d.ts.map +1 -1
  519. package/types/slotted-angular-progress-indicator.d.ts +8 -1
  520. package/types/slotted-angular-progress-indicator.d.ts.map +1 -1
  521. package/types/slotted-angular-prompt-composer.d.ts +11 -2
  522. package/types/slotted-angular-prompt-composer.d.ts.map +1 -1
  523. package/types/slotted-angular-prose.d.ts.map +1 -1
  524. package/types/slotted-angular-radio-group.d.ts.map +1 -1
  525. package/types/slotted-angular-rating.d.ts +1 -1
  526. package/types/slotted-angular-rating.d.ts.map +1 -1
  527. package/types/slotted-angular-result-state.d.ts.map +1 -1
  528. package/types/slotted-angular-saved-views.d.ts.map +1 -1
  529. package/types/slotted-angular-scroll-area.d.ts.map +1 -1
  530. package/types/slotted-angular-section.d.ts +11 -3
  531. package/types/slotted-angular-section.d.ts.map +1 -1
  532. package/types/slotted-angular-segmented-control.d.ts +15 -2
  533. package/types/slotted-angular-segmented-control.d.ts.map +1 -1
  534. package/types/slotted-angular-select.d.ts +12 -2
  535. package/types/slotted-angular-select.d.ts.map +1 -1
  536. package/types/slotted-angular-side-navigation.d.ts.map +1 -1
  537. package/types/slotted-angular-skeleton.d.ts.map +1 -1
  538. package/types/slotted-angular-slider.d.ts.map +1 -1
  539. package/types/slotted-angular-sparkline.d.ts +7 -1
  540. package/types/slotted-angular-sparkline.d.ts.map +1 -1
  541. package/types/slotted-angular-split-button.d.ts +2 -2
  542. package/types/slotted-angular-split-button.d.ts.map +1 -1
  543. package/types/slotted-angular-splitter.d.ts.map +1 -1
  544. package/types/slotted-angular-stack.d.ts.map +1 -1
  545. package/types/slotted-angular-stat-card.d.ts +1 -1
  546. package/types/slotted-angular-stat-card.d.ts.map +1 -1
  547. package/types/slotted-angular-status-indicator.d.ts +1 -1
  548. package/types/slotted-angular-status-indicator.d.ts.map +1 -1
  549. package/types/slotted-angular-stepper.d.ts +1 -1
  550. package/types/slotted-angular-stepper.d.ts.map +1 -1
  551. package/types/slotted-angular-switch.d.ts.map +1 -1
  552. package/types/slotted-angular-table-of-contents.d.ts.map +1 -1
  553. package/types/slotted-angular-table.d.ts +63 -6
  554. package/types/slotted-angular-table.d.ts.map +1 -1
  555. package/types/slotted-angular-tabs.d.ts +3 -4
  556. package/types/slotted-angular-tabs.d.ts.map +1 -1
  557. package/types/slotted-angular-tag.d.ts +1 -1
  558. package/types/slotted-angular-tag.d.ts.map +1 -1
  559. package/types/slotted-angular-tags-input.d.ts +33 -1
  560. package/types/slotted-angular-tags-input.d.ts.map +1 -1
  561. package/types/slotted-angular-text-field.d.ts.map +1 -1
  562. package/types/slotted-angular-textarea.d.ts.map +1 -1
  563. package/types/slotted-angular-theme.d.ts +1 -1
  564. package/types/slotted-angular-time-field.d.ts.map +1 -1
  565. package/types/slotted-angular-time-picker.d.ts +0 -1
  566. package/types/slotted-angular-time-picker.d.ts.map +1 -1
  567. package/types/slotted-angular-time-range-picker.d.ts +0 -1
  568. package/types/slotted-angular-time-range-picker.d.ts.map +1 -1
  569. package/types/slotted-angular-timeline.d.ts +1 -1
  570. package/types/slotted-angular-timeline.d.ts.map +1 -1
  571. package/types/slotted-angular-toast.d.ts +3 -3
  572. package/types/slotted-angular-toast.d.ts.map +1 -1
  573. package/types/slotted-angular-toggle-group.d.ts +8 -2
  574. package/types/slotted-angular-toggle-group.d.ts.map +1 -1
  575. package/types/slotted-angular-toggle.d.ts +1 -1
  576. package/types/slotted-angular-toggle.d.ts.map +1 -1
  577. package/types/slotted-angular-toolbar.d.ts.map +1 -1
  578. package/types/slotted-angular-tooltip.d.ts.map +1 -1
  579. package/types/slotted-angular-top-navigation.d.ts.map +1 -1
  580. package/types/slotted-angular-tour.d.ts.map +1 -1
  581. package/types/slotted-angular-transfer.d.ts.map +1 -1
  582. package/types/slotted-angular-tree.d.ts.map +1 -1
  583. package/types/slotted-angular-typography.d.ts +1 -1
  584. package/types/slotted-angular-typography.d.ts.map +1 -1
  585. package/types/slotted-angular-upload.d.ts +2 -2
  586. package/types/slotted-angular-upload.d.ts.map +1 -1
  587. package/types/slotted-angular-visually-hidden.d.ts.map +1 -1
  588. package/types/slotted-angular-wizard.d.ts.map +1 -1
@@ -80,7 +80,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
80
80
  class SlSwitchDescription {
81
81
  id = `${inject(SlSwitchIdFactory).next()}-description`;
82
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 });
83
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.1.7", type: SlSwitchDescription, isStandalone: true, selector: "[slSwitchDescription]", host: { attributes: { "data-part": "description", "data-part-description": "" }, properties: { "attr.id": "id" } }, exportAs: ["slSwitchDescription"], ngImport: i0 });
84
84
  }
85
85
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitchDescription, decorators: [{
86
86
  type: Directive,
@@ -90,6 +90,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
90
90
  exportAs: 'slSwitchDescription',
91
91
  host: {
92
92
  'data-part': 'description',
93
+ 'data-part-description': '',
93
94
  '[attr.id]': 'id',
94
95
  },
95
96
  }]
@@ -365,9 +366,10 @@ class SlSwitch {
365
366
  });
366
367
  }
367
368
  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
+ 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-ui-switch": "", "data-part": "root", "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
370
  #control
370
371
  data-part="control"
372
+ data-part-control=""
371
373
  type="checkbox"
372
374
  role="switch"
373
375
  [attr.id]="controlId"
@@ -385,21 +387,22 @@ class SlSwitch {
385
387
  (click)="onClick($event)"
386
388
  (blur)="onBlur()"
387
389
  />
388
- <span data-part="track"
389
- ><span data-part="thumb">
390
+ <span data-part="track" data-part-track=""
391
+ ><span data-part="thumb" data-part-thumb="">
390
392
  @if (resolvedIndicator() === 'mark') {
391
393
  <span slIcon><svg slGlyph name="check"></svg></span>
392
394
  }</span
393
395
  ></span>
394
- <label data-part="label" [attr.for]="controlId"><ng-content /></label>
396
+ <label data-part="label" data-part-label="" [attr.for]="controlId"><ng-content /></label>
395
397
  <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 });
398
+ <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
399
  }
398
400
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSwitch, decorators: [{
399
401
  type: Component,
400
402
  args: [{ selector: '[slSwitch]', standalone: true, exportAs: 'slSwitch', imports: [SlGlyph, SlIcon, SlVisuallyHidden], template: `<input
401
403
  #control
402
404
  data-part="control"
405
+ data-part-control=""
403
406
  type="checkbox"
404
407
  role="switch"
405
408
  [attr.id]="controlId"
@@ -417,17 +420,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
417
420
  (click)="onClick($event)"
418
421
  (blur)="onBlur()"
419
422
  />
420
- <span data-part="track"
421
- ><span data-part="thumb">
423
+ <span data-part="track" data-part-track=""
424
+ ><span data-part="thumb" data-part-thumb="">
422
425
  @if (resolvedIndicator() === 'mark') {
423
426
  <span slIcon><svg slGlyph name="check"></svg></span>
424
427
  }</span
425
428
  ></span>
426
- <label data-part="label" [attr.for]="controlId"><ng-content /></label>
429
+ <label data-part="label" data-part-label="" [attr.for]="controlId"><ng-content /></label>
427
430
  <ng-content select="[slSwitchDescription]" />
428
431
  <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
432
  'data-ui': 'switch',
433
+ 'data-ui-switch': '',
430
434
  'data-part': 'root',
435
+ 'data-part-root': '',
431
436
  '[attr.data-size]': 'resolvedSize()',
432
437
  '[attr.data-indicator]': 'resolvedIndicator()',
433
438
  '[attr.data-label-placement]': 'resolvedLabelPlacement()',
@@ -436,7 +441,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
436
441
  '[attr.data-readonly]': "resolvedReadOnly() === true ? '' : null",
437
442
  '[attr.data-invalid]': "resolvedInvalid() === true ? '' : null",
438
443
  '[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"] }]
444
+ }, 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
445
  }], 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
446
 
442
447
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"slotted-angular-switch.mjs","sources":["../../switch/src/switch-defaults.ts","../../switch/src/switch-parts.ts","../../switch/src/switch.ts","../../switch/src/slotted-angular-switch.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The step the control sits at, matching the field around it. */\nexport type SwitchSize = 'sm' | 'md' | 'lg';\n\n/**\n * What the thumb carries. `mark` draws a check when the switch is on and\n * nothing when it is off, which is what makes the state readable beyond colour\n * and beyond position. `none` withdraws it, and is only correct where\n * something else carries the state.\n */\nexport type SwitchIndicator = 'mark' | 'none';\n\n/**\n * Which side of its label the pill sits on. `start` is the settings row every\n * product writes: the label takes the free width and the control sits at the\n * end of it.\n */\nexport type SwitchLabelPlacement = 'end' | 'start';\n\n/**\n * How long a pending switch stays silent. A save that returns in two hundred\n * milliseconds should say nothing at all, and a live region that spoke on\n * every toggle would make a settings page unusable with a screen reader.\n * Primer measured the same number against the same problem.\n *\n * It is a constant of the family rather than an input: an application that\n * needs longer sets a `loading` message a reader can wait for.\n */\nexport const SWITCH_LOADING_ANNOUNCE_DELAY = 2000;\n\nexport interface SwitchDefaults {\n indicator: SwitchIndicator;\n labelPlacement: SwitchLabelPlacement;\n size: SwitchSize;\n}\n\nconst FALLBACK: SwitchDefaults = {\n indicator: 'mark',\n labelPlacement: 'end',\n size: 'md',\n};\n\nexport const SWITCH_DEFAULTS = new InjectionToken<SwitchDefaults>('slotted switch defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once what its switches look like, rather than\n * repeating the same inputs on every row of a settings page. A switch that\n * states any of them itself still wins. What a pending switch announces comes\n * from the language in force (`provideSlotted`).\n *\n * `size` is the one the field outranks: a `size=\"sm\"` field holding an `md`\n * control is a field and a control disagreeing about one row, so a switch\n * inside a field takes the field's step and this token answers only outside\n * one.\n */\nexport function provideSwitchDefaults(defaults: Partial<SwitchDefaults>) {\n return {\n provide: SWITCH_DEFAULTS,\n useFactory: (): SwitchDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a switch renders as here, before it states anything of its own. */\nexport function injectSwitchDefaults(): SwitchDefaults {\n return inject(SWITCH_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` and\n * `checkbox` both record: a module-level counter produces colliding sequences\n * when two applications render in one server process, and the server and the\n * client sequences must match for hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlSwitchIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-switch-${this.count}`;\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { SlSwitchIdFactory } from './switch-defaults';\n\n/**\n * Help text under a switch's label.\n *\n * It is a directive on the consumer's own element, so a `p`, a `span` or an\n * `inline-message` all work and none of them loses its own semantics. It\n * carries an identifier the switch points `aria-describedby` at, which is what\n * makes the sentence a description rather than part of the name — and it is\n * projected outside the `label` for the same reason.\n */\n@Directive({\n selector: '[slSwitchDescription]',\n standalone: true,\n exportAs: 'slSwitchDescription',\n host: {\n 'data-part': 'description',\n '[attr.id]': 'id',\n },\n})\nexport class SlSwitchDescription {\n readonly id = `${inject(SlSwitchIdFactory).next()}-description`;\n}\n","import { switchMessages, type PartialMessages, type SwitchMessages } from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n effect,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlField } from '@slotted/angular/field';\nimport { SlVisuallyHidden } from '@slotted/angular/visually-hidden';\n\nimport {\n injectSwitchDefaults,\n SlSwitchIdFactory,\n SWITCH_LOADING_ANNOUNCE_DELAY,\n} from './switch-defaults';\nimport type { SwitchIndicator, SwitchLabelPlacement, SwitchSize } from './switch-defaults';\nimport { SlSwitchDescription } from './switch-parts';\n\nexport type { SwitchIndicator, SwitchLabelPlacement, SwitchSize } from './switch-defaults';\n\n/**\n * Why the switch moved, read from the event rather than guessed. A pointer\n * press reports a click count; Space on a checkbox reports none but is\n * trusted; `element.click()` reports neither, and calling that `keyboard`\n * would tell a consumer a person pressed a key nobody pressed.\n */\nexport function activationReason(activation: { detail: number; isTrusted: boolean }): ChangeReason {\n if (activation.detail > 0) return 'pointer';\n return activation.isTrusted ? 'keyboard' : 'programmatic';\n}\n\n/**\n * A binary setting that takes effect immediately.\n *\n * **The control is a checkbox with the switch role.** Space toggles it, the\n * label names it and doubles the target, `name` and `value` are submitted,\n * `form.reset()` restores it, and a disabled `fieldset` disables it — none of\n * which the `button` this family shipped on before gave. ARIA 1.2 declares the\n * `switch` role Children Presentational, so the role goes on the void `input`\n * and never on the host: a host carrying it would fold the label and the\n * description beside it into the control's own accessible name.\n *\n * **Angular pays one element and renders the control itself**, which is the\n * shape `checkbox` settled one item earlier in this wave. `formControlName`,\n * `ngModel`, `id` and `aria-*` sit on the host, and the label is the\n * consumer's own content projected into a `label` that points at the control.\n *\n * **The click is the request.** It is the one event that fires for a pointer,\n * for Space and for `click()`, and the one that can be refused before the\n * element moves.\n *\n * **Unset means ask the field.** `disabled`, `readOnly` and `invalid` default\n * to `undefined` rather than `false`, which is what makes \"not disabled\" and\n * \"said nothing\" different answers.\n */\n@Component({\n selector: '[slSwitch]',\n standalone: true,\n exportAs: 'slSwitch',\n imports: [SlGlyph, SlIcon, SlVisuallyHidden],\n template: `<input\n #control\n data-part=\"control\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.id]=\"controlId\"\n [attr.name]=\"name()\"\n [attr.value]=\"value()\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-readonly]=\"ariaReadOnly()\"\n [attr.aria-required]=\"ariaRequired()\"\n [attr.aria-busy]=\"ariaBusy()\"\n [attr.aria-label]=\"writtenAriaLabel\"\n [attr.disabled]=\"disabledAttribute()\"\n [attr.required]=\"requiredAttribute()\"\n [checked]=\"checked()\"\n (click)=\"onClick($event)\"\n (blur)=\"onBlur()\"\n />\n <span data-part=\"track\"\n ><span data-part=\"thumb\">\n @if (resolvedIndicator() === 'mark') {\n <span slIcon><svg slGlyph name=\"check\"></svg></span>\n }</span\n ></span>\n <label data-part=\"label\" [attr.for]=\"controlId\"><ng-content /></label>\n <ng-content select=\"[slSwitchDescription]\" />\n <span slVisuallyHidden role=\"status\" [attr.id]=\"pendingId\">{{ announcement() }}</span>`,\n styleUrl: '../../../styles/src/switch/switch.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSwitch), multi: true }],\n host: {\n 'data-ui': 'switch',\n 'data-part': 'root',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-indicator]': 'resolvedIndicator()',\n '[attr.data-label-placement]': 'resolvedLabelPlacement()',\n '[attr.data-checked]': \"checked() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-loading]': \"loading() ? '' : null\",\n },\n})\nexport class SlSwitch implements ControlValueAccessor, OnInit {\n /** Present means the consumer owns the state, for the life of the component. */\n readonly checkedValue = input<boolean | undefined, boolean | string | undefined>(undefined, {\n alias: 'checked',\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /** What an uncontrolled switch starts from, read once. A form reset restores it. */\n readonly defaultChecked = input(false, { transform: booleanAttribute });\n /** What this switch submits when it is on. Nothing is submitted when it is off. */\n readonly value = input<string | undefined>(undefined);\n readonly name = input<string | undefined>(undefined);\n readonly size = input<SwitchSize | undefined>(undefined);\n readonly indicator = input<SwitchIndicator | undefined>(undefined);\n readonly labelPlacement = input<SwitchLabelPlacement | undefined>(undefined);\n /**\n * The value is not settled yet. Activation is refused, the geometry does not\n * change, and the pending label is announced politely once the wait is worth\n * announcing.\n */\n readonly loading = input(false, { transform: booleanAttribute });\n /**\n * Words laid over the catalog of the language in force, key by key:\n * `loading` is what a reader hears while the switch is pending.\n */\n readonly messages = input<PartialMessages<SwitchMessages> | undefined>(undefined);\n /** Unstated rather than `false`, so the switch defers to its field. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /**\n * Unstated rather than `false`. The native `readonly` attribute does nothing\n * on a checkbox, so this is `aria-readonly` plus a refused activation.\n */\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * One output for one transition, carrying the new state, the state it\n * replaces, the reason, the originating event and `cancel()`. There is no\n * `[(checked)]`, because a two-way binding has one slot and can carry none of\n * those; a form gets the same movement through `ControlValueAccessor`.\n */\n readonly checkedChange = output<ChangeRequest<boolean>>();\n\n private readonly field = inject(SlField, { optional: true });\n private readonly defaults = injectSwitchDefaults();\n private readonly destroyRef = inject(DestroyRef);\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenRequired = inject(new HostAttributeToken('required'), { optional: true });\n /** Read here so a consumer's own name survives the host binding. */\n protected readonly writtenAriaLabel = inject(new HostAttributeToken('aria-label'), {\n optional: true,\n });\n\n private readonly control = viewChild.required<ElementRef<HTMLInputElement>>('control');\n private readonly description = contentChild(SlSwitchDescription, { descendants: true });\n\n private readonly own = signal(false);\n private readonly announced = signal(false);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private onChangeFn: (checked: boolean) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n /** A form model owns the value, so a native reset takes the model's value. */\n private formBound = false;\n\n /**\n * The identifier the label points at. A consumer's own wins, then the\n * field's: a field writes `for` at its label whether or not the control it\n * holds draws one, so a switch that kept its own identifier inside a field\n * would leave that label pointing at nothing.\n */\n readonly controlId =\n this.writtenId ?? this.field?.ids().control ?? inject(SlSwitchIdFactory).next();\n /** The region the pending label is written into. */\n readonly pendingId = `${this.controlId}-pending`;\n\n readonly checked = computed(() => this.checkedValue() ?? this.own());\n\n readonly resolvedSize = computed(\n () => this.size() ?? this.field?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedIndicator = computed(() => this.indicator() ?? this.defaults.indicator);\n readonly resolvedLabelPlacement = computed(\n () => this.labelPlacement() ?? this.defaults.labelPlacement,\n );\n readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled(),\n );\n readonly resolvedReadOnly = computed(() => this.readOnly() ?? this.field?.resolvedReadOnly());\n readonly resolvedInvalid = computed(() => this.invalid() ?? this.field?.invalid());\n /** The family's words in the language in force, with this switch's `messages` laid over them. */\n readonly t = injectMessages(switchMessages, this.messages);\n\n /** Merged after the consumer's own, and the pending region last. */\n protected readonly describedBy = computed(() => {\n const merged = [\n this.writtenDescribedBy,\n this.description()?.id,\n this.field?.describedBy(),\n this.loading() ? this.pendingId : null,\n ].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly ariaInvalid = computed(() =>\n this.resolvedInvalid() === true ? 'true' : null,\n );\n protected readonly ariaReadOnly = computed(() =>\n this.resolvedReadOnly() === true ? 'true' : null,\n );\n protected readonly ariaRequired = computed(() =>\n this.field?.required() === true ? 'true' : null,\n );\n protected readonly ariaBusy = computed(() => (this.loading() ? 'true' : null));\n protected readonly disabledAttribute = computed(() =>\n this.resolvedDisabled() === true ? '' : null,\n );\n /** The element's own attribute, passed through and never written by the family. */\n protected readonly requiredAttribute = computed(() => this.writtenRequired ?? null);\n /** Silence first, and the pending label only if the write is slow enough to notice. */\n protected readonly announcement = computed(() =>\n this.loading() && this.announced() ? this.t('loading') : '',\n );\n\n constructor() {\n effect((onCleanup) => {\n if (!this.loading()) {\n this.announced.set(false);\n return;\n }\n const timer = setTimeout(() => this.announced.set(true), SWITCH_LOADING_ANNOUNCE_DELAY);\n onCleanup(() => clearTimeout(timer));\n });\n }\n\n /**\n * Angular creates every directive before it binds any input, so the starting\n * state is read here rather than in the constructor: read there,\n * `defaultChecked` is always `false` and an uncontrolled switch would start\n * off however it was written.\n */\n ngOnInit() {\n this.own.set(this.defaultChecked());\n\n /* A native reset restores the element and tells nothing, so the mirror\n would keep the last thing toggled and the track would disagree with the\n control inside it. A switch bound to a form model takes the model's\n reset value through writeValue instead, and its own default does not\n apply. The form resets its elements after this event, to a default no\n attribute wrote, so the element is put back after it — in a task,\n because a reset pressed by a person drains the microtasks first. */\n const element = this.control().nativeElement;\n const form = element.form;\n if (form !== null) {\n const onReset = () => {\n if (!this.formBound) this.own.set(this.defaultChecked());\n setTimeout(() => {\n if (element.checked !== this.checked()) element.checked = this.checked();\n });\n };\n form.addEventListener('reset', onReset);\n this.destroyRef.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n }\n\n /** The native element, for `focus()` and anything else the platform ships. */\n get inputElement(): HTMLInputElement {\n return this.control().nativeElement;\n }\n\n /**\n * Toggles the switch the way the platform does. The click it fires is\n * untrusted and carries no detail, so the request reports itself as\n * `programmatic` rather than as a key press nobody pressed.\n */\n toggle() {\n this.inputElement.click();\n }\n\n writeValue(value: boolean | null | undefined) {\n this.own.set(value === true);\n }\n\n registerOnChange(fn: (checked: boolean) => void) {\n this.onChangeFn = fn;\n this.formBound = true;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n protected onClick(event: MouseEvent) {\n if (this.resolvedDisabled() === true || this.resolvedReadOnly() === true || this.loading()) {\n this.refuse(event);\n return;\n }\n\n const next = !this.checked();\n const reason = activationReason({ detail: event.detail, isTrusted: event.isTrusted });\n\n let cancelled = false;\n const state = createControllable<boolean>({\n controlled: this.checkedValue(),\n initial: this.checked(),\n onRequest: (request) => {\n this.checkedChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, event);\n\n if (cancelled || this.checkedValue() !== undefined) {\n this.refuse(event);\n return;\n }\n\n this.own.set(next);\n this.onChangeFn(next);\n }\n\n protected onBlur() {\n this.onTouchedFn();\n }\n\n /**\n * Cancelling the click is what the platform offers — a checkbox reverts its\n * own checkedness when its activation is cancelled — and the element is put\n * back beside it, because that revert is the one part of the mechanism an\n * environment can get wrong. A switch showing a state nobody committed is\n * the whole defect this path exists to prevent.\n *\n * The restore is a microtask rather than a line here: the revert the\n * platform does perform happens after the dispatch returns, so a value\n * written now would be the one overwritten. It reads the state again at that\n * point, so a consumer who accepted the move in the same tick keeps their\n * answer.\n */\n private refuse(event: MouseEvent) {\n event.preventDefault();\n queueMicrotask(() => {\n const element = this.inputElement;\n if (element.checked !== this.checked()) element.checked = this.checked();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slotted-angular-switch.mjs","sources":["../../switch/src/switch-defaults.ts","../../switch/src/switch-parts.ts","../../switch/src/switch.ts","../../switch/src/slotted-angular-switch.ts"],"sourcesContent":["import { inject, Injectable, InjectionToken } from '@angular/core';\n\n/** The step the control sits at, matching the field around it. */\nexport type SwitchSize = 'sm' | 'md' | 'lg';\n\n/**\n * What the thumb carries. `mark` draws a check when the switch is on and\n * nothing when it is off, which is what makes the state readable beyond colour\n * and beyond position. `none` withdraws it, and is only correct where\n * something else carries the state.\n */\nexport type SwitchIndicator = 'mark' | 'none';\n\n/**\n * Which side of its label the pill sits on. `start` is the settings row every\n * product writes: the label takes the free width and the control sits at the\n * end of it.\n */\nexport type SwitchLabelPlacement = 'end' | 'start';\n\n/**\n * How long a pending switch stays silent. A save that returns in two hundred\n * milliseconds should say nothing at all, and a live region that spoke on\n * every toggle would make a settings page unusable with a screen reader.\n * Primer measured the same number against the same problem.\n *\n * It is a constant of the family rather than an input: an application that\n * needs longer sets a `loading` message a reader can wait for.\n */\nexport const SWITCH_LOADING_ANNOUNCE_DELAY = 2000;\n\nexport interface SwitchDefaults {\n indicator: SwitchIndicator;\n labelPlacement: SwitchLabelPlacement;\n size: SwitchSize;\n}\n\nconst FALLBACK: SwitchDefaults = {\n indicator: 'mark',\n labelPlacement: 'end',\n size: 'md',\n};\n\nexport const SWITCH_DEFAULTS = new InjectionToken<SwitchDefaults>('slotted switch defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once what its switches look like, rather than\n * repeating the same inputs on every row of a settings page. A switch that\n * states any of them itself still wins. What a pending switch announces comes\n * from the language in force (`provideSlotted`).\n *\n * `size` is the one the field outranks: a `size=\"sm\"` field holding an `md`\n * control is a field and a control disagreeing about one row, so a switch\n * inside a field takes the field's step and this token answers only outside\n * one.\n */\nexport function provideSwitchDefaults(defaults: Partial<SwitchDefaults>) {\n return {\n provide: SWITCH_DEFAULTS,\n useFactory: (): SwitchDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a switch renders as here, before it states anything of its own. */\nexport function injectSwitchDefaults(): SwitchDefaults {\n return inject(SWITCH_DEFAULTS);\n}\n\n/**\n * Application-scoped rather than module-scoped, for the reason `field` and\n * `checkbox` both record: a module-level counter produces colliding sequences\n * when two applications render in one server process, and the server and the\n * client sequences must match for hydration.\n */\n@Injectable({ providedIn: 'root' })\nexport class SlSwitchIdFactory {\n private count = 0;\n\n next() {\n this.count += 1;\n return `slotted-switch-${this.count}`;\n }\n}\n","import { Directive, inject } from '@angular/core';\n\nimport { SlSwitchIdFactory } from './switch-defaults';\n\n/**\n * Help text under a switch's label.\n *\n * It is a directive on the consumer's own element, so a `p`, a `span` or an\n * `inline-message` all work and none of them loses its own semantics. It\n * carries an identifier the switch points `aria-describedby` at, which is what\n * makes the sentence a description rather than part of the name — and it is\n * projected outside the `label` for the same reason.\n */\n@Directive({\n selector: '[slSwitchDescription]',\n standalone: true,\n exportAs: 'slSwitchDescription',\n host: {\n 'data-part': 'description',\n 'data-part-description': '',\n '[attr.id]': 'id',\n },\n})\nexport class SlSwitchDescription {\n readonly id = `${inject(SlSwitchIdFactory).next()}-description`;\n}\n","import { switchMessages, type PartialMessages, type SwitchMessages } from '@slotted/core/i18n';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n DestroyRef,\n effect,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport type { OnInit } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { injectMessages } from '@slotted/angular/i18n';\nimport { SlGlyph, SlIcon } from '@slotted/angular/icon';\nimport { SlField } from '@slotted/angular/field';\nimport { SlVisuallyHidden } from '@slotted/angular/visually-hidden';\n\nimport {\n injectSwitchDefaults,\n SlSwitchIdFactory,\n SWITCH_LOADING_ANNOUNCE_DELAY,\n} from './switch-defaults';\nimport type { SwitchIndicator, SwitchLabelPlacement, SwitchSize } from './switch-defaults';\nimport { SlSwitchDescription } from './switch-parts';\n\nexport type { SwitchIndicator, SwitchLabelPlacement, SwitchSize } from './switch-defaults';\n\n/**\n * Why the switch moved, read from the event rather than guessed. A pointer\n * press reports a click count; Space on a checkbox reports none but is\n * trusted; `element.click()` reports neither, and calling that `keyboard`\n * would tell a consumer a person pressed a key nobody pressed.\n */\nexport function activationReason(activation: { detail: number; isTrusted: boolean }): ChangeReason {\n if (activation.detail > 0) return 'pointer';\n return activation.isTrusted ? 'keyboard' : 'programmatic';\n}\n\n/**\n * A binary setting that takes effect immediately.\n *\n * **The control is a checkbox with the switch role.** Space toggles it, the\n * label names it and doubles the target, `name` and `value` are submitted,\n * `form.reset()` restores it, and a disabled `fieldset` disables it — none of\n * which the `button` this family shipped on before gave. ARIA 1.2 declares the\n * `switch` role Children Presentational, so the role goes on the void `input`\n * and never on the host: a host carrying it would fold the label and the\n * description beside it into the control's own accessible name.\n *\n * **Angular pays one element and renders the control itself**, which is the\n * shape `checkbox` settled one item earlier in this wave. `formControlName`,\n * `ngModel`, `id` and `aria-*` sit on the host, and the label is the\n * consumer's own content projected into a `label` that points at the control.\n *\n * **The click is the request.** It is the one event that fires for a pointer,\n * for Space and for `click()`, and the one that can be refused before the\n * element moves.\n *\n * **Unset means ask the field.** `disabled`, `readOnly` and `invalid` default\n * to `undefined` rather than `false`, which is what makes \"not disabled\" and\n * \"said nothing\" different answers.\n */\n@Component({\n selector: '[slSwitch]',\n standalone: true,\n exportAs: 'slSwitch',\n imports: [SlGlyph, SlIcon, SlVisuallyHidden],\n template: `<input\n #control\n data-part=\"control\"\n data-part-control=\"\"\n type=\"checkbox\"\n role=\"switch\"\n [attr.id]=\"controlId\"\n [attr.name]=\"name()\"\n [attr.value]=\"value()\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-readonly]=\"ariaReadOnly()\"\n [attr.aria-required]=\"ariaRequired()\"\n [attr.aria-busy]=\"ariaBusy()\"\n [attr.aria-label]=\"writtenAriaLabel\"\n [attr.disabled]=\"disabledAttribute()\"\n [attr.required]=\"requiredAttribute()\"\n [checked]=\"checked()\"\n (click)=\"onClick($event)\"\n (blur)=\"onBlur()\"\n />\n <span data-part=\"track\" data-part-track=\"\"\n ><span data-part=\"thumb\" data-part-thumb=\"\">\n @if (resolvedIndicator() === 'mark') {\n <span slIcon><svg slGlyph name=\"check\"></svg></span>\n }</span\n ></span>\n <label data-part=\"label\" data-part-label=\"\" [attr.for]=\"controlId\"><ng-content /></label>\n <ng-content select=\"[slSwitchDescription]\" />\n <span slVisuallyHidden role=\"status\" [attr.id]=\"pendingId\">{{ announcement() }}</span>`,\n styleUrl: '../../../styles/src/switch/switch.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSwitch), multi: true }],\n host: {\n 'data-ui': 'switch',\n 'data-ui-switch': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-indicator]': 'resolvedIndicator()',\n '[attr.data-label-placement]': 'resolvedLabelPlacement()',\n '[attr.data-checked]': \"checked() ? '' : null\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-loading]': \"loading() ? '' : null\",\n },\n})\nexport class SlSwitch implements ControlValueAccessor, OnInit {\n /** Present means the consumer owns the state, for the life of the component. */\n readonly checkedValue = input<boolean | undefined, boolean | string | undefined>(undefined, {\n alias: 'checked',\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /** What an uncontrolled switch starts from, read once. A form reset restores it. */\n readonly defaultChecked = input(false, { transform: booleanAttribute });\n /** What this switch submits when it is on. Nothing is submitted when it is off. */\n readonly value = input<string | undefined>(undefined);\n readonly name = input<string | undefined>(undefined);\n readonly size = input<SwitchSize | undefined>(undefined);\n readonly indicator = input<SwitchIndicator | undefined>(undefined);\n readonly labelPlacement = input<SwitchLabelPlacement | undefined>(undefined);\n /**\n * The value is not settled yet. Activation is refused, the geometry does not\n * change, and the pending label is announced politely once the wait is worth\n * announcing.\n */\n readonly loading = input(false, { transform: booleanAttribute });\n /**\n * Words laid over the catalog of the language in force, key by key:\n * `loading` is what a reader hears while the switch is pending.\n */\n readonly messages = input<PartialMessages<SwitchMessages> | undefined>(undefined);\n /** Unstated rather than `false`, so the switch defers to its field. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n /**\n * Unstated rather than `false`. The native `readonly` attribute does nothing\n * on a checkbox, so this is `aria-readonly` plus a refused activation.\n */\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (value) => (value === undefined ? undefined : booleanAttribute(value)),\n });\n\n /**\n * One output for one transition, carrying the new state, the state it\n * replaces, the reason, the originating event and `cancel()`. There is no\n * `[(checked)]`, because a two-way binding has one slot and can carry none of\n * those; a form gets the same movement through `ControlValueAccessor`.\n */\n readonly checkedChange = output<ChangeRequest<boolean>>();\n\n private readonly field = inject(SlField, { optional: true });\n private readonly defaults = injectSwitchDefaults();\n private readonly destroyRef = inject(DestroyRef);\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenRequired = inject(new HostAttributeToken('required'), { optional: true });\n /** Read here so a consumer's own name survives the host binding. */\n protected readonly writtenAriaLabel = inject(new HostAttributeToken('aria-label'), {\n optional: true,\n });\n\n private readonly control = viewChild.required<ElementRef<HTMLInputElement>>('control');\n private readonly description = contentChild(SlSwitchDescription, { descendants: true });\n\n private readonly own = signal(false);\n private readonly announced = signal(false);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n private onChangeFn: (checked: boolean) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n /** A form model owns the value, so a native reset takes the model's value. */\n private formBound = false;\n\n /**\n * The identifier the label points at. A consumer's own wins, then the\n * field's: a field writes `for` at its label whether or not the control it\n * holds draws one, so a switch that kept its own identifier inside a field\n * would leave that label pointing at nothing.\n */\n readonly controlId =\n this.writtenId ?? this.field?.ids().control ?? inject(SlSwitchIdFactory).next();\n /** The region the pending label is written into. */\n readonly pendingId = `${this.controlId}-pending`;\n\n readonly checked = computed(() => this.checkedValue() ?? this.own());\n\n readonly resolvedSize = computed(\n () => this.size() ?? this.field?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedIndicator = computed(() => this.indicator() ?? this.defaults.indicator);\n readonly resolvedLabelPlacement = computed(\n () => this.labelPlacement() ?? this.defaults.labelPlacement,\n );\n readonly resolvedDisabled = computed(\n () => this.disabled() ?? this.formDisabled() ?? this.field?.resolvedDisabled(),\n );\n readonly resolvedReadOnly = computed(() => this.readOnly() ?? this.field?.resolvedReadOnly());\n readonly resolvedInvalid = computed(() => this.invalid() ?? this.field?.invalid());\n /** The family's words in the language in force, with this switch's `messages` laid over them. */\n readonly t = injectMessages(switchMessages, this.messages);\n\n /** Merged after the consumer's own, and the pending region last. */\n protected readonly describedBy = computed(() => {\n const merged = [\n this.writtenDescribedBy,\n this.description()?.id,\n this.field?.describedBy(),\n this.loading() ? this.pendingId : null,\n ].filter(Boolean);\n return merged.length === 0 ? null : merged.join(' ');\n });\n protected readonly ariaInvalid = computed(() =>\n this.resolvedInvalid() === true ? 'true' : null,\n );\n protected readonly ariaReadOnly = computed(() =>\n this.resolvedReadOnly() === true ? 'true' : null,\n );\n protected readonly ariaRequired = computed(() =>\n this.field?.required() === true ? 'true' : null,\n );\n protected readonly ariaBusy = computed(() => (this.loading() ? 'true' : null));\n protected readonly disabledAttribute = computed(() =>\n this.resolvedDisabled() === true ? '' : null,\n );\n /** The element's own attribute, passed through and never written by the family. */\n protected readonly requiredAttribute = computed(() => this.writtenRequired ?? null);\n /** Silence first, and the pending label only if the write is slow enough to notice. */\n protected readonly announcement = computed(() =>\n this.loading() && this.announced() ? this.t('loading') : '',\n );\n\n constructor() {\n effect((onCleanup) => {\n if (!this.loading()) {\n this.announced.set(false);\n return;\n }\n const timer = setTimeout(() => this.announced.set(true), SWITCH_LOADING_ANNOUNCE_DELAY);\n onCleanup(() => clearTimeout(timer));\n });\n }\n\n /**\n * Angular creates every directive before it binds any input, so the starting\n * state is read here rather than in the constructor: read there,\n * `defaultChecked` is always `false` and an uncontrolled switch would start\n * off however it was written.\n */\n ngOnInit() {\n this.own.set(this.defaultChecked());\n\n /* A native reset restores the element and tells nothing, so the mirror\n would keep the last thing toggled and the track would disagree with the\n control inside it. A switch bound to a form model takes the model's\n reset value through writeValue instead, and its own default does not\n apply. The form resets its elements after this event, to a default no\n attribute wrote, so the element is put back after it — in a task,\n because a reset pressed by a person drains the microtasks first. */\n const element = this.control().nativeElement;\n const form = element.form;\n if (form !== null) {\n const onReset = () => {\n if (!this.formBound) this.own.set(this.defaultChecked());\n setTimeout(() => {\n if (element.checked !== this.checked()) element.checked = this.checked();\n });\n };\n form.addEventListener('reset', onReset);\n this.destroyRef.onDestroy(() => form.removeEventListener('reset', onReset));\n }\n }\n\n /** The native element, for `focus()` and anything else the platform ships. */\n get inputElement(): HTMLInputElement {\n return this.control().nativeElement;\n }\n\n /**\n * Toggles the switch the way the platform does. The click it fires is\n * untrusted and carries no detail, so the request reports itself as\n * `programmatic` rather than as a key press nobody pressed.\n */\n toggle() {\n this.inputElement.click();\n }\n\n writeValue(value: boolean | null | undefined) {\n this.own.set(value === true);\n }\n\n registerOnChange(fn: (checked: boolean) => void) {\n this.onChangeFn = fn;\n this.formBound = true;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouchedFn = fn;\n }\n\n setDisabledState(isDisabled: boolean) {\n this.formDisabled.set(isDisabled);\n }\n\n protected onClick(event: MouseEvent) {\n if (this.resolvedDisabled() === true || this.resolvedReadOnly() === true || this.loading()) {\n this.refuse(event);\n return;\n }\n\n const next = !this.checked();\n const reason = activationReason({ detail: event.detail, isTrusted: event.isTrusted });\n\n let cancelled = false;\n const state = createControllable<boolean>({\n controlled: this.checkedValue(),\n initial: this.checked(),\n onRequest: (request) => {\n this.checkedChange.emit(request);\n cancelled = request.cancelled;\n },\n });\n state.request(next, reason, event);\n\n if (cancelled || this.checkedValue() !== undefined) {\n this.refuse(event);\n return;\n }\n\n this.own.set(next);\n this.onChangeFn(next);\n }\n\n protected onBlur() {\n this.onTouchedFn();\n }\n\n /**\n * Cancelling the click is what the platform offers — a checkbox reverts its\n * own checkedness when its activation is cancelled — and the element is put\n * back beside it, because that revert is the one part of the mechanism an\n * environment can get wrong. A switch showing a state nobody committed is\n * the whole defect this path exists to prevent.\n *\n * The restore is a microtask rather than a line here: the revert the\n * platform does perform happens after the dispatch returns, so a value\n * written now would be the one overwritten. It reads the state again at that\n * point, so a consumer who accepted the move in the same tick keeps their\n * answer.\n */\n private refuse(event: MouseEvent) {\n event.preventDefault();\n queueMicrotask(() => {\n const element = this.inputElement;\n if (element.checked !== this.checked()) element.checked = this.checked();\n });\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}