@radix-ng/primitives 0.43.0 → 0.44.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (453) hide show
  1. package/accordion/index.d.ts +160 -15
  2. package/alert-dialog/index.d.ts +54 -14
  3. package/arrow/README.md +1 -0
  4. package/arrow/index.d.ts +11 -0
  5. package/aspect-ratio/index.d.ts +35 -1
  6. package/avatar/index.d.ts +81 -11
  7. package/calendar/index.d.ts +310 -29
  8. package/checkbox/index.d.ts +163 -15
  9. package/collapsible/index.d.ts +82 -11
  10. package/config/index.d.ts +35 -2
  11. package/context-menu/index.d.ts +126 -23
  12. package/core/index.d.ts +898 -27
  13. package/cropper/index.d.ts +134 -14
  14. package/date-field/index.d.ts +209 -10
  15. package/dialog/index.d.ts +202 -20
  16. package/dismissable-layer/README.md +1 -0
  17. package/dismissable-layer/index.d.ts +126 -0
  18. package/dropdown-menu/index.d.ts +168 -23
  19. package/editable/index.d.ts +70 -1
  20. package/fesm2022/radix-ng-primitives-accordion.mjs +36 -36
  21. package/fesm2022/radix-ng-primitives-accordion.mjs.map +1 -1
  22. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +28 -28
  23. package/fesm2022/radix-ng-primitives-alert-dialog.mjs.map +1 -1
  24. package/fesm2022/radix-ng-primitives-arrow.mjs +38 -0
  25. package/fesm2022/radix-ng-primitives-arrow.mjs.map +1 -0
  26. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +5 -5
  27. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs.map +1 -1
  28. package/fesm2022/radix-ng-primitives-avatar.mjs +20 -20
  29. package/fesm2022/radix-ng-primitives-avatar.mjs.map +1 -1
  30. package/fesm2022/radix-ng-primitives-calendar.mjs +110 -95
  31. package/fesm2022/radix-ng-primitives-calendar.mjs.map +1 -1
  32. package/fesm2022/radix-ng-primitives-checkbox.mjs +219 -209
  33. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  34. package/fesm2022/radix-ng-primitives-collapsible.mjs +27 -27
  35. package/fesm2022/radix-ng-primitives-collapsible.mjs.map +1 -1
  36. package/fesm2022/radix-ng-primitives-config.mjs +5 -5
  37. package/fesm2022/radix-ng-primitives-config.mjs.map +1 -1
  38. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  39. package/fesm2022/radix-ng-primitives-context-menu.mjs.map +1 -1
  40. package/fesm2022/radix-ng-primitives-core.mjs +72 -24
  41. package/fesm2022/radix-ng-primitives-core.mjs.map +1 -1
  42. package/fesm2022/radix-ng-primitives-cropper.mjs +51 -51
  43. package/fesm2022/radix-ng-primitives-cropper.mjs.map +1 -1
  44. package/fesm2022/radix-ng-primitives-date-field.mjs +48 -48
  45. package/fesm2022/radix-ng-primitives-date-field.mjs.map +1 -1
  46. package/fesm2022/radix-ng-primitives-dialog.mjs +33 -33
  47. package/fesm2022/radix-ng-primitives-dialog.mjs.map +1 -1
  48. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs +418 -0
  49. package/fesm2022/radix-ng-primitives-dismissable-layer.mjs.map +1 -0
  50. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +37 -37
  51. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs.map +1 -1
  52. package/fesm2022/radix-ng-primitives-editable.mjs +21 -21
  53. package/fesm2022/radix-ng-primitives-editable.mjs.map +1 -1
  54. package/fesm2022/radix-ng-primitives-focus-guards.mjs +7 -4
  55. package/fesm2022/radix-ng-primitives-focus-guards.mjs.map +1 -1
  56. package/fesm2022/radix-ng-primitives-focus-scope.mjs +17 -9
  57. package/fesm2022/radix-ng-primitives-focus-scope.mjs.map +1 -1
  58. package/fesm2022/radix-ng-primitives-hover-card.mjs +74 -74
  59. package/fesm2022/radix-ng-primitives-hover-card.mjs.map +1 -1
  60. package/fesm2022/radix-ng-primitives-label.mjs +8 -8
  61. package/fesm2022/radix-ng-primitives-label.mjs.map +1 -1
  62. package/fesm2022/radix-ng-primitives-menu.mjs +65 -65
  63. package/fesm2022/radix-ng-primitives-menu.mjs.map +1 -1
  64. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  65. package/fesm2022/radix-ng-primitives-menubar.mjs.map +1 -1
  66. package/fesm2022/radix-ng-primitives-navigation-menu.mjs +86 -86
  67. package/fesm2022/radix-ng-primitives-navigation-menu.mjs.map +1 -1
  68. package/fesm2022/radix-ng-primitives-number-field.mjs +56 -43
  69. package/fesm2022/radix-ng-primitives-number-field.mjs.map +1 -1
  70. package/fesm2022/radix-ng-primitives-pagination.mjs +45 -45
  71. package/fesm2022/radix-ng-primitives-pagination.mjs.map +1 -1
  72. package/fesm2022/radix-ng-primitives-popover.mjs +68 -68
  73. package/fesm2022/radix-ng-primitives-popover.mjs.map +1 -1
  74. package/fesm2022/radix-ng-primitives-popper.mjs +418 -0
  75. package/fesm2022/radix-ng-primitives-popper.mjs.map +1 -0
  76. package/fesm2022/radix-ng-primitives-portal.mjs +51 -0
  77. package/fesm2022/radix-ng-primitives-portal.mjs.map +1 -0
  78. package/fesm2022/radix-ng-primitives-presence.mjs +4 -4
  79. package/fesm2022/radix-ng-primitives-presence.mjs.map +1 -1
  80. package/fesm2022/radix-ng-primitives-progress.mjs +15 -15
  81. package/fesm2022/radix-ng-primitives-progress.mjs.map +1 -1
  82. package/fesm2022/radix-ng-primitives-radio.mjs +30 -30
  83. package/fesm2022/radix-ng-primitives-radio.mjs.map +1 -1
  84. package/fesm2022/radix-ng-primitives-roving-focus.mjs +179 -163
  85. package/fesm2022/radix-ng-primitives-roving-focus.mjs.map +1 -1
  86. package/fesm2022/radix-ng-primitives-select.mjs +37 -37
  87. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -1
  88. package/fesm2022/radix-ng-primitives-separator.mjs +16 -14
  89. package/fesm2022/radix-ng-primitives-separator.mjs.map +1 -1
  90. package/fesm2022/radix-ng-primitives-slider.mjs +75 -75
  91. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -1
  92. package/fesm2022/radix-ng-primitives-stepper.mjs +45 -45
  93. package/fesm2022/radix-ng-primitives-stepper.mjs.map +1 -1
  94. package/fesm2022/radix-ng-primitives-switch.mjs +28 -28
  95. package/fesm2022/radix-ng-primitives-switch.mjs.map +1 -1
  96. package/fesm2022/radix-ng-primitives-tabs.mjs +33 -33
  97. package/fesm2022/radix-ng-primitives-tabs.mjs.map +1 -1
  98. package/fesm2022/radix-ng-primitives-time-field.mjs +78 -66
  99. package/fesm2022/radix-ng-primitives-time-field.mjs.map +1 -1
  100. package/fesm2022/radix-ng-primitives-toggle-group.mjs +22 -22
  101. package/fesm2022/radix-ng-primitives-toggle-group.mjs.map +1 -1
  102. package/fesm2022/radix-ng-primitives-toggle.mjs +9 -9
  103. package/fesm2022/radix-ng-primitives-toggle.mjs.map +1 -1
  104. package/fesm2022/radix-ng-primitives-toolbar.mjs +28 -28
  105. package/fesm2022/radix-ng-primitives-toolbar.mjs.map +1 -1
  106. package/fesm2022/radix-ng-primitives-tooltip.mjs +74 -74
  107. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -1
  108. package/fesm2022/radix-ng-primitives-tooltip2.mjs +740 -0
  109. package/fesm2022/radix-ng-primitives-tooltip2.mjs.map +1 -0
  110. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +29 -27
  111. package/fesm2022/radix-ng-primitives-visually-hidden.mjs.map +1 -1
  112. package/fesm2022/radix-ng-primitives.mjs.map +1 -1
  113. package/focus-guards/index.d.ts +15 -1
  114. package/focus-scope/index.d.ts +65 -1
  115. package/hover-card/index.d.ts +471 -19
  116. package/index.d.ts +2 -1
  117. package/label/index.d.ts +27 -1
  118. package/menu/index.d.ts +136 -26
  119. package/menubar/index.d.ts +53 -21
  120. package/navigation-menu/index.d.ts +402 -25
  121. package/number-field/index.d.ts +202 -16
  122. package/package.json +22 -5
  123. package/pagination/index.d.ts +96 -20
  124. package/popover/index.d.ts +402 -19
  125. package/popper/README.md +3 -0
  126. package/popper/index.d.ts +206 -0
  127. package/portal/README.md +1 -0
  128. package/portal/index.d.ts +22 -0
  129. package/presence/index.d.ts +103 -5
  130. package/progress/index.d.ts +76 -8
  131. package/radio/index.d.ts +118 -4
  132. package/roving-focus/index.d.ts +174 -3
  133. package/select/index.d.ts +211 -23
  134. package/separator/index.d.ts +63 -1
  135. package/slider/index.d.ts +262 -17
  136. package/stepper/index.d.ts +122 -21
  137. package/switch/index.d.ts +102 -9
  138. package/tabs/index.d.ts +111 -13
  139. package/time-field/index.d.ts +211 -10
  140. package/toggle/index.d.ts +75 -3
  141. package/toggle-group/index.d.ts +194 -5
  142. package/toolbar/index.d.ts +52 -16
  143. package/tooltip/index.d.ts +432 -19
  144. package/tooltip2/README.md +3 -0
  145. package/tooltip2/index.d.ts +325 -0
  146. package/visually-hidden/index.d.ts +65 -3
  147. package/accordion/src/accordion-content-presence.directive.d.ts +0 -6
  148. package/accordion/src/accordion-content.directive.d.ts +0 -8
  149. package/accordion/src/accordion-header.directive.d.ts +0 -7
  150. package/accordion/src/accordion-item.directive.d.ts +0 -43
  151. package/accordion/src/accordion-root.directive.d.ts +0 -83
  152. package/accordion/src/accordion-trigger.directive.d.ts +0 -10
  153. package/alert-dialog/src/alert-dialog-cancel.directive.d.ts +0 -7
  154. package/alert-dialog/src/alert-dialog-content.directive.d.ts +0 -9
  155. package/alert-dialog/src/alert-dialog-root.directive.d.ts +0 -9
  156. package/alert-dialog/src/alert-dialog-title.directive.d.ts +0 -5
  157. package/alert-dialog/src/alert-dialog-trigger.directive.d.ts +0 -7
  158. package/alert-dialog/src/alert-dialog.service.d.ts +0 -14
  159. package/aspect-ratio/src/aspect-ratio.directive.d.ts +0 -32
  160. package/avatar/src/avatar-context.token.d.ts +0 -7
  161. package/avatar/src/avatar-fallback.directive.d.ts +0 -20
  162. package/avatar/src/avatar-image.directive.d.ts +0 -29
  163. package/avatar/src/avatar-root.directive.d.ts +0 -8
  164. package/avatar/src/avatar.config.d.ts +0 -13
  165. package/avatar/src/types.d.ts +0 -2
  166. package/calendar/src/calendar-cell-trigger.directive.d.ts +0 -54
  167. package/calendar/src/calendar-cell.directive.d.ts +0 -11
  168. package/calendar/src/calendar-grid-body.directive.d.ts +0 -5
  169. package/calendar/src/calendar-grid-head.directive.d.ts +0 -5
  170. package/calendar/src/calendar-grid-row.directive.d.ts +0 -5
  171. package/calendar/src/calendar-grid.directive.d.ts +0 -8
  172. package/calendar/src/calendar-head-cell.directive.d.ts +0 -5
  173. package/calendar/src/calendar-header.directive.d.ts +0 -5
  174. package/calendar/src/calendar-heading.directive.d.ts +0 -7
  175. package/calendar/src/calendar-next.directive.d.ts +0 -16
  176. package/calendar/src/calendar-prev.directive.d.ts +0 -16
  177. package/calendar/src/calendar-root.directive.d.ts +0 -148
  178. package/calendar/src/calendar.d.ts +0 -44
  179. package/calendar/src//321/201alendar-/321/201ontext.token.d.ts +0 -24
  180. package/checkbox/src/checkbox-button.directive.d.ts +0 -8
  181. package/checkbox/src/checkbox-indicator.directive.d.ts +0 -6
  182. package/checkbox/src/checkbox-input.directive.d.ts +0 -10
  183. package/checkbox/src/checkbox.directive.d.ts +0 -86
  184. package/checkbox/src/checkbox.token.d.ts +0 -4
  185. package/collapsible/src/collapsible-content-presence.directive.d.ts +0 -6
  186. package/collapsible/src/collapsible-content.directive.d.ts +0 -18
  187. package/collapsible/src/collapsible-root.directive.d.ts +0 -44
  188. package/collapsible/src/collapsible-trigger.directive.d.ts +0 -6
  189. package/config/src/config.d.ts +0 -21
  190. package/config/src/config.provider.d.ts +0 -10
  191. package/context-menu/src/context-menu-content.directive.d.ts +0 -15
  192. package/context-menu/src/context-menu-item-checkbox.directive.d.ts +0 -9
  193. package/context-menu/src/context-menu-item-indicator.directive.d.ts +0 -7
  194. package/context-menu/src/context-menu-item-radio-group.directive.d.ts +0 -12
  195. package/context-menu/src/context-menu-item-radio.directive.d.ts +0 -19
  196. package/context-menu/src/context-menu-item-selectable.d.ts +0 -12
  197. package/context-menu/src/context-menu-item.directive.d.ts +0 -17
  198. package/context-menu/src/context-menu-label.directive.d.ts +0 -5
  199. package/context-menu/src/context-menu-separator.directive.d.ts +0 -6
  200. package/context-menu/src/context-menu-trigger.directive.d.ts +0 -31
  201. package/core/src/accessor/control-value-accessor.d.ts +0 -67
  202. package/core/src/accessor/provide-value-accessor.d.ts +0 -12
  203. package/core/src/auto-focus.directive.d.ts +0 -14
  204. package/core/src/chunk.d.ts +0 -12
  205. package/core/src/clamp.d.ts +0 -38
  206. package/core/src/create-context.d.ts +0 -10
  207. package/core/src/date-time/calendar.d.ts +0 -33
  208. package/core/src/date-time/comparators.d.ts +0 -98
  209. package/core/src/date-time/formatter.d.ts +0 -30
  210. package/core/src/date-time/index.d.ts +0 -9
  211. package/core/src/date-time/parser.d.ts +0 -37
  212. package/core/src/date-time/parts.d.ts +0 -12
  213. package/core/src/date-time/placeholders.d.ts +0 -8
  214. package/core/src/date-time/segment.d.ts +0 -4
  215. package/core/src/date-time/types.d.ts +0 -58
  216. package/core/src/date-time/useDateField.d.ts +0 -142
  217. package/core/src/date-time/utils.d.ts +0 -7
  218. package/core/src/document.d.ts +0 -1
  219. package/core/src/focus-initial.directive.d.ts +0 -9
  220. package/core/src/getActiveElement.d.ts +0 -1
  221. package/core/src/id-generator.d.ts +0 -12
  222. package/core/src/inject-ng-control.d.ts +0 -8
  223. package/core/src/is-client.d.ts +0 -1
  224. package/core/src/is-equal.d.ts +0 -7
  225. package/core/src/is-inside-form.d.ts +0 -2
  226. package/core/src/is-nullish.d.ts +0 -1
  227. package/core/src/is-number.d.ts +0 -1
  228. package/core/src/isValueEqualOrExist.d.ts +0 -10
  229. package/core/src/kbd-constants.d.ts +0 -41
  230. package/core/src/positioning/constants.d.ts +0 -3
  231. package/core/src/positioning/types.d.ts +0 -42
  232. package/core/src/positioning/utils.d.ts +0 -12
  233. package/core/src/provide-token.d.ts +0 -22
  234. package/core/src/serialize.d.ts +0 -11
  235. package/core/src/types.d.ts +0 -25
  236. package/core/src/useArrowNavigation.d.ts +0 -65
  237. package/core/src/useResizeObserver.d.ts +0 -15
  238. package/core/src/watch.d.ts +0 -41
  239. package/core/src/window.d.ts +0 -3
  240. package/cropper/src/cropper-context.token.d.ts +0 -12
  241. package/cropper/src/cropper-crop-area.directive.d.ts +0 -6
  242. package/cropper/src/cropper-description.directive.d.ts +0 -6
  243. package/cropper/src/cropper-image.component.d.ts +0 -10
  244. package/cropper/src/cropper-root.directive.d.ts +0 -91
  245. package/date-field/src/date-field-context.token.d.ts +0 -19
  246. package/date-field/src/date-field-input.directive.d.ts +0 -53
  247. package/date-field/src/date-field-root.directive.d.ts +0 -131
  248. package/dialog/src/dialog-close.directive.d.ts +0 -7
  249. package/dialog/src/dialog-content.directive.d.ts +0 -21
  250. package/dialog/src/dialog-description.directive.d.ts +0 -5
  251. package/dialog/src/dialog-dismiss.directive.d.ts +0 -7
  252. package/dialog/src/dialog-ref.d.ts +0 -40
  253. package/dialog/src/dialog-title.directive.d.ts +0 -5
  254. package/dialog/src/dialog-trigger.directive.d.ts +0 -28
  255. package/dialog/src/dialog.config.d.ts +0 -41
  256. package/dialog/src/dialog.injectors.d.ts +0 -4
  257. package/dialog/src/dialog.providers.d.ts +0 -19
  258. package/dialog/src/dialog.service.d.ts +0 -26
  259. package/dismissible-layer/README.md +0 -1
  260. package/dismissible-layer/index.d.ts +0 -1
  261. package/dismissible-layer/src/utils.d.ts +0 -38
  262. package/dropdown-menu/src/dropdown-menu-content.directive.d.ts +0 -15
  263. package/dropdown-menu/src/dropdown-menu-item-checkbox.directive.d.ts +0 -9
  264. package/dropdown-menu/src/dropdown-menu-item-indicator.directive.d.ts +0 -7
  265. package/dropdown-menu/src/dropdown-menu-item-radio-group.directive.d.ts +0 -12
  266. package/dropdown-menu/src/dropdown-menu-item-radio.directive.d.ts +0 -19
  267. package/dropdown-menu/src/dropdown-menu-item-selectable.d.ts +0 -12
  268. package/dropdown-menu/src/dropdown-menu-item.directive.d.ts +0 -17
  269. package/dropdown-menu/src/dropdown-menu-label.directive.d.ts +0 -6
  270. package/dropdown-menu/src/dropdown-menu-separator.directive.d.ts +0 -6
  271. package/dropdown-menu/src/dropdown-menu-trigger.directive.d.ts +0 -73
  272. package/editable/src/editable-root.d.ts +0 -67
  273. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs +0 -211
  274. package/fesm2022/radix-ng-primitives-dismissible-layer.mjs.map +0 -1
  275. package/focus-guards/src/focus-guards.d.ts +0 -12
  276. package/focus-scope/src/focus-scope.d.ts +0 -53
  277. package/focus-scope/src/stack.d.ts +0 -13
  278. package/focus-scope/src/utils.d.ts +0 -46
  279. package/hover-card/src/hover-card-anchor.directive.d.ts +0 -28
  280. package/hover-card/src/hover-card-anchor.token.d.ts +0 -3
  281. package/hover-card/src/hover-card-arrow.directive.d.ts +0 -45
  282. package/hover-card/src/hover-card-arrow.token.d.ts +0 -3
  283. package/hover-card/src/hover-card-close.directive.d.ts +0 -18
  284. package/hover-card/src/hover-card-close.token.d.ts +0 -3
  285. package/hover-card/src/hover-card-content-attributes.component.d.ts +0 -25
  286. package/hover-card/src/hover-card-content-attributes.token.d.ts +0 -3
  287. package/hover-card/src/hover-card-content.directive.d.ts +0 -124
  288. package/hover-card/src/hover-card-root.directive.d.ts +0 -182
  289. package/hover-card/src/hover-card-root.inject.d.ts +0 -3
  290. package/hover-card/src/hover-card-trigger.directive.d.ts +0 -26
  291. package/hover-card/src/hover-card.types.d.ts +0 -18
  292. package/hover-card/src/utils/cdk-event.service.d.ts +0 -30
  293. package/hover-card/src/utils/constants.d.ts +0 -1
  294. package/hover-card/src/utils/types.d.ts +0 -7
  295. package/label/src/label.directive.d.ts +0 -24
  296. package/menu/src/menu-content.directive.d.ts +0 -6
  297. package/menu/src/menu-directive.d.ts +0 -6
  298. package/menu/src/menu-group.directive.d.ts +0 -6
  299. package/menu/src/menu-item-checkbox.directive.d.ts +0 -21
  300. package/menu/src/menu-item-indicator.directive.d.ts +0 -10
  301. package/menu/src/menu-item-radio.directive.d.ts +0 -20
  302. package/menu/src/menu-item.directive.d.ts +0 -18
  303. package/menu/src/menu-label.directive.d.ts +0 -5
  304. package/menu/src/menu-radio-group.directive.d.ts +0 -6
  305. package/menu/src/menu-separator.directive.d.ts +0 -5
  306. package/menu/src/menu-trigger.directive.d.ts +0 -35
  307. package/menu/src/utils.d.ts +0 -3
  308. package/menubar/src/menubar-content.directive.d.ts +0 -6
  309. package/menubar/src/menubar-item-checkbox.directive.d.ts +0 -6
  310. package/menubar/src/menubar-item-indicator.directive.d.ts +0 -6
  311. package/menubar/src/menubar-item-radio.directive.d.ts +0 -6
  312. package/menubar/src/menubar-item.directive.d.ts +0 -6
  313. package/menubar/src/menubar-radio-group.directive.d.ts +0 -6
  314. package/menubar/src/menubar-root.directive.d.ts +0 -6
  315. package/menubar/src/menubar-separator.directive.d.ts +0 -6
  316. package/menubar/src/menubar-trigger.directive.d.ts +0 -6
  317. package/navigation-menu/src/navigation-menu-a11y.component.d.ts +0 -15
  318. package/navigation-menu/src/navigation-menu-content.directive.d.ts +0 -31
  319. package/navigation-menu/src/navigation-menu-indicator.directive.d.ts +0 -29
  320. package/navigation-menu/src/navigation-menu-item.directive.d.ts +0 -44
  321. package/navigation-menu/src/navigation-menu-link.directive.d.ts +0 -17
  322. package/navigation-menu/src/navigation-menu-list.directive.d.ts +0 -38
  323. package/navigation-menu/src/navigation-menu-sub.directive.d.ts +0 -19
  324. package/navigation-menu/src/navigation-menu-trigger.directive.d.ts +0 -34
  325. package/navigation-menu/src/navigation-menu-viewport.directive.d.ts +0 -61
  326. package/navigation-menu/src/navigation-menu.directive.d.ts +0 -76
  327. package/navigation-menu/src/navigation-menu.token.d.ts +0 -36
  328. package/navigation-menu/src/navigation-menu.types.d.ts +0 -13
  329. package/navigation-menu/src/utils.d.ts +0 -44
  330. package/number-field/src/number-field-context.token.d.ts +0 -24
  331. package/number-field/src/number-field-decrement.directive.d.ts +0 -23
  332. package/number-field/src/number-field-increment.directive.d.ts +0 -23
  333. package/number-field/src/number-field-input.directive.d.ts +0 -22
  334. package/number-field/src/number-field-root.directive.d.ts +0 -86
  335. package/number-field/src/types.d.ts +0 -1
  336. package/number-field/src/utils.d.ts +0 -18
  337. package/pagination/src/pagination-context.token.d.ts +0 -11
  338. package/pagination/src/pagination-ellipsis.directive.d.ts +0 -5
  339. package/pagination/src/pagination-first.directive.d.ts +0 -8
  340. package/pagination/src/pagination-last.directive.d.ts +0 -8
  341. package/pagination/src/pagination-list-item.directive.d.ts +0 -10
  342. package/pagination/src/pagination-list.directive.d.ts +0 -12
  343. package/pagination/src/pagination-next.directive.d.ts +0 -8
  344. package/pagination/src/pagination-prev.directive.d.ts +0 -8
  345. package/pagination/src/pagination-root.directive.d.ts +0 -18
  346. package/pagination/src/utils.d.ts +0 -9
  347. package/popover/src/popover-anchor.directive.d.ts +0 -28
  348. package/popover/src/popover-anchor.token.d.ts +0 -3
  349. package/popover/src/popover-arrow.directive.d.ts +0 -40
  350. package/popover/src/popover-arrow.token.d.ts +0 -3
  351. package/popover/src/popover-close.directive.d.ts +0 -15
  352. package/popover/src/popover-close.token.d.ts +0 -3
  353. package/popover/src/popover-content-attributes.component.d.ts +0 -23
  354. package/popover/src/popover-content-attributes.token.d.ts +0 -3
  355. package/popover/src/popover-content.directive.d.ts +0 -104
  356. package/popover/src/popover-root.directive.d.ts +0 -155
  357. package/popover/src/popover-root.inject.d.ts +0 -3
  358. package/popover/src/popover-trigger.directive.d.ts +0 -18
  359. package/popover/src/popover.types.d.ts +0 -14
  360. package/popover/src/utils/cdk-event.service.d.ts +0 -30
  361. package/popover/src/utils/constants.d.ts +0 -1
  362. package/popover/src/utils/types.d.ts +0 -7
  363. package/presence/src/presence.d.ts +0 -42
  364. package/presence/src/presence.directive.d.ts +0 -27
  365. package/presence/src/transitions/transition.collapse.d.ts +0 -15
  366. package/presence/src/transitions/transition.toast.d.ts +0 -3
  367. package/presence/src/types.d.ts +0 -15
  368. package/presence/src/utils.d.ts +0 -42
  369. package/progress/src/progress-indicator.directive.d.ts +0 -15
  370. package/progress/src/progress-root.directive.d.ts +0 -54
  371. package/radio/src/radio-indicator.directive.d.ts +0 -9
  372. package/radio/src/radio-item-input.directive.d.ts +0 -12
  373. package/radio/src/radio-item.directive.d.ts +0 -30
  374. package/radio/src/radio-root.directive.d.ts +0 -57
  375. package/radio/src/radio-tokens.d.ts +0 -14
  376. package/roving-focus/src/roving-focus-group.directive.d.ts +0 -50
  377. package/roving-focus/src/roving-focus-item.directive.d.ts +0 -50
  378. package/roving-focus/src/utils.d.ts +0 -19
  379. package/select/src/select-content.directive.d.ts +0 -20
  380. package/select/src/select-group.directive.d.ts +0 -5
  381. package/select/src/select-icon.directive.d.ts +0 -5
  382. package/select/src/select-item-indicator.directive.d.ts +0 -7
  383. package/select/src/select-item.directive.d.ts +0 -53
  384. package/select/src/select-label.directive.d.ts +0 -5
  385. package/select/src/select-separator.directive.d.ts +0 -5
  386. package/select/src/select-trigger.directive.d.ts +0 -17
  387. package/select/src/select-value.directive.d.ts +0 -8
  388. package/select/src/select.component.d.ts +0 -98
  389. package/separator/src/separator.directive.d.ts +0 -60
  390. package/slider/src/slider-horizontal.component.d.ts +0 -28
  391. package/slider/src/slider-impl.directive.d.ts +0 -17
  392. package/slider/src/slider-orientation-context.service.d.ts +0 -14
  393. package/slider/src/slider-range.component.d.ts +0 -13
  394. package/slider/src/slider-root.component.d.ts +0 -123
  395. package/slider/src/slider-thumb-impl.directive.d.ts +0 -27
  396. package/slider/src/slider-thumb.component.d.ts +0 -6
  397. package/slider/src/slider-track.component.d.ts +0 -7
  398. package/slider/src/slider-vertical.component.d.ts +0 -28
  399. package/slider/src/utils.d.ts +0 -52
  400. package/stepper/src/stepper-description.directive.d.ts +0 -6
  401. package/stepper/src/stepper-indicator.directive.d.ts +0 -6
  402. package/stepper/src/stepper-item-context.token.d.ts +0 -13
  403. package/stepper/src/stepper-item.directive.d.ts +0 -21
  404. package/stepper/src/stepper-root-context.token.d.ts +0 -12
  405. package/stepper/src/stepper-root.directive.d.ts +0 -33
  406. package/stepper/src/stepper-separator.directive.d.ts +0 -10
  407. package/stepper/src/stepper-title.directive.d.ts +0 -6
  408. package/stepper/src/stepper-trigger.directive.d.ts +0 -14
  409. package/stepper/src/types.d.ts +0 -1
  410. package/switch/src/switch-input.directive.d.ts +0 -11
  411. package/switch/src/switch-root.directive.d.ts +0 -74
  412. package/switch/src/switch-thumb.directive.d.ts +0 -9
  413. package/tabs/src/tabs-content.directive.d.ts +0 -13
  414. package/tabs/src/tabs-list.directive.d.ts +0 -10
  415. package/tabs/src/tabs-root.directive.d.ts +0 -53
  416. package/tabs/src/tabs-trigger.directive.d.ts +0 -29
  417. package/tabs/src/utils.d.ts +0 -2
  418. package/time-field/src/time-field-context.token.d.ts +0 -20
  419. package/time-field/src/time-field-input.directive.d.ts +0 -53
  420. package/time-field/src/time-field-root.directive.d.ts +0 -130
  421. package/toggle/src/toggle-visually-hidden-input.directive.d.ts +0 -6
  422. package/toggle/src/toggle.directive.d.ts +0 -65
  423. package/toggle-group/src/toggle-group-item.directive.d.ts +0 -37
  424. package/toggle-group/src/toggle-group-item.token.d.ts +0 -4
  425. package/toggle-group/src/toggle-group-without-focus.directive.d.ts +0 -69
  426. package/toggle-group/src/toggle-group.directive.d.ts +0 -74
  427. package/toggle-group/src/toggle-group.token.d.ts +0 -10
  428. package/toolbar/src/toolbar-button.directive.d.ts +0 -11
  429. package/toolbar/src/toolbar-link.directive.d.ts +0 -7
  430. package/toolbar/src/toolbar-root.directive.d.ts +0 -8
  431. package/toolbar/src/toolbar-root.token.d.ts +0 -5
  432. package/toolbar/src/toolbar-separator.directive.d.ts +0 -6
  433. package/toolbar/src/toolbar-toggle-group.directive.d.ts +0 -6
  434. package/toolbar/src/toolbar-toggle-item.directive.d.ts +0 -6
  435. package/tooltip/src/tooltip-anchor.directive.d.ts +0 -28
  436. package/tooltip/src/tooltip-anchor.token.d.ts +0 -3
  437. package/tooltip/src/tooltip-arrow.directive.d.ts +0 -40
  438. package/tooltip/src/tooltip-arrow.token.d.ts +0 -3
  439. package/tooltip/src/tooltip-close.directive.d.ts +0 -18
  440. package/tooltip/src/tooltip-close.token.d.ts +0 -3
  441. package/tooltip/src/tooltip-content-attributes.component.d.ts +0 -25
  442. package/tooltip/src/tooltip-content-attributes.token.d.ts +0 -3
  443. package/tooltip/src/tooltip-content.directive.d.ts +0 -104
  444. package/tooltip/src/tooltip-root.directive.d.ts +0 -168
  445. package/tooltip/src/tooltip-root.inject.d.ts +0 -3
  446. package/tooltip/src/tooltip-trigger.directive.d.ts +0 -26
  447. package/tooltip/src/tooltip.types.d.ts +0 -18
  448. package/tooltip/src/utils/cdk-event.service.d.ts +0 -30
  449. package/tooltip/src/utils/constants.d.ts +0 -1
  450. package/tooltip/src/utils/types.d.ts +0 -7
  451. package/visually-hidden/src/visually-hidden-input-bubble.directive.d.ts +0 -24
  452. package/visually-hidden/src/visually-hidden-input.directive.d.ts +0 -23
  453. package/visually-hidden/src/visually-hidden.directive.d.ts +0 -18
