@radix-ng/primitives 0.16.0 → 0.18.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 (203) hide show
  1. package/checkbox/src/checkbox-input.directive.d.ts +2 -1
  2. package/compodoc/documentation.json +7419 -2200
  3. package/esm2022/accordion/index.mjs +4 -4
  4. package/esm2022/accordion/src/accordion-content.directive.mjs +3 -3
  5. package/esm2022/accordion/src/accordion-header.directive.mjs +3 -3
  6. package/esm2022/accordion/src/accordion-item.directive.mjs +3 -3
  7. package/esm2022/accordion/src/accordion-root.directive.mjs +3 -3
  8. package/esm2022/accordion/src/accordion-trigger.directive.mjs +3 -3
  9. package/esm2022/alert-dialog/index.mjs +4 -4
  10. package/esm2022/alert-dialog/src/alert-dialog-cancel.directive.mjs +3 -3
  11. package/esm2022/alert-dialog/src/alert-dialog-content.directive.mjs +3 -3
  12. package/esm2022/alert-dialog/src/alert-dialog-root.directive.mjs +3 -3
  13. package/esm2022/alert-dialog/src/alert-dialog-title.directive.mjs +3 -3
  14. package/esm2022/alert-dialog/src/alert-dialog-trigger.directive.mjs +3 -3
  15. package/esm2022/alert-dialog/src/alert-dialog.service.mjs +3 -3
  16. package/esm2022/aspect-ratio/src/aspect-ratio.directive.mjs +3 -3
  17. package/esm2022/avatar/src/avatar-fallback.directive.mjs +3 -3
  18. package/esm2022/avatar/src/avatar-image.directive.mjs +3 -3
  19. package/esm2022/avatar/src/avatar-root.directive.mjs +3 -3
  20. package/esm2022/checkbox/src/checkbox-button.directive.mjs +3 -3
  21. package/esm2022/checkbox/src/checkbox-indicator.directive.mjs +3 -3
  22. package/esm2022/checkbox/src/checkbox-input.directive.mjs +7 -4
  23. package/esm2022/checkbox/src/checkbox.directive.mjs +3 -3
  24. package/esm2022/collapsible/src/collapsible-content.directive.mjs +3 -3
  25. package/esm2022/collapsible/src/collapsible-root.directive.mjs +3 -3
  26. package/esm2022/collapsible/src/collapsible-trigger.directive.mjs +3 -3
  27. package/esm2022/context-menu/index.mjs +4 -4
  28. package/esm2022/context-menu/src/context-menu-content.directive.mjs +3 -3
  29. package/esm2022/context-menu/src/context-menu-item-checkbox.directive.mjs +3 -3
  30. package/esm2022/context-menu/src/context-menu-item-indicator.directive.mjs +3 -3
  31. package/esm2022/context-menu/src/context-menu-item-radio-group.directive.mjs +3 -3
  32. package/esm2022/context-menu/src/context-menu-item-radio.directive.mjs +3 -3
  33. package/esm2022/context-menu/src/context-menu-item-selectable.mjs +3 -3
  34. package/esm2022/context-menu/src/context-menu-item.directive.mjs +3 -3
  35. package/esm2022/context-menu/src/context-menu-label.directive.mjs +3 -3
  36. package/esm2022/context-menu/src/context-menu-separator.directive.mjs +3 -3
  37. package/esm2022/context-menu/src/context-menu-trigger.directive.mjs +3 -3
  38. package/esm2022/core/src/auto-focus.directive.mjs +3 -3
  39. package/esm2022/dialog/index.mjs +4 -4
  40. package/esm2022/dialog/src/dialog-close.directive.mjs +3 -3
  41. package/esm2022/dialog/src/dialog-content.directive.mjs +3 -3
  42. package/esm2022/dialog/src/dialog-description.directive.mjs +3 -3
  43. package/esm2022/dialog/src/dialog-dismiss.directive.mjs +3 -3
  44. package/esm2022/dialog/src/dialog-title.directive.mjs +3 -3
  45. package/esm2022/dialog/src/dialog-trigger.directive.mjs +3 -3
  46. package/esm2022/dialog/src/dialog.service.mjs +3 -3
  47. package/esm2022/dropdown-menu/index.mjs +4 -4
  48. package/esm2022/dropdown-menu/src/dropdown-menu-content.directive.mjs +3 -3
  49. package/esm2022/dropdown-menu/src/dropdown-menu-item-checkbox.directive.mjs +3 -3
  50. package/esm2022/dropdown-menu/src/dropdown-menu-item-indicator.directive.mjs +3 -3
  51. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio-group.directive.mjs +3 -3
  52. package/esm2022/dropdown-menu/src/dropdown-menu-item-radio.directive.mjs +3 -3
  53. package/esm2022/dropdown-menu/src/dropdown-menu-item-selectable.mjs +3 -3
  54. package/esm2022/dropdown-menu/src/dropdown-menu-item.directive.mjs +3 -3
  55. package/esm2022/dropdown-menu/src/dropdown-menu-label.directive.mjs +3 -3
  56. package/esm2022/dropdown-menu/src/dropdown-menu-separator.directive.mjs +3 -3
  57. package/esm2022/dropdown-menu/src/dropdown-menu-trigger.directive.mjs +3 -3
  58. package/esm2022/label/src/label.directive.mjs +3 -3
  59. package/esm2022/menu/index.mjs +4 -4
  60. package/esm2022/menu/src/menu-content.directive.mjs +3 -3
  61. package/esm2022/menu/src/menu-directive.mjs +3 -3
  62. package/esm2022/menu/src/menu-group.directive.mjs +3 -3
  63. package/esm2022/menu/src/menu-item.directive.mjs +3 -3
  64. package/esm2022/menu/src/menu-label.directive.mjs +3 -3
  65. package/esm2022/menu/src/menu-separator.directive.mjs +3 -3
  66. package/esm2022/menubar/index.mjs +4 -4
  67. package/esm2022/menubar/src/menubar-content.directive.mjs +3 -3
  68. package/esm2022/menubar/src/menubar-item-checkbox.directive.mjs +3 -3
  69. package/esm2022/menubar/src/menubar-item-indicator.directive.mjs +3 -3
  70. package/esm2022/menubar/src/menubar-item-radio.directive.mjs +3 -3
  71. package/esm2022/menubar/src/menubar-item.directive.mjs +3 -3
  72. package/esm2022/menubar/src/menubar-radio-group.directive.mjs +3 -3
  73. package/esm2022/menubar/src/menubar-root.directive.mjs +3 -3
  74. package/esm2022/menubar/src/menubar-separator.directive.mjs +3 -3
  75. package/esm2022/menubar/src/menubar-trigger.directive.mjs +3 -3
  76. package/esm2022/progress/index.mjs +4 -4
  77. package/esm2022/progress/src/progress-indicator.directive.mjs +3 -3
  78. package/esm2022/progress/src/progress-root.directive.mjs +3 -3
  79. package/esm2022/radio/src/radio-indicator.directive.mjs +3 -3
  80. package/esm2022/radio/src/radio-item.directive.mjs +3 -3
  81. package/esm2022/radio/src/radio-root.directive.mjs +3 -3
  82. package/esm2022/select/index.mjs +65 -0
  83. package/esm2022/select/radix-ng-primitives-select.mjs +5 -0
  84. package/esm2022/select/src/select-content.directive.mjs +53 -0
  85. package/esm2022/select/src/select-group.directive.mjs +18 -0
  86. package/esm2022/select/src/select-icon.directive.mjs +18 -0
  87. package/esm2022/select/src/select-item-indicator.directive.mjs +23 -0
  88. package/esm2022/select/src/select-item.directive.mjs +116 -0
  89. package/esm2022/select/src/select-label.directive.mjs +15 -0
  90. package/esm2022/select/src/select-separator.directive.mjs +18 -0
  91. package/esm2022/select/src/select-trigger.directive.mjs +38 -0
  92. package/esm2022/select/src/select-value.directive.mjs +21 -0
  93. package/esm2022/select/src/select.component.mjs +234 -0
  94. package/esm2022/separator/src/separator.directive.mjs +3 -3
  95. package/esm2022/slider/index.mjs +28 -0
  96. package/esm2022/slider/radix-ng-primitives-slider.mjs +5 -0
  97. package/esm2022/slider/src/slider-horizontal.component.mjs +117 -0
  98. package/esm2022/slider/src/slider-impl.directive.mjs +89 -0
  99. package/esm2022/slider/src/slider-orientation-context.service.mjs +28 -0
  100. package/esm2022/slider/src/slider-range.component.mjs +41 -0
  101. package/esm2022/slider/src/slider-root.component.mjs +207 -0
  102. package/esm2022/slider/src/slider-thumb-impl.directive.mjs +102 -0
  103. package/esm2022/slider/src/slider-thumb.component.mjs +22 -0
  104. package/esm2022/slider/src/slider-track.component.mjs +27 -0
  105. package/esm2022/slider/src/slider-vertical.component.mjs +117 -0
  106. package/esm2022/slider/src/utils.mjs +94 -0
  107. package/esm2022/switch/index.mjs +4 -4
  108. package/esm2022/switch/src/switch-input.directive.mjs +3 -3
  109. package/esm2022/switch/src/switch-root.directive.mjs +3 -3
  110. package/esm2022/switch/src/switch-thumb.directive.mjs +3 -3
  111. package/esm2022/tabs/index.mjs +4 -4
  112. package/esm2022/tabs/src/tabs-content.directive.mjs +3 -3
  113. package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
  114. package/esm2022/tabs/src/tabs-list.directive.mjs +3 -3
  115. package/esm2022/tabs/src/tabs-root.directive.mjs +3 -3
  116. package/esm2022/tabs/src/tabs-trigger.directive.mjs +3 -3
  117. package/esm2022/toggle/src/toggle-input.directive.mjs +3 -3
  118. package/esm2022/toggle/src/toggle.directive.mjs +3 -3
  119. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +3 -3
  120. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +3 -3
  121. package/esm2022/toggle-group/src/toggle-group.directive.mjs +3 -3
  122. package/esm2022/tooltip/index.mjs +41 -0
  123. package/esm2022/tooltip/radix-ng-primitives-tooltip.mjs +5 -0
  124. package/esm2022/tooltip/src/get-content-position.mjs +31 -0
  125. package/esm2022/tooltip/src/tooltip-arrow.directive.mjs +92 -0
  126. package/esm2022/tooltip/src/tooltip-arrow.token.mjs +3 -0
  127. package/esm2022/tooltip/src/tooltip-content-attributes.directive.mjs +24 -0
  128. package/esm2022/tooltip/src/tooltip-content.directive.mjs +48 -0
  129. package/esm2022/tooltip/src/tooltip-content.token.mjs +3 -0
  130. package/esm2022/tooltip/src/tooltip-root.directive.mjs +288 -0
  131. package/esm2022/tooltip/src/tooltip-trigger.directive.mjs +70 -0
  132. package/esm2022/tooltip/src/tooltip.config.mjs +18 -0
  133. package/esm2022/tooltip/src/tooltip.constants.mjs +84 -0
  134. package/esm2022/tooltip/src/tooltip.types.mjs +14 -0
  135. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +3 -3
  136. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +3 -3
  137. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +3 -3
  138. package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
  139. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
  140. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
  141. package/fesm2022/radix-ng-primitives-avatar.mjs +9 -9
  142. package/fesm2022/radix-ng-primitives-checkbox.mjs +15 -12
  143. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  144. package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
  145. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  146. package/fesm2022/radix-ng-primitives-core.mjs +3 -3
  147. package/fesm2022/radix-ng-primitives-dialog.mjs +25 -25
  148. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -34
  149. package/fesm2022/radix-ng-primitives-label.mjs +3 -3
  150. package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
  151. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  152. package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
  153. package/fesm2022/radix-ng-primitives-radio.mjs +9 -9
  154. package/fesm2022/radix-ng-primitives-select.mjs +572 -0
  155. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -0
  156. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  157. package/fesm2022/radix-ng-primitives-slider.mjs +830 -0
  158. package/fesm2022/radix-ng-primitives-slider.mjs.map +1 -0
  159. package/fesm2022/radix-ng-primitives-switch.mjs +13 -13
  160. package/fesm2022/radix-ng-primitives-tabs.mjs +19 -19
  161. package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
  162. package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
  163. package/fesm2022/radix-ng-primitives-tooltip.mjs +684 -0
  164. package/fesm2022/radix-ng-primitives-tooltip.mjs.map +1 -0
  165. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
  166. package/package.json +19 -1
  167. package/select/README.md +1 -0
  168. package/select/index.d.ts +26 -0
  169. package/select/src/select-content.directive.d.ts +20 -0
  170. package/select/src/select-group.directive.d.ts +5 -0
  171. package/select/src/select-icon.directive.d.ts +5 -0
  172. package/select/src/select-item-indicator.directive.d.ts +7 -0
  173. package/select/src/select-item.directive.d.ts +47 -0
  174. package/select/src/select-label.directive.d.ts +5 -0
  175. package/select/src/select-separator.directive.d.ts +5 -0
  176. package/select/src/select-trigger.directive.d.ts +11 -0
  177. package/select/src/select-value.directive.d.ts +8 -0
  178. package/select/src/select.component.d.ts +81 -0
  179. package/slider/README.md +1 -0
  180. package/slider/index.d.ts +18 -0
  181. package/slider/src/slider-horizontal.component.d.ts +29 -0
  182. package/slider/src/slider-impl.directive.d.ts +18 -0
  183. package/slider/src/slider-orientation-context.service.d.ts +14 -0
  184. package/slider/src/slider-range.component.d.ts +13 -0
  185. package/slider/src/slider-root.component.d.ts +47 -0
  186. package/slider/src/slider-thumb-impl.directive.d.ts +26 -0
  187. package/slider/src/slider-thumb.component.d.ts +6 -0
  188. package/slider/src/slider-track.component.d.ts +7 -0
  189. package/slider/src/slider-vertical.component.d.ts +29 -0
  190. package/slider/src/utils.d.ts +52 -0
  191. package/tooltip/README.md +1 -0
  192. package/tooltip/index.d.ts +17 -0
  193. package/tooltip/src/get-content-position.d.ts +3 -0
  194. package/tooltip/src/tooltip-arrow.directive.d.ts +25 -0
  195. package/tooltip/src/tooltip-arrow.token.d.ts +3 -0
  196. package/tooltip/src/tooltip-content-attributes.directive.d.ts +8 -0
  197. package/tooltip/src/tooltip-content.directive.d.ts +36 -0
  198. package/tooltip/src/tooltip-content.token.d.ts +3 -0
  199. package/tooltip/src/tooltip-root.directive.d.ts +103 -0
  200. package/tooltip/src/tooltip-trigger.directive.d.ts +26 -0
  201. package/tooltip/src/tooltip.config.d.ts +6 -0
  202. package/tooltip/src/tooltip.constants.d.ts +9 -0
  203. package/tooltip/src/tooltip.types.d.ts +18 -0
