@weeehaoooz/talos-ui 0.1.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 (180) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +85 -0
  3. package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs +237 -0
  4. package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +1 -0
  5. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +93 -0
  6. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +1 -0
  7. package/fesm2022/weeehaoooz-talos-ui-core.mjs +438 -0
  8. package/fesm2022/weeehaoooz-talos-ui-core.mjs.map +1 -0
  9. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +233 -0
  10. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +1 -0
  11. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +361 -0
  12. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +1 -0
  13. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +312 -0
  14. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +1 -0
  15. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +235 -0
  16. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +1 -0
  17. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +462 -0
  18. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +1 -0
  19. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +805 -0
  20. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +1 -0
  21. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +267 -0
  22. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +1 -0
  23. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +351 -0
  24. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +1 -0
  25. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +566 -0
  26. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +1 -0
  27. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +534 -0
  28. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +1 -0
  29. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +446 -0
  30. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +1 -0
  31. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +376 -0
  32. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +1 -0
  33. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +147 -0
  34. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +1 -0
  35. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +242 -0
  36. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +1 -0
  37. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +514 -0
  38. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +1 -0
  39. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +548 -0
  40. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +1 -0
  41. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +692 -0
  42. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +1 -0
  43. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +761 -0
  44. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +1 -0
  45. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +896 -0
  46. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +1 -0
  47. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +872 -0
  48. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +1 -0
  49. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +119 -0
  50. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +1 -0
  51. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +135 -0
  52. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +1 -0
  53. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +666 -0
  54. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +1 -0
  55. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +147 -0
  56. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +1 -0
  57. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +33 -0
  58. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +1 -0
  59. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +455 -0
  60. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +1 -0
  61. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +379 -0
  62. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +1 -0
  63. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +297 -0
  64. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +1 -0
  65. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +661 -0
  66. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +1 -0
  67. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +346 -0
  68. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +1 -0
  69. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +896 -0
  70. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +1 -0
  71. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +252 -0
  72. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +1 -0
  73. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +916 -0
  74. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +1 -0
  75. package/fesm2022/weeehaoooz-talos-ui-layout.mjs +851 -0
  76. package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -0
  77. package/fesm2022/weeehaoooz-talos-ui-nav.mjs +897 -0
  78. package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -0
  79. package/fesm2022/weeehaoooz-talos-ui.mjs +17058 -0
  80. package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -0
  81. package/package.json +203 -0
  82. package/schematics/collection.json +10 -0
  83. package/schematics/ng-add/index.d.ts +3 -0
  84. package/schematics/ng-add/index.js +99 -0
  85. package/schematics/ng-add/schema.d.ts +10 -0
  86. package/schematics/ng-add/schema.js +2 -0
  87. package/schematics/ng-add/schema.json +52 -0
  88. package/styles/_alert.scss +56 -0
  89. package/styles/_badge.scss +279 -0
  90. package/styles/_button-group.scss +470 -0
  91. package/styles/_buttons.scss +442 -0
  92. package/styles/_card.scss +18 -0
  93. package/styles/_dialog.scss +116 -0
  94. package/styles/_drop-zone.scss +19 -0
  95. package/styles/_form-controls.scss +660 -0
  96. package/styles/_slide-toggle.scss +171 -0
  97. package/styles/_status-tag.scss +108 -0
  98. package/styles/_timeline.scss +19 -0
  99. package/styles/_tooltip.scss +32 -0
  100. package/styles/_typography.scss +279 -0
  101. package/styles/_variables.scss +590 -0
  102. package/styles/index.scss +15 -0
  103. package/types/weeehaoooz-talos-ui-button-button-group.d.ts +59 -0
  104. package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +1 -0
  105. package/types/weeehaoooz-talos-ui-button-button.d.ts +38 -0
  106. package/types/weeehaoooz-talos-ui-button-button.d.ts.map +1 -0
  107. package/types/weeehaoooz-talos-ui-core.d.ts +95 -0
  108. package/types/weeehaoooz-talos-ui-core.d.ts.map +1 -0
  109. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +119 -0
  110. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +1 -0
  111. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +135 -0
  112. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +1 -0
  113. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +144 -0
  114. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +1 -0
  115. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +83 -0
  116. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +1 -0
  117. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +255 -0
  118. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +1 -0
  119. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +204 -0
  120. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +1 -0
  121. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +101 -0
  122. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +1 -0
  123. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +138 -0
  124. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +1 -0
  125. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +161 -0
  126. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +1 -0
  127. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +212 -0
  128. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +1 -0
  129. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +259 -0
  130. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +1 -0
  131. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +147 -0
  132. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +1 -0
  133. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +32 -0
  134. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +1 -0
  135. package/types/weeehaoooz-talos-ui-form-affix.d.ts +88 -0
  136. package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +1 -0
  137. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +113 -0
  138. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +1 -0
  139. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +165 -0
  140. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +1 -0
  141. package/types/weeehaoooz-talos-ui-form-chips.d.ts +152 -0
  142. package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +1 -0
  143. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +144 -0
  144. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +1 -0
  145. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +138 -0
  146. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +1 -0
  147. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +148 -0
  148. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +1 -0
  149. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +44 -0
  150. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +1 -0
  151. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +48 -0
  152. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +1 -0
  153. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +227 -0
  154. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +1 -0
  155. package/types/weeehaoooz-talos-ui-form-form-field.d.ts +42 -0
  156. package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +1 -0
  157. package/types/weeehaoooz-talos-ui-form-input.d.ts +15 -0
  158. package/types/weeehaoooz-talos-ui-form-input.d.ts.map +1 -0
  159. package/types/weeehaoooz-talos-ui-form-otp.d.ts +111 -0
  160. package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +1 -0
  161. package/types/weeehaoooz-talos-ui-form-password-input.d.ts +145 -0
  162. package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +1 -0
  163. package/types/weeehaoooz-talos-ui-form-radio.d.ts +84 -0
  164. package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +1 -0
  165. package/types/weeehaoooz-talos-ui-form-range-input.d.ts +181 -0
  166. package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +1 -0
  167. package/types/weeehaoooz-talos-ui-form-rating.d.ts +110 -0
  168. package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +1 -0
  169. package/types/weeehaoooz-talos-ui-form-select-input.d.ts +195 -0
  170. package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +1 -0
  171. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +79 -0
  172. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +1 -0
  173. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +192 -0
  174. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +1 -0
  175. package/types/weeehaoooz-talos-ui-layout.d.ts +286 -0
  176. package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -0
  177. package/types/weeehaoooz-talos-ui-nav.d.ts +384 -0
  178. package/types/weeehaoooz-talos-ui-nav.d.ts.map +1 -0
  179. package/types/weeehaoooz-talos-ui.d.ts +5050 -0
  180. package/types/weeehaoooz-talos-ui.d.ts.map +1 -0