@@ -1 +1 @@
1
- {"version":3,"file":"radix-ng-primitives-slider.mjs","sources":["../../../packages/primitives/slider/src/utils.ts","../../../packages/primitives/slider/src/slider-impl.directive.ts","../../../packages/primitives/slider/src/slider-horizontal.component.ts","../../../packages/primitives/slider/src/slider-orientation-context.service.ts","../../../packages/primitives/slider/src/slider-vertical.component.ts","../../../packages/primitives/slider/src/slider-root.component.ts","../../../packages/primitives/slider/src/slider-range.component.ts","../../../packages/primitives/slider/src/slider-thumb-impl.directive.ts","../../../packages/primitives/slider/src/slider-thumb.component.ts","../../../packages/primitives/slider/src/slider-track.component.ts","../../../packages/primitives/slider/index.ts","../../../packages/primitives/slider/radix-ng-primitives-slider.ts"],"sourcesContent":["// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(input: readonly [number, number], output: readonly [number, number]) {\n return (value: number) => {\n if (input[0] === input[1] || output[0] === output[1]) return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(values: number[], minStepsBetweenValues: number) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\n\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values: number[], nextValue: number) {\n if (values.length === 1) return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\n\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nexport function getStepsBetweenValues(values: number[]) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\n\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(width: number, left: number, direction: number) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\n\nexport function convertValueToPercentage(value: number, min: number, max: number) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, 0, 100);\n}\n\nexport function getDecimalCount(value: number) {\n return (String(value).split('.')[1] || '').length;\n}\n\nexport function roundValue(value: number, decimalCount: number) {\n const rounder = 10 ** decimalCount;\n return Math.round(value * rounder) / rounder;\n}\n\nexport function getNextSortedValues(prevValues: number[] = [], nextValue: number, atIndex: number) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\n\nexport const PAGE_KEYS = ['PageUp', 'PageDown'];\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\n\ntype SlideDirection = 'from-left' | 'from-right' | 'from-bottom' | 'from-top';\nexport const BACK_KEYS: Record<SlideDirection, string[]> = {\n 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],\n 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-top': ['Home', 'PageUp', 'ArrowUp', 'ArrowLeft']\n};\n\nexport interface OrientationContext {\n direction: number;\n size: 'width' | 'height';\n startEdge: 'left' | 'top';\n endEdge: 'right' | 'bottom';\n}\n\nexport function clamp(\n value: number,\n min: number = Number.NEGATIVE_INFINITY,\n max: number = Number.POSITIVE_INFINITY\n): number {\n return Math.min(Math.max(value, min), max);\n}\n","import { Directive, inject, output } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { ARROW_KEYS, PAGE_KEYS } from './utils';\n\n@Directive({\n selector: '[rdxSliderImpl]',\n host: {\n role: 'slider',\n tabindex: '0',\n '(keydown)': 'onKeyDown($event)',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp($event)'\n }\n})\nexport class RdxSliderImplDirective {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n\n readonly slideStart = output<PointerEvent>();\n readonly slideMove = output<PointerEvent>();\n readonly slideEnd = output<PointerEvent>();\n readonly homeKeyDown = output<KeyboardEvent>();\n readonly endKeyDown = output<KeyboardEvent>();\n readonly stepKeyDown = output<KeyboardEvent>();\n\n onKeyDown(event: KeyboardEvent) {\n if (event.key === 'Home') {\n this.homeKeyDown.emit(event);\n // Prevent scrolling to page start\n event.preventDefault();\n } else if (event.key === 'End') {\n this.endKeyDown.emit(event);\n // Prevent scrolling to page end\n event.preventDefault();\n } else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n this.stepKeyDown.emit(event);\n // Prevent scrolling for directional key presses\n event.preventDefault();\n }\n }\n\n onPointerDown(event: PointerEvent) {\n const target = event.target as HTMLElement;\n target.setPointerCapture(event.pointerId);\n\n // Prevent browser focus behaviour because we focus a thumb manually when values change.\n event.preventDefault();\n\n // Touch devices have a delay before focusing so won't focus if touch immediately moves\n // away from target (sliding). We want thumb to focus regardless.\n if (this.rootContext.thumbElements.includes(target)) {\n target.focus();\n } else {\n this.slideStart.emit(event);\n }\n }\n\n onPointerMove(event: PointerEvent) {\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n this.slideMove.emit(event);\n }\n }\n\n onPointerUp(event: PointerEvent) {\n const target = event.target as HTMLElement;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n this.slideEnd.emit(event);\n }\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n inject,\n input,\n Input,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { RdxSliderImplDirective } from './slider-impl.directive';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { BACK_KEYS, linearScale } from './utils';\n\n@Component({\n selector: 'rdx-slider-horizontal',\n imports: [RdxSliderImplDirective],\n template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'horizontal'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateX(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `\n})\nexport class RdxSliderHorizontalComponent {\n private readonly rootContext = inject(RdxSliderRootComponent);\n\n @Input() dir: 'ltr' | 'rtl' = 'ltr';\n\n readonly inverted = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n @Input() min = 0;\n @Input() max = 100;\n\n @Input() className = '';\n\n readonly slideStart = output<number>();\n readonly slideMove = output<number>();\n readonly slideEnd = output<void>();\n readonly stepKeyDown = output<{ event: KeyboardEvent; direction: number }>();\n readonly endKeyDown = output<KeyboardEvent>();\n readonly homeKeyDown = output<KeyboardEvent>();\n\n private readonly sliderElement = viewChild<ElementRef>('sliderElement');\n\n private readonly rect = signal<DOMRect | undefined>(undefined);\n\n onSlideStart(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientX);\n this.slideStart.emit(value);\n }\n\n onSlideMove(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientX);\n this.slideMove.emit(value);\n }\n\n onSlideEnd() {\n this.rect.set(undefined);\n this.slideEnd.emit();\n }\n\n onStepKeyDown(event: KeyboardEvent) {\n const slideDirection = this.rootContext.isSlidingFromLeft() ? 'from-left' : 'from-right';\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n\n this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });\n }\n\n private getValueFromPointer(pointerPosition: number): number {\n this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());\n const rect = this.rect();\n if (!rect) return 0;\n\n const input: [number, number] = [0, rect.width];\n const output: [number, number] = this.rootContext.isSlidingFromLeft()\n ? [this.min, this.max]\n : [this.max, this.min];\n\n const value = linearScale(input, output);\n this.rect.set(rect);\n\n return value(pointerPosition - rect.left);\n }\n}\n","import { Injectable, signal } from '@angular/core';\n\nexport interface OrientationContext {\n startEdge: string;\n endEdge: string;\n direction: number;\n size: string;\n}\n\n@Injectable()\nexport class RdxSliderOrientationContextService {\n private contextSignal = signal<OrientationContext>({\n startEdge: 'left',\n endEdge: 'right',\n direction: 1,\n size: 'width'\n });\n\n get context() {\n return this.contextSignal();\n }\n\n updateContext(context: Partial<OrientationContext>) {\n this.contextSignal.update((current) => ({\n ...current,\n ...context\n }));\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n Component,\n ElementRef,\n inject,\n input,\n Input,\n output,\n signal,\n viewChild\n} from '@angular/core';\nimport { RdxSliderImplDirective } from './slider-impl.directive';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { BACK_KEYS, linearScale } from './utils';\n\n@Component({\n selector: 'rdx-slider-vertical',\n imports: [RdxSliderImplDirective],\n template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'vertical'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateY(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `\n})\nexport class RdxSliderVerticalComponent {\n private readonly rootContext = inject(RdxSliderRootComponent);\n\n @Input() dir: 'ltr' | 'rtl' = 'ltr';\n\n readonly inverted = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n @Input() min = 0;\n @Input() max = 100;\n\n @Input() className = '';\n\n readonly slideStart = output<number>();\n readonly slideMove = output<number>();\n readonly slideEnd = output<void>();\n readonly stepKeyDown = output<{ event: KeyboardEvent; direction: number }>();\n readonly endKeyDown = output<KeyboardEvent>();\n readonly homeKeyDown = output<KeyboardEvent>();\n\n private readonly sliderElement = viewChild<ElementRef>('sliderElement');\n\n private readonly rect = signal<DOMRect | undefined>(undefined);\n\n onSlideStart(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientY);\n this.slideStart.emit(value);\n }\n\n onSlideMove(event: PointerEvent) {\n const value = this.getValueFromPointer(event.clientY);\n this.slideMove.emit(value);\n }\n\n onSlideEnd() {\n this.rect.set(undefined);\n this.slideEnd.emit();\n }\n\n onStepKeyDown(event: KeyboardEvent) {\n const slideDirection = this.rootContext.isSlidingFromBottom() ? 'from-bottom' : 'from-top';\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n\n this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });\n }\n\n private getValueFromPointer(pointerPosition: number): number {\n this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());\n const rect = this.rect();\n if (!rect) return 0;\n\n const input: [number, number] = [0, rect.height];\n const output: [number, number] = this.rootContext.isSlidingFromBottom()\n ? [this.max, this.min]\n : [this.min, this.max];\n\n const value = linearScale(input, output);\n this.rect.set(rect);\n\n return value(pointerPosition - rect.top);\n }\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport { NgIf, NgTemplateOutlet } from '@angular/common';\nimport {\n booleanAttribute,\n Component,\n computed,\n inject,\n input,\n Input,\n model,\n numberAttribute,\n OnInit,\n output\n} from '@angular/core';\nimport { RdxSliderHorizontalComponent } from './slider-horizontal.component';\nimport { RdxSliderOrientationContextService } from './slider-orientation-context.service';\nimport { RdxSliderVerticalComponent } from './slider-vertical.component';\nimport {\n clamp,\n getClosestValueIndex,\n getDecimalCount,\n getNextSortedValues,\n hasMinStepsBetweenValues,\n roundValue\n} from './utils';\n\n/**\n * @group Components\n */\n@Component({\n selector: 'rdx-slider',\n imports: [RdxSliderHorizontalComponent, RdxSliderVerticalComponent, NgIf, NgTemplateOutlet],\n providers: [RdxSliderOrientationContextService],\n template: `\n <ng-template #transclude><ng-content /></ng-template>\n\n <ng-container *ngIf=\"orientation() === 'horizontal'\">\n <rdx-slider-horizontal\n [className]=\"styleClass() || className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-horizontal>\n </ng-container>\n\n <ng-container *ngIf=\"orientation() === 'vertical'\">\n <rdx-slider-vertical\n [className]=\"styleClass() || className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-vertical>\n </ng-container>\n `\n})\nexport class RdxSliderRootComponent implements OnInit {\n /** @ignore */\n readonly orientationContext = inject(RdxSliderOrientationContextService);\n\n /**\n * The minimum value for the range.\n *\n * @group Props\n * @defaultValue 0\n */\n readonly min = input<number, NumberInput>(0, { transform: numberAttribute });\n\n /**\n * The maximum value for the range.\n *\n * @group Props\n * @defaultValue 100\n */\n readonly max = input<number, NumberInput>(100, { transform: numberAttribute });\n\n /**\n * The stepping interval.\n *\n * @group Props\n * @defaultValue 1\n */\n readonly step = input<number, NumberInput>(1, { transform: numberAttribute });\n\n /**\n * The minimum permitted steps between multiple thumbs.\n *\n * @group Props\n * @defaultValue 0\n */\n readonly minStepsBetweenThumbs = input<number, NumberInput>(0, { transform: numberAttribute });\n\n /**\n * The orientation of the slider.\n *\n * @group Props\n * @defaultValue 'horizontal'\n */\n readonly orientation = input<'horizontal' | 'vertical'>('horizontal');\n\n /**\n * When true, prevents the user from interacting with the slider.\n *\n * @group Props\n * @defaultValue false\n */\n readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /**\n * Whether the slider is visually inverted.\n *\n * @group Props\n * @defaultValue false\n */\n readonly inverted = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n /**\n * The reading direction of the combobox when applicable.\n *\n * @group Props\n * @defaultValue 'ltr'\n */\n readonly dir = input<'ltr' | 'rtl'>('ltr');\n\n @Input() className: string = '';\n\n /**\n * Style class of the component.\n *\n * @group Props\n */\n readonly styleClass = input<string>();\n\n /**\n * The controlled value of the slider.\n *\n * @group Props\n */\n readonly modelValue = model<number[]>([0]);\n\n /**\n * Event handler called when the slider value changes.\n *\n * @group Emits\n */\n readonly valueChange = output<number[]>();\n\n /**\n * Event handler called when the value changes at the end of an interaction.\n *\n * Useful when you only need to capture a final value e.g. to update a backend service.\n *\n * @group Emits\n */\n readonly valueCommit = output<number[]>();\n\n /** @ignore */\n readonly valueIndexToChange = model(0);\n\n /** @ignore */\n readonly valuesBeforeSlideStart = model<number[]>([]);\n\n /** @ignore */\n readonly isSlidingFromLeft = computed(\n () => (this.dir() === 'ltr' && !this.inverted()) || (this.dir() !== 'ltr' && this.inverted())\n );\n\n /** @ignore */\n readonly isSlidingFromBottom = computed(() => !this.inverted());\n\n /** @ignore */\n thumbElements: HTMLElement[] = [];\n\n /** @ignore */\n ngOnInit() {\n const isHorizontal = this.orientation() === 'horizontal';\n\n if (isHorizontal) {\n this.orientationContext.updateContext({\n direction: this.isSlidingFromLeft() ? 1 : -1,\n size: 'width',\n startEdge: this.isSlidingFromLeft() ? 'left' : 'right',\n endEdge: this.isSlidingFromLeft() ? 'right' : 'left'\n });\n } else {\n this.orientationContext.updateContext({\n direction: this.isSlidingFromBottom() ? -1 : 1,\n size: 'height',\n startEdge: this.isSlidingFromBottom() ? 'bottom' : 'top',\n endEdge: this.isSlidingFromBottom() ? 'top' : 'bottom'\n });\n }\n }\n\n /** @ignore */\n onPointerDown() {\n this.valuesBeforeSlideStart.set([...this.modelValue()]);\n }\n\n /** @ignore */\n handleSlideStart(value: number): void {\n const closestIndex = getClosestValueIndex(this.modelValue(), value);\n this.updateValues(value, closestIndex);\n }\n\n /** @ignore */\n handleSlideMove(value: number): void {\n this.updateValues(value, this.valueIndexToChange());\n }\n\n /** @ignore */\n handleSlideEnd(): void {\n const prevValue = this.valuesBeforeSlideStart()[this.valueIndexToChange()];\n const nextValue = this.modelValue()[this.valueIndexToChange()];\n const hasChanged = nextValue !== prevValue;\n\n if (hasChanged) {\n this.valueCommit.emit([...this.modelValue()]);\n }\n }\n\n /** @ignore */\n handleStepKeyDown(event: { event: KeyboardEvent; direction: number }): void {\n const stepInDirection = this.step() * event.direction;\n const atIndex = this.valueIndexToChange();\n const currentValue = this.modelValue()[atIndex];\n this.updateValues(currentValue + stepInDirection, atIndex, true);\n }\n\n /** @ignore */\n updateValues(value: number, atIndex: number, commit = false): void {\n const decimalCount = getDecimalCount(this.step());\n const snapToStep = roundValue(\n Math.round((value - this.min()) / this.step()) * this.step() + this.min(),\n decimalCount\n );\n const nextValue = clamp(snapToStep, this.min(), this.max());\n\n const nextValues = getNextSortedValues(this.modelValue(), nextValue, atIndex);\n\n if (hasMinStepsBetweenValues(nextValues, this.minStepsBetweenThumbs() * this.step())) {\n this.valueIndexToChange.set(nextValues.indexOf(nextValue));\n const hasChanged = String(nextValues) !== String(this.modelValue());\n\n if (hasChanged) {\n this.modelValue.set(nextValues);\n this.valueChange.emit([...this.modelValue()]);\n this.thumbElements[this.valueIndexToChange()]?.focus();\n\n if (commit) {\n this.valueCommit.emit([...this.modelValue()]);\n }\n }\n }\n }\n}\n","import { Component, computed, inject } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { convertValueToPercentage } from './utils';\n\n@Component({\n selector: 'rdx-slider-range',\n host: {\n '[attr.data-disabled]': 'rootContext.disabled() ? \"\" : undefined',\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[style]': 'rangeStyles()'\n },\n template: `\n <ng-content />\n `\n})\nexport class RdxSliderRangeComponent {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n\n percentages = computed(() =>\n this.rootContext\n .modelValue()\n ?.map((value) => convertValueToPercentage(value, this.rootContext.min(), this.rootContext.max()))\n );\n\n offsetStart = computed(() => (this.rootContext.modelValue()!.length > 1 ? Math.min(...this.percentages()!) : 0));\n offsetEnd = computed(() => 100 - Math.max(...this.percentages()!));\n\n rangeStyles = computed(() => {\n const context = this.rootContext.orientationContext.context;\n\n return {\n [context.startEdge]: `${this.offsetStart()}%`,\n [context.endEdge]: `${this.offsetEnd()}%`\n };\n });\n}\n","import { isPlatformBrowser } from '@angular/common';\nimport { computed, Directive, ElementRef, inject, OnDestroy, OnInit, PLATFORM_ID, signal } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { convertValueToPercentage, getThumbInBoundsOffset } from './utils';\n\n@Directive({\n selector: '[rdxSliderThumbImpl]',\n host: {\n role: 'slider',\n '[tabindex]': 'rootContext.disabled() ? undefined : 0',\n\n '[attr.aria-valuenow]': 'rootContext.modelValue()',\n '[attr.aria-valuemin]': 'rootContext.min()',\n '[attr.aria-valuemax]': 'rootContext.max()',\n '[attr.aria-orientation]': 'rootContext.orientation()',\n\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[attr.data-disabled]': 'rootContext.disabled() ? \"\" : undefined',\n\n '[style]': 'combinedStyles()',\n\n '(focus)': 'onFocus()'\n }\n})\nexport class RdxSliderThumbImplDirective implements OnInit, OnDestroy {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n private readonly elementRef = inject(ElementRef);\n private readonly platformId = inject(PLATFORM_ID);\n private resizeObserver!: ResizeObserver;\n\n isMounted = signal(false);\n\n thumbIndex = computed(() => {\n const thumbElement = this.elementRef.nativeElement;\n const index = this.rootContext.thumbElements.indexOf(thumbElement);\n return index >= 0 ? index : null;\n });\n\n value = computed(() => {\n const index = this.thumbIndex();\n if (index === null) return undefined;\n return this.rootContext.modelValue()?.[index];\n });\n\n percent = computed(() => {\n const val = this.value();\n if (val === undefined) return 0;\n return convertValueToPercentage(val, this.rootContext.min(), this.rootContext.max());\n });\n\n transform = computed(() => {\n const percent = this.percent();\n const offset = this.thumbInBoundsOffset();\n return `calc(${percent}% + ${offset}px)`;\n });\n\n orientationSize = signal(0);\n\n thumbInBoundsOffset = computed(() => {\n const context = this.rootContext.orientationContext.context;\n\n const size = this.orientationSize();\n const percent = this.percent();\n const direction = context.direction;\n\n return size ? getThumbInBoundsOffset(size, percent, direction) : 0;\n });\n\n combinedStyles = computed(() => {\n const context = this.rootContext.orientationContext.context;\n\n const startEdge = context.startEdge;\n const percent = this.percent();\n const offset = this.thumbInBoundsOffset();\n\n return {\n position: 'absolute',\n transform: 'var(--rdx-slider-thumb-transform)',\n display: (this.isMounted() && this.value()) === false ? 'none' : undefined,\n [startEdge]: `calc(${percent}% + ${offset}px)`\n };\n });\n\n onFocus() {\n if (this.thumbIndex() !== null) {\n this.rootContext.valueIndexToChange.set(this.thumbIndex()!);\n }\n }\n\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n const thumbElement = this.elementRef.nativeElement;\n this.rootContext.thumbElements.push(thumbElement);\n\n this.resizeObserver = new ResizeObserver(() => {\n const rect = thumbElement.getBoundingClientRect();\n const context = this.rootContext.orientationContext.context;\n const size = context.size === 'width' ? rect.width : rect.height;\n this.orientationSize.set(size);\n });\n\n this.resizeObserver.observe(thumbElement);\n\n this.isMounted.set(true);\n }\n }\n\n ngOnDestroy() {\n const thumbElement = this.elementRef.nativeElement;\n const index = this.rootContext.thumbElements.indexOf(thumbElement);\n if (index >= 0) this.rootContext.thumbElements.splice(index, 1);\n\n if (this.resizeObserver) {\n this.resizeObserver.unobserve(thumbElement);\n }\n\n this.isMounted.set(false);\n }\n}\n","import { Component } from '@angular/core';\nimport { RdxSliderThumbImplDirective } from './slider-thumb-impl.directive';\n\n@Component({\n selector: 'rdx-slider-thumb',\n hostDirectives: [RdxSliderThumbImplDirective],\n template: `\n <ng-content />\n `\n})\nexport class RdxSliderThumbComponent {}\n","import { Component, inject } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\n\n@Component({\n selector: 'rdx-slider-track',\n host: {\n '[attr.data-disabled]': \"rootContext.disabled() ? '' : undefined\",\n '[attr.data-orientation]': 'rootContext.orientation()'\n },\n template: `\n <ng-content />\n `\n})\nexport class RdxSliderTrackComponent {\n protected readonly rootContext = inject(RdxSliderRootComponent);\n}\n","import { NgModule } from '@angular/core';\nimport { RdxSliderRangeComponent } from './src/slider-range.component';\nimport { RdxSliderRootComponent } from './src/slider-root.component';\nimport { RdxSliderThumbComponent } from './src/slider-thumb.component';\nimport { RdxSliderTrackComponent } from './src/slider-track.component';\n\nexport * from './src/slider-horizontal.component';\nexport * from './src/slider-impl.directive';\nexport * from './src/slider-range.component';\nexport * from './src/slider-root.component';\nexport * from './src/slider-thumb-impl.directive';\nexport * from './src/slider-thumb.component';\nexport * from './src/slider-track.component';\nexport * from './src/slider-vertical.component';\n\nconst _imports = [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent];\n\n@NgModule({\n imports: [..._imports],\n exports: [..._imports]\n})\nexport class RdxSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.RdxSliderThumbImplDirective"],"mappings":"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"}
1
+ {"version":3,"file":"radix-ng-primitives-slider.mjs","sources":["../tmp-esm2022/slider/src/utils.js","../tmp-esm2022/slider/src/slider-impl.directive.js","../tmp-esm2022/slider/src/slider-horizontal.component.js","../tmp-esm2022/slider/src/slider-orientation-context.service.js","../tmp-esm2022/slider/src/slider-vertical.component.js","../tmp-esm2022/slider/src/slider-root.component.js","../tmp-esm2022/slider/src/slider-range.component.js","../tmp-esm2022/slider/src/slider-thumb-impl.directive.js","../tmp-esm2022/slider/src/slider-thumb.component.js","../tmp-esm2022/slider/src/slider-track.component.js","../tmp-esm2022/slider/index.js","../tmp-esm2022/slider/radix-ng-primitives-slider.js"],"sourcesContent":["// https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js\nexport function linearScale(input, output) {\n return (value) => {\n if (input[0] === input[1] || output[0] === output[1])\n return output[0];\n const ratio = (output[1] - output[0]) / (input[1] - input[0]);\n return output[0] + ratio * (value - input[0]);\n };\n}\n/**\n * Verifies the minimum steps between all values is greater than or equal\n * to the expected minimum steps.\n *\n * @example\n * // returns false\n * hasMinStepsBetweenValues([1,2,3], 2);\n *\n * @example\n * // returns true\n * hasMinStepsBetweenValues([1,2,3], 1);\n */\nexport function hasMinStepsBetweenValues(values, minStepsBetweenValues) {\n if (minStepsBetweenValues > 0) {\n const stepsBetweenValues = getStepsBetweenValues(values);\n const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);\n return actualMinStepsBetweenValues >= minStepsBetweenValues;\n }\n return true;\n}\n/**\n * Given a `values` array and a `nextValue`, determine which value in\n * the array is closest to `nextValue` and return its index.\n *\n * @example\n * // returns 1\n * getClosestValueIndex([10, 30], 25);\n */\nexport function getClosestValueIndex(values, nextValue) {\n if (values.length === 1)\n return 0;\n const distances = values.map((value) => Math.abs(value - nextValue));\n const closestDistance = Math.min(...distances);\n return distances.indexOf(closestDistance);\n}\n/**\n * Gets an array of steps between each value.\n *\n * @example\n * // returns [1, 9]\n * getStepsBetweenValues([10, 11, 20]);\n */\nexport function getStepsBetweenValues(values) {\n return values.slice(0, -1).map((value, index) => values[index + 1] - value);\n}\n/**\n * Offsets the thumb centre point while sliding to ensure it remains\n * within the bounds of the slider when reaching the edges\n */\nexport function getThumbInBoundsOffset(width, left, direction) {\n const halfWidth = width / 2;\n const halfPercent = 50;\n const offset = linearScale([0, halfPercent], [0, halfWidth]);\n return (halfWidth - offset(left) * direction) * direction;\n}\nexport function convertValueToPercentage(value, min, max) {\n const maxSteps = max - min;\n const percentPerStep = 100 / maxSteps;\n const percentage = percentPerStep * (value - min);\n return clamp(percentage, 0, 100);\n}\nexport function getDecimalCount(value) {\n return (String(value).split('.')[1] || '').length;\n}\nexport function roundValue(value, decimalCount) {\n const rounder = 10 ** decimalCount;\n return Math.round(value * rounder) / rounder;\n}\nexport function getNextSortedValues(prevValues = [], nextValue, atIndex) {\n const nextValues = [...prevValues];\n nextValues[atIndex] = nextValue;\n return nextValues.sort((a, b) => a - b);\n}\nexport const PAGE_KEYS = ['PageUp', 'PageDown'];\nexport const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];\nexport const BACK_KEYS = {\n 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],\n 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],\n 'from-top': ['Home', 'PageUp', 'ArrowUp', 'ArrowLeft']\n};\nexport function clamp(value, min = Number.NEGATIVE_INFINITY, max = Number.POSITIVE_INFINITY) {\n return Math.min(Math.max(value, min), max);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NsaWRlci9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUZBQW1GO0FBQ25GLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBZ0MsRUFBRSxNQUFpQztJQUMzRixPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDckIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFnQixFQUFFLHFCQUE2QjtJQUNwRixJQUFJLHFCQUFxQixHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLDJCQUEyQixJQUFJLHFCQUFxQixDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLElB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LFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRzlFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBcUM7SUFDdkQsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzNELFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQztJQUM3RCxhQUFhLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDN0QsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDO0NBQ3pELENBQUM7QUFTRixNQUFNLFVBQVUsS0FBSyxDQUNqQixLQUFhLEVBQ2IsTUFBYyxNQUFNLENBQUMsaUJBQWlCLEVBQ3RDLE1BQWMsTUFBTSxDQUFDLGlCQUFpQjtJQUV0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90bWN3LXVwLWZvci1hZG9wdGlvbi9zaW1wbGUtbGluZWFyLXNjYWxlL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5leHBvcnQgZnVuY3Rpb24gbGluZWFyU2NhbGUoaW5wdXQ6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0sIG91dHB1dDogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSkge1xuICAgIHJldHVybiAodmFsdWU6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaW5wdXRbMF0gPT09IGlucHV0WzFdIHx8IG91dHB1dFswXSA9PT0gb3V0cHV0WzFdKSByZXR1cm4gb3V0cHV0WzBdO1xuICAgICAgICBjb25zdCByYXRpbyA9IChvdXRwdXRbMV0gLSBvdXRwdXRbMF0pIC8gKGlucHV0WzFdIC0gaW5wdXRbMF0pO1xuICAgICAgICByZXR1cm4gb3V0cHV0WzBdICsgcmF0aW8gKiAodmFsdWUgLSBpbnB1dFswXSk7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGUgbWluaW11bSBzdGVwcyBiZXR3ZWVuIGFsbCB2YWx1ZXMgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsXG4gKiB0byB0aGUgZXhwZWN0ZWQgbWluaW11bSBzdGVwcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyBmYWxzZVxuICogaGFzTWluU3RlcHNCZXR3ZWVuVmFsdWVzKFsxLDIsM10sIDIpO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyByZXR1cm5zIHRydWVcbiAqIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyhbMSwyLDNdLCAxKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXM6IG51bWJlcltdLCBtaW5TdGVwc0JldHdlZW5WYWx1ZXM6IG51bWJlcikge1xuICAgIGlmIChtaW5TdGVwc0JldHdlZW5WYWx1ZXMgPiAwKSB7XG4gICAgICAgIGNvbnN0IHN0ZXBzQmV0d2VlblZhbHVlcyA9IGdldFN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXMpO1xuICAgICAgICBjb25zdCBhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMgPSBNYXRoLm1pbiguLi5zdGVwc0JldHdlZW5WYWx1ZXMpO1xuICAgICAgICByZXR1cm4gYWN0dWFsTWluU3RlcHNCZXR3ZWVuVmFsdWVzID49IG1pblN0ZXBzQmV0d2VlblZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2l2ZW4gYSBgdmFsdWVzYCBhcnJheSBhbmQgYSBgbmV4dFZhbHVlYCwgZGV0ZXJtaW5lIHdoaWNoIHZhbHVlIGluXG4gKiB0aGUgYXJyYXkgaXMgY2xvc2VzdCB0byBgbmV4dFZhbHVlYCBhbmQgcmV0dXJuIGl0cyBpbmRleC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyAxXG4gKiBnZXRDbG9zZXN0VmFsdWVJbmRleChbMTAsIDMwXSwgMjUpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xvc2VzdFZhbHVlSW5kZXgodmFsdWVzOiBudW1iZXJbXSwgbmV4dFZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMSkgcmV0dXJuIDA7XG4gICAgY29uc3QgZGlzdGFuY2VzID0gdmFsdWVzLm1hcCgodmFsdWUpID0+IE1hdGguYWJzKHZhbHVlIC0gbmV4dFZhbHVlKSk7XG4gICAgY29uc3QgY2xvc2VzdERpc3RhbmNlID0gTWF0aC5taW4oLi4uZGlzdGFuY2VzKTtcbiAgICByZXR1cm4gZGlzdGFuY2VzLmluZGV4T2YoY2xvc2VzdERpc3RhbmNlKTtcbn1cblxuLyoqXG4gKiBHZXRzIGFuIGFycmF5IG9mIHN0ZXBzIGJldHdlZW4gZWFjaCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyBbMSwgOV1cbiAqIGdldFN0ZXBzQmV0d2VlblZhbHVlcyhbMTAsIDExLCAyMF0pO1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RlcHNCZXR3ZWVuVmFsdWVzKHZhbHVlczogbnVtYmVyW10pIHtcbiAgICByZXR1cm4gdmFsdWVzLnNsaWNlKDAsIC0xKS5tYXAoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWVzW2luZGV4ICsgMV0gLSB2YWx1ZSk7XG59XG5cbi8qKlxuICogT2Zmc2V0cyB0aGUgdGh1bWIgY2VudHJlIHBvaW50IHdoaWxlIHNsaWRpbmcgdG8gZW5zdXJlIGl0IHJlbWFpbnNcbiAqIHdpdGhpbiB0aGUgYm91bmRzIG9mIHRoZSBzbGlkZXIgd2hlbiByZWFjaGluZyB0aGUgZWRnZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRodW1iSW5Cb3VuZHNPZmZzZXQod2lkdGg6IG51bWJlciwgbGVmdDogbnVtYmVyLCBkaXJlY3Rpb246IG51bWJlcikge1xuICAgIGNvbnN0IGhhbGZXaWR0aCA9IHdpZHRoIC8gMjtcbiAgICBjb25zdCBoYWxmUGVyY2VudCA9IDUwO1xuICAgIGNvbnN0IG9mZnNldCA9IGxpbmVhclNjYWxlKFswLCBoYWxmUGVyY2VudF0sIFswLCBoYWxmV2lkdGhdKTtcbiAgICByZXR1cm4gKGhhbGZXaWR0aCAtIG9mZnNldChsZWZ0KSAqIGRpcmVjdGlvbikgKiBkaXJlY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWF4U3RlcHMgPSBtYXggLSBtaW47XG4gICAgY29uc3QgcGVyY2VudFBlclN0ZXAgPSAxMDAgLyBtYXhTdGVwcztcbiAgICBjb25zdCBwZXJjZW50YWdlID0gcGVyY2VudFBlclN0ZXAgKiAodmFsdWUgLSBtaW4pO1xuICAgIHJldHVybiBjbGFtcChwZXJjZW50YWdlLCAwLCAxMDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVjaW1hbENvdW50KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gKFN0cmluZyh2YWx1ZSkuc3BsaXQoJy4nKVsxXSB8fCAnJykubGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRWYWx1ZSh2YWx1ZTogbnVtYmVyLCBkZWNpbWFsQ291bnQ6IG51bWJlcikge1xuICAgIGNvbnN0IHJvdW5kZXIgPSAxMCAqKiBkZWNpbWFsQ291bnQ7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiByb3VuZGVyKSAvIHJvdW5kZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0U29ydGVkVmFsdWVzKHByZXZWYWx1ZXM6IG51bWJlcltdID0gW10sIG5leHRWYWx1ZTogbnVtYmVyLCBhdEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXh0VmFsdWVzID0gWy4uLnByZXZWYWx1ZXNdO1xuICAgIG5leHRWYWx1ZXNbYXRJbmRleF0gPSBuZXh0VmFsdWU7XG4gICAgcmV0dXJuIG5leHRWYWx1ZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuXG5leHBvcnQgY29uc3QgUEFHRV9LRVlTID0gWydQYWdlVXAnLCAnUGFnZURvd24nXTtcbmV4cG9ydCBjb25zdCBBUlJPV19LRVlTID0gWydBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCddO1xuXG50eXBlIFNsaWRlRGlyZWN0aW9uID0gJ2Zyb20tbGVmdCcgfCAnZnJvbS1yaWdodCcgfCAnZnJvbS1ib3R0b20nIHwgJ2Zyb20tdG9wJztcbmV4cG9ydCBjb25zdCBCQUNLX0tFWVM6IFJlY29yZDxTbGlkZURpcmVjdGlvbiwgc3RyaW5nW10+ID0ge1xuICAgICdmcm9tLWxlZnQnOiBbJ0hvbWUnLCAnUGFnZURvd24nLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCddLFxuICAgICdmcm9tLXJpZ2h0JzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd1JpZ2h0J10sXG4gICAgJ2Zyb20tYm90dG9tJzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnXSxcbiAgICAnZnJvbS10b3AnOiBbJ0hvbWUnLCAnUGFnZVVwJywgJ0Fycm93VXAnLCAnQXJyb3dMZWZ0J11cbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JpZW50YXRpb25Db250ZXh0IHtcbiAgICBkaXJlY3Rpb246IG51bWJlcjtcbiAgICBzaXplOiAnd2lkdGgnIHwgJ2hlaWdodCc7XG4gICAgc3RhcnRFZGdlOiAnbGVmdCcgfCAndG9wJztcbiAgICBlbmRFZGdlOiAncmlnaHQnIHwgJ2JvdHRvbSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGFtcChcbiAgICB2YWx1ZTogbnVtYmVyLFxuICAgIG1pbjogbnVtYmVyID0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLFxuICAgIG1heDogbnVtYmVyID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZXG4pOiBudW1iZXIge1xuICAgIHJldHVybiBNYXRoLm1pbihNYXRoLm1heCh2YWx1ZSwgbWluKSwgbWF4KTtcbn1cbiJdfQ==","import { Directive, inject, output } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { ARROW_KEYS, PAGE_KEYS } from './utils';\nimport * as i0 from \"@angular/core\";\nexport class RdxSliderImplDirective {\n constructor() {\n this.rootContext = inject(RdxSliderRootComponent);\n this.slideStart = output();\n this.slideMove = output();\n this.slideEnd = output();\n this.homeKeyDown = output();\n this.endKeyDown = output();\n this.stepKeyDown = output();\n }\n onKeyDown(event) {\n if (event.key === 'Home') {\n this.homeKeyDown.emit(event);\n // Prevent scrolling to page start\n event.preventDefault();\n }\n else if (event.key === 'End') {\n this.endKeyDown.emit(event);\n // Prevent scrolling to page end\n event.preventDefault();\n }\n else if (PAGE_KEYS.concat(ARROW_KEYS).includes(event.key)) {\n this.stepKeyDown.emit(event);\n // Prevent scrolling for directional key presses\n event.preventDefault();\n }\n }\n onPointerDown(event) {\n const target = event.target;\n target.setPointerCapture(event.pointerId);\n // Prevent browser focus behaviour because we focus a thumb manually when values change.\n event.preventDefault();\n // Touch devices have a delay before focusing so won't focus if touch immediately moves\n // away from target (sliding). We want thumb to focus regardless.\n if (this.rootContext.thumbElements.includes(target)) {\n target.focus();\n }\n else {\n this.slideStart.emit(event);\n }\n }\n onPointerMove(event) {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n this.slideMove.emit(event);\n }\n }\n onPointerUp(event) {\n const target = event.target;\n if (target.hasPointerCapture(event.pointerId)) {\n target.releasePointerCapture(event.pointerId);\n this.slideEnd.emit(event);\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderImplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxSliderImplDirective, isStandalone: true, selector: \"[rdxSliderImpl]\", outputs: { slideStart: \"slideStart\", slideMove: \"slideMove\", slideEnd: \"slideEnd\", homeKeyDown: \"homeKeyDown\", endKeyDown: \"endKeyDown\", stepKeyDown: \"stepKeyDown\" }, host: { attributes: { \"role\": \"slider\", \"tabindex\": \"0\" }, listeners: { \"keydown\": \"onKeyDown($event)\", \"pointerdown\": \"onPointerDown($event)\", \"pointermove\": \"onPointerMove($event)\", \"pointerup\": \"onPointerUp($event)\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderImplDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxSliderImpl]',\n host: {\n role: 'slider',\n tabindex: '0',\n '(keydown)': 'onKeyDown($event)',\n '(pointerdown)': 'onPointerDown($event)',\n '(pointermove)': 'onPointerMove($event)',\n '(pointerup)': 'onPointerUp($event)'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWltcGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zbGlkZXIvc3JjL3NsaWRlci1pbXBsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBYWhELE1BQU0sT0FBTyxzQkFBc0I7SUFYbkM7UUFZdUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV2RCxlQUFVLEdBQUcsTUFBTSxFQUFnQixDQUFDO1FBQ3BDLGNBQVMsR0FBRyxNQUFNLEVBQWdCLENBQUM7UUFDbkMsYUFBUSxHQUFHLE1BQU0sRUFBZ0IsQ0FBQztRQUNsQyxnQkFBVyxHQUFHLE1BQU0sRUFBaUIsQ0FBQztRQUN0QyxlQUFVLEdBQUcsTUFBTSxFQUFpQixDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsTUFBTSxFQUFpQixDQUFDO0tBZ0RsRDtJQTlDRyxTQUFTLENBQUMsS0FBb0I7UUFDMUIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLGtDQUFrQztZQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM1QixnQ0FBZ0M7WUFDaEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzNCLENBQUM7YUFBTSxJQUFJLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzFELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdCLGdEQUFnRDtZQUNoRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0IsQ0FBQztJQUNMLENBQUM7SUFFRCxhQUFhLENBQUMsS0FBbUI7UUFDN0IsTUFBTSxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQXFCLENBQUM7UUFDM0MsTUFBTSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUxQyx3RkFBd0Y7UUFDeEYsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBRXZCLHVGQUF1RjtRQUN2RixpRUFBaUU7UUFDakUsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUNsRCxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFtQjtRQUM3QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUMzQyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFtQjtRQUMzQixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUMzQyxJQUFJLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUM1QyxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7SUFDTCxDQUFDOzhHQXZEUSxzQkFBc0I7a0dBQXRCLHNCQUFzQjs7MkZBQXRCLHNCQUFzQjtrQkFYbEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsUUFBUSxFQUFFLEdBQUc7d0JBQ2IsV0FBVyxFQUFFLG1CQUFtQjt3QkFDaEMsZUFBZSxFQUFFLHVCQUF1Qjt3QkFDeEMsZUFBZSxFQUFFLHVCQUF1Qjt3QkFDeEMsYUFBYSxFQUFFLHFCQUFxQjtxQkFDdkM7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGluamVjdCwgb3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhTbGlkZXJSb290Q29tcG9uZW50IH0gZnJvbSAnLi9zbGlkZXItcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQVJST1dfS0VZUywgUEFHRV9LRVlTIH0gZnJvbSAnLi91dGlscyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFNsaWRlckltcGxdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdzbGlkZXInLFxuICAgICAgICB0YWJpbmRleDogJzAnLFxuICAgICAgICAnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhwb2ludGVyZG93biknOiAnb25Qb2ludGVyRG93bigkZXZlbnQpJyxcbiAgICAgICAgJyhwb2ludGVybW92ZSknOiAnb25Qb2ludGVyTW92ZSgkZXZlbnQpJyxcbiAgICAgICAgJyhwb2ludGVydXApJzogJ29uUG9pbnRlclVwKCRldmVudCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhTbGlkZXJJbXBsRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyUm9vdENvbXBvbmVudCk7XG5cbiAgICByZWFkb25seSBzbGlkZVN0YXJ0ID0gb3V0cHV0PFBvaW50ZXJFdmVudD4oKTtcbiAgICByZWFkb25seSBzbGlkZU1vdmUgPSBvdXRwdXQ8UG9pbnRlckV2ZW50PigpO1xuICAgIHJlYWRvbmx5IHNsaWRlRW5kID0gb3V0cHV0PFBvaW50ZXJFdmVudD4oKTtcbiAgICByZWFkb25seSBob21lS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuICAgIHJlYWRvbmx5IGVuZEtleURvd24gPSBvdXRwdXQ8S2V5Ym9hcmRFdmVudD4oKTtcbiAgICByZWFkb25seSBzdGVwS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuXG4gICAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykge1xuICAgICAgICAgICAgdGhpcy5ob21lS2V5RG93bi5lbWl0KGV2ZW50KTtcbiAgICAgICAgICAgIC8vIFByZXZlbnQgc2Nyb2xsaW5nIHRvIHBhZ2Ugc3RhcnRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgICAgICAgdGhpcy5lbmRLZXlEb3duLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgLy8gUHJldmVudCBzY3JvbGxpbmcgdG8gcGFnZSBlbmRcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0gZWxzZSBpZiAoUEFHRV9LRVlTLmNvbmNhdChBUlJPV19LRVlTKS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICAgICAgICB0aGlzLnN0ZXBLZXlEb3duLmVtaXQoZXZlbnQpO1xuICAgICAgICAgICAgLy8gUHJldmVudCBzY3JvbGxpbmcgZm9yIGRpcmVjdGlvbmFsIGtleSBwcmVzc2VzXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Qb2ludGVyRG93bihldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgdGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XG5cbiAgICAgICAgLy8gUHJldmVudCBicm93c2VyIGZvY3VzIGJlaGF2aW91ciBiZWNhdXNlIHdlIGZvY3VzIGEgdGh1bWIgbWFudWFsbHkgd2hlbiB2YWx1ZXMgY2hhbmdlLlxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgIC8vIFRvdWNoIGRldmljZXMgaGF2ZSBhIGRlbGF5IGJlZm9yZSBmb2N1c2luZyBzbyB3b24ndCBmb2N1cyBpZiB0b3VjaCBpbW1lZGlhdGVseSBtb3Zlc1xuICAgICAgICAvLyBhd2F5IGZyb20gdGFyZ2V0IChzbGlkaW5nKS4gV2Ugd2FudCB0aHVtYiB0byBmb2N1cyByZWdhcmRsZXNzLlxuICAgICAgICBpZiAodGhpcy5yb290Q29udGV4dC50aHVtYkVsZW1lbnRzLmluY2x1ZGVzKHRhcmdldCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5zbGlkZVN0YXJ0LmVtaXQoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25Qb2ludGVyTW92ZShldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKHRhcmdldC5oYXNQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpKSB7XG4gICAgICAgICAgICB0aGlzLnNsaWRlTW92ZS5lbWl0KGV2ZW50KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uUG9pbnRlclVwKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAodGFyZ2V0Lmhhc1BvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCkpIHtcbiAgICAgICAgICAgIHRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcbiAgICAgICAgICAgIHRoaXMuc2xpZGVFbmQuZW1pdChldmVudCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { booleanAttribute, Component, inject, input, Input, output, signal, viewChild } from '@angular/core';\nimport { RdxSliderImplDirective } from './slider-impl.directive';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { BACK_KEYS, linearScale } from './utils';\nimport * as i0 from \"@angular/core\";\nexport class RdxSliderHorizontalComponent {\n constructor() {\n this.rootContext = inject(RdxSliderRootComponent);\n this.dir = 'ltr';\n this.inverted = input(false, ...(ngDevMode ? [{ debugName: \"inverted\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.min = 0;\n this.max = 100;\n this.className = '';\n this.slideStart = output();\n this.slideMove = output();\n this.slideEnd = output();\n this.stepKeyDown = output();\n this.endKeyDown = output();\n this.homeKeyDown = output();\n this.sliderElement = viewChild('sliderElement', ...(ngDevMode ? [{ debugName: \"sliderElement\" }] : []));\n this.rect = signal(undefined, ...(ngDevMode ? [{ debugName: \"rect\" }] : []));\n }\n onSlideStart(event) {\n const value = this.getValueFromPointer(event.clientX);\n this.slideStart.emit(value);\n }\n onSlideMove(event) {\n const value = this.getValueFromPointer(event.clientX);\n this.slideMove.emit(value);\n }\n onSlideEnd() {\n this.rect.set(undefined);\n this.slideEnd.emit();\n }\n onStepKeyDown(event) {\n const slideDirection = this.rootContext.isSlidingFromLeft() ? 'from-left' : 'from-right';\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });\n }\n getValueFromPointer(pointerPosition) {\n this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());\n const rect = this.rect();\n if (!rect)\n return 0;\n const input = [0, rect.width];\n const output = this.rootContext.isSlidingFromLeft()\n ? [this.min, this.max]\n : [this.max, this.min];\n const value = linearScale(input, output);\n this.rect.set(rect);\n return value(pointerPosition - rect.left);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderHorizontalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.3\", type: RdxSliderHorizontalComponent, isStandalone: true, selector: \"rdx-slider-horizontal\", inputs: { dir: { classPropertyName: \"dir\", publicName: \"dir\", isSignal: false, isRequired: false, transformFunction: null }, inverted: { classPropertyName: \"inverted\", publicName: \"inverted\", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: \"min\", publicName: \"min\", isSignal: false, isRequired: false, transformFunction: null }, max: { classPropertyName: \"max\", publicName: \"max\", isSignal: false, isRequired: false, transformFunction: null }, className: { classPropertyName: \"className\", publicName: \"className\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { slideStart: \"slideStart\", slideMove: \"slideMove\", slideEnd: \"slideEnd\", stepKeyDown: \"stepKeyDown\", endKeyDown: \"endKeyDown\", homeKeyDown: \"homeKeyDown\" }, viewQueries: [{ propertyName: \"sliderElement\", first: true, predicate: [\"sliderElement\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'horizontal'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateX(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `, isInline: true, dependencies: [{ kind: \"directive\", type: RdxSliderImplDirective, selector: \"[rdxSliderImpl]\", outputs: [\"slideStart\", \"slideMove\", \"slideEnd\", \"homeKeyDown\", \"endKeyDown\", \"stepKeyDown\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderHorizontalComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'rdx-slider-horizontal',\n imports: [RdxSliderImplDirective],\n template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'horizontal'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateX(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `\n }]\n }], propDecorators: { dir: [{\n type: Input\n }], min: [{\n type: Input\n }], max: [{\n type: Input\n }], className: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWhvcml6b250YWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zbGlkZXIvc3JjL3NsaWRlci1ob3Jpem9udGFsLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUF1QmpELE1BQU0sT0FBTyw0QkFBNEI7SUFyQnpDO1FBc0JxQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRXJELFFBQUcsR0FBa0IsS0FBSyxDQUFDO1FBRTNCLGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssNENBQUksU0FBUyxFQUFFLGdCQUFnQixPQUE3QixFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxHQUFDLENBQUM7UUFFaEYsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFFVixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWYsZUFBVSxHQUFHLE1BQU0sRUFBVSxDQUFDO1FBQzlCLGNBQVMsR0FBRyxNQUFNLEVBQVUsQ0FBQztRQUM3QixhQUFRLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFDMUIsZ0JBQVcsR0FBRyxNQUFNLEVBQStDLENBQUM7UUFDcEUsZUFBVSxHQUFHLE1BQU0sRUFBaUIsQ0FBQztRQUNyQyxnQkFBVyxHQUFHLE1BQU0sRUFBaUIs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ZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBJbnB1dCxcbiAgICBvdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIHZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFNsaWRlckltcGxEaXJlY3RpdmUgfSBmcm9tICcuL3NsaWRlci1pbXBsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhTbGlkZXJSb290Q29tcG9uZW50IH0gZnJvbSAnLi9zbGlkZXItcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQkFDS19LRVlTLCBsaW5lYXJTY2FsZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JkeC1zbGlkZXItaG9yaXpvbnRhbCcsXG4gICAgaW1wb3J0czogW1JkeFNsaWRlckltcGxEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAjc2xpZGVyRWxlbWVudFxuICAgICAgICAgICAgW2NsYXNzXT1cImNsYXNzTmFtZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIidob3Jpem9udGFsJ1wiXG4gICAgICAgICAgICBbc3R5bGVdPVwieyAnLS1yZHgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybSc6ICd0cmFuc2xhdGVYKC01MCUpJyB9XCJcbiAgICAgICAgICAgIChzbGlkZVN0YXJ0KT1cIm9uU2xpZGVTdGFydCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChzbGlkZU1vdmUpPVwib25TbGlkZU1vdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2xpZGVFbmQpPVwib25TbGlkZUVuZCgpXCJcbiAgICAgICAgICAgIChzdGVwS2V5RG93bik9XCJvblN0ZXBLZXlEb3duKCRldmVudClcIlxuICAgICAgICAgICAgKGVuZEtleURvd24pPVwiZW5kS2V5RG93bi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgKGhvbWVLZXlEb3duKT1cImhvbWVLZXlEb3duLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICByZHhTbGlkZXJJbXBsXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgICAgIDwvc3Bhbj5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFJkeFNsaWRlckhvcml6b250YWxDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyUm9vdENvbXBvbmVudCk7XG5cbiAgICBASW5wdXQoKSBkaXI6ICdsdHInIHwgJ3J0bCcgPSAnbHRyJztcblxuICAgIHJlYWRvbmx5IGludmVydGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICBASW5wdXQoKSBtaW4gPSAwO1xuICAgIEBJbnB1dCgpIG1heCA9IDEwMDtcblxuICAgIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICcnO1xuXG4gICAgcmVhZG9ubHkgc2xpZGVTdGFydCA9IG91dHB1dDxudW1iZXI+KCk7XG4gICAgcmVhZG9ubHkgc2xpZGVNb3ZlID0gb3V0cHV0PG51bWJlcj4oKTtcbiAgICByZWFkb25seSBzbGlkZUVuZCA9IG91dHB1dDx2b2lkPigpO1xuICAgIHJlYWRvbmx5IHN0ZXBLZXlEb3duID0gb3V0cHV0PHsgZXZlbnQ6IEtleWJvYXJkRXZlbnQ7IGRpcmVjdGlvbjogbnVtYmVyIH0+KCk7XG4gICAgcmVhZG9ubHkgZW5kS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuICAgIHJlYWRvbmx5IGhvbWVLZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlckVsZW1lbnQgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZj4oJ3NsaWRlckVsZW1lbnQnKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVjdCA9IHNpZ25hbDxET01SZWN0IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgb25TbGlkZVN0YXJ0KGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WCk7XG4gICAgICAgIHRoaXMuc2xpZGVTdGFydC5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBvblNsaWRlTW92ZShldmVudDogUG9pbnRlckV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRWYWx1ZUZyb21Qb2ludGVyKGV2ZW50LmNsaWVudFgpO1xuICAgICAgICB0aGlzLnNsaWRlTW92ZS5lbWl0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBvblNsaWRlRW5kKCkge1xuICAgICAgICB0aGlzLnJlY3Quc2V0KHVuZGVmaW5lZCk7XG4gICAgICAgIHRoaXMuc2xpZGVFbmQuZW1pdCgpO1xuICAgIH1cblxuICAgIG9uU3RlcEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3Qgc2xpZGVEaXJlY3Rpb24gPSB0aGlzLnJvb3RDb250ZXh0LmlzU2xpZGluZ0Zyb21MZWZ0KCkgPyAnZnJvbS1sZWZ0JyA6ICdmcm9tLXJpZ2h0JztcbiAgICAgICAgY29uc3QgaXNCYWNrS2V5ID0gQkFDS19LRVlTW3NsaWRlRGlyZWN0aW9uXS5pbmNsdWRlcyhldmVudC5rZXkpO1xuXG4gICAgICAgIHRoaXMuc3RlcEtleURvd24uZW1pdCh7IGV2ZW50LCBkaXJlY3Rpb246IGlzQmFja0tleSA/IC0xIDogMSB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFZhbHVlRnJvbVBvaW50ZXIocG9pbnRlclBvc2l0aW9uOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICB0aGlzLnJlY3Quc2V0KHRoaXMuc2xpZGVyRWxlbWVudCgpPy5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpKTtcbiAgICAgICAgY29uc3QgcmVjdCA9IHRoaXMucmVjdCgpO1xuICAgICAgICBpZiAoIXJlY3QpIHJldHVybiAwO1xuXG4gICAgICAgIGNvbnN0IGlucHV0OiBbbnVtYmVyLCBudW1iZXJdID0gWzAsIHJlY3Qud2lkdGhdO1xuICAgICAgICBjb25zdCBvdXRwdXQ6IFtudW1iZXIsIG51bWJlcl0gPSB0aGlzLnJvb3RDb250ZXh0LmlzU2xpZGluZ0Zyb21MZWZ0KClcbiAgICAgICAgICAgID8gW3RoaXMubWluLCB0aGlzLm1heF1cbiAgICAgICAgICAgIDogW3RoaXMubWF4LCB0aGlzLm1pbl07XG5cbiAgICAgICAgY29uc3QgdmFsdWUgPSBsaW5lYXJTY2FsZShpbnB1dCwgb3V0cHV0KTtcbiAgICAgICAgdGhpcy5yZWN0LnNldChyZWN0KTtcblxuICAgICAgICByZXR1cm4gdmFsdWUocG9pbnRlclBvc2l0aW9uIC0gcmVjdC5sZWZ0KTtcbiAgICB9XG59XG4iXX0=","import { Injectable, signal } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class RdxSliderOrientationContextService {\n constructor() {\n this.contextSignal = signal({\n startEdge: 'left',\n endEdge: 'right',\n direction: 1,\n size: 'width'\n }, ...(ngDevMode ? [{ debugName: \"contextSignal\" }] : []));\n }\n get context() {\n return this.contextSignal();\n }\n updateContext(context) {\n this.contextSignal.update((current) => ({\n ...current,\n ...context\n }));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderOrientationContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }\n static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderOrientationContextService }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderOrientationContextService, decorators: [{\n type: Injectable\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLW9yaWVudGF0aW9uLWNvbnRleHQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItb3JpZW50YXRpb24tY29udGV4dC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVuRCxNQUFNLE9BQU8sa0NBQWtDO0lBRC9DO1FBRVksa0JBQWEsR0FBRyxNQUFNLENBQXFCO1lBQy9DLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLE9BQU8sRUFBRSxPQUFPO1lBQ2hCLFNBQVMsRUFBRSxDQUFDO1lBQ1osSUFBSSxFQUFFLE9BQU87U0FDaEIseURBQUMsQ0FBQztLQVlOO0lBVkcsSUFBSSxPQUFPO1FBQ1AsT0FBTyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFvQztRQUM5QyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQztZQUNwQyxHQUFHLE9BQU87WUFDVixHQUFHLE9BQU87U0FDYixDQUFDLENBQUMsQ0FBQztJQUNSLENBQUM7OEdBakJRLGtDQUFrQztrSEFBbEMsa0NBQWtDOzsyRkFBbEMsa0NBQWtDO2tCQUQ5QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3JpZW50YXRpb25Db250ZXh0IHtcbiAgICBzdGFydEVkZ2U6IHN0cmluZztcbiAgICBlbmRFZGdlOiBzdHJpbmc7XG4gICAgZGlyZWN0aW9uOiBudW1iZXI7XG4gICAgc2l6ZTogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUmR4U2xpZGVyT3JpZW50YXRpb25Db250ZXh0U2VydmljZSB7XG4gICAgcHJpdmF0ZSBjb250ZXh0U2lnbmFsID0gc2lnbmFsPE9yaWVudGF0aW9uQ29udGV4dD4oe1xuICAgICAgICBzdGFydEVkZ2U6ICdsZWZ0JyxcbiAgICAgICAgZW5kRWRnZTogJ3JpZ2h0JyxcbiAgICAgICAgZGlyZWN0aW9uOiAxLFxuICAgICAgICBzaXplOiAnd2lkdGgnXG4gICAgfSk7XG5cbiAgICBnZXQgY29udGV4dCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGV4dFNpZ25hbCgpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNvbnRleHQoY29udGV4dDogUGFydGlhbDxPcmllbnRhdGlvbkNvbnRleHQ+KSB7XG4gICAgICAgIHRoaXMuY29udGV4dFNpZ25hbC51cGRhdGUoKGN1cnJlbnQpID0+ICh7XG4gICAgICAgICAgICAuLi5jdXJyZW50LFxuICAgICAgICAgICAgLi4uY29udGV4dFxuICAgICAgICB9KSk7XG4gICAgfVxufVxuIl19","import { booleanAttribute, Component, inject, input, Input, output, signal, viewChild } from '@angular/core';\nimport { RdxSliderImplDirective } from './slider-impl.directive';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { BACK_KEYS, linearScale } from './utils';\nimport * as i0 from \"@angular/core\";\nexport class RdxSliderVerticalComponent {\n constructor() {\n this.rootContext = inject(RdxSliderRootComponent);\n this.dir = 'ltr';\n this.inverted = input(false, ...(ngDevMode ? [{ debugName: \"inverted\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n this.min = 0;\n this.max = 100;\n this.className = '';\n this.slideStart = output();\n this.slideMove = output();\n this.slideEnd = output();\n this.stepKeyDown = output();\n this.endKeyDown = output();\n this.homeKeyDown = output();\n this.sliderElement = viewChild('sliderElement', ...(ngDevMode ? [{ debugName: \"sliderElement\" }] : []));\n this.rect = signal(undefined, ...(ngDevMode ? [{ debugName: \"rect\" }] : []));\n }\n onSlideStart(event) {\n const value = this.getValueFromPointer(event.clientY);\n this.slideStart.emit(value);\n }\n onSlideMove(event) {\n const value = this.getValueFromPointer(event.clientY);\n this.slideMove.emit(value);\n }\n onSlideEnd() {\n this.rect.set(undefined);\n this.slideEnd.emit();\n }\n onStepKeyDown(event) {\n const slideDirection = this.rootContext.isSlidingFromBottom() ? 'from-bottom' : 'from-top';\n const isBackKey = BACK_KEYS[slideDirection].includes(event.key);\n this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });\n }\n getValueFromPointer(pointerPosition) {\n this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());\n const rect = this.rect();\n if (!rect)\n return 0;\n const input = [0, rect.height];\n const output = this.rootContext.isSlidingFromBottom()\n ? [this.max, this.min]\n : [this.min, this.max];\n const value = linearScale(input, output);\n this.rect.set(rect);\n return value(pointerPosition - rect.top);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderVerticalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.2.0\", version: \"20.3.3\", type: RdxSliderVerticalComponent, isStandalone: true, selector: \"rdx-slider-vertical\", inputs: { dir: { classPropertyName: \"dir\", publicName: \"dir\", isSignal: false, isRequired: false, transformFunction: null }, inverted: { classPropertyName: \"inverted\", publicName: \"inverted\", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: \"min\", publicName: \"min\", isSignal: false, isRequired: false, transformFunction: null }, max: { classPropertyName: \"max\", publicName: \"max\", isSignal: false, isRequired: false, transformFunction: null }, className: { classPropertyName: \"className\", publicName: \"className\", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { slideStart: \"slideStart\", slideMove: \"slideMove\", slideEnd: \"slideEnd\", stepKeyDown: \"stepKeyDown\", endKeyDown: \"endKeyDown\", homeKeyDown: \"homeKeyDown\" }, viewQueries: [{ propertyName: \"sliderElement\", first: true, predicate: [\"sliderElement\"], descendants: true, isSignal: true }], ngImport: i0, template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'vertical'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateY(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `, isInline: true, dependencies: [{ kind: \"directive\", type: RdxSliderImplDirective, selector: \"[rdxSliderImpl]\", outputs: [\"slideStart\", \"slideMove\", \"slideEnd\", \"homeKeyDown\", \"endKeyDown\", \"stepKeyDown\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderVerticalComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'rdx-slider-vertical',\n imports: [RdxSliderImplDirective],\n template: `\n <span\n #sliderElement\n [class]=\"className\"\n [attr.data-orientation]=\"'vertical'\"\n [style]=\"{ '--rdx-slider-thumb-transform': 'translateY(-50%)' }\"\n (slideStart)=\"onSlideStart($event)\"\n (slideMove)=\"onSlideMove($event)\"\n (slideEnd)=\"onSlideEnd()\"\n (stepKeyDown)=\"onStepKeyDown($event)\"\n (endKeyDown)=\"endKeyDown.emit($event)\"\n (homeKeyDown)=\"homeKeyDown.emit($event)\"\n rdxSliderImpl\n >\n <ng-content />\n </span>\n `\n }]\n }], propDecorators: { dir: [{\n type: Input\n }], min: [{\n type: Input\n }], max: [{\n type: Input\n }], className: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXZlcnRpY2FsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItdmVydGljYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUVULE1BQU0sRUFDTixLQUFLLEVBQ0wsS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLE1BQU0sU0FBUyxDQUFDOztBQXVCakQsTUFBTSxPQUFPLDBCQUEwQjtJQXJCdkM7UUFzQnFCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFFckQsUUFBRyxHQUFrQixLQUFLLENBQUM7UUFFM0IsYUFBUSxHQUFHLEtBQUssQ0FBd0IsS0FBSyw0Q0FBSSxTQUFTLEVBQUUsZ0JBQWdCLE9BQTdCLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLEdBQUMsQ0FBQztRQUVoRixRQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ1IsUUFBRyxHQUFHLEdBQUcsQ0FBQztRQUVWLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixlQUFVLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFDOUIsY0FBUyxHQUFHLE1BQU0sRUFBVSxDQUFDO1FBQzdCLGFBQVEsR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUMxQixnQkFBVyxHQUFHLE1BQU0sRUFBK0MsQ0FBQztRQUNwRSxlQUFVLEdBQUcsTUFBTSxFQUFpQixDQUFDO1FBQ3JDLGdCQUFXLEdBQUcsTUFBTSxFQUFpQixDQUFD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bnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIElucHV0LFxuICAgIG91dHB1dCxcbiAgICBzaWduYWwsXG4gICAgdmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVySW1wbERpcmVjdGl2ZSB9IGZyb20gJy4vc2xpZGVyLWltcGwuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFNsaWRlclJvb3RDb21wb25lbnQgfSBmcm9tICcuL3NsaWRlci1yb290LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCQUNLX0tFWVMsIGxpbmVhclNjYWxlIH0gZnJvbSAnLi91dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncmR4LXNsaWRlci12ZXJ0aWNhbCcsXG4gICAgaW1wb3J0czogW1JkeFNsaWRlckltcGxEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAjc2xpZGVyRWxlbWVudFxuICAgICAgICAgICAgW2NsYXNzXT1cImNsYXNzTmFtZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICAgICAgW3N0eWxlXT1cInsgJy0tcmR4LXNsaWRlci10aHVtYi10cmFuc2Zvcm0nOiAndHJhbnNsYXRlWSgtNTAlKScgfVwiXG4gICAgICAgICAgICAoc2xpZGVTdGFydCk9XCJvblNsaWRlU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2xpZGVNb3ZlKT1cIm9uU2xpZGVNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgKHNsaWRlRW5kKT1cIm9uU2xpZGVFbmQoKVwiXG4gICAgICAgICAgICAoc3RlcEtleURvd24pPVwib25TdGVwS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgIChlbmRLZXlEb3duKT1cImVuZEtleURvd24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChob21lS2V5RG93bik9XCJob21lS2V5RG93bi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgcmR4U2xpZGVySW1wbFxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBSZHhTbGlkZXJWZXJ0aWNhbENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb290Q29udGV4dCA9IGluamVjdChSZHhTbGlkZXJSb290Q29tcG9uZW50KTtcblxuICAgIEBJbnB1dCgpIGRpcjogJ2x0cicgfCAncnRsJyA9ICdsdHInO1xuXG4gICAgcmVhZG9ubHkgaW52ZXJ0ZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIEBJbnB1dCgpIG1pbiA9IDA7XG4gICAgQElucHV0KCkgbWF4ID0gMTAwO1xuXG4gICAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgICByZWFkb25seSBzbGlkZVN0YXJ0ID0gb3V0cHV0PG51bWJlcj4oKTtcbiAgICByZWFkb25seSBzbGlkZU1vdmUgPSBvdXRwdXQ8bnVtYmVyPigpO1xuICAgIHJlYWRvbmx5IHNsaWRlRW5kID0gb3V0cHV0PHZvaWQ+KCk7XG4gICAgcmVhZG9ubHkgc3RlcEtleURvd24gPSBvdXRwdXQ8eyBldmVudDogS2V5Ym9hcmRFdmVudDsgZGlyZWN0aW9uOiBudW1iZXIgfT4oKTtcbiAgICByZWFkb25seSBlbmRLZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG4gICAgcmVhZG9ubHkgaG9tZUtleURvd24gPSBvdXRwdXQ8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVyRWxlbWVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignc2xpZGVyRWxlbWVudCcpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWN0ID0gc2lnbmFsPERPTVJlY3QgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICBvblNsaWRlU3RhcnQoZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tUG9pbnRlcihldmVudC5jbGllbnRZKTtcbiAgICAgICAgdGhpcy5zbGlkZVN0YXJ0LmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIG9uU2xpZGVNb3ZlKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WSk7XG4gICAgICAgIHRoaXMuc2xpZGVNb3ZlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIG9uU2xpZGVFbmQoKSB7XG4gICAgICAgIHRoaXMucmVjdC5zZXQodW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5zbGlkZUVuZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25TdGVwS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBzbGlkZURpcmVjdGlvbiA9IHRoaXMucm9vdENvbnRleHQuaXNTbGlkaW5nRnJvbUJvdHRvbSgpID8gJ2Zyb20tYm90dG9tJyA6ICdmcm9tLXRvcCc7XG4gICAgICAgIGNvbnN0IGlzQmFja0tleSA9IEJBQ0tfS0VZU1tzbGlkZURpcmVjdGlvbl0uaW5jbHVkZXMoZXZlbnQua2V5KTtcblxuICAgICAgICB0aGlzLnN0ZXBLZXlEb3duLmVtaXQoeyBldmVudCwgZGlyZWN0aW9uOiBpc0JhY2tLZXkgPyAtMSA6IDEgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZUZyb21Qb2ludGVyKHBvaW50ZXJQb3NpdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdGhpcy5yZWN0LnNldCh0aGlzLnNsaWRlckVsZW1lbnQoKT8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLnJlY3QoKTtcbiAgICAgICAgaWYgKCFyZWN0KSByZXR1cm4gMDtcblxuICAgICAgICBjb25zdCBpbnB1dDogW251bWJlciwgbnVtYmVyXSA9IFswLCByZWN0LmhlaWdodF07XG4gICAgICAgIGNvbnN0IG91dHB1dDogW251bWJlciwgbnVtYmVyXSA9IHRoaXMucm9vdENvbnRleHQuaXNTbGlkaW5nRnJvbUJvdHRvbSgpXG4gICAgICAgICAgICA/IFt0aGlzLm1heCwgdGhpcy5taW5dXG4gICAgICAgICAgICA6IFt0aGlzLm1pbiwgdGhpcy5tYXhdO1xuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gbGluZWFyU2NhbGUoaW5wdXQsIG91dHB1dCk7XG4gICAgICAgIHRoaXMucmVjdC5zZXQocmVjdCk7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlKHBvaW50ZXJQb3NpdGlvbiAtIHJlY3QudG9wKTtcbiAgICB9XG59XG4iXX0=","import { NgTemplateOutlet } from '@angular/common';\nimport { booleanAttribute, Component, computed, inject, input, Input, model, numberAttribute, output } from '@angular/core';\nimport { RdxSliderHorizontalComponent } from './slider-horizontal.component';\nimport { RdxSliderOrientationContextService } from './slider-orientation-context.service';\nimport { RdxSliderVerticalComponent } from './slider-vertical.component';\nimport { clamp, getClosestValueIndex, getDecimalCount, getNextSortedValues, hasMinStepsBetweenValues, roundValue } from './utils';\nimport * as i0 from \"@angular/core\";\n/**\n * @group Components\n */\nexport class RdxSliderRootComponent {\n constructor() {\n /** @ignore */\n this.orientationContext = inject(RdxSliderOrientationContextService);\n /**\n * The minimum value for the range.\n *\n * @group Props\n * @defaultValue 0\n */\n this.min = input(0, ...(ngDevMode ? [{ debugName: \"min\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * The maximum value for the range.\n *\n * @group Props\n * @defaultValue 100\n */\n this.max = input(100, ...(ngDevMode ? [{ debugName: \"max\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * The stepping interval.\n *\n * @group Props\n * @defaultValue 1\n */\n this.step = input(1, ...(ngDevMode ? [{ debugName: \"step\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * The minimum permitted steps between multiple thumbs.\n *\n * @group Props\n * @defaultValue 0\n */\n this.minStepsBetweenThumbs = input(0, ...(ngDevMode ? [{ debugName: \"minStepsBetweenThumbs\", transform: numberAttribute }] : [{ transform: numberAttribute }]));\n /**\n * The orientation of the slider.\n *\n * @group Props\n * @defaultValue 'horizontal'\n */\n this.orientation = input('horizontal', ...(ngDevMode ? [{ debugName: \"orientation\" }] : []));\n /**\n * When true, prevents the user from interacting with the slider.\n *\n * @group Props\n * @defaultValue false\n */\n this.disabled = input(false, ...(ngDevMode ? [{ debugName: \"disabled\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * Whether the slider is visually inverted.\n *\n * @group Props\n * @defaultValue false\n */\n this.inverted = input(false, ...(ngDevMode ? [{ debugName: \"inverted\", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));\n /**\n * The reading direction of the combobox when applicable.\n *\n * @group Props\n * @defaultValue 'ltr'\n */\n this.dir = input('ltr', ...(ngDevMode ? [{ debugName: \"dir\" }] : []));\n this.className = '';\n /**\n * Style class of the component.\n *\n * @group Props\n */\n this.styleClass = input(...(ngDevMode ? [undefined, { debugName: \"styleClass\" }] : []));\n /**\n * The controlled value of the slider.\n *\n * @group Props\n */\n this.modelValue = model([0], ...(ngDevMode ? [{ debugName: \"modelValue\" }] : []));\n /**\n * Event handler called when the slider value changes.\n *\n * @group Emits\n */\n this.valueChange = output();\n /**\n * Event handler called when the value changes at the end of an interaction.\n *\n * Useful when you only need to capture a final value e.g. to update a backend service.\n *\n * @group Emits\n */\n this.valueCommit = output();\n /** @ignore */\n this.valueIndexToChange = model(0, ...(ngDevMode ? [{ debugName: \"valueIndexToChange\" }] : []));\n /** @ignore */\n this.valuesBeforeSlideStart = model([], ...(ngDevMode ? [{ debugName: \"valuesBeforeSlideStart\" }] : []));\n /** @ignore */\n this.isSlidingFromLeft = computed(() => (this.dir() === 'ltr' && !this.inverted()) || (this.dir() !== 'ltr' && this.inverted()), ...(ngDevMode ? [{ debugName: \"isSlidingFromLeft\" }] : []));\n /** @ignore */\n this.isSlidingFromBottom = computed(() => !this.inverted(), ...(ngDevMode ? [{ debugName: \"isSlidingFromBottom\" }] : []));\n /** @ignore */\n this.thumbElements = [];\n }\n /** @ignore */\n ngOnInit() {\n const isHorizontal = this.orientation() === 'horizontal';\n if (isHorizontal) {\n this.orientationContext.updateContext({\n direction: this.isSlidingFromLeft() ? 1 : -1,\n size: 'width',\n startEdge: this.isSlidingFromLeft() ? 'left' : 'right',\n endEdge: this.isSlidingFromLeft() ? 'right' : 'left'\n });\n }\n else {\n this.orientationContext.updateContext({\n direction: this.isSlidingFromBottom() ? -1 : 1,\n size: 'height',\n startEdge: this.isSlidingFromBottom() ? 'bottom' : 'top',\n endEdge: this.isSlidingFromBottom() ? 'top' : 'bottom'\n });\n }\n }\n /** @ignore */\n onPointerDown() {\n this.valuesBeforeSlideStart.set([...this.modelValue()]);\n }\n /** @ignore */\n handleSlideStart(value) {\n const closestIndex = getClosestValueIndex(this.modelValue(), value);\n this.updateValues(value, closestIndex);\n }\n /** @ignore */\n handleSlideMove(value) {\n this.updateValues(value, this.valueIndexToChange());\n }\n /** @ignore */\n handleSlideEnd() {\n const prevValue = this.valuesBeforeSlideStart()[this.valueIndexToChange()];\n const nextValue = this.modelValue()[this.valueIndexToChange()];\n const hasChanged = nextValue !== prevValue;\n if (hasChanged) {\n this.valueCommit.emit([...this.modelValue()]);\n }\n }\n /** @ignore */\n handleStepKeyDown(event) {\n const stepInDirection = this.step() * event.direction;\n const atIndex = this.valueIndexToChange();\n const currentValue = this.modelValue()[atIndex];\n this.updateValues(currentValue + stepInDirection, atIndex, true);\n }\n /** @ignore */\n updateValues(value, atIndex, commit = false) {\n const decimalCount = getDecimalCount(this.step());\n const snapToStep = roundValue(Math.round((value - this.min()) / this.step()) * this.step() + this.min(), decimalCount);\n const nextValue = clamp(snapToStep, this.min(), this.max());\n const nextValues = getNextSortedValues(this.modelValue(), nextValue, atIndex);\n if (hasMinStepsBetweenValues(nextValues, this.minStepsBetweenThumbs() * this.step())) {\n this.valueIndexToChange.set(nextValues.indexOf(nextValue));\n const hasChanged = String(nextValues) !== String(this.modelValue());\n if (hasChanged) {\n this.modelValue.set(nextValues);\n this.valueChange.emit([...this.modelValue()]);\n this.thumbElements[this.valueIndexToChange()]?.focus();\n if (commit) {\n this.valueCommit.emit([...this.modelValue()]);\n }\n }\n }\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderRootComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.3.3\", type: RdxSliderRootComponent, isStandalone: true, selector: \"rdx-slider\", inputs: { 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 }, minStepsBetweenThumbs: { classPropertyName: \"minStepsBetweenThumbs\", publicName: \"minStepsBetweenThumbs\", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, inverted: { classPropertyName: \"inverted\", publicName: \"inverted\", isSignal: true, isRequired: false, transformFunction: null }, dir: { classPropertyName: \"dir\", publicName: \"dir\", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: \"className\", publicName: \"className\", isSignal: false, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: \"styleClass\", publicName: \"styleClass\", isSignal: true, isRequired: false, transformFunction: null }, modelValue: { classPropertyName: \"modelValue\", publicName: \"modelValue\", isSignal: true, isRequired: false, transformFunction: null }, valueIndexToChange: { classPropertyName: \"valueIndexToChange\", publicName: \"valueIndexToChange\", isSignal: true, isRequired: false, transformFunction: null }, valuesBeforeSlideStart: { classPropertyName: \"valuesBeforeSlideStart\", publicName: \"valuesBeforeSlideStart\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { modelValue: \"modelValueChange\", valueChange: \"valueChange\", valueCommit: \"valueCommit\", valueIndexToChange: \"valueIndexToChangeChange\", valuesBeforeSlideStart: \"valuesBeforeSlideStartChange\" }, providers: [RdxSliderOrientationContextService], ngImport: i0, template: `\n <ng-template #transclude><ng-content /></ng-template>\n\n @if (orientation() === 'horizontal') {\n <rdx-slider-horizontal\n [className]=\"styleClass() || className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-horizontal>\n }\n\n @if (orientation() === 'vertical') {\n <rdx-slider-vertical\n [className]=\"styleClass() || className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-vertical>\n }\n `, isInline: true, dependencies: [{ kind: \"component\", type: RdxSliderHorizontalComponent, selector: \"rdx-slider-horizontal\", inputs: [\"dir\", \"inverted\", \"min\", \"max\", \"className\"], outputs: [\"slideStart\", \"slideMove\", \"slideEnd\", \"stepKeyDown\", \"endKeyDown\", \"homeKeyDown\"] }, { kind: \"component\", type: RdxSliderVerticalComponent, selector: \"rdx-slider-vertical\", inputs: [\"dir\", \"inverted\", \"min\", \"max\", \"className\"], outputs: [\"slideStart\", \"slideMove\", \"slideEnd\", \"stepKeyDown\", \"endKeyDown\", \"homeKeyDown\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderRootComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'rdx-slider',\n imports: [RdxSliderHorizontalComponent, RdxSliderVerticalComponent, NgTemplateOutlet],\n providers: [RdxSliderOrientationContextService],\n template: `\n <ng-template #transclude><ng-content /></ng-template>\n\n @if (orientation() === 'horizontal') {\n <rdx-slider-horizontal\n [className]=\"styleClass() || className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-horizontal>\n }\n\n @if (orientation() === 'vertical') {\n <rdx-slider-vertical\n [className]=\"styleClass() || className\"\n [min]=\"min()\"\n [max]=\"max()\"\n [dir]=\"dir()\"\n [inverted]=\"inverted()\"\n [attr.aria-disabled]=\"disabled()\"\n [attr.data-disabled]=\"disabled() ? '' : undefined\"\n (pointerdown)=\"onPointerDown()\"\n (slideStart)=\"handleSlideStart($event)\"\n (slideMove)=\"handleSlideMove($event)\"\n (slideEnd)=\"handleSlideEnd()\"\n (homeKeyDown)=\"updateValues(min(), 0, true)\"\n (endKeyDown)=\"updateValues(max(), modelValue().length - 1, true)\"\n (stepKeyDown)=\"handleStepKeyDown($event)\"\n >\n <ng-container *ngTemplateOutlet=\"transclude\" />\n </rdx-slider-vertical>\n }\n `\n }]\n }], propDecorators: { className: [{\n type: Input\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXJvb3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zbGlkZXIvc3JjL3NsaWRlci1yb290LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLEtBQUssRUFDTCxLQUFLLEVBQ0wsS0FBSyxFQUNMLGVBQWUsRUFFZixNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDMUYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekUsT0FBTyxFQUNILEtBQUssRUFDTCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLG1CQUFtQixFQUNuQix3QkFBd0IsRUFDeEIsVUFBVSxFQUNiLE1BQU0sU0FBUyxDQUFDOztBQUVqQjs7R0FFRztBQW1ESCxNQUFNLE9BQU8sc0JBQXNCO0lBbERuQztRQW1ESSxjQUFjO1FBQ0wsdUJBQWtCLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFekU7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQUcsS0FBSyxDQUFzQixDQUFDLHVDQUFJLFNBQVMsRUFBRSxlQUFlLE9BQTVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxHQUFDLENBQUM7UUFFN0U7Ozs7O1dBS0c7UUFDTSxRQUFHLEdBQUcsS0FBSyxDQUFzQixHQUFHLHVDQUFJLFNBQVMsRUFBRSxlQUFlLE9BQTVCLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxHQUFDLENBQUM7UUFFL0U7Ozs7O1dB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Ozs7Ozs7Ozs7O0tBNENUO2lCQUNKOzhCQXFFWSxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQm9vbGVhbklucHV0LCBOdW1iZXJJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIElucHV0LFxuICAgIG1vZGVsLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkluaXQsXG4gICAgb3V0cHV0XG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVySG9yaXpvbnRhbENvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLWhvcml6b250YWwuY29tcG9uZW50JztcbmltcG9ydCB7IFJkeFNsaWRlck9yaWVudGF0aW9uQ29udGV4dFNlcnZpY2UgfSBmcm9tICcuL3NsaWRlci1vcmllbnRhdGlvbi1jb250ZXh0LnNlcnZpY2UnO1xuaW1wb3J0IHsgUmR4U2xpZGVyVmVydGljYWxDb21wb25lbnQgfSBmcm9tICcuL3NsaWRlci12ZXJ0aWNhbC5jb21wb25lbnQnO1xuaW1wb3J0IHtcbiAgICBjbGFtcCxcbiAgICBnZXRDbG9zZXN0VmFsdWVJbmRleCxcbiAgICBnZXREZWNpbWFsQ291bnQsXG4gICAgZ2V0TmV4dFNvcnRlZFZhbHVlcyxcbiAgICBoYXNNaW5TdGVwc0JldHdlZW5WYWx1ZXMsXG4gICAgcm91bmRWYWx1ZVxufSBmcm9tICcuL3V0aWxzJztcblxuLyoqXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JkeC1zbGlkZXInLFxuICAgIGltcG9ydHM6IFtSZHhTbGlkZXJIb3Jpem9udGFsQ29tcG9uZW50LCBSZHhTbGlkZXJWZXJ0aWNhbENvbXBvbmVudCwgTmdUZW1wbGF0ZU91dGxldF0sXG4gICAgcHJvdmlkZXJzOiBbUmR4U2xpZGVyT3JpZW50YXRpb25Db250ZXh0U2VydmljZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLXRlbXBsYXRlICN0cmFuc2NsdWRlPjxuZy1jb250ZW50IC8+PC9uZy10ZW1wbGF0ZT5cblxuICAgICAgICBAaWYgKG9yaWVudGF0aW9uKCkgPT09ICdob3Jpem9udGFsJykge1xuICAgICAgICAgICAgPHJkeC1zbGlkZXItaG9yaXpvbnRhbFxuICAgICAgICAgICAgICAgIFtjbGFzc05hbWVdPVwic3R5bGVDbGFzcygpIHx8IGNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW21pbl09XCJtaW4oKVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJtYXgoKVwiXG4gICAgICAgICAgICAgICAgW2Rpcl09XCJkaXIoKVwiXG4gICAgICAgICAgICAgICAgW2ludmVydGVkXT1cImludmVydGVkKClcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJkaXNhYmxlZCgpID8gJycgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKClcIlxuICAgICAgICAgICAgICAgIChzbGlkZVN0YXJ0KT1cImhhbmRsZVNsaWRlU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHNsaWRlTW92ZSk9XCJoYW5kbGVTbGlkZU1vdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHNsaWRlRW5kKT1cImhhbmRsZVNsaWRlRW5kKClcIlxuICAgICAgICAgICAgICAgIChob21lS2V5RG93bik9XCJ1cGRhdGVWYWx1ZXMobWluKCksIDAsIHRydWUpXCJcbiAgICAgICAgICAgICAgICAoZW5kS2V5RG93bik9XCJ1cGRhdGVWYWx1ZXMobWF4KCksIG1vZGVsVmFsdWUoKS5sZW5ndGggLSAxLCB0cnVlKVwiXG4gICAgICAgICAgICAgICAgKHN0ZXBLZXlEb3duKT1cImhhbmRsZVN0ZXBLZXlEb3duKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc2NsdWRlXCIgLz5cbiAgICAgICAgICAgIDwvcmR4LXNsaWRlci1ob3Jpem9udGFsPlxuICAgICAgICB9XG5cbiAgICAgICAgQGlmIChvcmllbnRhdGlvbigpID09PSAndmVydGljYWwnKSB7XG4gICAgICAgICAgICA8cmR4LXNsaWRlci12ZXJ0aWNhbFxuICAgICAgICAgICAgICAgIFtjbGFzc05hbWVdPVwic3R5bGVDbGFzcygpIHx8IGNsYXNzTmFtZVwiXG4gICAgICAgICAgICAgICAgW21pbl09XCJtaW4oKVwiXG4gICAgICAgICAgICAgICAgW21heF09XCJtYXgoKVwiXG4gICAgICAgICAgICAgICAgW2Rpcl09XCJkaXIoKVwiXG4gICAgICAgICAgICAgICAgW2ludmVydGVkXT1cImludmVydGVkKClcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJkaXNhYmxlZCgpID8gJycgOiB1bmRlZmluZWRcIlxuICAgICAgICAgICAgICAgIChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKClcIlxuICAgICAgICAgICAgICAgIChzbGlkZVN0YXJ0KT1cImhhbmRsZVNsaWRlU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHNsaWRlTW92ZSk9XCJoYW5kbGVTbGlkZU1vdmUoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgKHNsaWRlRW5kKT1cImhhbmRsZVNsaWRlRW5kKClcIlxuICAgICAgICAgICAgICAgIChob21lS2V5RG93bik9XCJ1cGRhdGVWYWx1ZXMobWluKCksIDAsIHRydWUpXCJcbiAgICAgICAgICAgICAgICAoZW5kS2V5RG93bik9XCJ1cGRhdGVWYWx1ZXMobWF4KCksIG1vZGVsVmFsdWUoKS5sZW5ndGggLSAxLCB0cnVlKVwiXG4gICAgICAgICAgICAgICAgKHN0ZXBLZXlEb3duKT1cImhhbmRsZVN0ZXBLZXlEb3duKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0cmFuc2NsdWRlXCIgLz5cbiAgICAgICAgICAgIDwvcmR4LXNsaWRlci12ZXJ0aWNhbD5cbiAgICAgICAgfVxuICAgIGBcbn0pXG5leHBvcnQgY2xhc3MgUmR4U2xpZGVyUm9vdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBvcmllbnRhdGlvbkNvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyT3JpZW50YXRpb25Db250ZXh0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbWluaW11bSB2YWx1ZSBmb3IgdGhlIHJhbmdlLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlZmF1bHRWYWx1ZSAwXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWluID0gaW5wdXQ8bnVtYmVyLCBOdW1iZXJJbnB1dD4oMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBtYXhpbXVtIHZhbHVlIGZvciB0aGUgcmFuZ2UuXG4gICAgICpcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAZGVmYXVsdFZhbHVlIDEwMFxuICAgICAqL1xuICAgIHJlYWRvbmx5IG1heCA9IGlucHV0PG51bWJlciwgTnVtYmVySW5wdXQ+KDEwMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzdGVwcGluZyBpbnRlcnZhbC5cbiAgICAgKlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZWZhdWx0VmFsdWUgMVxuICAgICAqL1xuICAgIHJlYWRvbmx5IHN0ZXAgPSBpbnB1dDxudW1iZXIsIE51bWJlcklucHV0PigxLCB7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1pbmltdW0gcGVybWl0dGVkIHN0ZXBzIGJldHdlZW4gbXVsdGlwbGUgdGh1bWJzLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlZmF1bHRWYWx1ZSAwXG4gICAgICovXG4gICAgcmVhZG9ubHkgbWluU3RlcHNCZXR3ZWVuVGh1bWJzID0gaW5wdXQ8bnVtYmVyLCBOdW1iZXJJbnB1dD4oMCwgeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBvcmllbnRhdGlvbiBvZiB0aGUgc2xpZGVyLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlZmF1bHRWYWx1ZSAnaG9yaXpvbnRhbCdcbiAgICAgKi9cbiAgICByZWFkb25seSBvcmllbnRhdGlvbiA9IGlucHV0PCdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCc+KCdob3Jpem9udGFsJyk7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHRydWUsIHByZXZlbnRzIHRoZSB1c2VyIGZyb20gaW50ZXJhY3Rpbmcgd2l0aCB0aGUgc2xpZGVyLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSBzbGlkZXIgaXMgdmlzdWFsbHkgaW52ZXJ0ZWQuXG4gICAgICpcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICovXG4gICAgcmVhZG9ubHkgaW52ZXJ0ZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIC8qKlxuICAgICAqIFRoZSByZWFkaW5nIGRpcmVjdGlvbiBvZiB0aGUgY29tYm9ib3ggd2hlbiBhcHBsaWNhYmxlLlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICogQGRlZmF1bHRWYWx1ZSAnbHRyJ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGRpciA9IGlucHV0PCdsdHInIHwgJ3J0bCc+KCdsdHInKTtcblxuICAgIEBJbnB1dCgpIGNsYXNzTmFtZTogc3RyaW5nID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50LlxuICAgICAqXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgcmVhZG9ubHkgc3R5bGVDbGFzcyA9IGlucHV0PHN0cmluZz4oKTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sbGVkIHZhbHVlIG9mIHRoZSBzbGlkZXIuXG4gICAgICpcbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICByZWFkb25seSBtb2RlbFZhbHVlID0gbW9kZWw8bnVtYmVyW10+KFswXSk7XG5cbiAgICAvKipcbiAgICAgKiBFdmVudCBoYW5kbGVyIGNhbGxlZCB3aGVuIHRoZSBzbGlkZXIgdmFsdWUgY2hhbmdlcy5cbiAgICAgKlxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PG51bWJlcltdPigpO1xuXG4gICAgLyoqXG4gICAgICogRXZlbnQgaGFuZGxlciBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcyBhdCB0aGUgZW5kIG9mIGFuIGludGVyYWN0aW9uLlxuICAgICAqXG4gICAgICogVXNlZnVsIHdoZW4geW91IG9ubHkgbmVlZCB0byBjYXB0dXJlIGEgZmluYWwgdmFsdWUgZS5nLiB0byB1cGRhdGUgYSBiYWNrZW5kIHNlcnZpY2UuXG4gICAgICpcbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICByZWFkb25seSB2YWx1ZUNvbW1pdCA9IG91dHB1dDxudW1iZXJbXT4oKTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgcmVhZG9ubHkgdmFsdWVJbmRleFRvQ2hhbmdlID0gbW9kZWwoMCk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHJlYWRvbmx5IHZhbHVlc0JlZm9yZVNsaWRlU3RhcnQgPSBtb2RlbDxudW1iZXJbXT4oW10pO1xuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBpc1NsaWRpbmdGcm9tTGVmdCA9IGNvbXB1dGVkKFxuICAgICAgICAoKSA9PiAodGhpcy5kaXIoKSA9PT0gJ2x0cicgJiYgIXRoaXMuaW52ZXJ0ZWQoKSkgfHwgKHRoaXMuZGlyKCkgIT09ICdsdHInICYmIHRoaXMuaW52ZXJ0ZWQoKSlcbiAgICApO1xuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICByZWFkb25seSBpc1NsaWRpbmdGcm9tQm90dG9tID0gY29tcHV0ZWQoKCkgPT4gIXRoaXMuaW52ZXJ0ZWQoKSk7XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIHRodW1iRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IGlzSG9yaXpvbnRhbCA9IHRoaXMub3JpZW50YXRpb24oKSA9PT0gJ2hvcml6b250YWwnO1xuXG4gICAgICAgIGlmIChpc0hvcml6b250YWwpIHtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb25Db250ZXh0LnVwZGF0ZUNvbnRleHQoe1xuICAgICAgICAgICAgICAgIGRpcmVjdGlvbjogdGhpcy5pc1NsaWRpbmdGcm9tTGVmdCgpID8gMSA6IC0xLFxuICAgICAgICAgICAgICAgIHNpemU6ICd3aWR0aCcsXG4gICAgICAgICAgICAgICAgc3RhcnRFZGdlOiB0aGlzLmlzU2xpZGluZ0Zyb21MZWZ0KCkgPyAnbGVmdCcgOiAncmlnaHQnLFxuICAgICAgICAgICAgICAgIGVuZEVkZ2U6IHRoaXMuaXNTbGlkaW5nRnJvbUxlZnQoKSA/ICdyaWdodCcgOiAnbGVmdCdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5vcmllbnRhdGlvbkNvbnRleHQudXBkYXRlQ29udGV4dCh7XG4gICAgICAgICAgICAgICAgZGlyZWN0aW9uOiB0aGlzLmlzU2xpZGluZ0Zyb21Cb3R0b20oKSA/IC0xIDogMSxcbiAgICAgICAgICAgICAgICBzaXplOiAnaGVpZ2h0JyxcbiAgICAgICAgICAgICAgICBzdGFydEVkZ2U6IHRoaXMuaXNTbGlkaW5nRnJvbUJvdHRvbSgpID8gJ2JvdHRvbScgOiAndG9wJyxcbiAgICAgICAgICAgICAgICBlbmRFZGdlOiB0aGlzLmlzU2xpZGluZ0Zyb21Cb3R0b20oKSA/ICd0b3AnIDogJ2JvdHRvbSdcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICBvblBvaW50ZXJEb3duKCkge1xuICAgICAgICB0aGlzLnZhbHVlc0JlZm9yZVNsaWRlU3RhcnQuc2V0KFsuLi50aGlzLm1vZGVsVmFsdWUoKV0pO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgaGFuZGxlU2xpZGVTdGFydCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNsb3Nlc3RJbmRleCA9IGdldENsb3Nlc3RWYWx1ZUluZGV4KHRoaXMubW9kZWxWYWx1ZSgpLCB2YWx1ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVzKHZhbHVlLCBjbG9zZXN0SW5kZXgpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgaGFuZGxlU2xpZGVNb3ZlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZXModmFsdWUsIHRoaXMudmFsdWVJbmRleFRvQ2hhbmdlKCkpO1xuICAgIH1cblxuICAgIC8qKiBAaWdub3JlICovXG4gICAgaGFuZGxlU2xpZGVFbmQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXZWYWx1ZSA9IHRoaXMudmFsdWVzQmVmb3JlU2xpZGVTdGFydCgpW3RoaXMudmFsdWVJbmRleFRvQ2hhbmdlKCldO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0aGlzLm1vZGVsVmFsdWUoKVt0aGlzLnZhbHVlSW5kZXhUb0NoYW5nZSgpXTtcbiAgICAgICAgY29uc3QgaGFzQ2hhbmdlZCA9IG5leHRWYWx1ZSAhPT0gcHJldlZhbHVlO1xuXG4gICAgICAgIGlmIChoYXNDaGFuZ2VkKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlQ29tbWl0LmVtaXQoWy4uLnRoaXMubW9kZWxWYWx1ZSgpXSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGlnbm9yZSAqL1xuICAgIGhhbmRsZVN0ZXBLZXlEb3duKGV2ZW50OiB7IGV2ZW50OiBLZXlib2FyZEV2ZW50OyBkaXJlY3Rpb246IG51bWJlciB9KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHN0ZXBJbkRpcmVjdGlvbiA9IHRoaXMuc3RlcCgpICogZXZlbnQuZGlyZWN0aW9uO1xuICAgICAgICBjb25zdCBhdEluZGV4ID0gdGhpcy52YWx1ZUluZGV4VG9DaGFuZ2UoKTtcbiAgICAgICAgY29uc3QgY3VycmVudFZhbHVlID0gdGhpcy5tb2RlbFZhbHVlKClbYXRJbmRleF07XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWVzKGN1cnJlbnRWYWx1ZSArIHN0ZXBJbkRpcmVjdGlvbiwgYXRJbmRleCwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgLyoqIEBpZ25vcmUgKi9cbiAgICB1cGRhdGVWYWx1ZXModmFsdWU6IG51bWJlciwgYXRJbmRleDogbnVtYmVyLCBjb21taXQgPSBmYWxzZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBkZWNpbWFsQ291bnQgPSBnZXREZWNpbWFsQ291bnQodGhpcy5zdGVwKCkpO1xuICAgICAgICBjb25zdCBzbmFwVG9TdGVwID0gcm91bmRWYWx1ZShcbiAgICAgICAgICAgIE1hdGgucm91bmQoKHZhbHVlIC0gdGhpcy5taW4oKSkgLyB0aGlzLnN0ZXAoKSkgKiB0aGlzLnN0ZXAoKSArIHRoaXMubWluKCksXG4gICAgICAgICAgICBkZWNpbWFsQ291bnRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gY2xhbXAoc25hcFRvU3RlcCwgdGhpcy5taW4oKSwgdGhpcy5tYXgoKSk7XG5cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlcyA9IGdldE5leHRTb3J0ZWRWYWx1ZXModGhpcy5tb2RlbFZhbHVlKCksIG5leHRWYWx1ZSwgYXRJbmRleCk7XG5cbiAgICAgICAgaWYgKGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyhuZXh0VmFsdWVzLCB0aGlzLm1pblN0ZXBzQmV0d2VlblRodW1icygpICogdGhpcy5zdGVwKCkpKSB7XG4gICAgICAgICAgICB0aGlzLnZhbHVlSW5kZXhUb0NoYW5nZS5zZXQobmV4dFZhbHVlcy5pbmRleE9mKG5leHRWYWx1ZSkpO1xuICAgICAgICAgICAgY29uc3QgaGFzQ2hhbmdlZCA9IFN0cmluZyhuZXh0VmFsdWVzKSAhPT0gU3RyaW5nKHRoaXMubW9kZWxWYWx1ZSgpKTtcblxuICAgICAgICAgICAgaWYgKGhhc0NoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1vZGVsVmFsdWUuc2V0KG5leHRWYWx1ZXMpO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChbLi4udGhpcy5tb2RlbFZhbHVlKCldKTtcbiAgICAgICAgICAgICAgICB0aGlzLnRodW1iRWxlbWVudHNbdGhpcy52YWx1ZUluZGV4VG9DaGFuZ2UoKV0/LmZvY3VzKCk7XG5cbiAgICAgICAgICAgICAgICBpZiAoY29tbWl0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDb21taXQuZW1pdChbLi4udGhpcy5tb2RlbFZhbHVlKCldKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=","import { Component, computed, inject } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { convertValueToPercentage } from './utils';\nimport * as i0 from \"@angular/core\";\nexport class RdxSliderRangeComponent {\n constructor() {\n this.rootContext = inject(RdxSliderRootComponent);\n this.percentages = computed(() => this.rootContext\n .modelValue()\n ?.map((value) => convertValueToPercentage(value, this.rootContext.min(), this.rootContext.max())), ...(ngDevMode ? [{ debugName: \"percentages\" }] : []));\n this.offsetStart = computed(() => (this.rootContext.modelValue().length > 1 ? Math.min(...this.percentages()) : 0), ...(ngDevMode ? [{ debugName: \"offsetStart\" }] : []));\n this.offsetEnd = computed(() => 100 - Math.max(...this.percentages()), ...(ngDevMode ? [{ debugName: \"offsetEnd\" }] : []));\n this.rangeStyles = computed(() => {\n const context = this.rootContext.orientationContext.context;\n return {\n [context.startEdge]: `${this.offsetStart()}%`,\n [context.endEdge]: `${this.offsetEnd()}%`\n };\n }, ...(ngDevMode ? [{ debugName: \"rangeStyles\" }] : []));\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxSliderRangeComponent, isStandalone: true, selector: \"rdx-slider-range\", host: { properties: { \"attr.data-disabled\": \"rootContext.disabled() ? \\\"\\\" : undefined\", \"attr.data-orientation\": \"rootContext.orientation()\", \"style\": \"rangeStyles()\" } }, ngImport: i0, template: `\n <ng-content />\n `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderRangeComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'rdx-slider-range',\n host: {\n '[attr.data-disabled]': 'rootContext.disabled() ? \"\" : undefined',\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[style]': 'rangeStyles()'\n },\n template: `\n <ng-content />\n `\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXJhbmdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItcmFuZ2UuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxTQUFTLENBQUM7O0FBYW5ELE1BQU0sT0FBTyx1QkFBdUI7SUFYcEM7UUFZdUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUVoRSxnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDeEIsSUFBSSxDQUFDLFdBQVc7YUFDWCxVQUFVLEVBQUU7WUFDYixFQUFFLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsd0JBQXdCLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLHVEQUN4RyxDQUFDO1FBRUYsZ0JBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLHVEQUFDLENBQUM7UUFDakgsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLEVBQUcsQ0FBQyxxREFBQyxDQUFDO1FBRW5FLGdCQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN4QixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUU1RCxPQUFPO2dCQUNILENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHO2dCQUM3QyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUUsR0FBRzthQUM1QyxDQUFDO1FBQ04sQ0FBQyx1REFBQyxDQUFDO0tBQ047OEdBcEJZLHVCQUF1QjtrR0FBdkIsdUJBQXVCLHlQQUp0Qjs7S0FFVDs7MkZBRVEsdUJBQXVCO2tCQVhuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLElBQUksRUFBRTt3QkFDRixzQkFBc0IsRUFBRSx5Q0FBeUM7d0JBQ2pFLHlCQUF5QixFQUFFLDJCQUEyQjt3QkFDdEQsU0FBUyxFQUFFLGVBQWU7cUJBQzdCO29CQUNELFFBQVEsRUFBRTs7S0FFVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgY29tcHV0ZWQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbnZlcnRWYWx1ZVRvUGVyY2VudGFnZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JkeC1zbGlkZXItcmFuZ2UnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3Jvb3RDb250ZXh0LmRpc2FibGVkKCkgPyBcIlwiIDogdW5kZWZpbmVkJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ3Jvb3RDb250ZXh0Lm9yaWVudGF0aW9uKCknLFxuICAgICAgICAnW3N0eWxlXSc6ICdyYW5nZVN0eWxlcygpJ1xuICAgIH0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFJkeFNsaWRlclJhbmdlQ29tcG9uZW50IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyUm9vdENvbXBvbmVudCk7XG5cbiAgICBwZXJjZW50YWdlcyA9IGNvbXB1dGVkKCgpID0+XG4gICAgICAgIHRoaXMucm9vdENvbnRleHRcbiAgICAgICAgICAgIC5tb2RlbFZhbHVlKClcbiAgICAgICAgICAgID8ubWFwKCh2YWx1ZSkgPT4gY29udmVydFZhbHVlVG9QZXJjZW50YWdlKHZhbHVlLCB0aGlzLnJvb3RDb250ZXh0Lm1pbigpLCB0aGlzLnJvb3RDb250ZXh0Lm1heCgpKSlcbiAgICApO1xuXG4gICAgb2Zmc2V0U3RhcnQgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5yb290Q29udGV4dC5tb2RlbFZhbHVlKCkhLmxlbmd0aCA+IDEgPyBNYXRoLm1pbiguLi50aGlzLnBlcmNlbnRhZ2VzKCkhKSA6IDApKTtcbiAgICBvZmZzZXRFbmQgPSBjb21wdXRlZCgoKSA9PiAxMDAgLSBNYXRoLm1heCguLi50aGlzLnBlcmNlbnRhZ2VzKCkhKSk7XG5cbiAgICByYW5nZVN0eWxlcyA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMucm9vdENvbnRleHQub3JpZW50YXRpb25Db250ZXh0LmNvbnRleHQ7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIFtjb250ZXh0LnN0YXJ0RWRnZV06IGAke3RoaXMub2Zmc2V0U3RhcnQoKX0lYCxcbiAgICAgICAgICAgIFtjb250ZXh0LmVuZEVkZ2VdOiBgJHt0aGlzLm9mZnNldEVuZCgpfSVgXG4gICAgICAgIH07XG4gICAgfSk7XG59XG4iXX0=","import { isPlatformBrowser } from '@angular/common';\nimport { computed, Directive, ElementRef, inject, PLATFORM_ID, signal } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport { convertValueToPercentage, getThumbInBoundsOffset } from './utils';\nimport * as i0 from \"@angular/core\";\nexport class RdxSliderThumbImplDirective {\n constructor() {\n this.rootContext = inject(RdxSliderRootComponent);\n this.elementRef = inject(ElementRef);\n this.platformId = inject(PLATFORM_ID);\n this.isMounted = signal(false, ...(ngDevMode ? [{ debugName: \"isMounted\" }] : []));\n this.thumbIndex = computed(() => {\n const thumbElement = this.elementRef.nativeElement;\n const index = this.rootContext.thumbElements.indexOf(thumbElement);\n return index >= 0 ? index : null;\n }, ...(ngDevMode ? [{ debugName: \"thumbIndex\" }] : []));\n this.value = computed(() => {\n const index = this.thumbIndex();\n if (index === null)\n return undefined;\n return this.rootContext.modelValue()?.[index];\n }, ...(ngDevMode ? [{ debugName: \"value\" }] : []));\n this.percent = computed(() => {\n const val = this.value();\n if (val === undefined)\n return 0;\n return convertValueToPercentage(val, this.rootContext.min(), this.rootContext.max());\n }, ...(ngDevMode ? [{ debugName: \"percent\" }] : []));\n this.transform = computed(() => {\n const percent = this.percent();\n const offset = this.thumbInBoundsOffset();\n return `calc(${percent}% + ${offset}px)`;\n }, ...(ngDevMode ? [{ debugName: \"transform\" }] : []));\n this.orientationSize = signal(0, ...(ngDevMode ? [{ debugName: \"orientationSize\" }] : []));\n this.thumbInBoundsOffset = computed(() => {\n const context = this.rootContext.orientationContext.context;\n const size = this.orientationSize();\n const percent = this.percent();\n const direction = context.direction;\n return size ? getThumbInBoundsOffset(size, percent, direction) : 0;\n }, ...(ngDevMode ? [{ debugName: \"thumbInBoundsOffset\" }] : []));\n this.combinedStyles = computed(() => {\n const context = this.rootContext.orientationContext.context;\n const startEdge = context.startEdge;\n const percent = this.percent();\n const offset = this.thumbInBoundsOffset();\n return {\n position: 'absolute',\n transform: 'var(--rdx-slider-thumb-transform)',\n display: (this.isMounted() && this.value()) === false ? 'none' : undefined,\n [startEdge]: `calc(${percent}% + ${offset}px)`\n };\n }, ...(ngDevMode ? [{ debugName: \"combinedStyles\" }] : []));\n }\n onFocus() {\n if (this.thumbIndex() !== null) {\n this.rootContext.valueIndexToChange.set(this.thumbIndex());\n }\n }\n ngOnInit() {\n if (isPlatformBrowser(this.platformId)) {\n const thumbElement = this.elementRef.nativeElement;\n this.rootContext.thumbElements.push(thumbElement);\n this.resizeObserver = new ResizeObserver(() => {\n const rect = thumbElement.getBoundingClientRect();\n const context = this.rootContext.orientationContext.context;\n const size = context.size === 'width' ? rect.width : rect.height;\n this.orientationSize.set(size);\n });\n this.resizeObserver.observe(thumbElement);\n this.isMounted.set(true);\n }\n }\n ngOnDestroy() {\n const thumbElement = this.elementRef.nativeElement;\n const index = this.rootContext.thumbElements.indexOf(thumbElement);\n if (index >= 0)\n this.rootContext.thumbElements.splice(index, 1);\n if (this.resizeObserver) {\n this.resizeObserver.unobserve(thumbElement);\n }\n this.isMounted.set(false);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderThumbImplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }\n static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxSliderThumbImplDirective, isStandalone: true, selector: \"[rdxSliderThumbImpl]\", host: { attributes: { \"role\": \"slider\" }, listeners: { \"focus\": \"onFocus()\" }, properties: { \"tabindex\": \"rootContext.disabled() ? undefined : 0\", \"attr.aria-valuenow\": \"rootContext.modelValue()\", \"attr.aria-valuemin\": \"rootContext.min()\", \"attr.aria-valuemax\": \"rootContext.max()\", \"attr.aria-orientation\": \"rootContext.orientation()\", \"attr.data-orientation\": \"rootContext.orientation()\", \"attr.data-disabled\": \"rootContext.disabled() ? \\\"\\\" : undefined\", \"style\": \"combinedStyles()\" } }, ngImport: i0 }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderThumbImplDirective, decorators: [{\n type: Directive,\n args: [{\n selector: '[rdxSliderThumbImpl]',\n host: {\n role: 'slider',\n '[tabindex]': 'rootContext.disabled() ? undefined : 0',\n '[attr.aria-valuenow]': 'rootContext.modelValue()',\n '[attr.aria-valuemin]': 'rootContext.min()',\n '[attr.aria-valuemax]': 'rootContext.max()',\n '[attr.aria-orientation]': 'rootContext.orientation()',\n '[attr.data-orientation]': 'rootContext.orientation()',\n '[attr.data-disabled]': 'rootContext.disabled() ? \"\" : undefined',\n '[style]': 'combinedStyles()',\n '(focus)': 'onFocus()'\n }\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXRodW1iLWltcGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zbGlkZXIvc3JjL3NsaWRlci10aHVtYi1pbXBsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFxQjNFLE1BQU0sT0FBTywyQkFBMkI7SUFuQnhDO1FBb0J1QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBQy9DLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsZUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUdsRCxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUsscURBQUMsQ0FBQztRQUUxQixlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztZQUNuRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDbkUsT0FBTyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUNyQyxDQUFDLHNEQUFDLENBQUM7UUFFSCxVQUFLLEdBQUcsUUFBUSxDQUFD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R0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7OEdBN0ZRLDJCQUEyQjtrR0FBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQW5CdkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0YsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsWUFBWSxFQUFFLHdDQUF3Qzt3QkFFdEQsc0JBQXNCLEVBQUUsMEJBQTBCO3dCQUNsRCxzQkFBc0IsRUFBRSxtQkFBbUI7d0JBQzNDLHNCQUFzQixFQUFFLG1CQUFtQjt3QkFDM0MseUJBQXlCLEVBQUUsMkJBQTJCO3dCQUV0RCx5QkFBeUIsRUFBRSwyQkFBMkI7d0JBQ3RELHNCQUFzQixFQUFFLHlDQUF5Qzt3QkFFakUsU0FBUyxFQUFFLGtCQUFrQjt3QkFFN0IsU0FBUyxFQUFFLFdBQVc7cUJBQ3pCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgY29tcHV0ZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUExBVEZPUk1fSUQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbnZlcnRWYWx1ZVRvUGVyY2VudGFnZSwgZ2V0VGh1bWJJbkJvdW5kc09mZnNldCB9IGZyb20gJy4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhTbGlkZXJUaHVtYkltcGxdJyxcbiAgICBob3N0OiB7XG4gICAgICAgIHJvbGU6ICdzbGlkZXInLFxuICAgICAgICAnW3RhYmluZGV4XSc6ICdyb290Q29udGV4dC5kaXNhYmxlZCgpID8gdW5kZWZpbmVkIDogMCcsXG5cbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVub3ddJzogJ3Jvb3RDb250ZXh0Lm1vZGVsVmFsdWUoKScsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWluXSc6ICdyb290Q29udGV4dC5taW4oKScsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICdyb290Q29udGV4dC5tYXgoKScsXG4gICAgICAgICdbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSc6ICdyb290Q29udGV4dC5vcmllbnRhdGlvbigpJyxcblxuICAgICAgICAnW2F0dHIuZGF0YS1vcmllbnRhdGlvbl0nOiAncm9vdENvbnRleHQub3JpZW50YXRpb24oKScsXG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6ICdyb290Q29udGV4dC5kaXNhYmxlZCgpID8gXCJcIiA6IHVuZGVmaW5lZCcsXG5cbiAgICAgICAgJ1tzdHlsZV0nOiAnY29tYmluZWRTdHlsZXMoKScsXG5cbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygpJ1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgUmR4U2xpZGVyVGh1bWJJbXBsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByb3RlY3RlZCByZWFkb25seSByb290Q29udGV4dCA9IGluamVjdChSZHhTbGlkZXJSb290Q29tcG9uZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkID0gaW5qZWN0KFBMQVRGT1JNX0lEKTtcbiAgICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpc01vdW50ZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgdGh1bWJJbmRleCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgdGh1bWJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5yb290Q29udGV4dC50aHVtYkVsZW1lbnRzLmluZGV4T2YodGh1bWJFbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGluZGV4ID49IDAgPyBpbmRleCA6IG51bGw7XG4gICAgfSk7XG5cbiAgICB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRodW1iSW5kZXgoKTtcbiAgICAgICAgaWYgKGluZGV4ID09PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcy5yb290Q29udGV4dC5tb2RlbFZhbHVlKCk/LltpbmRleF07XG4gICAgfSk7XG5cbiAgICBwZXJjZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsLCB0aGlzLnJvb3RDb250ZXh0Lm1pbigpLCB0aGlzLnJvb3RDb250ZXh0Lm1heCgpKTtcbiAgICB9KTtcblxuICAgIHRyYW5zZm9ybSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IHRoaXMucGVyY2VudCgpO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnRodW1iSW5Cb3VuZHNPZmZzZXQoKTtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7cGVyY2VudH0lICsgJHtvZmZzZXR9cHgpYDtcbiAgICB9KTtcblxuICAgIG9yaWVudGF0aW9uU2l6ZSA9IHNpZ25hbCgwKTtcblxuICAgIHRodW1iSW5Cb3VuZHNPZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnJvb3RDb250ZXh0Lm9yaWVudGF0aW9uQ29udGV4dC5jb250ZXh0O1xuXG4gICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLm9yaWVudGF0aW9uU2l6ZSgpO1xuICAgICAgICBjb25zdCBwZXJjZW50ID0gdGhpcy5wZXJjZW50KCk7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGNvbnRleHQuZGlyZWN0aW9uO1xuXG4gICAgICAgIHJldHVybiBzaXplID8gZ2V0VGh1bWJJbkJvdW5kc09mZnNldChzaXplLCBwZXJjZW50LCBkaXJlY3Rpb24pIDogMDtcbiAgICB9KTtcblxuICAgIGNvbWJpbmVkU3R5bGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5yb290Q29udGV4dC5vcmllbnRhdGlvbkNvbnRleHQuY29udGV4dDtcblxuICAgICAgICBjb25zdCBzdGFydEVkZ2UgPSBjb250ZXh0LnN0YXJ0RWRnZTtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IHRoaXMucGVyY2VudCgpO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnRodW1iSW5Cb3VuZHNPZmZzZXQoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd2YXIoLS1yZHgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybSknLFxuICAgICAgICAgICAgZGlzcGxheTogKHRoaXMuaXNNb3VudGVkKCkgJiYgdGhpcy52YWx1ZSgpKSA9PT0gZmFsc2UgPyAnbm9uZScgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBbc3RhcnRFZGdlXTogYGNhbGMoJHtwZXJjZW50fSUgKyAke29mZnNldH1weClgXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvbkZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy50aHVtYkluZGV4KCkgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQudmFsdWVJbmRleFRvQ2hhbmdlLnNldCh0aGlzLnRodW1iSW5kZXgoKSEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBjb25zdCB0aHVtYkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQudGh1bWJFbGVtZW50cy5wdXNoKHRodW1iRWxlbWVudCk7XG5cbiAgICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlY3QgPSB0aHVtYkVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29udGV4dCA9IHRoaXMucm9vdENvbnRleHQub3JpZW50YXRpb25Db250ZXh0LmNvbnRleHQ7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IGNvbnRleHQuc2l6ZSA9PT0gJ3dpZHRoJyA/IHJlY3Qud2lkdGggOiByZWN0LmhlaWdodDtcbiAgICAgICAgICAgICAgICB0aGlzLm9yaWVudGF0aW9uU2l6ZS5zZXQoc2l6ZSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRodW1iRWxlbWVudCk7XG5cbiAgICAgICAgICAgIHRoaXMuaXNNb3VudGVkLnNldCh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBjb25zdCB0aHVtYkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnJvb3RDb250ZXh0LnRodW1iRWxlbWVudHMuaW5kZXhPZih0aHVtYkVsZW1lbnQpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkgdGhpcy5yb290Q29udGV4dC50aHVtYkVsZW1lbnRzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgaWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRodW1iRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzTW91bnRlZC5zZXQoZmFsc2UpO1xuICAgIH1cbn1cbiJdfQ==","import { Component } from '@angular/core';\nimport { RdxSliderThumbImplDirective } from './slider-thumb-impl.directive';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"./slider-thumb-impl.directive\";\nexport class RdxSliderThumbComponent {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderThumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxSliderThumbComponent, isStandalone: true, selector: \"rdx-slider-thumb\", hostDirectives: [{ directive: i1.RdxSliderThumbImplDirective }], ngImport: i0, template: `\n <ng-content />\n `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderThumbComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'rdx-slider-thumb',\n hostDirectives: [RdxSliderThumbImplDirective],\n template: `\n <ng-content />\n `\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXRodW1iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItdGh1bWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVM1RSxNQUFNLE9BQU8sdUJBQXVCOzhHQUF2Qix1QkFBdUI7a0dBQXZCLHVCQUF1Qiw2SUFKdEI7O0tBRVQ7OzJGQUVRLHVCQUF1QjtrQkFQbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixjQUFjLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQztvQkFDN0MsUUFBUSxFQUFFOztLQUVUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhTbGlkZXJUaHVtYkltcGxEaXJlY3RpdmUgfSBmcm9tICcuL3NsaWRlci10aHVtYi1pbXBsLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncmR4LXNsaWRlci10aHVtYicsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtSZHhTbGlkZXJUaHVtYkltcGxEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBSZHhTbGlkZXJUaHVtYkNvbXBvbmVudCB7fVxuIl19","import { Component, inject } from '@angular/core';\nimport { RdxSliderRootComponent } from './slider-root.component';\nimport * as i0 from \"@angular/core\";\nexport class RdxSliderTrackComponent {\n constructor() {\n this.rootContext = inject(RdxSliderRootComponent);\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderTrackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"14.0.0\", version: \"20.3.3\", type: RdxSliderTrackComponent, isStandalone: true, selector: \"rdx-slider-track\", host: { properties: { \"attr.data-disabled\": \"rootContext.disabled() ? '' : undefined\", \"attr.data-orientation\": \"rootContext.orientation()\" } }, ngImport: i0, template: `\n <ng-content />\n `, isInline: true }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderTrackComponent, decorators: [{\n type: Component,\n args: [{\n selector: 'rdx-slider-track',\n host: {\n '[attr.data-disabled]': \"rootContext.disabled() ? '' : undefined\",\n '[attr.data-orientation]': 'rootContext.orientation()'\n },\n template: `\n <ng-content />\n `\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXRyYWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItdHJhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVlqRSxNQUFNLE9BQU8sdUJBQXVCO0lBVnBDO1FBV3VCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FDbkU7OEdBRlksdUJBQXVCO2tHQUF2Qix1QkFBdUIsNk5BSnRCOztLQUVUOzsyRkFFUSx1QkFBdUI7a0JBVm5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsSUFBSSxFQUFFO3dCQUNGLHNCQUFzQixFQUFFLHlDQUF5Qzt3QkFDakUseUJBQXlCLEVBQUUsMkJBQTJCO3FCQUN6RDtvQkFDRCxRQUFRLEVBQUU7O0tBRVQ7aUJBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLXJvb3QuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdyZHgtc2xpZGVyLXRyYWNrJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6IFwicm9vdENvbnRleHQuZGlzYWJsZWQoKSA/ICcnIDogdW5kZWZpbmVkXCIsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdyb290Q29udGV4dC5vcmllbnRhdGlvbigpJ1xuICAgIH0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFJkeFNsaWRlclRyYWNrQ29tcG9uZW50IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyUm9vdENvbXBvbmVudCk7XG59XG4iXX0=","import { NgModule } from '@angular/core';\nimport { RdxSliderRangeComponent } from './src/slider-range.component';\nimport { RdxSliderRootComponent } from './src/slider-root.component';\nimport { RdxSliderThumbComponent } from './src/slider-thumb.component';\nimport { RdxSliderTrackComponent } from './src/slider-track.component';\nimport * as i0 from \"@angular/core\";\nexport * from './src/slider-horizontal.component';\nexport * from './src/slider-impl.directive';\nexport * from './src/slider-range.component';\nexport * from './src/slider-root.component';\nexport * from './src/slider-thumb-impl.directive';\nexport * from './src/slider-thumb.component';\nexport * from './src/slider-track.component';\nexport * from './src/slider-vertical.component';\nconst _imports = [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent];\nexport class RdxSliderModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderModule, imports: [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent], exports: [RdxSliderRootComponent, RdxSliderTrackComponent, RdxSliderRangeComponent, RdxSliderThumbComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderModule }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.3\", ngImport: i0, type: RdxSliderModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [..._imports],\n exports: [..._imports]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NsaWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOztBQUV2RSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsTUFBTSxRQUFRLEdBQUcsQ0FBQyxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDO0FBTXJILE1BQU0sT0FBTyxlQUFlOzhHQUFmLGVBQWU7K0dBQWYsZUFBZSxZQU5WLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixFQUFFLHVCQUF1QixhQUFqRyxzQkFBc0IsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUIsRUFBRSx1QkFBdUI7K0dBTXRHLGVBQWU7OzJGQUFmLGVBQWU7a0JBSjNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsR0FBRyxRQUFRLENBQUM7b0JBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBQUcsUUFBUSxDQUFDO2lCQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSZHhTbGlkZXJSYW5nZUNvbXBvbmVudCB9IGZyb20gJy4vc3JjL3NsaWRlci1yYW5nZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc3JjL3NsaWRlci1yb290LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSZHhTbGlkZXJUaHVtYkNvbXBvbmVudCB9IGZyb20gJy4vc3JjL3NsaWRlci10aHVtYi5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmR4U2xpZGVyVHJhY2tDb21wb25lbnQgfSBmcm9tICcuL3NyYy9zbGlkZXItdHJhY2suY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2xpZGVyLWhvcml6b250YWwuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NsaWRlci1pbXBsLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zbGlkZXItcmFuZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NsaWRlci1yb290LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zbGlkZXItdGh1bWItaW1wbC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9zcmMvc2xpZGVyLXRodW1iLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3NyYy9zbGlkZXItdHJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3JjL3NsaWRlci12ZXJ0aWNhbC5jb21wb25lbnQnO1xuXG5jb25zdCBfaW1wb3J0cyA9IFtSZHhTbGlkZXJSb290Q29tcG9uZW50LCBSZHhTbGlkZXJUcmFja0NvbXBvbmVudCwgUmR4U2xpZGVyUmFuZ2VDb21wb25lbnQsIFJkeFNsaWRlclRodW1iQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbLi4uX2ltcG9ydHNdLFxuICAgIGV4cG9ydHM6IFsuLi5faW1wb3J0c11cbn0pXG5leHBvcnQgY2xhc3MgUmR4U2xpZGVyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFkaXgtbmctcHJpbWl0aXZlcy1zbGlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NsaWRlci9yYWRpeC1uZy1wcmltaXRpdmVzLXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":["i1.RdxSliderThumbImplDirective"],"mappings":"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"}