@slotted/angular 0.1.0-beta.7 → 0.1.0-beta.9

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