@hyalo/angular 0.0.0-stage → 0.3.1

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 (229) hide show
  1. package/CHANGELOG.md +95 -0
  2. package/LICENSE +21 -0
  3. package/README.md +45 -2
  4. package/fesm2022/hyalo-angular-accordion.mjs +230 -0
  5. package/fesm2022/hyalo-angular-accordion.mjs.map +1 -0
  6. package/fesm2022/hyalo-angular-alert.mjs +171 -0
  7. package/fesm2022/hyalo-angular-alert.mjs.map +1 -0
  8. package/fesm2022/hyalo-angular-aspect-ratio.mjs +64 -0
  9. package/fesm2022/hyalo-angular-aspect-ratio.mjs.map +1 -0
  10. package/fesm2022/hyalo-angular-avatar.mjs +169 -0
  11. package/fesm2022/hyalo-angular-avatar.mjs.map +1 -0
  12. package/fesm2022/hyalo-angular-badge.mjs +268 -0
  13. package/fesm2022/hyalo-angular-badge.mjs.map +1 -0
  14. package/fesm2022/hyalo-angular-bento.mjs +132 -0
  15. package/fesm2022/hyalo-angular-bento.mjs.map +1 -0
  16. package/fesm2022/hyalo-angular-blocks.mjs +985 -0
  17. package/fesm2022/hyalo-angular-blocks.mjs.map +1 -0
  18. package/fesm2022/hyalo-angular-border-beam.mjs +73 -0
  19. package/fesm2022/hyalo-angular-border-beam.mjs.map +1 -0
  20. package/fesm2022/hyalo-angular-breadcrumb.mjs +77 -0
  21. package/fesm2022/hyalo-angular-breadcrumb.mjs.map +1 -0
  22. package/fesm2022/hyalo-angular-button-group.mjs +90 -0
  23. package/fesm2022/hyalo-angular-button-group.mjs.map +1 -0
  24. package/fesm2022/hyalo-angular-button.mjs +204 -0
  25. package/fesm2022/hyalo-angular-button.mjs.map +1 -0
  26. package/fesm2022/hyalo-angular-card.mjs +221 -0
  27. package/fesm2022/hyalo-angular-card.mjs.map +1 -0
  28. package/fesm2022/hyalo-angular-carousel.mjs +709 -0
  29. package/fesm2022/hyalo-angular-carousel.mjs.map +1 -0
  30. package/fesm2022/hyalo-angular-chapter-nav.mjs +336 -0
  31. package/fesm2022/hyalo-angular-chapter-nav.mjs.map +1 -0
  32. package/fesm2022/hyalo-angular-chart-engine-DSJop6He.mjs +5 -0
  33. package/fesm2022/hyalo-angular-chart-engine-DSJop6He.mjs.map +1 -0
  34. package/fesm2022/hyalo-angular-chart.mjs +391 -0
  35. package/fesm2022/hyalo-angular-chart.mjs.map +1 -0
  36. package/fesm2022/hyalo-angular-choice.mjs +789 -0
  37. package/fesm2022/hyalo-angular-choice.mjs.map +1 -0
  38. package/fesm2022/hyalo-angular-code-block-highlight-B20d5C76.mjs +40 -0
  39. package/fesm2022/hyalo-angular-code-block-highlight-B20d5C76.mjs.map +1 -0
  40. package/fesm2022/hyalo-angular-code-block.mjs +161 -0
  41. package/fesm2022/hyalo-angular-code-block.mjs.map +1 -0
  42. package/fesm2022/hyalo-angular-command.mjs +193 -0
  43. package/fesm2022/hyalo-angular-command.mjs.map +1 -0
  44. package/fesm2022/hyalo-angular-copy.mjs +138 -0
  45. package/fesm2022/hyalo-angular-copy.mjs.map +1 -0
  46. package/fesm2022/hyalo-angular-core.mjs +424 -0
  47. package/fesm2022/hyalo-angular-core.mjs.map +1 -0
  48. package/fesm2022/hyalo-angular-description-list.mjs +57 -0
  49. package/fesm2022/hyalo-angular-description-list.mjs.map +1 -0
  50. package/fesm2022/hyalo-angular-dialog.mjs +600 -0
  51. package/fesm2022/hyalo-angular-dialog.mjs.map +1 -0
  52. package/fesm2022/hyalo-angular-divider.mjs +66 -0
  53. package/fesm2022/hyalo-angular-divider.mjs.map +1 -0
  54. package/fesm2022/hyalo-angular-empty-state.mjs +123 -0
  55. package/fesm2022/hyalo-angular-empty-state.mjs.map +1 -0
  56. package/fesm2022/hyalo-angular-field.mjs +344 -0
  57. package/fesm2022/hyalo-angular-field.mjs.map +1 -0
  58. package/fesm2022/hyalo-angular-filter.mjs +309 -0
  59. package/fesm2022/hyalo-angular-filter.mjs.map +1 -0
  60. package/fesm2022/hyalo-angular-hotspot.mjs +225 -0
  61. package/fesm2022/hyalo-angular-hotspot.mjs.map +1 -0
  62. package/fesm2022/hyalo-angular-hover-card.mjs +233 -0
  63. package/fesm2022/hyalo-angular-hover-card.mjs.map +1 -0
  64. package/fesm2022/hyalo-angular-icon.mjs +385 -0
  65. package/fesm2022/hyalo-angular-icon.mjs.map +1 -0
  66. package/fesm2022/hyalo-angular-image-compare.mjs +168 -0
  67. package/fesm2022/hyalo-angular-image-compare.mjs.map +1 -0
  68. package/fesm2022/hyalo-angular-interaction.mjs +446 -0
  69. package/fesm2022/hyalo-angular-interaction.mjs.map +1 -0
  70. package/fesm2022/hyalo-angular-kbd.mjs +41 -0
  71. package/fesm2022/hyalo-angular-kbd.mjs.map +1 -0
  72. package/fesm2022/hyalo-angular-lightbox.mjs +228 -0
  73. package/fesm2022/hyalo-angular-lightbox.mjs.map +1 -0
  74. package/fesm2022/hyalo-angular-link.mjs +42 -0
  75. package/fesm2022/hyalo-angular-link.mjs.map +1 -0
  76. package/fesm2022/hyalo-angular-list.mjs +131 -0
  77. package/fesm2022/hyalo-angular-list.mjs.map +1 -0
  78. package/fesm2022/hyalo-angular-marquee.mjs +197 -0
  79. package/fesm2022/hyalo-angular-marquee.mjs.map +1 -0
  80. package/fesm2022/hyalo-angular-menu.mjs +423 -0
  81. package/fesm2022/hyalo-angular-menu.mjs.map +1 -0
  82. package/fesm2022/hyalo-angular-mesh.mjs +126 -0
  83. package/fesm2022/hyalo-angular-mesh.mjs.map +1 -0
  84. package/fesm2022/hyalo-angular-motion.mjs +620 -0
  85. package/fesm2022/hyalo-angular-motion.mjs.map +1 -0
  86. package/fesm2022/hyalo-angular-navbar.mjs +343 -0
  87. package/fesm2022/hyalo-angular-navbar.mjs.map +1 -0
  88. package/fesm2022/hyalo-angular-navigation-menu.mjs +222 -0
  89. package/fesm2022/hyalo-angular-navigation-menu.mjs.map +1 -0
  90. package/fesm2022/hyalo-angular-number-ticker.mjs +174 -0
  91. package/fesm2022/hyalo-angular-number-ticker.mjs.map +1 -0
  92. package/fesm2022/hyalo-angular-overlay.mjs +163 -0
  93. package/fesm2022/hyalo-angular-overlay.mjs.map +1 -0
  94. package/fesm2022/hyalo-angular-pagination.mjs +187 -0
  95. package/fesm2022/hyalo-angular-pagination.mjs.map +1 -0
  96. package/fesm2022/hyalo-angular-popover-overlay-kit-6wPwnxln.mjs +3 -0
  97. package/fesm2022/hyalo-angular-popover.mjs +516 -0
  98. package/fesm2022/hyalo-angular-popover.mjs.map +1 -0
  99. package/fesm2022/hyalo-angular-progress.mjs +209 -0
  100. package/fesm2022/hyalo-angular-progress.mjs.map +1 -0
  101. package/fesm2022/hyalo-angular-progressive-blur.mjs +73 -0
  102. package/fesm2022/hyalo-angular-progressive-blur.mjs.map +1 -0
  103. package/fesm2022/hyalo-angular-refraction-renderer-5ZA-kfsA.mjs +186 -0
  104. package/fesm2022/hyalo-angular-refraction-renderer-5ZA-kfsA.mjs.map +1 -0
  105. package/fesm2022/hyalo-angular-refraction.mjs +178 -0
  106. package/fesm2022/hyalo-angular-refraction.mjs.map +1 -0
  107. package/fesm2022/hyalo-angular-scroll-area.mjs +93 -0
  108. package/fesm2022/hyalo-angular-scroll-area.mjs.map +1 -0
  109. package/fesm2022/hyalo-angular-scroll-to-top.mjs +127 -0
  110. package/fesm2022/hyalo-angular-scroll-to-top.mjs.map +1 -0
  111. package/fesm2022/hyalo-angular-segmented.mjs +223 -0
  112. package/fesm2022/hyalo-angular-segmented.mjs.map +1 -0
  113. package/fesm2022/hyalo-angular-select.mjs +561 -0
  114. package/fesm2022/hyalo-angular-select.mjs.map +1 -0
  115. package/fesm2022/hyalo-angular-sidebar.mjs +241 -0
  116. package/fesm2022/hyalo-angular-sidebar.mjs.map +1 -0
  117. package/fesm2022/hyalo-angular-skeleton.mjs +131 -0
  118. package/fesm2022/hyalo-angular-skeleton.mjs.map +1 -0
  119. package/fesm2022/hyalo-angular-sparkline.mjs +110 -0
  120. package/fesm2022/hyalo-angular-sparkline.mjs.map +1 -0
  121. package/fesm2022/hyalo-angular-split-text.mjs +126 -0
  122. package/fesm2022/hyalo-angular-split-text.mjs.map +1 -0
  123. package/fesm2022/hyalo-angular-stat.mjs +193 -0
  124. package/fesm2022/hyalo-angular-stat.mjs.map +1 -0
  125. package/fesm2022/hyalo-angular-stepper.mjs +254 -0
  126. package/fesm2022/hyalo-angular-stepper.mjs.map +1 -0
  127. package/fesm2022/hyalo-angular-table.mjs +335 -0
  128. package/fesm2022/hyalo-angular-table.mjs.map +1 -0
  129. package/fesm2022/hyalo-angular-tabs.mjs +324 -0
  130. package/fesm2022/hyalo-angular-tabs.mjs.map +1 -0
  131. package/fesm2022/hyalo-angular-theme.mjs +94 -0
  132. package/fesm2022/hyalo-angular-theme.mjs.map +1 -0
  133. package/fesm2022/hyalo-angular-timeline.mjs +157 -0
  134. package/fesm2022/hyalo-angular-timeline.mjs.map +1 -0
  135. package/fesm2022/hyalo-angular-toast.mjs +323 -0
  136. package/fesm2022/hyalo-angular-toast.mjs.map +1 -0
  137. package/fesm2022/hyalo-angular.mjs +2 -0
  138. package/package.json +329 -3
  139. package/styles/hyalo-core.css +25 -0
  140. package/styles/hyalo.css +17 -0
  141. package/styles/overlays/dialog.css +9 -0
  142. package/styles/overlays/popover.css +9 -0
  143. package/styles/overlays/select.css +9 -0
  144. package/styles/overlays/toast.css +8 -0
  145. package/styles/palettes/aurora.css +47 -0
  146. package/styles/palettes/ember.css +47 -0
  147. package/styles/palettes/graphite.css +47 -0
  148. package/styles/palettes/ocean.css +47 -0
  149. package/styles/palettes/orchid.css +47 -0
  150. package/styles/palettes/rose.css +47 -0
  151. package/styles/parts/card.css +49 -0
  152. package/styles/parts/dialog.css +116 -0
  153. package/styles/parts/drawer.css +124 -0
  154. package/styles/parts/field.css +44 -0
  155. package/styles/parts/glass.css +139 -0
  156. package/styles/parts/motion.css +101 -0
  157. package/styles/parts/navbar.css +55 -0
  158. package/styles/parts/popover.css +27 -0
  159. package/styles/parts/presence.css +55 -0
  160. package/styles/parts/reset.css +42 -0
  161. package/styles/parts/select.css +46 -0
  162. package/styles/parts/themes.css +105 -0
  163. package/styles/parts/toast.css +128 -0
  164. package/styles/parts/tokens.css +151 -0
  165. package/styles/parts/typography.css +81 -0
  166. package/types/hyalo-angular-accordion.d.ts +74 -0
  167. package/types/hyalo-angular-alert.d.ts +47 -0
  168. package/types/hyalo-angular-aspect-ratio.d.ts +13 -0
  169. package/types/hyalo-angular-avatar.d.ts +39 -0
  170. package/types/hyalo-angular-badge.d.ts +82 -0
  171. package/types/hyalo-angular-bento.d.ts +25 -0
  172. package/types/hyalo-angular-blocks.d.ts +272 -0
  173. package/types/hyalo-angular-border-beam.d.ts +15 -0
  174. package/types/hyalo-angular-breadcrumb.d.ts +22 -0
  175. package/types/hyalo-angular-button-group.d.ts +19 -0
  176. package/types/hyalo-angular-button.d.ts +89 -0
  177. package/types/hyalo-angular-card.d.ts +61 -0
  178. package/types/hyalo-angular-carousel.d.ts +147 -0
  179. package/types/hyalo-angular-chapter-nav.d.ts +79 -0
  180. package/types/hyalo-angular-chart.d.ts +90 -0
  181. package/types/hyalo-angular-choice.d.ts +259 -0
  182. package/types/hyalo-angular-code-block.d.ts +46 -0
  183. package/types/hyalo-angular-command.d.ts +41 -0
  184. package/types/hyalo-angular-copy.d.ts +39 -0
  185. package/types/hyalo-angular-core.d.ts +210 -0
  186. package/types/hyalo-angular-description-list.d.ts +16 -0
  187. package/types/hyalo-angular-dialog.d.ts +171 -0
  188. package/types/hyalo-angular-divider.d.ts +12 -0
  189. package/types/hyalo-angular-empty-state.d.ts +30 -0
  190. package/types/hyalo-angular-field.d.ts +141 -0
  191. package/types/hyalo-angular-filter.d.ts +122 -0
  192. package/types/hyalo-angular-hotspot.d.ts +70 -0
  193. package/types/hyalo-angular-hover-card.d.ts +47 -0
  194. package/types/hyalo-angular-icon.d.ts +122 -0
  195. package/types/hyalo-angular-image-compare.d.ts +55 -0
  196. package/types/hyalo-angular-interaction.d.ts +131 -0
  197. package/types/hyalo-angular-kbd.d.ts +5 -0
  198. package/types/hyalo-angular-lightbox.d.ts +67 -0
  199. package/types/hyalo-angular-link.d.ts +5 -0
  200. package/types/hyalo-angular-list.d.ts +30 -0
  201. package/types/hyalo-angular-marquee.d.ts +48 -0
  202. package/types/hyalo-angular-menu.d.ts +105 -0
  203. package/types/hyalo-angular-mesh.d.ts +36 -0
  204. package/types/hyalo-angular-motion.d.ts +218 -0
  205. package/types/hyalo-angular-navbar.d.ts +110 -0
  206. package/types/hyalo-angular-navigation-menu.d.ts +47 -0
  207. package/types/hyalo-angular-number-ticker.d.ts +52 -0
  208. package/types/hyalo-angular-overlay.d.ts +40 -0
  209. package/types/hyalo-angular-pagination.d.ts +59 -0
  210. package/types/hyalo-angular-popover.d.ts +152 -0
  211. package/types/hyalo-angular-progress.d.ts +46 -0
  212. package/types/hyalo-angular-progressive-blur.d.ts +14 -0
  213. package/types/hyalo-angular-refraction.d.ts +46 -0
  214. package/types/hyalo-angular-scroll-area.d.ts +18 -0
  215. package/types/hyalo-angular-scroll-to-top.d.ts +31 -0
  216. package/types/hyalo-angular-segmented.d.ts +79 -0
  217. package/types/hyalo-angular-select.d.ts +176 -0
  218. package/types/hyalo-angular-sidebar.d.ts +57 -0
  219. package/types/hyalo-angular-skeleton.d.ts +34 -0
  220. package/types/hyalo-angular-sparkline.d.ts +19 -0
  221. package/types/hyalo-angular-split-text.d.ts +24 -0
  222. package/types/hyalo-angular-stat.d.ts +56 -0
  223. package/types/hyalo-angular-stepper.d.ts +63 -0
  224. package/types/hyalo-angular-table.d.ts +125 -0
  225. package/types/hyalo-angular-tabs.d.ts +102 -0
  226. package/types/hyalo-angular-theme.d.ts +46 -0
  227. package/types/hyalo-angular-timeline.d.ts +36 -0
  228. package/types/hyalo-angular-toast.d.ts +79 -0
  229. package/types/hyalo-angular.d.ts +2 -0
