@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,169 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, computed, input, signal } from "@angular/core";
3
+ var HyAvatar = class HyAvatar {
4
+ name = input.required(...ngDevMode ? [{ debugName: "name" }] : /* istanbul ignore next */ []);
5
+ src = input("", ...ngDevMode ? [{ debugName: "src" }] : /* istanbul ignore next */ []);
6
+ size = input("md", ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
7
+ failedSrc = signal(null, ...ngDevMode ? [{ debugName: "failedSrc" }] : /* istanbul ignore next */ []);
8
+ initials = computed(() => this.name().trim().split(/\s+/u).slice(0, 2).map((part) => Array.from(part)[0] ?? "").join(""), ...ngDevMode ? [{ debugName: "initials" }] : /* istanbul ignore next */ []);
9
+ static ɵfac = i0.ɵɵngDeclareFactory({
10
+ minVersion: "12.0.0",
11
+ version: "22.2.3",
12
+ ngImport: i0,
13
+ type: HyAvatar,
14
+ deps: [],
15
+ target: i0.ɵɵFactoryTarget.Component
16
+ });
17
+ static ɵcmp = i0.ɵɵngDeclareComponent({
18
+ minVersion: "17.0.0",
19
+ version: "22.2.3",
20
+ type: HyAvatar,
21
+ isStandalone: true,
22
+ selector: "hy-avatar",
23
+ inputs: {
24
+ name: {
25
+ classPropertyName: "name",
26
+ publicName: "name",
27
+ isSignal: true,
28
+ isRequired: true,
29
+ transformFunction: null
30
+ },
31
+ src: {
32
+ classPropertyName: "src",
33
+ publicName: "src",
34
+ isSignal: true,
35
+ isRequired: false,
36
+ transformFunction: null
37
+ },
38
+ size: {
39
+ classPropertyName: "size",
40
+ publicName: "size",
41
+ isSignal: true,
42
+ isRequired: false,
43
+ transformFunction: null
44
+ }
45
+ },
46
+ host: {
47
+ attributes: { "role": "img" },
48
+ properties: {
49
+ "attr.aria-label": "name()",
50
+ "attr.data-size": "size()"
51
+ }
52
+ },
53
+ ngImport: i0,
54
+ template: "@if (src() && failedSrc() !== src()) {\r\n <img [src]=\"src()\" alt=\"\" (error)=\"failedSrc.set(src())\" />\r\n} @else {\r\n <span aria-hidden=\"true\">{{ initials() }}</span>\r\n}\r\n",
55
+ styles: [":host{display:inline-grid;place-items:center;inline-size:var(--hy-avatar-size, 2.5rem);block-size:var(--hy-avatar-size, 2.5rem);flex-shrink:0;overflow:clip;border-radius:50%;background:var(--hy-primary-wash);color:var(--hy-primary);border:1px solid var(--hy-line);font-weight:600}:host([data-size=\"sm\"]){--hy-avatar-size: 2rem;font-size:var(--hy-step--1)}:host([data-size=\"lg\"]){--hy-avatar-size: 3.5rem}img{inline-size:100%;block-size:100%;object-fit:cover}\n"],
56
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
57
+ });
58
+ };
59
+ i0.ɵɵngDeclareClassMetadata({
60
+ minVersion: "12.0.0",
61
+ version: "22.2.3",
62
+ ngImport: i0,
63
+ type: HyAvatar,
64
+ decorators: [{
65
+ type: Component,
66
+ args: [{
67
+ selector: "hy-avatar",
68
+ changeDetection: ChangeDetectionStrategy.OnPush,
69
+ host: {
70
+ role: "img",
71
+ "[attr.aria-label]": "name()",
72
+ "[attr.data-size]": "size()"
73
+ },
74
+ template: "@if (src() && failedSrc() !== src()) {\r\n <img [src]=\"src()\" alt=\"\" (error)=\"failedSrc.set(src())\" />\r\n} @else {\r\n <span aria-hidden=\"true\">{{ initials() }}</span>\r\n}\r\n",
75
+ styles: [":host{display:inline-grid;place-items:center;inline-size:var(--hy-avatar-size, 2.5rem);block-size:var(--hy-avatar-size, 2.5rem);flex-shrink:0;overflow:clip;border-radius:50%;background:var(--hy-primary-wash);color:var(--hy-primary);border:1px solid var(--hy-line);font-weight:600}:host([data-size=\"sm\"]){--hy-avatar-size: 2rem;font-size:var(--hy-step--1)}:host([data-size=\"lg\"]){--hy-avatar-size: 3.5rem}img{inline-size:100%;block-size:100%;object-fit:cover}\n"]
76
+ }]
77
+ }],
78
+ propDecorators: {
79
+ name: [{
80
+ type: i0.Input,
81
+ args: [{
82
+ isSignal: true,
83
+ alias: "name",
84
+ required: true
85
+ }]
86
+ }],
87
+ src: [{
88
+ type: i0.Input,
89
+ args: [{
90
+ isSignal: true,
91
+ alias: "src",
92
+ required: false
93
+ }]
94
+ }],
95
+ size: [{
96
+ type: i0.Input,
97
+ args: [{
98
+ isSignal: true,
99
+ alias: "size",
100
+ required: false
101
+ }]
102
+ }]
103
+ }
104
+ });
105
+ var HyAvatarGroup = class HyAvatarGroup {
106
+ label = input("Team", ...ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []);
107
+ static ɵfac = i0.ɵɵngDeclareFactory({
108
+ minVersion: "12.0.0",
109
+ version: "22.2.3",
110
+ ngImport: i0,
111
+ type: HyAvatarGroup,
112
+ deps: [],
113
+ target: i0.ɵɵFactoryTarget.Component
114
+ });
115
+ static ɵcmp = i0.ɵɵngDeclareComponent({
116
+ minVersion: "17.1.0",
117
+ version: "22.2.3",
118
+ type: HyAvatarGroup,
119
+ isStandalone: true,
120
+ selector: "hy-avatar-group",
121
+ inputs: { label: {
122
+ classPropertyName: "label",
123
+ publicName: "label",
124
+ isSignal: true,
125
+ isRequired: false,
126
+ transformFunction: null
127
+ } },
128
+ host: {
129
+ attributes: { "role": "group" },
130
+ properties: { "attr.aria-label": "label()" }
131
+ },
132
+ ngImport: i0,
133
+ template: "<ng-content />",
134
+ isInline: true,
135
+ styles: [":host{display:flex;flex-wrap:wrap;gap:var(--hy-space-1)}\n"],
136
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
137
+ });
138
+ };
139
+ i0.ɵɵngDeclareClassMetadata({
140
+ minVersion: "12.0.0",
141
+ version: "22.2.3",
142
+ ngImport: i0,
143
+ type: HyAvatarGroup,
144
+ decorators: [{
145
+ type: Component,
146
+ args: [{
147
+ selector: "hy-avatar-group",
148
+ changeDetection: ChangeDetectionStrategy.OnPush,
149
+ host: {
150
+ role: "group",
151
+ "[attr.aria-label]": "label()"
152
+ },
153
+ template: "<ng-content />",
154
+ styles: [":host{display:flex;flex-wrap:wrap;gap:var(--hy-space-1)}\n"]
155
+ }]
156
+ }],
157
+ propDecorators: { label: [{
158
+ type: i0.Input,
159
+ args: [{
160
+ isSignal: true,
161
+ alias: "label",
162
+ required: false
163
+ }]
164
+ }] }
165
+ });
166
+ const HY_AVATAR = [HyAvatar, HyAvatarGroup];
167
+ export { HY_AVATAR, HyAvatar, HyAvatarGroup };
168
+
169
+ //# sourceMappingURL=hyalo-angular-avatar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyalo-angular-avatar.mjs","names":[],"sources":["../../../projects/hyalo/avatar/avatar.ts","../../../projects/hyalo/avatar/avatar.html"],"sourcesContent":["import { ChangeDetectionStrategy, Component, computed, input, signal } from '@angular/core';\r\nimport type { HySize } from '@hyalo/angular/core';\r\n@Component({\r\n selector: 'hy-avatar',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { role: 'img', '[attr.aria-label]': 'name()', '[attr.data-size]': 'size()' },\r\n templateUrl: './avatar.html',\r\n styleUrl: './avatar.css',\r\n})\r\nexport class HyAvatar {\r\n readonly name = input.required<string>();\r\n readonly src = input('');\r\n readonly size = input<HySize>('md');\r\n protected readonly failedSrc = signal<string | null>(null);\r\n protected readonly initials = computed(() =>\r\n this.name()\r\n .trim()\r\n .split(/\\s+/u)\r\n .slice(0, 2)\r\n .map((part) => Array.from(part)[0] ?? '')\r\n .join(''),\r\n );\r\n}\r\n@Component({\r\n selector: 'hy-avatar-group',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: { role: 'group', '[attr.aria-label]': 'label()' },\r\n template: '<ng-content />',\r\n styles: ':host { display:flex; flex-wrap:wrap; gap:var(--hy-space-1); }',\r\n})\r\nexport class HyAvatarGroup {\r\n readonly label = input('Team');\r\n}\r\nexport const HY_AVATAR = [HyAvatar, HyAvatarGroup] as const;\r\n","@if (src() && failedSrc() !== src()) {\r\n <img [src]=\"src()\" alt=\"\" (error)=\"failedSrc.set(src())\" />\r\n} @else {\r\n <span aria-hidden=\"true\">{{ initials() }}</span>\r\n}\r\n"],"mappings":"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"}
@@ -0,0 +1,268 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, booleanAttribute, inject, input, model, output } from "@angular/core";
3
+ import * as i1 from "@hyalo/angular/core";
4
+ import { HY_CONFIG, HyMaterialDirective } from "@hyalo/angular/core";
5
+ var HyBadge = class HyBadge {
6
+ config = inject(HY_CONFIG);
7
+ tone = input(this.config.tone, ...ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []);
8
+ size = input(this.config.size, ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
9
+ removable = input(false, {
10
+ ...ngDevMode ? { debugName: "removable" } : /* istanbul ignore next */ {},
11
+ transform: booleanAttribute
12
+ });
13
+ removeLabel = input("Remove", ...ngDevMode ? [{ debugName: "removeLabel" }] : /* istanbul ignore next */ []);
14
+ removed = output();
15
+ static ɵfac = i0.ɵɵngDeclareFactory({
16
+ minVersion: "12.0.0",
17
+ version: "22.2.3",
18
+ ngImport: i0,
19
+ type: HyBadge,
20
+ deps: [],
21
+ target: i0.ɵɵFactoryTarget.Component
22
+ });
23
+ static ɵcmp = i0.ɵɵngDeclareComponent({
24
+ minVersion: "17.0.0",
25
+ version: "22.2.3",
26
+ type: HyBadge,
27
+ isStandalone: true,
28
+ selector: "hy-badge",
29
+ inputs: {
30
+ tone: {
31
+ classPropertyName: "tone",
32
+ publicName: "tone",
33
+ isSignal: true,
34
+ isRequired: false,
35
+ transformFunction: null
36
+ },
37
+ size: {
38
+ classPropertyName: "size",
39
+ publicName: "size",
40
+ isSignal: true,
41
+ isRequired: false,
42
+ transformFunction: null
43
+ },
44
+ removable: {
45
+ classPropertyName: "removable",
46
+ publicName: "removable",
47
+ isSignal: true,
48
+ isRequired: false,
49
+ transformFunction: null
50
+ },
51
+ removeLabel: {
52
+ classPropertyName: "removeLabel",
53
+ publicName: "removeLabel",
54
+ isSignal: true,
55
+ isRequired: false,
56
+ transformFunction: null
57
+ }
58
+ },
59
+ outputs: { removed: "removed" },
60
+ host: { properties: {
61
+ "attr.data-tone": "tone()",
62
+ "attr.data-size": "size()"
63
+ } },
64
+ hostDirectives: [{
65
+ directive: i1.HyMaterialDirective,
66
+ inputs: ["hyMaterial", "material"]
67
+ }],
68
+ ngImport: i0,
69
+ template: "<ng-content />\r\n@if (removable()) {\r\n <button type=\"button\" [attr.aria-label]=\"removeLabel()\" (click)=\"removed.emit()\">×</button>\r\n}\r\n",
70
+ styles: [":host{display:inline-flex;align-items:center;gap:var(--hy-space-2);padding:.25em .75em;border-radius:var(--hy-radius-pill);font-size:var(--hy-step--1);color:var(--_tone, var(--hy-ink))}:host([data-tone=\"primary\"]){--_tone: var(--hy-primary)}:host([data-tone=\"secondary\"]){--_tone: var(--hy-secondary, var(--hy-primary))}:host([data-tone=\"success\"]){--_tone: var(--hy-success)}:host([data-tone=\"warning\"]){--_tone: var(--hy-warning)}:host([data-tone=\"danger\"]){--_tone: var(--hy-danger)}:host([data-size=\"sm\"]){font-size:.75rem}:host([data-size=\"lg\"]){font-size:var(--hy-step-0)}button{display:grid;place-items:center;min-inline-size:2rem;min-block-size:2rem;margin-block:-.25em;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--hy-primary);outline-offset:2px}\n"],
71
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
72
+ });
73
+ };
74
+ i0.ɵɵngDeclareClassMetadata({
75
+ minVersion: "12.0.0",
76
+ version: "22.2.3",
77
+ ngImport: i0,
78
+ type: HyBadge,
79
+ decorators: [{
80
+ type: Component,
81
+ args: [{
82
+ selector: "hy-badge",
83
+ changeDetection: ChangeDetectionStrategy.OnPush,
84
+ hostDirectives: [{
85
+ directive: HyMaterialDirective,
86
+ inputs: ["hyMaterial: material"]
87
+ }],
88
+ host: {
89
+ "[attr.data-tone]": "tone()",
90
+ "[attr.data-size]": "size()"
91
+ },
92
+ template: "<ng-content />\r\n@if (removable()) {\r\n <button type=\"button\" [attr.aria-label]=\"removeLabel()\" (click)=\"removed.emit()\">×</button>\r\n}\r\n",
93
+ styles: [":host{display:inline-flex;align-items:center;gap:var(--hy-space-2);padding:.25em .75em;border-radius:var(--hy-radius-pill);font-size:var(--hy-step--1);color:var(--_tone, var(--hy-ink))}:host([data-tone=\"primary\"]){--_tone: var(--hy-primary)}:host([data-tone=\"secondary\"]){--_tone: var(--hy-secondary, var(--hy-primary))}:host([data-tone=\"success\"]){--_tone: var(--hy-success)}:host([data-tone=\"warning\"]){--_tone: var(--hy-warning)}:host([data-tone=\"danger\"]){--_tone: var(--hy-danger)}:host([data-size=\"sm\"]){font-size:.75rem}:host([data-size=\"lg\"]){font-size:var(--hy-step-0)}button{display:grid;place-items:center;min-inline-size:2rem;min-block-size:2rem;margin-block:-.25em;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--hy-primary);outline-offset:2px}\n"]
94
+ }]
95
+ }],
96
+ propDecorators: {
97
+ tone: [{
98
+ type: i0.Input,
99
+ args: [{
100
+ isSignal: true,
101
+ alias: "tone",
102
+ required: false
103
+ }]
104
+ }],
105
+ size: [{
106
+ type: i0.Input,
107
+ args: [{
108
+ isSignal: true,
109
+ alias: "size",
110
+ required: false
111
+ }]
112
+ }],
113
+ removable: [{
114
+ type: i0.Input,
115
+ args: [{
116
+ isSignal: true,
117
+ alias: "removable",
118
+ required: false
119
+ }]
120
+ }],
121
+ removeLabel: [{
122
+ type: i0.Input,
123
+ args: [{
124
+ isSignal: true,
125
+ alias: "removeLabel",
126
+ required: false
127
+ }]
128
+ }],
129
+ removed: [{
130
+ type: i0.Output,
131
+ args: ["removed"]
132
+ }]
133
+ }
134
+ });
135
+ var HyChip = class HyChip {
136
+ config = inject(HY_CONFIG);
137
+ tone = input(this.config.tone, ...ngDevMode ? [{ debugName: "tone" }] : /* istanbul ignore next */ []);
138
+ size = input(this.config.size, ...ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []);
139
+ selected = model(false, ...ngDevMode ? [{ debugName: "selected" }] : /* istanbul ignore next */ []);
140
+ disabled = input(false, {
141
+ ...ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {},
142
+ transform: booleanAttribute
143
+ });
144
+ static ɵfac = i0.ɵɵngDeclareFactory({
145
+ minVersion: "12.0.0",
146
+ version: "22.2.3",
147
+ ngImport: i0,
148
+ type: HyChip,
149
+ deps: [],
150
+ target: i0.ɵɵFactoryTarget.Component
151
+ });
152
+ static ɵcmp = i0.ɵɵngDeclareComponent({
153
+ minVersion: "17.1.0",
154
+ version: "22.2.3",
155
+ type: HyChip,
156
+ isStandalone: true,
157
+ selector: "hy-chip",
158
+ inputs: {
159
+ tone: {
160
+ classPropertyName: "tone",
161
+ publicName: "tone",
162
+ isSignal: true,
163
+ isRequired: false,
164
+ transformFunction: null
165
+ },
166
+ size: {
167
+ classPropertyName: "size",
168
+ publicName: "size",
169
+ isSignal: true,
170
+ isRequired: false,
171
+ transformFunction: null
172
+ },
173
+ selected: {
174
+ classPropertyName: "selected",
175
+ publicName: "selected",
176
+ isSignal: true,
177
+ isRequired: false,
178
+ transformFunction: null
179
+ },
180
+ disabled: {
181
+ classPropertyName: "disabled",
182
+ publicName: "disabled",
183
+ isSignal: true,
184
+ isRequired: false,
185
+ transformFunction: null
186
+ }
187
+ },
188
+ outputs: { selected: "selectedChange" },
189
+ host: { properties: {
190
+ "attr.data-tone": "tone()",
191
+ "attr.data-size": "size()",
192
+ "attr.data-selected": "selected()"
193
+ } },
194
+ hostDirectives: [{
195
+ directive: i1.HyMaterialDirective,
196
+ inputs: ["hyMaterial", "material"]
197
+ }],
198
+ ngImport: i0,
199
+ template: "<button\r\n type=\"button\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-pressed]=\"selected()\"\r\n (click)=\"selected.set(!selected())\"\r\n>\r\n <span class=\"check\" aria-hidden=\"true\">✓</span><ng-content />\r\n</button>\r\n",
200
+ styles: [":host{display:inline-flex;align-items:center;gap:var(--hy-space-2);padding:.25em .75em;border-radius:var(--hy-radius-pill);font-size:var(--hy-step--1);color:var(--_tone, var(--hy-ink))}:host([data-tone=\"primary\"]){--_tone: var(--hy-primary)}:host([data-tone=\"secondary\"]){--_tone: var(--hy-secondary, var(--hy-primary))}:host([data-tone=\"success\"]){--_tone: var(--hy-success)}:host([data-tone=\"warning\"]){--_tone: var(--hy-warning)}:host([data-tone=\"danger\"]){--_tone: var(--hy-danger)}:host([data-size=\"sm\"]){font-size:.75rem}:host([data-size=\"lg\"]){font-size:var(--hy-step-0)}button{display:grid;place-items:center;min-inline-size:2rem;min-block-size:2rem;margin-block:-.25em;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--hy-primary);outline-offset:2px}\n", ":host{padding:0;border-color:var(--hy-line-strong)}button{display:flex;align-items:center;gap:var(--hy-space-2);padding:var(--hy-space-1) var(--hy-space-3);min-block-size:2.25rem;margin:0;border-radius:inherit;transition:background-color var(--hy-dur-quick) ease}:host([data-selected=\"true\"]){outline:1px solid var(--_tone, var(--hy-primary));outline-offset:-1px}:host([data-selected=\"true\"]) button{background:color-mix(in srgb,var(--_tone, var(--hy-primary)) 12%,transparent)}.check{opacity:0;inline-size:.8em}:host([data-selected=\"true\"]) .check{opacity:1}button:disabled{opacity:.5;cursor:default}\n"],
201
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
202
+ });
203
+ };
204
+ i0.ɵɵngDeclareClassMetadata({
205
+ minVersion: "12.0.0",
206
+ version: "22.2.3",
207
+ ngImport: i0,
208
+ type: HyChip,
209
+ decorators: [{
210
+ type: Component,
211
+ args: [{
212
+ selector: "hy-chip",
213
+ changeDetection: ChangeDetectionStrategy.OnPush,
214
+ hostDirectives: [{
215
+ directive: HyMaterialDirective,
216
+ inputs: ["hyMaterial: material"]
217
+ }],
218
+ host: {
219
+ "[attr.data-tone]": "tone()",
220
+ "[attr.data-size]": "size()",
221
+ "[attr.data-selected]": "selected()"
222
+ },
223
+ template: "<button\r\n type=\"button\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-pressed]=\"selected()\"\r\n (click)=\"selected.set(!selected())\"\r\n>\r\n <span class=\"check\" aria-hidden=\"true\">✓</span><ng-content />\r\n</button>\r\n",
224
+ styles: [":host{display:inline-flex;align-items:center;gap:var(--hy-space-2);padding:.25em .75em;border-radius:var(--hy-radius-pill);font-size:var(--hy-step--1);color:var(--_tone, var(--hy-ink))}:host([data-tone=\"primary\"]){--_tone: var(--hy-primary)}:host([data-tone=\"secondary\"]){--_tone: var(--hy-secondary, var(--hy-primary))}:host([data-tone=\"success\"]){--_tone: var(--hy-success)}:host([data-tone=\"warning\"]){--_tone: var(--hy-warning)}:host([data-tone=\"danger\"]){--_tone: var(--hy-danger)}:host([data-size=\"sm\"]){font-size:.75rem}:host([data-size=\"lg\"]){font-size:var(--hy-step-0)}button{display:grid;place-items:center;min-inline-size:2rem;min-block-size:2rem;margin-block:-.25em;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;font:inherit;cursor:pointer}button:focus-visible{outline:2px solid var(--hy-primary);outline-offset:2px}\n", ":host{padding:0;border-color:var(--hy-line-strong)}button{display:flex;align-items:center;gap:var(--hy-space-2);padding:var(--hy-space-1) var(--hy-space-3);min-block-size:2.25rem;margin:0;border-radius:inherit;transition:background-color var(--hy-dur-quick) ease}:host([data-selected=\"true\"]){outline:1px solid var(--_tone, var(--hy-primary));outline-offset:-1px}:host([data-selected=\"true\"]) button{background:color-mix(in srgb,var(--_tone, var(--hy-primary)) 12%,transparent)}.check{opacity:0;inline-size:.8em}:host([data-selected=\"true\"]) .check{opacity:1}button:disabled{opacity:.5;cursor:default}\n"]
225
+ }]
226
+ }],
227
+ propDecorators: {
228
+ tone: [{
229
+ type: i0.Input,
230
+ args: [{
231
+ isSignal: true,
232
+ alias: "tone",
233
+ required: false
234
+ }]
235
+ }],
236
+ size: [{
237
+ type: i0.Input,
238
+ args: [{
239
+ isSignal: true,
240
+ alias: "size",
241
+ required: false
242
+ }]
243
+ }],
244
+ selected: [{
245
+ type: i0.Input,
246
+ args: [{
247
+ isSignal: true,
248
+ alias: "selected",
249
+ required: false
250
+ }]
251
+ }, {
252
+ type: i0.Output,
253
+ args: ["selectedChange"]
254
+ }],
255
+ disabled: [{
256
+ type: i0.Input,
257
+ args: [{
258
+ isSignal: true,
259
+ alias: "disabled",
260
+ required: false
261
+ }]
262
+ }]
263
+ }
264
+ });
265
+ const HY_BADGE = [HyBadge, HyChip];
266
+ export { HY_BADGE, HyBadge, HyChip };
267
+
268
+ //# sourceMappingURL=hyalo-angular-badge.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyalo-angular-badge.mjs","names":[],"sources":["../../../projects/hyalo/badge/badge.ts","../../../projects/hyalo/badge/badge.html","../../../projects/hyalo/badge/chip.html"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n booleanAttribute,\r\n inject,\r\n input,\r\n model,\r\n output,\r\n} from '@angular/core';\r\nimport { HY_CONFIG, HyMaterialDirective, type HySize, type HyTone } from '@hyalo/angular/core';\r\n@Component({\r\n selector: 'hy-badge',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n hostDirectives: [{ directive: HyMaterialDirective, inputs: ['hyMaterial: material'] }],\r\n host: { '[attr.data-tone]': 'tone()', '[attr.data-size]': 'size()' },\r\n templateUrl: './badge.html',\r\n styleUrl: './badge.css',\r\n})\r\nexport class HyBadge {\r\n private readonly config = inject(HY_CONFIG);\r\n readonly tone = input<HyTone>(this.config.tone);\r\n readonly size = input<HySize>(this.config.size);\r\n readonly removable = input(false, { transform: booleanAttribute });\r\n readonly removeLabel = input('Remove');\r\n readonly removed = output<void>();\r\n}\r\n/** A native toggle button for selectable filters. */\r\n@Component({\r\n selector: 'hy-chip',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n hostDirectives: [{ directive: HyMaterialDirective, inputs: ['hyMaterial: material'] }],\r\n host: {\r\n '[attr.data-tone]': 'tone()',\r\n '[attr.data-size]': 'size()',\r\n '[attr.data-selected]': 'selected()',\r\n },\r\n templateUrl: './chip.html',\r\n styleUrls: ['./badge.css', './chip.css'],\r\n})\r\nexport class HyChip {\r\n private readonly config = inject(HY_CONFIG);\r\n readonly tone = input<HyTone>(this.config.tone);\r\n readonly size = input<HySize>(this.config.size);\r\n readonly selected = model(false);\r\n readonly disabled = input(false, { transform: booleanAttribute });\r\n}\r\nexport const HY_BADGE = [HyBadge, HyChip] as const;\r\n","<ng-content />\r\n@if (removable()) {\r\n <button type=\"button\" [attr.aria-label]=\"removeLabel()\" (click)=\"removed.emit()\">×</button>\r\n}\r\n","<button\r\n type=\"button\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-pressed]=\"selected()\"\r\n (click)=\"selected.set(!selected())\"\r\n>\r\n <span class=\"check\" aria-hidden=\"true\">✓</span><ng-content />\r\n</button>\r\n"],"mappings":";;;;AAkBA,IAAa,UAAb,MAAa,QAAO;CACD,SAAS,OAAO,SAAS;CACjC,OAAO,MAAc,KAAK,OAAO,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACtC,OAAO,MAAc,KAAK,OAAO,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACtC,YAAY,MAAM,OAAK;EAAA,GAAA,YAAA,EAAA,WAAA,YAAA,+BAAA,CAAA;EAAI,WAAW;CAAgB,CAAA;CACtD,cAAc,MAAM,UAAS,GAAA,YAAA,CAAA,EAAA,WAAA,cAAA,CAAA,+BAAA,CAAA,CAAA;CAC7B,UAAU,OAAM;CANd,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAO,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAP,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAO,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,MAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,MAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,WAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,aAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,SAAA,EAAA,SAAA,UAAA;EAAA,MAAA,EAAA,YAAA;GAAA,kBAAA;GAAA,kBAAA;EAAA,EAAA;EAAA,gBAAA,CAAA;GAAA,WAAA,GAAA;GAAA,QAAA,CAAA,cAAA,UAAA;EAAA,CAAA;EAAA,UAAA;EAAA,UClBpB;EAIA,QAAA,CAAA,02BAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;ADca,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAO,YAAA,CAAA;EARnB,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAU,iBACH,wBAAwB;GAAM,gBAC/B,CAAC;IAAE,WAAW;IAAqB,QAAQ,CAAC,sBAAsB;GAAC,CAAE;GAAC,MAChF;IAAE,oBAAoB;IAAU,oBAAoB;GAAQ;GAAE,UAAA;GAAA,QAAA,CAAA,02BAAA;EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBtE,IAAa,SAAb,MAAa,OAAM;CACA,SAAS,OAAO,SAAS;CACjC,OAAO,MAAc,KAAK,OAAO,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACtC,OAAO,MAAc,KAAK,OAAO,MAAK,GAAA,YAAA,CAAA,EAAA,WAAA,OAAA,CAAA,+BAAA,CAAA,CAAA;CACtC,WAAW,MAAM,OAAM,GAAA,YAAA,CAAA,EAAA,WAAA,WAAA,CAAA,+BAAA,CAAA,CAAA;CACvB,WAAW,MAAM,OAAK;EAAA,GAAA,YAAA,EAAA,WAAA,WAAA,+BAAA,CAAA;EAAI,WAAW;CAAgB,CAAA;CALnD,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAM,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAN,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAM,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,MAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,MAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,UAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,UAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,SAAA,EAAA,UAAA,iBAAA;EAAA,MAAA,EAAA,YAAA;GAAA,kBAAA;GAAA,kBAAA;GAAA,sBAAA;EAAA,EAAA;EAAA,gBAAA,CAAA;GAAA,WAAA,GAAA;GAAA,QAAA,CAAA,cAAA,UAAA;EAAA,CAAA;EAAA,UAAA;EAAA,UEvCnB;EAQA,QAAA,CAAA,42BAAA,mmBAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;AF+Ba,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAM,YAAA,CAAA;EAZlB,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAS,iBACF,wBAAwB;GAAM,gBAC/B,CAAC;IAAE,WAAW;IAAqB,QAAQ,CAAC,sBAAsB;GAAC,CAAE;GAAC,MAChF;IACJ,oBAAoB;IACpB,oBAAoB;IACpB,wBAAwB;GACzB;GAAA,UAAA;GAAA,QAAA,CAAA,42BAAA,mmBAAA;EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWH,MAAa,WAAW,CAAC,SAAS,MAAM"}
@@ -0,0 +1,132 @@
1
+ import * as i0 from "@angular/core";
2
+ import { ChangeDetectionStrategy, Component, Directive, input, numberAttribute } from "@angular/core";
3
+ var HyBento = class HyBento {
4
+ static ɵfac = i0.ɵɵngDeclareFactory({
5
+ minVersion: "12.0.0",
6
+ version: "22.2.3",
7
+ ngImport: i0,
8
+ type: HyBento,
9
+ deps: [],
10
+ target: i0.ɵɵFactoryTarget.Component
11
+ });
12
+ static ɵcmp = i0.ɵɵngDeclareComponent({
13
+ minVersion: "14.0.0",
14
+ version: "22.2.3",
15
+ type: HyBento,
16
+ isStandalone: true,
17
+ selector: "hy-bento",
18
+ ngImport: i0,
19
+ template: "<div class=\"grid\"><ng-content /></div>\r\n",
20
+ styles: [":host{display:block;container-type:inline-size}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hy-space-4)}@container (max-width:38rem){.grid{grid-template-columns:minmax(0,1fr);--hy-bento-span: 1}}\n"],
21
+ changeDetection: i0.ChangeDetectionStrategy.OnPush
22
+ });
23
+ };
24
+ i0.ɵɵngDeclareClassMetadata({
25
+ minVersion: "12.0.0",
26
+ version: "22.2.3",
27
+ ngImport: i0,
28
+ type: HyBento,
29
+ decorators: [{
30
+ type: Component,
31
+ args: [{
32
+ selector: "hy-bento",
33
+ changeDetection: ChangeDetectionStrategy.OnPush,
34
+ template: "<div class=\"grid\"><ng-content /></div>\r\n",
35
+ styles: [":host{display:block;container-type:inline-size}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--hy-space-4)}@container (max-width:38rem){.grid{grid-template-columns:minmax(0,1fr);--hy-bento-span: 1}}\n"]
36
+ }]
37
+ }]
38
+ });
39
+ var HyBentoTile = class HyBentoTile {
40
+ columns = input(1, {
41
+ ...ngDevMode ? { debugName: "columns" } : /* istanbul ignore next */ {},
42
+ transform: numberAttribute
43
+ });
44
+ rows = input(1, {
45
+ ...ngDevMode ? { debugName: "rows" } : /* istanbul ignore next */ {},
46
+ transform: numberAttribute
47
+ });
48
+ get safeColumns() {
49
+ return Math.min(3, Math.max(1, Math.floor(this.columns()) || 1));
50
+ }
51
+ get safeRows() {
52
+ return Math.min(6, Math.max(1, Math.floor(this.rows()) || 1));
53
+ }
54
+ static ɵfac = i0.ɵɵngDeclareFactory({
55
+ minVersion: "12.0.0",
56
+ version: "22.2.3",
57
+ ngImport: i0,
58
+ type: HyBentoTile,
59
+ deps: [],
60
+ target: i0.ɵɵFactoryTarget.Directive
61
+ });
62
+ static ɵdir = i0.ɵɵngDeclareDirective({
63
+ minVersion: "17.1.0",
64
+ version: "22.2.3",
65
+ type: HyBentoTile,
66
+ isStandalone: true,
67
+ selector: "[hyBentoTile]",
68
+ inputs: {
69
+ columns: {
70
+ classPropertyName: "columns",
71
+ publicName: "columns",
72
+ isSignal: true,
73
+ isRequired: false,
74
+ transformFunction: null
75
+ },
76
+ rows: {
77
+ classPropertyName: "rows",
78
+ publicName: "rows",
79
+ isSignal: true,
80
+ isRequired: false,
81
+ transformFunction: null
82
+ }
83
+ },
84
+ host: { properties: {
85
+ "style.--hy-bento-columns": "safeColumns",
86
+ "style.grid-row": "\"span \"+safeRows",
87
+ "style.grid-column": "\"span var(--hy-bento-span, \"+safeColumns+\")\"",
88
+ "style.min-inline-size": "\"0\""
89
+ } },
90
+ ngImport: i0
91
+ });
92
+ };
93
+ i0.ɵɵngDeclareClassMetadata({
94
+ minVersion: "12.0.0",
95
+ version: "22.2.3",
96
+ ngImport: i0,
97
+ type: HyBentoTile,
98
+ decorators: [{
99
+ type: Directive,
100
+ args: [{
101
+ selector: "[hyBentoTile]",
102
+ host: {
103
+ "[style.--hy-bento-columns]": "safeColumns",
104
+ "[style.grid-row]": "\"span \"+safeRows",
105
+ "[style.grid-column]": "\"span var(--hy-bento-span, \"+safeColumns+\")\"",
106
+ "[style.min-inline-size]": "\"0\""
107
+ }
108
+ }]
109
+ }],
110
+ propDecorators: {
111
+ columns: [{
112
+ type: i0.Input,
113
+ args: [{
114
+ isSignal: true,
115
+ alias: "columns",
116
+ required: false
117
+ }]
118
+ }],
119
+ rows: [{
120
+ type: i0.Input,
121
+ args: [{
122
+ isSignal: true,
123
+ alias: "rows",
124
+ required: false
125
+ }]
126
+ }]
127
+ }
128
+ });
129
+ const HY_BENTO = [HyBento, HyBentoTile];
130
+ export { HY_BENTO, HyBento, HyBentoTile };
131
+
132
+ //# sourceMappingURL=hyalo-angular-bento.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyalo-angular-bento.mjs","names":[],"sources":["../../../projects/hyalo/bento/bento.ts","../../../projects/hyalo/bento/bento.html"],"sourcesContent":["import {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n input,\r\n numberAttribute,\r\n} from '@angular/core';\r\n@Component({\r\n selector: 'hy-bento',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n templateUrl: './bento.html',\r\n styleUrl: './bento.css',\r\n})\r\nexport class HyBento {}\r\n@Directive({\r\n selector: '[hyBentoTile]',\r\n host: {\r\n '[style.--hy-bento-columns]': 'safeColumns',\r\n '[style.grid-row]': '\"span \"+safeRows',\r\n '[style.grid-column]': '\"span var(--hy-bento-span, \"+safeColumns+\")\"',\r\n '[style.min-inline-size]': '\"0\"',\r\n },\r\n})\r\nexport class HyBentoTile {\r\n readonly columns = input(1, { transform: numberAttribute });\r\n readonly rows = input(1, { transform: numberAttribute });\r\n get safeColumns(): number {\r\n return Math.min(3, Math.max(1, Math.floor(this.columns()) || 1));\r\n }\r\n get safeRows(): number {\r\n return Math.min(6, Math.max(1, Math.floor(this.rows()) || 1));\r\n }\r\n}\r\nexport const HY_BENTO = [HyBento, HyBentoTile] as const;\r\n","<div class=\"grid\"><ng-content /></div>\r\n"],"mappings":";;AAaA,IAAa,UAAb,MAAa,QAAO;CAAP,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAO,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAP,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAO,cAAA;EAAA,UAAA;EAAA,UAAA;EAAA,UCbpB;EACA,QAAA,CAAA,qOAAA;EAAA,iBAAA,GAAA,wBAAA;CAAA,CAAA;;ADYa,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAO,YAAA,CAAA;EANnB,MAAA;EACW,MAAA,CAAA;GAAA,UAAA;GAAU,iBACH,wBAAwB;GAAM,UAAA;GAAA,QAAA,CAAA,qOAAA;EAAA,CAAA;;;AAcjD,IAAa,cAAb,MAAa,YAAW;CACb,UAAU,MAAM,GAAC;EAAA,GAAA,YAAA,EAAA,WAAA,UAAA,+BAAA,CAAA;EAAI,WAAW;CAAe,CAAA;CAC/C,OAAO,MAAM,GAAC;EAAA,GAAA,YAAA,EAAA,WAAA,OAAA,+BAAA,CAAA;EAAI,WAAW;CAAe,CAAA;CACrD,IAAI,cAAW;EACb,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,QAAO,CAAE,KAAK,CAAC,CAAC;CACjE;CACA,IAAI,WAAQ;EACV,OAAO,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,KAAI,CAAE,KAAK,CAAC,CAAC;CAC9D;CARW,OAAA,OAAA,GAAA,mBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,UAAA;EAAA,MAAA;EAAW,MAAA,CAAA;EAAA,QAAA,GAAA,gBAAA;CAAA,CAAA;CAAX,OAAA,OAAA,GAAA,qBAAA;EAAA,YAAA;EAAA,SAAA;EAAA,MAAA;EAAW,cAAA;EAAA,UAAA;EAAA,QAAA;GAAA,SAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;GAAA,MAAA;IAAA,mBAAA;IAAA,YAAA;IAAA,UAAA;IAAA,YAAA;IAAA,mBAAA;GAAA;EAAA;EAAA,MAAA,EAAA,YAAA;GAAA,4BAAA;GAAA,kBAAA;GAAA,qBAAA;GAAA,yBAAA;EAAA,EAAA;EAAA,UAAA;CAAA,CAAA;;AAAX,GAAA,yBAAA;CAAA,YAAA;CAAA,SAAA;CAAA,UAAA;CAAA,MAAA;CAAW,YAAA,CAAA;EATvB,MAAA;EAAU,MAAA,CAAA;GACT,UAAU;GACV,MAAM;IACJ,8BAA8B;IAC9B,oBAAoB;IACpB,uBAAuB;IACvB,2BAA2B;GAC5B;EACF,CAAA;;;;;;;;;;;;;;;;;;;;;AAWD,MAAa,WAAW,CAAC,SAAS,WAAW"}