@radix-ng/primitives 0.16.0 → 0.17.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 (149) hide show
  1. package/checkbox/src/checkbox-input.directive.d.ts +2 -1
  2. package/compodoc/documentation.json +3032 -1690
  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 +26 -0
  93. package/esm2022/select/src/select.component.mjs +233 -0
  94. package/esm2022/separator/src/separator.directive.mjs +3 -3
  95. package/esm2022/switch/index.mjs +4 -4
  96. package/esm2022/switch/src/switch-input.directive.mjs +3 -3
  97. package/esm2022/switch/src/switch-root.directive.mjs +3 -3
  98. package/esm2022/switch/src/switch-thumb.directive.mjs +3 -3
  99. package/esm2022/tabs/index.mjs +4 -4
  100. package/esm2022/tabs/src/tabs-content.directive.mjs +3 -3
  101. package/esm2022/tabs/src/tabs-context.service.mjs +3 -3
  102. package/esm2022/tabs/src/tabs-list.directive.mjs +3 -3
  103. package/esm2022/tabs/src/tabs-root.directive.mjs +3 -3
  104. package/esm2022/tabs/src/tabs-trigger.directive.mjs +3 -3
  105. package/esm2022/toggle/src/toggle-input.directive.mjs +3 -3
  106. package/esm2022/toggle/src/toggle.directive.mjs +3 -3
  107. package/esm2022/toggle-group/src/toggle-group-item.directive.mjs +3 -3
  108. package/esm2022/toggle-group/src/toggle-group-multiple.directive.mjs +3 -3
  109. package/esm2022/toggle-group/src/toggle-group.directive.mjs +3 -3
  110. package/esm2022/visually-hidden/src/visually-hidden-input-bubble.directive.mjs +3 -3
  111. package/esm2022/visually-hidden/src/visually-hidden-input.directive.mjs +3 -3
  112. package/esm2022/visually-hidden/src/visually-hidden.directive.mjs +3 -3
  113. package/fesm2022/radix-ng-primitives-accordion.mjs +19 -19
  114. package/fesm2022/radix-ng-primitives-alert-dialog.mjs +22 -22
  115. package/fesm2022/radix-ng-primitives-aspect-ratio.mjs +3 -3
  116. package/fesm2022/radix-ng-primitives-avatar.mjs +9 -9
  117. package/fesm2022/radix-ng-primitives-checkbox.mjs +15 -12
  118. package/fesm2022/radix-ng-primitives-checkbox.mjs.map +1 -1
  119. package/fesm2022/radix-ng-primitives-collapsible.mjs +9 -9
  120. package/fesm2022/radix-ng-primitives-context-menu.mjs +34 -34
  121. package/fesm2022/radix-ng-primitives-core.mjs +3 -3
  122. package/fesm2022/radix-ng-primitives-dialog.mjs +25 -25
  123. package/fesm2022/radix-ng-primitives-dropdown-menu.mjs +34 -34
  124. package/fesm2022/radix-ng-primitives-label.mjs +3 -3
  125. package/fesm2022/radix-ng-primitives-menu.mjs +22 -22
  126. package/fesm2022/radix-ng-primitives-menubar.mjs +31 -31
  127. package/fesm2022/radix-ng-primitives-progress.mjs +10 -10
  128. package/fesm2022/radix-ng-primitives-radio.mjs +9 -9
  129. package/fesm2022/radix-ng-primitives-select.mjs +576 -0
  130. package/fesm2022/radix-ng-primitives-select.mjs.map +1 -0
  131. package/fesm2022/radix-ng-primitives-separator.mjs +3 -3
  132. package/fesm2022/radix-ng-primitives-switch.mjs +13 -13
  133. package/fesm2022/radix-ng-primitives-tabs.mjs +19 -19
  134. package/fesm2022/radix-ng-primitives-toggle-group.mjs +9 -9
  135. package/fesm2022/radix-ng-primitives-toggle.mjs +6 -6
  136. package/fesm2022/radix-ng-primitives-visually-hidden.mjs +9 -9
  137. package/package.json +7 -1
  138. package/select/README.md +1 -0
  139. package/select/index.d.ts +26 -0
  140. package/select/src/select-content.directive.d.ts +20 -0
  141. package/select/src/select-group.directive.d.ts +5 -0
  142. package/select/src/select-icon.directive.d.ts +5 -0
  143. package/select/src/select-item-indicator.directive.d.ts +7 -0
  144. package/select/src/select-item.directive.d.ts +47 -0
  145. package/select/src/select-label.directive.d.ts +5 -0
  146. package/select/src/select-separator.directive.d.ts +5 -0
  147. package/select/src/select-trigger.directive.d.ts +11 -0
  148. package/select/src/select-value.directive.d.ts +8 -0
  149. package/select/src/select.component.d.ts +81 -0
