@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
@@ -442,42 +442,49 @@ class SlSlider {
442
442
  this.own.set(next);
443
443
  }
444
444
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSlider, deps: [], target: i0.ɵɵFactoryTarget.Component });
445
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSlider, isStandalone: true, selector: "[slSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, largeStep: { classPropertyName: "largeStep", publicName: "largeStep", isSignal: true, isRequired: false, transformFunction: null }, minStepsBetween: { classPropertyName: "minStepsBetween", publicName: "minStepsBetween", isSignal: true, isRequired: false, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: true, isRequired: false, transformFunction: null }, marks: { classPropertyName: "marks", publicName: "marks", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, thumbLabels: { classPropertyName: "thumbLabels", publicName: "thumbLabels", 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 }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", valueCommit: "valueCommit" }, host: { attributes: { "data-ui": "slider", "data-part": "root" }, properties: { "attr.data-size": "resolvedSize()", "attr.data-orientation": "resolvedOrientation()", "attr.data-value-label": "resolvedValueLabel()", "attr.data-marks": "marksMode()", "attr.data-dragging": "dragging() === null ? null : ''", "attr.data-disabled": "resolvedDisabled() === true ? '' : null", "attr.data-invalid": "resolvedInvalid() === true ? '' : null", "attr.data-readonly": "resolvedReadOnly() === true ? '' : null" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSlider), multi: true }], viewQueries: [{ propertyName: "track", first: true, predicate: ["track"], descendants: true, isSignal: true }], exportAs: ["slSlider"], ngImport: i0, template: `@if (resolvedValueLabel() !== 'none') {
446
- <output data-part="output" [attr.for]="controlId()">{{ outputText() }}</output>
445
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SlSlider, isStandalone: true, selector: "[slSlider]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, defaultValue: { classPropertyName: "defaultValue", publicName: "defaultValue", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null }, largeStep: { classPropertyName: "largeStep", publicName: "largeStep", isSignal: true, isRequired: false, transformFunction: null }, minStepsBetween: { classPropertyName: "minStepsBetween", publicName: "minStepsBetween", isSignal: true, isRequired: false, transformFunction: null }, origin: { classPropertyName: "origin", publicName: "origin", isSignal: true, isRequired: false, transformFunction: null }, marks: { classPropertyName: "marks", publicName: "marks", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, locale: { classPropertyName: "locale", publicName: "locale", isSignal: true, isRequired: false, transformFunction: null }, thumbLabels: { classPropertyName: "thumbLabels", publicName: "thumbLabels", 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 }, valueLabel: { classPropertyName: "valueLabel", publicName: "valueLabel", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", valueCommit: "valueCommit" }, host: { attributes: { "data-ui": "slider", "data-ui-slider": "", "data-part": "root", "data-part-root": "" }, properties: { "attr.data-size": "resolvedSize()", "attr.data-orientation": "resolvedOrientation()", "attr.data-value-label": "resolvedValueLabel()", "attr.data-marks": "marksMode()", "attr.data-dragging": "dragging() === null ? null : ''", "attr.data-disabled": "resolvedDisabled() === true ? '' : null", "attr.data-invalid": "resolvedInvalid() === true ? '' : null", "attr.data-readonly": "resolvedReadOnly() === true ? '' : null" } }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSlider), multi: true }], viewQueries: [{ propertyName: "track", first: true, predicate: ["track"], descendants: true, isSignal: true }], exportAs: ["slSlider"], ngImport: i0, template: `@if (resolvedValueLabel() !== 'none') {
446
+ <output data-part="output" data-part-output="" [attr.for]="controlId()">{{
447
+ outputText()
448
+ }}</output>
447
449
  }
448
450
  <div
449
451
  data-part="control"
452
+ data-part-control=""
450
453
  (pointerdown)="onPointerDown($event)"
451
454
  (pointermove)="onPointerMove($event)"
452
455
  (pointerup)="onPointerUp($event)"
453
456
  (pointercancel)="onPointerUp($event)"
454
457
  >
455
- <div data-part="track" #track>
458
+ <div data-part="track" data-part-track="" #track>
456
459
  <div
457
460
  data-part="indicator"
461
+ data-part-indicator=""
458
462
  [style.--_start]="span().start"
459
463
  [style.--_end]="span().end"
460
464
  ></div>
461
465
  @for (mark of markList(); track mark.value) {
462
466
  <span
463
467
  data-part="mark"
468
+ data-part-mark=""
464
469
  [attr.data-edge]="edgeOf(mark.value)"
465
470
  [style.--_position]="percentOf(mark.value)"
466
471
  >
467
472
  @if (mark.label !== undefined) {
468
- <span data-part="mark-label">{{ mark.label }}</span>
473
+ <span data-part="mark-label" data-part-mark-label="">{{ mark.label }}</span>
469
474
  }
470
475
  </span>
471
476
  }