@@ -0,0 +1,548 @@
1
+ import * as i0 from '@angular/core';
2
+ import { inject, ElementRef, input, output, signal, computed, forwardRef, Directive, effect, Component, viewChild, NgModule } from '@angular/core';
3
+ import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
+
5
+ let groupCounter = 0;
6
+ class TalosCheckboxGroupDirective {
7
+ elementRef = inject((ElementRef));
8
+ /** Name attribute for the checkbox group */
9
+ name = input(`talos-checkbox-group-${++groupCounter}`, /* @ts-ignore */
10
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
11
+ /** Size applied to all child checkboxes unless overridden */
12
+ size = input('md', /* @ts-ignore */
13
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
14
+ /** Visual color variant applied to all child checkboxes */
15
+ variant = input('primary', /* @ts-ignore */
16
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
17
+ /** Layout direction of checkboxes within group */
18
+ direction = input('vertical', /* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
20
+ /** Whether the entire checkbox group is disabled */
21
+ disabled = input(false, /* @ts-ignore */
22
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
23
+ /** Whether the group is in an invalid error state */
24
+ invalid = input(false, /* @ts-ignore */
25
+ ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
26
+ /** Emits when group selection array changes */
27
+ valueChange = output();
28
+ // Internal state
29
+ value = signal([], /* @ts-ignore */
30
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
31
+ isDisabled = signal(false, /* @ts-ignore */
32
+ ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
33
+ isTouched = signal(false, /* @ts-ignore */
34
+ ...(ngDevMode ? [{ debugName: "isTouched" }] : /* istanbul ignore next */ []));
35
+ /** Effective disabled state taking into account CVA and input */
36
+ effectiveDisabled = computed(() => this.disabled() || this.isDisabled(), /* @ts-ignore */
37
+ ...(ngDevMode ? [{ debugName: "effectiveDisabled" }] : /* istanbul ignore next */ []));
38
+ onChange = () => { };
39
+ onTouched = () => { };
40
+ // --- ControlValueAccessor Interface ---
41
+ writeValue(val) {
42
+ if (Array.isArray(val)) {
43
+ this.value.set([...val]);
44
+ }
45
+ else if (val === null || val === undefined) {
46
+ this.value.set([]);
47
+ }
48
+ else {
49
+ this.value.set([val]);
50
+ }
51
+ }
52
+ registerOnChange(fn) {
53
+ this.onChange = fn;
54
+ }
55
+ registerOnTouched(fn) {
56
+ this.onTouched = fn;
57
+ }
58
+ setDisabledState(isDisabled) {
59
+ this.isDisabled.set(isDisabled);
60
+ }
61
+ /** Helper to check if a specific item value is currently selected in group */
62
+ isValueSelected(val) {
63
+ return this.value().includes(val);
64
+ }
65
+ /** Toggles the selection status of a value in the group array */
66
+ toggleValue(val) {
67
+ if (this.effectiveDisabled() || val === undefined)
68
+ return;
69
+ const current = this.value();
70
+ let updated;
71
+ if (current.includes(val)) {
72
+ updated = current.filter((v) => v !== val);
73
+ }
74
+ else {
75
+ updated = [...current, val];
76
+ }
77
+ this.value.set(updated);
78
+ this.onChange(updated);
79
+ this.valueChange.emit(updated);
80
+ this.markAsTouched();
81
+ }
82
+ /** Selects all passed values */
83
+ selectAll(values) {
84
+ if (this.effectiveDisabled())
85
+ return;
86
+ const uniqueValues = Array.from(new Set(values));
87
+ this.value.set(uniqueValues);
88
+ this.onChange(uniqueValues);
89
+ this.valueChange.emit(uniqueValues);
90
+ this.markAsTouched();
91
+ }
92
+ /** Deselects all values */
93
+ deselectAll() {
94
+ if (this.effectiveDisabled())
95
+ return;
96
+ this.value.set([]);
97
+ this.onChange([]);
98
+ this.valueChange.emit([]);
99
+ this.markAsTouched();
100
+ }
101
+ markAsTouched() {
102
+ if (!this.isTouched()) {
103
+ this.isTouched.set(true);
104
+ this.onTouched();
105
+ }
106
+ }
107
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
108
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.1", type: TalosCheckboxGroupDirective, isStandalone: true, selector: "[talosCheckboxGroup], [talos-checkbox-group]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, host: { attributes: { "role": "group" }, properties: { "class.direction-vertical": "direction() === \"vertical\"", "class.direction-horizontal": "direction() === \"horizontal\"", "class.is-disabled": "effectiveDisabled()", "class.is-invalid": "invalid()" }, classAttribute: "talos-checkbox-group" }, providers: [
109
+ {
110
+ provide: NG_VALUE_ACCESSOR,
111
+ useExisting: forwardRef(() => TalosCheckboxGroupDirective),
112
+ multi: true
113
+ }
114
+ ], exportAs: ["talosCheckboxGroup"], ngImport: i0 });
115
+ }
116
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxGroupDirective, decorators: [{
117
+ type: Directive,
118
+ args: [{
119
+ selector: '[talosCheckboxGroup], [talos-checkbox-group]',
120
+ exportAs: 'talosCheckboxGroup',
121
+ providers: [
122
+ {
123
+ provide: NG_VALUE_ACCESSOR,
124
+ useExisting: forwardRef(() => TalosCheckboxGroupDirective),
125
+ multi: true
126
+ }
127
+ ],
128
+ host: {
129
+ 'class': 'talos-checkbox-group',
130
+ 'role': 'group',
131
+ '[class.direction-vertical]': 'direction() === "vertical"',
132
+ '[class.direction-horizontal]': 'direction() === "horizontal"',
133
+ '[class.is-disabled]': 'effectiveDisabled()',
134
+ '[class.is-invalid]': 'invalid()'
135
+ }
136
+ }]
137
+ }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
138
+
139
+ class TalosCheckboxDirective {
140
+ elementRef = inject((ElementRef));
141
+ groupDir = inject(TalosCheckboxGroupDirective, { optional: true });
142
+ /** Value associated with this checkbox when part of a group */
143
+ value = input(undefined, /* @ts-ignore */
144
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
145
+ /** Standalone checked state */
146
+ checked = input(false, /* @ts-ignore */
147
+ ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
148
+ /** Sizing variation for the checkbox */
149
+ size = input('md', /* @ts-ignore */
150
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
151
+ /** Visual color variant for the checkbox */
152
+ variant = input('primary', /* @ts-ignore */
153
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
154
+ /** Whether the checkbox is disabled */
155
+ disabled = input(false, /* @ts-ignore */
156
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
157
+ /** Whether the checkbox is in an invalid error state */
158
+ invalid = input(false, /* @ts-ignore */
159
+ ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
160
+ /** Whether the checkbox is in an indeterminate visual & property state */
161
+ indeterminate = input(false, /* @ts-ignore */
162
+ ...(ngDevMode ? [{ debugName: "indeterminate" }] : /* istanbul ignore next */ []));
163
+ /** Output event emitted when checked state changes */
164
+ checkedChange = output();
165
+ // Computed state
166
+ effectiveSize = computed(() => {
167
+ return this.groupDir ? this.groupDir.size() : this.size();
168
+ }, /* @ts-ignore */
169
+ ...(ngDevMode ? [{ debugName: "effectiveSize" }] : /* istanbul ignore next */ []));
170
+ effectiveVariant = computed(() => {
171
+ return this.groupDir ? this.groupDir.variant() : this.variant();
172
+ }, /* @ts-ignore */
173
+ ...(ngDevMode ? [{ debugName: "effectiveVariant" }] : /* istanbul ignore next */ []));
174
+ effectiveDisabled = computed(() => {
175
+ return this.disabled() || (this.groupDir ? this.groupDir.effectiveDisabled() : false);
176
+ }, /* @ts-ignore */
177
+ ...(ngDevMode ? [{ debugName: "effectiveDisabled" }] : /* istanbul ignore next */ []));
178
+ effectiveInvalid = computed(() => {
179
+ return this.invalid() || (this.groupDir ? this.groupDir.invalid() : false);
180
+ }, /* @ts-ignore */
181
+ ...(ngDevMode ? [{ debugName: "effectiveInvalid" }] : /* istanbul ignore next */ []));
182
+ isChecked = computed(() => {
183
+ if (this.groupDir && this.value() !== undefined) {
184
+ return this.groupDir.isValueSelected(this.value());
185
+ }
186
+ return this.checked();
187
+ }, /* @ts-ignore */
188
+ ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
189
+ constructor() {
190
+ // Keep native input element indeterminate property synced
191
+ effect(() => {
192
+ const isIndeterminate = this.indeterminate();
193
+ if (this.elementRef.nativeElement) {
194
+ this.elementRef.nativeElement.indeterminate = isIndeterminate;
195
+ }
196
+ });
197
+ }
198
+ onNativeChange(event) {
199
+ if (this.effectiveDisabled())
200
+ return;
201
+ const target = event.target;
202
+ const isChecked = target.checked;
203
+ if (this.groupDir && this.value() !== undefined) {
204
+ this.groupDir.toggleValue(this.value());
205
+ }
206
+ this.checkedChange.emit(isChecked);
207
+ }
208
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
209
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.1", type: TalosCheckboxDirective, isStandalone: true, selector: "input[type=\"checkbox\"][talosCheckbox], input[type=\"checkbox\"][talos-checkbox]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "checkedChange" }, host: { listeners: { "change": "onNativeChange($event)" }, properties: { "class.checkbox-sm": "effectiveSize() === \"sm\"", "class.checkbox-md": "effectiveSize() === \"md\"", "class.checkbox-lg": "effectiveSize() === \"lg\"", "class.talos-checkbox-primary": "effectiveVariant() === \"primary\"", "class.talos-checkbox-secondary": "effectiveVariant() === \"secondary\"", "class.talos-checkbox-success": "effectiveVariant() === \"success\"", "class.talos-checkbox-danger": "effectiveVariant() === \"danger\"", "class.is-invalid": "effectiveInvalid()", "class.is-indeterminate": "indeterminate()", "checked": "isChecked()", "disabled": "effectiveDisabled()", "indeterminate": "indeterminate()" }, classAttribute: "talos-checkbox" }, exportAs: ["talosCheckbox"], ngImport: i0 });
210
+ }
211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxDirective, decorators: [{
212
+ type: Directive,
213
+ args: [{
214
+ selector: 'input[type="checkbox"][talosCheckbox], input[type="checkbox"][talos-checkbox]',
215
+ exportAs: 'talosCheckbox',
216
+ host: {
217
+ 'class': 'talos-checkbox',
218
+ '[class.checkbox-sm]': 'effectiveSize() === "sm"',
219
+ '[class.checkbox-md]': 'effectiveSize() === "md"',
220
+ '[class.checkbox-lg]': 'effectiveSize() === "lg"',
221
+ '[class.talos-checkbox-primary]': 'effectiveVariant() === "primary"',
222
+ '[class.talos-checkbox-secondary]': 'effectiveVariant() === "secondary"',
223
+ '[class.talos-checkbox-success]': 'effectiveVariant() === "success"',
224
+ '[class.talos-checkbox-danger]': 'effectiveVariant() === "danger"',
225
+ '[class.is-invalid]': 'effectiveInvalid()',
226
+ '[class.is-indeterminate]': 'indeterminate()',
227
+ '[checked]': 'isChecked()',
228
+ '[disabled]': 'effectiveDisabled()',
229
+ '[indeterminate]': 'indeterminate()',
230
+ '(change)': 'onNativeChange($event)'
231
+ }
232
+ }]
233
+ }], ctorParameters: () => [], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], checkedChange: [{ type: i0.Output, args: ["checkedChange"] }] } });
234
+
235
+ class TalosCheckboxGroupComponent {
236
+ groupDir = inject(TalosCheckboxGroupDirective, { self: true });
237
+ // Inputs forwarded via hostDirectives or component bindings
238
+ name = input(this.groupDir.name(), /* @ts-ignore */
239
+ ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
240
+ size = input('md', /* @ts-ignore */
241
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
242
+ variant = input('primary', /* @ts-ignore */
243
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
244
+ direction = input('vertical', /* @ts-ignore */
245
+ ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
246
+ disabled = input(false, /* @ts-ignore */
247
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
248
+ invalid = input(false, /* @ts-ignore */
249
+ ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
250
+ valueChange = output();
251
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
252
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.1", type: TalosCheckboxGroupComponent, isStandalone: true, selector: "talos-checkbox-group", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange" }, hostDirectives: [{ directive: TalosCheckboxGroupDirective, inputs: ["name", "name", "size", "size", "variant", "variant", "direction", "direction", "disabled", "disabled", "invalid", "invalid"], outputs: ["valueChange", "valueChange"] }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
253
+ }
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxGroupComponent, decorators: [{
255
+ type: Component,
256
+ args: [{
257
+ selector: 'talos-checkbox-group',
258
+ template: '<ng-content></ng-content>',
259
+ hostDirectives: [
260
+ {
261
+ directive: TalosCheckboxGroupDirective,
262
+ inputs: ['name', 'size', 'variant', 'direction', 'disabled', 'invalid'],
263
+ outputs: ['valueChange']
264
+ }
265
+ ]
266
+ }]
267
+ }], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }] } });
268
+
269
+ class TalosCheckboxParentDirective {
270
+ elementRef = inject((ElementRef));
271
+ checkboxDir = inject(TalosCheckboxDirective, { optional: true, self: true });
272
+ ancestorGroup = inject(TalosCheckboxGroupDirective, { optional: true });
273
+ /** Optional explicit reference to a TalosCheckboxGroupDirective instance */
274
+ group = input(undefined, /* @ts-ignore */
275
+ ...(ngDevMode ? [{ debugName: "group" }] : /* istanbul ignore next */ []));
276
+ /** List of all selectable values for the parent checkbox to manage */
277
+ values = input([], /* @ts-ignore */
278
+ ...(ngDevMode ? [{ debugName: "values" }] : /* istanbul ignore next */ []));
279
+ /** Effective active checkbox group */
280
+ targetGroup = computed(() => this.group() || this.ancestorGroup, /* @ts-ignore */
281
+ ...(ngDevMode ? [{ debugName: "targetGroup" }] : /* istanbul ignore next */ []));
282
+ /** Whether all target values are selected */
283
+ isAllSelected = computed(() => {
284
+ const grp = this.targetGroup();
285
+ const allVals = this.values();
286
+ if (!grp || allVals.length === 0)
287
+ return false;
288
+ const selectedVals = grp.value();
289
+ return allVals.every((val) => selectedVals.includes(val));
290
+ }, /* @ts-ignore */
291
+ ...(ngDevMode ? [{ debugName: "isAllSelected" }] : /* istanbul ignore next */ []));
292
+ /** Whether some (but not all) target values are selected */
293
+ isIndeterminate = computed(() => {
294
+ const grp = this.targetGroup();
295
+ const allVals = this.values();
296
+ if (!grp || allVals.length === 0)
297
+ return false;
298
+ const selectedVals = grp.value();
299
+ const count = allVals.filter((val) => selectedVals.includes(val)).length;
300
+ return count > 0 && count < allVals.length;
301
+ }, /* @ts-ignore */
302
+ ...(ngDevMode ? [{ debugName: "isIndeterminate" }] : /* istanbul ignore next */ []));
303
+ constructor() {
304
+ // Keep element's indeterminate property synced dynamically
305
+ effect(() => {
306
+ const indeterminate = this.isIndeterminate();
307
+ if (this.elementRef.nativeElement) {
308
+ this.elementRef.nativeElement.indeterminate = indeterminate;
309
+ }
310
+ });
311
+ }
312
+ onParentToggle(event) {
313
+ const grp = this.targetGroup();
314
+ const allVals = this.values();
315
+ if (!grp || allVals.length === 0)
316
+ return;
317
+ if (this.isAllSelected()) {
318
+ // If currently all selected, deselect all values managed by this parent
319
+ const currentSelected = grp.value();
320
+ const remaining = currentSelected.filter((v) => !allVals.includes(v));
321
+ grp.selectAll(remaining);
322
+ }
323
+ else {
324
+ // If none or indeterminate, select all values managed by this parent
325
+ const currentSelected = grp.value();
326
+ const updated = Array.from(new Set([...currentSelected, ...allVals]));
327
+ grp.selectAll(updated);
328
+ }
329
+ }
330
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxParentDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
331
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.1", type: TalosCheckboxParentDirective, isStandalone: true, selector: "input[type=\"checkbox\"][talosCheckboxParent], input[type=\"checkbox\"][talos-checkbox-parent], input[type=\"checkbox\"][talosSelectAll], input[type=\"checkbox\"][talos-select-all]", inputs: { group: { classPropertyName: "group", publicName: "group", isSignal: true, isRequired: false, transformFunction: null }, values: { classPropertyName: "values", publicName: "values", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "change": "onParentToggle($event)" }, properties: { "checked": "isAllSelected()", "indeterminate": "isIndeterminate()", "class.is-indeterminate": "isIndeterminate()" } }, exportAs: ["talosCheckboxParent"], ngImport: i0 });
332
+ }
333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxParentDirective, decorators: [{
334
+ type: Directive,
335
+ args: [{
336
+ selector: 'input[type="checkbox"][talosCheckboxParent], input[type="checkbox"][talos-checkbox-parent], input[type="checkbox"][talosSelectAll], input[type="checkbox"][talos-select-all]',
337
+ exportAs: 'talosCheckboxParent',
338
+ host: {
339
+ '[checked]': 'isAllSelected()',
340
+ '[indeterminate]': 'isIndeterminate()',
341
+ '[class.is-indeterminate]': 'isIndeterminate()',
342
+ '(change)': 'onParentToggle($event)'
343
+ }
344
+ }]
345
+ }], ctorParameters: () => [], propDecorators: { group: [{ type: i0.Input, args: [{ isSignal: true, alias: "group", required: false }] }], values: [{ type: i0.Input, args: [{ isSignal: true, alias: "values", required: false }] }] } });
346
+
347
+ let checkboxCounter = 0;
348
+ class TalosCheckboxComponent {
349
+ inputRef = viewChild('inputEl', /* @ts-ignore */
350
+ ...(ngDevMode ? [{ debugName: "inputRef" }] : /* istanbul ignore next */ []));
351
+ groupDir = inject(TalosCheckboxGroupDirective, { optional: true });
352
+ /** Value associated with this checkbox when part of a group */
353
+ value = input(undefined, /* @ts-ignore */
354
+ ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
355
+ /** Standalone checked state */
356
+ checked = input(false, /* @ts-ignore */
357
+ ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
358
+ /** Sizing variation for the checkbox */
359
+ size = input('md', /* @ts-ignore */
360
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
361
+ /** Visual color variant for the checkbox */
362
+ variant = input('primary', /* @ts-ignore */
363
+ ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
364
+ /** Whether the checkbox is disabled */
365
+ disabled = input(false, /* @ts-ignore */
366
+ ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
367
+ /** Whether the checkbox is in an invalid error state */
368
+ invalid = input(false, /* @ts-ignore */
369
+ ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
370
+ /** Whether the checkbox is in an indeterminate visual & property state */
371
+ indeterminate = input(false, /* @ts-ignore */
372
+ ...(ngDevMode ? [{ debugName: "indeterminate" }] : /* istanbul ignore next */ []));
373
+ /** Emitted when checked state changes */
374
+ checkedChange = output();
375
+ // Internal reactive state for CVA
376
+ internalValue = signal(false, /* @ts-ignore */
377
+ ...(ngDevMode ? [{ debugName: "internalValue" }] : /* istanbul ignore next */ []));
378
+ isDisabled = signal(false, /* @ts-ignore */
379
+ ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
380
+ isTouched = signal(false, /* @ts-ignore */
381
+ ...(ngDevMode ? [{ debugName: "isTouched" }] : /* istanbul ignore next */ []));
382
+ // Effective state computations
383
+ effectiveSize = computed(() => {
384
+ return this.groupDir ? this.groupDir.size() : this.size();
385
+ }, /* @ts-ignore */
386
+ ...(ngDevMode ? [{ debugName: "effectiveSize" }] : /* istanbul ignore next */ []));
387
+ effectiveVariant = computed(() => {
388
+ return this.groupDir ? this.groupDir.variant() : this.variant();
389
+ }, /* @ts-ignore */
390
+ ...(ngDevMode ? [{ debugName: "effectiveVariant" }] : /* istanbul ignore next */ []));
391
+ effectiveDisabled = computed(() => {
392
+ return this.disabled() || this.isDisabled() || (this.groupDir ? this.groupDir.effectiveDisabled() : false);
393
+ }, /* @ts-ignore */
394
+ ...(ngDevMode ? [{ debugName: "effectiveDisabled" }] : /* istanbul ignore next */ []));
395
+ effectiveInvalid = computed(() => {
396
+ return this.invalid() || (this.groupDir ? this.groupDir.invalid() : false);
397
+ }, /* @ts-ignore */
398
+ ...(ngDevMode ? [{ debugName: "effectiveInvalid" }] : /* istanbul ignore next */ []));
399
+ isChecked = computed(() => {
400
+ if (this.groupDir && this.value() !== undefined) {
401
+ return this.groupDir.isValueSelected(this.value());
402
+ }
403
+ return this.internalValue() || this.checked();
404
+ }, /* @ts-ignore */
405
+ ...(ngDevMode ? [{ debugName: "isChecked" }] : /* istanbul ignore next */ []));
406
+ onChange = () => { };
407
+ onTouched = () => { };
408
+ // --- ControlValueAccessor Implementation ---
409
+ writeValue(val) {
410
+ this.internalValue.set(!!val);
411
+ }
412
+ registerOnChange(fn) {
413
+ this.onChange = fn;
414
+ }
415
+ registerOnTouched(fn) {
416
+ this.onTouched = fn;
417
+ }
418
+ setDisabledState(isDisabled) {
419
+ this.isDisabled.set(isDisabled);
420
+ }
421
+ onDirectiveCheckedChange(isChecked) {
422
+ if (this.effectiveDisabled())
423
+ return;
424
+ this.internalValue.set(isChecked);
425
+ this.onChange(isChecked);
426
+ this.checkedChange.emit(isChecked);
427
+ this.markAsTouched();
428
+ }
429
+ markAsTouched() {
430
+ if (!this.isTouched()) {
431
+ this.isTouched.set(true);
432
+ this.onTouched();
433
+ }
434
+ }
435
+ /** Focuses the native HTML input element */
436
+ focusInput() {
437
+ this.inputRef()?.nativeElement.focus();
438
+ }
439
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
440
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.1", type: TalosCheckboxComponent, isStandalone: true, selector: "talos-checkbox", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, indeterminate: { classPropertyName: "indeterminate", publicName: "indeterminate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checkedChange: "checkedChange" }, host: { classAttribute: "talos-checkbox-host" }, providers: [
441
+ {
442
+ provide: NG_VALUE_ACCESSOR,
443
+ useExisting: forwardRef(() => TalosCheckboxComponent),
444
+ multi: true
445
+ }
446
+ ], viewQueries: [{ propertyName: "inputRef", first: true, predicate: ["inputEl"], descendants: true, isSignal: true }], ngImport: i0, template: `
447
+ <label class="talos-checkbox-wrapper" [class.is-disabled]="effectiveDisabled()">
448
+ <input
449
+ #inputEl
450
+ type="checkbox"
451
+ talosCheckbox
452
+ [value]="value()"
453
+ [checked]="isChecked()"
454
+ [size]="effectiveSize()"
455
+ [variant]="effectiveVariant()"
456
+ [disabled]="effectiveDisabled()"
457
+ [invalid]="effectiveInvalid()"
458
+ [indeterminate]="indeterminate()"
459
+ (checkedChange)="onDirectiveCheckedChange($event)"
460
+ />
461
+ <span class="talos-checkbox-label">
462
+ <ng-content></ng-content>
463
+ </span>
464
+ </label>
465
+ `, isInline: true, dependencies: [{ kind: "directive", type: TalosCheckboxDirective, selector: "input[type=\"checkbox\"][talosCheckbox], input[type=\"checkbox\"][talos-checkbox]", inputs: ["value", "checked", "size", "variant", "disabled", "invalid", "indeterminate"], outputs: ["checkedChange"], exportAs: ["talosCheckbox"] }] });
466
+ }
467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxComponent, decorators: [{
468
+ type: Component,
469
+ args: [{
470
+ selector: 'talos-checkbox',
471
+ imports: [TalosCheckboxDirective],
472
+ providers: [
473
+ {
474
+ provide: NG_VALUE_ACCESSOR,
475
+ useExisting: forwardRef(() => TalosCheckboxComponent),
476
+ multi: true
477
+ }
478
+ ],
479
+ host: {
480
+ 'class': 'talos-checkbox-host'
481
+ },
482
+ template: `
483
+ <label class="talos-checkbox-wrapper" [class.is-disabled]="effectiveDisabled()">
484
+ <input
485
+ #inputEl
486
+ type="checkbox"
487
+ talosCheckbox
488
+ [value]="value()"
489
+ [checked]="isChecked()"
490
+ [size]="effectiveSize()"
491
+ [variant]="effectiveVariant()"
492
+ [disabled]="effectiveDisabled()"
493
+ [invalid]="effectiveInvalid()"
494
+ [indeterminate]="indeterminate()"
495
+ (checkedChange)="onDirectiveCheckedChange($event)"
496
+ />
497
+ <span class="talos-checkbox-label">
498
+ <ng-content></ng-content>
499
+ </span>
500
+ </label>
501
+ `
502
+ }]
503
+ }], propDecorators: { inputRef: [{ type: i0.ViewChild, args: ['inputEl', { isSignal: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], indeterminate: [{ type: i0.Input, args: [{ isSignal: true, alias: "indeterminate", required: false }] }], checkedChange: [{ type: i0.Output, args: ["checkedChange"] }] } });
504
+
505
+ /**
506
+ * Convenience NgModule wrapping standalone checkbox directives and components.
507
+ *
508
+ * Allows developers who prefer `TalosCheckboxModule` to import all checkbox utilities in one go.
509
+ */
510
+ class TalosCheckboxModule {
511
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
512
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxModule, imports: [TalosCheckboxDirective,
513
+ TalosCheckboxGroupDirective,
514
+ TalosCheckboxGroupComponent,
515
+ TalosCheckboxParentDirective,
516
+ TalosCheckboxComponent], exports: [TalosCheckboxDirective,
517
+ TalosCheckboxGroupDirective,
518
+ TalosCheckboxGroupComponent,
519
+ TalosCheckboxParentDirective,
520
+ TalosCheckboxComponent] });
521
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxModule });
522
+ }
523
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosCheckboxModule, decorators: [{
524
+ type: NgModule,
525
+ args: [{
526
+ imports: [
527
+ TalosCheckboxDirective,
528
+ TalosCheckboxGroupDirective,
529
+ TalosCheckboxGroupComponent,
530
+ TalosCheckboxParentDirective,
531
+ TalosCheckboxComponent
532
+ ],
533
+ exports: [
534
+ TalosCheckboxDirective,
535
+ TalosCheckboxGroupDirective,
536
+ TalosCheckboxGroupComponent,
537
+ TalosCheckboxParentDirective,
538
+ TalosCheckboxComponent
539
+ ]
540
+ }]
541
+ }] });
542
+
543
+ /**
544
+ * Generated bundle index. Do not edit.
545
+ */
546
+
547
+ export { TalosCheckboxComponent, TalosCheckboxDirective, TalosCheckboxGroupComponent, TalosCheckboxGroupDirective, TalosCheckboxModule, TalosCheckboxParentDirective };
548
+ //# sourceMappingURL=weeehaoooz-talos-ui-form-checkbox.mjs.map