@hyalo/angular 0.1.0 → 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 (198) hide show
  1. package/CHANGELOG.md +95 -41
  2. package/README.md +46 -32
  3. package/fesm2022/hyalo-angular-accordion.mjs +6 -6
  4. package/fesm2022/hyalo-angular-accordion.mjs.map +1 -1
  5. package/fesm2022/hyalo-angular-alert.mjs +171 -0
  6. package/fesm2022/hyalo-angular-alert.mjs.map +1 -0
  7. package/fesm2022/hyalo-angular-aspect-ratio.mjs +64 -0
  8. package/fesm2022/hyalo-angular-aspect-ratio.mjs.map +1 -0
  9. package/fesm2022/hyalo-angular-avatar.mjs +169 -0
  10. package/fesm2022/hyalo-angular-avatar.mjs.map +1 -0
  11. package/fesm2022/hyalo-angular-badge.mjs +268 -0
  12. package/fesm2022/hyalo-angular-badge.mjs.map +1 -0
  13. package/fesm2022/hyalo-angular-bento.mjs +132 -0
  14. package/fesm2022/hyalo-angular-bento.mjs.map +1 -0
  15. package/fesm2022/hyalo-angular-blocks.mjs +985 -0
  16. package/fesm2022/hyalo-angular-blocks.mjs.map +1 -0
  17. package/fesm2022/hyalo-angular-border-beam.mjs +73 -0
  18. package/fesm2022/hyalo-angular-border-beam.mjs.map +1 -0
  19. package/fesm2022/hyalo-angular-breadcrumb.mjs +77 -0
  20. package/fesm2022/hyalo-angular-breadcrumb.mjs.map +1 -0
  21. package/fesm2022/hyalo-angular-button-group.mjs +90 -0
  22. package/fesm2022/hyalo-angular-button-group.mjs.map +1 -0
  23. package/fesm2022/hyalo-angular-button.mjs +4 -3
  24. package/fesm2022/hyalo-angular-button.mjs.map +1 -1
  25. package/fesm2022/hyalo-angular-card.mjs +2 -2
  26. package/fesm2022/hyalo-angular-card.mjs.map +1 -1
  27. package/fesm2022/hyalo-angular-carousel.mjs +709 -0
  28. package/fesm2022/hyalo-angular-carousel.mjs.map +1 -0
  29. package/fesm2022/hyalo-angular-chapter-nav.mjs +336 -0
  30. package/fesm2022/hyalo-angular-chapter-nav.mjs.map +1 -0
  31. package/fesm2022/hyalo-angular-chart-engine-DSJop6He.mjs +5 -0
  32. package/fesm2022/hyalo-angular-chart-engine-DSJop6He.mjs.map +1 -0
  33. package/fesm2022/hyalo-angular-chart.mjs +391 -0
  34. package/fesm2022/hyalo-angular-chart.mjs.map +1 -0
  35. package/fesm2022/hyalo-angular-choice.mjs +2 -1
  36. package/fesm2022/hyalo-angular-choice.mjs.map +1 -1
  37. package/fesm2022/hyalo-angular-code-block-highlight-B20d5C76.mjs +40 -0
  38. package/fesm2022/hyalo-angular-code-block-highlight-B20d5C76.mjs.map +1 -0
  39. package/fesm2022/hyalo-angular-code-block.mjs +161 -0
  40. package/fesm2022/hyalo-angular-code-block.mjs.map +1 -0
  41. package/fesm2022/hyalo-angular-command.mjs +193 -0
  42. package/fesm2022/hyalo-angular-command.mjs.map +1 -0
  43. package/fesm2022/hyalo-angular-copy.mjs +138 -0
  44. package/fesm2022/hyalo-angular-copy.mjs.map +1 -0
  45. package/fesm2022/hyalo-angular-core.mjs +424 -0
  46. package/fesm2022/hyalo-angular-core.mjs.map +1 -0
  47. package/fesm2022/hyalo-angular-description-list.mjs +57 -0
  48. package/fesm2022/hyalo-angular-description-list.mjs.map +1 -0
  49. package/fesm2022/hyalo-angular-dialog.mjs +51 -22
  50. package/fesm2022/hyalo-angular-dialog.mjs.map +1 -1
  51. package/fesm2022/hyalo-angular-divider.mjs +66 -0
  52. package/fesm2022/hyalo-angular-divider.mjs.map +1 -0
  53. package/fesm2022/hyalo-angular-empty-state.mjs +123 -0
  54. package/fesm2022/hyalo-angular-empty-state.mjs.map +1 -0
  55. package/fesm2022/hyalo-angular-field.mjs +41 -9
  56. package/fesm2022/hyalo-angular-field.mjs.map +1 -1
  57. package/fesm2022/hyalo-angular-filter.mjs +309 -0
  58. package/fesm2022/hyalo-angular-filter.mjs.map +1 -0
  59. package/fesm2022/hyalo-angular-hotspot.mjs +225 -0
  60. package/fesm2022/hyalo-angular-hotspot.mjs.map +1 -0
  61. package/fesm2022/hyalo-angular-hover-card.mjs +233 -0
  62. package/fesm2022/hyalo-angular-hover-card.mjs.map +1 -0
  63. package/fesm2022/hyalo-angular-icon.mjs +42 -0
  64. package/fesm2022/hyalo-angular-icon.mjs.map +1 -1
  65. package/fesm2022/hyalo-angular-image-compare.mjs +168 -0
  66. package/fesm2022/hyalo-angular-image-compare.mjs.map +1 -0
  67. package/fesm2022/hyalo-angular-interaction.mjs +32 -41
  68. package/fesm2022/hyalo-angular-interaction.mjs.map +1 -1
  69. package/fesm2022/hyalo-angular-kbd.mjs +41 -0
  70. package/fesm2022/hyalo-angular-kbd.mjs.map +1 -0
  71. package/fesm2022/hyalo-angular-lightbox.mjs +228 -0
  72. package/fesm2022/hyalo-angular-lightbox.mjs.map +1 -0
  73. package/fesm2022/hyalo-angular-link.mjs +42 -0
  74. package/fesm2022/hyalo-angular-link.mjs.map +1 -0
  75. package/fesm2022/hyalo-angular-list.mjs +131 -0
  76. package/fesm2022/hyalo-angular-list.mjs.map +1 -0
  77. package/fesm2022/hyalo-angular-marquee.mjs +197 -0
  78. package/fesm2022/hyalo-angular-marquee.mjs.map +1 -0
  79. package/fesm2022/hyalo-angular-menu.mjs +423 -0
  80. package/fesm2022/hyalo-angular-menu.mjs.map +1 -0
  81. package/fesm2022/hyalo-angular-mesh.mjs +126 -0
  82. package/fesm2022/hyalo-angular-mesh.mjs.map +1 -0
  83. package/fesm2022/hyalo-angular-motion.mjs +620 -0
  84. package/fesm2022/hyalo-angular-motion.mjs.map +1 -0
  85. package/fesm2022/hyalo-angular-navbar.mjs +1 -1
  86. package/fesm2022/hyalo-angular-navbar.mjs.map +1 -1
  87. package/fesm2022/hyalo-angular-navigation-menu.mjs +222 -0
  88. package/fesm2022/hyalo-angular-navigation-menu.mjs.map +1 -0
  89. package/fesm2022/hyalo-angular-number-ticker.mjs +174 -0
  90. package/fesm2022/hyalo-angular-number-ticker.mjs.map +1 -0
  91. package/fesm2022/hyalo-angular-overlay.mjs +71 -2
  92. package/fesm2022/hyalo-angular-overlay.mjs.map +1 -1
  93. package/fesm2022/hyalo-angular-pagination.mjs +187 -0
  94. package/fesm2022/hyalo-angular-pagination.mjs.map +1 -0
  95. package/fesm2022/hyalo-angular-popover.mjs +34 -5
  96. package/fesm2022/hyalo-angular-popover.mjs.map +1 -1
  97. package/fesm2022/hyalo-angular-progress.mjs +209 -0
  98. package/fesm2022/hyalo-angular-progress.mjs.map +1 -0
  99. package/fesm2022/hyalo-angular-progressive-blur.mjs +73 -0
  100. package/fesm2022/hyalo-angular-progressive-blur.mjs.map +1 -0
  101. package/fesm2022/hyalo-angular-refraction-renderer-5ZA-kfsA.mjs +186 -0
  102. package/fesm2022/hyalo-angular-refraction-renderer-5ZA-kfsA.mjs.map +1 -0
  103. package/fesm2022/hyalo-angular-refraction.mjs +178 -0
  104. package/fesm2022/hyalo-angular-refraction.mjs.map +1 -0
  105. package/fesm2022/hyalo-angular-scroll-area.mjs +93 -0
  106. package/fesm2022/hyalo-angular-scroll-area.mjs.map +1 -0
  107. package/fesm2022/hyalo-angular-scroll-to-top.mjs +127 -0
  108. package/fesm2022/hyalo-angular-scroll-to-top.mjs.map +1 -0
  109. package/fesm2022/hyalo-angular-segmented.mjs +1 -1
  110. package/fesm2022/hyalo-angular-segmented.mjs.map +1 -1
  111. package/fesm2022/hyalo-angular-select.mjs +112 -15
  112. package/fesm2022/hyalo-angular-select.mjs.map +1 -1
  113. package/fesm2022/hyalo-angular-sidebar.mjs +241 -0
  114. package/fesm2022/hyalo-angular-sidebar.mjs.map +1 -0
  115. package/fesm2022/hyalo-angular-skeleton.mjs +131 -0
  116. package/fesm2022/hyalo-angular-skeleton.mjs.map +1 -0
  117. package/fesm2022/hyalo-angular-sparkline.mjs +110 -0
  118. package/fesm2022/hyalo-angular-sparkline.mjs.map +1 -0
  119. package/fesm2022/hyalo-angular-split-text.mjs +126 -0
  120. package/fesm2022/hyalo-angular-split-text.mjs.map +1 -0
  121. package/fesm2022/hyalo-angular-stat.mjs +193 -0
  122. package/fesm2022/hyalo-angular-stat.mjs.map +1 -0
  123. package/fesm2022/hyalo-angular-stepper.mjs +254 -0
  124. package/fesm2022/hyalo-angular-stepper.mjs.map +1 -0
  125. package/fesm2022/hyalo-angular-table.mjs +335 -0
  126. package/fesm2022/hyalo-angular-table.mjs.map +1 -0
  127. package/fesm2022/hyalo-angular-tabs.mjs +1 -1
  128. package/fesm2022/hyalo-angular-tabs.mjs.map +1 -1
  129. package/fesm2022/hyalo-angular-theme.mjs +1 -1
  130. package/fesm2022/hyalo-angular-theme.mjs.map +1 -1
  131. package/fesm2022/hyalo-angular-timeline.mjs +157 -0
  132. package/fesm2022/hyalo-angular-timeline.mjs.map +1 -0
  133. package/fesm2022/hyalo-angular-toast.mjs +2 -1
  134. package/fesm2022/hyalo-angular-toast.mjs.map +1 -1
  135. package/fesm2022/hyalo-angular.mjs +2 -473
  136. package/package.json +198 -2
  137. package/styles/parts/field.css +44 -36
  138. package/styles/parts/glass.css +2 -0
  139. package/styles/parts/motion.css +19 -0
  140. package/styles/parts/typography.css +17 -0
  141. package/types/hyalo-angular-accordion.d.ts +1 -1
  142. package/types/hyalo-angular-alert.d.ts +47 -0
  143. package/types/hyalo-angular-aspect-ratio.d.ts +13 -0
  144. package/types/hyalo-angular-avatar.d.ts +39 -0
  145. package/types/hyalo-angular-badge.d.ts +82 -0
  146. package/types/hyalo-angular-bento.d.ts +25 -0
  147. package/types/hyalo-angular-blocks.d.ts +272 -0
  148. package/types/hyalo-angular-border-beam.d.ts +15 -0
  149. package/types/hyalo-angular-breadcrumb.d.ts +22 -0
  150. package/types/hyalo-angular-button-group.d.ts +19 -0
  151. package/types/hyalo-angular-button.d.ts +4 -3
  152. package/types/hyalo-angular-card.d.ts +1 -1
  153. package/types/hyalo-angular-carousel.d.ts +147 -0
  154. package/types/hyalo-angular-chapter-nav.d.ts +79 -0
  155. package/types/hyalo-angular-chart.d.ts +90 -0
  156. package/types/hyalo-angular-code-block.d.ts +46 -0
  157. package/types/hyalo-angular-command.d.ts +41 -0
  158. package/types/hyalo-angular-copy.d.ts +39 -0
  159. package/types/hyalo-angular-core.d.ts +210 -0
  160. package/types/hyalo-angular-description-list.d.ts +16 -0
  161. package/types/hyalo-angular-dialog.d.ts +2 -1
  162. package/types/hyalo-angular-divider.d.ts +12 -0
  163. package/types/hyalo-angular-empty-state.d.ts +30 -0
  164. package/types/hyalo-angular-field.d.ts +10 -4
  165. package/types/hyalo-angular-filter.d.ts +122 -0
  166. package/types/hyalo-angular-hotspot.d.ts +70 -0
  167. package/types/hyalo-angular-hover-card.d.ts +47 -0
  168. package/types/hyalo-angular-image-compare.d.ts +55 -0
  169. package/types/hyalo-angular-kbd.d.ts +5 -0
  170. package/types/hyalo-angular-lightbox.d.ts +67 -0
  171. package/types/hyalo-angular-link.d.ts +5 -0
  172. package/types/hyalo-angular-list.d.ts +30 -0
  173. package/types/hyalo-angular-marquee.d.ts +48 -0
  174. package/types/hyalo-angular-menu.d.ts +105 -0
  175. package/types/hyalo-angular-mesh.d.ts +36 -0
  176. package/types/hyalo-angular-motion.d.ts +218 -0
  177. package/types/hyalo-angular-navigation-menu.d.ts +47 -0
  178. package/types/hyalo-angular-number-ticker.d.ts +52 -0
  179. package/types/hyalo-angular-overlay.d.ts +9 -0
  180. package/types/hyalo-angular-pagination.d.ts +59 -0
  181. package/types/hyalo-angular-popover.d.ts +10 -0
  182. package/types/hyalo-angular-progress.d.ts +46 -0
  183. package/types/hyalo-angular-progressive-blur.d.ts +14 -0
  184. package/types/hyalo-angular-refraction.d.ts +46 -0
  185. package/types/hyalo-angular-scroll-area.d.ts +18 -0
  186. package/types/hyalo-angular-scroll-to-top.d.ts +31 -0
  187. package/types/hyalo-angular-segmented.d.ts +1 -1
  188. package/types/hyalo-angular-select.d.ts +49 -3
  189. package/types/hyalo-angular-sidebar.d.ts +57 -0
  190. package/types/hyalo-angular-skeleton.d.ts +34 -0
  191. package/types/hyalo-angular-sparkline.d.ts +19 -0
  192. package/types/hyalo-angular-split-text.d.ts +24 -0
  193. package/types/hyalo-angular-stat.d.ts +56 -0
  194. package/types/hyalo-angular-stepper.d.ts +63 -0
  195. package/types/hyalo-angular-table.d.ts +125 -0
  196. package/types/hyalo-angular-timeline.d.ts +36 -0
  197. package/types/hyalo-angular.d.ts +2 -345
  198. package/fesm2022/hyalo-angular.mjs.map +0 -1
