@weeehaoooz/talos-ui 0.1.1 → 0.1.2

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 (190) hide show
  1. package/README.md +2 -0
  2. package/fesm2022/{weeehaoooz-talos-ui-button-button-group.mjs → weeehaoooz-talos-ui-button.mjs} +91 -15
  3. package/fesm2022/weeehaoooz-talos-ui-button.mjs.map +1 -0
  4. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs +3110 -0
  5. package/fesm2022/weeehaoooz-talos-ui-data-display.mjs.map +1 -0
  6. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs +2414 -0
  7. package/fesm2022/weeehaoooz-talos-ui-data-viz.mjs.map +1 -0
  8. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs +1039 -0
  9. package/fesm2022/weeehaoooz-talos-ui-dropdown.mjs.map +1 -0
  10. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs +2885 -0
  11. package/fesm2022/weeehaoooz-talos-ui-feedback.mjs.map +1 -0
  12. package/fesm2022/weeehaoooz-talos-ui-form.mjs +10799 -0
  13. package/fesm2022/weeehaoooz-talos-ui-form.mjs.map +1 -0
  14. package/fesm2022/weeehaoooz-talos-ui-layout.mjs +1316 -7
  15. package/fesm2022/weeehaoooz-talos-ui-layout.mjs.map +1 -1
  16. package/fesm2022/weeehaoooz-talos-ui-nav.mjs +3 -3
  17. package/fesm2022/weeehaoooz-talos-ui-nav.mjs.map +1 -1
  18. package/fesm2022/weeehaoooz-talos-ui.mjs +21592 -16293
  19. package/fesm2022/weeehaoooz-talos-ui.mjs.map +1 -1
  20. package/package.json +20 -139
  21. package/styles/_breadcrumb.scss +16 -0
  22. package/styles/_button-group.scss +2 -1
  23. package/styles/_buttons.scss +51 -0
  24. package/styles/_dropdown.scss +438 -0
  25. package/styles/_form-controls.scss +13 -0
  26. package/styles/_progress-bar.scss +43 -0
  27. package/styles/_skeleton.scss +176 -0
  28. package/styles/_spinner.scss +58 -0
  29. package/styles/_variables.scss +33 -0
  30. package/styles/index.scss +6 -1
  31. package/types/weeehaoooz-talos-ui-button.d.ts +92 -0
  32. package/types/weeehaoooz-talos-ui-button.d.ts.map +1 -0
  33. package/types/weeehaoooz-talos-ui-data-display.d.ts +1018 -0
  34. package/types/weeehaoooz-talos-ui-data-display.d.ts.map +1 -0
  35. package/types/weeehaoooz-talos-ui-data-viz.d.ts +839 -0
  36. package/types/weeehaoooz-talos-ui-data-viz.d.ts.map +1 -0
  37. package/types/weeehaoooz-talos-ui-dropdown.d.ts +187 -0
  38. package/types/weeehaoooz-talos-ui-dropdown.d.ts.map +1 -0
  39. package/types/weeehaoooz-talos-ui-feedback.d.ts +1495 -0
  40. package/types/weeehaoooz-talos-ui-feedback.d.ts.map +1 -0
  41. package/types/weeehaoooz-talos-ui-form.d.ts +2639 -0
  42. package/types/weeehaoooz-talos-ui-form.d.ts.map +1 -0
  43. package/types/weeehaoooz-talos-ui-layout.d.ts +851 -3
  44. package/types/weeehaoooz-talos-ui-layout.d.ts.map +1 -1
  45. package/types/weeehaoooz-talos-ui-nav.d.ts +1 -1
  46. package/types/weeehaoooz-talos-ui.d.ts +7148 -4629
  47. package/types/weeehaoooz-talos-ui.d.ts.map +1 -1
  48. package/fesm2022/weeehaoooz-talos-ui-button-button-group.mjs.map +0 -1
  49. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs +0 -94
  50. package/fesm2022/weeehaoooz-talos-ui-button-button.mjs.map +0 -1
  51. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs +0 -233
  52. package/fesm2022/weeehaoooz-talos-ui-data-display-badge.mjs.map +0 -1
  53. package/fesm2022/weeehaoooz-talos-ui-data-display-data-grid.mjs +0 -1627
  54. package/fesm2022/weeehaoooz-talos-ui-data-display-data-grid.mjs.map +0 -1
  55. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs +0 -361
  56. package/fesm2022/weeehaoooz-talos-ui-data-display-status-tag.mjs.map +0 -1
  57. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs +0 -312
  58. package/fesm2022/weeehaoooz-talos-ui-data-display-timeline.mjs.map +0 -1
  59. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs +0 -235
  60. package/fesm2022/weeehaoooz-talos-ui-data-display-trend-indicator.mjs.map +0 -1
  61. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs +0 -462
  62. package/fesm2022/weeehaoooz-talos-ui-data-viz-category-bar.mjs.map +0 -1
  63. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs +0 -805
  64. package/fesm2022/weeehaoooz-talos-ui-data-viz-heatmap.mjs.map +0 -1
  65. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs +0 -267
  66. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-donut.mjs.map +0 -1
  67. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs +0 -351
  68. package/fesm2022/weeehaoooz-talos-ui-data-viz-mini-gauge.mjs.map +0 -1
  69. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs +0 -566
  70. package/fesm2022/weeehaoooz-talos-ui-data-viz-sparkline.mjs.map +0 -1
  71. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs +0 -534
  72. package/fesm2022/weeehaoooz-talos-ui-feedback-alert.mjs.map +0 -1
  73. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs +0 -446
  74. package/fesm2022/weeehaoooz-talos-ui-feedback-dialog.mjs.map +0 -1
  75. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs +0 -376
  76. package/fesm2022/weeehaoooz-talos-ui-feedback-snackbar.mjs.map +0 -1
  77. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs +0 -147
  78. package/fesm2022/weeehaoooz-talos-ui-feedback-tooltip.mjs.map +0 -1
  79. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs +0 -242
  80. package/fesm2022/weeehaoooz-talos-ui-form-affix.mjs.map +0 -1
  81. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs +0 -514
  82. package/fesm2022/weeehaoooz-talos-ui-form-autocomplete.mjs.map +0 -1
  83. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs +0 -548
  84. package/fesm2022/weeehaoooz-talos-ui-form-checkbox.mjs.map +0 -1
  85. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs +0 -692
  86. package/fesm2022/weeehaoooz-talos-ui-form-chips.mjs.map +0 -1
  87. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs +0 -761
  88. package/fesm2022/weeehaoooz-talos-ui-form-color-picker.mjs.map +0 -1
  89. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs +0 -896
  90. package/fesm2022/weeehaoooz-talos-ui-form-date-picker.mjs.map +0 -1
  91. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs +0 -872
  92. package/fesm2022/weeehaoooz-talos-ui-form-date-range-picker.mjs.map +0 -1
  93. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs +0 -119
  94. package/fesm2022/weeehaoooz-talos-ui-form-date-time-picker.mjs.map +0 -1
  95. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs +0 -135
  96. package/fesm2022/weeehaoooz-talos-ui-form-date-time-range-picker.mjs.map +0 -1
  97. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs +0 -666
  98. package/fesm2022/weeehaoooz-talos-ui-form-drop-zone.mjs.map +0 -1
  99. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs +0 -147
  100. package/fesm2022/weeehaoooz-talos-ui-form-form-field.mjs.map +0 -1
  101. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs +0 -33
  102. package/fesm2022/weeehaoooz-talos-ui-form-input.mjs.map +0 -1
  103. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs +0 -455
  104. package/fesm2022/weeehaoooz-talos-ui-form-otp.mjs.map +0 -1
  105. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs +0 -379
  106. package/fesm2022/weeehaoooz-talos-ui-form-password-input.mjs.map +0 -1
  107. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs +0 -297
  108. package/fesm2022/weeehaoooz-talos-ui-form-radio.mjs.map +0 -1
  109. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs +0 -661
  110. package/fesm2022/weeehaoooz-talos-ui-form-range-input.mjs.map +0 -1
  111. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs +0 -346
  112. package/fesm2022/weeehaoooz-talos-ui-form-rating.mjs.map +0 -1
  113. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs +0 -896
  114. package/fesm2022/weeehaoooz-talos-ui-form-select-input.mjs.map +0 -1
  115. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs +0 -252
  116. package/fesm2022/weeehaoooz-talos-ui-form-slide-toggle.mjs.map +0 -1
  117. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs +0 -916
  118. package/fesm2022/weeehaoooz-talos-ui-form-transfer-list.mjs.map +0 -1
  119. package/types/weeehaoooz-talos-ui-button-button-group.d.ts +0 -62
  120. package/types/weeehaoooz-talos-ui-button-button-group.d.ts.map +0 -1
  121. package/types/weeehaoooz-talos-ui-button-button.d.ts +0 -38
  122. package/types/weeehaoooz-talos-ui-button-button.d.ts.map +0 -1
  123. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts +0 -119
  124. package/types/weeehaoooz-talos-ui-data-display-badge.d.ts.map +0 -1
  125. package/types/weeehaoooz-talos-ui-data-display-data-grid.d.ts +0 -272
  126. package/types/weeehaoooz-talos-ui-data-display-data-grid.d.ts.map +0 -1
  127. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts +0 -135
  128. package/types/weeehaoooz-talos-ui-data-display-status-tag.d.ts.map +0 -1
  129. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts +0 -144
  130. package/types/weeehaoooz-talos-ui-data-display-timeline.d.ts.map +0 -1
  131. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts +0 -83
  132. package/types/weeehaoooz-talos-ui-data-display-trend-indicator.d.ts.map +0 -1
  133. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts +0 -255
  134. package/types/weeehaoooz-talos-ui-data-viz-category-bar.d.ts.map +0 -1
  135. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts +0 -204
  136. package/types/weeehaoooz-talos-ui-data-viz-heatmap.d.ts.map +0 -1
  137. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts +0 -101
  138. package/types/weeehaoooz-talos-ui-data-viz-mini-donut.d.ts.map +0 -1
  139. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts +0 -138
  140. package/types/weeehaoooz-talos-ui-data-viz-mini-gauge.d.ts.map +0 -1
  141. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts +0 -161
  142. package/types/weeehaoooz-talos-ui-data-viz-sparkline.d.ts.map +0 -1
  143. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts +0 -212
  144. package/types/weeehaoooz-talos-ui-feedback-alert.d.ts.map +0 -1
  145. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts +0 -259
  146. package/types/weeehaoooz-talos-ui-feedback-dialog.d.ts.map +0 -1
  147. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts +0 -147
  148. package/types/weeehaoooz-talos-ui-feedback-snackbar.d.ts.map +0 -1
  149. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts +0 -32
  150. package/types/weeehaoooz-talos-ui-feedback-tooltip.d.ts.map +0 -1
  151. package/types/weeehaoooz-talos-ui-form-affix.d.ts +0 -88
  152. package/types/weeehaoooz-talos-ui-form-affix.d.ts.map +0 -1
  153. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts +0 -113
  154. package/types/weeehaoooz-talos-ui-form-autocomplete.d.ts.map +0 -1
  155. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts +0 -165
  156. package/types/weeehaoooz-talos-ui-form-checkbox.d.ts.map +0 -1
  157. package/types/weeehaoooz-talos-ui-form-chips.d.ts +0 -152
  158. package/types/weeehaoooz-talos-ui-form-chips.d.ts.map +0 -1
  159. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts +0 -144
  160. package/types/weeehaoooz-talos-ui-form-color-picker.d.ts.map +0 -1
  161. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts +0 -138
  162. package/types/weeehaoooz-talos-ui-form-date-picker.d.ts.map +0 -1
  163. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts +0 -148
  164. package/types/weeehaoooz-talos-ui-form-date-range-picker.d.ts.map +0 -1
  165. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts +0 -44
  166. package/types/weeehaoooz-talos-ui-form-date-time-picker.d.ts.map +0 -1
  167. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts +0 -48
  168. package/types/weeehaoooz-talos-ui-form-date-time-range-picker.d.ts.map +0 -1
  169. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts +0 -227
  170. package/types/weeehaoooz-talos-ui-form-drop-zone.d.ts.map +0 -1
  171. package/types/weeehaoooz-talos-ui-form-form-field.d.ts +0 -42
  172. package/types/weeehaoooz-talos-ui-form-form-field.d.ts.map +0 -1
  173. package/types/weeehaoooz-talos-ui-form-input.d.ts +0 -15
  174. package/types/weeehaoooz-talos-ui-form-input.d.ts.map +0 -1
  175. package/types/weeehaoooz-talos-ui-form-otp.d.ts +0 -111
  176. package/types/weeehaoooz-talos-ui-form-otp.d.ts.map +0 -1
  177. package/types/weeehaoooz-talos-ui-form-password-input.d.ts +0 -145
  178. package/types/weeehaoooz-talos-ui-form-password-input.d.ts.map +0 -1
  179. package/types/weeehaoooz-talos-ui-form-radio.d.ts +0 -84
  180. package/types/weeehaoooz-talos-ui-form-radio.d.ts.map +0 -1
  181. package/types/weeehaoooz-talos-ui-form-range-input.d.ts +0 -181
  182. package/types/weeehaoooz-talos-ui-form-range-input.d.ts.map +0 -1
  183. package/types/weeehaoooz-talos-ui-form-rating.d.ts +0 -110
  184. package/types/weeehaoooz-talos-ui-form-rating.d.ts.map +0 -1
  185. package/types/weeehaoooz-talos-ui-form-select-input.d.ts +0 -195
  186. package/types/weeehaoooz-talos-ui-form-select-input.d.ts.map +0 -1
  187. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts +0 -79
  188. package/types/weeehaoooz-talos-ui-form-slide-toggle.d.ts.map +0 -1
  189. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts +0 -192
  190. package/types/weeehaoooz-talos-ui-form-transfer-list.d.ts.map +0 -1