472
477
  @for (thumbValue of values(); track $index) {
473
478
  <div
474
479
  data-part="thumb"
480
+ data-part-thumb=""
475
481
  [attr.data-index]="$index"
476
482
  [attr.data-active]="dragging() === $index ? '' : null"
477
483
  [style.--_position]="percentOf(thumbValue)"
478
484
  >
479
485
  <input
480
486
  data-part="input"
487
+ data-part-input=""
481
488
  type="range"
482
489
  [attr.id]="$index === 0 ? controlId() : controlId() + '-' + $index"
483
490
  [attr.name]="submissionName()"
@@ -497,50 +504,59 @@ class SlSlider {
497
504
  (keydown)="onKeyDown($index, $event)"
498
505
  (blur)="onTouched()"
499
506
  />
500
- <span data-part="bubble" aria-hidden="true">{{ valueTextOf(thumbValue) }}</span>
507
+ <span data-part="bubble" data-part-bubble="" aria-hidden="true">{{
508
+ valueTextOf(thumbValue)
509
+ }}</span>
501
510
  </div>
502
511
  }
503
512
  </div>
504
- </div>`, isInline: true, styles: ["@layer slotted.components{[data-ui=slider][data-part=root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_thumb-size: var( --slotted-slider-thumb-size, calc(var(--_icon-size) + var(--slotted-space-2, .25rem)) );--_track-size: var(--slotted-slider-track-size, var(--slotted-space-3, .375rem));--_control-size: max(var(--slotted-target-min, 24px), var(--_thumb-size));--_mark-gap: calc( (var(--_thumb-size) - var(--_track-size)) / 2 + var(--slotted-space-1, .125rem) );--_mark-length: var(--slotted-space-2, .25rem);--_mark-label-line: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) );--_mark-label-size: calc(var(--_thumb-size) * 3);--_bubble-size: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) + var(--slotted-space-1, .125rem) * 2 + var(--slotted-space-2, .25rem) );color:var(--slotted-slider-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);min-inline-size:0}[data-ui=slider][data-part=root][data-orientation=horizontal]{inline-size:100%}[data-ui=slider][data-part=root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: var(--slotted-control-icon-size-sm, 14px)}[data-ui=slider][data-part=root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px)}[data-ui=slider][data-part=root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_icon-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui=slider]>[data-part=output]{align-self:flex-end;color:var(--slotted-slider-output-color, var(--slotted-text, CanvasText));font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--slotted-line-height-sm, 1.45);unicode-bidi:plaintext}[data-ui=slider] [data-part=control]{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;position:relative;touch-action:none;-webkit-tap-highlight-color:transparent}[data-ui=slider][data-orientation=horizontal] [data-part=control]{block-size:var(--_control-size);inline-size:100%;padding-inline:calc(var(--_thumb-size) / 2)}[data-ui=slider][data-orientation=horizontal]:not([data-value-label=none]) [data-part=control]{margin-block-start:max(0px,calc(var(--_bubble-size) - var(--_gap)))}[data-ui=slider][data-orientation=vertical] [data-part=control]{block-size:calc(var(--slotted-slider-length, calc(var(--_thumb-size) * 10)) + var(--_thumb-size));inline-size:var(--_control-size);padding-block:calc(var(--_thumb-size) / 2)}[data-ui=slider][data-orientation=horizontal][data-marks=ticks] [data-part=control]{margin-block-end:var(--_mark-length)}[data-ui=slider][data-orientation=horizontal][data-marks=labelled] [data-part=control]{margin-block-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-line))}[data-ui=slider][data-orientation=vertical][data-marks=ticks] [data-part=control]{margin-inline-end:var(--_mark-length)}[data-ui=slider][data-orientation=vertical][data-marks=labelled] [data-part=control]{margin-inline-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-size))}[data-ui=slider] [data-part=track]{background-color:var(--slotted-slider-track-color, var(--slotted-surface-sunken, Canvas));border:var(--slotted-control-border-width, 1px) solid var(--slotted-slider-track-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;position:relative}[data-ui=slider][data-orientation=horizontal] [data-part=track]{block-size:var(--_track-size);inline-size:100%}[data-ui=slider][data-orientation=vertical] [data-part=track]{block-size:100%;inline-size:var(--_track-size)}[data-ui=slider] [data-part=indicator]{--_edge-overlap: calc(var(--slotted-control-border-width, 1px) * -1);background-color:var(--slotted-slider-indicator-color, var(--slotted-tone-accent-solid));border-radius:inherit;position:absolute}[data-ui=slider][data-orientation=horizontal] [data-part=indicator]{inset-block:var(--_edge-overlap);inset-inline-start:calc(var(--_start, 0) * 1%);inline-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui=slider][data-orientation=vertical] [data-part=indicator]{inset-inline:var(--_edge-overlap);inset-block-end:calc(var(--_start, 0) * 1%);block-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui=slider] [data-part=mark]{background-color:var(--slotted-slider-mark-color, var(--slotted-border-strong, CanvasText));position:absolute}[data-ui=slider][data-orientation=horizontal] [data-part=mark]{block-size:var(--_mark-length);inline-size:var(--slotted-border-width-thin, 1px);inset-block-start:calc(100% + var(--_mark-gap));inset-inline-start:calc(var(--_position, 0) * 1%);margin-inline-start:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui=slider][data-orientation=vertical] [data-part=mark]{block-size:var(--slotted-border-width-thin, 1px);inline-size:var(--_mark-length);inset-inline-start:calc(100% + var(--_mark-gap));inset-block-end:calc(var(--_position, 0) * 1%);margin-block-end:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui=slider] [data-part=mark-label]{color:var(--slotted-slider-mark-label-color, var(--slotted-text-muted, GrayText));display:block;font-size:var(--slotted-font-size-xs, .75rem);inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:var(--_mark-label-size);overflow-wrap:anywhere;position:absolute;text-align:center;unicode-bidi:plaintext}[data-ui=slider][data-orientation=horizontal] [data-part=mark-label]{inset-block-start:calc(100% + var(--slotted-space-1, .125rem));inset-inline-start:50%;translate:-50% 0}[data-ui=slider][data-orientation=horizontal] [data-part=mark][data-edge=start] [data-part=mark-label]{inset-inline-start:0;text-align:start;translate:0 0}[data-ui=slider][data-orientation=horizontal] [data-part=mark][data-edge] [data-part=mark-label]{max-inline-size:none}[data-ui=slider][data-orientation=horizontal] [data-part=mark][data-edge=end] [data-part=mark-label]{inset-inline-end:0;inset-inline-start:auto;text-align:end;translate:0 0}[data-ui=slider][data-orientation=horizontal]:dir(rtl) [data-part=mark]:not([data-edge]) [data-part=mark-label]{translate:50% 0}[data-ui=slider][data-orientation=vertical] [data-part=mark-label]{inset-block-start:50%;inset-inline-start:calc(100% + var(--slotted-space-1, .125rem));text-align:start;translate:0 -50%}[data-ui=slider] [data-part=thumb]{background-color:var(--slotted-slider-thumb-color, var(--slotted-surface, Canvas));block-size:var(--_thumb-size);border:var(--slotted-border-width-thick, 2px) solid var(--slotted-slider-thumb-border-color, var(--slotted-tone-accent-solid));border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-slider-thumb-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;cursor:grab;display:block;inline-size:var(--_thumb-size);position:absolute;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),scale var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=slider][data-orientation=horizontal] [data-part=thumb]{inset-block-start:50%;inset-inline-start:calc(var(--_position, 0) * 1%);margin-block-start:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui=slider][data-orientation=vertical] [data-part=thumb]{inset-block-end:calc(var(--_position, 0) * 1%);inset-inline-start:50%;margin-block-end:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui=slider] [data-part=input]{appearance:none;block-size:100%;inline-size:100%;inset:0;margin:0;opacity:0;outline:none;padding:0;pointer-events:none;position:absolute}[data-ui=slider] [data-part=input]::-webkit-slider-thumb{appearance:none;block-size:0;inline-size:0}[data-ui=slider] [data-part=input]::-webkit-slider-runnable-track{block-size:0}[data-ui=slider] [data-part=bubble]{background-color:var(--slotted-slider-bubble-background, var(--slotted-surface-inverse));border-radius:var(--slotted-radius-sm, 4px);color:var(--slotted-slider-bubble-color, var(--slotted-text-inverse));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:calc(var(--_thumb-size) * 4);opacity:0;padding-block:var(--slotted-space-1, .125rem);padding-inline:var(--slotted-space-3, .375rem);pointer-events:none;position:absolute;text-align:center;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);unicode-bidi:plaintext}[data-ui=slider][data-orientation=horizontal] [data-part=bubble]{inset-block-end:calc(100% + var(--slotted-space-2, .25rem));inset-inline-start:50%;translate:-50% 0}[data-ui=slider][data-orientation=horizontal]:dir(rtl) [data-part=bubble]{translate:50% 0}[data-ui=slider][data-orientation=vertical] [data-part=bubble]{inset-block-start:50%;inset-inline-end:calc(100% + var(--slotted-space-2, .25rem));translate:0 -50%}[data-ui=slider][data-value-label=always] [data-part=bubble],[data-ui=slider][data-dragging] [data-part=thumb][data-active] [data-part=bubble],[data-ui=slider] [data-part=thumb]:has(>[data-part=input]:focus-visible) [data-part=bubble]{opacity:1}[data-ui=slider][data-value-label=none] [data-part=bubble]{display:none}[data-ui=slider]:not([data-disabled]):not([data-readonly]) [data-part=thumb]:hover:not(:disabled){background-color:var( --slotted-slider-thumb-hover-background, var(--slotted-tone-accent-surface) )}[data-ui=slider]:not([data-disabled]):not([data-readonly]) [data-part=thumb]:active:not(:disabled),[data-ui=slider][data-dragging]:not([data-disabled]):not([data-readonly]) [data-part=thumb][data-active]{cursor:grabbing;scale:1.15}[data-ui=slider] [data-part=thumb]:has(>[data-part=input]:focus-visible){box-shadow:var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=slider][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-slider-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=slider][data-invalid] [data-part=indicator]{background-color:var( --slotted-slider-invalid-indicator-color, var(--slotted-tone-danger-solid) )}[data-ui=slider][data-invalid] [data-part=thumb]{--_invalid-edge-width: var( --slotted-slider-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );--_invalid-edge: inset 0 0 0 var(--_invalid-edge-width) var(--_invalid-edge-color);border-color:var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );box-shadow:var(--_invalid-edge)}[data-ui=slider][data-invalid] [data-part=thumb]:has(>[data-part=input]:focus-visible){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui=slider][data-part=root][data-readonly] [data-part=control],[data-ui=slider][data-part=root][data-readonly] [data-part=thumb]{cursor:default}[data-ui=slider][data-part=root][data-readonly] [data-part=indicator]{background-color:var(--slotted-slider-readonly-indicator-color, var(--slotted-text-muted))}[data-ui=slider][data-part=root][data-readonly] [data-part=thumb]{border-color:var( --slotted-slider-readonly-thumb-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui=slider][data-part=root][data-disabled] [data-part=track],[data-ui=slider][data-part=root]:has([data-part=input]:disabled) [data-part=track]{background-color:var( --slotted-slider-disabled-track-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border))}[data-ui=slider][data-part=root][data-disabled] [data-part=indicator],[data-ui=slider][data-part=root]:has([data-part=input]:disabled) [data-part=indicator]{background-color:var( --slotted-slider-disabled-indicator-color, var(--slotted-disabled-foreground) )}[data-ui=slider][data-part=root][data-disabled] [data-part=thumb],[data-ui=slider][data-part=root]:has([data-part=input]:disabled) [data-part=thumb]{background-color:var( --slotted-slider-disabled-thumb-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border));box-shadow:none;cursor:not-allowed}[data-ui=slider][data-part=root][data-disabled] [data-part=control],[data-ui=slider][data-part=root][data-disabled]>[data-part=output],[data-ui=slider][data-part=root][data-disabled] [data-part=mark-label]{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=slider][data-part=root][data-disabled] [data-part=mark]{background-color:var(--slotted-disabled-foreground)}@media(forced-colors:active){[data-ui=slider] [data-part=track]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui=slider] [data-part=indicator]{background-color:Highlight}[data-ui=slider] [data-part=thumb]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui=slider] [data-part=mark]{background-color:CanvasText}[data-ui=slider][data-part=root][data-disabled] [data-part=indicator],[data-ui=slider][data-part=root][data-disabled] [data-part=thumb]{background-color:Canvas;border-color:GrayText}[data-ui=slider][data-invalid] [data-part=thumb]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--slotted-border-width-thick, 2px) + var(--_invalid-edge-width)))}[data-ui=slider][data-invalid] [data-part=thumb]:has(>[data-part=input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
513
+ </div>`, isInline: true, styles: ["@layer slotted.components{[data-ui-slider][data-part-root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_thumb-size: var( --slotted-slider-thumb-size, calc(var(--_icon-size) + var(--slotted-space-2, .25rem)) );--_track-size: var(--slotted-slider-track-size, var(--slotted-space-3, .375rem));--_control-size: max(var(--slotted-target-min, 24px), var(--_thumb-size));--_mark-gap: calc( (var(--_thumb-size) - var(--_track-size)) / 2 + var(--slotted-space-1, .125rem) );--_mark-length: var(--slotted-space-2, .25rem);--_mark-label-line: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) );--_mark-label-size: calc(var(--_thumb-size) * 3);--_bubble-size: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) + var(--slotted-space-1, .125rem) * 2 + var(--slotted-space-2, .25rem) );color:var(--slotted-slider-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);min-inline-size:0}[data-ui-slider][data-part-root][data-orientation=horizontal]{inline-size:100%}[data-ui-slider][data-part-root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: var(--slotted-control-icon-size-sm, 14px)}[data-ui-slider][data-part-root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px)}[data-ui-slider][data-part-root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_icon-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui-slider]>[data-part-output]{align-self:flex-end;color:var(--slotted-slider-output-color, var(--slotted-text, CanvasText));font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--slotted-line-height-sm, 1.45);unicode-bidi:plaintext}[data-ui-slider] [data-part-control]{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;position:relative;touch-action:none;-webkit-tap-highlight-color:transparent}[data-ui-slider][data-orientation=horizontal] [data-part-control]{block-size:var(--_control-size);inline-size:100%;padding-inline:calc(var(--_thumb-size) / 2)}[data-ui-slider][data-orientation=horizontal]:not([data-value-label=none]) [data-part-control]{margin-block-start:max(0px,calc(var(--_bubble-size) - var(--_gap)))}[data-ui-slider][data-orientation=vertical] [data-part-control]{block-size:calc(var(--slotted-slider-length, calc(var(--_thumb-size) * 10)) + var(--_thumb-size));inline-size:var(--_control-size);padding-block:calc(var(--_thumb-size) / 2)}[data-ui-slider][data-orientation=horizontal][data-marks=ticks] [data-part-control]{margin-block-end:var(--_mark-length)}[data-ui-slider][data-orientation=horizontal][data-marks=labelled] [data-part-control]{margin-block-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-line))}[data-ui-slider][data-orientation=vertical][data-marks=ticks] [data-part-control]{margin-inline-end:var(--_mark-length)}[data-ui-slider][data-orientation=vertical][data-marks=labelled] [data-part-control]{margin-inline-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-size))}[data-ui-slider] [data-part-track]{background-color:var(--slotted-slider-track-color, var(--slotted-surface-sunken, Canvas));border:var(--slotted-control-border-width, 1px) solid var(--slotted-slider-track-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;position:relative}[data-ui-slider][data-orientation=horizontal] [data-part-track]{block-size:var(--_track-size);inline-size:100%}[data-ui-slider][data-orientation=vertical] [data-part-track]{block-size:100%;inline-size:var(--_track-size)}[data-ui-slider] [data-part-indicator]{--_edge-overlap: calc(var(--slotted-control-border-width, 1px) * -1);background-color:var(--slotted-slider-indicator-color, var(--slotted-tone-accent-solid));border-radius:inherit;position:absolute}[data-ui-slider][data-orientation=horizontal] [data-part-indicator]{inset-block:var(--_edge-overlap);inset-inline-start:calc(var(--_start, 0) * 1%);inline-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui-slider][data-orientation=vertical] [data-part-indicator]{inset-inline:var(--_edge-overlap);inset-block-end:calc(var(--_start, 0) * 1%);block-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui-slider] [data-part-mark]{background-color:var(--slotted-slider-mark-color, var(--slotted-border-strong, CanvasText));position:absolute}[data-ui-slider][data-orientation=horizontal] [data-part-mark]{block-size:var(--_mark-length);inline-size:var(--slotted-border-width-thin, 1px);inset-block-start:calc(100% + var(--_mark-gap));inset-inline-start:calc(var(--_position, 0) * 1%);margin-inline-start:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui-slider][data-orientation=vertical] [data-part-mark]{block-size:var(--slotted-border-width-thin, 1px);inline-size:var(--_mark-length);inset-inline-start:calc(100% + var(--_mark-gap));inset-block-end:calc(var(--_position, 0) * 1%);margin-block-end:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui-slider] [data-part-mark-label]{color:var(--slotted-slider-mark-label-color, var(--slotted-text-muted, GrayText));display:block;font-size:var(--slotted-font-size-xs, .75rem);inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:var(--_mark-label-size);overflow-wrap:anywhere;position:absolute;text-align:center;unicode-bidi:plaintext}[data-ui-slider][data-orientation=horizontal] [data-part-mark-label]{inset-block-start:calc(100% + var(--slotted-space-1, .125rem));inset-inline-start:50%;translate:-50% 0}[data-ui-slider][data-orientation=horizontal] [data-part-mark][data-edge=start] [data-part-mark-label]{inset-inline-start:0;text-align:start;translate:0 0}[data-ui-slider][data-orientation=horizontal] [data-part-mark][data-edge] [data-part-mark-label]{max-inline-size:none}[data-ui-slider][data-orientation=horizontal] [data-part-mark][data-edge=end] [data-part-mark-label]{inset-inline-end:0;inset-inline-start:auto;text-align:end;translate:0 0}[data-ui-slider][data-orientation=horizontal]:dir(rtl) [data-part-mark]:not([data-edge]) [data-part-mark-label]{translate:50% 0}[data-ui-slider][data-orientation=vertical] [data-part-mark-label]{inset-block-start:50%;inset-inline-start:calc(100% + var(--slotted-space-1, .125rem));text-align:start;translate:0 -50%}[data-ui-slider] [data-part-thumb]{background-color:var(--slotted-slider-thumb-color, var(--slotted-surface, Canvas));block-size:var(--_thumb-size);border:var(--slotted-border-width-thick, 2px) solid var(--slotted-slider-thumb-border-color, var(--slotted-tone-accent-solid));border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-slider-thumb-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;cursor:grab;display:block;inline-size:var(--_thumb-size);position:absolute;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),scale var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-slider][data-orientation=horizontal] [data-part-thumb]{inset-block-start:50%;inset-inline-start:calc(var(--_position, 0) * 1%);margin-block-start:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui-slider][data-orientation=vertical] [data-part-thumb]{inset-block-end:calc(var(--_position, 0) * 1%);inset-inline-start:50%;margin-block-end:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui-slider] [data-part-input]{appearance:none;block-size:100%;inline-size:100%;inset:0;margin:0;opacity:0;outline:none;padding:0;pointer-events:none;position:absolute}[data-ui-slider] [data-part-input]::-webkit-slider-thumb{appearance:none;block-size:0;inline-size:0}[data-ui-slider] [data-part-input]::-webkit-slider-runnable-track{block-size:0}[data-ui-slider] [data-part-bubble]{background-color:var(--slotted-slider-bubble-background, var(--slotted-surface-inverse));border-radius:var(--slotted-radius-sm, 4px);color:var(--slotted-slider-bubble-color, var(--slotted-text-inverse));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:calc(var(--_thumb-size) * 4);opacity:0;padding-block:var(--slotted-space-1, .125rem);padding-inline:var(--slotted-space-3, .375rem);pointer-events:none;position:absolute;text-align:center;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);unicode-bidi:plaintext}[data-ui-slider][data-orientation=horizontal] [data-part-bubble]{inset-block-end:calc(100% + var(--slotted-space-2, .25rem));inset-inline-start:50%;translate:-50% 0}[data-ui-slider][data-orientation=horizontal]:dir(rtl) [data-part-bubble]{translate:50% 0}[data-ui-slider][data-orientation=vertical] [data-part-bubble]{inset-block-start:50%;inset-inline-end:calc(100% + var(--slotted-space-2, .25rem));translate:0 -50%}[data-ui-slider][data-value-label=always] [data-part-bubble],[data-ui-slider][data-dragging] [data-part-thumb][data-active] [data-part-bubble],[data-ui-slider] [data-part-thumb]:has(>[data-part-input]:focus-visible) [data-part-bubble]{opacity:1}[data-ui-slider][data-value-label=none] [data-part-bubble]{display:none}[data-ui-slider]:not([data-disabled]):not([data-readonly]) [data-part-thumb]:hover:not(:disabled){background-color:var( --slotted-slider-thumb-hover-background, var(--slotted-tone-accent-surface) )}[data-ui-slider]:not([data-disabled]):not([data-readonly]) [data-part-thumb]:active:not(:disabled),[data-ui-slider][data-dragging]:not([data-disabled]):not([data-readonly]) [data-part-thumb][data-active]{cursor:grabbing;scale:1.15}[data-ui-slider] [data-part-thumb]:has(>[data-part-input]:focus-visible){box-shadow:var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-slider][data-part-root][data-invalid]{--slotted-focus-ring-color: var( --slotted-slider-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui-slider][data-invalid] [data-part-indicator]{background-color:var( --slotted-slider-invalid-indicator-color, var(--slotted-tone-danger-solid) )}[data-ui-slider][data-invalid] [data-part-thumb]{--_invalid-edge-width: var( --slotted-slider-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );--_invalid-edge: inset 0 0 0 var(--_invalid-edge-width) var(--_invalid-edge-color);border-color:var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );box-shadow:var(--_invalid-edge)}[data-ui-slider][data-invalid] [data-part-thumb]:has(>[data-part-input]:focus-visible){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui-slider][data-part-root][data-readonly] [data-part-control],[data-ui-slider][data-part-root][data-readonly] [data-part-thumb]{cursor:default}[data-ui-slider][data-part-root][data-readonly] [data-part-indicator]{background-color:var(--slotted-slider-readonly-indicator-color, var(--slotted-text-muted))}[data-ui-slider][data-part-root][data-readonly] [data-part-thumb]{border-color:var( --slotted-slider-readonly-thumb-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui-slider][data-part-root][data-disabled] [data-part-track],[data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-track]{background-color:var( --slotted-slider-disabled-track-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border))}[data-ui-slider][data-part-root][data-disabled] [data-part-indicator],[data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-indicator]{background-color:var( --slotted-slider-disabled-indicator-color, var(--slotted-disabled-foreground) )}[data-ui-slider][data-part-root][data-disabled] [data-part-thumb],[data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-thumb]{background-color:var( --slotted-slider-disabled-thumb-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border));box-shadow:none;cursor:not-allowed}[data-ui-slider][data-part-root][data-disabled] [data-part-control],[data-ui-slider][data-part-root][data-disabled]>[data-part-output],[data-ui-slider][data-part-root][data-disabled] [data-part-mark-label]{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui-slider][data-part-root][data-disabled] [data-part-mark]{background-color:var(--slotted-disabled-foreground)}@media(forced-colors:active){[data-ui-slider] [data-part-track]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui-slider] [data-part-indicator]{background-color:Highlight}[data-ui-slider] [data-part-thumb]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui-slider] [data-part-mark]{background-color:CanvasText}[data-ui-slider][data-part-root][data-disabled] [data-part-indicator],[data-ui-slider][data-part-root][data-disabled] [data-part-thumb]{background-color:Canvas;border-color:GrayText}[data-ui-slider][data-invalid] [data-part-thumb]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--slotted-border-width-thick, 2px) + var(--_invalid-edge-width)))}[data-ui-slider][data-invalid] [data-part-thumb]:has(>[data-part-input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
505
514
  }
506
515
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SlSlider, decorators: [{
507
516
  type: Component,
508
517
  args: [{ selector: '[slSlider]', standalone: true, exportAs: 'slSlider', template: `@if (resolvedValueLabel() !== 'none') {
509
- <output data-part="output" [attr.for]="controlId()">{{ outputText() }}</output>
518
+ <output data-part="output" data-part-output="" [attr.for]="controlId()">{{
519
+ outputText()
520
+ }}</output>
510
521
  }
511
522
  <div
512
523
  data-part="control"
524
+ data-part-control=""
513
525
  (pointerdown)="onPointerDown($event)"
514
526
  (pointermove)="onPointerMove($event)"
515
527
  (pointerup)="onPointerUp($event)"
516
528
  (pointercancel)="onPointerUp($event)"
517
529
  >
518
- <div data-part="track" #track>
530
+ <div data-part="track" data-part-track="" #track>
519
531
  <div
520
532
  data-part="indicator"
533
+ data-part-indicator=""
521
534
  [style.--_start]="span().start"
522
535
  [style.--_end]="span().end"
523
536
  ></div>
524
537
  @for (mark of markList(); track mark.value) {
525
538
  <span
526
539
  data-part="mark"
540
+ data-part-mark=""
527
541
  [attr.data-edge]="edgeOf(mark.value)"
528
542
  [style.--_position]="percentOf(mark.value)"
529
543
  >
530
544
  @if (mark.label !== undefined) {
531
- <span data-part="mark-label">{{ mark.label }}</span>
545
+ <span data-part="mark-label" data-part-mark-label="">{{ mark.label }}</span>
532
546
  }
533
547
  </span>
534
548
  }
535
549
  @for (thumbValue of values(); track $index) {
536
550
  <div
537
551
  data-part="thumb"
552
+ data-part-thumb=""
538
553
  [attr.data-index]="$index"
539
554
  [attr.data-active]="dragging() === $index ? '' : null"
540
555
  [style.--_position]="percentOf(thumbValue)"
541
556
  >
542
557
  <input
543
558
  data-part="input"
559
+ data-part-input=""
544
560
  type="range"
545
561
  [attr.id]="$index === 0 ? controlId() : controlId() + '-' + $index"
546
562
  [attr.name]="submissionName()"
@@ -560,13 +576,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
560
576
  (keydown)="onKeyDown($index, $event)"
561
577
  (blur)="onTouched()"
562
578
  />
563
- <span data-part="bubble" aria-hidden="true">{{ valueTextOf(thumbValue) }}</span>
579
+ <span data-part="bubble" data-part-bubble="" aria-hidden="true">{{
580
+ valueTextOf(thumbValue)
581
+ }}</span>
564
582
  </div>
565
583
  }
566
584
  </div>
567
585
  </div>`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSlider), multi: true }], host: {
568
586
  'data-ui': 'slider',
587
+ 'data-ui-slider': '',
569
588
  'data-part': 'root',
589
+ 'data-part-root': '',
570
590
  '[attr.data-size]': 'resolvedSize()',
571
591
  '[attr.data-orientation]': 'resolvedOrientation()',
572
592
  '[attr.data-value-label]': 'resolvedValueLabel()',
@@ -575,7 +595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImpor
575
595
  '[attr.data-disabled]': "resolvedDisabled() === true ? '' : null",
576
596
  '[attr.data-invalid]': "resolvedInvalid() === true ? '' : null",
577
597
  '[attr.data-readonly]': "resolvedReadOnly() === true ? '' : null",
578
- }, styles: ["@layer slotted.components{[data-ui=slider][data-part=root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_thumb-size: var( --slotted-slider-thumb-size, calc(var(--_icon-size) + var(--slotted-space-2, .25rem)) );--_track-size: var(--slotted-slider-track-size, var(--slotted-space-3, .375rem));--_control-size: max(var(--slotted-target-min, 24px), var(--_thumb-size));--_mark-gap: calc( (var(--_thumb-size) - var(--_track-size)) / 2 + var(--slotted-space-1, .125rem) );--_mark-length: var(--slotted-space-2, .25rem);--_mark-label-line: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) );--_mark-label-size: calc(var(--_thumb-size) * 3);--_bubble-size: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) + var(--slotted-space-1, .125rem) * 2 + var(--slotted-space-2, .25rem) );color:var(--slotted-slider-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);min-inline-size:0}[data-ui=slider][data-part=root][data-orientation=horizontal]{inline-size:100%}[data-ui=slider][data-part=root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: var(--slotted-control-icon-size-sm, 14px)}[data-ui=slider][data-part=root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px)}[data-ui=slider][data-part=root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_icon-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui=slider]>[data-part=output]{align-self:flex-end;color:var(--slotted-slider-output-color, var(--slotted-text, CanvasText));font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--slotted-line-height-sm, 1.45);unicode-bidi:plaintext}[data-ui=slider] [data-part=control]{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;position:relative;touch-action:none;-webkit-tap-highlight-color:transparent}[data-ui=slider][data-orientation=horizontal] [data-part=control]{block-size:var(--_control-size);inline-size:100%;padding-inline:calc(var(--_thumb-size) / 2)}[data-ui=slider][data-orientation=horizontal]:not([data-value-label=none]) [data-part=control]{margin-block-start:max(0px,calc(var(--_bubble-size) - var(--_gap)))}[data-ui=slider][data-orientation=vertical] [data-part=control]{block-size:calc(var(--slotted-slider-length, calc(var(--_thumb-size) * 10)) + var(--_thumb-size));inline-size:var(--_control-size);padding-block:calc(var(--_thumb-size) / 2)}[data-ui=slider][data-orientation=horizontal][data-marks=ticks] [data-part=control]{margin-block-end:var(--_mark-length)}[data-ui=slider][data-orientation=horizontal][data-marks=labelled] [data-part=control]{margin-block-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-line))}[data-ui=slider][data-orientation=vertical][data-marks=ticks] [data-part=control]{margin-inline-end:var(--_mark-length)}[data-ui=slider][data-orientation=vertical][data-marks=labelled] [data-part=control]{margin-inline-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-size))}[data-ui=slider] [data-part=track]{background-color:var(--slotted-slider-track-color, var(--slotted-surface-sunken, Canvas));border:var(--slotted-control-border-width, 1px) solid var(--slotted-slider-track-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;position:relative}[data-ui=slider][data-orientation=horizontal] [data-part=track]{block-size:var(--_track-size);inline-size:100%}[data-ui=slider][data-orientation=vertical] [data-part=track]{block-size:100%;inline-size:var(--_track-size)}[data-ui=slider] [data-part=indicator]{--_edge-overlap: calc(var(--slotted-control-border-width, 1px) * -1);background-color:var(--slotted-slider-indicator-color, var(--slotted-tone-accent-solid));border-radius:inherit;position:absolute}[data-ui=slider][data-orientation=horizontal] [data-part=indicator]{inset-block:var(--_edge-overlap);inset-inline-start:calc(var(--_start, 0) * 1%);inline-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui=slider][data-orientation=vertical] [data-part=indicator]{inset-inline:var(--_edge-overlap);inset-block-end:calc(var(--_start, 0) * 1%);block-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui=slider] [data-part=mark]{background-color:var(--slotted-slider-mark-color, var(--slotted-border-strong, CanvasText));position:absolute}[data-ui=slider][data-orientation=horizontal] [data-part=mark]{block-size:var(--_mark-length);inline-size:var(--slotted-border-width-thin, 1px);inset-block-start:calc(100% + var(--_mark-gap));inset-inline-start:calc(var(--_position, 0) * 1%);margin-inline-start:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui=slider][data-orientation=vertical] [data-part=mark]{block-size:var(--slotted-border-width-thin, 1px);inline-size:var(--_mark-length);inset-inline-start:calc(100% + var(--_mark-gap));inset-block-end:calc(var(--_position, 0) * 1%);margin-block-end:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui=slider] [data-part=mark-label]{color:var(--slotted-slider-mark-label-color, var(--slotted-text-muted, GrayText));display:block;font-size:var(--slotted-font-size-xs, .75rem);inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:var(--_mark-label-size);overflow-wrap:anywhere;position:absolute;text-align:center;unicode-bidi:plaintext}[data-ui=slider][data-orientation=horizontal] [data-part=mark-label]{inset-block-start:calc(100% + var(--slotted-space-1, .125rem));inset-inline-start:50%;translate:-50% 0}[data-ui=slider][data-orientation=horizontal] [data-part=mark][data-edge=start] [data-part=mark-label]{inset-inline-start:0;text-align:start;translate:0 0}[data-ui=slider][data-orientation=horizontal] [data-part=mark][data-edge] [data-part=mark-label]{max-inline-size:none}[data-ui=slider][data-orientation=horizontal] [data-part=mark][data-edge=end] [data-part=mark-label]{inset-inline-end:0;inset-inline-start:auto;text-align:end;translate:0 0}[data-ui=slider][data-orientation=horizontal]:dir(rtl) [data-part=mark]:not([data-edge]) [data-part=mark-label]{translate:50% 0}[data-ui=slider][data-orientation=vertical] [data-part=mark-label]{inset-block-start:50%;inset-inline-start:calc(100% + var(--slotted-space-1, .125rem));text-align:start;translate:0 -50%}[data-ui=slider] [data-part=thumb]{background-color:var(--slotted-slider-thumb-color, var(--slotted-surface, Canvas));block-size:var(--_thumb-size);border:var(--slotted-border-width-thick, 2px) solid var(--slotted-slider-thumb-border-color, var(--slotted-tone-accent-solid));border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-slider-thumb-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;cursor:grab;display:block;inline-size:var(--_thumb-size);position:absolute;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),scale var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui=slider][data-orientation=horizontal] [data-part=thumb]{inset-block-start:50%;inset-inline-start:calc(var(--_position, 0) * 1%);margin-block-start:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui=slider][data-orientation=vertical] [data-part=thumb]{inset-block-end:calc(var(--_position, 0) * 1%);inset-inline-start:50%;margin-block-end:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui=slider] [data-part=input]{appearance:none;block-size:100%;inline-size:100%;inset:0;margin:0;opacity:0;outline:none;padding:0;pointer-events:none;position:absolute}[data-ui=slider] [data-part=input]::-webkit-slider-thumb{appearance:none;block-size:0;inline-size:0}[data-ui=slider] [data-part=input]::-webkit-slider-runnable-track{block-size:0}[data-ui=slider] [data-part=bubble]{background-color:var(--slotted-slider-bubble-background, var(--slotted-surface-inverse));border-radius:var(--slotted-radius-sm, 4px);color:var(--slotted-slider-bubble-color, var(--slotted-text-inverse));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:calc(var(--_thumb-size) * 4);opacity:0;padding-block:var(--slotted-space-1, .125rem);padding-inline:var(--slotted-space-3, .375rem);pointer-events:none;position:absolute;text-align:center;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);unicode-bidi:plaintext}[data-ui=slider][data-orientation=horizontal] [data-part=bubble]{inset-block-end:calc(100% + var(--slotted-space-2, .25rem));inset-inline-start:50%;translate:-50% 0}[data-ui=slider][data-orientation=horizontal]:dir(rtl) [data-part=bubble]{translate:50% 0}[data-ui=slider][data-orientation=vertical] [data-part=bubble]{inset-block-start:50%;inset-inline-end:calc(100% + var(--slotted-space-2, .25rem));translate:0 -50%}[data-ui=slider][data-value-label=always] [data-part=bubble],[data-ui=slider][data-dragging] [data-part=thumb][data-active] [data-part=bubble],[data-ui=slider] [data-part=thumb]:has(>[data-part=input]:focus-visible) [data-part=bubble]{opacity:1}[data-ui=slider][data-value-label=none] [data-part=bubble]{display:none}[data-ui=slider]:not([data-disabled]):not([data-readonly]) [data-part=thumb]:hover:not(:disabled){background-color:var( --slotted-slider-thumb-hover-background, var(--slotted-tone-accent-surface) )}[data-ui=slider]:not([data-disabled]):not([data-readonly]) [data-part=thumb]:active:not(:disabled),[data-ui=slider][data-dragging]:not([data-disabled]):not([data-readonly]) [data-part=thumb][data-active]{cursor:grabbing;scale:1.15}[data-ui=slider] [data-part=thumb]:has(>[data-part=input]:focus-visible){box-shadow:var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui=slider][data-part=root][data-invalid]{--slotted-focus-ring-color: var( --slotted-slider-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui=slider][data-invalid] [data-part=indicator]{background-color:var( --slotted-slider-invalid-indicator-color, var(--slotted-tone-danger-solid) )}[data-ui=slider][data-invalid] [data-part=thumb]{--_invalid-edge-width: var( --slotted-slider-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );--_invalid-edge: inset 0 0 0 var(--_invalid-edge-width) var(--_invalid-edge-color);border-color:var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );box-shadow:var(--_invalid-edge)}[data-ui=slider][data-invalid] [data-part=thumb]:has(>[data-part=input]:focus-visible){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui=slider][data-part=root][data-readonly] [data-part=control],[data-ui=slider][data-part=root][data-readonly] [data-part=thumb]{cursor:default}[data-ui=slider][data-part=root][data-readonly] [data-part=indicator]{background-color:var(--slotted-slider-readonly-indicator-color, var(--slotted-text-muted))}[data-ui=slider][data-part=root][data-readonly] [data-part=thumb]{border-color:var( --slotted-slider-readonly-thumb-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui=slider][data-part=root][data-disabled] [data-part=track],[data-ui=slider][data-part=root]:has([data-part=input]:disabled) [data-part=track]{background-color:var( --slotted-slider-disabled-track-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border))}[data-ui=slider][data-part=root][data-disabled] [data-part=indicator],[data-ui=slider][data-part=root]:has([data-part=input]:disabled) [data-part=indicator]{background-color:var( --slotted-slider-disabled-indicator-color, var(--slotted-disabled-foreground) )}[data-ui=slider][data-part=root][data-disabled] [data-part=thumb],[data-ui=slider][data-part=root]:has([data-part=input]:disabled) [data-part=thumb]{background-color:var( --slotted-slider-disabled-thumb-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border));box-shadow:none;cursor:not-allowed}[data-ui=slider][data-part=root][data-disabled] [data-part=control],[data-ui=slider][data-part=root][data-disabled]>[data-part=output],[data-ui=slider][data-part=root][data-disabled] [data-part=mark-label]{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui=slider][data-part=root][data-disabled] [data-part=mark]{background-color:var(--slotted-disabled-foreground)}@media(forced-colors:active){[data-ui=slider] [data-part=track]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui=slider] [data-part=indicator]{background-color:Highlight}[data-ui=slider] [data-part=thumb]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui=slider] [data-part=mark]{background-color:CanvasText}[data-ui=slider][data-part=root][data-disabled] [data-part=indicator],[data-ui=slider][data-part=root][data-disabled] [data-part=thumb]{background-color:Canvas;border-color:GrayText}[data-ui=slider][data-invalid] [data-part=thumb]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--slotted-border-width-thick, 2px) + var(--_invalid-edge-width)))}[data-ui=slider][data-invalid] [data-part=thumb]:has(>[data-part=input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}}}\n"] }]
598
+ }, styles: ["@layer slotted.components{[data-ui-slider][data-part-root]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px);--_thumb-size: var( --slotted-slider-thumb-size, calc(var(--_icon-size) + var(--slotted-space-2, .25rem)) );--_track-size: var(--slotted-slider-track-size, var(--slotted-space-3, .375rem));--_control-size: max(var(--slotted-target-min, 24px), var(--_thumb-size));--_mark-gap: calc( (var(--_thumb-size) - var(--_track-size)) / 2 + var(--slotted-space-1, .125rem) );--_mark-length: var(--slotted-space-2, .25rem);--_mark-label-line: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) );--_mark-label-size: calc(var(--_thumb-size) * 3);--_bubble-size: calc( var(--slotted-font-size-xs, .75rem) * var(--slotted-line-height-xs, 1.4) + var(--slotted-space-1, .125rem) * 2 + var(--slotted-space-2, .25rem) );color:var(--slotted-slider-color, var(--slotted-text, CanvasText));display:flex;flex-direction:column;font-family:var(--slotted-control-font-family, system-ui, sans-serif);font-size:var(--_font-size);gap:var(--_gap);min-inline-size:0}[data-ui-slider][data-part-root][data-orientation=horizontal]{inline-size:100%}[data-ui-slider][data-part-root][data-size=sm]{--_font-size: var(--slotted-control-font-size-sm, 12px);--_gap: var(--slotted-control-gap-sm, 6px);--_icon-size: var(--slotted-control-icon-size-sm, 14px)}[data-ui-slider][data-part-root][data-size=md]{--_font-size: var(--slotted-control-font-size-md, 13px);--_gap: var(--slotted-control-gap-md, 8px);--_icon-size: var(--slotted-control-icon-size-md, 16px)}[data-ui-slider][data-part-root][data-size=lg]{--_font-size: var(--slotted-control-font-size-lg, 14px);--_gap: var(--slotted-control-gap-lg, 8px);--_icon-size: var(--slotted-control-icon-size-lg, 18px)}[data-ui-slider]>[data-part-output]{align-self:flex-end;color:var(--slotted-slider-output-color, var(--slotted-text, CanvasText));font-variant-numeric:tabular-nums;font-weight:var(--slotted-font-weight-medium, 500);line-height:var(--slotted-line-height-sm, 1.45);unicode-bidi:plaintext}[data-ui-slider] [data-part-control]{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;position:relative;touch-action:none;-webkit-tap-highlight-color:transparent}[data-ui-slider][data-orientation=horizontal] [data-part-control]{block-size:var(--_control-size);inline-size:100%;padding-inline:calc(var(--_thumb-size) / 2)}[data-ui-slider][data-orientation=horizontal]:not([data-value-label=none]) [data-part-control]{margin-block-start:max(0px,calc(var(--_bubble-size) - var(--_gap)))}[data-ui-slider][data-orientation=vertical] [data-part-control]{block-size:calc(var(--slotted-slider-length, calc(var(--_thumb-size) * 10)) + var(--_thumb-size));inline-size:var(--_control-size);padding-block:calc(var(--_thumb-size) / 2)}[data-ui-slider][data-orientation=horizontal][data-marks=ticks] [data-part-control]{margin-block-end:var(--_mark-length)}[data-ui-slider][data-orientation=horizontal][data-marks=labelled] [data-part-control]{margin-block-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-line))}[data-ui-slider][data-orientation=vertical][data-marks=ticks] [data-part-control]{margin-inline-end:var(--_mark-length)}[data-ui-slider][data-orientation=vertical][data-marks=labelled] [data-part-control]{margin-inline-end:calc(var(--_mark-length) + var(--slotted-space-1, .125rem) + var(--_mark-label-size))}[data-ui-slider] [data-part-track]{background-color:var(--slotted-slider-track-color, var(--slotted-surface-sunken, Canvas));border:var(--slotted-control-border-width, 1px) solid var(--slotted-slider-track-border-color, var(--slotted-control-border-color, ButtonBorder));border-radius:var(--slotted-radius-full, 9999px);box-sizing:border-box;position:relative}[data-ui-slider][data-orientation=horizontal] [data-part-track]{block-size:var(--_track-size);inline-size:100%}[data-ui-slider][data-orientation=vertical] [data-part-track]{block-size:100%;inline-size:var(--_track-size)}[data-ui-slider] [data-part-indicator]{--_edge-overlap: calc(var(--slotted-control-border-width, 1px) * -1);background-color:var(--slotted-slider-indicator-color, var(--slotted-tone-accent-solid));border-radius:inherit;position:absolute}[data-ui-slider][data-orientation=horizontal] [data-part-indicator]{inset-block:var(--_edge-overlap);inset-inline-start:calc(var(--_start, 0) * 1%);inline-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui-slider][data-orientation=vertical] [data-part-indicator]{inset-inline:var(--_edge-overlap);inset-block-end:calc(var(--_start, 0) * 1%);block-size:calc((var(--_end, 0) - var(--_start, 0)) * 1%)}[data-ui-slider] [data-part-mark]{background-color:var(--slotted-slider-mark-color, var(--slotted-border-strong, CanvasText));position:absolute}[data-ui-slider][data-orientation=horizontal] [data-part-mark]{block-size:var(--_mark-length);inline-size:var(--slotted-border-width-thin, 1px);inset-block-start:calc(100% + var(--_mark-gap));inset-inline-start:calc(var(--_position, 0) * 1%);margin-inline-start:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui-slider][data-orientation=vertical] [data-part-mark]{block-size:var(--slotted-border-width-thin, 1px);inline-size:var(--_mark-length);inset-inline-start:calc(100% + var(--_mark-gap));inset-block-end:calc(var(--_position, 0) * 1%);margin-block-end:calc(var(--slotted-border-width-thin, 1px) / -2)}[data-ui-slider] [data-part-mark-label]{color:var(--slotted-slider-mark-label-color, var(--slotted-text-muted, GrayText));display:block;font-size:var(--slotted-font-size-xs, .75rem);inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:var(--_mark-label-size);overflow-wrap:anywhere;position:absolute;text-align:center;unicode-bidi:plaintext}[data-ui-slider][data-orientation=horizontal] [data-part-mark-label]{inset-block-start:calc(100% + var(--slotted-space-1, .125rem));inset-inline-start:50%;translate:-50% 0}[data-ui-slider][data-orientation=horizontal] [data-part-mark][data-edge=start] [data-part-mark-label]{inset-inline-start:0;text-align:start;translate:0 0}[data-ui-slider][data-orientation=horizontal] [data-part-mark][data-edge] [data-part-mark-label]{max-inline-size:none}[data-ui-slider][data-orientation=horizontal] [data-part-mark][data-edge=end] [data-part-mark-label]{inset-inline-end:0;inset-inline-start:auto;text-align:end;translate:0 0}[data-ui-slider][data-orientation=horizontal]:dir(rtl) [data-part-mark]:not([data-edge]) [data-part-mark-label]{translate:50% 0}[data-ui-slider][data-orientation=vertical] [data-part-mark-label]{inset-block-start:50%;inset-inline-start:calc(100% + var(--slotted-space-1, .125rem));text-align:start;translate:0 -50%}[data-ui-slider] [data-part-thumb]{background-color:var(--slotted-slider-thumb-color, var(--slotted-surface, Canvas));block-size:var(--_thumb-size);border:var(--slotted-border-width-thick, 2px) solid var(--slotted-slider-thumb-border-color, var(--slotted-tone-accent-solid));border-radius:var(--slotted-radius-full, 9999px);box-shadow:var(--slotted-slider-thumb-shadow, var(--slotted-control-shadow, none));box-sizing:border-box;cursor:grab;display:block;inline-size:var(--_thumb-size);position:absolute;transition:background-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),border-color var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),box-shadow var(--slotted-control-transition-duration) var(--slotted-control-transition-easing),scale var(--slotted-control-transition-duration) var(--slotted-control-transition-easing)}[data-ui-slider][data-orientation=horizontal] [data-part-thumb]{inset-block-start:50%;inset-inline-start:calc(var(--_position, 0) * 1%);margin-block-start:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui-slider][data-orientation=vertical] [data-part-thumb]{inset-block-end:calc(var(--_position, 0) * 1%);inset-inline-start:50%;margin-block-end:calc(var(--_thumb-size) / -2);margin-inline-start:calc(var(--_thumb-size) / -2)}[data-ui-slider] [data-part-input]{appearance:none;block-size:100%;inline-size:100%;inset:0;margin:0;opacity:0;outline:none;padding:0;pointer-events:none;position:absolute}[data-ui-slider] [data-part-input]::-webkit-slider-thumb{appearance:none;block-size:0;inline-size:0}[data-ui-slider] [data-part-input]::-webkit-slider-runnable-track{block-size:0}[data-ui-slider] [data-part-bubble]{background-color:var(--slotted-slider-bubble-background, var(--slotted-surface-inverse));border-radius:var(--slotted-radius-sm, 4px);color:var(--slotted-slider-bubble-color, var(--slotted-text-inverse));font-size:var(--slotted-font-size-xs, .75rem);font-variant-numeric:tabular-nums;inline-size:max-content;line-height:var(--slotted-line-height-xs, 1.4);max-inline-size:calc(var(--_thumb-size) * 4);opacity:0;padding-block:var(--slotted-space-1, .125rem);padding-inline:var(--slotted-space-3, .375rem);pointer-events:none;position:absolute;text-align:center;transition:opacity var(--slotted-control-transition-duration) var(--slotted-control-transition-easing);unicode-bidi:plaintext}[data-ui-slider][data-orientation=horizontal] [data-part-bubble]{inset-block-end:calc(100% + var(--slotted-space-2, .25rem));inset-inline-start:50%;translate:-50% 0}[data-ui-slider][data-orientation=horizontal]:dir(rtl) [data-part-bubble]{translate:50% 0}[data-ui-slider][data-orientation=vertical] [data-part-bubble]{inset-block-start:50%;inset-inline-end:calc(100% + var(--slotted-space-2, .25rem));translate:0 -50%}[data-ui-slider][data-value-label=always] [data-part-bubble],[data-ui-slider][data-dragging] [data-part-thumb][data-active] [data-part-bubble],[data-ui-slider] [data-part-thumb]:has(>[data-part-input]:focus-visible) [data-part-bubble]{opacity:1}[data-ui-slider][data-value-label=none] [data-part-bubble]{display:none}[data-ui-slider]:not([data-disabled]):not([data-readonly]) [data-part-thumb]:hover:not(:disabled){background-color:var( --slotted-slider-thumb-hover-background, var(--slotted-tone-accent-surface) )}[data-ui-slider]:not([data-disabled]):not([data-readonly]) [data-part-thumb]:active:not(:disabled),[data-ui-slider][data-dragging]:not([data-disabled]):not([data-readonly]) [data-part-thumb][data-active]{cursor:grabbing;scale:1.15}[data-ui-slider] [data-part-thumb]:has(>[data-part-input]:focus-visible){box-shadow:var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight);outline:var(--slotted-focus-ring-width, 2px) solid var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}[data-ui-slider][data-part-root][data-invalid]{--slotted-focus-ring-color: var( --slotted-slider-invalid-focus-ring-color, var(--slotted-focus-ring-color-invalid, Highlight) )}[data-ui-slider][data-invalid] [data-part-indicator]{background-color:var( --slotted-slider-invalid-indicator-color, var(--slotted-tone-danger-solid) )}[data-ui-slider][data-invalid] [data-part-thumb]{--_invalid-edge-width: var( --slotted-slider-invalid-edge-width, var(--slotted-control-invalid-edge-width, 1px) );--_invalid-edge-color: var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );--_invalid-edge: inset 0 0 0 var(--_invalid-edge-width) var(--_invalid-edge-color);border-color:var( --slotted-slider-invalid-thumb-border-color, var(--slotted-tone-danger-border) );box-shadow:var(--_invalid-edge)}[data-ui-slider][data-invalid] [data-part-thumb]:has(>[data-part-input]:focus-visible){box-shadow:var(--_invalid-edge),var(--slotted-control-shadow-focus-geometry, 0 1px 4px -1px) var(--slotted-focus-ring-color, Highlight)}[data-ui-slider][data-part-root][data-readonly] [data-part-control],[data-ui-slider][data-part-root][data-readonly] [data-part-thumb]{cursor:default}[data-ui-slider][data-part-root][data-readonly] [data-part-indicator]{background-color:var(--slotted-slider-readonly-indicator-color, var(--slotted-text-muted))}[data-ui-slider][data-part-root][data-readonly] [data-part-thumb]{border-color:var( --slotted-slider-readonly-thumb-border-color, var(--slotted-control-border-color, ButtonBorder) )}[data-ui-slider][data-part-root][data-disabled] [data-part-track],[data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-track]{background-color:var( --slotted-slider-disabled-track-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border))}[data-ui-slider][data-part-root][data-disabled] [data-part-indicator],[data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-indicator]{background-color:var( --slotted-slider-disabled-indicator-color, var(--slotted-disabled-foreground) )}[data-ui-slider][data-part-root][data-disabled] [data-part-thumb],[data-ui-slider][data-part-root]:has([data-part-input]:disabled) [data-part-thumb]{background-color:var( --slotted-slider-disabled-thumb-color, var(--slotted-disabled-background) );border-color:var(--slotted-slider-disabled-border-color, var(--slotted-disabled-border));box-shadow:none;cursor:not-allowed}[data-ui-slider][data-part-root][data-disabled] [data-part-control],[data-ui-slider][data-part-root][data-disabled]>[data-part-output],[data-ui-slider][data-part-root][data-disabled] [data-part-mark-label]{color:var(--slotted-disabled-foreground);cursor:not-allowed}[data-ui-slider][data-part-root][data-disabled] [data-part-mark]{background-color:var(--slotted-disabled-foreground)}@media(forced-colors:active){[data-ui-slider] [data-part-track]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui-slider] [data-part-indicator]{background-color:Highlight}[data-ui-slider] [data-part-thumb]{background-color:ButtonFace;border-color:ButtonBorder}[data-ui-slider] [data-part-mark]{background-color:CanvasText}[data-ui-slider][data-part-root][data-disabled] [data-part-indicator],[data-ui-slider][data-part-root][data-disabled] [data-part-thumb]{background-color:Canvas;border-color:GrayText}[data-ui-slider][data-invalid] [data-part-thumb]{outline:var(--_invalid-edge-width) solid CanvasText;outline-offset:calc(-1 * (var(--slotted-border-width-thick, 2px) + var(--_invalid-edge-width)))}[data-ui-slider][data-invalid] [data-part-thumb]:has(>[data-part-input]:focus-visible){outline:calc(var(--slotted-focus-ring-width, 2px) + var(--_invalid-edge-width)) double var(--slotted-focus-ring-color, Highlight);outline-offset:var(--slotted-focus-ring-offset, 2px)}}}\n"] }]
579
599
  }], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], defaultValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "defaultValue", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], step: [{ type: i0.Input, args: [{ isSignal: true, alias: "step", required: false }] }], largeStep: [{ type: i0.Input, args: [{ isSignal: true, alias: "largeStep", required: false }] }], minStepsBetween: [{ type: i0.Input, args: [{ isSignal: true, alias: "minStepsBetween", required: false }] }], origin: [{ type: i0.Input, args: [{ isSignal: true, alias: "origin", required: false }] }], marks: [{ type: i0.Input, args: [{ isSignal: true, alias: "marks", required: false }] }], format: [{ type: i0.Input, args: [{ isSignal: true, alias: "format", required: false }] }], locale: [{ type: i0.Input, args: [{ isSignal: true, alias: "locale", required: false }] }], thumbLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "thumbLabels", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }], valueLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueLabel", 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 }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], valueCommit: [{ type: i0.Output, args: ["valueCommit"] }], track: [{ type: i0.ViewChild, args: ['track', { isSignal: true }] }] } });