@@ -0,0 +1,116 @@
1
+ import { ENTER, SPACE } from '@angular/cdk/keycodes';
2
+ import { booleanAttribute, Directive, ElementRef, EventEmitter, inject, Input } from '@angular/core';
3
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
4
+ import { RdxSelectContentDirective } from './select-content.directive';
5
+ import { RdxSelectComponent } from './select.component';
6
+ import * as i0 from "@angular/core";
7
+ let nextId = 0;
8
+ export class RdxSelectItemChange {
9
+ constructor(source) {
10
+ this.source = source;
11
+ }
12
+ }
13
+ export class RdxSelectItemDirective {
14
+ get dataState() {
15
+ return this.selected ? 'checked' : 'unchecked';
16
+ }
17
+ set value(value) {
18
+ this._value = value;
19
+ }
20
+ get value() {
21
+ return this._value || this.id;
22
+ }
23
+ /** Whether the SelectItem is disabled. */
24
+ set disabled(value) {
25
+ this._disabled = value;
26
+ }
27
+ get disabled() {
28
+ return this._disabled;
29
+ }
30
+ get viewValue() {
31
+ return this.textValue ?? this.nativeElement.textContent;
32
+ }
33
+ constructor() {
34
+ this.select = inject(RdxSelectComponent);
35
+ this.content = inject(RdxSelectContentDirective);
36
+ this.onSelectionChange = new EventEmitter();
37
+ this.nativeElement = inject(ElementRef).nativeElement;
38
+ this.highlighted = false;
39
+ /**
40
+ * The unique SelectItem id.
41
+ * @ignore
42
+ */
43
+ this.id = `rdx-select-item-${nextId++}`;
44
+ this.textValue = null;
45
+ this.content.highlighted.pipe(takeUntilDestroyed()).subscribe((value) => {
46
+ if (value !== this) {
47
+ this.highlighted = false;
48
+ }
49
+ });
50
+ }
51
+ /** Gets the label to be used when determining whether the option should be focused. */
52
+ getLabel() {
53
+ return this.viewValue;
54
+ }
55
+ /**
56
+ * `Selects the option while indicating the selection came from the user. Used to
57
+ * determine if the select's view -> model callback should be invoked.`
58
+ */
59
+ selectViaInteraction() {
60
+ if (!this.disabled) {
61
+ this.selected = true;
62
+ this.onSelectionChange.emit(new RdxSelectItemChange(this));
63
+ }
64
+ }
65
+ handleKeydown(event) {
66
+ if (event.keyCode === ENTER || event.keyCode === SPACE) {
67
+ this.selectViaInteraction();
68
+ // Prevent the page from scrolling down and form submits.
69
+ event.preventDefault();
70
+ event.stopPropagation();
71
+ }
72
+ }
73
+ setActiveStyles() {
74
+ this.highlighted = true;
75
+ this.nativeElement.focus({ preventScroll: true });
76
+ }
77
+ setInactiveStyles() {
78
+ this.highlighted = false;
79
+ }
80
+ onPointerMove() {
81
+ if (!this.highlighted) {
82
+ this.nativeElement.focus({ preventScroll: true });
83
+ this.select.updateActiveItem(this);
84
+ }
85
+ }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
87
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "18.2.11", type: RdxSelectItemDirective, isStandalone: true, selector: "[rdxSelectItem]", inputs: { value: "value", textValue: "textValue", disabled: ["disabled", "disabled", booleanAttribute] }, host: { listeners: { "focus": "content.highlighted.next(this)", "click": "selectViaInteraction()", "keydown": "handleKeydown($event)", "pointermove": "onPointerMove()" }, properties: { "attr.role": "\"option\"", "attr.data-state": "dataState", "attr.aria-selected": "selected", "attr.data-disabled": "disabled || null", "attr.data-highlighted": "highlighted || null", "attr.tabindex": "-1" } }, exportAs: ["rdxSelectItem"], ngImport: i0 }); }
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectItemDirective, decorators: [{
90
+ type: Directive,
91
+ args: [{
92
+ selector: '[rdxSelectItem]',
93
+ standalone: true,
94
+ exportAs: 'rdxSelectItem',
95
+ host: {
96
+ '[attr.role]': '"option"',
97
+ '[attr.data-state]': 'dataState',
98
+ '[attr.aria-selected]': 'selected',
99
+ '[attr.data-disabled]': 'disabled || null',
100
+ '[attr.data-highlighted]': 'highlighted || null',
101
+ '[attr.tabindex]': '-1',
102
+ '(focus)': 'content.highlighted.next(this)',
103
+ '(click)': 'selectViaInteraction()',
104
+ '(keydown)': 'handleKeydown($event)',
105
+ '(pointermove)': 'onPointerMove()'
106
+ }
107
+ }]
108
+ }], ctorParameters: () => [], propDecorators: { value: [{
109
+ type: Input
110
+ }], textValue: [{
111
+ type: Input
112
+ }], disabled: [{
113
+ type: Input,
114
+ args: [{ transform: booleanAttribute }]
115
+ }] } });
116
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWl0ZW0uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zZWxlY3Qvc3JjL3NlbGVjdC1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUV4RCxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFFZixNQUFNLE9BQU8sbUJBQW1CO0lBQzVCLFlBQW1CLE1BQVM7UUFBVCxXQUFNLEdBQU4sTUFBTSxDQUFHO0lBQUcsQ0FBQztDQUNuQztBQW1CRCxNQUFNLE9BQU8sc0JBQXNCO0lBVS9CLElBQUksU0FBUztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbkQsQ0FBQztJQVFELElBQ0ksS0FBSyxDQUFDLEtBQWE7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQUksS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFNRCwwQ0FBMEM7SUFDMUMsSUFDSSxRQUFRLENBQUMsS0FBYztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUss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LEVBQUUscUJBQXFCO3dCQUNoRCxpQkFBaUIsRUFBRSxJQUFJO3dCQUN2QixTQUFTLEVBQUUsZ0NBQWdDO3dCQUMzQyxTQUFTLEVBQUUsd0JBQXdCO3dCQUNuQyxXQUFXLEVBQUUsdUJBQXVCO3dCQUNwQyxlQUFlLEVBQUUsaUJBQWlCO3FCQUNyQztpQkFDSjt3REFzQk8sS0FBSztzQkFEUixLQUFLO2dCQVdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUYsUUFBUTtzQkFEWCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGlnaGxpZ2h0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB7IEVOVEVSLCBTUEFDRSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQgeyBib29sZWFuQXR0cmlidXRlLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUmR4U2VsZWN0Q29udGVudERpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWNvbnRlbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5leHBvcnQgY2xhc3MgUmR4U2VsZWN0SXRlbUNoYW5nZTxUID0gUmR4U2VsZWN0SXRlbURpcmVjdGl2ZT4ge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBzb3VyY2U6IFQpIHt9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFNlbGVjdEl0ZW1dJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGV4cG9ydEFzOiAncmR4U2VsZWN0SXRlbScsXG4gICAgaG9zdDoge1xuICAgICAgICAnW2F0dHIucm9sZV0nOiAnXCJvcHRpb25cIicsXG4gICAgICAgICdbYXR0ci5kYXRhLXN0YXRlXSc6ICdkYXRhU3RhdGUnLFxuICAgICAgICAnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnc2VsZWN0ZWQnLFxuICAgICAgICAnW2F0dHIuZGF0YS1kaXNhYmxlZF0nOiAnZGlzYWJsZWQgfHwgbnVsbCcsXG4gICAgICAgICdbYXR0ci5kYXRhLWhpZ2hsaWdodGVkXSc6ICdoaWdobGlnaHRlZCB8fCBudWxsJyxcbiAgICAgICAgJ1thdHRyLnRhYmluZGV4XSc6ICctMScsXG4gICAgICAgICcoZm9jdXMpJzogJ2NvbnRlbnQuaGlnaGxpZ2h0ZWQubmV4dCh0aGlzKScsXG4gICAgICAgICcoY2xpY2spJzogJ3NlbGVjdFZpYUludGVyYWN0aW9uKCknLFxuICAgICAgICAnKGtleWRvd24pJzogJ2hhbmRsZUtleWRvd24oJGV2ZW50KScsXG4gICAgICAgICcocG9pbnRlcm1vdmUpJzogJ29uUG9pbnRlck1vdmUoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFNlbGVjdEl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBIaWdobGlnaHRhYmxlIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2VsZWN0ID0gaW5qZWN0KFJkeFNlbGVjdENvbXBvbmVudCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGNvbnRlbnQgPSBpbmplY3QoUmR4U2VsZWN0Q29udGVudERpcmVjdGl2ZSk7XG4gICAgcmVhZG9ubHkgb25TZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFJkeFNlbGVjdEl0ZW1DaGFuZ2U+KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hdGl2ZUVsZW1lbnQgPSBpbmplY3QoRWxlbWVudFJlZikubmF0aXZlRWxlbWVudDtcblxuICAgIGhpZ2hsaWdodGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcblxuICAgIGdldCBkYXRhU3RhdGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWQgPyAnY2hlY2tlZCcgOiAndW5jaGVja2VkJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdW5pcXVlIFNlbGVjdEl0ZW0gaWQuXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHJlYWRvbmx5IGlkOiBzdHJpbmcgPSBgcmR4LXNlbGVjdC1pdGVtLSR7bmV4dElkKyt9YDtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3ZhbHVlIHx8IHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfdmFsdWU/OiBzdHJpbmc7XG5cbiAgICBASW5wdXQoKSB0ZXh0VmFsdWU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIFdoZXRoZXIgdGhlIFNlbGVjdEl0ZW0gaXMgZGlzYWJsZWQuICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gICAgc2V0IGRpc2FibGVkKHZhbHVlOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gdmFsdWU7XG4gICAgfVxuXG4gICAgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICBnZXQgdmlld1ZhbHVlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRWYWx1ZSA/PyB0aGlzLm5hdGl2ZUVsZW1lbnQudGV4dENvbnRlbnQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuY29udGVudC5oaWdobGlnaHRlZC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCgpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhpZ2hsaWdodGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKiBHZXRzIHRoZSBsYWJlbCB0byBiZSB1c2VkIHdoZW4gZGV0ZXJtaW5pbmcgd2hldGhlciB0aGUgb3B0aW9uIHNob3VsZCBiZSBmb2N1c2VkLiAqL1xuICAgIGdldExhYmVsKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdWYWx1ZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBgU2VsZWN0cyB0aGUgb3B0aW9uIHdoaWxlIGluZGljYXRpbmcgdGhlIHNlbGVjdGlvbiBjYW1lIGZyb20gdGhlIHVzZXIuIFVzZWQgdG9cbiAgICAgKiBkZXRlcm1pbmUgaWYgdGhlIHNlbGVjdCdzIHZpZXcgLT4gbW9kZWwgY2FsbGJhY2sgc2hvdWxkIGJlIGludm9rZWQuYFxuICAgICAqL1xuICAgIHNlbGVjdFZpYUludGVyYWN0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLm9uU2VsZWN0aW9uQ2hhbmdlLmVtaXQobmV3IFJkeFNlbGVjdEl0ZW1DaGFuZ2UodGhpcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGFuZGxlS2V5ZG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoZXZlbnQua2V5Q29kZSA9PT0gRU5URVIgfHwgZXZlbnQua2V5Q29kZSA9PT0gU1BBQ0UpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0VmlhSW50ZXJhY3Rpb24oKTtcblxuICAgICAgICAgICAgLy8gUHJldmVudCB0aGUgcGFnZSBmcm9tIHNjcm9sbGluZyBkb3duIGFuZCBmb3JtIHN1Ym1pdHMuXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRBY3RpdmVTdHlsZXMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlnaGxpZ2h0ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQuZm9jdXMoeyBwcmV2ZW50U2Nyb2xsOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIHNldEluYWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhpZ2hsaWdodGVkID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uUG9pbnRlck1vdmUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5oaWdobGlnaHRlZCkge1xuICAgICAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0LnVwZGF0ZUFjdGl2ZUl0ZW0odGhpcyk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RdxSelectLabelDirective {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectLabelDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSelectLabelDirective, isStandalone: true, selector: "[rdxSelectLabel]", exportAs: ["rdxSelectLabel"], ngImport: i0 }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectLabelDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[rdxSelectLabel]',
11
+ standalone: true,
12
+ exportAs: 'rdxSelectLabel'
13
+ }]
14
+ }] });
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWxhYmVsLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VsZWN0L3NyYy9zZWxlY3QtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzFDLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjttR0FBdkIsdUJBQXVCOzs0RkFBdkIsdUJBQXVCO2tCQUxuQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxrQkFBa0I7b0JBQzVCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsZ0JBQWdCO2lCQUM3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhTZWxlY3RMYWJlbF0nLFxuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgZXhwb3J0QXM6ICdyZHhTZWxlY3RMYWJlbCdcbn0pXG5leHBvcnQgY2xhc3MgUmR4U2VsZWN0TGFiZWxEaXJlY3RpdmUge31cbiJdfQ==
@@ -0,0 +1,18 @@
1
+ import { Directive } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class RdxSelectSeparatorDirective {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectSeparatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
5
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSelectSeparatorDirective, isStandalone: true, selector: "[rdxSelectSeparator]", host: { properties: { "attr.aria-hidden": "true" } }, exportAs: ["rdxSelectSeparator"], ngImport: i0 }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectSeparatorDirective, decorators: [{
8
+ type: Directive,
9
+ args: [{
10
+ selector: '[rdxSelectSeparator]',
11
+ standalone: true,
12
+ exportAs: 'rdxSelectSeparator',
13
+ host: {
14
+ '[attr.aria-hidden]': 'true'
15
+ }
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXNlcGFyYXRvci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9wcmltaXRpdmVzL3NlbGVjdC9zcmMvc2VsZWN0LXNlcGFyYXRvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVMUMsTUFBTSxPQUFPLDJCQUEyQjsrR0FBM0IsMkJBQTJCO21HQUEzQiwyQkFBMkI7OzRGQUEzQiwyQkFBMkI7a0JBUnZDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLElBQUksRUFBRTt3QkFDRixvQkFBb0IsRUFBRSxNQUFNO3FCQUMvQjtpQkFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tyZHhTZWxlY3RTZXBhcmF0b3JdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGV4cG9ydEFzOiAncmR4U2VsZWN0U2VwYXJhdG9yJyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5hcmlhLWhpZGRlbl0nOiAndHJ1ZSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIFJkeFNlbGVjdFNlcGFyYXRvckRpcmVjdGl2ZSB7fVxuIl19
@@ -0,0 +1,38 @@
1
+ import { ContentChild, Directive, ElementRef, inject } from '@angular/core';
2
+ import { RdxSelectValueDirective } from './select-value.directive';
3
+ import { RdxSelectComponent } from './select.component';
4
+ import * as i0 from "@angular/core";
5
+ export class RdxSelectTriggerDirective {
6
+ constructor() {
7
+ this.nativeElement = inject(ElementRef).nativeElement;
8
+ this.select = inject(RdxSelectComponent);
9
+ }
10
+ focus() {
11
+ this.nativeElement.focus();
12
+ }
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
14
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.11", type: RdxSelectTriggerDirective, isStandalone: true, selector: "[rdxSelectTrigger]", host: { properties: { "attr.type": "\"button\"", "attr.role": "\"combobox\"", "attr.aria-autocomplete": "\"none\"", "attr.dir": "select.dir", "attr.aria-expanded": "select.open", "attr.aria-required": "select.required", "attr.disabled": "select.disabled ? \"\" : null", "attr.data-disabled": "select.disabled ? \"\" : null", "attr.data-state": "select.open ? 'open': 'closed'", "attr.data-placeholder": "value.placeholder || null" } }, queries: [{ propertyName: "value", first: true, predicate: RdxSelectValueDirective, descendants: true }], ngImport: i0 }); }
15
+ }
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectTriggerDirective, decorators: [{
17
+ type: Directive,
18
+ args: [{
19
+ selector: '[rdxSelectTrigger]',
20
+ standalone: true,
21
+ host: {
22
+ '[attr.type]': '"button"',
23
+ '[attr.role]': '"combobox"',
24
+ '[attr.aria-autocomplete]': '"none"',
25
+ '[attr.dir]': 'select.dir',
26
+ '[attr.aria-expanded]': 'select.open',
27
+ '[attr.aria-required]': 'select.required',
28
+ '[attr.disabled]': 'select.disabled ? "" : null',
29
+ '[attr.data-disabled]': 'select.disabled ? "" : null',
30
+ '[attr.data-state]': "select.open ? 'open': 'closed'",
31
+ '[attr.data-placeholder]': 'value.placeholder || null'
32
+ }
33
+ }]
34
+ }], propDecorators: { value: [{
35
+ type: ContentChild,
36
+ args: [RdxSelectValueDirective]
37
+ }] } });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXRyaWdnZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvcHJpbWl0aXZlcy9zZWxlY3Qvc3JjL3NlbGVjdC10cmlnZ2VyLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQW1CeEQsTUFBTSxPQUFPLHlCQUF5QjtJQWpCdEM7UUFrQmMsa0JBQWEsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDO1FBQ2pELFdBQU0sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQU9qRDtJQUhHLEtBQUs7UUFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7K0dBUlEseUJBQXlCO21HQUF6Qix5QkFBeUIscWlCQUlwQix1QkFBdUI7OzRGQUo1Qix5QkFBeUI7a0JBakJyQyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSxvQkFBb0I7b0JBQzlCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0YsYUFBYSxFQUFFLFVBQVU7d0JBQ3pCLGFBQWEsRUFBRSxZQUFZO3dCQUMzQiwwQkFBMEIsRUFBRSxRQUFRO3dCQUNwQyxZQUFZLEVBQUUsWUFBWTt3QkFDMUIsc0JBQXNCLEVBQUUsYUFBYTt3QkFDckMsc0JBQXNCLEVBQUUsaUJBQWlCO3dCQUV6QyxpQkFBaUIsRUFBRSw2QkFBNkI7d0JBQ2hELHNCQUFzQixFQUFFLDZCQUE2Qjt3QkFDckQsbUJBQW1CLEVBQUUsZ0NBQWdDO3dCQUNyRCx5QkFBeUIsRUFBRSwyQkFBMkI7cUJBQ3pEO2lCQUNKOzhCQUtvRCxLQUFLO3NCQUFyRCxZQUFZO3VCQUFDLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRlbnRDaGlsZCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFNlbGVjdFZhbHVlRGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QtdmFsdWUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFNlbGVjdFRyaWdnZXJdJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLnR5cGVdJzogJ1wiYnV0dG9uXCInLFxuICAgICAgICAnW2F0dHIucm9sZV0nOiAnXCJjb21ib2JveFwiJyxcbiAgICAgICAgJ1thdHRyLmFyaWEtYXV0b2NvbXBsZXRlXSc6ICdcIm5vbmVcIicsXG4gICAgICAgICdbYXR0ci5kaXJdJzogJ3NlbGVjdC5kaXInLFxuICAgICAgICAnW2F0dHIuYXJpYS1leHBhbmRlZF0nOiAnc2VsZWN0Lm9wZW4nLFxuICAgICAgICAnW2F0dHIuYXJpYS1yZXF1aXJlZF0nOiAnc2VsZWN0LnJlcXVpcmVkJyxcblxuICAgICAgICAnW2F0dHIuZGlzYWJsZWRdJzogJ3NlbGVjdC5kaXNhYmxlZCA/IFwiXCIgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtZGlzYWJsZWRdJzogJ3NlbGVjdC5kaXNhYmxlZCA/IFwiXCIgOiBudWxsJyxcbiAgICAgICAgJ1thdHRyLmRhdGEtc3RhdGVdJzogXCJzZWxlY3Qub3BlbiA/ICdvcGVuJzogJ2Nsb3NlZCdcIixcbiAgICAgICAgJ1thdHRyLmRhdGEtcGxhY2Vob2xkZXJdJzogJ3ZhbHVlLnBsYWNlaG9sZGVyIHx8IG51bGwnXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBSZHhTZWxlY3RUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgICBwcm90ZWN0ZWQgbmF0aXZlRWxlbWVudCA9IGluamVjdChFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgIHByb3RlY3RlZCBzZWxlY3QgPSBpbmplY3QoUmR4U2VsZWN0Q29tcG9uZW50KTtcblxuICAgIEBDb250ZW50Q2hpbGQoUmR4U2VsZWN0VmFsdWVEaXJlY3RpdmUpIHByb3RlY3RlZCB2YWx1ZTogUmR4U2VsZWN0VmFsdWVEaXJlY3RpdmU7XG5cbiAgICBmb2N1cygpIHtcbiAgICAgICAgdGhpcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,26 @@
1
+ import { Component, inject, Input } from '@angular/core';
2
+ import { RdxSelectComponent } from './select.component';
3
+ import * as i0 from "@angular/core";
4
+ export class RdxSelectValueDirective {
5
+ constructor() {
6
+ this.select = inject(RdxSelectComponent);
7
+ }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectValueDirective, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.11", type: RdxSelectValueDirective, isStandalone: true, selector: "[rdxSelectValue]", inputs: { placeholder: "placeholder" }, exportAs: ["rdxSelectValue"], ngImport: i0, template: `
10
+ {{ select.selectionModel.isEmpty() ? placeholder : select.selected }}
11
+ `, isInline: true }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectValueDirective, decorators: [{
14
+ type: Component,
15
+ args: [{
16
+ selector: '[rdxSelectValue]',
17
+ standalone: true,
18
+ exportAs: 'rdxSelectValue',
19
+ template: `
20
+ {{ select.selectionModel.isEmpty() ? placeholder : select.selected }}
21
+ `
22
+ }]
23
+ }], propDecorators: { placeholder: [{
24
+ type: Input
25
+ }] } });
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LXZhbHVlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VsZWN0L3NyYy9zZWxlY3QtdmFsdWUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFVeEQsTUFBTSxPQUFPLHVCQUF1QjtJQVJwQztRQVNJLFdBQU0sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztLQUd2QzsrR0FKWSx1QkFBdUI7bUdBQXZCLHVCQUF1QixrSkFKdEI7O0tBRVQ7OzRGQUVRLHVCQUF1QjtrQkFSbkMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO29CQUM1QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsUUFBUSxFQUFFOztLQUVUO2lCQUNKOzhCQUlZLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGluamVjdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJkeFNlbGVjdENvbXBvbmVudCB9IGZyb20gJy4vc2VsZWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnW3JkeFNlbGVjdFZhbHVlXScsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBleHBvcnRBczogJ3JkeFNlbGVjdFZhbHVlJyxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICB7eyBzZWxlY3Quc2VsZWN0aW9uTW9kZWwuaXNFbXB0eSgpID8gcGxhY2Vob2xkZXIgOiBzZWxlY3Quc2VsZWN0ZWQgfX1cbiAgICBgXG59KVxuZXhwb3J0IGNsYXNzIFJkeFNlbGVjdFZhbHVlRGlyZWN0aXZlIHtcbiAgICBzZWxlY3QgPSBpbmplY3QoUmR4U2VsZWN0Q29tcG9uZW50KTtcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,233 @@
1
+ import { Directionality } from '@angular/cdk/bidi';
2
+ import { SelectionModel } from '@angular/cdk/collections';
3
+ import { CdkConnectedOverlay, Overlay, OverlayModule } from '@angular/cdk/overlay';
4
+ import { booleanAttribute, ChangeDetectorRef, Component, ContentChild, ContentChildren, DestroyRef, ElementRef, EventEmitter, inject, Input, NgZone, Output, QueryList, ViewChild } from '@angular/core';
5
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
+ import { defer, delay, merge, Subscription, switchMap, take } from 'rxjs';
7
+ import { RdxSelectContentDirective } from './select-content.directive';
8
+ import { RdxSelectItemDirective } from './select-item.directive';
9
+ import { RdxSelectTriggerDirective } from './select-trigger.directive';
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@angular/cdk/overlay";
12
+ let nextId = 0;
13
+ export class RdxSelectComponent {
14
+ constructor() {
15
+ this.overlay = inject(Overlay);
16
+ this.elementRef = inject(ElementRef);
17
+ this.changeDetectorRef = inject(ChangeDetectorRef);
18
+ this.destroyRef = inject(DestroyRef);
19
+ this.ngZone = inject(NgZone);
20
+ /**
21
+ * This position config ensures that the top "start" corner of the overlay
22
+ * is aligned with the top "start" of the origin by default (overlapping
23
+ * the trigger completely). If the panel cannot fit below the trigger, it
24
+ * will fall back to a position above the trigger.
25
+ */
26
+ this.positions = [
27
+ {
28
+ originX: 'start',
29
+ originY: 'bottom',
30
+ overlayX: 'start',
31
+ overlayY: 'top'
32
+ },
33
+ {
34
+ originX: 'start',
35
+ originY: 'top',
36
+ overlayX: 'start',
37
+ overlayY: 'bottom'
38
+ }
39
+ ];
40
+ this.closeSubscription = Subscription.EMPTY;
41
+ /**
42
+ * @ignore
43
+ */
44
+ this.dir = inject(Directionality, { optional: true });
45
+ /**
46
+ * @ignore
47
+ */
48
+ this.id = `rdx-select-${nextId++}`;
49
+ this.onValueChange = new EventEmitter();
50
+ this.onOpenChange = new EventEmitter();
51
+ this.optionSelectionChanges = defer(() => {
52
+ if (this.content.options) {
53
+ return merge(...this.content.options.map((option) => option.onSelectionChange));
54
+ }
55
+ return this.ngZone.onStable.asObservable().pipe(take(1), switchMap(() => this.optionSelectionChanges));
56
+ });
57
+ }
58
+ /**
59
+ * The controlled value of the item to expand
60
+ */
61
+ set value(value) {
62
+ if (this._value !== value) {
63
+ this._value = value;
64
+ this.selectValue(value);
65
+ this.changeDetectorRef.markForCheck();
66
+ }
67
+ }
68
+ get value() {
69
+ return this._value ?? this.defaultValue;
70
+ }
71
+ get selected() {
72
+ return this.selectionModel.selected[0].viewValue || null;
73
+ }
74
+ ngOnInit() {
75
+ this.selectionModel = new SelectionModel();
76
+ this.selectionModel.changed.subscribe((changes) => {
77
+ if (changes.added.length) {
78
+ this.onValueChange.emit(this.selectionModel.selected[0].value);
79
+ }
80
+ if (changes.removed.length) {
81
+ changes.removed.forEach((item) => (item.selected = false));
82
+ }
83
+ });
84
+ }
85
+ ngAfterContentInit() {
86
+ this.selectDefaultValue();
87
+ this.optionSelectionChanges.subscribe((event) => {
88
+ this.selectionModel.clear();
89
+ this.selectionModel.select(event.source);
90
+ this.close();
91
+ this.trigger.focus();
92
+ });
93
+ this.content.keyManager.tabOut.subscribe(() => {
94
+ if (this.open)
95
+ this.close();
96
+ });
97
+ if (this.defaultOpen) {
98
+ this.openPanel();
99
+ }
100
+ }
101
+ /**
102
+ * Callback that is invoked when the overlay panel has been attached.
103
+ */
104
+ onAttached() {
105
+ this.closeSubscription = this.closingActions()
106
+ .pipe(takeUntilDestroyed(this.destroyRef))
107
+ .pipe(delay(0))
108
+ .subscribe(() => this.close());
109
+ }
110
+ onDetach() {
111
+ this.close();
112
+ this.closeSubscription.unsubscribe();
113
+ }
114
+ /** Toggles the overlay panel open or closed. */
115
+ toggle() {
116
+ if (this.open) {
117
+ this.close();
118
+ }
119
+ else {
120
+ this.openPanel();
121
+ }
122
+ }
123
+ openPanel() {
124
+ this.open = true;
125
+ this.onOpenChange.emit(this.open);
126
+ }
127
+ close() {
128
+ this.open = false;
129
+ this.onOpenChange.emit(this.open);
130
+ }
131
+ updateActiveItem(item) {
132
+ this.content.keyManager.updateActiveItem(item);
133
+ }
134
+ selectDefaultValue() {
135
+ if (!this.defaultValue)
136
+ return;
137
+ this.selectValue(this.defaultValue);
138
+ }
139
+ selectValue(value) {
140
+ const option = this.content?.options.find((option) => option.value === value);
141
+ if (option) {
142
+ option.selected = true;
143
+ option.highlighted = true;
144
+ this.selectionModel.select(option);
145
+ this.updateActiveItem(option);
146
+ }
147
+ }
148
+ closingActions() {
149
+ return merge(this.overlayDir.overlayRef.outsidePointerEvents(), this.overlayDir.overlayRef.detachments());
150
+ }
151
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
152
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.11", type: RdxSelectComponent, isStandalone: true, selector: "[rdxSelect]", inputs: { defaultValue: "defaultValue", name: "name", defaultOpen: ["defaultOpen", "defaultOpen", booleanAttribute], open: ["open", "open", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute], required: ["required", "required", booleanAttribute], value: "value" }, outputs: { onValueChange: "onValueChange", onOpenChange: "onOpenChange" }, host: { listeners: { "click": "toggle()", "keydown": "content.keyManager.onKeydown($event)" } }, queries: [{ propertyName: "trigger", first: true, predicate: RdxSelectTriggerDirective, descendants: true }, { propertyName: "content", first: true, predicate: RdxSelectContentDirective, descendants: true }, { propertyName: "items", predicate: RdxSelectItemDirective, descendants: true }], viewQueries: [{ propertyName: "overlayDir", first: true, predicate: CdkConnectedOverlay, descendants: true }], ngImport: i0, template: `
153
+ <ng-content select="[rdxSelectTrigger]" />
154
+
155
+ <ng-template
156
+ [cdkConnectedOverlayOpen]="open"
157
+ [cdkConnectedOverlayOrigin]="elementRef"
158
+ [cdkConnectedOverlayPositions]="positions"
159
+ [cdkConnectedOverlayScrollStrategy]="overlay.scrollStrategies.reposition()"
160
+ (attach)="onAttached()"
161
+ (backdropClick)="close()"
162
+ (detach)="onDetach()"
163
+ cdkConnectedOverlay
164
+ >
165
+ <ng-content select="[rdxSelectContent]" />
166
+ </ng-template>
167
+ `, isInline: true, dependencies: [{ kind: "ngmodule", type: OverlayModule }, { kind: "directive", type: i1.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }] }); }
168
+ }
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSelectComponent, decorators: [{
170
+ type: Component,
171
+ args: [{
172
+ standalone: true,
173
+ selector: '[rdxSelect]',
174
+ template: `
175
+ <ng-content select="[rdxSelectTrigger]" />
176
+
177
+ <ng-template
178
+ [cdkConnectedOverlayOpen]="open"
179
+ [cdkConnectedOverlayOrigin]="elementRef"
180
+ [cdkConnectedOverlayPositions]="positions"
181
+ [cdkConnectedOverlayScrollStrategy]="overlay.scrollStrategies.reposition()"
182
+ (attach)="onAttached()"
183
+ (backdropClick)="close()"
184
+ (detach)="onDetach()"
185
+ cdkConnectedOverlay
186
+ >
187
+ <ng-content select="[rdxSelectContent]" />
188
+ </ng-template>
189
+ `,
190
+ host: {
191
+ '(click)': 'toggle()',
192
+ '(keydown)': 'content.keyManager.onKeydown($event)'
193
+ },
194
+ imports: [
195
+ OverlayModule
196
+ ]
197
+ }]
198
+ }], propDecorators: { trigger: [{
199
+ type: ContentChild,
200
+ args: [RdxSelectTriggerDirective]
201
+ }], content: [{
202
+ type: ContentChild,
203
+ args: [RdxSelectContentDirective]
204
+ }], items: [{
205
+ type: ContentChildren,
206
+ args: [RdxSelectItemDirective, { descendants: true }]
207
+ }], overlayDir: [{
208
+ type: ViewChild,
209
+ args: [CdkConnectedOverlay, { static: false }]
210
+ }], defaultValue: [{
211
+ type: Input
212
+ }], name: [{
213
+ type: Input
214
+ }], defaultOpen: [{
215
+ type: Input,
216
+ args: [{ transform: booleanAttribute }]
217
+ }], open: [{
218
+ type: Input,
219
+ args: [{ transform: booleanAttribute }]
220
+ }], disabled: [{
221
+ type: Input,
222
+ args: [{ transform: booleanAttribute }]
223
+ }], required: [{
224
+ type: Input,
225
+ args: [{ transform: booleanAttribute }]
226
+ }], value: [{
227
+ type: Input
228
+ }], onValueChange: [{
229
+ type: Output
230
+ }], onOpenChange: [{
231
+ type: Output
232
+ }] } });
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3ByaW1pdGl2ZXMvc2VsZWN0L3NyYy9zZWxlY3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDMUQsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEcsT0FBTyxFQUVILGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixlQUFlLEVBQ2YsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sTUFBTSxFQUNOLFNBQVMsRUFDVCxTQUFTLEVBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFjLFlBQVksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZFLE9BQU8sRUFBdUIsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBRXZFLElBQUksTUFBTSxHQUFHLENBQUMsQ0FBQztBQTZCZixNQUFNLE9BQU8sa0JBQWtCO0lBM0IvQjtRQTRCYyxZQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFD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c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBRUUsSUFBSTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFHRSxRQUFRO3NCQUEvQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQUVFLFFBQVE7c0JBQS9DLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBTWxDLEtBQUs7c0JBRFIsS0FBSztnQkFpQmEsYUFBYTtzQkFBL0IsTUFBTTtnQkFFWSxZQUFZO3NCQUE5QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IFNlbGVjdGlvbk1vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcbmltcG9ydCB7IENka0Nvbm5lY3RlZE92ZXJsYXksIENvbm5lY3RlZFBvc2l0aW9uLCBPdmVybGF5LCBPdmVybGF5TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuaW1wb3J0IHtcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBpbmplY3QsXG4gICAgSW5wdXQsXG4gICAgTmdab25lLFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgUXVlcnlMaXN0LFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IGRlZmVyLCBkZWxheSwgbWVyZ2UsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBSZHhTZWxlY3RDb250ZW50RGlyZWN0aXZlIH0gZnJvbSAnLi9zZWxlY3QtY29udGVudC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgUmR4U2VsZWN0SXRlbUNoYW5nZSwgUmR4U2VsZWN0SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vc2VsZWN0LWl0ZW0uZGlyZWN0aXZlJztcbmltcG9ydCB7IFJkeFNlbGVjdFRyaWdnZXJEaXJlY3RpdmUgfSBmcm9tICcuL3NlbGVjdC10cmlnZ2VyLmRpcmVjdGl2ZSc7XG5cbmxldCBuZXh0SWQgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3JkeFNlbGVjdF0nLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyZHhTZWxlY3RUcmlnZ2VyXVwiIC8+XG5cbiAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9wZW5dPVwib3BlblwiXG4gICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJlbGVtZW50UmVmXCJcbiAgICAgICAgICAgIFtjZGtDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25zXT1cInBvc2l0aW9uc1wiXG4gICAgICAgICAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheVNjcm9sbFN0cmF0ZWd5XT1cIm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcIlxuICAgICAgICAgICAgKGF0dGFjaCk9XCJvbkF0dGFjaGVkKClcIlxuICAgICAgICAgICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICAoZGV0YWNoKT1cIm9uRGV0YWNoKClcIlxuICAgICAgICAgICAgY2RrQ29ubmVjdGVkT3ZlcmxheVxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbcmR4U2VsZWN0Q29udGVudF1cIiAvPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGAsXG4gICAgaG9zdDoge1xuICAgICAgICAnKGNsaWNrKSc6ICd0b2dnbGUoKScsXG4gICAgICAgICcoa2V5ZG93biknOiAnY29udGVudC5rZXlNYW5hZ2VyLm9uS2V5ZG93bigkZXZlbnQpJ1xuICAgIH0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBPdmVybGF5TW9kdWxlXG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBSZHhTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xuICAgIHByb3RlY3RlZCBvdmVybGF5ID0gaW5qZWN0KE92ZXJsYXkpO1xuICAgIHByb3RlY3RlZCBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvclJlZiA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgICBAQ29udGVudENoaWxkKFJkeFNlbGVjdFRyaWdnZXJEaXJlY3RpdmUpIHByb3RlY3RlZCB0cmlnZ2VyOiBSZHhTZWxlY3RUcmlnZ2VyRGlyZWN0aXZlO1xuXG4gICAgQENvbnRlbnRDaGlsZChSZHhTZWxlY3RDb250ZW50RGlyZWN0aXZlKSBwcm90ZWN0ZWQgY29udGVudDogUmR4U2VsZWN0Q29udGVudERpcmVjdGl2ZTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUmR4U2VsZWN0SXRlbURpcmVjdGl2ZSwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSBpdGVtczogUXVlcnlMaXN0PFJkeFNlbGVjdEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgQFZpZXdDaGlsZChDZGtDb25uZWN0ZWRPdmVybGF5LCB7IHN0YXRpYzogZmFsc2UgfSkgb3ZlcmxheURpcjogQ2RrQ29ubmVjdGVkT3ZlcmxheTtcblxuICAgIC8qKiBEZWFscyB3aXRoIHRoZSBzZWxlY3Rpb24gbG9naWMuICovXG4gICAgc2VsZWN0aW9uTW9kZWw6IFNlbGVjdGlvbk1vZGVsPFJkeFNlbGVjdEl0ZW1EaXJlY3RpdmU+O1xuXG4gICAgLyoqXG4gICAgICogVGhpcyBwb3NpdGlvbiBjb25maWcgZW5zdXJlcyB0aGF0IHRoZSB0b3AgXCJzdGFydFwiIGNvcm5lciBvZiB0aGUgb3ZlcmxheVxuICAgICAqIGlzIGFsaWduZWQgd2l0aCB0aGUgdG9wIFwic3RhcnRcIiBvZiB0aGUgb3JpZ2luIGJ5IGRlZmF1bHQgKG92ZXJsYXBwaW5nXG4gICAgICogdGhlIHRyaWdnZXIgY29tcGxldGVseSkuIElmIHRoZSBwYW5lbCBjYW5ub3QgZml0IGJlbG93IHRoZSB0cmlnZ2VyLCBpdFxuICAgICAqIHdpbGwgZmFsbCBiYWNrIHRvIGEgcG9zaXRpb24gYWJvdmUgdGhlIHRyaWdnZXIuXG4gICAgICovXG4gICAgcG9zaXRpb25zOiBDb25uZWN0ZWRQb3NpdGlvbltdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJ1xuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBvcmlnaW5YOiAnc3RhcnQnLFxuICAgICAgICAgICAgb3JpZ2luWTogJ3RvcCcsXG4gICAgICAgICAgICBvdmVybGF5WDogJ3N0YXJ0JyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAnYm90dG9tJ1xuICAgICAgICB9XG4gICAgXTtcblxuICAgIHByaXZhdGUgY2xvc2VTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbiAgICAvKipcbiAgICAgKiBAaWdub3JlXG4gICAgICovXG4gICAgcmVhZG9ubHkgZGlyID0gaW5qZWN0KERpcmVjdGlvbmFsaXR5LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gICAgLyoqXG4gICAgICogQGlnbm9yZVxuICAgICAqL1xuICAgIHByb3RlY3RlZCBrZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxSZHhTZWxlY3RJdGVtRGlyZWN0aXZlPjtcblxuICAgIC8qKlxuICAgICAqIEBpZ25vcmVcbiAgICAgKi9cbiAgICByZWFkb25seSBpZDogc3RyaW5nID0gYHJkeC1zZWxlY3QtJHtuZXh0SWQrK31gO1xuXG4gICAgQElucHV0KCkgZGVmYXVsdFZhbHVlOiBzdHJpbmc7XG4gICAgQElucHV0KCkgbmFtZTogc3RyaW5nO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGRlZmF1bHRPcGVuOiBib29sZWFuO1xuXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIG9wZW46IGJvb2xlYW47XG5cbiAgICAvKiogV2hldGhlciB0aGUgU2VsZWN0IGlzIGRpc2FibGVkLiAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBkaXNhYmxlZDogYm9vbGVhbjtcblxuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSByZXF1aXJlZDogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBjb250cm9sbGVkIHZhbHVlIG9mIHRoZSBpdGVtIHRvIGV4cGFuZFxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKHRoaXMuX3ZhbHVlICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcblxuICAgICAgICAgICAgdGhpcy5zZWxlY3RWYWx1ZSh2YWx1ZSk7XG5cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLl92YWx1ZSA/PyB0aGlzLmRlZmF1bHRWYWx1ZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF92YWx1ZT86IHN0cmluZztcblxuICAgIEBPdXRwdXQoKSByZWFkb25seSBvblZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgQE91dHB1dCgpIHJlYWRvbmx5IG9uT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gICAgcmVhZG9ubHkgb3B0aW9uU2VsZWN0aW9uQ2hhbmdlczogT2JzZXJ2YWJsZTxSZHhTZWxlY3RJdGVtQ2hhbmdlPiA9IGRlZmVyKCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudC5vcHRpb25zKSB7XG4gICAgICAgICAgICByZXR1cm4gbWVyZ2UoLi4udGhpcy5jb250ZW50Lm9wdGlvbnMubWFwKChvcHRpb24pID0+IG9wdGlvbi5vblNlbGVjdGlvbkNoYW5nZSkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMubmdab25lLm9uU3RhYmxlLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMub3B0aW9uU2VsZWN0aW9uQ2hhbmdlcylcbiAgICAgICAgKTtcbiAgICB9KSBhcyBPYnNlcnZhYmxlPFJkeFNlbGVjdEl0ZW1DaGFuZ2U+O1xuXG4gICAgZ2V0IHNlbGVjdGVkKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3Rpb25Nb2RlbC5zZWxlY3RlZFswXS52aWV3VmFsdWUgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbCA9IG5ldyBTZWxlY3Rpb25Nb2RlbDxSZHhTZWxlY3RJdGVtRGlyZWN0aXZlPigpO1xuXG4gICAgICAgIHRoaXMuc2VsZWN0aW9uTW9kZWwuY2hhbmdlZC5zdWJzY3JpYmUoKGNoYW5nZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzLmFkZGVkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHRoaXMub25WYWx1ZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0aW9uTW9kZWwuc2VsZWN0ZWRbMF0udmFsdWUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY2hhbmdlcy5yZW1vdmVkLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIGNoYW5nZXMucmVtb3ZlZC5mb3JFYWNoKChpdGVtKSA9PiAoaXRlbS5zZWxlY3RlZCA9IGZhbHNlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgdGhpcy5zZWxlY3REZWZhdWx0VmFsdWUoKTtcblxuICAgICAgICB0aGlzLm9wdGlvblNlbGVjdGlvbkNoYW5nZXMuc3Vic2NyaWJlKChldmVudCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3Rpb25Nb2RlbC5jbGVhcigpO1xuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdChldmVudC5zb3VyY2UpO1xuXG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgICB0aGlzLnRyaWdnZXIuZm9jdXMoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5jb250ZW50LmtleU1hbmFnZXIudGFiT3V0LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5vcGVuKSB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICh0aGlzLmRlZmF1bHRPcGVuKSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5QYW5lbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbGJhY2sgdGhhdCBpcyBpbnZva2VkIHdoZW4gdGhlIG92ZXJsYXkgcGFuZWwgaGFzIGJlZW4gYXR0YWNoZWQuXG4gICAgICovXG4gICAgb25BdHRhY2hlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jbG9zZVN1YnNjcmlwdGlvbiA9IHRoaXMuY2xvc2luZ0FjdGlvbnMoKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpXG4gICAgICAgICAgICAucGlwZShkZWxheSgwKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jbG9zZSgpKTtcbiAgICB9XG5cbiAgICBvbkRldGFjaCgpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aGlzLmNsb3NlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIFRvZ2dsZXMgdGhlIG92ZXJsYXkgcGFuZWwgb3BlbiBvciBjbG9zZWQuICovXG4gICAgdG9nZ2xlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5vcGVuKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm9wZW5QYW5lbCgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlblBhbmVsKCkge1xuICAgICAgICB0aGlzLm9wZW4gPSB0cnVlO1xuXG4gICAgICAgIHRoaXMub25PcGVuQ2hhbmdlLmVtaXQodGhpcy5vcGVuKTtcbiAgICB9XG5cbiAgICBjbG9zZSgpIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5vbk9wZW5DaGFuZ2UuZW1pdCh0aGlzLm9wZW4pO1xuICAgIH1cblxuICAgIHVwZGF0ZUFjdGl2ZUl0ZW0oaXRlbTogUmR4U2VsZWN0SXRlbURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLmNvbnRlbnQua2V5TWFuYWdlci51cGRhdGVBY3RpdmVJdGVtKGl0ZW0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2VsZWN0RGVmYXVsdFZhbHVlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGVmYXVsdFZhbHVlKSByZXR1cm47XG5cbiAgICAgICAgdGhpcy5zZWxlY3RWYWx1ZSh0aGlzLmRlZmF1bHRWYWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZWxlY3RWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9wdGlvbiA9IHRoaXMuY29udGVudD8ub3B0aW9ucy5maW5kKChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gdmFsdWUpO1xuXG4gICAgICAgIGlmIChvcHRpb24pIHtcbiAgICAgICAgICAgIG9wdGlvbi5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICBvcHRpb24uaGlnaGxpZ2h0ZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGlvbk1vZGVsLnNlbGVjdChvcHRpb24pO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NpbmdBY3Rpb25zKCkge1xuICAgICAgICByZXR1cm4gbWVyZ2UodGhpcy5vdmVybGF5RGlyLm92ZXJsYXlSZWYhLm91dHNpZGVQb2ludGVyRXZlbnRzKCksIHRoaXMub3ZlcmxheURpci5vdmVybGF5UmVmIS5kZXRhY2htZW50cygpKTtcbiAgICB9XG59XG4iXX0=
@@ -36,10 +36,10 @@ export class RdxSeparatorRootDirective {
36
36
  */
37
37
  this.computedAriaOrientation = computed(() => !this.decorative() && this.orientation() === 'vertical' ? 'vertical' : null);
38
38
  }
39
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSeparatorRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.10", type: RdxSeparatorRootDirective, isStandalone: true, selector: "div[rdxSeparatorRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "computedRole()", "attr.aria-orientation": "computedAriaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 }); }
39
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSeparatorRootDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
40
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: RdxSeparatorRootDirective, isStandalone: true, selector: "div[rdxSeparatorRoot]", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, decorative: { classPropertyName: "decorative", publicName: "decorative", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.role": "computedRole()", "attr.aria-orientation": "computedAriaOrientation()", "attr.data-orientation": "orientation()" } }, ngImport: i0 }); }
41
41
  }
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.10", ngImport: i0, type: RdxSeparatorRootDirective, decorators: [{
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: RdxSeparatorRootDirective, decorators: [{
43
43
  type: Directive,
44
44
  args: [{
45
45
  selector: 'div[rdxSeparatorRoot]',
@@ -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]',