@@ -0,0 +1,789 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, booleanAttribute, computed, inject, input, model, output, signal } from "@angular/core";
3
+ import { injectId } from "@hyalo/angular/core";
4
+ import { HyIcon } from "@hyalo/angular/icon";
5
+ import { rubberband } from "@hyalo/angular/motion";
6
+ var HyCheckbox = class HyCheckbox {
7
+ descriptionId = injectId("checkbox-desc");
8
+ checked = model(false, ...ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []);
9
+ indeterminate = model(false, ...ngDevMode ? [{ debugName: "indeterminate" }] : /* istanbul ignore next */ []);
10
+ description = input(...ngDevMode ? [void 0, { debugName: "description" }] : /* istanbul ignore next */ []);
11
+ name = input("", ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
12
+ disabled = input(false, {
13
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
14
+ transform: booleanAttribute
15
+ });
16
+ required = input(false, {
17
+ ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
18
+ transform: booleanAttribute
19
+ });
20
+ invalid = input(false, {
21
+ ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
22
+ transform: booleanAttribute
23
+ });
24
+ touched = input(false, {
25
+ ...ngDevMode ? { debugName: "touched" } : /* istanbul ignore next */ {},
26
+ transform: booleanAttribute
27
+ });
28
+ touch = output();
29
+ onChange(event) {
30
+ this.indeterminate.set(false);
31
+ this.checked.set(event.target.checked);
32
+ }
33
+ static ɵfac = i0.ɵɵngDeclareFactory({
34
+ minVersion: "12.0.0",
35
+ version: "22.2.3",
36
+ ngImport: i0,
37
+ type: HyCheckbox,
38
+ deps: [],
39
+ target: i0.ɵɵFactoryTarget.Component
40
+ });
41
+ static ɵcmp = i0.ɵɵngDeclareComponent({
42
+ minVersion: "17.0.0",
43
+ version: "22.2.3",
44
+ type: HyCheckbox,
45
+ isStandalone: true,
46
+ selector: "hy-checkbox",
47
+ inputs: {
48
+ checked: {
49
+ classPropertyName: "checked",
50
+ publicName: "checked",
51
+ isSignal: true,
52
+ isRequired: false,
53
+ transformFunction: null
54
+ },
55
+ indeterminate: {
56
+ classPropertyName: "indeterminate",
57
+ publicName: "indeterminate",
58
+ isSignal: true,
59
+ isRequired: false,
60
+ transformFunction: null
61
+ },
62
+ description: {
63
+ classPropertyName: "description",
64
+ publicName: "description",
65
+ isSignal: true,
66
+ isRequired: false,
67
+ transformFunction: null
68
+ },
69
+ name: {
70
+ classPropertyName: "name",
71
+ publicName: "name",
72
+ isSignal: true,
73
+ isRequired: false,
74
+ transformFunction: null
75
+ },
76
+ disabled: {
77
+ classPropertyName: "disabled",
78
+ publicName: "disabled",
79
+ isSignal: true,
80
+ isRequired: false,
81
+ transformFunction: null
82
+ },
83
+ required: {
84
+ classPropertyName: "required",
85
+ publicName: "required",
86
+ isSignal: true,
87
+ isRequired: false,
88
+ transformFunction: null
89
+ },
90
+ invalid: {
91
+ classPropertyName: "invalid",
92
+ publicName: "invalid",
93
+ isSignal: true,
94
+ isRequired: false,
95
+ transformFunction: null
96
+ },
97
+ touched: {
98
+ classPropertyName: "touched",
99
+ publicName: "touched",
100
+ isSignal: true,
101
+ isRequired: false,
102
+ transformFunction: null
103
+ }
104
+ },
105
+ outputs: {
106
+ checked: "checkedChange",
107
+ indeterminate: "indeterminateChange",
108
+ touch: "touch"
109
+ },
110
+ host: {
111
+ properties: {
112
+ "attr.data-checked": "checked() || null",
113
+ "attr.data-indeterminate": "indeterminate() || null",
114
+ "attr.data-disabled": "disabled() || null",
115
+ "attr.data-invalid": "(invalid() && touched()) || null"
116
+ },
117
+ classAttribute: "hy-choice hy-checkbox"
118
+ },
119
+ ngImport: i0,
120
+ template: "<label class=\"hy-choice__row\">\r\n <span class=\"hy-choice__control hy-checkbox__box\">\r\n <input\r\n type=\"checkbox\"\r\n class=\"hy-choice__input\"\r\n [name]=\"name()\"\r\n [checked]=\"checked()\"\r\n [indeterminate]=\"indeterminate()\"\r\n [disabled]=\"disabled()\"\r\n [required]=\"required()\"\r\n [attr.aria-invalid]=\"(invalid() && touched()) || null\"\r\n [attr.aria-describedby]=\"description() ? descriptionId : null\"\r\n (change)=\"onChange($event)\"\r\n (blur)=\"touch.emit()\"\r\n />\r\n <hy-icon\r\n class=\"hy-checkbox__mark\"\r\n [name]=\"indeterminate() ? 'minus' : 'check'\"\r\n [strokeWidth]=\"2.5\"\r\n />\r\n </span>\r\n <span class=\"hy-choice__label\"><ng-content /></span>\r\n</label>\r\n@if (description()) {\r\n <p class=\"hy-choice__description\" [id]=\"descriptionId\">{{ description() }}</p>\r\n}\r\n",
121
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"],
122
+ dependencies: [{
123
+ kind: "component",
124
+ type: HyIcon,
125
+ selector: "hy-icon",
126
+ inputs: [
127
+ "name",
128
+ "icon",
129
+ "label",
130
+ "size",
131
+ "strokeWidth"
132
+ ]
133
+ }],
134
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
135
+ });
136
+ };
137
+ i0.ɵɵngDeclareClassMetadata({
138
+ minVersion: "12.0.0",
139
+ version: "22.2.3",
140
+ ngImport: i0,
141
+ type: HyCheckbox,
142
+ decorators: [{
143
+ type: Component,
144
+ args: [{
145
+ selector: "hy-checkbox",
146
+ imports: [HyIcon],
147
+ changeDetection: ChangeDetectionStrategy.OnPush,
148
+ host: {
149
+ class: "hy-choice hy-checkbox",
150
+ "[attr.data-checked]": "checked() || null",
151
+ "[attr.data-indeterminate]": "indeterminate() || null",
152
+ "[attr.data-disabled]": "disabled() || null",
153
+ "[attr.data-invalid]": "(invalid() && touched()) || null"
154
+ },
155
+ template: "<label class=\"hy-choice__row\">\r\n <span class=\"hy-choice__control hy-checkbox__box\">\r\n <input\r\n type=\"checkbox\"\r\n class=\"hy-choice__input\"\r\n [name]=\"name()\"\r\n [checked]=\"checked()\"\r\n [indeterminate]=\"indeterminate()\"\r\n [disabled]=\"disabled()\"\r\n [required]=\"required()\"\r\n [attr.aria-invalid]=\"(invalid() && touched()) || null\"\r\n [attr.aria-describedby]=\"description() ? descriptionId : null\"\r\n (change)=\"onChange($event)\"\r\n (blur)=\"touch.emit()\"\r\n />\r\n <hy-icon\r\n class=\"hy-checkbox__mark\"\r\n [name]=\"indeterminate() ? 'minus' : 'check'\"\r\n [strokeWidth]=\"2.5\"\r\n />\r\n </span>\r\n <span class=\"hy-choice__label\"><ng-content /></span>\r\n</label>\r\n@if (description()) {\r\n <p class=\"hy-choice__description\" [id]=\"descriptionId\">{{ description() }}</p>\r\n}\r\n",
156
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"]
157
+ }]
158
+ }],
159
+ propDecorators: {
160
+ checked: [{
161
+ type: i0.Input,
162
+ args: [{
163
+ isSignal: true,
164
+ alias: "checked",
165
+ required: false
166
+ }]
167
+ }, {
168
+ type: i0.Output,
169
+ args: ["checkedChange"]
170
+ }],
171
+ indeterminate: [{
172
+ type: i0.Input,
173
+ args: [{
174
+ isSignal: true,
175
+ alias: "indeterminate",
176
+ required: false
177
+ }]
178
+ }, {
179
+ type: i0.Output,
180
+ args: ["indeterminateChange"]
181
+ }],
182
+ description: [{
183
+ type: i0.Input,
184
+ args: [{
185
+ isSignal: true,
186
+ alias: "description",
187
+ required: false
188
+ }]
189
+ }],
190
+ name: [{
191
+ type: i0.Input,
192
+ args: [{
193
+ isSignal: true,
194
+ alias: "name",
195
+ required: false
196
+ }]
197
+ }],
198
+ disabled: [{
199
+ type: i0.Input,
200
+ args: [{
201
+ isSignal: true,
202
+ alias: "disabled",
203
+ required: false
204
+ }]
205
+ }],
206
+ required: [{
207
+ type: i0.Input,
208
+ args: [{
209
+ isSignal: true,
210
+ alias: "required",
211
+ required: false
212
+ }]
213
+ }],
214
+ invalid: [{
215
+ type: i0.Input,
216
+ args: [{
217
+ isSignal: true,
218
+ alias: "invalid",
219
+ required: false
220
+ }]
221
+ }],
222
+ touched: [{
223
+ type: i0.Input,
224
+ args: [{
225
+ isSignal: true,
226
+ alias: "touched",
227
+ required: false
228
+ }]
229
+ }],
230
+ touch: [{
231
+ type: i0.Output,
232
+ args: ["touch"]
233
+ }]
234
+ }
235
+ });
236
+ var HyRadioGroup = class HyRadioGroup {
237
+ labelId = injectId("radio-label");
238
+ generatedName = injectId("radio");
239
+ value = model(void 0, ...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
240
+ label = input(...ngDevMode ? [void 0, { debugName: "label" }] : /* istanbul ignore next */ []);
241
+ name = input("", ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
242
+ orientation = input("vertical", ...ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []);
243
+ disabled = input(false, {
244
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
245
+ transform: booleanAttribute
246
+ });
247
+ required = input(false, {
248
+ ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
249
+ transform: booleanAttribute
250
+ });
251
+ invalid = input(false, {
252
+ ...ngDevMode ? { debugName: "invalid" } : /* istanbul ignore next */ {},
253
+ transform: booleanAttribute
254
+ });
255
+ touched = input(false, {
256
+ ...ngDevMode ? { debugName: "touched" } : /* istanbul ignore next */ {},
257
+ transform: booleanAttribute
258
+ });
259
+ errors = input([], ...ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []);
260
+ touch = output();
261
+ groupName = computed(() => this.name() || this.generatedName, ...ngDevMode ? [{ debugName: "groupName" }] : /* istanbul ignore next */ []);
262
+ showsError = computed(() => this.invalid() && this.touched(), ...ngDevMode ? [{ debugName: "showsError" }] : /* istanbul ignore next */ []);
263
+ errorMessage = computed(() => {
264
+ const first = this.errors()[0];
265
+ return first ? first.message ?? first.kind : "";
266
+ }, ...ngDevMode ? [{ debugName: "errorMessage" }] : /* istanbul ignore next */ []);
267
+ static ɵfac = i0.ɵɵngDeclareFactory({
268
+ minVersion: "12.0.0",
269
+ version: "22.2.3",
270
+ ngImport: i0,
271
+ type: HyRadioGroup,
272
+ deps: [],
273
+ target: i0.ɵɵFactoryTarget.Component
274
+ });
275
+ static ɵcmp = i0.ɵɵngDeclareComponent({
276
+ minVersion: "17.0.0",
277
+ version: "22.2.3",
278
+ type: HyRadioGroup,
279
+ isStandalone: true,
280
+ selector: "hy-radio-group",
281
+ inputs: {
282
+ value: {
283
+ classPropertyName: "value",
284
+ publicName: "value",
285
+ isSignal: true,
286
+ isRequired: false,
287
+ transformFunction: null
288
+ },
289
+ label: {
290
+ classPropertyName: "label",
291
+ publicName: "label",
292
+ isSignal: true,
293
+ isRequired: false,
294
+ transformFunction: null
295
+ },
296
+ name: {
297
+ classPropertyName: "name",
298
+ publicName: "name",
299
+ isSignal: true,
300
+ isRequired: false,
301
+ transformFunction: null
302
+ },
303
+ orientation: {
304
+ classPropertyName: "orientation",
305
+ publicName: "orientation",
306
+ isSignal: true,
307
+ isRequired: false,
308
+ transformFunction: null
309
+ },
310
+ disabled: {
311
+ classPropertyName: "disabled",
312
+ publicName: "disabled",
313
+ isSignal: true,
314
+ isRequired: false,
315
+ transformFunction: null
316
+ },
317
+ required: {
318
+ classPropertyName: "required",
319
+ publicName: "required",
320
+ isSignal: true,
321
+ isRequired: false,
322
+ transformFunction: null
323
+ },
324
+ invalid: {
325
+ classPropertyName: "invalid",
326
+ publicName: "invalid",
327
+ isSignal: true,
328
+ isRequired: false,
329
+ transformFunction: null
330
+ },
331
+ touched: {
332
+ classPropertyName: "touched",
333
+ publicName: "touched",
334
+ isSignal: true,
335
+ isRequired: false,
336
+ transformFunction: null
337
+ },
338
+ errors: {
339
+ classPropertyName: "errors",
340
+ publicName: "errors",
341
+ isSignal: true,
342
+ isRequired: false,
343
+ transformFunction: null
344
+ }
345
+ },
346
+ outputs: {
347
+ value: "valueChange",
348
+ touch: "touch"
349
+ },
350
+ host: {
351
+ attributes: { "role": "radiogroup" },
352
+ properties: {
353
+ "attr.aria-labelledby": "label() ? labelId : null",
354
+ "attr.aria-invalid": "showsError() || null",
355
+ "attr.aria-required": "required() || null",
356
+ "attr.data-orientation": "orientation()"
357
+ },
358
+ classAttribute: "hy-radio-group"
359
+ },
360
+ ngImport: i0,
361
+ template: "@if (label()) {\r\n <span class=\"hy-radio-group__label\" [id]=\"labelId\">{{ label() }}</span>\r\n}\r\n<div class=\"hy-radio-group__items\"><ng-content /></div>\r\n@if (showsError()) {\r\n <p class=\"hy-choice__error\">{{ errorMessage() }}</p>\r\n}\r\n",
362
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"],
363
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
364
+ });
365
+ };
366
+ i0.ɵɵngDeclareClassMetadata({
367
+ minVersion: "12.0.0",
368
+ version: "22.2.3",
369
+ ngImport: i0,
370
+ type: HyRadioGroup,
371
+ decorators: [{
372
+ type: Component,
373
+ args: [{
374
+ selector: "hy-radio-group",
375
+ changeDetection: ChangeDetectionStrategy.OnPush,
376
+ host: {
377
+ class: "hy-radio-group",
378
+ role: "radiogroup",
379
+ "[attr.aria-labelledby]": "label() ? labelId : null",
380
+ "[attr.aria-invalid]": "showsError() || null",
381
+ "[attr.aria-required]": "required() || null",
382
+ "[attr.data-orientation]": "orientation()"
383
+ },
384
+ template: "@if (label()) {\r\n <span class=\"hy-radio-group__label\" [id]=\"labelId\">{{ label() }}</span>\r\n}\r\n<div class=\"hy-radio-group__items\"><ng-content /></div>\r\n@if (showsError()) {\r\n <p class=\"hy-choice__error\">{{ errorMessage() }}</p>\r\n}\r\n",
385
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"]
386
+ }]
387
+ }],
388
+ propDecorators: {
389
+ value: [{
390
+ type: i0.Input,
391
+ args: [{
392
+ isSignal: true,
393
+ alias: "value",
394
+ required: false
395
+ }]
396
+ }, {
397
+ type: i0.Output,
398
+ args: ["valueChange"]
399
+ }],
400
+ label: [{
401
+ type: i0.Input,
402
+ args: [{
403
+ isSignal: true,
404
+ alias: "label",
405
+ required: false
406
+ }]
407
+ }],
408
+ name: [{
409
+ type: i0.Input,
410
+ args: [{
411
+ isSignal: true,
412
+ alias: "name",
413
+ required: false
414
+ }]
415
+ }],
416
+ orientation: [{
417
+ type: i0.Input,
418
+ args: [{
419
+ isSignal: true,
420
+ alias: "orientation",
421
+ required: false
422
+ }]
423
+ }],
424
+ disabled: [{
425
+ type: i0.Input,
426
+ args: [{
427
+ isSignal: true,
428
+ alias: "disabled",
429
+ required: false
430
+ }]
431
+ }],
432
+ required: [{
433
+ type: i0.Input,
434
+ args: [{
435
+ isSignal: true,
436
+ alias: "required",
437
+ required: false
438
+ }]
439
+ }],
440
+ invalid: [{
441
+ type: i0.Input,
442
+ args: [{
443
+ isSignal: true,
444
+ alias: "invalid",
445
+ required: false
446
+ }]
447
+ }],
448
+ touched: [{
449
+ type: i0.Input,
450
+ args: [{
451
+ isSignal: true,
452
+ alias: "touched",
453
+ required: false
454
+ }]
455
+ }],
456
+ errors: [{
457
+ type: i0.Input,
458
+ args: [{
459
+ isSignal: true,
460
+ alias: "errors",
461
+ required: false
462
+ }]
463
+ }],
464
+ touch: [{
465
+ type: i0.Output,
466
+ args: ["touch"]
467
+ }]
468
+ }
469
+ });
470
+ var HyRadio = class HyRadio {
471
+ group = inject(HyRadioGroup);
472
+ descriptionId = injectId("radio-desc");
473
+ value = input.required(...ngDevMode ? [{ debugName: "value" }] : /* istanbul ignore next */ []);
474
+ description = input(...ngDevMode ? [void 0, { debugName: "description" }] : /* istanbul ignore next */ []);
475
+ disabled = input(false, {
476
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
477
+ transform: booleanAttribute
478
+ });
479
+ checked = computed(() => this.group.value() === this.value(), ...ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []);
480
+ isDisabled = computed(() => this.disabled() || this.group.disabled(), ...ngDevMode ? [{ debugName: "isDisabled" }] : /* istanbul ignore next */ []);
481
+ static ɵfac = i0.ɵɵngDeclareFactory({
482
+ minVersion: "12.0.0",
483
+ version: "22.2.3",
484
+ ngImport: i0,
485
+ type: HyRadio,
486
+ deps: [],
487
+ target: i0.ɵɵFactoryTarget.Component
488
+ });
489
+ static ɵcmp = i0.ɵɵngDeclareComponent({
490
+ minVersion: "17.0.0",
491
+ version: "22.2.3",
492
+ type: HyRadio,
493
+ isStandalone: true,
494
+ selector: "hy-radio",
495
+ inputs: {
496
+ value: {
497
+ classPropertyName: "value",
498
+ publicName: "value",
499
+ isSignal: true,
500
+ isRequired: true,
501
+ transformFunction: null
502
+ },
503
+ description: {
504
+ classPropertyName: "description",
505
+ publicName: "description",
506
+ isSignal: true,
507
+ isRequired: false,
508
+ transformFunction: null
509
+ },
510
+ disabled: {
511
+ classPropertyName: "disabled",
512
+ publicName: "disabled",
513
+ isSignal: true,
514
+ isRequired: false,
515
+ transformFunction: null
516
+ }
517
+ },
518
+ host: {
519
+ properties: {
520
+ "attr.data-checked": "checked() || null",
521
+ "attr.data-disabled": "isDisabled() || null"
522
+ },
523
+ classAttribute: "hy-choice hy-radio"
524
+ },
525
+ ngImport: i0,
526
+ template: "<label class=\"hy-choice__row\">\r\n <span class=\"hy-choice__control hy-radio__circle\">\r\n <input\r\n type=\"radio\"\r\n class=\"hy-choice__input\"\r\n [name]=\"group.groupName()\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"isDisabled()\"\r\n [attr.aria-describedby]=\"description() ? descriptionId : null\"\r\n (change)=\"group.value.set(value())\"\r\n (blur)=\"group.touch.emit()\"\r\n />\r\n <span class=\"hy-radio__dot\" aria-hidden=\"true\"></span>\r\n </span>\r\n <span class=\"hy-choice__label\"><ng-content /></span>\r\n</label>\r\n@if (description()) {\r\n <p class=\"hy-choice__description\" [id]=\"descriptionId\">{{ description() }}</p>\r\n}\r\n",
527
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"],
528
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
529
+ });
530
+ };
531
+ i0.ɵɵngDeclareClassMetadata({
532
+ minVersion: "12.0.0",
533
+ version: "22.2.3",
534
+ ngImport: i0,
535
+ type: HyRadio,
536
+ decorators: [{
537
+ type: Component,
538
+ args: [{
539
+ selector: "hy-radio",
540
+ changeDetection: ChangeDetectionStrategy.OnPush,
541
+ host: {
542
+ class: "hy-choice hy-radio",
543
+ "[attr.data-checked]": "checked() || null",
544
+ "[attr.data-disabled]": "isDisabled() || null"
545
+ },
546
+ template: "<label class=\"hy-choice__row\">\r\n <span class=\"hy-choice__control hy-radio__circle\">\r\n <input\r\n type=\"radio\"\r\n class=\"hy-choice__input\"\r\n [name]=\"group.groupName()\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"isDisabled()\"\r\n [attr.aria-describedby]=\"description() ? descriptionId : null\"\r\n (change)=\"group.value.set(value())\"\r\n (blur)=\"group.touch.emit()\"\r\n />\r\n <span class=\"hy-radio__dot\" aria-hidden=\"true\"></span>\r\n </span>\r\n <span class=\"hy-choice__label\"><ng-content /></span>\r\n</label>\r\n@if (description()) {\r\n <p class=\"hy-choice__description\" [id]=\"descriptionId\">{{ description() }}</p>\r\n}\r\n",
547
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"]
548
+ }]
549
+ }],
550
+ propDecorators: {
551
+ value: [{
552
+ type: i0.Input,
553
+ args: [{
554
+ isSignal: true,
555
+ alias: "value",
556
+ required: true
557
+ }]
558
+ }],
559
+ description: [{
560
+ type: i0.Input,
561
+ args: [{
562
+ isSignal: true,
563
+ alias: "description",
564
+ required: false
565
+ }]
566
+ }],
567
+ disabled: [{
568
+ type: i0.Input,
569
+ args: [{
570
+ isSignal: true,
571
+ alias: "disabled",
572
+ required: false
573
+ }]
574
+ }]
575
+ }
576
+ });
577
+ const SLOP = 4;
578
+ const PRESSED_THUMB = 1.5;
579
+ var HySwitch = class HySwitch {
580
+ descriptionId = injectId("switch-desc");
581
+ drag = signal(null, ...ngDevMode ? [{ debugName: "drag" }] : /* istanbul ignore next */ []);
582
+ press = null;
583
+ landed = null;
584
+ checked = model(false, ...ngDevMode ? [{ debugName: "checked" }] : /* istanbul ignore next */ []);
585
+ description = input(...ngDevMode ? [void 0, { debugName: "description" }] : /* istanbul ignore next */ []);
586
+ name = input("", ...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
587
+ disabled = input(false, {
588
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
589
+ transform: booleanAttribute
590
+ });
591
+ required = input(false, {
592
+ ...ngDevMode ? { debugName: "required" } : /* istanbul ignore next */ {},
593
+ transform: booleanAttribute
594
+ });
595
+ touch = output();
596
+ onChange(event) {
597
+ this.checked.set(event.target.checked);
598
+ }
599
+ onDown(event) {
600
+ if (this.disabled() || event.button !== 0) return;
601
+ const track = event.currentTarget;
602
+ const rem = parseFloat(getComputedStyle(track.ownerDocument.documentElement).fontSize) || 16;
603
+ const travel = track.clientWidth - 4 - PRESSED_THUMB * rem;
604
+ this.press = {
605
+ x: event.clientX,
606
+ from: this.checked() ? travel : 0,
607
+ travel,
608
+ dir: getComputedStyle(track).direction === "rtl" ? -1 : 1,
609
+ pos: this.checked() ? travel : 0
610
+ };
611
+ }
612
+ onMove(event) {
613
+ const press = this.press;
614
+ if (!press) return;
615
+ const moved = (event.clientX - press.x) * press.dir;
616
+ if (this.drag() === null) {
617
+ if (Math.abs(moved) < SLOP) return;
618
+ try {
619
+ event.currentTarget.setPointerCapture(event.pointerId);
620
+ } catch {}
621
+ }
622
+ const raw = press.from + moved;
623
+ const over = raw < 0 ? raw : raw > press.travel ? raw - press.travel : 0;
624
+ press.pos = Math.min(Math.max(raw, 0), press.travel) + rubberband(over, press.travel);
625
+ this.drag.set(press.pos * press.dir);
626
+ }
627
+ onUp(cancelled = false) {
628
+ const press = this.press;
629
+ this.press = null;
630
+ if (!press || this.drag() === null) return;
631
+ this.drag.set(null);
632
+ const on = press.pos > press.travel / 2;
633
+ if (cancelled) {
634
+ this.checked.set(on);
635
+ return;
636
+ }
637
+ this.landed = on;
638
+ setTimeout(() => {
639
+ if (this.landed === null) return;
640
+ this.checked.set(this.landed);
641
+ this.landed = null;
642
+ });
643
+ }
644
+ onClick(event) {
645
+ if (this.landed === null) return;
646
+ event.preventDefault();
647
+ this.checked.set(this.landed);
648
+ this.landed = null;
649
+ }
650
+ static ɵfac = i0.ɵɵngDeclareFactory({
651
+ minVersion: "12.0.0",
652
+ version: "22.2.3",
653
+ ngImport: i0,
654
+ type: HySwitch,
655
+ deps: [],
656
+ target: i0.ɵɵFactoryTarget.Component
657
+ });
658
+ static ɵcmp = i0.ɵɵngDeclareComponent({
659
+ minVersion: "17.0.0",
660
+ version: "22.2.3",
661
+ type: HySwitch,
662
+ isStandalone: true,
663
+ selector: "hy-switch",
664
+ inputs: {
665
+ checked: {
666
+ classPropertyName: "checked",
667
+ publicName: "checked",
668
+ isSignal: true,
669
+ isRequired: false,
670
+ transformFunction: null
671
+ },
672
+ description: {
673
+ classPropertyName: "description",
674
+ publicName: "description",
675
+ isSignal: true,
676
+ isRequired: false,
677
+ transformFunction: null
678
+ },
679
+ name: {
680
+ classPropertyName: "name",
681
+ publicName: "name",
682
+ isSignal: true,
683
+ isRequired: false,
684
+ transformFunction: null
685
+ },
686
+ disabled: {
687
+ classPropertyName: "disabled",
688
+ publicName: "disabled",
689
+ isSignal: true,
690
+ isRequired: false,
691
+ transformFunction: null
692
+ },
693
+ required: {
694
+ classPropertyName: "required",
695
+ publicName: "required",
696
+ isSignal: true,
697
+ isRequired: false,
698
+ transformFunction: null
699
+ }
700
+ },
701
+ outputs: {
702
+ checked: "checkedChange",
703
+ touch: "touch"
704
+ },
705
+ host: {
706
+ properties: {
707
+ "attr.data-checked": "checked() || null",
708
+ "attr.data-disabled": "disabled() || null"
709
+ },
710
+ classAttribute: "hy-choice hy-switch"
711
+ },
712
+ ngImport: i0,
713
+ template: "<label class=\"hy-choice__row\">\r\n <span\r\n class=\"hy-choice__control hy-switch__track\"\r\n (pointerdown)=\"onDown($event)\"\r\n (pointermove)=\"onMove($event)\"\r\n (pointerup)=\"onUp()\"\r\n (pointercancel)=\"onUp(true)\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"hy-choice__input\"\r\n [name]=\"name()\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [required]=\"required()\"\r\n [attr.aria-checked]=\"checked()\"\r\n [attr.aria-describedby]=\"description() ? descriptionId : null\"\r\n (click)=\"onClick($event)\"\r\n (change)=\"onChange($event)\"\r\n (blur)=\"touch.emit()\"\r\n />\r\n <span\r\n class=\"hy-switch__thumb\"\r\n aria-hidden=\"true\"\r\n [attr.data-dragging]=\"drag() === null ? null : ''\"\r\n [style.--_drag.px]=\"drag()\"\r\n ></span>\r\n </span>\r\n <span class=\"hy-choice__label\"><ng-content /></span>\r\n</label>\r\n@if (description()) {\r\n <p class=\"hy-choice__description\" [id]=\"descriptionId\">{{ description() }}</p>\r\n}\r\n",
714
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"],
715
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
716
+ });
717
+ };
718
+ i0.ɵɵngDeclareClassMetadata({
719
+ minVersion: "12.0.0",
720
+ version: "22.2.3",
721
+ ngImport: i0,
722
+ type: HySwitch,
723
+ decorators: [{
724
+ type: Component,
725
+ args: [{
726
+ selector: "hy-switch",
727
+ changeDetection: ChangeDetectionStrategy.OnPush,
728
+ host: {
729
+ class: "hy-choice hy-switch",
730
+ "[attr.data-checked]": "checked() || null",
731
+ "[attr.data-disabled]": "disabled() || null"
732
+ },
733
+ template: "<label class=\"hy-choice__row\">\r\n <span\r\n class=\"hy-choice__control hy-switch__track\"\r\n (pointerdown)=\"onDown($event)\"\r\n (pointermove)=\"onMove($event)\"\r\n (pointerup)=\"onUp()\"\r\n (pointercancel)=\"onUp(true)\"\r\n >\r\n <input\r\n type=\"checkbox\"\r\n role=\"switch\"\r\n class=\"hy-choice__input\"\r\n [name]=\"name()\"\r\n [checked]=\"checked()\"\r\n [disabled]=\"disabled()\"\r\n [required]=\"required()\"\r\n [attr.aria-checked]=\"checked()\"\r\n [attr.aria-describedby]=\"description() ? descriptionId : null\"\r\n (click)=\"onClick($event)\"\r\n (change)=\"onChange($event)\"\r\n (blur)=\"touch.emit()\"\r\n />\r\n <span\r\n class=\"hy-switch__thumb\"\r\n aria-hidden=\"true\"\r\n [attr.data-dragging]=\"drag() === null ? null : ''\"\r\n [style.--_drag.px]=\"drag()\"\r\n ></span>\r\n </span>\r\n <span class=\"hy-choice__label\"><ng-content /></span>\r\n</label>\r\n@if (description()) {\r\n <p class=\"hy-choice__description\" [id]=\"descriptionId\">{{ description() }}</p>\r\n}\r\n",
734
+ styles: [":host{display:block}.hy-choice__row{display:inline-flex;align-items:flex-start;gap:var(--hy-space-3);min-block-size:1.5rem;color:var(--hy-ink);cursor:pointer}:host([data-disabled]) .hy-choice__row{opacity:.5;cursor:not-allowed}.hy-choice__control{position:relative;display:grid;place-items:center;flex:none;margin-block-start:.1em;transition:background-color var(--hy-dur-quick) var(--hy-ease-out),border-color var(--hy-dur-quick) var(--hy-ease-out),box-shadow var(--hy-dur-quick) var(--hy-ease-out)}.hy-choice__input{position:absolute;inset:-.25rem;margin:0;opacity:0;cursor:inherit}.hy-choice__control:has(:focus-visible){box-shadow:var(--hy-focus-ring)}.hy-choice__label{line-height:1.5}.hy-choice__description{margin:var(--hy-space-1) 0 0;padding-inline-start:calc(1.25rem + var(--hy-space-3));color:var(--hy-ink-3);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-checkbox__box{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:var(--hy-checkbox-radius, 6px);background:var(--hy-surface-1);color:var(--hy-primary-ink)}.hy-checkbox__mark{--hy-icon-size: .875rem;opacity:0;scale:.6;transition:opacity var(--hy-dur-quick) var(--hy-ease-out),scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-checkbox__box,:host([data-indeterminate]) .hy-checkbox__box{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-checkbox__mark,:host([data-indeterminate]) .hy-checkbox__mark{opacity:1;scale:1}:host([data-invalid]) .hy-checkbox__box{border-color:var(--hy-danger)}.hy-radio__circle{inline-size:1.25rem;block-size:1.25rem;border:1.5px solid var(--hy-line-strong);border-radius:50%;background:var(--hy-surface-1)}.hy-radio__dot{inline-size:.5rem;block-size:.5rem;border-radius:50%;background:var(--hy-primary-ink);scale:0;transition:scale var(--hy-dur-settle) var(--hy-ease-spring)}:host([data-checked]) .hy-radio__circle{border-color:var(--hy-choice-checked, var(--hy-primary));background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-radio__dot{scale:1}:host(.hy-radio-group){display:flex;flex-direction:column;gap:var(--hy-space-3)}.hy-radio-group__label{font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small);font-weight:560}.hy-radio-group__items{display:flex;flex-direction:column;gap:var(--hy-space-3)}:host([data-orientation=\"horizontal\"]) .hy-radio-group__items{flex-direction:row;flex-wrap:wrap;gap:var(--hy-space-5)}.hy-choice__error{margin:0;color:var(--hy-danger);font-size:var(--hy-step--1);letter-spacing:var(--hy-tracking-small)}.hy-switch__track{inline-size:2.5rem;block-size:1.5rem;margin-block-start:0;padding:2px;place-items:center start;border-radius:var(--hy-radius-pill);background:var(--hy-switch-track, color-mix(in srgb, var(--hy-ink) 22%, transparent));box-shadow:inset 0 1px 2px #0f1a2426}.hy-switch__thumb{inline-size:1.25rem;block-size:1.25rem;border-radius:50%;background:var(--hy-glass-reflection),#fff;box-shadow:0 1px 3px #00000040,inset 0 0 0 .5px #0000000f;transition:translate var(--hy-dur-settle) var(--hy-ease-spring),inline-size var(--hy-dur-quick) var(--hy-ease-out)}:host([data-checked]) .hy-switch__track{background:var(--hy-choice-checked, var(--hy-primary))}:host([data-checked]) .hy-switch__thumb{translate:1rem 0}:host([data-checked]) .hy-switch__thumb:dir(rtl){translate:-1rem 0}:host(:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb,.hy-switch__thumb[data-dragging]{inline-size:1.5rem}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb{translate:.75rem 0}:host([data-checked]:not([data-disabled])) .hy-choice__row:active .hy-switch__thumb:dir(rtl){translate:-.75rem 0}.hy-switch__thumb[data-dragging],.hy-switch__thumb[data-dragging]:dir(rtl){translate:var(--_drag) 0;transition:inline-size var(--hy-dur-quick) var(--hy-ease-out)}@media(forced-colors:active){.hy-choice__control{border:1px solid CanvasText}:host([data-checked]) .hy-choice__control{background:Highlight}}\n"]
735
+ }]
736
+ }],
737
+ propDecorators: {
738
+ checked: [{
739
+ type: i0.Input,
740
+ args: [{
741
+ isSignal: true,
742
+ alias: "checked",
743
+ required: false
744
+ }]
745
+ }, {
746
+ type: i0.Output,
747
+ args: ["checkedChange"]
748
+ }],
749
+ description: [{
750
+ type: i0.Input,
751
+ args: [{
752
+ isSignal: true,
753
+ alias: "description",
754
+ required: false
755
+ }]
756
+ }],
757
+ name: [{
758
+ type: i0.Input,
759
+ args: [{
760
+ isSignal: true,
761
+ alias: "name",
762
+ required: false
763
+ }]
764
+ }],
765
+ disabled: [{
766
+ type: i0.Input,
767
+ args: [{
768
+ isSignal: true,
769
+ alias: "disabled",
770
+ required: false
771
+ }]
772
+ }],
773
+ required: [{
774
+ type: i0.Input,
775
+ args: [{
776
+ isSignal: true,
777
+ alias: "required",
778
+ required: false
779
+ }]
780
+ }],
781
+ touch: [{
782
+ type: i0.Output,
783
+ args: ["touch"]
784
+ }]
785
+ }
786
+ });
787
+ export { HyCheckbox, HyRadio, HyRadioGroup, HySwitch };
788
+
789
+ //# sourceMappingURL=hyalo-angular-choice.mjs.map