580
600
 
581
601
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"slotted-angular-slider.mjs","sources":["../../slider/src/slider-defaults.ts","../../slider/src/slider.ts","../../slider/src/slotted-angular-slider.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\n/** The type step the control sits at, matching the field around it. */\nexport type SliderSize = 'sm' | 'md' | 'lg';\n\n/**\n * Which axis the scale runs along. A vertical slider's minimum is at the\n * bottom, which is where the browser's own vertical range input and every\n * surveyed implementation put it.\n */\nexport type SliderOrientation = 'horizontal' | 'vertical';\n\n/**\n * When the value stands on the thumb. `auto` shows it while the thumb is being\n * dragged or has the caret, `always` shows it at rest as well, and `none`\n * withdraws it — which is what a scale whose values are words needs.\n */\nexport type SliderValueLabel = 'auto' | 'always' | 'none';\n\n/** Where the filled portion starts: an end of the scale, or a point on it. */\nexport type SliderOrigin = 'min' | 'max' | number;\n\n/** A tick on the scale, with the label that may become the announced value. */\nexport interface SliderMark {\n value: number;\n label?: string | undefined;\n}\n\nexport interface SliderDefaults {\n orientation: SliderOrientation;\n size: SliderSize;\n valueLabel: SliderValueLabel;\n}\n\nconst FALLBACK: SliderDefaults = {\n orientation: 'horizontal',\n size: 'md',\n valueLabel: 'auto',\n};\n\nexport const SLIDER_DEFAULTS = new InjectionToken<SliderDefaults>('slotted slider defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once what its sliders look like, rather than\n * repeating the same inputs on every scale. A slider that states any of them\n * itself still wins, and a slider inside a field takes the field's step before\n * this token's. The locale its values are written in comes from the language\n * in force (`provideSlotted`).\n */\nexport function provideSliderDefaults(defaults: Partial<SliderDefaults>) {\n return {\n provide: SLIDER_DEFAULTS,\n useFactory: (): SliderDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a slider renders as here, before it states anything of its own. */\nexport function injectSliderDefaults(): SliderDefaults {\n return inject(SLIDER_DEFAULTS);\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { createNumberFormat } from '@slotted/core/number';\nimport {\n fractionAtPoint,\n fractionOfValue,\n moveThumb,\n nearestThumb,\n normaliseValues,\n sameValues,\n thumbBounds,\n valueAtFraction,\n} from '@slotted/core/slider';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport { SlField } from '@slotted/angular/field';\nimport { injectLocale } from '@slotted/angular/i18n';\n\nimport { injectSliderDefaults } from './slider-defaults';\nimport type {\n SliderMark,\n SliderOrientation,\n SliderOrigin,\n SliderSize,\n SliderValueLabel,\n} from './slider-defaults';\n\nexport type {\n SliderMark,\n SliderOrientation,\n SliderOrigin,\n SliderSize,\n SliderValueLabel,\n} from './slider-defaults';\n\n/** `undefined` stays absent; anything else becomes a number. */\nconst optionalNumber = (value: unknown) =>\n value === undefined || value === null || value === '' ? undefined : numberAttribute(value);\n\nconst toArray = (value: number | readonly number[]): number[] =>\n Array.isArray(value) ? [...value] : [value as number];\n\n/**\n * A scale, a rail and one thumb per value.\n *\n * **Every thumb is a real `input[type=\"range\"]`.** Angular Material's own\n * thumbs are `input[matSliderThumb]` elements, and the element is taken for the\n * same reasons: it carries the `slider` role, `aria-valuenow`, `aria-valuemin`,\n * `aria-valuemax`, form submission, form reset and `disabled` without the\n * family writing any of them. It is invisible and unhittable, filling the thumb\n * it lives in, so the thumb a reader sees is this family's own element.\n *\n * **The family owns the keyboard and the pointer.** Browsers disagree about a\n * range input's larger step — Chrome moves Page Up by a tenth of the range and\n * Firefox by one step — and `largeStep` has to mean one thing in both bindings.\n *\n * **Two thumbs cannot cross, and the accessibility tree says so.** Each input's\n * own `min` and `max` follow its neighbour, which is what the APG's multi-thumb\n * pattern requires of the dependent sliders' announced range.\n *\n * **Unset means ask the field.** `disabled`, `readOnly` and `invalid` default to\n * `undefined` rather than `false`.\n */\n@Component({\n selector: '[slSlider]',\n standalone: true,\n exportAs: 'slSlider',\n template: `@if (resolvedValueLabel() !== 'none') {\n <output data-part=\"output\" [attr.for]=\"controlId()\">{{ outputText() }}</output>\n }\n <div\n data-part=\"control\"\n (pointerdown)=\"onPointerDown($event)\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerup)=\"onPointerUp($event)\"\n (pointercancel)=\"onPointerUp($event)\"\n >\n <div data-part=\"track\" #track>\n <div\n data-part=\"indicator\"\n [style.--_start]=\"span().start\"\n [style.--_end]=\"span().end\"\n ></div>\n @for (mark of markList(); track mark.value) {\n <span\n data-part=\"mark\"\n [attr.data-edge]=\"edgeOf(mark.value)\"\n [style.--_position]=\"percentOf(mark.value)\"\n >\n @if (mark.label !== undefined) {\n <span data-part=\"mark-label\">{{ mark.label }}</span>\n }\n </span>\n }\n @for (thumbValue of values(); track $index) {\n <div\n data-part=\"thumb\"\n [attr.data-index]=\"$index\"\n [attr.data-active]=\"dragging() === $index ? '' : null\"\n [style.--_position]=\"percentOf(thumbValue)\"\n >\n <input\n data-part=\"input\"\n type=\"range\"\n [attr.id]=\"$index === 0 ? controlId() : controlId() + '-' + $index\"\n [attr.name]=\"submissionName()\"\n [attr.form]=\"submissionForm()\"\n [attr.aria-label]=\"thumbLabelAt($index)\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-required]=\"ariaRequired()\"\n [attr.aria-readonly]=\"resolvedReadOnly() === true ? 'true' : null\"\n [attr.aria-orientation]=\"resolvedOrientation()\"\n [attr.aria-valuetext]=\"valueTextOf(thumbValue)\"\n [attr.disabled]=\"resolvedDisabled() === true ? '' : null\"\n [min]=\"boundsAt($index).min\"\n [max]=\"boundsAt($index).max\"\n [step]=\"step()\"\n [value]=\"thumbValue\"\n (keydown)=\"onKeyDown($index, $event)\"\n (blur)=\"onTouched()\"\n />\n <span data-part=\"bubble\" aria-hidden=\"true\">{{ valueTextOf(thumbValue) }}</span>\n </div>\n }\n </div>\n </div>`,\n styleUrl: '../../../styles/src/slider/slider.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSlider), multi: true }],\n host: {\n 'data-ui': 'slider',\n 'data-part': 'root',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-orientation]': 'resolvedOrientation()',\n '[attr.data-value-label]': 'resolvedValueLabel()',\n '[attr.data-marks]': 'marksMode()',\n '[attr.data-dragging]': \"dragging() === null ? null : ''\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n },\n})\nexport class SlSlider implements ControlValueAccessor {\n /**\n * Present means the consumer owns the value, for the life of the component.\n * An array makes a range; a number makes one thumb, and the shape handed in\n * is the shape every request carries back.\n */\n readonly value = input<number | readonly number[] | undefined>(undefined);\n /** The value an uncontrolled slider starts from, read once. */\n readonly defaultValue = input<number | readonly number[]>(0);\n\n readonly min = input<number, unknown>(0, { transform: (raw) => optionalNumber(raw) ?? 0 });\n readonly max = input<number, unknown>(100, { transform: (raw) => optionalNumber(raw) ?? 100 });\n readonly step = input<number, unknown>(1, { transform: (raw) => optionalNumber(raw) ?? 1 });\n /** The amount `Shift` and the page keys move by. Defaults to `step * 10`. */\n readonly largeStep = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** How many steps must stay between two neighbouring thumbs. */\n readonly minStepsBetween = input<number, unknown>(0, {\n transform: (raw) => optionalNumber(raw) ?? 0,\n });\n /** Where the filled portion starts. Defaults to `min`. */\n readonly origin = input<SliderOrigin>('min');\n /** The ticks drawn beside the rail. A mark's label becomes its announced value. */\n readonly marks = input<readonly (number | SliderMark)[] | undefined>(undefined);\n /** How the value is written, through `Intl.NumberFormat`. */\n readonly format = input<Intl.NumberFormatOptions | undefined>(undefined);\n /** BCP 47. Unset, the language in force decides. */\n readonly locale = input<string | undefined>(undefined);\n /** The accessible name of each thumb, in order. */\n readonly thumbLabels = input<readonly string[] | undefined>(undefined);\n\n readonly size = input<SliderSize | undefined>(undefined);\n readonly orientation = input<SliderOrientation | undefined>(undefined);\n readonly valueLabel = input<SliderValueLabel | undefined>(undefined);\n\n /** Unstated rather than `false`, so the control defers to the field. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (raw) => (raw === undefined ? undefined : booleanAttribute(raw)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (raw) => (raw === undefined ? undefined : booleanAttribute(raw)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (raw) => (raw === undefined ? undefined : booleanAttribute(raw)),\n });\n\n /**\n * One output for one transition, carrying the value, the value it replaces,\n * the reason, the originating event and `cancel()`. There is no `[(value)]`,\n * because a two-way binding has one slot and can carry none of those; a form\n * gets the same movement through `ControlValueAccessor`.\n */\n readonly valueChange = output<ChangeRequest<number | number[]>>();\n /**\n * The end of a drag, or a key that settled the value. A drag emits a hundred\n * changes and one commit; this is the commit.\n */\n readonly valueCommit = output<number | number[]>();\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly track = viewChild<ElementRef<HTMLElement>>('track');\n private readonly field = inject(SlField, { optional: true });\n private readonly defaults = injectSliderDefaults();\n private readonly appLocale = injectLocale();\n\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenName = inject(new HostAttributeToken('name'), { optional: true });\n private readonly writtenForm = inject(new HostAttributeToken('form'), { optional: true });\n private readonly writtenLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenInvalid = inject(new HostAttributeToken('aria-invalid'), {\n optional: true,\n });\n private readonly writtenRequired = inject(new HostAttributeToken('aria-required'), {\n optional: true,\n });\n\n /** What the family holds when nobody else owns it. */\n private readonly own = signal<number[] | null>(null);\n private readonly formValue = signal<number[] | null>(null);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n protected readonly dragging = signal<number | null>(null);\n private onChangeFn: (value: number | number[]) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n\n protected readonly scale = computed(() => ({\n min: this.min(),\n max: this.max(),\n step: this.step(),\n }));\n\n /** The shape the consumer handed in is the shape every request carries back. */\n private readonly isRange = computed(() => {\n const bound = this.value();\n return Array.isArray(bound ?? this.defaultValue());\n });\n\n readonly values = computed<number[]>(() => {\n const bound = this.value();\n const held = bound ?? this.formValue() ?? this.own() ?? this.defaultValue();\n return normaliseValues(toArray(held), this.scale());\n });\n\n private readonly formatter = computed(() => {\n const options = this.format();\n return createNumberFormat({\n locale: this.locale() ?? this.appLocale(),\n ...(options === undefined ? {} : { options }),\n });\n });\n\n readonly resolvedSize = computed(\n () => this.size() ?? this.field?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedOrientation = computed(() => this.orientation() ?? this.defaults.orientation);\n readonly resolvedValueLabel = computed(() => this.valueLabel() ?? this.defaults.valueLabel);\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 private readonly inert = computed(\n () => this.resolvedDisabled() === true || this.resolvedReadOnly() === true,\n );\n\n readonly controlId = computed(() => this.writtenId ?? this.field?.ids().control ?? null);\n protected readonly submissionName = computed(() => this.writtenName);\n protected readonly submissionForm = computed(() => this.writtenForm);\n\n protected readonly markList = computed<SliderMark[]>(() => {\n const marks = this.marks();\n if (marks === undefined) return [];\n return marks.map((mark) => (typeof mark === 'number' ? { value: mark } : mark));\n });\n\n protected readonly marksMode = computed(() => {\n const marks = this.markList();\n if (marks.length === 0) return null;\n return marks.some((mark) => mark.label !== undefined) ? 'labelled' : 'ticks';\n });\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.writtenInvalid ?? (this.resolvedInvalid() === true ? 'true' : null),\n );\n protected readonly ariaRequired = computed(\n () => this.writtenRequired ?? (this.field?.required() === true ? 'true' : null),\n );\n\n /** Where the fill starts, which is an end of the scale or a point on it. */\n protected readonly span = computed(() => {\n const values = this.values();\n const scale = this.scale();\n const origin = this.origin();\n const originValue = origin === 'min' ? scale.min : origin === 'max' ? scale.max : origin;\n const first = values[0] ?? scale.min;\n const last = values[values.length - 1] ?? scale.min;\n const start = values.length > 1 ? first : Math.min(originValue, first);\n const end = values.length > 1 ? last : Math.max(originValue, first);\n return {\n start: fractionOfValue(start, scale) * 100,\n end: fractionOfValue(end, scale) * 100,\n };\n });\n\n protected readonly outputText = computed(() =>\n this.values()\n .map((value) => this.valueTextOf(value))\n .join(' – '),\n );\n\n /** The native element, for `focus()` on the root and for a consumer's own query. */\n get sliderElement(): HTMLElement {\n return this.element;\n }\n\n /** The one action a value cannot express: putting focus on a named thumb. */\n focusThumb(index = 0) {\n this.thumbInputs()[index]?.focus();\n }\n\n protected percentOf(value: number) {\n return fractionOfValue(value, this.scale()) * 100;\n }\n\n protected edgeOf(value: number) {\n if (value === this.min()) return 'start';\n if (value === this.max()) return 'end';\n return null;\n }\n\n protected boundsAt(index: number) {\n return thumbBounds({\n ...this.scale(),\n values: this.values(),\n index,\n minStepsBetween: this.minStepsBetween(),\n });\n }\n\n protected thumbLabelAt(index: number) {\n const labels = this.thumbLabels();\n if (labels?.[index] !== undefined) return labels[index];\n return this.values().length > 1 ? null : this.writtenLabel;\n }\n\n /**\n * The APG names `aria-valuetext` for a value that is not user-friendly, and\n * gives \"Monday\" as its example. A mark that already carries a label is that\n * string, so a five-step quality scale announces \"Medium\" rather than \"50\".\n */\n protected valueTextOf(value: number) {\n const labelled = this.markList().find(\n (mark) => mark.value === value && mark.label !== undefined,\n );\n return labelled?.label ?? this.formatter().format(value);\n }\n\n protected onTouched() {\n this.onTouchedFn();\n }\n\n writeValue(value: number | readonly number[] | null) {\n this.formValue.set(\n value === null || value === undefined ? null : normaliseValues(toArray(value), this.scale()),\n );\n }\n\n registerOnChange(fn: (value: number | number[]) => 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 protected onPointerDown(event: PointerEvent) {\n if (this.inert() || event.button !== 0) return;\n const target = this.valueAtPointer(event);\n if (target === null) return;\n\n const index = nearestThumb(this.values(), target);\n if (index === -1) return;\n\n event.preventDefault();\n this.thumbInputs()[index]?.focus();\n (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId);\n this.dragging.set(index);\n this.move(index, target, 'pointer', event);\n }\n\n protected onPointerMove(event: PointerEvent) {\n const index = this.dragging();\n if (index === null) return;\n const target = this.valueAtPointer(event);\n if (target === null) return;\n this.move(index, target, 'pointer', event);\n }\n\n protected onPointerUp(event: PointerEvent) {\n if (this.dragging() === null) return;\n const host = event.currentTarget as HTMLElement;\n if (host.hasPointerCapture(event.pointerId)) host.releasePointerCapture(event.pointerId);\n this.dragging.set(null);\n this.valueCommit.emit(this.shape(this.values()));\n }\n\n /**\n * The whole keyboard table, and `preventDefault()` on every key in it. The\n * inline arrows follow the reading direction — in a mirrored document\n * `ArrowRight` moves the thumb toward the end of the track the reader sees —\n * and the block arrows do not, because a scale has a direction and bidi is\n * not it.\n */\n protected onKeyDown(index: number, event: KeyboardEvent) {\n if (event.defaultPrevented || this.inert()) return;\n\n const step = this.step();\n const large = this.largeStep() ?? step * 10;\n const amount = event.shiftKey ? large : step;\n const inlineSign = this.isRtl() ? -1 : 1;\n const current = this.values()[index] ?? this.min();\n const bounds = this.boundsAt(index);\n\n const stepBy = (direction: number, by: number) => {\n event.preventDefault();\n this.move(index, current + direction * by, 'keyboard', event);\n this.valueCommit.emit(this.shape(this.values()));\n };\n\n switch (event.key) {\n case 'ArrowRight':\n stepBy(inlineSign, amount);\n return;\n case 'ArrowLeft':\n stepBy(-inlineSign, amount);\n return;\n case 'ArrowUp':\n stepBy(1, amount);\n return;\n case 'ArrowDown':\n stepBy(-1, amount);\n return;\n case 'PageUp':\n stepBy(1, large);\n return;\n case 'PageDown':\n stepBy(-1, large);\n return;\n case 'Home':\n event.preventDefault();\n this.move(index, bounds.min, 'keyboard', event);\n this.valueCommit.emit(this.shape(this.values()));\n return;\n case 'End':\n event.preventDefault();\n this.move(index, bounds.max, 'keyboard', event);\n this.valueCommit.emit(this.shape(this.values()));\n return;\n default:\n }\n }\n\n private thumbInputs(): HTMLInputElement[] {\n return Array.from(this.element.querySelectorAll<HTMLInputElement>('[data-part=\"input\"]'));\n }\n\n /**\n * Which way the inline arrows move, read from the element rather than from an\n * input: a right-to-left document is a property of the page.\n */\n private isRtl() {\n const track = this.track()?.nativeElement;\n return track !== undefined && getComputedStyle(track).direction === 'rtl';\n }\n\n private valueAtPointer(event: PointerEvent) {\n const track = this.track()?.nativeElement;\n if (track === undefined) return null;\n const rect = track.getBoundingClientRect();\n const fraction = fractionAtPoint(\n { x: event.clientX, y: event.clientY },\n { rect, orientation: this.resolvedOrientation(), rtl: this.isRtl() },\n );\n return valueAtFraction(fraction, this.scale());\n }\n\n private shape(values: number[]): number | number[] {\n return this.isRange() ? values : (values[0] ?? this.min());\n }\n\n private move(index: number, next: number, reason: ChangeReason, source: Event | undefined) {\n const values = this.values();\n const moved = moveThumb({\n ...this.scale(),\n values,\n index,\n next,\n minStepsBetween: this.minStepsBetween(),\n });\n if (moved === values) return;\n this.request(moved, reason, source);\n }\n\n /**\n * Asks to move, and moves nothing the consumer owns. A refused request stops\n * here: a control that wrote the value regardless would show one the consumer\n * never accepted.\n */\n private request(next: number[], reason: ChangeReason, source: Event | undefined) {\n const current = this.values();\n if (sameValues(next, current)) return;\n\n let cancelled = false;\n /* The request is built over the shape the consumer handed in, so the value\n it carries and the value they passed are the same kind of thing — and so\n `cancel()` still belongs to the object that owns it. */\n const state = createControllable<number | number[]>({\n controlled: undefined,\n initial: this.shape(current),\n equals: (a, b) => (Array.isArray(a) && Array.isArray(b) ? sameValues(a, b) : Object.is(a, b)),\n onRequest: (pending) => {\n this.valueChange.emit(pending);\n cancelled = pending.cancelled;\n },\n });\n state.request(this.shape(next), reason, source);\n if (cancelled) return;\n\n this.onChangeFn(this.shape(next));\n /* A controlled slider never moves its own value: it asks, and waits. */\n if (this.value() !== undefined) return;\n this.formValue.set(next);\n this.own.set(next);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;AAkCA,MAAM,QAAQ,GAAmB;AAC/B,IAAA,WAAW,EAAE,YAAY;AACzB,IAAA,IAAI,EAAE,IAAI;AACV,IAAA,UAAU,EAAE,MAAM;CACnB;MAEY,eAAe,GAAG,IAAI,cAAc,CAAiB,yBAAyB,EAAE;AAC3F,IAAA,UAAU,EAAE,MAAM;AAClB,IAAA,OAAO,EAAE,MAAM,QAAQ;AACxB,CAAA;AAED;;;;;;AAMG;AACG,SAAU,qBAAqB,CAAC,QAAiC,EAAA;IACrE,OAAO;AACL,QAAA,OAAO,EAAE,eAAe;AACxB,QAAA,UAAU,EAAE,OAAuB,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;KACjE;AACH;AAEA;SACgB,oBAAoB,GAAA;AAClC,IAAA,OAAO,MAAM,CAAC,eAAe,CAAC;AAChC;;ACXA;AACA,MAAM,cAAc,GAAG,CAAC,KAAc,KACpC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,GAAG,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;AAE5F,MAAM,OAAO,GAAG,CAAC,KAAiC,KAChD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,KAAe,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;AAoBG;MAkFU,QAAQ,CAAA;AACnB;;;;AAIG;IACM,KAAK,GAAG,KAAK,CAAyC,SAAS;8EAAC;;IAEhE,YAAY,GAAG,KAAK,CAA6B,CAAC;qFAAC;AAEnD,IAAA,GAAG,GAAG,KAAK,CAAkB,CAAC,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,KAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,SAAS,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;AACjF,IAAA,GAAG,GAAG,KAAK,CAAkB,GAAG,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,KAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,SAAS,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG;AACrF,IAAA,IAAI,GAAG,KAAK,CAAkB,CAAC,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,MAAA,EAAA,8BAAA,EAAA,CAAA,EAAI,SAAS,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG;;IAElF,SAAS,GAAG,KAAK,CAA8B,SAAS,iFAAI,SAAS,EAAE,cAAc,EAAA,CAAG;;AAExF,IAAA,eAAe,GAAG,KAAK,CAAkB,CAAC,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,iBAAA,EAAA,8BAAA,EAAA,CAAA,EACjD,SAAS,EAAE,CAAC,GAAG,KAAK,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAC5C;;IAEO,MAAM,GAAG,KAAK,CAAe,KAAK;+EAAC;;IAEnC,KAAK,GAAG,KAAK,CAA+C,SAAS;8EAAC;;IAEtE,MAAM,GAAG,KAAK,CAAuC,SAAS;+EAAC;;IAE/D,MAAM,GAAG,KAAK,CAAqB,SAAS;+EAAC;;IAE7C,WAAW,GAAG,KAAK,CAAgC,SAAS;oFAAC;IAE7D,IAAI,GAAG,KAAK,CAAyB,SAAS;6EAAC;IAC/C,WAAW,GAAG,KAAK,CAAgC,SAAS;oFAAC;IAC7D,UAAU,GAAG,KAAK,CAA+B,SAAS;mFAAC;;AAG3D,IAAA,QAAQ,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,CAAA,EACpF,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAC3E;AACO,IAAA,QAAQ,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,UAAA,EAAA,8BAAA,EAAA,CAAA,EACpF,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAC3E;AACO,IAAA,OAAO,GAAG,KAAK,CAAoD,SAAS,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,SAAA,EAAA,8BAAA,EAAA,CAAA,EACnF,SAAS,EAAE,CAAC,GAAG,MAAM,GAAG,KAAK,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,GAC3E;AAEF;;;;;AAKG;IACM,WAAW,GAAG,MAAM,EAAoC;AACjE;;;AAGG;IACM,WAAW,GAAG,MAAM,EAAqB;AAEjC,IAAA,OAAO,GAAG,MAAM,CAA0B,UAAU,CAAC,CAAC,aAAa;IACnE,KAAK,GAAG,SAAS,CAA0B,OAAO;8EAAC;IACnD,KAAK,GAAG,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC3C,QAAQ,GAAG,oBAAoB,EAAE;IACjC,SAAS,GAAG,YAAY,EAAE;AAE1B,IAAA,SAAS,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACpE,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACxE,IAAA,WAAW,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACxE,IAAA,YAAY,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC/E,kBAAkB,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,kBAAkB,CAAC,EAAE;AACvF,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;IACe,cAAc,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,cAAc,CAAC,EAAE;AAC/E,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;IACe,eAAe,GAAG,MAAM,CAAC,IAAI,kBAAkB,CAAC,eAAe,CAAC,EAAE;AACjF,QAAA,QAAQ,EAAE,IAAI;AACf,KAAA,CAAC;;IAGe,GAAG,GAAG,MAAM,CAAkB,IAAI;4EAAC;IACnC,SAAS,GAAG,MAAM,CAAkB,IAAI;kFAAC;IACzC,YAAY,GAAG,MAAM,CAAsB,SAAS;qFAAC;IACnD,QAAQ,GAAG,MAAM,CAAgB,IAAI;iFAAC;AACjD,IAAA,UAAU,GAAuC,MAAM,SAAS;AAChE,IAAA,WAAW,GAAe,MAAM,SAAS;AAE9B,IAAA,KAAK,GAAG,QAAQ,CAAC,OAAO;AACzC,QAAA,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;AACf,QAAA,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE;AACf,QAAA,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;KAClB,CAAC;8EAAC;;AAGc,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;AACvC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;IACpD,CAAC;gFAAC;AAEO,IAAA,MAAM,GAAG,QAAQ,CAAW,MAAK;AACxC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,MAAM,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE;AAC3E,QAAA,OAAO,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IACrD,CAAC;+EAAC;AAEe,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AACzC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7B,QAAA,OAAO,kBAAkB,CAAC;YACxB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,SAAS,EAAE;AACzC,YAAA,IAAI,OAAO,KAAK,SAAS,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;AAC9C,SAAA,CAAC;IACJ,CAAC;kFAAC;IAEO,YAAY,GAAG,QAAQ,CAC9B,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI;qFACtE;AACQ,IAAA,mBAAmB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW;4FAAC;AACrF,IAAA,kBAAkB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU;2FAAC;IAClF,gBAAgB,GAAG,QAAQ,CAClC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE;yFAC/E;AACQ,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE;yFAAC;AACpF,IAAA,eAAe,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE;wFAAC;AACjE,IAAA,KAAK,GAAG,QAAQ,CAC/B,MAAM,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI,IAAI,IAAI,CAAC,gBAAgB,EAAE,KAAK,IAAI;8EAC3E;AAEQ,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,IAAI,IAAI;kFAAC;IACrE,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW;uFAAC;IACjD,cAAc,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,WAAW;uFAAC;AAEjD,IAAA,QAAQ,GAAG,QAAQ,CAAe,MAAK;AACxD,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;QAC1B,IAAI,KAAK,KAAK,SAAS;AAAE,YAAA,OAAO,EAAE;AAClC,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,MAAM,OAAO,IAAI,KAAK,QAAQ,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IACjF,CAAC;iFAAC;AAEiB,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAK;AAC3C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC7B,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;AAAE,YAAA,OAAO,IAAI;QACnC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,GAAG,UAAU,GAAG,OAAO;IAC9E,CAAC;kFAAC;AAEiB,IAAA,WAAW,GAAG,QAAQ,CAAC,MAAK;AAC7C,QAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACnF,QAAA,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IACtD,CAAC;oFAAC;IACiB,WAAW,GAAG,QAAQ,CACvC,MAAM,IAAI,CAAC,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;oFAC/E;IACkB,YAAY,GAAG,QAAQ,CACxC,MAAM,IAAI,CAAC,eAAe,KAAK,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;qFAChF;;AAGkB,IAAA,IAAI,GAAG,QAAQ,CAAC,MAAK;AACtC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;AAC5B,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE;AAC1B,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,MAAM,WAAW,GAAG,MAAM,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,MAAM,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,GAAG,MAAM;QACxF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG;AACpC,QAAA,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG;QACnD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;QACtE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC;QACnE,OAAO;YACL,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,GAAG;YAC1C,GAAG,EAAE,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,GAAG;SACvC;IACH,CAAC;6EAAC;IAEiB,UAAU,GAAG,QAAQ,CAAC,MACvC,IAAI,CAAC,MAAM;AACR,SAAA,GAAG,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;SACtC,IAAI,CAAC,KAAK,CAAC;mFACf;;AAGD,IAAA,IAAI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,OAAO;IACrB;;IAGA,UAAU,CAAC,KAAK,GAAG,CAAC,EAAA;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;IACpC;AAEU,IAAA,SAAS,CAAC,KAAa,EAAA;QAC/B,OAAO,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,GAAG;IACnD;AAEU,IAAA,MAAM,CAAC,KAAa,EAAA;AAC5B,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE;AAAE,YAAA,OAAO,OAAO;AACxC,QAAA,IAAI,KAAK,KAAK,IAAI,CAAC,GAAG,EAAE;AAAE,YAAA,OAAO,KAAK;AACtC,QAAA,OAAO,IAAI;IACb;AAEU,IAAA,QAAQ,CAAC,KAAa,EAAA;AAC9B,QAAA,OAAO,WAAW,CAAC;YACjB,GAAG,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YACrB,KAAK;AACL,YAAA,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;AACxC,SAAA,CAAC;IACJ;AAEU,IAAA,YAAY,CAAC,KAAa,EAAA;AAClC,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE;AACjC,QAAA,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,SAAS;AAAE,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC;AACvD,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,YAAY;IAC5D;AAEA;;;;AAIG;AACO,IAAA,WAAW,CAAC,KAAa,EAAA;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CACnC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,CAC3D;AACD,QAAA,OAAO,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAC1D;IAEU,SAAS,GAAA;QACjB,IAAI,CAAC,WAAW,EAAE;IACpB;AAEA,IAAA,UAAU,CAAC,KAAwC,EAAA;AACjD,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAChB,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,GAAG,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAC7F;IACH;AAEA,IAAA,gBAAgB,CAAC,EAAsC,EAAA;AACrD,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE;IACtB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE;IACvB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC;IACnC;AAEU,IAAA,aAAa,CAAC,KAAmB,EAAA;QACzC,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI;YAAE;QAErB,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,CAAC;QACjD,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE;QAElB,KAAK,CAAC,cAAc,EAAE;QACtB,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE;QACjC,KAAK,CAAC,aAA6B,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;AACvE,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;IAC5C;AAEU,IAAA,aAAa,CAAC,KAAmB,EAAA;AACzC,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE;QAC7B,IAAI,KAAK,KAAK,IAAI;YAAE;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;QACzC,IAAI,MAAM,KAAK,IAAI;YAAE;QACrB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC;IAC5C;AAEU,IAAA,WAAW,CAAC,KAAmB,EAAA;AACvC,QAAA,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI;YAAE;AAC9B,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,aAA4B;AAC/C,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;AAAE,YAAA,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;AACxF,QAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AACvB,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAClD;AAEA;;;;;;AAMG;IACO,SAAS,CAAC,KAAa,EAAE,KAAoB,EAAA;AACrD,QAAA,IAAI,KAAK,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE;YAAE;AAE5C,QAAA,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,IAAI,GAAG,EAAE;AAC3C,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,GAAG,KAAK,GAAG,IAAI;AAC5C,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;AACxC,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;AAEnC,QAAA,MAAM,MAAM,GAAG,CAAC,SAAiB,EAAE,EAAU,KAAI;YAC/C,KAAK,CAAC,cAAc,EAAE;AACtB,YAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,SAAS,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC;AAC7D,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAClD,QAAA,CAAC;AAED,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,YAAY;AACf,gBAAA,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC1B;AACF,YAAA,KAAK,WAAW;AACd,gBAAA,MAAM,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC;gBAC3B;AACF,YAAA,KAAK,SAAS;AACZ,gBAAA,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC;gBACjB;AACF,YAAA,KAAK,WAAW;AACd,gBAAA,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;gBAClB;AACF,YAAA,KAAK,QAAQ;AACX,gBAAA,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;gBAChB;AACF,YAAA,KAAK,UAAU;AACb,gBAAA,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;gBACjB;AACF,YAAA,KAAK,MAAM;gBACT,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC;AAC/C,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChD;AACF,YAAA,KAAK,KAAK;gBACR,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,CAAC;AAC/C,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;gBAChD;YACF;;IAEJ;IAEQ,WAAW,GAAA;AACjB,QAAA,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAmB,qBAAqB,CAAC,CAAC;IAC3F;AAEA;;;AAGG;IACK,KAAK,GAAA;QACX,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,aAAa;AACzC,QAAA,OAAO,KAAK,KAAK,SAAS,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,KAAK;IAC3E;AAEQ,IAAA,cAAc,CAAC,KAAmB,EAAA;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,aAAa;QACzC,IAAI,KAAK,KAAK,SAAS;AAAE,YAAA,OAAO,IAAI;AACpC,QAAA,MAAM,IAAI,GAAG,KAAK,CAAC,qBAAqB,EAAE;AAC1C,QAAA,MAAM,QAAQ,GAAG,eAAe,CAC9B,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,EACtC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,CACrE;QACD,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;IAChD;AAEQ,IAAA,KAAK,CAAC,MAAgB,EAAA;QAC5B,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAC5D;AAEQ,IAAA,IAAI,CAAC,KAAa,EAAE,IAAY,EAAE,MAAoB,EAAE,MAAyB,EAAA;AACvF,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE;QAC5B,MAAM,KAAK,GAAG,SAAS,CAAC;YACtB,GAAG,IAAI,CAAC,KAAK,EAAE;YACf,MAAM;YACN,KAAK;YACL,IAAI;AACJ,YAAA,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE;AACxC,SAAA,CAAC;QACF,IAAI,KAAK,KAAK,MAAM;YAAE;QACtB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC;IACrC;AAEA;;;;AAIG;AACK,IAAA,OAAO,CAAC,IAAc,EAAE,MAAoB,EAAE,MAAyB,EAAA;AAC7E,QAAA,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE;AAC7B,QAAA,IAAI,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC;YAAE;QAE/B,IAAI,SAAS,GAAG,KAAK;AACrB;;AAE0D;QAC1D,MAAM,KAAK,GAAG,kBAAkB,CAAoB;AAClD,YAAA,UAAU,EAAE,SAAS;AACrB,YAAA,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AAC5B,YAAA,MAAM,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC7F,YAAA,SAAS,EAAE,CAAC,OAAO,KAAI;AACrB,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;AAC9B,gBAAA,SAAS,GAAG,OAAO,CAAC,SAAS;YAC/B,CAAC;AACF,SAAA,CAAC;AACF,QAAA,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC;AAC/C,QAAA,IAAI,SAAS;YAAE;QAEf,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;;AAEjC,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,SAAS;YAAE;AAChC,QAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;AACxB,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;IACpB;uGAlZW,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,GAAA,EAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,UAAA,EAAA,KAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,eAAA,EAAA,EAAA,iBAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,SAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,oBAAA,EAAA,iCAAA,EAAA,oBAAA,EAAA,yCAAA,EAAA,mBAAA,EAAA,wCAAA,EAAA,oBAAA,EAAA,yCAAA,EAAA,EAAA,EAAA,SAAA,EAdR,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAM,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,OAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,OAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA/DvF,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DD,UAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,kycAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA;;2FAkBE,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAjFpB,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,EAAA,UAAA,EACV,IAAI,EAAA,QAAA,EACN,UAAU,EAAA,QAAA,EACV,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DD,UAAA,CAAA,EAAA,eAAA,EAEQ,uBAAuB,CAAC,MAAM,EAAA,aAAA,EAChC,iBAAiB,CAAC,IAAI,EAAA,SAAA,EAC1B,CAAC,EAAE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,UAAU,CAAC,MAAK,QAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA,IAAA,EAC3F;AACJ,wBAAA,SAAS,EAAE,QAAQ;AACnB,wBAAA,WAAW,EAAE,MAAM;AACnB,wBAAA,kBAAkB,EAAE,gBAAgB;AACpC,wBAAA,yBAAyB,EAAE,uBAAuB;AAClD,wBAAA,yBAAyB,EAAE,sBAAsB;AACjD,wBAAA,mBAAmB,EAAE,aAAa;AAClC,wBAAA,sBAAsB,EAAE,iCAAiC;AACzD,wBAAA,sBAAsB,EAAE,yCAAyC;AACjE,wBAAA,qBAAqB,EAAE,wCAAwC;AAC/D,wBAAA,sBAAsB,EAAE,yCAAyC;AAClE,qBAAA,EAAA,MAAA,EAAA,CAAA,kycAAA,CAAA,EAAA;m2DA6D2D,OAAO,EAAA,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AC3NrE;;AAEG;;"}
1
+ {"version":3,"file":"slotted-angular-slider.mjs","sources":["../../slider/src/slider-defaults.ts","../../slider/src/slider.ts","../../slider/src/slotted-angular-slider.ts"],"sourcesContent":["import { inject, InjectionToken } from '@angular/core';\n\n/** The type step the control sits at, matching the field around it. */\nexport type SliderSize = 'sm' | 'md' | 'lg';\n\n/**\n * Which axis the scale runs along. A vertical slider's minimum is at the\n * bottom, which is where the browser's own vertical range input and every\n * surveyed implementation put it.\n */\nexport type SliderOrientation = 'horizontal' | 'vertical';\n\n/**\n * When the value stands on the thumb. `auto` shows it while the thumb is being\n * dragged or has the caret, `always` shows it at rest as well, and `none`\n * withdraws it — which is what a scale whose values are words needs.\n */\nexport type SliderValueLabel = 'auto' | 'always' | 'none';\n\n/** Where the filled portion starts: an end of the scale, or a point on it. */\nexport type SliderOrigin = 'min' | 'max' | number;\n\n/** A tick on the scale, with the label that may become the announced value. */\nexport interface SliderMark {\n value: number;\n label?: string | undefined;\n}\n\nexport interface SliderDefaults {\n orientation: SliderOrientation;\n size: SliderSize;\n valueLabel: SliderValueLabel;\n}\n\nconst FALLBACK: SliderDefaults = {\n orientation: 'horizontal',\n size: 'md',\n valueLabel: 'auto',\n};\n\nexport const SLIDER_DEFAULTS = new InjectionToken<SliderDefaults>('slotted slider defaults', {\n providedIn: 'root',\n factory: () => FALLBACK,\n});\n\n/**\n * An application decides once what its sliders look like, rather than\n * repeating the same inputs on every scale. A slider that states any of them\n * itself still wins, and a slider inside a field takes the field's step before\n * this token's. The locale its values are written in comes from the language\n * in force (`provideSlotted`).\n */\nexport function provideSliderDefaults(defaults: Partial<SliderDefaults>) {\n return {\n provide: SLIDER_DEFAULTS,\n useFactory: (): SliderDefaults => ({ ...FALLBACK, ...defaults }),\n };\n}\n\n/** What a slider renders as here, before it states anything of its own. */\nexport function injectSliderDefaults(): SliderDefaults {\n return inject(SLIDER_DEFAULTS);\n}\n","import {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n forwardRef,\n HostAttributeToken,\n inject,\n input,\n numberAttribute,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport type { ControlValueAccessor } from '@angular/forms';\nimport { createNumberFormat } from '@slotted/core/number';\nimport {\n fractionAtPoint,\n fractionOfValue,\n moveThumb,\n nearestThumb,\n normaliseValues,\n sameValues,\n thumbBounds,\n valueAtFraction,\n} from '@slotted/core/slider';\nimport { createControllable } from '@slotted/core/state';\nimport type { ChangeReason, ChangeRequest } from '@slotted/core/state';\nimport { SlField } from '@slotted/angular/field';\nimport { injectLocale } from '@slotted/angular/i18n';\n\nimport { injectSliderDefaults } from './slider-defaults';\nimport type {\n SliderMark,\n SliderOrientation,\n SliderOrigin,\n SliderSize,\n SliderValueLabel,\n} from './slider-defaults';\n\nexport type {\n SliderMark,\n SliderOrientation,\n SliderOrigin,\n SliderSize,\n SliderValueLabel,\n} from './slider-defaults';\n\n/** `undefined` stays absent; anything else becomes a number. */\nconst optionalNumber = (value: unknown) =>\n value === undefined || value === null || value === '' ? undefined : numberAttribute(value);\n\nconst toArray = (value: number | readonly number[]): number[] =>\n Array.isArray(value) ? [...value] : [value as number];\n\n/**\n * A scale, a rail and one thumb per value.\n *\n * **Every thumb is a real `input[type=\"range\"]`.** Angular Material's own\n * thumbs are `input[matSliderThumb]` elements, and the element is taken for the\n * same reasons: it carries the `slider` role, `aria-valuenow`, `aria-valuemin`,\n * `aria-valuemax`, form submission, form reset and `disabled` without the\n * family writing any of them. It is invisible and unhittable, filling the thumb\n * it lives in, so the thumb a reader sees is this family's own element.\n *\n * **The family owns the keyboard and the pointer.** Browsers disagree about a\n * range input's larger step — Chrome moves Page Up by a tenth of the range and\n * Firefox by one step — and `largeStep` has to mean one thing in both bindings.\n *\n * **Two thumbs cannot cross, and the accessibility tree says so.** Each input's\n * own `min` and `max` follow its neighbour, which is what the APG's multi-thumb\n * pattern requires of the dependent sliders' announced range.\n *\n * **Unset means ask the field.** `disabled`, `readOnly` and `invalid` default to\n * `undefined` rather than `false`.\n */\n@Component({\n selector: '[slSlider]',\n standalone: true,\n exportAs: 'slSlider',\n template: `@if (resolvedValueLabel() !== 'none') {\n <output data-part=\"output\" data-part-output=\"\" [attr.for]=\"controlId()\">{{\n outputText()\n }}</output>\n }\n <div\n data-part=\"control\"\n data-part-control=\"\"\n (pointerdown)=\"onPointerDown($event)\"\n (pointermove)=\"onPointerMove($event)\"\n (pointerup)=\"onPointerUp($event)\"\n (pointercancel)=\"onPointerUp($event)\"\n >\n <div data-part=\"track\" data-part-track=\"\" #track>\n <div\n data-part=\"indicator\"\n data-part-indicator=\"\"\n [style.--_start]=\"span().start\"\n [style.--_end]=\"span().end\"\n ></div>\n @for (mark of markList(); track mark.value) {\n <span\n data-part=\"mark\"\n data-part-mark=\"\"\n [attr.data-edge]=\"edgeOf(mark.value)\"\n [style.--_position]=\"percentOf(mark.value)\"\n >\n @if (mark.label !== undefined) {\n <span data-part=\"mark-label\" data-part-mark-label=\"\">{{ mark.label }}</span>\n }\n </span>\n }\n @for (thumbValue of values(); track $index) {\n <div\n data-part=\"thumb\"\n data-part-thumb=\"\"\n [attr.data-index]=\"$index\"\n [attr.data-active]=\"dragging() === $index ? '' : null\"\n [style.--_position]=\"percentOf(thumbValue)\"\n >\n <input\n data-part=\"input\"\n data-part-input=\"\"\n type=\"range\"\n [attr.id]=\"$index === 0 ? controlId() : controlId() + '-' + $index\"\n [attr.name]=\"submissionName()\"\n [attr.form]=\"submissionForm()\"\n [attr.aria-label]=\"thumbLabelAt($index)\"\n [attr.aria-describedby]=\"describedBy()\"\n [attr.aria-invalid]=\"ariaInvalid()\"\n [attr.aria-required]=\"ariaRequired()\"\n [attr.aria-readonly]=\"resolvedReadOnly() === true ? 'true' : null\"\n [attr.aria-orientation]=\"resolvedOrientation()\"\n [attr.aria-valuetext]=\"valueTextOf(thumbValue)\"\n [attr.disabled]=\"resolvedDisabled() === true ? '' : null\"\n [min]=\"boundsAt($index).min\"\n [max]=\"boundsAt($index).max\"\n [step]=\"step()\"\n [value]=\"thumbValue\"\n (keydown)=\"onKeyDown($index, $event)\"\n (blur)=\"onTouched()\"\n />\n <span data-part=\"bubble\" data-part-bubble=\"\" aria-hidden=\"true\">{{\n valueTextOf(thumbValue)\n }}</span>\n </div>\n }\n </div>\n </div>`,\n styleUrl: '../../../styles/src/slider/slider.css',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => SlSlider), multi: true }],\n host: {\n 'data-ui': 'slider',\n 'data-ui-slider': '',\n 'data-part': 'root',\n 'data-part-root': '',\n '[attr.data-size]': 'resolvedSize()',\n '[attr.data-orientation]': 'resolvedOrientation()',\n '[attr.data-value-label]': 'resolvedValueLabel()',\n '[attr.data-marks]': 'marksMode()',\n '[attr.data-dragging]': \"dragging() === null ? null : ''\",\n '[attr.data-disabled]': \"resolvedDisabled() === true ? '' : null\",\n '[attr.data-invalid]': \"resolvedInvalid() === true ? '' : null\",\n '[attr.data-readonly]': \"resolvedReadOnly() === true ? '' : null\",\n },\n})\nexport class SlSlider implements ControlValueAccessor {\n /**\n * Present means the consumer owns the value, for the life of the component.\n * An array makes a range; a number makes one thumb, and the shape handed in\n * is the shape every request carries back.\n */\n readonly value = input<number | readonly number[] | undefined>(undefined);\n /** The value an uncontrolled slider starts from, read once. */\n readonly defaultValue = input<number | readonly number[]>(0);\n\n readonly min = input<number, unknown>(0, { transform: (raw) => optionalNumber(raw) ?? 0 });\n readonly max = input<number, unknown>(100, { transform: (raw) => optionalNumber(raw) ?? 100 });\n readonly step = input<number, unknown>(1, { transform: (raw) => optionalNumber(raw) ?? 1 });\n /** The amount `Shift` and the page keys move by. Defaults to `step * 10`. */\n readonly largeStep = input<number | undefined, unknown>(undefined, { transform: optionalNumber });\n /** How many steps must stay between two neighbouring thumbs. */\n readonly minStepsBetween = input<number, unknown>(0, {\n transform: (raw) => optionalNumber(raw) ?? 0,\n });\n /** Where the filled portion starts. Defaults to `min`. */\n readonly origin = input<SliderOrigin>('min');\n /** The ticks drawn beside the rail. A mark's label becomes its announced value. */\n readonly marks = input<readonly (number | SliderMark)[] | undefined>(undefined);\n /** How the value is written, through `Intl.NumberFormat`. */\n readonly format = input<Intl.NumberFormatOptions | undefined>(undefined);\n /** BCP 47. Unset, the language in force decides. */\n readonly locale = input<string | undefined>(undefined);\n /** The accessible name of each thumb, in order. */\n readonly thumbLabels = input<readonly string[] | undefined>(undefined);\n\n readonly size = input<SliderSize | undefined>(undefined);\n readonly orientation = input<SliderOrientation | undefined>(undefined);\n readonly valueLabel = input<SliderValueLabel | undefined>(undefined);\n\n /** Unstated rather than `false`, so the control defers to the field. */\n readonly disabled = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (raw) => (raw === undefined ? undefined : booleanAttribute(raw)),\n });\n readonly readOnly = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (raw) => (raw === undefined ? undefined : booleanAttribute(raw)),\n });\n readonly invalid = input<boolean | undefined, boolean | string | undefined>(undefined, {\n transform: (raw) => (raw === undefined ? undefined : booleanAttribute(raw)),\n });\n\n /**\n * One output for one transition, carrying the value, the value it replaces,\n * the reason, the originating event and `cancel()`. There is no `[(value)]`,\n * because a two-way binding has one slot and can carry none of those; a form\n * gets the same movement through `ControlValueAccessor`.\n */\n readonly valueChange = output<ChangeRequest<number | number[]>>();\n /**\n * The end of a drag, or a key that settled the value. A drag emits a hundred\n * changes and one commit; this is the commit.\n */\n readonly valueCommit = output<number | number[]>();\n\n private readonly element = inject<ElementRef<HTMLElement>>(ElementRef).nativeElement;\n private readonly track = viewChild<ElementRef<HTMLElement>>('track');\n private readonly field = inject(SlField, { optional: true });\n private readonly defaults = injectSliderDefaults();\n private readonly appLocale = injectLocale();\n\n private readonly writtenId = inject(new HostAttributeToken('id'), { optional: true });\n private readonly writtenName = inject(new HostAttributeToken('name'), { optional: true });\n private readonly writtenForm = inject(new HostAttributeToken('form'), { optional: true });\n private readonly writtenLabel = inject(new HostAttributeToken('aria-label'), { optional: true });\n private readonly writtenDescribedBy = inject(new HostAttributeToken('aria-describedby'), {\n optional: true,\n });\n private readonly writtenInvalid = inject(new HostAttributeToken('aria-invalid'), {\n optional: true,\n });\n private readonly writtenRequired = inject(new HostAttributeToken('aria-required'), {\n optional: true,\n });\n\n /** What the family holds when nobody else owns it. */\n private readonly own = signal<number[] | null>(null);\n private readonly formValue = signal<number[] | null>(null);\n private readonly formDisabled = signal<boolean | undefined>(undefined);\n protected readonly dragging = signal<number | null>(null);\n private onChangeFn: (value: number | number[]) => void = () => undefined;\n private onTouchedFn: () => void = () => undefined;\n\n protected readonly scale = computed(() => ({\n min: this.min(),\n max: this.max(),\n step: this.step(),\n }));\n\n /** The shape the consumer handed in is the shape every request carries back. */\n private readonly isRange = computed(() => {\n const bound = this.value();\n return Array.isArray(bound ?? this.defaultValue());\n });\n\n readonly values = computed<number[]>(() => {\n const bound = this.value();\n const held = bound ?? this.formValue() ?? this.own() ?? this.defaultValue();\n return normaliseValues(toArray(held), this.scale());\n });\n\n private readonly formatter = computed(() => {\n const options = this.format();\n return createNumberFormat({\n locale: this.locale() ?? this.appLocale(),\n ...(options === undefined ? {} : { options }),\n });\n });\n\n readonly resolvedSize = computed(\n () => this.size() ?? this.field?.resolvedSize() ?? this.defaults.size,\n );\n readonly resolvedOrientation = computed(() => this.orientation() ?? this.defaults.orientation);\n readonly resolvedValueLabel = computed(() => this.valueLabel() ?? this.defaults.valueLabel);\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 private readonly inert = computed(\n () => this.resolvedDisabled() === true || this.resolvedReadOnly() === true,\n );\n\n readonly controlId = computed(() => this.writtenId ?? this.field?.ids().control ?? null);\n protected readonly submissionName = computed(() => this.writtenName);\n protected readonly submissionForm = computed(() => this.writtenForm);\n\n protected readonly markList = computed<SliderMark[]>(() => {\n const marks = this.marks();\n if (marks === undefined) return [];\n return marks.map((mark) => (typeof mark === 'number' ? { value: mark } : mark));\n });\n\n protected readonly marksMode = computed(() => {\n const marks = this.markList();\n if (marks.length === 0) return null;\n return marks.some((mark) => mark.label !== undefined) ? 'labelled' : 'ticks';\n });\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.writtenInvalid ?? (this.resolvedInvalid() === true ? 'true' : null),\n );\n protected readonly ariaRequired = computed(\n () => this.writtenRequired ?? (this.field?.required() === true ? 'true' : null),\n );\n\n /** Where the fill starts, which is an end of the scale or a point on it. */\n protected readonly span = computed(() => {\n const values = this.values();\n const scale = this.scale();\n const origin = this.origin();\n const originValue = origin === 'min' ? scale.min : origin === 'max' ? scale.max : origin;\n const first = values[0] ?? scale.min;\n const last = values[values.length - 1] ?? scale.min;\n const start = values.length > 1 ? first : Math.min(originValue, first);\n const end = values.length > 1 ? last : Math.max(originValue, first);\n return {\n start: fractionOfValue(start, scale) * 100,\n end: fractionOfValue(end, scale) * 100,\n };\n });\n\n protected readonly outputText = computed(() =>\n this.values()\n .map((value) => this.valueTextOf(value))\n .join(' – '),\n );\n\n /** The native element, for `focus()` on the root and for a consumer's own query. */\n get sliderElement(): HTMLElement {\n return this.element;\n }\n\n /** The one action a value cannot express: putting focus on a named thumb. */\n focusThumb(index = 0) {\n this.thumbInputs()[index]?.focus();\n }\n\n protected percentOf(value: number) {\n return fractionOfValue(value, this.scale()) * 100;\n }\n\n protected edgeOf(value: number) {\n if (value === this.min()) return 'start';\n if (value === this.max()) return 'end';\n return null;\n }\n\n protected boundsAt(index: number) {\n return thumbBounds({\n ...this.scale(),\n values: this.values(),\n index,\n minStepsBetween: this.minStepsBetween(),\n });\n }\n\n protected thumbLabelAt(index: number) {\n const labels = this.thumbLabels();\n if (labels?.[index] !== undefined) return labels[index];\n return this.values().length > 1 ? null : this.writtenLabel;\n }\n\n /**\n * The APG names `aria-valuetext` for a value that is not user-friendly, and\n * gives \"Monday\" as its example. A mark that already carries a label is that\n * string, so a five-step quality scale announces \"Medium\" rather than \"50\".\n */\n protected valueTextOf(value: number) {\n const labelled = this.markList().find(\n (mark) => mark.value === value && mark.label !== undefined,\n );\n return labelled?.label ?? this.formatter().format(value);\n }\n\n protected onTouched() {\n this.onTouchedFn();\n }\n\n writeValue(value: number | readonly number[] | null) {\n this.formValue.set(\n value === null || value === undefined ? null : normaliseValues(toArray(value), this.scale()),\n );\n }\n\n registerOnChange(fn: (value: number | number[]) => 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 protected onPointerDown(event: PointerEvent) {\n if (this.inert() || event.button !== 0) return;\n const target = this.valueAtPointer(event);\n if (target === null) return;\n\n const index = nearestThumb(this.values(), target);\n if (index === -1) return;\n\n event.preventDefault();\n this.thumbInputs()[index]?.focus();\n (event.currentTarget as HTMLElement).setPointerCapture(event.pointerId);\n this.dragging.set(index);\n this.move(index, target, 'pointer', event);\n }\n\n protected onPointerMove(event: PointerEvent) {\n const index = this.dragging();\n if (index === null) return;\n const target = this.valueAtPointer(event);\n if (target === null) return;\n this.move(index, target, 'pointer', event);\n }\n\n protected onPointerUp(event: PointerEvent) {\n if (this.dragging() === null) return;\n const host = event.currentTarget as HTMLElement;\n if (host.hasPointerCapture(event.pointerId)) host.releasePointerCapture(event.pointerId);\n this.dragging.set(null);\n this.valueCommit.emit(this.shape(this.values()));\n }\n\n /**\n * The whole keyboard table, and `preventDefault()` on every key in it. The\n * inline arrows follow the reading direction — in a mirrored document\n * `ArrowRight` moves the thumb toward the end of the track the reader sees —\n * and the block arrows do not, because a scale has a direction and bidi is\n * not it.\n */\n protected onKeyDown(index: number, event: KeyboardEvent) {\n if (event.defaultPrevented || this.inert()) return;\n\n const step = this.step();\n const large = this.largeStep() ?? step * 10;\n const amount = event.shiftKey ? large : step;\n const inlineSign = this.isRtl() ? -1 : 1;\n const current = this.values()[index] ?? this.min();\n const bounds = this.boundsAt(index);\n\n const stepBy = (direction: number, by: number) => {\n event.preventDefault();\n this.move(index, current + direction * by, 'keyboard', event);\n this.valueCommit.emit(this.shape(this.values()));\n };\n\n switch (event.key) {\n case 'ArrowRight':\n stepBy(inlineSign, amount);\n return;\n case 'ArrowLeft':\n stepBy(-inlineSign, amount);\n return;\n case 'ArrowUp':\n stepBy(1, amount);\n return;\n case 'ArrowDown':\n stepBy(-1, amount);\n return;\n case 'PageUp':\n stepBy(1, large);\n return;\n case 'PageDown':\n stepBy(-1, large);\n return;\n case 'Home':\n event.preventDefault();\n this.move(index, bounds.min, 'keyboard', event);\n this.valueCommit.emit(this.shape(this.values()));\n return;\n case 'End':\n event.preventDefault();\n this.move(index, bounds.max, 'keyboard', event);\n this.valueCommit.emit(this.shape(this.values()));\n return;\n default:\n }\n }\n\n private thumbInputs(): HTMLInputElement[] {\n return Array.from(this.element.querySelectorAll<HTMLInputElement>('[data-part=\"input\"]'));\n }\n\n /**\n * Which way the inline arrows move, read from the element rather than from an\n * input: a right-to-left document is a property of the page.\n */\n private isRtl() {\n const track = this.track()?.nativeElement;\n return track !== undefined && getComputedStyle(track).direction === 'rtl';\n }\n\n private valueAtPointer(event: PointerEvent) {\n const track = this.track()?.nativeElement;\n if (track === undefined) return null;\n const rect = track.getBoundingClientRect();\n const fraction = fractionAtPoint(\n { x: event.clientX, y: event.clientY },\n { rect, orientation: this.resolvedOrientation(), rtl: this.isRtl() },\n );\n return valueAtFraction(fraction, this.scale());\n }\n\n private shape(values: number[]): number | number[] {\n return this.isRange() ? values : (values[0] ?? this.min());\n }\n\n private move(index: number, next: number, reason: ChangeReason, source: Event | undefined) {\n const values = this.values();\n const moved = moveThumb({\n ...this.scale(),\n values,\n index,\n next,\n minStepsBetween: this.minStepsBetween(),\n });\n if (moved === values) return;\n this.request(moved, reason, source);\n }\n\n /**\n * Asks to move, and moves nothing the consumer owns. A refused request stops\n * here: a control that wrote the value regardless would show one the consumer\n * never accepted.\n */\n private request(next: number[], reason: ChangeReason, source: Event | undefined) {\n const current = this.values();\n if (sameValues(next, current)) return;\n\n let cancelled = false;\n /* The request is built over the shape the consumer handed in, so the value\n it carries and the value they passed are the same kind of thing — and so\n `cancel()` still belongs to the object that owns it. */\n const state = createControllable<number | number[]>({\n controlled: undefined,\n initial: this.shape(current),\n equals: (a, b) => (Array.isArray(a) && Array.isArray(b) ? sameValues(a, b) : Object.is(a, b)),\n onRequest: (pending) => {\n this.valueChange.emit(pending);\n cancelled = pending.cancelled;\n },\n });\n state.request(this.shape(next), reason, source);\n if (cancelled) return;\n\n this.onChangeFn(this.shape(next));\n /* A controlled slider never moves its own value: it asks, and waits. */\n if (this.value() !== undefined) return;\n this.formValue.set(next);\n this.own.set(next);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}