@@ -1,297 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { input, Directive, inject, ChangeDetectorRef, computed, ViewChild, Component, ElementRef, output, contentChildren, signal, effect, forwardRef, NgModule } from '@angular/core';
3
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
4
-
5
- class TalosRadioDirective {
6
- /** Sizing variation for the radio button */
7
- size = input('md', /* @ts-ignore */
8
- ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
9
- /** Visual color variant for the radio button */
10
- variant = input('primary', /* @ts-ignore */
11
- ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
12
- /** Whether the radio button is in an invalid error state */
13
- invalid = input(false, /* @ts-ignore */
14
- ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
15
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
16
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.1", type: TalosRadioDirective, isStandalone: true, selector: "input[type=\"radio\"][talosRadio], input[type=\"radio\"][talos-radio]", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.radio-sm": "size() === \"sm\"", "class.radio-md": "size() === \"md\"", "class.radio-lg": "size() === \"lg\"", "class.talos-radio-primary": "variant() === \"primary\"", "class.talos-radio-secondary": "variant() === \"secondary\"", "class.talos-radio-success": "variant() === \"success\"", "class.talos-radio-danger": "variant() === \"danger\"", "class.is-invalid": "invalid()" }, classAttribute: "talos-radio" }, ngImport: i0 });
17
- }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioDirective, decorators: [{
19
- type: Directive,
20
- args: [{
21
- selector: 'input[type="radio"][talosRadio], input[type="radio"][talos-radio]',
22
- host: {
23
- 'class': 'talos-radio',
24
- '[class.radio-sm]': 'size() === "sm"',
25
- '[class.radio-md]': 'size() === "md"',
26
- '[class.radio-lg]': 'size() === "lg"',
27
- '[class.talos-radio-primary]': 'variant() === "primary"',
28
- '[class.talos-radio-secondary]': 'variant() === "secondary"',
29
- '[class.talos-radio-success]': 'variant() === "success"',
30
- '[class.talos-radio-danger]': 'variant() === "danger"',
31
- '[class.is-invalid]': 'invalid()'
32
- }
33
- }]
34
- }], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }] } });
35
-
36
- let radioOptionCounter = 0;
37
- class TalosRadioComponent {
38
- radioGroup = inject(TalosRadioGroupComponent, { optional: true });
39
- cdr = inject(ChangeDetectorRef);
40
- radioInputEl;
41
- // Signal Inputs
42
- value = input.required(/* @ts-ignore */
43
- ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
44
- disabled = input(false, /* @ts-ignore */
45
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
46
- size = input(undefined, /* @ts-ignore */
47
- ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
48
- variant = input(undefined, /* @ts-ignore */
49
- ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
50
- id = input('', /* @ts-ignore */
51
- ...(ngDevMode ? [{ debugName: "id" }] : /* istanbul ignore next */ []));
52
- // Internal Unique ID
53
- defaultId = `talos-radio-opt-${++radioOptionCounter}`;
54
- elementId = computed(() => this.id() || this.defaultId, /* @ts-ignore */
55
- ...(ngDevMode ? [{ debugName: "elementId" }] : /* istanbul ignore next */ []));
56
- // Cascading properties from group or standalone defaults
57
- effectiveName = computed(() => this.radioGroup?.name() || 'talos-radio', /* @ts-ignore */
58
- ...(ngDevMode ? [{ debugName: "effectiveName" }] : /* istanbul ignore next */ []));
59
- effectiveSize = computed(() => this.size() ?? this.radioGroup?.size() ?? 'md', /* @ts-ignore */
60
- ...(ngDevMode ? [{ debugName: "effectiveSize" }] : /* istanbul ignore next */ []));
61
- effectiveVariant = computed(() => this.variant() ?? this.radioGroup?.variant() ?? 'primary', /* @ts-ignore */
62
- ...(ngDevMode ? [{ debugName: "effectiveVariant" }] : /* istanbul ignore next */ []));
63
- effectiveDisabled = computed(() => this.disabled() || (this.radioGroup?.effectiveDisabled() ?? false), /* @ts-ignore */
64
- ...(ngDevMode ? [{ debugName: "effectiveDisabled" }] : /* istanbul ignore next */ []));
65
- // Selection state
66
- checked = computed(() => {
67
- if (!this.radioGroup)
68
- return false;
69
- return this.radioGroup.value() === this.value();
70
- }, /* @ts-ignore */
71
- ...(ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []));
72
- onRadioChange(event) {
73
- if (this.effectiveDisabled())
74
- return;
75
- if (this.radioGroup) {
76
- this.radioGroup.selectValue(this.value());
77
- }
78
- }
79
- focusInput() {
80
- this.radioInputEl?.nativeElement.focus();
81
- }
82
- markForCheck() {
83
- this.cdr.markForCheck();
84
- }
85
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
86
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.1", type: TalosRadioComponent, isStandalone: true, selector: "talos-radio", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: true, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", 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 }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null } }, host: { classAttribute: "talos-radio-host" }, viewQueries: [{ propertyName: "radioInputEl", first: true, predicate: ["radioInput"], descendants: true }], ngImport: i0, template: `
87
- <label class="talos-radio-wrapper" [class.is-disabled]="effectiveDisabled()" [class.is-checked]="checked()">
88
- <input
89
- #radioInput
90
- type="radio"
91
- talosRadio
92
- [id]="elementId()"
93
- [name]="effectiveName()"
94
- [size]="effectiveSize()"
95
- [variant]="effectiveVariant()"
96
- [checked]="checked()"
97
- [disabled]="effectiveDisabled()"
98
- (change)="onRadioChange($event)"
99
- />
100
- <span class="talos-radio-label">
101
- <ng-content></ng-content>
102
- </span>
103
- </label>
104
- `, isInline: true, dependencies: [{ kind: "directive", type: TalosRadioDirective, selector: "input[type=\"radio\"][talosRadio], input[type=\"radio\"][talos-radio]", inputs: ["size", "variant", "invalid"] }] });
105
- }
106
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioComponent, decorators: [{
107
- type: Component,
108
- args: [{
109
- selector: 'talos-radio',
110
- imports: [TalosRadioDirective],
111
- template: `
112
- <label class="talos-radio-wrapper" [class.is-disabled]="effectiveDisabled()" [class.is-checked]="checked()">
113
- <input
114
- #radioInput
115
- type="radio"
116
- talosRadio
117
- [id]="elementId()"
118
- [name]="effectiveName()"
119
- [size]="effectiveSize()"
120
- [variant]="effectiveVariant()"
121
- [checked]="checked()"
122
- [disabled]="effectiveDisabled()"
123
- (change)="onRadioChange($event)"
124
- />
125
- <span class="talos-radio-label">
126
- <ng-content></ng-content>
127
- </span>
128
- </label>
129
- `,
130
- host: {
131
- 'class': 'talos-radio-host'
132
- }
133
- }]
134
- }], propDecorators: { radioInputEl: [{
135
- type: ViewChild,
136
- args: ['radioInput']
137
- }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: true }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }] } });
138
-
139
- let groupUniqueIdCounter = 0;
140
- class TalosRadioGroupComponent {
141
- elementRef = inject((ElementRef));
142
- // Signal Inputs
143
- name = input(`talos-radio-group-${++groupUniqueIdCounter}`, /* @ts-ignore */
144
- ...(ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []));
145
- size = input('md', /* @ts-ignore */
146
- ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
147
- variant = input('primary', /* @ts-ignore */
148
- ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
149
- direction = input('vertical', /* @ts-ignore */
150
- ...(ngDevMode ? [{ debugName: "direction" }] : /* istanbul ignore next */ []));
151
- disabled = input(false, /* @ts-ignore */
152
- ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
153
- invalid = input(false, /* @ts-ignore */
154
- ...(ngDevMode ? [{ debugName: "invalid" }] : /* istanbul ignore next */ []));
155
- // Signal Outputs
156
- valueChange = output();
157
- // Content Queries for child radios
158
- radios = contentChildren(TalosRadioComponent, { ...(ngDevMode ? { debugName: "radios" } : /* istanbul ignore next */ {}), descendants: true });
159
- // Internal reactive state
160
- value = signal(null, /* @ts-ignore */
161
- ...(ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []));
162
- isDisabled = signal(false, /* @ts-ignore */
163
- ...(ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []));
164
- isTouched = signal(false, /* @ts-ignore */
165
- ...(ngDevMode ? [{ debugName: "isTouched" }] : /* istanbul ignore next */ []));
166
- // Computed state
167
- effectiveDisabled = computed(() => this.disabled() || this.isDisabled(), /* @ts-ignore */
168
- ...(ngDevMode ? [{ debugName: "effectiveDisabled" }] : /* istanbul ignore next */ []));
169
- // ControlValueAccessor Callbacks
170
- onChange = () => { };
171
- onTouched = () => { };
172
- constructor() {
173
- // Notify child radios when group state changes
174
- effect(() => {
175
- const childRadios = this.radios();
176
- const currentVal = this.value();
177
- childRadios.forEach((radio) => {
178
- radio.markForCheck();
179
- });
180
- });
181
- }
182
- // --- ControlValueAccessor Interface ---
183
- writeValue(val) {
184
- this.value.set(val);
185
- }
186
- registerOnChange(fn) {
187
- this.onChange = fn;
188
- }
189
- registerOnTouched(fn) {
190
- this.onTouched = fn;
191
- }
192
- setDisabledState(isDisabled) {
193
- this.isDisabled.set(isDisabled);
194
- }
195
- selectValue(val) {
196
- if (this.effectiveDisabled())
197
- return;
198
- if (this.value() !== val) {
199
- this.value.set(val);
200
- this.onChange(val);
201
- this.valueChange.emit(val);
202
- }
203
- this.markAsTouched();
204
- }
205
- markAsTouched() {
206
- if (!this.isTouched()) {
207
- this.isTouched.set(true);
208
- this.onTouched();
209
- }
210
- }
211
- // --- Keyboard Navigation (Arrow Keys) ---
212
- onKeyDown(event) {
213
- if (this.effectiveDisabled())
214
- return;
215
- const childRadios = this.radios().filter((r) => !r.effectiveDisabled());
216
- if (childRadios.length === 0)
217
- return;
218
- const currentIdx = childRadios.findIndex((r) => r.value() === this.value());
219
- switch (event.key) {
220
- case 'ArrowDown':
221
- case 'ArrowRight': {
222
- event.preventDefault();
223
- const nextIdx = currentIdx < 0 ? 0 : (currentIdx + 1) % childRadios.length;
224
- const nextRadio = childRadios[nextIdx];
225
- this.selectValue(nextRadio.value());
226
- nextRadio.focusInput();
227
- break;
228
- }
229
- case 'ArrowUp':
230
- case 'ArrowLeft': {
231
- event.preventDefault();
232
- const prevIdx = currentIdx < 0 ? childRadios.length - 1 : (currentIdx - 1 + childRadios.length) % childRadios.length;
233
- const prevRadio = childRadios[prevIdx];
234
- this.selectValue(prevRadio.value());
235
- prevRadio.focusInput();
236
- break;
237
- }
238
- }
239
- }
240
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
241
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.1.1", type: TalosRadioGroupComponent, isStandalone: true, selector: "talos-radio-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": "radiogroup" }, listeners: { "keydown": "onKeyDown($event)" }, properties: { "class.direction-vertical": "direction() === \"vertical\"", "class.direction-horizontal": "direction() === \"horizontal\"", "class.is-disabled": "effectiveDisabled()", "class.is-invalid": "invalid()" }, classAttribute: "talos-radio-group" }, providers: [
242
- {
243
- provide: NG_VALUE_ACCESSOR,
244
- useExisting: forwardRef(() => TalosRadioGroupComponent),
245
- multi: true
246
- }
247
- ], queries: [{ propertyName: "radios", predicate: TalosRadioComponent, descendants: true, isSignal: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
248
- }
249
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioGroupComponent, decorators: [{
250
- type: Component,
251
- args: [{
252
- selector: 'talos-radio-group',
253
- template: '<ng-content></ng-content>',
254
- providers: [
255
- {
256
- provide: NG_VALUE_ACCESSOR,
257
- useExisting: forwardRef(() => TalosRadioGroupComponent),
258
- multi: true
259
- }
260
- ],
261
- host: {
262
- 'class': 'talos-radio-group',
263
- 'role': 'radiogroup',
264
- '[class.direction-vertical]': 'direction() === "vertical"',
265
- '[class.direction-horizontal]': 'direction() === "horizontal"',
266
- '[class.is-disabled]': 'effectiveDisabled()',
267
- '[class.is-invalid]': 'invalid()',
268
- '(keydown)': 'onKeyDown($event)'
269
- }
270
- }]
271
- }], ctorParameters: () => [], 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"] }], radios: [{ type: i0.ContentChildren, args: [i0.forwardRef(() => TalosRadioComponent), { ...{ descendants: true }, isSignal: true }] }] } });
272
-
273
- /**
274
- * Convenience NgModule wrapping the standalone radio components and directive.
275
- *
276
- * Allows developers who prefer `TalosRadioModule` to import it into standalone components
277
- * or legacy NgModule-based applications.
278
- */
279
- class TalosRadioModule {
280
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
281
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioModule, imports: [TalosRadioDirective, TalosRadioGroupComponent, TalosRadioComponent], exports: [TalosRadioDirective, TalosRadioGroupComponent, TalosRadioComponent] });
282
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioModule });
283
- }
284
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.1", ngImport: i0, type: TalosRadioModule, decorators: [{
285
- type: NgModule,
286
- args: [{
287
- imports: [TalosRadioDirective, TalosRadioGroupComponent, TalosRadioComponent],
288
- exports: [TalosRadioDirective, TalosRadioGroupComponent, TalosRadioComponent]
289
- }]
290
- }] });
291
-
292
- /**
293
- * Generated bundle index. Do not edit.
294
- */
295
-
296
- export { TalosRadioComponent, TalosRadioDirective, TalosRadioGroupComponent, TalosRadioModule };
297
- //# sourceMappingURL=weeehaoooz-talos-ui-form-radio.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weeehaoooz-talos-ui-form-radio.mjs","sources":["../../../projects/talos-ui/form/radio/radio/radio.directive.ts","../../../projects/talos-ui/form/radio/radio/radio.component.ts","../../../projects/talos-ui/form/radio/radio-group/radio-group.component.ts","../../../projects/talos-ui/form/radio/radio.module.ts","../../../projects/talos-ui/form/radio/weeehaoooz-talos-ui-form-radio.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\n\nexport type RadioSize = 'sm' | 'md' | 'lg';\nexport type RadioVariant = 'primary' | 'secondary' | 'success' | 'danger';\n\n@Directive({\n selector: 'input[type=\"radio\"][talosRadio], input[type=\"radio\"][talos-radio]',\n host: {\n 'class': 'talos-radio',\n '[class.radio-sm]': 'size() === \"sm\"',\n '[class.radio-md]': 'size() === \"md\"',\n '[class.radio-lg]': 'size() === \"lg\"',\n '[class.talos-radio-primary]': 'variant() === \"primary\"',\n '[class.talos-radio-secondary]': 'variant() === \"secondary\"',\n '[class.talos-radio-success]': 'variant() === \"success\"',\n '[class.talos-radio-danger]': 'variant() === \"danger\"',\n '[class.is-invalid]': 'invalid()'\n }\n})\nexport class TalosRadioDirective {\n /** Sizing variation for the radio button */\n readonly size = input<RadioSize>('md');\n\n /** Visual color variant for the radio button */\n readonly variant = input<RadioVariant>('primary');\n\n /** Whether the radio button is in an invalid error state */\n readonly invalid = input<boolean>(false);\n}\n","import {\n Component,\n ElementRef,\n ViewChild,\n ChangeDetectorRef,\n computed,\n inject,\n input\n} from '@angular/core';\nimport { TalosRadioDirective, RadioSize, RadioVariant } from './radio.directive';\nimport { TalosRadioGroupComponent } from '../radio-group/radio-group.component';\n\nlet radioOptionCounter = 0;\n\n@Component({\n selector: 'talos-radio',\n imports: [TalosRadioDirective],\n template: `\n <label class=\"talos-radio-wrapper\" [class.is-disabled]=\"effectiveDisabled()\" [class.is-checked]=\"checked()\">\n <input\n #radioInput\n type=\"radio\"\n talosRadio\n [id]=\"elementId()\"\n [name]=\"effectiveName()\"\n [size]=\"effectiveSize()\"\n [variant]=\"effectiveVariant()\"\n [checked]=\"checked()\"\n [disabled]=\"effectiveDisabled()\"\n (change)=\"onRadioChange($event)\"\n />\n <span class=\"talos-radio-label\">\n <ng-content></ng-content>\n </span>\n </label>\n `,\n host: {\n 'class': 'talos-radio-host'\n }\n})\nexport class TalosRadioComponent {\n private readonly radioGroup = inject(TalosRadioGroupComponent, { optional: true });\n private readonly cdr = inject(ChangeDetectorRef);\n\n @ViewChild('radioInput') radioInputEl?: ElementRef<HTMLInputElement>;\n\n // Signal Inputs\n readonly value = input.required<unknown>();\n readonly disabled = input<boolean>(false);\n readonly size = input<RadioSize | undefined>(undefined);\n readonly variant = input<RadioVariant | undefined>(undefined);\n readonly id = input<string>('');\n\n // Internal Unique ID\n private readonly defaultId = `talos-radio-opt-${++radioOptionCounter}`;\n readonly elementId = computed(() => this.id() || this.defaultId);\n\n // Cascading properties from group or standalone defaults\n readonly effectiveName = computed(() => this.radioGroup?.name() || 'talos-radio');\n readonly effectiveSize = computed(() => this.size() ?? this.radioGroup?.size() ?? 'md');\n readonly effectiveVariant = computed(() => this.variant() ?? this.radioGroup?.variant() ?? 'primary');\n readonly effectiveDisabled = computed(() => this.disabled() || (this.radioGroup?.effectiveDisabled() ?? false));\n\n // Selection state\n readonly checked = computed(() => {\n if (!this.radioGroup) return false;\n return this.radioGroup.value() === this.value();\n });\n\n onRadioChange(event: Event): void {\n if (this.effectiveDisabled()) return;\n if (this.radioGroup) {\n this.radioGroup.selectValue(this.value());\n }\n }\n\n focusInput(): void {\n this.radioInputEl?.nativeElement.focus();\n }\n\n markForCheck(): void {\n this.cdr.markForCheck();\n }\n}\n","import {\n Component,\n ElementRef,\n computed,\n contentChildren,\n effect,\n forwardRef,\n inject,\n input,\n output,\n signal\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { TalosRadioDirective, RadioSize, RadioVariant } from '../radio/radio.directive';\nimport { TalosRadioComponent } from '../radio/radio.component';\n\nexport type RadioDirection = 'vertical' | 'horizontal';\n\nlet groupUniqueIdCounter = 0;\n\n@Component({\n selector: 'talos-radio-group',\n template: '<ng-content></ng-content>',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TalosRadioGroupComponent),\n multi: true\n }\n ],\n host: {\n 'class': 'talos-radio-group',\n 'role': 'radiogroup',\n '[class.direction-vertical]': 'direction() === \"vertical\"',\n '[class.direction-horizontal]': 'direction() === \"horizontal\"',\n '[class.is-disabled]': 'effectiveDisabled()',\n '[class.is-invalid]': 'invalid()',\n '(keydown)': 'onKeyDown($event)'\n }\n})\nexport class TalosRadioGroupComponent implements ControlValueAccessor {\n private readonly elementRef = inject(ElementRef<HTMLElement>);\n\n // Signal Inputs\n readonly name = input<string>(`talos-radio-group-${++groupUniqueIdCounter}`);\n readonly size = input<RadioSize>('md');\n readonly variant = input<RadioVariant>('primary');\n readonly direction = input<RadioDirection>('vertical');\n readonly disabled = input<boolean>(false);\n readonly invalid = input<boolean>(false);\n\n // Signal Outputs\n readonly valueChange = output<unknown>();\n\n // Content Queries for child radios\n readonly radios = contentChildren(TalosRadioComponent, { descendants: true });\n\n // Internal reactive state\n readonly value = signal<unknown>(null);\n readonly isDisabled = signal<boolean>(false);\n readonly isTouched = signal<boolean>(false);\n\n // Computed state\n readonly effectiveDisabled = computed(() => this.disabled() || this.isDisabled());\n\n // ControlValueAccessor Callbacks\n private onChange: (val: unknown) => void = () => { };\n private onTouched: () => void = () => { };\n\n constructor() {\n // Notify child radios when group state changes\n effect(() => {\n const childRadios = this.radios();\n const currentVal = this.value();\n childRadios.forEach((radio) => {\n radio.markForCheck();\n });\n });\n }\n\n // --- ControlValueAccessor Interface ---\n writeValue(val: unknown): void {\n this.value.set(val);\n }\n\n registerOnChange(fn: (val: unknown) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.isDisabled.set(isDisabled);\n }\n\n selectValue(val: unknown): void {\n if (this.effectiveDisabled()) return;\n if (this.value() !== val) {\n this.value.set(val);\n this.onChange(val);\n this.valueChange.emit(val);\n }\n this.markAsTouched();\n }\n\n markAsTouched(): void {\n if (!this.isTouched()) {\n this.isTouched.set(true);\n this.onTouched();\n }\n }\n\n // --- Keyboard Navigation (Arrow Keys) ---\n onKeyDown(event: KeyboardEvent): void {\n if (this.effectiveDisabled()) return;\n\n const childRadios = this.radios().filter((r) => !r.effectiveDisabled());\n if (childRadios.length === 0) return;\n\n const currentIdx = childRadios.findIndex((r) => r.value() === this.value());\n\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowRight': {\n event.preventDefault();\n const nextIdx = currentIdx < 0 ? 0 : (currentIdx + 1) % childRadios.length;\n const nextRadio = childRadios[nextIdx];\n this.selectValue(nextRadio.value());\n nextRadio.focusInput();\n break;\n }\n case 'ArrowUp':\n case 'ArrowLeft': {\n event.preventDefault();\n const prevIdx = currentIdx < 0 ? childRadios.length - 1 : (currentIdx - 1 + childRadios.length) % childRadios.length;\n const prevRadio = childRadios[prevIdx];\n this.selectValue(prevRadio.value());\n prevRadio.focusInput();\n break;\n }\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { TalosRadioDirective } from './radio/radio.directive';\nimport { TalosRadioGroupComponent } from './radio-group/radio-group.component';\nimport { TalosRadioComponent } from './radio/radio.component';\n\n/**\n * Convenience NgModule wrapping the standalone radio components and directive.\n * \n * Allows developers who prefer `TalosRadioModule` to import it into standalone components\n * or legacy NgModule-based applications.\n */\n@NgModule({\n imports: [TalosRadioDirective, TalosRadioGroupComponent, TalosRadioComponent],\n exports: [TalosRadioDirective, TalosRadioGroupComponent, TalosRadioComponent]\n})\nexport class TalosRadioModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAmBa,mBAAmB,CAAA;;IAErB,IAAI,GAAG,KAAK,CAAY,IAAI;6EAAC;;IAG7B,OAAO,GAAG,KAAK,CAAe,SAAS;gFAAC;;IAGxC,OAAO,GAAG,KAAK,CAAU,KAAK;gFAAC;uGAR7B,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;2FAAnB,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,gBAAA,EAAA,mBAAA,EAAA,2BAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,6BAAA,EAAA,2BAAA,EAAA,2BAAA,EAAA,0BAAA,EAAA,0BAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,EAAA,cAAA,EAAA,aAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA;;2FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAd/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mEAAmE;AAC7E,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,aAAa;AACtB,wBAAA,kBAAkB,EAAE,iBAAiB;AACrC,wBAAA,kBAAkB,EAAE,iBAAiB;AACrC,wBAAA,kBAAkB,EAAE,iBAAiB;AACrC,wBAAA,6BAA6B,EAAE,yBAAyB;AACxD,wBAAA,+BAA+B,EAAE,2BAA2B;AAC5D,wBAAA,6BAA6B,EAAE,yBAAyB;AACxD,wBAAA,4BAA4B,EAAE,wBAAwB;AACtD,wBAAA,oBAAoB,EAAE;AACvB;AACF,iBAAA;;;ACND,IAAI,kBAAkB,GAAG,CAAC;MA4Bb,mBAAmB,CAAA;IACb,UAAU,GAAG,MAAM,CAAC,wBAAwB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AACjE,IAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAEvB,IAAA,YAAY;;IAG5B,KAAK,GAAG,KAAK,CAAC,QAAQ;8EAAW;IACjC,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;IAChC,IAAI,GAAG,KAAK,CAAwB,SAAS;6EAAC;IAC9C,OAAO,GAAG,KAAK,CAA2B,SAAS;gFAAC;IACpD,EAAE,GAAG,KAAK,CAAS,EAAE;2EAAC;;AAGd,IAAA,SAAS,GAAG,CAAA,gBAAA,EAAmB,EAAE,kBAAkB,EAAE;AAC7D,IAAA,SAAS,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,SAAS;kFAAC;;AAGvD,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,aAAa;sFAAC;AACxE,IAAA,aAAa,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,IAAI,IAAI;sFAAC;AAC9E,IAAA,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE,IAAI,SAAS;yFAAC;IAC5F,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,IAAI,KAAK,CAAC;0FAAC;;AAGtG,IAAA,OAAO,GAAG,QAAQ,CAAC,MAAK;QAC/B,IAAI,CAAC,IAAI,CAAC,UAAU;AAAE,YAAA,OAAO,KAAK;QAClC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE;IACjD,CAAC;gFAAC;AAEF,IAAA,aAAa,CAAC,KAAY,EAAA;QACxB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAAE;AAC9B,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;YACnB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC3C;IACF;IAEA,UAAU,GAAA;AACR,QAAA,IAAI,CAAC,YAAY,EAAE,aAAa,CAAC,KAAK,EAAE;IAC1C;IAEA,YAAY,GAAA;AACV,QAAA,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE;IACzB;uGA1CW,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAnB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,EAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,cAAA,EAAA,kBAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,cAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,YAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAvBpB;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAnBS,mBAAmB,EAAA,QAAA,EAAA,uEAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,SAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FAwBlB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBA1B/B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,aAAa;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,oBAAA,QAAQ,EAAE;;;;;;;;;;;;;;;;;;AAkBT,EAAA,CAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE;AACV;AACF,iBAAA;;sBAKE,SAAS;uBAAC,YAAY;;;AC1BzB,IAAI,oBAAoB,GAAG,CAAC;MAsBf,wBAAwB,CAAA;AAClB,IAAA,UAAU,GAAG,MAAM,EAAC,UAAuB,EAAC;;AAGpD,IAAA,IAAI,GAAG,KAAK,CAAS,CAAA,kBAAA,EAAqB,EAAE,oBAAoB,CAAA,CAAE;6EAAC;IACnE,IAAI,GAAG,KAAK,CAAY,IAAI;6EAAC;IAC7B,OAAO,GAAG,KAAK,CAAe,SAAS;gFAAC;IACxC,SAAS,GAAG,KAAK,CAAiB,UAAU;kFAAC;IAC7C,QAAQ,GAAG,KAAK,CAAU,KAAK;iFAAC;IAChC,OAAO,GAAG,KAAK,CAAU,KAAK;gFAAC;;IAG/B,WAAW,GAAG,MAAM,EAAW;;IAG/B,MAAM,GAAG,eAAe,CAAC,mBAAmB,8EAAI,WAAW,EAAE,IAAI,EAAA,CAAG;;IAGpE,KAAK,GAAG,MAAM,CAAU,IAAI;8EAAC;IAC7B,UAAU,GAAG,MAAM,CAAU,KAAK;mFAAC;IACnC,SAAS,GAAG,MAAM,CAAU,KAAK;kFAAC;;AAGlC,IAAA,iBAAiB,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,UAAU,EAAE;0FAAC;;AAGzE,IAAA,QAAQ,GAA2B,MAAK,EAAG,CAAC;AAC5C,IAAA,SAAS,GAAe,MAAK,EAAG,CAAC;AAEzC,IAAA,WAAA,GAAA;;QAEE,MAAM,CAAC,MAAK;AACV,YAAA,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE;AACjC,YAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,EAAE;AAC/B,YAAA,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,KAAI;gBAC5B,KAAK,CAAC,YAAY,EAAE;AACtB,YAAA,CAAC,CAAC;AACJ,QAAA,CAAC,CAAC;IACJ;;AAGA,IAAA,UAAU,CAAC,GAAY,EAAA;AACrB,QAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACrB;AAEA,IAAA,gBAAgB,CAAC,EAA0B,EAAA;AACzC,QAAA,IAAI,CAAC,QAAQ,GAAG,EAAE;IACpB;AAEA,IAAA,iBAAiB,CAAC,EAAc,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE;IACrB;AAEA,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC;IACjC;AAEA,IAAA,WAAW,CAAC,GAAY,EAAA;QACtB,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAAE;AAC9B,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,EAAE;AACxB,YAAA,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;AACnB,YAAA,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;AAClB,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC;QAC5B;QACA,IAAI,CAAC,aAAa,EAAE;IACtB;IAEA,aAAa,GAAA;AACX,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;AACrB,YAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC;YACxB,IAAI,CAAC,SAAS,EAAE;QAClB;IACF;;AAGA,IAAA,SAAS,CAAC,KAAoB,EAAA;QAC5B,IAAI,IAAI,CAAC,iBAAiB,EAAE;YAAE;QAE9B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;AACvE,QAAA,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE;QAE9B,MAAM,UAAU,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;AAE3E,QAAA,QAAQ,KAAK,CAAC,GAAG;AACf,YAAA,KAAK,WAAW;YAChB,KAAK,YAAY,EAAE;gBACjB,KAAK,CAAC,cAAc,EAAE;gBACtB,MAAM,OAAO,GAAG,UAAU,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,IAAI,WAAW,CAAC,MAAM;AAC1E,gBAAA,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnC,SAAS,CAAC,UAAU,EAAE;gBACtB;YACF;AACA,YAAA,KAAK,SAAS;YACd,KAAK,WAAW,EAAE;gBAChB,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,MAAM,OAAO,GAAG,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,UAAU,GAAG,CAAC,GAAG,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM;AACpH,gBAAA,MAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC;gBACtC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACnC,SAAS,CAAC,UAAU,EAAE;gBACtB;YACF;;IAEJ;uGAvGW,wBAAwB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAAxB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,wBAAwB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,QAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,UAAA,EAAA,UAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,OAAA,EAAA,EAAA,iBAAA,EAAA,SAAA,EAAA,UAAA,EAAA,SAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,YAAA,EAAA,EAAA,SAAA,EAAA,EAAA,SAAA,EAAA,mBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,0BAAA,EAAA,8BAAA,EAAA,4BAAA,EAAA,gCAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,kBAAA,EAAA,WAAA,EAAA,EAAA,cAAA,EAAA,mBAAA,EAAA,EAAA,SAAA,EAjBxB;AACT,YAAA;AACE,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,WAAW,EAAE,UAAU,CAAC,MAAM,wBAAwB,CAAC;AACvD,gBAAA,KAAK,EAAE;AACR;SACF,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EA0BiC,mBAAmB,gEAjC3C,2BAA2B,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA;;2FAkB1B,wBAAwB,EAAA,UAAA,EAAA,CAAA;kBApBpC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACT,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,QAAQ,EAAE,2BAA2B;AACrC,oBAAA,SAAS,EAAE;AACT,wBAAA;AACE,4BAAA,OAAO,EAAE,iBAAiB;AAC1B,4BAAA,WAAW,EAAE,UAAU,CAAC,8BAA8B,CAAC;AACvD,4BAAA,KAAK,EAAE;AACR;AACF,qBAAA;AACD,oBAAA,IAAI,EAAE;AACJ,wBAAA,OAAO,EAAE,mBAAmB;AAC5B,wBAAA,MAAM,EAAE,YAAY;AACpB,wBAAA,4BAA4B,EAAE,4BAA4B;AAC1D,wBAAA,8BAA8B,EAAE,8BAA8B;AAC9D,wBAAA,qBAAqB,EAAE,qBAAqB;AAC5C,wBAAA,oBAAoB,EAAE,WAAW;AACjC,wBAAA,WAAW,EAAE;AACd;AACF,iBAAA;AAgBmC,SAAA,CAAA,EAAA,cAAA,EAAA,MAAA,EAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,MAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,WAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,UAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,KAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,KAAA,EAAA,SAAA,EAAA,QAAA,EAAA,KAAA,EAAA,CAAA,EAAA,CAAA,EAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,MAAA,EAAA,IAAA,EAAA,CAAA,aAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,UAAA,CAAA,MAAA,mBAAmB,CAAA,EAAA,EAAA,GAAE,EAAE,WAAW,EAAE,IAAI,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,CAAA,EAAA,EAAA,CAAA;;AClD9E;;;;;AAKG;MAKU,gBAAgB,CAAA;uGAAhB,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA;wGAAhB,gBAAgB,EAAA,OAAA,EAAA,CAHjB,mBAAmB,EAAE,wBAAwB,EAAE,mBAAmB,CAAA,EAAA,OAAA,EAAA,CAClE,mBAAmB,EAAE,wBAAwB,EAAE,mBAAmB,CAAA,EAAA,CAAA;wGAEjE,gBAAgB,EAAA,CAAA;;2FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,mBAAmB,CAAC;AAC7E,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,wBAAwB,EAAE,mBAAmB;AAC7E,iBAAA;;;ACdD;;AAEG;;;;"}