@@ -0,0 +1,47 @@
1
+ import * as i0 from "@angular/core";
2
+ import { TemplateRef } from "@angular/core";
3
+ import { HyPlacement } from "@hyalo/angular/overlay";
4
+ export declare class HyHoverCard {
5
+ readonly content: import("@angular/core").InputSignal<TemplateRef<unknown>>;
6
+ readonly hoverCardLabel: import("@angular/core").InputSignal<string>;
7
+ readonly placement: import("@angular/core").InputSignal<HyPlacement>;
8
+ readonly open: import("@angular/core").WritableSignal<boolean>;
9
+ protected readonly id: string;
10
+ private readonly injector;
11
+ private readonly host;
12
+ private readonly container;
13
+ private readonly fidelity;
14
+ private readonly document;
15
+ private readonly intent;
16
+ private ref;
17
+ private timer;
18
+ private disposed;
19
+ private suppressFocus;
20
+ protected focusTrigger(): void;
21
+ constructor();
22
+ protected enter(event: PointerEvent): void;
23
+ protected leave(event?: PointerEvent): void;
24
+ protected focusOut(event: FocusEvent): void;
25
+ protected escape(event: Event): void;
26
+ protected focusCard(event: Event): void;
27
+ show(): void;
28
+ hide(): void;
29
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyHoverCard, never>;
30
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HyHoverCard, "[hyHoverCard]", ["hyHoverCard"], {
31
+ "content": {
32
+ "alias": "hyHoverCard";
33
+ "required": true;
34
+ "isSignal": true;
35
+ };
36
+ "hoverCardLabel": {
37
+ "alias": "hoverCardLabel";
38
+ "required": true;
39
+ "isSignal": true;
40
+ };
41
+ "placement": {
42
+ "alias": "placement";
43
+ "required": false;
44
+ "isSignal": true;
45
+ };
46
+ }, {}, never, never, true, never>;
47
+ }
@@ -0,0 +1,55 @@
1
+ import * as i0 from "@angular/core";
2
+ /** Native range input provides pointer, touch, keyboard and screen reader controls. */
3
+ export declare class HyImageCompare {
4
+ readonly before: import("@angular/core").InputSignal<string>;
5
+ readonly after: import("@angular/core").InputSignal<string>;
6
+ readonly beforeAlt: import("@angular/core").InputSignal<string>;
7
+ readonly afterAlt: import("@angular/core").InputSignal<string>;
8
+ readonly label: import("@angular/core").InputSignal<string>;
9
+ readonly value: import("@angular/core").ModelSignal<number>;
10
+ readonly ratio: import("@angular/core").InputSignal<string>;
11
+ protected readonly id: string;
12
+ protected readonly position: import("@angular/core").Signal<number>;
13
+ protected readonly clip: import("@angular/core").Signal<string>;
14
+ protected change(event: Event): void;
15
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyImageCompare, never>;
16
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyImageCompare, "hy-image-compare", never, {
17
+ "before": {
18
+ "alias": "before";
19
+ "required": true;
20
+ "isSignal": true;
21
+ };
22
+ "after": {
23
+ "alias": "after";
24
+ "required": true;
25
+ "isSignal": true;
26
+ };
27
+ "beforeAlt": {
28
+ "alias": "beforeAlt";
29
+ "required": true;
30
+ "isSignal": true;
31
+ };
32
+ "afterAlt": {
33
+ "alias": "afterAlt";
34
+ "required": true;
35
+ "isSignal": true;
36
+ };
37
+ "label": {
38
+ "alias": "label";
39
+ "required": false;
40
+ "isSignal": true;
41
+ };
42
+ "value": {
43
+ "alias": "value";
44
+ "required": false;
45
+ "isSignal": true;
46
+ };
47
+ "ratio": {
48
+ "alias": "ratio";
49
+ "required": false;
50
+ "isSignal": true;
51
+ };
52
+ }, {
53
+ "value": "valueChange";
54
+ }, never, never, true, never>;
55
+ }
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HyKbd {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyKbd, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyKbd, "kbd[hyKbd]", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -0,0 +1,67 @@
1
+ import { HyDialogRef } from "@hyalo/angular/dialog";
2
+ import * as i0 from "@angular/core";
3
+ export interface HyGalleryImage {
4
+ readonly src: string;
5
+ readonly alt: string;
6
+ readonly thumbnail?: string;
7
+ readonly caption?: string;
8
+ }
9
+ export interface HyLightboxOptions {
10
+ readonly index?: number;
11
+ readonly label?: string;
12
+ readonly closeLabel?: string;
13
+ readonly previousLabel?: string;
14
+ readonly nextLabel?: string;
15
+ }
16
+ interface GalleryData extends HyLightboxOptions {
17
+ readonly images: readonly HyGalleryImage[];
18
+ }
19
+ export declare class HyLightboxView {
20
+ protected readonly data: GalleryData;
21
+ protected readonly ref: HyDialogRef<any>;
22
+ protected readonly index: import("@angular/core").WritableSignal<number>;
23
+ protected readonly image: import("@angular/core").Signal<HyGalleryImage | undefined>;
24
+ protected move(delta: number): void;
25
+ protected onKey(event: KeyboardEvent): void;
26
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyLightboxView, never>;
27
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyLightboxView, "hy-lightbox-view", never, {}, {}, never, never, true, never>;
28
+ }
29
+ /** Opens a gallery using the kit dialog's focus trap, Escape handling and focus restore. */
30
+ export declare class HyLightbox {
31
+ private readonly dialog;
32
+ open(images: readonly HyGalleryImage[], options?: HyLightboxOptions): HyDialogRef | null;
33
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyLightbox, never>;
34
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
35
+ }
36
+ export declare class HyGallery {
37
+ private readonly lightbox;
38
+ readonly images: import("@angular/core").InputSignal<readonly HyGalleryImage[]>;
39
+ readonly label: import("@angular/core").InputSignal<string>;
40
+ readonly openLabel: import("@angular/core").InputSignal<string>;
41
+ readonly options: import("@angular/core").InputSignal<HyLightboxOptions>;
42
+ open(index: number): void;
43
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyGallery, never>;
44
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyGallery, "hy-gallery", never, {
45
+ "images": {
46
+ "alias": "images";
47
+ "required": true;
48
+ "isSignal": true;
49
+ };
50
+ "label": {
51
+ "alias": "label";
52
+ "required": false;
53
+ "isSignal": true;
54
+ };
55
+ "openLabel": {
56
+ "alias": "openLabel";
57
+ "required": false;
58
+ "isSignal": true;
59
+ };
60
+ "options": {
61
+ "alias": "options";
62
+ "required": false;
63
+ "isSignal": true;
64
+ };
65
+ }, {}, never, never, true, never>;
66
+ }
67
+ export {};
@@ -0,0 +1,5 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HyLink {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyLink, never>;
4
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyLink, "a[hyLink]", never, {}, {}, never, ["*"], true, never>;
5
+ }
@@ -0,0 +1,30 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class HyList {
3
+ readonly label: import("@angular/core").InputSignal<string>;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyList, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyList, "hy-list", never, {
6
+ "label": {
7
+ "alias": "label";
8
+ "required": true;
9
+ "isSignal": true;
10
+ };
11
+ }, {}, never, ["*"], true, never>;
12
+ }
13
+ export declare class HyListItem {
14
+ readonly heading: import("@angular/core").InputSignal<string>;
15
+ readonly description: import("@angular/core").InputSignal<string>;
16
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyListItem, never>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyListItem, "li[hyListItem]", never, {
18
+ "heading": {
19
+ "alias": "heading";
20
+ "required": true;
21
+ "isSignal": true;
22
+ };
23
+ "description": {
24
+ "alias": "description";
25
+ "required": false;
26
+ "isSignal": true;
27
+ };
28
+ }, {}, never, ["*"], true, never>;
29
+ }
30
+ export declare const HY_LIST: readonly [typeof HyList, typeof HyListItem];
@@ -0,0 +1,48 @@
1
+ import * as i0 from "@angular/core";
2
+ import { TemplateRef } from "@angular/core";
3
+ export declare class HyMarqueeItem {
4
+ readonly template: TemplateRef<unknown>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMarqueeItem, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HyMarqueeItem, "ng-template[hyMarqueeItem]", never, {}, {}, never, never, true, never>;
7
+ }
8
+ export declare class HyMarquee {
9
+ private readonly motion;
10
+ readonly label: import("@angular/core").InputSignal<string>;
11
+ readonly duration: import("@angular/core").InputSignal<string>;
12
+ readonly reverse: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
13
+ readonly pauseLabel: import("@angular/core").InputSignal<string>;
14
+ readonly playLabel: import("@angular/core").InputSignal<string>;
15
+ protected readonly paused: import("@angular/core").WritableSignal<boolean>;
16
+ protected readonly motionEnabled: import("@angular/core").Signal<boolean>;
17
+ protected readonly running: import("@angular/core").Signal<boolean>;
18
+ protected readonly items: import("@angular/core").Signal<readonly HyMarqueeItem[]>;
19
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMarquee, never>;
20
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyMarquee, "hy-marquee", never, {
21
+ "label": {
22
+ "alias": "label";
23
+ "required": false;
24
+ "isSignal": true;
25
+ };
26
+ "duration": {
27
+ "alias": "duration";
28
+ "required": false;
29
+ "isSignal": true;
30
+ };
31
+ "reverse": {
32
+ "alias": "reverse";
33
+ "required": false;
34
+ "isSignal": true;
35
+ };
36
+ "pauseLabel": {
37
+ "alias": "pauseLabel";
38
+ "required": false;
39
+ "isSignal": true;
40
+ };
41
+ "playLabel": {
42
+ "alias": "playLabel";
43
+ "required": false;
44
+ "isSignal": true;
45
+ };
46
+ }, {}, ["items"], ["*"], true, never>;
47
+ }
48
+ export declare const HY_MARQUEE: readonly [typeof HyMarquee, typeof HyMarqueeItem];
@@ -0,0 +1,105 @@
1
+ import * as i0 from "@angular/core";
2
+ import { TemplateRef } from "@angular/core";
3
+ import * as i1 from "@angular/cdk/menu";
4
+ import * as i2 from "@hyalo/angular/core";
5
+ export declare class HyMenu {
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMenu, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyMenu, "hy-menu", never, {}, {}, never, ["*"], true, [{
8
+ directive: typeof i1.CdkMenu;
9
+ inputs: {};
10
+ outputs: {};
11
+ }, {
12
+ directive: typeof i2.HyMaterialDirective;
13
+ inputs: {
14
+ "hyMaterial": "material";
15
+ };
16
+ outputs: {};
17
+ }]>;
18
+ }
19
+ export declare class HyMenuTrigger {
20
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMenuTrigger, never>;
21
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HyMenuTrigger, "[hyMenuTriggerFor]", never, {}, {}, never, never, true, [{
22
+ directive: typeof i1.CdkMenuTrigger;
23
+ inputs: {
24
+ "cdkMenuTriggerFor": "hyMenuTriggerFor";
25
+ "cdkMenuPosition": "menuPosition";
26
+ "cdkMenuTriggerData": "menuData";
27
+ };
28
+ outputs: {
29
+ "cdkMenuOpened": "menuOpened";
30
+ "cdkMenuClosed": "menuClosed";
31
+ };
32
+ }]>;
33
+ }
34
+ export declare class HyMenuItem {
35
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMenuItem, never>;
36
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyMenuItem, "button[hyMenuItem],a[hyMenuItem]", never, {}, {}, never, ["*"], true, [{
37
+ directive: typeof i1.CdkMenuItem;
38
+ inputs: {
39
+ "cdkMenuItemDisabled": "disabled";
40
+ "cdkMenuitemTypeaheadLabel": "typeaheadLabel";
41
+ };
42
+ outputs: {
43
+ "cdkMenuItemTriggered": "triggered";
44
+ };
45
+ }]>;
46
+ }
47
+ export declare class HyMenuCheckbox {
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMenuCheckbox, never>;
49
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyMenuCheckbox, "button[hyMenuCheckbox]", never, {}, {}, never, ["*"], true, [{
50
+ directive: typeof i1.CdkMenuItemCheckbox;
51
+ inputs: {
52
+ "cdkMenuItemDisabled": "disabled";
53
+ "cdkMenuItemChecked": "checked";
54
+ };
55
+ outputs: {
56
+ "cdkMenuItemTriggered": "triggered";
57
+ };
58
+ }]>;
59
+ }
60
+ export declare class HyMenuRadio {
61
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMenuRadio, never>;
62
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyMenuRadio, "button[hyMenuRadio]", never, {}, {}, never, ["*"], true, [{
63
+ directive: typeof i1.CdkMenuItemRadio;
64
+ inputs: {
65
+ "cdkMenuItemDisabled": "disabled";
66
+ "cdkMenuItemChecked": "checked";
67
+ };
68
+ outputs: {
69
+ "cdkMenuItemTriggered": "triggered";
70
+ };
71
+ }]>;
72
+ }
73
+ export declare class HySplitButton {
74
+ readonly label: import("@angular/core").InputSignal<string>;
75
+ readonly menu: import("@angular/core").InputSignal<TemplateRef<unknown>>;
76
+ readonly menuLabel: import("@angular/core").InputSignal<string>;
77
+ readonly disabled: import("@angular/core").InputSignal<boolean>;
78
+ readonly activated: import("@angular/core").OutputEmitterRef<void>;
79
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySplitButton, never>;
80
+ static ɵcmp: i0.ɵɵComponentDeclaration<HySplitButton, "hy-split-button", never, {
81
+ "label": {
82
+ "alias": "label";
83
+ "required": true;
84
+ "isSignal": true;
85
+ };
86
+ "menu": {
87
+ "alias": "menu";
88
+ "required": true;
89
+ "isSignal": true;
90
+ };
91
+ "menuLabel": {
92
+ "alias": "menuLabel";
93
+ "required": false;
94
+ "isSignal": true;
95
+ };
96
+ "disabled": {
97
+ "alias": "disabled";
98
+ "required": false;
99
+ "isSignal": true;
100
+ };
101
+ }, {
102
+ "activated": "activated";
103
+ }, never, never, true, never>;
104
+ }
105
+ export declare const HY_MENU: readonly [typeof HyMenu, typeof HyMenuItem, typeof HyMenuTrigger, typeof HyMenuCheckbox, typeof HyMenuRadio, typeof HySplitButton];
@@ -0,0 +1,36 @@
1
+ import * as i0 from "@angular/core";
2
+ /** Ambient backdrop. Content stays in a separate, stationary layer. */
3
+ export declare class HyMesh {
4
+ private readonly motion;
5
+ private readonly visible;
6
+ readonly animated: import("@angular/core").InputSignalWithTransform<boolean, unknown>;
7
+ readonly pauseLabel: import("@angular/core").InputSignal<string>;
8
+ readonly playLabel: import("@angular/core").InputSignal<string>;
9
+ readonly disabledLabel: import("@angular/core").InputSignal<string>;
10
+ protected readonly paused: import("@angular/core").WritableSignal<boolean>;
11
+ protected readonly allowed: import("@angular/core").Signal<boolean>;
12
+ protected readonly moving: import("@angular/core").Signal<boolean>;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMesh, never>;
14
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyMesh, "hy-mesh", never, {
15
+ "animated": {
16
+ "alias": "animated";
17
+ "required": false;
18
+ "isSignal": true;
19
+ };
20
+ "pauseLabel": {
21
+ "alias": "pauseLabel";
22
+ "required": false;
23
+ "isSignal": true;
24
+ };
25
+ "playLabel": {
26
+ "alias": "playLabel";
27
+ "required": false;
28
+ "isSignal": true;
29
+ };
30
+ "disabledLabel": {
31
+ "alias": "disabledLabel";
32
+ "required": false;
33
+ "isSignal": true;
34
+ };
35
+ }, {}, never, ["*"], true, never>;
36
+ }
@@ -0,0 +1,218 @@
1
+ import { HyGsap } from "@hyalo/angular/core";
2
+ import * as i0 from "@angular/core";
3
+ import { Signal } from "@angular/core";
4
+ /** One named motion: duration in seconds plus matching GSAP and CSS easings. */
5
+ export interface HyMotionPreset {
6
+ readonly duration: number;
7
+ readonly ease: string;
8
+ readonly css: string;
9
+ }
10
+ /**
11
+ * The shared motion vocabulary. CSS has the same values as `--hy-dur-*` and
12
+ * `--hy-ease-*` tokens.
13
+ *
14
+ * - `settle`: the default for anything that moves into place.
15
+ * - `pop`: a small overshoot. Only for motion the user caused, such as a
16
+ * toggle they just pressed. Never for things that appear on their own.
17
+ * - `quick`: acknowledgements, like a press or a hover.
18
+ * - `scene`: large, slow movements such as section reveals.
19
+ */
20
+ export declare const MOTION: {
21
+ readonly settle: {
22
+ readonly duration: 0.44;
23
+ readonly ease: "power3.out";
24
+ readonly css: "cubic-bezier(0.215, 0.61, 0.355, 1)";
25
+ };
26
+ readonly pop: {
27
+ readonly duration: 0.5;
28
+ readonly ease: "back.out(1.5)";
29
+ readonly css: "cubic-bezier(0.34, 1.56, 0.64, 1)";
30
+ };
31
+ readonly quick: {
32
+ readonly duration: 0.22;
33
+ readonly ease: "power2.out";
34
+ readonly css: "cubic-bezier(0.25, 0.46, 0.45, 0.94)";
35
+ };
36
+ readonly scene: {
37
+ readonly duration: 0.9;
38
+ readonly ease: "expo.out";
39
+ readonly css: "cubic-bezier(0.16, 1, 0.3, 1)";
40
+ };
41
+ };
42
+ /**
43
+ * Motion state for the whole app: whether the user prefers reduced motion,
44
+ * whether effects may run at all, and lazy access to GSAP.
45
+ */
46
+ export declare class HyMotion {
47
+ private readonly config;
48
+ private readonly fidelity;
49
+ private readonly document;
50
+ private readonly isBrowser;
51
+ private readonly _reduced;
52
+ private gsapPromise;
53
+ /** True when the OS asks for reduced motion, or the app forced it. */
54
+ readonly reduced: import("@angular/core").Signal<boolean>;
55
+ /** True when decorative motion (tilt, magnetic, reveal) may run. */
56
+ readonly enabled: import("@angular/core").Signal<boolean>;
57
+ constructor();
58
+ /**
59
+ * Requests reduced or normal motion without overriding the OS preference, and mirrors
60
+ * the choice to `data-hy-motion` so CSS tokens follow. Pass `null` to go
61
+ * back to the OS setting.
62
+ */
63
+ setReduced(reduced: boolean | null): void;
64
+ /**
65
+ * Loads GSAP once, if the app provided a loader. Resolves to `null` on the
66
+ * server, without a loader, or if loading fails, so callers can fall back
67
+ * to CSS.
68
+ */
69
+ gsap(): Promise<HyGsap | null>;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyMotion, never>;
71
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
72
+ }
73
+ /**
74
+ * A spring in the two numbers Apple designs with.
75
+ *
76
+ * - `damping`: 1 settles without overshoot, lower values bounce.
77
+ * - `response`: roughly how many seconds it takes to get there. Not a
78
+ * duration; the settle time falls out of the physics.
79
+ */
80
+ export interface HySpringConfig {
81
+ /** Finite and greater than zero, so the spring can settle. */
82
+ readonly damping: number;
83
+ /** Finite and at least 1/60 second. Use set() for an immediate change. */
84
+ readonly response: number;
85
+ }
86
+ /**
87
+ * The shared springs.
88
+ *
89
+ * - `settle`: the default. No bounce.
90
+ * - `momentum`: after a flick or a drag, when the gesture carried speed.
91
+ */
92
+ export declare const SPRINGS: {
93
+ readonly settle: {
94
+ readonly damping: 1;
95
+ readonly response: 0.4;
96
+ };
97
+ readonly momentum: {
98
+ readonly damping: 0.8;
99
+ readonly response: 0.3;
100
+ };
101
+ };
102
+ /** Options for {@link HySpring.to}. */
103
+ export interface HySpringTarget extends Partial<HySpringConfig> {
104
+ /** Starting velocity in units per second. Defaults to the current one. */
105
+ readonly velocity?: number;
106
+ /** Runs once the value comes to rest on the target. */
107
+ readonly onRest?: () => void;
108
+ }
109
+ /**
110
+ * Animates one number on `requestAnimationFrame`. Every `to()` starts from
111
+ * the live value and keeps its velocity, so the motion can be grabbed and
112
+ * redirected at any moment without a jump or a sudden stop.
113
+ */
114
+ export declare class HySpring {
115
+ private readonly onUpdate;
116
+ /** The value on screen right now. */
117
+ value: number;
118
+ /** Units per second. */
119
+ velocity: number;
120
+ private target;
121
+ private config;
122
+ private onRest;
123
+ private frame;
124
+ private last;
125
+ constructor(initial: number, onUpdate: (value: number) => void);
126
+ /** True while the spring is moving. */
127
+ get running(): boolean;
128
+ /** Springs toward `target`, from wherever it is now. */
129
+ to(target: number, options?: HySpringTarget): void;
130
+ /** Jumps to a value and stops, as when a finger holds it. */
131
+ set(value: number): void;
132
+ /** Stops where it is. A pending `onRest` is dropped. */
133
+ stop(): void;
134
+ private readonly tick;
135
+ }
136
+ /**
137
+ * How far a flick travels before it stops, from the velocity in px per
138
+ * second. This is the deceleration curve of scrolling, so a target picked
139
+ * from `position + project(velocity)` lands where the gesture was going.
140
+ */
141
+ export declare function project(velocity: number, decelerationRate?: number): number;
142
+ /**
143
+ * Resistance past a boundary. The further the overshoot, the less the
144
+ * element follows, so an edge feels soft instead of frozen.
145
+ */
146
+ export declare function rubberband(overshoot: number, dimension: number, constant?: number): number;
147
+ /** Velocity of a pointer from its last 100ms of movement. */
148
+ export declare class HyVelocityTracker {
149
+ private samples;
150
+ add(value: number, time?: number): void;
151
+ reset(): void;
152
+ /** Units per second. Zero if the pointer has been still for 100ms. */
153
+ velocity(now?: number): number;
154
+ }
155
+ /** A static SSR state keeps browser measurements out of the hydration structure. */
156
+ export declare function injectHyVisibility(): Signal<boolean>;
157
+ export interface HyPointerHandlers {
158
+ enter?(event: PointerEvent, rect: DOMRect): void;
159
+ move(event: PointerEvent, rect: DOMRect): void;
160
+ leave?(): void;
161
+ destroy?(): void;
162
+ }
163
+ /** One sampler per document; style writes stay on opted-in surfaces. */
164
+ export declare class HySceneLight {
165
+ private readonly document;
166
+ private readonly motion;
167
+ private readonly entries;
168
+ private readonly observers;
169
+ private resize?;
170
+ private abort?;
171
+ private event?;
172
+ private frame;
173
+ private dirty;
174
+ constructor();
175
+ register(host: HTMLElement, handlers: HyPointerHandlers, scene?: boolean, root?: Element | null): () => void;
176
+ private start;
177
+ private schedule;
178
+ private draw;
179
+ private leave;
180
+ private reset;
181
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySceneLight, never>;
182
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
183
+ }
184
+ export declare class HySceneLightDirective {
185
+ constructor();
186
+ static ɵfac: i0.ɵɵFactoryDeclaration<HySceneLightDirective, never>;
187
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HySceneLightDirective, "[hySceneLight]", never, {}, {}, never, never, true, never>;
188
+ }
189
+ /** The caller owns the state change and focus; this directive only animates its own host bounds. */
190
+ export declare class HyFlip {
191
+ private readonly host;
192
+ private readonly motion;
193
+ private readonly injector;
194
+ private readonly destroy;
195
+ private animation?;
196
+ private generation;
197
+ constructor();
198
+ run(change: () => void): void;
199
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyFlip, never>;
200
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HyFlip, "[hyFlip]", ["hyFlip"], {}, {}, never, never, true, never>;
201
+ }
202
+ export declare class HyStagger {
203
+ readonly hyStagger: import("@angular/core").InputSignalWithTransform<number, unknown>;
204
+ private readonly host;
205
+ private readonly visible;
206
+ private readonly motion;
207
+ private readonly seen;
208
+ private readonly animations;
209
+ constructor();
210
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyStagger, never>;
211
+ static ɵdir: i0.ɵɵDirectiveDeclaration<HyStagger, "[hyStagger]", never, {
212
+ "hyStagger": {
213
+ "alias": "hyStagger";
214
+ "required": false;
215
+ "isSignal": true;
216
+ };
217
+ }, {}, never, never, true, never>;
218
+ }
@@ -0,0 +1,47 @@
1
+ import { ConnectedPosition } from "@angular/cdk/overlay";
2
+ import * as i0 from "@angular/core";
3
+ export interface HyNavigationLink {
4
+ readonly label: string;
5
+ readonly href: string;
6
+ readonly description?: string;
7
+ }
8
+ export interface HyNavigationSection {
9
+ readonly label: string;
10
+ readonly links: readonly HyNavigationLink[];
11
+ }
12
+ export interface HyNavigationItem {
13
+ readonly id: string;
14
+ readonly label: string;
15
+ readonly href?: string;
16
+ readonly sections?: readonly HyNavigationSection[];
17
+ }
18
+ export declare class HyNavigationMenu {
19
+ readonly items: import("@angular/core").InputSignal<readonly HyNavigationItem[]>;
20
+ readonly label: import("@angular/core").InputSignal<string>;
21
+ readonly open: import("@angular/core").WritableSignal<string | null>;
22
+ protected readonly id: string;
23
+ private readonly host;
24
+ private readonly document;
25
+ private trigger;
26
+ protected readonly positions: ConnectedPosition[];
27
+ protected outside(event: MouseEvent): void;
28
+ private panel;
29
+ protected enterPanel(event: KeyboardEvent): void;
30
+ protected panelKeydown(event: KeyboardEvent): void;
31
+ toggle(id: string, event: Event): void;
32
+ escape(event: Event): void;
33
+ focusOut(event: FocusEvent): void;
34
+ static ɵfac: i0.ɵɵFactoryDeclaration<HyNavigationMenu, never>;
35
+ static ɵcmp: i0.ɵɵComponentDeclaration<HyNavigationMenu, "hy-navigation-menu", never, {
36
+ "items": {
37
+ "alias": "items";
38
+ "required": true;
39
+ "isSignal": true;
40
+ };
41
+ "label": {
42
+ "alias": "label";
43
+ "required": false;
44
+ "isSignal": true;
45
+ };
46
+ }, {}, never, never, true, never>;
47
+ }