@@ -0,0 +1,102 @@
1
+ import { computed, Directive, ElementRef, inject, signal } from '@angular/core';
2
+ import { RdxSliderRootComponent } from './slider-root.component';
3
+ import { convertValueToPercentage, getThumbInBoundsOffset } from './utils';
4
+ import * as i0 from "@angular/core";
5
+ export class RdxSliderThumbImplDirective {
6
+ constructor() {
7
+ this.rootContext = inject(RdxSliderRootComponent);
8
+ this.elementRef = inject(ElementRef);
9
+ this.isMounted = signal(false);
10
+ this.thumbIndex = computed(() => {
11
+ const thumbElement = this.elementRef.nativeElement;
12
+ const index = this.rootContext.thumbElements.indexOf(thumbElement);
13
+ return index >= 0 ? index : null;
14
+ });
15
+ this.value = computed(() => {
16
+ const index = this.thumbIndex();
17
+ if (index === null)
18
+ return undefined;
19
+ return this.rootContext.modelValue()?.[index];
20
+ });
21
+ this.percent = computed(() => {
22
+ const val = this.value();
23
+ if (val === undefined)
24
+ return 0;
25
+ return convertValueToPercentage(val, this.rootContext.min(), this.rootContext.max());
26
+ });
27
+ this.transform = computed(() => {
28
+ const percent = this.percent();
29
+ const offset = this.thumbInBoundsOffset();
30
+ return `calc(${percent}% + ${offset}px)`;
31
+ });
32
+ this.orientationSize = signal(0);
33
+ this.thumbInBoundsOffset = computed(() => {
34
+ const context = this.rootContext.orientationContext.context;
35
+ const size = this.orientationSize();
36
+ const percent = this.percent();
37
+ const direction = context.direction;
38
+ return size ? getThumbInBoundsOffset(size, percent, direction) : 0;
39
+ });
40
+ this.combinedStyles = computed(() => {
41
+ const context = this.rootContext.orientationContext.context;
42
+ const startEdge = context.startEdge;
43
+ const percent = this.percent();
44
+ const offset = this.thumbInBoundsOffset();
45
+ return {
46
+ position: 'absolute',
47
+ transform: 'var(--rdx-slider-thumb-transform)',
48
+ display: (this.isMounted() && this.value()) === false ? 'none' : undefined,
49
+ [startEdge]: `calc(${percent}% + ${offset}px)`
50
+ };
51
+ });
52
+ }
53
+ onFocus() {
54
+ if (this.thumbIndex() !== null) {
55
+ this.rootContext.valueIndexToChange.set(this.thumbIndex());
56
+ }
57
+ }
58
+ ngOnInit() {
59
+ const thumbElement = this.elementRef.nativeElement;
60
+ this.rootContext.thumbElements.push(thumbElement);
61
+ this.resizeObserver = new ResizeObserver(() => {
62
+ const rect = thumbElement.getBoundingClientRect();
63
+ const context = this.rootContext.orientationContext.context;
64
+ const size = context.size === 'width' ? rect.width : rect.height;
65
+ this.orientationSize.set(size);
66
+ });
67
+ this.resizeObserver.observe(thumbElement);
68
+ this.isMounted.set(true);
69
+ }
70
+ ngOnDestroy() {
71
+ const thumbElement = this.elementRef.nativeElement;
72
+ const index = this.rootContext.thumbElements.indexOf(thumbElement);
73
+ if (index >= 0)
74
+ this.rootContext.thumbElements.splice(index, 1);
75
+ if (this.resizeObserver) {
76
+ this.resizeObserver.unobserve(thumbElement);
77
+ }
78
+ this.isMounted.set(false);
79
+ }
80
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderThumbImplDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
81
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", 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 }); }
82
+ }
83
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderThumbImplDirective, decorators: [{
84
+ type: Directive,
85
+ args: [{
86
+ selector: '[rdxSliderThumbImpl]',
87
+ standalone: true,
88
+ host: {
89
+ role: 'slider',
90
+ '[tabindex]': 'rootContext.disabled() ? undefined : 0',
91
+ '[attr.aria-valuenow]': 'rootContext.modelValue()',
92
+ '[attr.aria-valuemin]': 'rootContext.min()',
93
+ '[attr.aria-valuemax]': 'rootContext.max()',
94
+ '[attr.aria-orientation]': 'rootContext.orientation()',
95
+ '[attr.data-orientation]': 'rootContext.orientation()',
96
+ '[attr.data-disabled]': 'rootContext.disabled() ? "" : undefined',
97
+ '[style]': 'combinedStyles()',
98
+ '(focus)': 'onFocus()'
99
+ }
100
+ }]
101
+ }] });
102
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXRodW1iLWltcGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zbGlkZXIvc3JjL3NsaWRlci10aHVtYi1pbXBsLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDakUsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHNCQUFzQixFQUFFLE1BQU0sU0FBUyxDQUFDOztBQXNCM0UsTUFBTSxPQUFPLDJCQUEyQjtJQXBCeEM7UUFxQnVCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDL0MsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUdqRCxjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3ZCLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1lBQ25ELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUNuRSxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBRUgsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDbEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2hDLElBQUksS0FBSyxLQUFLLElBQUk7Z0JBQUUsT0FBTyxTQUFT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RUFBRSxRQUFRO3dCQUNkLFlBQVksRUFBRSx3Q0FBd0M7d0JBRXRELHNCQUFzQixFQUFFLDBCQUEwQjt3QkFDbEQsc0JBQXNCLEVBQUUsbUJBQW1CO3dCQUMzQyxzQkFBc0IsRUFBRSxtQkFBbUI7d0JBQzNDLHlCQUF5QixFQUFFLDJCQUEyQjt3QkFFdEQseUJBQXlCLEVBQUUsMkJBQTJCO3dCQUN0RCxzQkFBc0IsRUFBRSx5Q0FBeUM7d0JBRWpFLFNBQVMsRUFBRSxrQkFBa0I7d0JBRTdCLFNBQVMsRUFBRSxXQUFXO3FCQUN6QjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbXB1dGVkLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgT25EZXN0cm95LCBPbkluaXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVyUm9vdENvbXBvbmVudCB9IGZyb20gJy4vc2xpZGVyLXJvb3QuY29tcG9uZW50JztcbmltcG9ydCB7IGNvbnZlcnRWYWx1ZVRvUGVyY2VudGFnZSwgZ2V0VGh1bWJJbkJvdW5kc09mZnNldCB9IGZyb20gJy4vdXRpbHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhTbGlkZXJUaHVtYkltcGxdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgcm9sZTogJ3NsaWRlcicsXG4gICAgICAgICdbdGFiaW5kZXhdJzogJ3Jvb3RDb250ZXh0LmRpc2FibGVkKCkgPyB1bmRlZmluZWQgOiAwJyxcblxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW5vd10nOiAncm9vdENvbnRleHQubW9kZWxWYWx1ZSgpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVtaW5dJzogJ3Jvb3RDb250ZXh0Lm1pbigpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVtYXhdJzogJ3Jvb3RDb250ZXh0Lm1heCgpJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtb3JpZW50YXRpb25dJzogJ3Jvb3RDb250ZXh0Lm9yaWVudGF0aW9uKCknLFxuXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdyb290Q29udGV4dC5vcmllbnRhdGlvbigpJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3Jvb3RDb250ZXh0LmRpc2FibGVkKCkgPyBcIlwiIDogdW5kZWZpbmVkJyxcblxuICAgICAgICAnW3N0eWxlXSc6ICdjb21iaW5lZFN0eWxlcygpJyxcblxuICAgICAgICAnKGZvY3VzKSc6ICdvbkZvY3VzKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhTbGlkZXJUaHVtYkltcGxEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHJvb3RDb250ZXh0ID0gaW5qZWN0KFJkeFNsaWRlclJvb3RDb21wb25lbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlc2l6ZU9ic2VydmVyITogUmVzaXplT2JzZXJ2ZXI7XG5cbiAgICBpc01vdW50ZWQgPSBzaWduYWwoZmFsc2UpO1xuXG4gICAgdGh1bWJJbmRleCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgdGh1bWJFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5yb290Q29udGV4dC50aHVtYkVsZW1lbnRzLmluZGV4T2YodGh1bWJFbGVtZW50KTtcbiAgICAgICAgcmV0dXJuIGluZGV4ID49IDAgPyBpbmRleCA6IG51bGw7XG4gICAgfSk7XG5cbiAgICB2YWx1ZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnRodW1iSW5kZXgoKTtcbiAgICAgICAgaWYgKGluZGV4ID09PSBudWxsKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gdGhpcy5yb290Q29udGV4dC5tb2RlbFZhbHVlKCk/LltpbmRleF07XG4gICAgfSk7XG5cbiAgICBwZXJjZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGlmICh2YWwgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gICAgICAgIHJldHVybiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsLCB0aGlzLnJvb3RDb250ZXh0Lm1pbigpLCB0aGlzLnJvb3RDb250ZXh0Lm1heCgpKTtcbiAgICB9KTtcblxuICAgIHRyYW5zZm9ybSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IHRoaXMucGVyY2VudCgpO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnRodW1iSW5Cb3VuZHNPZmZzZXQoKTtcbiAgICAgICAgcmV0dXJuIGBjYWxjKCR7cGVyY2VudH0lICsgJHtvZmZzZXR9cHgpYDtcbiAgICB9KTtcblxuICAgIG9yaWVudGF0aW9uU2l6ZSA9IHNpZ25hbCgwKTtcblxuICAgIHRodW1iSW5Cb3VuZHNPZmZzZXQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnJvb3RDb250ZXh0Lm9yaWVudGF0aW9uQ29udGV4dC5jb250ZXh0O1xuXG4gICAgICAgIGNvbnN0IHNpemUgPSB0aGlzLm9yaWVudGF0aW9uU2l6ZSgpO1xuICAgICAgICBjb25zdCBwZXJjZW50ID0gdGhpcy5wZXJjZW50KCk7XG4gICAgICAgIGNvbnN0IGRpcmVjdGlvbiA9IGNvbnRleHQuZGlyZWN0aW9uO1xuXG4gICAgICAgIHJldHVybiBzaXplID8gZ2V0VGh1bWJJbkJvdW5kc09mZnNldChzaXplLCBwZXJjZW50LCBkaXJlY3Rpb24pIDogMDtcbiAgICB9KTtcblxuICAgIGNvbWJpbmVkU3R5bGVzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5yb290Q29udGV4dC5vcmllbnRhdGlvbkNvbnRleHQuY29udGV4dDtcblxuICAgICAgICBjb25zdCBzdGFydEVkZ2UgPSBjb250ZXh0LnN0YXJ0RWRnZTtcbiAgICAgICAgY29uc3QgcGVyY2VudCA9IHRoaXMucGVyY2VudCgpO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSB0aGlzLnRodW1iSW5Cb3VuZHNPZmZzZXQoKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICB0cmFuc2Zvcm06ICd2YXIoLS1yZHgtc2xpZGVyLXRodW1iLXRyYW5zZm9ybSknLFxuICAgICAgICAgICAgZGlzcGxheTogKHRoaXMuaXNNb3VudGVkKCkgJiYgdGhpcy52YWx1ZSgpKSA9PT0gZmFsc2UgPyAnbm9uZScgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBbc3RhcnRFZGdlXTogYGNhbGMoJHtwZXJjZW50fSUgKyAke29mZnNldH1weClgXG4gICAgICAgIH07XG4gICAgfSk7XG5cbiAgICBvbkZvY3VzKCkge1xuICAgICAgICBpZiAodGhpcy50aHVtYkluZGV4KCkgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMucm9vdENvbnRleHQudmFsdWVJbmRleFRvQ2hhbmdlLnNldCh0aGlzLnRodW1iSW5kZXgoKSEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIGNvbnN0IHRodW1iRWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICAgICB0aGlzLnJvb3RDb250ZXh0LnRodW1iRWxlbWVudHMucHVzaCh0aHVtYkVsZW1lbnQpO1xuXG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVjdCA9IHRodW1iRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnJvb3RDb250ZXh0Lm9yaWVudGF0aW9uQ29udGV4dC5jb250ZXh0O1xuICAgICAgICAgICAgY29uc3Qgc2l6ZSA9IGNvbnRleHQuc2l6ZSA9PT0gJ3dpZHRoJyA/IHJlY3Qud2lkdGggOiByZWN0LmhlaWdodDtcbiAgICAgICAgICAgIHRoaXMub3JpZW50YXRpb25TaXplLnNldChzaXplKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRodW1iRWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5pc01vdW50ZWQuc2V0KHRydWUpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICBjb25zdCB0aHVtYkVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLnJvb3RDb250ZXh0LnRodW1iRWxlbWVudHMuaW5kZXhPZih0aHVtYkVsZW1lbnQpO1xuICAgICAgICBpZiAoaW5kZXggPj0gMCkgdGhpcy5yb290Q29udGV4dC50aHVtYkVsZW1lbnRzLnNwbGljZShpbmRleCwgMSk7XG5cbiAgICAgICAgaWYgKHRoaXMucmVzaXplT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRodW1iRWxlbWVudCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzTW91bnRlZC5zZXQoZmFsc2UpO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { Component } from '@angular/core';
2
+ import { RdxSliderThumbImplDirective } from './slider-thumb-impl.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "./slider-thumb-impl.directive";
5
+ export class RdxSliderThumbComponent {
6
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderThumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
7
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: RdxSliderThumbComponent, isStandalone: true, selector: "rdx-slider-thumb", hostDirectives: [{ directive: i1.RdxSliderThumbImplDirective }], ngImport: i0, template: `
8
+ <ng-content />
9
+ `, isInline: true }); }
10
+ }
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderThumbComponent, decorators: [{
12
+ type: Component,
13
+ args: [{
14
+ selector: 'rdx-slider-thumb',
15
+ standalone: true,
16
+ hostDirectives: [RdxSliderThumbImplDirective],
17
+ template: `
18
+ <ng-content />
19
+ `
20
+ }]
21
+ }] });
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXRodW1iLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItdGh1bWIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sK0JBQStCLENBQUM7OztBQVU1RSxNQUFNLE9BQU8sdUJBQXVCOytHQUF2Qix1QkFBdUI7bUdBQXZCLHVCQUF1Qiw2SUFKdEI7O0tBRVQ7OzRGQUVRLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsMkJBQTJCLENBQUM7b0JBQzdDLFFBQVEsRUFBRTs7S0FFVDtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUmR4U2xpZGVyVGh1bWJJbXBsRGlyZWN0aXZlIH0gZnJvbSAnLi9zbGlkZXItdGh1bWItaW1wbC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JkeC1zbGlkZXItdGh1bWInLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtSZHhTbGlkZXJUaHVtYkltcGxEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250ZW50IC8+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBSZHhTbGlkZXJUaHVtYkNvbXBvbmVudCB7fVxuIl19
@@ -0,0 +1,27 @@
1
+ import { Component, inject } from '@angular/core';
2
+ import { RdxSliderRootComponent } from './slider-root.component';
3
+ import * as i0 from "@angular/core";
4
+ export class RdxSliderTrackComponent {
5
+ constructor() {
6
+ this.rootContext = inject(RdxSliderRootComponent);
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderTrackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: RdxSliderTrackComponent, isStandalone: true, selector: "rdx-slider-track", host: { properties: { "attr.data-disabled": "rootContext.disabled() ? '' : undefined", "attr.data-orientation": "rootContext.orientation()" } }, ngImport: i0, template: `
10
+ <ng-content />
11
+ `, isInline: true }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderTrackComponent, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ selector: 'rdx-slider-track',
17
+ standalone: true,
18
+ host: {
19
+ '[attr.data-disabled]': "rootContext.disabled() ? '' : undefined",
20
+ '[attr.data-orientation]': 'rootContext.orientation()'
21
+ },
22
+ template: `
23
+ <ng-content />
24
+ `
25
+ }]
26
+ }] });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXRyYWNrLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItdHJhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWFqRSxNQUFNLE9BQU8sdUJBQXVCO0lBWHBDO1FBWXVCLGdCQUFXLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7S0FDbkU7K0dBRlksdUJBQXVCO21HQUF2Qix1QkFBdUIsNk5BSnRCOztLQUVUOzs0RkFFUSx1QkFBdUI7a0JBWG5DLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLElBQUksRUFBRTt3QkFDRixzQkFBc0IsRUFBRSx5Q0FBeUM7d0JBQ2pFLHlCQUF5QixFQUFFLDJCQUEyQjtxQkFDekQ7b0JBQ0QsUUFBUSxFQUFFOztLQUVUO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFNsaWRlclJvb3RDb21wb25lbnQgfSBmcm9tICcuL3NsaWRlci1yb290LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncmR4LXNsaWRlci10cmFjaycsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLWRpc2FibGVkXSc6IFwicm9vdENvbnRleHQuZGlzYWJsZWQoKSA/ICcnIDogdW5kZWZpbmVkXCIsXG4gICAgICAgICdbYXR0ci5kYXRhLW9yaWVudGF0aW9uXSc6ICdyb290Q29udGV4dC5vcmllbnRhdGlvbigpJ1xuICAgIH0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFJkeFNsaWRlclRyYWNrQ29tcG9uZW50IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm9vdENvbnRleHQgPSBpbmplY3QoUmR4U2xpZGVyUm9vdENvbXBvbmVudCk7XG59XG4iXX0=
@@ -0,0 +1,117 @@
1
+ import { booleanAttribute, Component, EventEmitter, inject, input, Input, Output, signal, viewChild } from '@angular/core';
2
+ import { RdxSliderImplDirective } from './slider-impl.directive';
3
+ import { RdxSliderRootComponent } from './slider-root.component';
4
+ import { BACK_KEYS, linearScale } from './utils';
5
+ import * as i0 from "@angular/core";
6
+ export class RdxSliderVerticalComponent {
7
+ constructor() {
8
+ this.rootContext = inject(RdxSliderRootComponent);
9
+ this.dir = 'ltr';
10
+ this.inverted = input(false, { transform: booleanAttribute });
11
+ this.min = 0;
12
+ this.max = 100;
13
+ this.className = '';
14
+ this.slideStart = new EventEmitter();
15
+ this.slideMove = new EventEmitter();
16
+ this.slideEnd = new EventEmitter();
17
+ this.stepKeyDown = new EventEmitter();
18
+ this.endKeyDown = new EventEmitter();
19
+ this.homeKeyDown = new EventEmitter();
20
+ this.sliderElement = viewChild('sliderElement');
21
+ this.rect = signal(undefined);
22
+ }
23
+ onSlideStart(event) {
24
+ const value = this.getValueFromPointer(event.clientY);
25
+ this.slideStart.emit(value);
26
+ }
27
+ onSlideMove(event) {
28
+ const value = this.getValueFromPointer(event.clientY);
29
+ this.slideMove.emit(value);
30
+ }
31
+ onSlideEnd() {
32
+ this.rect.set(undefined);
33
+ this.slideEnd.emit();
34
+ }
35
+ onStepKeyDown(event) {
36
+ const slideDirection = this.rootContext.isSlidingFromBottom() ? 'from-bottom' : 'from-top';
37
+ const isBackKey = BACK_KEYS[slideDirection].includes(event.key);
38
+ this.stepKeyDown.emit({ event, direction: isBackKey ? -1 : 1 });
39
+ }
40
+ getValueFromPointer(pointerPosition) {
41
+ this.rect.set(this.sliderElement()?.nativeElement.getBoundingClientRect());
42
+ const rect = this.rect();
43
+ if (!rect)
44
+ return 0;
45
+ const input = [0, rect.height];
46
+ const output = this.rootContext.isSlidingFromBottom()
47
+ ? [this.max, this.min]
48
+ : [this.min, this.max];
49
+ const value = linearScale(input, output);
50
+ this.rect.set(rect);
51
+ return value(pointerPosition - rect.top);
52
+ }
53
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderVerticalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
54
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", 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: `
55
+ <span
56
+ #sliderElement
57
+ [class]="className"
58
+ [attr.data-orientation]="'vertical'"
59
+ [style]="{ '--rdx-slider-thumb-transform': 'translateY(-50%)' }"
60
+ (slideStart)="onSlideStart($event)"
61
+ (slideMove)="onSlideMove($event)"
62
+ (slideEnd)="onSlideEnd()"
63
+ (stepKeyDown)="onStepKeyDown($event)"
64
+ (endKeyDown)="endKeyDown.emit($event)"
65
+ (homeKeyDown)="homeKeyDown.emit($event)"
66
+ rdxSliderImpl
67
+ >
68
+ <ng-content />
69
+ </span>
70
+ `, isInline: true, dependencies: [{ kind: "directive", type: RdxSliderImplDirective, selector: "[rdxSliderImpl]", outputs: ["slideStart", "slideMove", "slideEnd", "homeKeyDown", "endKeyDown", "stepKeyDown"] }] }); }
71
+ }
72
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSliderVerticalComponent, decorators: [{
73
+ type: Component,
74
+ args: [{
75
+ selector: 'rdx-slider-vertical',
76
+ standalone: true,
77
+ imports: [RdxSliderImplDirective],
78
+ template: `
79
+ <span
80
+ #sliderElement
81
+ [class]="className"
82
+ [attr.data-orientation]="'vertical'"
83
+ [style]="{ '--rdx-slider-thumb-transform': 'translateY(-50%)' }"
84
+ (slideStart)="onSlideStart($event)"
85
+ (slideMove)="onSlideMove($event)"
86
+ (slideEnd)="onSlideEnd()"
87
+ (stepKeyDown)="onStepKeyDown($event)"
88
+ (endKeyDown)="endKeyDown.emit($event)"
89
+ (homeKeyDown)="homeKeyDown.emit($event)"
90
+ rdxSliderImpl
91
+ >
92
+ <ng-content />
93
+ </span>
94
+ `
95
+ }]
96
+ }], propDecorators: { dir: [{
97
+ type: Input
98
+ }], min: [{
99
+ type: Input
100
+ }], max: [{
101
+ type: Input
102
+ }], className: [{
103
+ type: Input
104
+ }], slideStart: [{
105
+ type: Output
106
+ }], slideMove: [{
107
+ type: Output
108
+ }], slideEnd: [{
109
+ type: Output
110
+ }], stepKeyDown: [{
111
+ type: Output
112
+ }], endKeyDown: [{
113
+ type: Output
114
+ }], homeKeyDown: [{
115
+ type: Output
116
+ }] } });
117
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLXZlcnRpY2FsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2xpZGVyL3NyYy9zbGlkZXItdmVydGljYWwuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFDSCxnQkFBZ0IsRUFDaEIsU0FBUyxFQUVULFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLFNBQVMsRUFDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUF3QmpELE1BQU0sT0FBTywwQkFBMEI7SUF0QnZDO1FBdUJxQixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDO1FBRXJELFFBQUcsR0FBa0IsS0FBSyxDQUFDO1FBRTNCLGFBQVEsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRSxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFFaEYsUUFBRyxHQUFHLENBQUMsQ0FBQztRQUNSLFFBQUcsR0FBRyxHQUFHLENBQUM7UUFFVixjQUFTLEdBQUcsRUFBRSxDQUFDO1FBRWQsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDeEMsY0FBUyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDdkMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFDcEMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBK0MsQ0FBQztRQUM5RSxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFDL0MsZ0JBQVcsR0FBRyxJQUFJ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QkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFNBQVM7c0JBQWxCLE1BQU07Z0JBQ0csUUFBUTtzQkFBakIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGluamVjdCxcbiAgICBpbnB1dCxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgc2lnbmFsLFxuICAgIHZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFNsaWRlckltcGxEaXJlY3RpdmUgfSBmcm9tICcuL3NsaWRlci1pbXBsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBSZHhTbGlkZXJSb290Q29tcG9uZW50IH0gZnJvbSAnLi9zbGlkZXItcm9vdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQkFDS19LRVlTLCBsaW5lYXJTY2FsZSB9IGZyb20gJy4vdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3JkeC1zbGlkZXItdmVydGljYWwnLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaW1wb3J0czogW1JkeFNsaWRlckltcGxEaXJlY3RpdmVdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxzcGFuXG4gICAgICAgICAgICAjc2xpZGVyRWxlbWVudFxuICAgICAgICAgICAgW2NsYXNzXT1cImNsYXNzTmFtZVwiXG4gICAgICAgICAgICBbYXR0ci5kYXRhLW9yaWVudGF0aW9uXT1cIid2ZXJ0aWNhbCdcIlxuICAgICAgICAgICAgW3N0eWxlXT1cInsgJy0tcmR4LXNsaWRlci10aHVtYi10cmFuc2Zvcm0nOiAndHJhbnNsYXRlWSgtNTAlKScgfVwiXG4gICAgICAgICAgICAoc2xpZGVTdGFydCk9XCJvblNsaWRlU3RhcnQoJGV2ZW50KVwiXG4gICAgICAgICAgICAoc2xpZGVNb3ZlKT1cIm9uU2xpZGVNb3ZlKCRldmVudClcIlxuICAgICAgICAgICAgKHNsaWRlRW5kKT1cIm9uU2xpZGVFbmQoKVwiXG4gICAgICAgICAgICAoc3RlcEtleURvd24pPVwib25TdGVwS2V5RG93bigkZXZlbnQpXCJcbiAgICAgICAgICAgIChlbmRLZXlEb3duKT1cImVuZEtleURvd24uZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChob21lS2V5RG93bik9XCJob21lS2V5RG93bi5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgcmR4U2xpZGVySW1wbFxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8L3NwYW4+XG4gICAgYFxufSlcbmV4cG9ydCBjbGFzcyBSZHhTbGlkZXJWZXJ0aWNhbENvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSByb290Q29udGV4dCA9IGluamVjdChSZHhTbGlkZXJSb290Q29tcG9uZW50KTtcblxuICAgIEBJbnB1dCgpIGRpcjogJ2x0cicgfCAncnRsJyA9ICdsdHInO1xuXG4gICAgcmVhZG9ubHkgaW52ZXJ0ZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIEBJbnB1dCgpIG1pbiA9IDA7XG4gICAgQElucHV0KCkgbWF4ID0gMTAwO1xuXG4gICAgQElucHV0KCkgY2xhc3NOYW1lID0gJyc7XG5cbiAgICBAT3V0cHV0KCkgc2xpZGVTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuICAgIEBPdXRwdXQoKSBzbGlkZU1vdmUgPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgICBAT3V0cHV0KCkgc2xpZGVFbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHN0ZXBLZXlEb3duID0gbmV3IEV2ZW50RW1pdHRlcjx7IGV2ZW50OiBLZXlib2FyZEV2ZW50OyBkaXJlY3Rpb246IG51bWJlciB9PigpO1xuICAgIEBPdXRwdXQoKSBlbmRLZXlEb3duID0gbmV3IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PigpO1xuICAgIEBPdXRwdXQoKSBob21lS2V5RG93biA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2xpZGVyRWxlbWVudCA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPignc2xpZGVyRWxlbWVudCcpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSByZWN0ID0gc2lnbmFsPERPTVJlY3QgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbiAgICBvblNsaWRlU3RhcnQoZXZlbnQ6IFBvaW50ZXJFdmVudCkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2V0VmFsdWVGcm9tUG9pbnRlcihldmVudC5jbGllbnRZKTtcbiAgICAgICAgdGhpcy5zbGlkZVN0YXJ0LmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIG9uU2xpZGVNb3ZlKGV2ZW50OiBQb2ludGVyRXZlbnQpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLmdldFZhbHVlRnJvbVBvaW50ZXIoZXZlbnQuY2xpZW50WSk7XG4gICAgICAgIHRoaXMuc2xpZGVNb3ZlLmVtaXQodmFsdWUpO1xuICAgIH1cblxuICAgIG9uU2xpZGVFbmQoKSB7XG4gICAgICAgIHRoaXMucmVjdC5zZXQodW5kZWZpbmVkKTtcbiAgICAgICAgdGhpcy5zbGlkZUVuZC5lbWl0KCk7XG4gICAgfVxuXG4gICAgb25TdGVwS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBzbGlkZURpcmVjdGlvbiA9IHRoaXMucm9vdENvbnRleHQuaXNTbGlkaW5nRnJvbUJvdHRvbSgpID8gJ2Zyb20tYm90dG9tJyA6ICdmcm9tLXRvcCc7XG4gICAgICAgIGNvbnN0IGlzQmFja0tleSA9IEJBQ0tfS0VZU1tzbGlkZURpcmVjdGlvbl0uaW5jbHVkZXMoZXZlbnQua2V5KTtcblxuICAgICAgICB0aGlzLnN0ZXBLZXlEb3duLmVtaXQoeyBldmVudCwgZGlyZWN0aW9uOiBpc0JhY2tLZXkgPyAtMSA6IDEgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWx1ZUZyb21Qb2ludGVyKHBvaW50ZXJQb3NpdGlvbjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICAgICAgdGhpcy5yZWN0LnNldCh0aGlzLnNsaWRlckVsZW1lbnQoKT8ubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSk7XG4gICAgICAgIGNvbnN0IHJlY3QgPSB0aGlzLnJlY3QoKTtcbiAgICAgICAgaWYgKCFyZWN0KSByZXR1cm4gMDtcblxuICAgICAgICBjb25zdCBpbnB1dDogW251bWJlciwgbnVtYmVyXSA9IFswLCByZWN0LmhlaWdodF07XG4gICAgICAgIGNvbnN0IG91dHB1dDogW251bWJlciwgbnVtYmVyXSA9IHRoaXMucm9vdENvbnRleHQuaXNTbGlkaW5nRnJvbUJvdHRvbSgpXG4gICAgICAgICAgICA/IFt0aGlzLm1heCwgdGhpcy5taW5dXG4gICAgICAgICAgICA6IFt0aGlzLm1pbiwgdGhpcy5tYXhdO1xuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gbGluZWFyU2NhbGUoaW5wdXQsIG91dHB1dCk7XG4gICAgICAgIHRoaXMucmVjdC5zZXQocmVjdCk7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlKHBvaW50ZXJQb3NpdGlvbiAtIHJlY3QudG9wKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,94 @@
1
+ // https://github.com/tmcw-up-for-adoption/simple-linear-scale/blob/master/index.js
2
+ export function linearScale(input, output) {
3
+ return (value) => {
4
+ if (input[0] === input[1] || output[0] === output[1])
5
+ return output[0];
6
+ const ratio = (output[1] - output[0]) / (input[1] - input[0]);
7
+ return output[0] + ratio * (value - input[0]);
8
+ };
9
+ }
10
+ /**
11
+ * Verifies the minimum steps between all values is greater than or equal
12
+ * to the expected minimum steps.
13
+ *
14
+ * @example
15
+ * // returns false
16
+ * hasMinStepsBetweenValues([1,2,3], 2);
17
+ *
18
+ * @example
19
+ * // returns true
20
+ * hasMinStepsBetweenValues([1,2,3], 1);
21
+ */
22
+ export function hasMinStepsBetweenValues(values, minStepsBetweenValues) {
23
+ if (minStepsBetweenValues > 0) {
24
+ const stepsBetweenValues = getStepsBetweenValues(values);
25
+ const actualMinStepsBetweenValues = Math.min(...stepsBetweenValues);
26
+ return actualMinStepsBetweenValues >= minStepsBetweenValues;
27
+ }
28
+ return true;
29
+ }
30
+ /**
31
+ * Given a `values` array and a `nextValue`, determine which value in
32
+ * the array is closest to `nextValue` and return its index.
33
+ *
34
+ * @example
35
+ * // returns 1
36
+ * getClosestValueIndex([10, 30], 25);
37
+ */
38
+ export function getClosestValueIndex(values, nextValue) {
39
+ if (values.length === 1)
40
+ return 0;
41
+ const distances = values.map((value) => Math.abs(value - nextValue));
42
+ const closestDistance = Math.min(...distances);
43
+ return distances.indexOf(closestDistance);
44
+ }
45
+ /**
46
+ * Gets an array of steps between each value.
47
+ *
48
+ * @example
49
+ * // returns [1, 9]
50
+ * getStepsBetweenValues([10, 11, 20]);
51
+ */
52
+ export function getStepsBetweenValues(values) {
53
+ return values.slice(0, -1).map((value, index) => values[index + 1] - value);
54
+ }
55
+ /**
56
+ * Offsets the thumb centre point while sliding to ensure it remains
57
+ * within the bounds of the slider when reaching the edges
58
+ */
59
+ export function getThumbInBoundsOffset(width, left, direction) {
60
+ const halfWidth = width / 2;
61
+ const halfPercent = 50;
62
+ const offset = linearScale([0, halfPercent], [0, halfWidth]);
63
+ return (halfWidth - offset(left) * direction) * direction;
64
+ }
65
+ export function convertValueToPercentage(value, min, max) {
66
+ const maxSteps = max - min;
67
+ const percentPerStep = 100 / maxSteps;
68
+ const percentage = percentPerStep * (value - min);
69
+ return clamp(percentage, 0, 100);
70
+ }
71
+ export function getDecimalCount(value) {
72
+ return (String(value).split('.')[1] || '').length;
73
+ }
74
+ export function roundValue(value, decimalCount) {
75
+ const rounder = 10 ** decimalCount;
76
+ return Math.round(value * rounder) / rounder;
77
+ }
78
+ export function getNextSortedValues(prevValues = [], nextValue, atIndex) {
79
+ const nextValues = [...prevValues];
80
+ nextValues[atIndex] = nextValue;
81
+ return nextValues.sort((a, b) => a - b);
82
+ }
83
+ export const PAGE_KEYS = ['PageUp', 'PageDown'];
84
+ export const ARROW_KEYS = ['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight'];
85
+ export const BACK_KEYS = {
86
+ 'from-left': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],
87
+ 'from-right': ['Home', 'PageDown', 'ArrowDown', 'ArrowRight'],
88
+ 'from-bottom': ['Home', 'PageDown', 'ArrowDown', 'ArrowLeft'],
89
+ 'from-top': ['Home', 'PageDown', 'ArrowUp', 'ArrowLeft']
90
+ };
91
+ export function clamp(value, min = Number.NEGATIVE_INFINITY, max = Number.POSITIVE_INFINITY) {
92
+ return Math.min(Math.max(value, min), max);
93
+ }
94
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NsaWRlci9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUZBQW1GO0FBQ25GLE1BQU0sVUFBVSxXQUFXLENBQUMsS0FBZ0MsRUFBRSxNQUFpQztJQUMzRixPQUFPLENBQUMsS0FBYSxFQUFFLEVBQUU7UUFDckIsSUFBSSxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDO1lBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkUsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELENBQUMsQ0FBQztBQUNOLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFnQixFQUFFLHFCQUE2QjtJQUNwRixJQUFJLHFCQUFxQixHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU0sa0JBQWtCLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekQsTUFBTSwyQkFBMkIsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsa0JBQWtCLENBQUMsQ0FBQztRQUNwRSxPQUFPLDJCQUEyQixJQUFJLHFCQUFxQixDQUFDO0lBQ2hFLENBQUM7SUFDRCxPQUFPLElB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LFVBQVUsR0FBRyxDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0FBRzlFLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBcUM7SUFDdkQsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzNELFlBQVksRUFBRSxDQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQztJQUM3RCxhQUFhLEVBQUUsQ0FBQyxNQUFNLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDN0QsVUFBVSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsV0FBVyxDQUFDO0NBQzNELENBQUM7QUFTRixNQUFNLFVBQVUsS0FBSyxDQUNqQixLQUFhLEVBQ2IsTUFBYyxNQUFNLENBQUMsaUJBQWlCLEVBQ3RDLE1BQWMsTUFBTSxDQUFDLGlCQUFpQjtJQUV0QyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90bWN3LXVwLWZvci1hZG9wdGlvbi9zaW1wbGUtbGluZWFyLXNjYWxlL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG5leHBvcnQgZnVuY3Rpb24gbGluZWFyU2NhbGUoaW5wdXQ6IHJlYWRvbmx5IFtudW1iZXIsIG51bWJlcl0sIG91dHB1dDogcmVhZG9ubHkgW251bWJlciwgbnVtYmVyXSkge1xuICAgIHJldHVybiAodmFsdWU6IG51bWJlcikgPT4ge1xuICAgICAgICBpZiAoaW5wdXRbMF0gPT09IGlucHV0WzFdIHx8IG91dHB1dFswXSA9PT0gb3V0cHV0WzFdKSByZXR1cm4gb3V0cHV0WzBdO1xuICAgICAgICBjb25zdCByYXRpbyA9IChvdXRwdXRbMV0gLSBvdXRwdXRbMF0pIC8gKGlucHV0WzFdIC0gaW5wdXRbMF0pO1xuICAgICAgICByZXR1cm4gb3V0cHV0WzBdICsgcmF0aW8gKiAodmFsdWUgLSBpbnB1dFswXSk7XG4gICAgfTtcbn1cblxuLyoqXG4gKiBWZXJpZmllcyB0aGUgbWluaW11bSBzdGVwcyBiZXR3ZWVuIGFsbCB2YWx1ZXMgaXMgZ3JlYXRlciB0aGFuIG9yIGVxdWFsXG4gKiB0byB0aGUgZXhwZWN0ZWQgbWluaW11bSBzdGVwcy5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyBmYWxzZVxuICogaGFzTWluU3RlcHNCZXR3ZWVuVmFsdWVzKFsxLDIsM10sIDIpO1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyByZXR1cm5zIHRydWVcbiAqIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyhbMSwyLDNdLCAxKTtcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc01pblN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXM6IG51bWJlcltdLCBtaW5TdGVwc0JldHdlZW5WYWx1ZXM6IG51bWJlcikge1xuICAgIGlmIChtaW5TdGVwc0JldHdlZW5WYWx1ZXMgPiAwKSB7XG4gICAgICAgIGNvbnN0IHN0ZXBzQmV0d2VlblZhbHVlcyA9IGdldFN0ZXBzQmV0d2VlblZhbHVlcyh2YWx1ZXMpO1xuICAgICAgICBjb25zdCBhY3R1YWxNaW5TdGVwc0JldHdlZW5WYWx1ZXMgPSBNYXRoLm1pbiguLi5zdGVwc0JldHdlZW5WYWx1ZXMpO1xuICAgICAgICByZXR1cm4gYWN0dWFsTWluU3RlcHNCZXR3ZWVuVmFsdWVzID49IG1pblN0ZXBzQmV0d2VlblZhbHVlcztcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2l2ZW4gYSBgdmFsdWVzYCBhcnJheSBhbmQgYSBgbmV4dFZhbHVlYCwgZGV0ZXJtaW5lIHdoaWNoIHZhbHVlIGluXG4gKiB0aGUgYXJyYXkgaXMgY2xvc2VzdCB0byBgbmV4dFZhbHVlYCBhbmQgcmV0dXJuIGl0cyBpbmRleC5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyAxXG4gKiBnZXRDbG9zZXN0VmFsdWVJbmRleChbMTAsIDMwXSwgMjUpO1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2xvc2VzdFZhbHVlSW5kZXgodmFsdWVzOiBudW1iZXJbXSwgbmV4dFZhbHVlOiBudW1iZXIpIHtcbiAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMSkgcmV0dXJuIDA7XG4gICAgY29uc3QgZGlzdGFuY2VzID0gdmFsdWVzLm1hcCgodmFsdWUpID0+IE1hdGguYWJzKHZhbHVlIC0gbmV4dFZhbHVlKSk7XG4gICAgY29uc3QgY2xvc2VzdERpc3RhbmNlID0gTWF0aC5taW4oLi4uZGlzdGFuY2VzKTtcbiAgICByZXR1cm4gZGlzdGFuY2VzLmluZGV4T2YoY2xvc2VzdERpc3RhbmNlKTtcbn1cblxuLyoqXG4gKiBHZXRzIGFuIGFycmF5IG9mIHN0ZXBzIGJldHdlZW4gZWFjaCB2YWx1ZS5cbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gcmV0dXJucyBbMSwgOV1cbiAqIGdldFN0ZXBzQmV0d2VlblZhbHVlcyhbMTAsIDExLCAyMF0pO1xuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0U3RlcHNCZXR3ZWVuVmFsdWVzKHZhbHVlczogbnVtYmVyW10pIHtcbiAgICByZXR1cm4gdmFsdWVzLnNsaWNlKDAsIC0xKS5tYXAoKHZhbHVlLCBpbmRleCkgPT4gdmFsdWVzW2luZGV4ICsgMV0gLSB2YWx1ZSk7XG59XG5cbi8qKlxuICogT2Zmc2V0cyB0aGUgdGh1bWIgY2VudHJlIHBvaW50IHdoaWxlIHNsaWRpbmcgdG8gZW5zdXJlIGl0IHJlbWFpbnNcbiAqIHdpdGhpbiB0aGUgYm91bmRzIG9mIHRoZSBzbGlkZXIgd2hlbiByZWFjaGluZyB0aGUgZWRnZXNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRodW1iSW5Cb3VuZHNPZmZzZXQod2lkdGg6IG51bWJlciwgbGVmdDogbnVtYmVyLCBkaXJlY3Rpb246IG51bWJlcikge1xuICAgIGNvbnN0IGhhbGZXaWR0aCA9IHdpZHRoIC8gMjtcbiAgICBjb25zdCBoYWxmUGVyY2VudCA9IDUwO1xuICAgIGNvbnN0IG9mZnNldCA9IGxpbmVhclNjYWxlKFswLCBoYWxmUGVyY2VudF0sIFswLCBoYWxmV2lkdGhdKTtcbiAgICByZXR1cm4gKGhhbGZXaWR0aCAtIG9mZnNldChsZWZ0KSAqIGRpcmVjdGlvbikgKiBkaXJlY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VmFsdWVUb1BlcmNlbnRhZ2UodmFsdWU6IG51bWJlciwgbWluOiBudW1iZXIsIG1heDogbnVtYmVyKSB7XG4gICAgY29uc3QgbWF4U3RlcHMgPSBtYXggLSBtaW47XG4gICAgY29uc3QgcGVyY2VudFBlclN0ZXAgPSAxMDAgLyBtYXhTdGVwcztcbiAgICBjb25zdCBwZXJjZW50YWdlID0gcGVyY2VudFBlclN0ZXAgKiAodmFsdWUgLSBtaW4pO1xuICAgIHJldHVybiBjbGFtcChwZXJjZW50YWdlLCAwLCAxMDApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVjaW1hbENvdW50KHZhbHVlOiBudW1iZXIpIHtcbiAgICByZXR1cm4gKFN0cmluZyh2YWx1ZSkuc3BsaXQoJy4nKVsxXSB8fCAnJykubGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcm91bmRWYWx1ZSh2YWx1ZTogbnVtYmVyLCBkZWNpbWFsQ291bnQ6IG51bWJlcikge1xuICAgIGNvbnN0IHJvdW5kZXIgPSAxMCAqKiBkZWNpbWFsQ291bnQ7XG4gICAgcmV0dXJuIE1hdGgucm91bmQodmFsdWUgKiByb3VuZGVyKSAvIHJvdW5kZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXh0U29ydGVkVmFsdWVzKHByZXZWYWx1ZXM6IG51bWJlcltdID0gW10sIG5leHRWYWx1ZTogbnVtYmVyLCBhdEluZGV4OiBudW1iZXIpIHtcbiAgICBjb25zdCBuZXh0VmFsdWVzID0gWy4uLnByZXZWYWx1ZXNdO1xuICAgIG5leHRWYWx1ZXNbYXRJbmRleF0gPSBuZXh0VmFsdWU7XG4gICAgcmV0dXJuIG5leHRWYWx1ZXMuc29ydCgoYSwgYikgPT4gYSAtIGIpO1xufVxuXG5leHBvcnQgY29uc3QgUEFHRV9LRVlTID0gWydQYWdlVXAnLCAnUGFnZURvd24nXTtcbmV4cG9ydCBjb25zdCBBUlJPV19LRVlTID0gWydBcnJvd1VwJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnLCAnQXJyb3dSaWdodCddO1xuXG50eXBlIFNsaWRlRGlyZWN0aW9uID0gJ2Zyb20tbGVmdCcgfCAnZnJvbS1yaWdodCcgfCAnZnJvbS1ib3R0b20nIHwgJ2Zyb20tdG9wJztcbmV4cG9ydCBjb25zdCBCQUNLX0tFWVM6IFJlY29yZDxTbGlkZURpcmVjdGlvbiwgc3RyaW5nW10+ID0ge1xuICAgICdmcm9tLWxlZnQnOiBbJ0hvbWUnLCAnUGFnZURvd24nLCAnQXJyb3dEb3duJywgJ0Fycm93TGVmdCddLFxuICAgICdmcm9tLXJpZ2h0JzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd1JpZ2h0J10sXG4gICAgJ2Zyb20tYm90dG9tJzogWydIb21lJywgJ1BhZ2VEb3duJywgJ0Fycm93RG93bicsICdBcnJvd0xlZnQnXSxcbiAgICAnZnJvbS10b3AnOiBbJ0hvbWUnLCAnUGFnZURvd24nLCAnQXJyb3dVcCcsICdBcnJvd0xlZnQnXVxufTtcblxuZXhwb3J0IGludGVyZmFjZSBPcmllbnRhdGlvbkNvbnRleHQge1xuICAgIGRpcmVjdGlvbjogbnVtYmVyO1xuICAgIHNpemU6ICd3aWR0aCcgfCAnaGVpZ2h0JztcbiAgICBzdGFydEVkZ2U6ICdsZWZ0JyB8ICd0b3AnO1xuICAgIGVuZEVkZ2U6ICdyaWdodCcgfCAnYm90dG9tJztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsYW1wKFxuICAgIHZhbHVlOiBudW1iZXIsXG4gICAgbWluOiBudW1iZXIgPSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksXG4gICAgbWF4OiBudW1iZXIgPSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFlcbik6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbHVlLCBtaW4pLCBtYXgpO1xufVxuIl19
@@ -12,15 +12,15 @@ const switchImports = [
12
12
  RdxSwitchThumbDirective
13
13
  ];
14
14
  export class RdxSwitchModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchModule, imports: [RdxSwitchRootDirective,
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule, imports: [RdxSwitchRootDirective,
17
17
  RdxSwitchInputDirective,
18
18
  RdxSwitchThumbDirective], exports: [RdxSwitchRootDirective,
19
19
  RdxSwitchInputDirective,
20
20
  RdxSwitchThumbDirective] }); }
21
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchModule }); }
21
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchModule, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchModule, decorators: [{
24
24
  type: NgModule,
25
25
  args: [{
26
26
  imports: [...switchImports],
@@ -5,10 +5,10 @@ export class RdxSwitchInputDirective {
5
5
  constructor() {
6
6
  this.switchRoot = injectSwitch();
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: RdxSwitchInputDirective, isStandalone: true, selector: "input[rdxSwitchInput]", host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "attr.defaultChecked": "switchRoot.checked()", "attr.aria-checked": "switchRoot.checked()", "attr.aria-hidden": "true", "attr.aria-required": "switchRoot.required()", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.disabled": "switchRoot.disabledState() ? switchRoot.disabledState() : null", "attr.value": "switchRoot.checked() ? \"on\" : \"off\"" }, styleAttribute: "transform: translateX(-100%); position: absolute; overflow: hidden; pointerEvents: none; opacity: 0; margin: 0;" }, exportAs: ["rdxSwitchInput"], ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchInputDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSwitchInputDirective, isStandalone: true, selector: "input[rdxSwitchInput]", host: { attributes: { "type": "checkbox", "tabindex": "-1" }, properties: { "attr.defaultChecked": "switchRoot.checked()", "attr.aria-checked": "switchRoot.checked()", "attr.aria-hidden": "true", "attr.aria-required": "switchRoot.required()", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.disabled": "switchRoot.disabledState() ? switchRoot.disabledState() : null", "attr.value": "switchRoot.checked() ? \"on\" : \"off\"" }, styleAttribute: "transform: translateX(-100%); position: absolute; overflow: hidden; pointerEvents: none; opacity: 0; margin: 0;" }, exportAs: ["rdxSwitchInput"], ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchInputDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchInputDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'input[rdxSwitchInput]',
@@ -45,12 +45,12 @@ export class RdxSwitchRootDirective {
45
45
  this.checked.set(!this.checked());
46
46
  this.onCheckedChange.emit(this.checked());
47
47
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
49
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.10", type: RdxSwitchRootDirective, isStandalone: true, selector: "button[rdxSwitchRoot]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", onCheckedChange: "onCheckedChange" }, host: { attributes: { "role": "switch", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "id": "elementId()", "attr.aria-checked": "checked()", "attr.aria-required": "required", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "disabledState() ? \"true\" : null", "attr.disabled": "disabledState() ? disabledState() : null" } }, providers: [
48
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
49
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxSwitchRootDirective, isStandalone: true, selector: "button[rdxSwitchRoot]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", onCheckedChange: "onCheckedChange" }, host: { attributes: { "role": "switch", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "id": "elementId()", "attr.aria-checked": "checked()", "attr.aria-required": "required", "attr.data-state": "checked() ? \"checked\" : \"unchecked\"", "attr.data-disabled": "disabledState() ? \"true\" : null", "attr.disabled": "disabledState() ? disabledState() : null" } }, providers: [
50
50
  { provide: RdxSwitchToken, useExisting: RdxSwitchRootDirective }
51
51
  ], exportAs: ["rdxSwitchRoot"], ngImport: i0 }); }
52
52
  }
53
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchRootDirective, decorators: [{
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchRootDirective, decorators: [{
54
54
  type: Directive,
55
55
  args: [{
56
56
  selector: 'button[rdxSwitchRoot]',
@@ -5,10 +5,10 @@ export class RdxSwitchThumbDirective {
5
5
  constructor() {
6
6
  this.switchRoot = injectSwitch();
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: RdxSwitchThumbDirective, isStandalone: true, selector: "span[rdxSwitchThumb]", host: { properties: { "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"" } }, exportAs: ["rdxSwitchThumb"], ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchThumbDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSwitchThumbDirective, isStandalone: true, selector: "span[rdxSwitchThumb]", host: { properties: { "attr.data-disabled": "switchRoot.disabledState() ? \"true\" : null", "attr.data-state": "switchRoot.checked() ? \"checked\" : \"unchecked\"" } }, exportAs: ["rdxSwitchThumb"], ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSwitchThumbDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSwitchThumbDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: 'span[rdxSwitchThumb]',
@@ -17,17 +17,17 @@ const tabsImports = [
17
17
  RdxTabsTriggerDirective
18
18
  ];
19
19
  export class RdxTabsModule {
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsModule, imports: [RdxTabsRootDirective,
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
21
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, imports: [RdxTabsRootDirective,
22
22
  RdxTabsContentDirective,
23
23
  RdxTabsListDirective,
24
24
  RdxTabsTriggerDirective], exports: [RdxTabsRootDirective,
25
25
  RdxTabsContentDirective,
26
26
  RdxTabsListDirective,
27
27
  RdxTabsTriggerDirective] }); }
28
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsModule, providers: [RdxTabsContextService] }); }
28
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, providers: [RdxTabsContextService] }); }
29
29
  }
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsModule, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsModule, decorators: [{
31
31
  type: NgModule,
32
32
  args: [{
33
33
  imports: [...tabsImports],
@@ -7,10 +7,10 @@ export class RdxTabsContentDirective {
7
7
  this.value = input.required();
8
8
  this.selected = computed(() => this.tabsContext.value$() === this.value());
9
9
  }
10
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.10", type: RdxTabsContentDirective, isStandalone: true, selector: "[rdxTabsContent]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, properties: { "id": "tabsContext.getBaseId()", "attr.aria-labelledby": "tabsContext.getBaseId()", "attr.data-state": "selected() ? \"active\" : \"inactive\"", "attr.data-orientation": "tabsContext.orientation$()", "hidden": "!selected()" } }, ngImport: i0 }); }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
11
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTabsContentDirective, isStandalone: true, selector: "[rdxTabsContent]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "tabpanel", "tabindex": "0" }, properties: { "id": "tabsContext.getBaseId()", "attr.aria-labelledby": "tabsContext.getBaseId()", "attr.data-state": "selected() ? \"active\" : \"inactive\"", "attr.data-orientation": "tabsContext.orientation$()", "hidden": "!selected()" } }, ngImport: i0 }); }
12
12
  }
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsContentDirective, decorators: [{
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContentDirective, decorators: [{
14
14
  type: Directive,
15
15
  args: [{
16
16
  selector: '[rdxTabsContent]',
@@ -31,10 +31,10 @@ export class RdxTabsContextService {
31
31
  generateId() {
32
32
  return `tabs-${Math.random().toString(36).substr(2, 9)}`;
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsContextService, providedIn: 'root' }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContextService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
35
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContextService, providedIn: 'root' }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsContextService, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsContextService, decorators: [{
38
38
  type: Injectable,
39
39
  args: [{
40
40
  providedIn: 'root'
@@ -5,10 +5,10 @@ export class RdxTabsListDirective {
5
5
  constructor() {
6
6
  this.tabsContext = inject(TABS_CONTEXT_TOKEN);
7
7
  }
8
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: RdxTabsListDirective, isStandalone: true, selector: "[rdxTabsList]", host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "tabsContext.orientation$()", "attr.data-orientation": "tabsContext.orientation$()" } }, ngImport: i0 }); }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
9
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTabsListDirective, isStandalone: true, selector: "[rdxTabsList]", host: { attributes: { "role": "tablist" }, properties: { "attr.aria-orientation": "tabsContext.orientation$()", "attr.data-orientation": "tabsContext.orientation$()" } }, ngImport: i0 }); }
10
10
  }
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsListDirective, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsListDirective, decorators: [{
12
12
  type: Directive,
13
13
  args: [{
14
14
  selector: '[rdxTabsList]',
@@ -26,10 +26,10 @@ export class RdxTabsRootDirective {
26
26
  this.tabsContext.setValue(this.defaultValue);
27
27
  }
28
28
  }
29
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.10", type: RdxTabsRootDirective, isStandalone: true, selector: "[rdxTabsRoot]", inputs: { value: "value", defaultValue: "defaultValue", orientation: "orientation", dir: "dir" }, outputs: { onValueChange: "onValueChange" }, host: { properties: { "attr.data-orientation": "orientation", "attr.dir": "dir" } }, providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }], ngImport: i0 }); }
29
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
30
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxTabsRootDirective, isStandalone: true, selector: "[rdxTabsRoot]", inputs: { value: "value", defaultValue: "defaultValue", orientation: "orientation", dir: "dir" }, outputs: { onValueChange: "onValueChange" }, host: { properties: { "attr.data-orientation": "orientation", "attr.dir": "dir" } }, providers: [{ provide: TABS_CONTEXT_TOKEN, useExisting: RdxTabsContextService }], ngImport: i0 }); }
31
31
  }
32
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsRootDirective, decorators: [{
32
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsRootDirective, decorators: [{
33
33
  type: Directive,
34
34
  args: [{
35
35
  selector: '[rdxTabsRoot]',
@@ -28,10 +28,10 @@ export class RdxTabsTriggerDirective {
28
28
  this.tabsContext?.setValue(this.value());
29
29
  }
30
30
  }
31
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.10", type: RdxTabsTriggerDirective, isStandalone: true, selector: "[rdxTabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, listeners: { "mousedown": "onMouseDown($event)", "keydown": "onKeyDown($event)" }, properties: { "id": "triggerId", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.data-disabled": "disabled() ? '' : undefined", "attr.data-state": "selected() ? 'active' : 'inactive'" } }, ngImport: i0 }); }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
32
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxTabsTriggerDirective, isStandalone: true, selector: "[rdxTabsTrigger]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "type": "button", "role": "tab" }, listeners: { "mousedown": "onMouseDown($event)", "keydown": "onKeyDown($event)" }, properties: { "id": "triggerId", "attr.aria-selected": "selected()", "attr.aria-controls": "contentId()", "attr.data-disabled": "disabled() ? '' : undefined", "attr.data-state": "selected() ? 'active' : 'inactive'" } }, ngImport: i0 }); }
33
33
  }
34
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxTabsTriggerDirective, decorators: [{
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxTabsTriggerDirective, decorators: [{
35
35
  type: Directive,
36
36
  args: [{
37
37
  selector: '[rdxTabsTrigger]',