@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,59 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HyPagination {
3
+ readonly page: import("@angular/core").ModelSignal<number>;
4
+ readonly total: import("@angular/core").InputSignal<number>;
5
+ readonly pageSize: import("@angular/core").InputSignal<number>;
6
+ readonly locale: import("@angular/core").InputSignal<string | undefined>;
7
+ private readonly globalLocale;
8
+ private readonly effectiveLocale;
9
+ readonly label: import("@angular/core").InputSignal<string>;
10
+ readonly previousLabel: import("@angular/core").InputSignal<string>;
11
+ readonly nextLabel: import("@angular/core").InputSignal<string>;
12
+ readonly pageCount: import("@angular/core").Signal<number>;
13
+ readonly current: import("@angular/core").Signal<number>;
14
+ readonly pages: import("@angular/core").Signal<({
15
+ value: number;
16
+ label: string;
17
+ } | null)[]>;
18
+ go(page: number): void;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyPagination, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyPagination, "hy-pagination", never, {
21
+ "page": {
22
+ "alias": "page";
23
+ "required": false;
24
+ "isSignal": true;
25
+ };
26
+ "total": {
27
+ "alias": "total";
28
+ "required": true;
29
+ "isSignal": true;
30
+ };
31
+ "pageSize": {
32
+ "alias": "pageSize";
33
+ "required": false;
34
+ "isSignal": true;
35
+ };
36
+ "locale": {
37
+ "alias": "locale";
38
+ "required": false;
39
+ "isSignal": true;
40
+ };
41
+ "label": {
42
+ "alias": "label";
43
+ "required": false;
44
+ "isSignal": true;
45
+ };
46
+ "previousLabel": {
47
+ "alias": "previousLabel";
48
+ "required": false;
49
+ "isSignal": true;
50
+ };
51
+ "nextLabel": {
52
+ "alias": "nextLabel";
53
+ "required": false;
54
+ "isSignal": true;
55
+ };
56
+ }, {
57
+ "page": "pageChange";
58
+ }, never, never, true, never>;
59
+ }
@@ -0,0 +1,152 @@
1
+ import { HyPlacement } from "@hyalo/angular/overlay";
2
+ import * as i0 from "@angular/core";
3
+ import { TemplateRef } from "@angular/core";
4
+ import { HyMaterial } from "@hyalo/angular/core";
5
+ export declare class HyTooltipPanel {
6
+ readonly message: import("@angular/core").WritableSignal<string>;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyTooltipPanel, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyTooltipPanel, "hy-tooltip-panel", never, {}, {}, never, never, true, never>;
9
+ }
10
+ /**
11
+ * A short text hint on hover or keyboard focus.
12
+ *
13
+ * ```html
14
+ * <button hyButton iconOnly aria-label="Copy link" hyTooltip="Copy link">...</button>
15
+ * ```
16
+ *
17
+ * The text is also added to the trigger's `aria-describedby` through a
18
+ * hidden element, so screen readers get it without the visual tooltip. The
19
+ * tooltip stays open while the pointer is over it and closes on Escape, as
20
+ * WCAG 1.4.13 asks. Keep it short and never put interactive content in it;
21
+ * use `hyPopover` for that.
22
+ */
23
+ export declare class HyTooltip {
24
+ private readonly injector;
25
+ private readonly host;
26
+ private readonly describer;
27
+ private overlayRef;
28
+ private position;
29
+ private panel;
30
+ private panelEl;
31
+ private readonly presence;
32
+ private showTimer;
33
+ private hideTimer;
34
+ /** True from show() until hide(), so a late overlay load knows to stop. */
35
+ private wanted;
36
+ private destroyed;
37
+ /** The tooltip text. */
38
+ readonly message: import("@angular/core").InputSignal<string>;
39
+ /** Preferred side. Flips when there is no room. */
40
+ readonly tooltipPlacement: import("@angular/core").InputSignal<HyPlacement>;
41
+ /** Hover delay in milliseconds. Focus shows it right away. */
42
+ readonly tooltipDelay: import("@angular/core").InputSignalWithTransform<number, unknown>;
43
+ readonly tooltipDisabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
44
+ constructor();
45
+ protected onPointerEnter(event: PointerEvent): void;
46
+ /** Shows the tooltip after the given delay. */
47
+ show(delay?: number): void;
48
+ /** Starts hiding the tooltip now. It fades out quickly. */
49
+ hide(): void;
50
+ protected scheduleHide(): void;
51
+ private attach;
52
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyTooltip, never>;
53
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HyTooltip, "[hyTooltip]", never, {
54
+ "message": {
55
+ "alias": "hyTooltip";
56
+ "required": false;
57
+ "isSignal": true;
58
+ };
59
+ "tooltipPlacement": {
60
+ "alias": "tooltipPlacement";
61
+ "required": false;
62
+ "isSignal": true;
63
+ };
64
+ "tooltipDelay": {
65
+ "alias": "tooltipDelay";
66
+ "required": false;
67
+ "isSignal": true;
68
+ };
69
+ "tooltipDisabled": {
70
+ "alias": "tooltipDisabled";
71
+ "required": false;
72
+ "isSignal": true;
73
+ };
74
+ }, {}, never, never, true, never>;
75
+ }
76
+ /**
77
+ * A non-modal glass panel anchored to a trigger, for content that does not
78
+ * fit in a tooltip: a short form, a menu of links, details.
79
+ *
80
+ * ```html
81
+ * <button hyButton variant="glass" [hyPopover]="share" popoverLabel="Share">Share</button>
82
+ * <ng-template #share>
83
+ * <a href="...">Copy link</a>
84
+ * </ng-template>
85
+ * ```
86
+ *
87
+ * Click or Enter toggles it. On open, focus moves to the first focusable
88
+ * element inside. Escape closes it and returns focus to the trigger, and so
89
+ * does clicking outside or tabbing out of it.
90
+ */
91
+ export declare class HyPopover {
92
+ private readonly injector;
93
+ private readonly host;
94
+ private readonly viewContainer;
95
+ private readonly focusTraps;
96
+ private readonly fidelity;
97
+ protected readonly panelId: string;
98
+ private overlayRef;
99
+ private position;
100
+ private readonly presence;
101
+ private destroyed;
102
+ private positioned;
103
+ /** The content. */
104
+ readonly content: import("@angular/core").InputSignal<TemplateRef<unknown>>;
105
+ /** Accessible name of the panel. */
106
+ readonly popoverLabel: import("@angular/core").InputSignal<string | undefined>;
107
+ /** Use solid over image content when the background would reduce text contrast. */
108
+ readonly popoverMaterial: import("@angular/core").InputSignal<HyMaterial>;
109
+ /** Preferred side. Flips when there is no room. */
110
+ readonly popoverPlacement: import("@angular/core").InputSignal<HyPlacement>;
111
+ /** Whether the panel is open. Two-way bindable as `[(popoverOpen)]`. */
112
+ readonly open: import("@angular/core").ModelSignal<boolean>;
113
+ constructor();
114
+ toggle(): void;
115
+ /** Closes the panel, optionally moving focus back to the trigger. */
116
+ close(restoreFocus?: boolean): void;
117
+ protected preload(): void;
118
+ private attach;
119
+ private reveal;
120
+ private detach;
121
+ private readonly onFocusOut;
122
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyPopover, never>;
123
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HyPopover, "[hyPopover]", ["hyPopover"], {
124
+ "content": {
125
+ "alias": "hyPopover";
126
+ "required": true;
127
+ "isSignal": true;
128
+ };
129
+ "popoverLabel": {
130
+ "alias": "popoverLabel";
131
+ "required": false;
132
+ "isSignal": true;
133
+ };
134
+ "popoverMaterial": {
135
+ "alias": "popoverMaterial";
136
+ "required": false;
137
+ "isSignal": true;
138
+ };
139
+ "popoverPlacement": {
140
+ "alias": "popoverPlacement";
141
+ "required": false;
142
+ "isSignal": true;
143
+ };
144
+ "open": {
145
+ "alias": "popoverOpen";
146
+ "required": false;
147
+ "isSignal": true;
148
+ };
149
+ }, {
150
+ "open": "popoverOpenChange";
151
+ }, never, never, true, never>;
152
+ }
@@ -0,0 +1,46 @@
1
+ import { HyMotion } from "@hyalo/angular/motion";
2
+ import * as i0 from "@angular/core";
3
+ export declare class HyProgress {
4
+ protected readonly motion: HyMotion;
5
+ private readonly host;
6
+ private readonly document;
7
+ private readonly visible;
8
+ private readonly foreground;
9
+ protected readonly moving: import("@angular/core").Signal<boolean>;
10
+ constructor();
11
+ readonly value: import("@angular/core").InputSignal<number | null>;
12
+ readonly label: import("@angular/core").InputSignal<string>;
13
+ readonly variant: import("@angular/core").InputSignal<"bar" | "circle">;
14
+ readonly amount: import("@angular/core").Signal<number | null>;
15
+ readonly offset: import("@angular/core").Signal<number>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyProgress, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyProgress, "hy-progress", never, {
18
+ "value": {
19
+ "alias": "value";
20
+ "required": false;
21
+ "isSignal": true;
22
+ };
23
+ "label": {
24
+ "alias": "label";
25
+ "required": true;
26
+ "isSignal": true;
27
+ };
28
+ "variant": {
29
+ "alias": "variant";
30
+ "required": false;
31
+ "isSignal": true;
32
+ };
33
+ }, {}, never, never, true, never>;
34
+ }
35
+ export declare class HySpinner {
36
+ readonly label: import("@angular/core").InputSignal<string>;
37
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySpinner, never>;
38
+ static ɵcmp: i0.ɵɵComponentDeclaration<HySpinner, "hy-spinner", never, {
39
+ "label": {
40
+ "alias": "label";
41
+ "required": false;
42
+ "isSignal": true;
43
+ };
44
+ }, {}, never, never, true, never>;
45
+ }
46
+ export declare const HY_PROGRESS: readonly [typeof HyProgress, typeof HySpinner];
@@ -0,0 +1,14 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HyProgressiveBlur {
3
+ readonly edge: import("@angular/core").InputSignal<"top" | "bottom">;
4
+ private readonly fidelity;
5
+ protected readonly blur: import("@angular/core").Signal<boolean>;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyProgressiveBlur, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyProgressiveBlur, "hy-progressive-blur", never, {
8
+ "edge": {
9
+ "alias": "edge";
10
+ "required": false;
11
+ "isSignal": true;
12
+ };
13
+ }, {}, never, never, true, never>;
14
+ }
@@ -0,0 +1,46 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "@hyalo/angular/core";
3
+ /** One WebGL context shared by all surfaces; each surface receives a 2D copy. */
4
+ interface RefractionTarget {
5
+ readonly canvas: HTMLCanvasElement;
6
+ readonly src: string;
7
+ readonly strength: () => number;
8
+ }
9
+ export declare class HyRefractionRenderer {
10
+ private readonly document;
11
+ private renderer;
12
+ constructor();
13
+ register(target: RefractionTarget): Promise<() => void>;
14
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyRefractionRenderer, never>;
15
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
16
+ }
17
+ /** Supply the scene image explicitly. WebGL cannot sample arbitrary DOM backdrops. */
18
+ export declare class HyRefraction {
19
+ private readonly fidelity;
20
+ private readonly renderer;
21
+ private readonly ready;
22
+ private readonly canvas;
23
+ readonly src: import("@angular/core").InputSignal<string>;
24
+ readonly strength: import("@angular/core").InputSignal<number>;
25
+ constructor();
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyRefraction, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyRefraction, "hy-refraction", never, {
28
+ "src": {
29
+ "alias": "src";
30
+ "required": false;
31
+ "isSignal": true;
32
+ };
33
+ "strength": {
34
+ "alias": "strength";
35
+ "required": false;
36
+ "isSignal": true;
37
+ };
38
+ }, {}, never, ["*"], true, [{
39
+ directive: typeof i1.HyMaterialDirective;
40
+ inputs: {
41
+ "hyMaterial": "material";
42
+ };
43
+ outputs: {};
44
+ }]>;
45
+ }
46
+ export {};
@@ -0,0 +1,18 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HyScrollArea {
3
+ readonly label: import("@angular/core").InputSignal<string>;
4
+ readonly maxHeight: import("@angular/core").InputSignal<string>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyScrollArea, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyScrollArea, "hy-scroll-area", never, {
7
+ "label": {
8
+ "alias": "label";
9
+ "required": true;
10
+ "isSignal": true;
11
+ };
12
+ "maxHeight": {
13
+ "alias": "maxHeight";
14
+ "required": false;
15
+ "isSignal": true;
16
+ };
17
+ }, {}, never, ["*"], true, never>;
18
+ }
@@ -0,0 +1,31 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HyScrollToTop {
3
+ private readonly document;
4
+ private readonly motion;
5
+ private readonly browser;
6
+ readonly label: import("@angular/core").InputSignal<string>;
7
+ readonly threshold: import("@angular/core").InputSignal<number>;
8
+ /** Focus this heading or landmark after scrolling, so keyboard users return too. */
9
+ readonly targetId: import("@angular/core").InputSignal<string | null>;
10
+ protected readonly visible: import("@angular/core").WritableSignal<boolean>;
11
+ constructor();
12
+ scroll(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyScrollToTop, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyScrollToTop, "hy-scroll-to-top", never, {
15
+ "label": {
16
+ "alias": "label";
17
+ "required": false;
18
+ "isSignal": true;
19
+ };
20
+ "threshold": {
21
+ "alias": "threshold";
22
+ "required": false;
23
+ "isSignal": true;
24
+ };
25
+ "targetId": {
26
+ "alias": "targetId";
27
+ "required": false;
28
+ "isSignal": true;
29
+ };
30
+ }, {}, never, never, true, never>;
31
+ }
@@ -0,0 +1,79 @@
1
+ import { FormValueControl } from "@angular/forms/signals";
2
+ import { HySize } from "@hyalo/angular/core";
3
+ import * as i0 from "@angular/core";
4
+ /** One choice in a segmented control. */
5
+ export interface HySegmentedOption<T> {
6
+ readonly value: T;
7
+ readonly label: string;
8
+ readonly icon?: string;
9
+ readonly disabled?: boolean;
10
+ }
11
+ /**
12
+ * A segmented control: a small set of mutually exclusive choices with the
13
+ * same sliding indicator as tabs. Use it to pick a value (billing period, a
14
+ * view mode). Use tabs when each choice shows a different panel.
15
+ *
16
+ * It is a group of native radio buttons, so arrow keys, form submission and
17
+ * screen readers behave as users expect. Works with Signal Forms through
18
+ * `[formField]`, or with `[(value)]`.
19
+ *
20
+ * ```html
21
+ * <hy-segmented label="Billing" [options]="periods" [(value)]="period" />
22
+ * ```
23
+ */
24
+ export declare class HySegmented<T> implements FormValueControl<T | undefined> {
25
+ protected readonly groupName: string;
26
+ private readonly row;
27
+ private readonly items;
28
+ /** The choices. */
29
+ readonly options: import("@angular/core").InputSignal<readonly HySegmentedOption<T>[]>;
30
+ /** Selected value. Two-way bindable. */
31
+ readonly value: import("@angular/core").ModelSignal<T | undefined>;
32
+ /** Accessible name of the group. */
33
+ readonly label: import("@angular/core").InputSignal<string | undefined>;
34
+ /** Name shared by the radio inputs. Generated when not set. */
35
+ readonly name: import("@angular/core").InputSignal<string>;
36
+ /** Disables every option. */
37
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
38
+ /** Control size. */
39
+ readonly size: import("@angular/core").InputSignal<HySize>;
40
+ /** Emits when focus leaves an option, so forms can mark the field touched. */
41
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
42
+ protected readonly ready: import("@angular/core").Signal<boolean>;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySegmented<any>, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<HySegmented<any>, "hy-segmented", never, {
45
+ "options": {
46
+ "alias": "options";
47
+ "required": true;
48
+ "isSignal": true;
49
+ };
50
+ "value": {
51
+ "alias": "value";
52
+ "required": false;
53
+ "isSignal": true;
54
+ };
55
+ "label": {
56
+ "alias": "label";
57
+ "required": false;
58
+ "isSignal": true;
59
+ };
60
+ "name": {
61
+ "alias": "name";
62
+ "required": false;
63
+ "isSignal": true;
64
+ };
65
+ "disabled": {
66
+ "alias": "disabled";
67
+ "required": false;
68
+ "isSignal": true;
69
+ };
70
+ "size": {
71
+ "alias": "size";
72
+ "required": false;
73
+ "isSignal": true;
74
+ };
75
+ }, {
76
+ "value": "valueChange";
77
+ "touch": "touch";
78
+ }, never, never, true, never>;
79
+ }
@@ -0,0 +1,176 @@
1
+ import * as i0 from "@angular/core";
2
+ import { TemplateRef } from "@angular/core";
3
+ import { FormValueControl } from "@angular/forms/signals";
4
+ import { HyFieldControl } from "@hyalo/angular/field";
5
+ /** One choice in a select. */
6
+ export interface HySelectOption<T> {
7
+ readonly key?: string | number;
8
+ readonly group?: {
9
+ readonly key: string;
10
+ readonly label: string;
11
+ readonly disabled?: boolean;
12
+ };
13
+ readonly value: T;
14
+ readonly label: string;
15
+ readonly disabled?: boolean;
16
+ }
17
+ export interface HySelectOptionContext<T> {
18
+ readonly $implicit: HySelectOption<T>;
19
+ }
20
+ /**
21
+ * A single-choice select with a glass dropdown, built on Angular Aria's
22
+ * combobox and listbox patterns.
23
+ *
24
+ * ```html
25
+ * <hy-field label="Strap">
26
+ * <hy-select [options]="straps" [formField]="form.strap" placeholder="Choose a strap" />
27
+ * </hy-field>
28
+ * ```
29
+ *
30
+ * Focus stays on the trigger while the list is open, and options are
31
+ * announced through `aria-activedescendant`. Arrow keys move, Enter or
32
+ * Space picks, Escape closes, and typing jumps to a matching option.
33
+ *
34
+ * On the low fidelity tier, or with `native`, it renders a real `<select>`
35
+ * instead. That gives the platform picker on phones and costs nothing.
36
+ */
37
+ export declare class HySelect<T> implements FormValueControl<T | undefined>, HyFieldControl {
38
+ private readonly fidelity;
39
+ private readonly host;
40
+ private readonly document;
41
+ private readonly destroy;
42
+ private readonly ready;
43
+ protected readonly field: import("@hyalo/angular/field").HyFieldContext | null;
44
+ private readonly trigger;
45
+ private readonly overlay;
46
+ private readonly presence;
47
+ /** The choices. */
48
+ readonly options: import("@angular/core").InputSignal<readonly HySelectOption<T>[]>;
49
+ /** Selected value. Two-way bindable and works with `[formField]`. */
50
+ readonly value: import("@angular/core").ModelSignal<T | undefined>;
51
+ /** Text shown while nothing is selected. */
52
+ readonly placeholder: import("@angular/core").InputSignal<string>;
53
+ readonly name: import("@angular/core").InputSignal<string>;
54
+ readonly optionTemplate: import("@angular/core").InputSignal<TemplateRef<HySelectOptionContext<T>> | undefined>;
55
+ /** Disables the select. Set automatically by Signal Forms. */
56
+ readonly disabled: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
57
+ /** Marks the field as required. Set automatically by Signal Forms. */
58
+ readonly required: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
59
+ /** Set by Signal Forms. */
60
+ readonly invalid: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
61
+ /** Set by Signal Forms. Only the first message is shown. */
62
+ readonly errors: import("@angular/core").InputSignal<readonly {
63
+ readonly kind: string;
64
+ readonly message?: string;
65
+ }[]>;
66
+ /** Set by Signal Forms. Errors show only after the field is touched. */
67
+ readonly touched: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
68
+ /** Always render a native `<select>`. */
69
+ readonly native: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
70
+ /** Emits when the control loses focus, so forms can mark it touched. */
71
+ readonly touch: import("@angular/core").OutputEmitterRef<void>;
72
+ readonly labelable = true;
73
+ protected readonly nativeId: string;
74
+ protected readonly triggerId: string;
75
+ readonly id: import("@angular/core").Signal<string>;
76
+ readonly errorMessage: import("@angular/core").Signal<string | undefined>;
77
+ protected readonly expanded: import("@angular/core").WritableSignal<boolean>;
78
+ /** Stays true while the panel fades out after `expanded` turns false. */
79
+ protected readonly rendered: import("@angular/core").WritableSignal<boolean>;
80
+ protected readonly positions: import("@angular/cdk/overlay").ConnectedPosition[];
81
+ protected readonly panelWidth: import("@angular/core").WritableSignal<number>;
82
+ protected readonly useNative: import("@angular/core").WritableSignal<boolean>;
83
+ protected readonly keyedOptions: import("@angular/core").Signal<{
84
+ option: HySelectOption<T>;
85
+ key: string;
86
+ disabled: boolean;
87
+ context: {
88
+ $implicit: HySelectOption<T>;
89
+ };
90
+ }[]>;
91
+ protected readonly groups: import("@angular/core").Signal<{
92
+ key: string;
93
+ label: string;
94
+ options: {
95
+ option: HySelectOption<T>;
96
+ key: string;
97
+ disabled: boolean;
98
+ context: HySelectOptionContext<T>;
99
+ }[];
100
+ }[]>;
101
+ protected readonly selectedOption: import("@angular/core").Signal<HySelectOption<T> | undefined>;
102
+ protected readonly listValue: import("@angular/core").Signal<(T & ({} | null))[]>;
103
+ protected readonly showsError: import("@angular/core").Signal<boolean>;
104
+ constructor();
105
+ protected setExpanded(open: boolean): void;
106
+ /** Runs when the overlay attaches a fresh panel. */
107
+ protected onAttach(): void;
108
+ private panelElement;
109
+ protected pick(values: readonly T[]): void;
110
+ /** Closes after a click on an option, including the one already selected. */
111
+ protected onPanelClick(event: MouseEvent): void;
112
+ protected close(): void;
113
+ protected scheduleMode(): void;
114
+ protected pickNative(event: Event): void;
115
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySelect<any>, never>;
116
+ static ɵcmp: i0.ɵɵComponentDeclaration<HySelect<any>, "hy-select", never, {
117
+ "options": {
118
+ "alias": "options";
119
+ "required": true;
120
+ "isSignal": true;
121
+ };
122
+ "value": {
123
+ "alias": "value";
124
+ "required": false;
125
+ "isSignal": true;
126
+ };
127
+ "placeholder": {
128
+ "alias": "placeholder";
129
+ "required": false;
130
+ "isSignal": true;
131
+ };
132
+ "name": {
133
+ "alias": "name";
134
+ "required": false;
135
+ "isSignal": true;
136
+ };
137
+ "optionTemplate": {
138
+ "alias": "optionTemplate";
139
+ "required": false;
140
+ "isSignal": true;
141
+ };
142
+ "disabled": {
143
+ "alias": "disabled";
144
+ "required": false;
145
+ "isSignal": true;
146
+ };
147
+ "required": {
148
+ "alias": "required";
149
+ "required": false;
150
+ "isSignal": true;
151
+ };
152
+ "invalid": {
153
+ "alias": "invalid";
154
+ "required": false;
155
+ "isSignal": true;
156
+ };
157
+ "errors": {
158
+ "alias": "errors";
159
+ "required": false;
160
+ "isSignal": true;
161
+ };
162
+ "touched": {
163
+ "alias": "touched";
164
+ "required": false;
165
+ "isSignal": true;
166
+ };
167
+ "native": {
168
+ "alias": "native";
169
+ "required": false;
170
+ "isSignal": true;
171
+ };
172
+ }, {
173
+ "value": "valueChange";
174
+ "touch": "touch";
175
+ }, never, never, true, never>;
176
+ }
@@ -0,0 +1,57 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HySidebar {
3
+ readonly collapsed: import("@angular/core").ModelSignal<boolean>;
4
+ protected readonly toggle: (value: boolean) => boolean;
5
+ readonly label: import("@angular/core").InputSignal<string>;
6
+ readonly collapseLabel: import("@angular/core").InputSignal<string>;
7
+ readonly expandLabel: import("@angular/core").InputSignal<string>;
8
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySidebar, never>;
9
+ static ɵcmp: i0.ɵɵComponentDeclaration<HySidebar, "hy-sidebar", never, {
10
+ "collapsed": {
11
+ "alias": "collapsed";
12
+ "required": false;
13
+ "isSignal": true;
14
+ };
15
+ "label": {
16
+ "alias": "label";
17
+ "required": false;
18
+ "isSignal": true;
19
+ };
20
+ "collapseLabel": {
21
+ "alias": "collapseLabel";
22
+ "required": false;
23
+ "isSignal": true;
24
+ };
25
+ "expandLabel": {
26
+ "alias": "expandLabel";
27
+ "required": false;
28
+ "isSignal": true;
29
+ };
30
+ }, {
31
+ "collapsed": "collapsedChange";
32
+ }, never, ["[hySidebarBrand]", "*", "[hySidebarFooter]"], true, never>;
33
+ }
34
+ export declare class HySidebarItem {
35
+ readonly label: import("@angular/core").InputSignal<string>;
36
+ readonly icon: import("@angular/core").InputSignal<string>;
37
+ readonly active: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
38
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySidebarItem, never>;
39
+ static ɵcmp: i0.ɵɵComponentDeclaration<HySidebarItem, "a[hySidebarItem]", never, {
40
+ "label": {
41
+ "alias": "label";
42
+ "required": true;
43
+ "isSignal": true;
44
+ };
45
+ "icon": {
46
+ "alias": "icon";
47
+ "required": true;
48
+ "isSignal": true;
49
+ };
50
+ "active": {
51
+ "alias": "active";
52
+ "required": false;
53
+ "isSignal": true;
54
+ };
55
+ }, {}, never, ["*"], true, never>;
56
+ }
57
+ export declare const HY_SIDEBAR: readonly [typeof HySidebar, typeof HySidebarItem];