yukit-web 0.0.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 (196) hide show
  1. package/.npm/_logs/2026-08-20T08_40_55_706Z-debug-0.log +38 -0
  2. package/.npm/_logs/2026-08-20T08_40_56_280Z-debug-0.log +14 -0
  3. package/README.md +1465 -0
  4. package/fesm2022/yukit-web-helm-accordion.mjs +141 -0
  5. package/fesm2022/yukit-web-helm-accordion.mjs.map +1 -0
  6. package/fesm2022/yukit-web-helm-alert-dialog.mjs +250 -0
  7. package/fesm2022/yukit-web-helm-alert-dialog.mjs.map +1 -0
  8. package/fesm2022/yukit-web-helm-alert.mjs +94 -0
  9. package/fesm2022/yukit-web-helm-alert.mjs.map +1 -0
  10. package/fesm2022/yukit-web-helm-aspect-ratio.mjs +47 -0
  11. package/fesm2022/yukit-web-helm-aspect-ratio.mjs.map +1 -0
  12. package/fesm2022/yukit-web-helm-attachment.mjs +211 -0
  13. package/fesm2022/yukit-web-helm-attachment.mjs.map +1 -0
  14. package/fesm2022/yukit-web-helm-autocomplete.mjs +361 -0
  15. package/fesm2022/yukit-web-helm-autocomplete.mjs.map +1 -0
  16. package/fesm2022/yukit-web-helm-avatar.mjs +152 -0
  17. package/fesm2022/yukit-web-helm-avatar.mjs.map +1 -0
  18. package/fesm2022/yukit-web-helm-badge.mjs +47 -0
  19. package/fesm2022/yukit-web-helm-badge.mjs.map +1 -0
  20. package/fesm2022/yukit-web-helm-breadcrumb.mjs +196 -0
  21. package/fesm2022/yukit-web-helm-breadcrumb.mjs.map +1 -0
  22. package/fesm2022/yukit-web-helm-bubble.mjs +121 -0
  23. package/fesm2022/yukit-web-helm-bubble.mjs.map +1 -0
  24. package/fesm2022/yukit-web-helm-button-group.mjs +86 -0
  25. package/fesm2022/yukit-web-helm-button-group.mjs.map +1 -0
  26. package/fesm2022/yukit-web-helm-button.mjs +77 -0
  27. package/fesm2022/yukit-web-helm-button.mjs.map +1 -0
  28. package/fesm2022/yukit-web-helm-calendar.mjs +937 -0
  29. package/fesm2022/yukit-web-helm-calendar.mjs.map +1 -0
  30. package/fesm2022/yukit-web-helm-card.mjs +141 -0
  31. package/fesm2022/yukit-web-helm-card.mjs.map +1 -0
  32. package/fesm2022/yukit-web-helm-carousel.mjs +270 -0
  33. package/fesm2022/yukit-web-helm-carousel.mjs.map +1 -0
  34. package/fesm2022/yukit-web-helm-checkbox.mjs +147 -0
  35. package/fesm2022/yukit-web-helm-checkbox.mjs.map +1 -0
  36. package/fesm2022/yukit-web-helm-collapsible.mjs +62 -0
  37. package/fesm2022/yukit-web-helm-collapsible.mjs.map +1 -0
  38. package/fesm2022/yukit-web-helm-combobox.mjs +624 -0
  39. package/fesm2022/yukit-web-helm-combobox.mjs.map +1 -0
  40. package/fesm2022/yukit-web-helm-command.mjs +315 -0
  41. package/fesm2022/yukit-web-helm-command.mjs.map +1 -0
  42. package/fesm2022/yukit-web-helm-context-menu.mjs +71 -0
  43. package/fesm2022/yukit-web-helm-context-menu.mjs.map +1 -0
  44. package/fesm2022/yukit-web-helm-date-picker.mjs +1517 -0
  45. package/fesm2022/yukit-web-helm-date-picker.mjs.map +1 -0
  46. package/fesm2022/yukit-web-helm-dialog.mjs +271 -0
  47. package/fesm2022/yukit-web-helm-dialog.mjs.map +1 -0
  48. package/fesm2022/yukit-web-helm-drawer.mjs +233 -0
  49. package/fesm2022/yukit-web-helm-drawer.mjs.map +1 -0
  50. package/fesm2022/yukit-web-helm-dropdown-menu.mjs +508 -0
  51. package/fesm2022/yukit-web-helm-dropdown-menu.mjs.map +1 -0
  52. package/fesm2022/yukit-web-helm-empty.mjs +125 -0
  53. package/fesm2022/yukit-web-helm-empty.mjs.map +1 -0
  54. package/fesm2022/yukit-web-helm-field.mjs +325 -0
  55. package/fesm2022/yukit-web-helm-field.mjs.map +1 -0
  56. package/fesm2022/yukit-web-helm-hover-card.mjs +102 -0
  57. package/fesm2022/yukit-web-helm-hover-card.mjs.map +1 -0
  58. package/fesm2022/yukit-web-helm-input-group.mjs +171 -0
  59. package/fesm2022/yukit-web-helm-input-group.mjs.map +1 -0
  60. package/fesm2022/yukit-web-helm-input-otp.mjs +127 -0
  61. package/fesm2022/yukit-web-helm-input-otp.mjs.map +1 -0
  62. package/fesm2022/yukit-web-helm-input.mjs +32 -0
  63. package/fesm2022/yukit-web-helm-input.mjs.map +1 -0
  64. package/fesm2022/yukit-web-helm-item.mjs +242 -0
  65. package/fesm2022/yukit-web-helm-item.mjs.map +1 -0
  66. package/fesm2022/yukit-web-helm-kbd.mjs +46 -0
  67. package/fesm2022/yukit-web-helm-kbd.mjs.map +1 -0
  68. package/fesm2022/yukit-web-helm-label.mjs +30 -0
  69. package/fesm2022/yukit-web-helm-label.mjs.map +1 -0
  70. package/fesm2022/yukit-web-helm-marker.mjs +77 -0
  71. package/fesm2022/yukit-web-helm-marker.mjs.map +1 -0
  72. package/fesm2022/yukit-web-helm-menubar.mjs +90 -0
  73. package/fesm2022/yukit-web-helm-menubar.mjs.map +1 -0
  74. package/fesm2022/yukit-web-helm-message.mjs +115 -0
  75. package/fesm2022/yukit-web-helm-message.mjs.map +1 -0
  76. package/fesm2022/yukit-web-helm-native-select.mjs +180 -0
  77. package/fesm2022/yukit-web-helm-native-select.mjs.map +1 -0
  78. package/fesm2022/yukit-web-helm-navigation-menu.mjs +173 -0
  79. package/fesm2022/yukit-web-helm-navigation-menu.mjs.map +1 -0
  80. package/fesm2022/yukit-web-helm-pagination.mjs +745 -0
  81. package/fesm2022/yukit-web-helm-pagination.mjs.map +1 -0
  82. package/fesm2022/yukit-web-helm-popover.mjs +136 -0
  83. package/fesm2022/yukit-web-helm-popover.mjs.map +1 -0
  84. package/fesm2022/yukit-web-helm-progress.mjs +60 -0
  85. package/fesm2022/yukit-web-helm-progress.mjs.map +1 -0
  86. package/fesm2022/yukit-web-helm-radio-group.mjs +185 -0
  87. package/fesm2022/yukit-web-helm-radio-group.mjs.map +1 -0
  88. package/fesm2022/yukit-web-helm-resizable.mjs +98 -0
  89. package/fesm2022/yukit-web-helm-resizable.mjs.map +1 -0
  90. package/fesm2022/yukit-web-helm-scroll-area.mjs +36 -0
  91. package/fesm2022/yukit-web-helm-scroll-area.mjs.map +1 -0
  92. package/fesm2022/yukit-web-helm-select.mjs +412 -0
  93. package/fesm2022/yukit-web-helm-select.mjs.map +1 -0
  94. package/fesm2022/yukit-web-helm-separator.mjs +33 -0
  95. package/fesm2022/yukit-web-helm-separator.mjs.map +1 -0
  96. package/fesm2022/yukit-web-helm-sheet.mjs +254 -0
  97. package/fesm2022/yukit-web-helm-sheet.mjs.map +1 -0
  98. package/fesm2022/yukit-web-helm-sidebar.mjs +857 -0
  99. package/fesm2022/yukit-web-helm-sidebar.mjs.map +1 -0
  100. package/fesm2022/yukit-web-helm-skeleton.mjs +29 -0
  101. package/fesm2022/yukit-web-helm-skeleton.mjs.map +1 -0
  102. package/fesm2022/yukit-web-helm-slider.mjs +123 -0
  103. package/fesm2022/yukit-web-helm-slider.mjs.map +1 -0
  104. package/fesm2022/yukit-web-helm-sonner.mjs +126 -0
  105. package/fesm2022/yukit-web-helm-sonner.mjs.map +1 -0
  106. package/fesm2022/yukit-web-helm-spinner.mjs +48 -0
  107. package/fesm2022/yukit-web-helm-spinner.mjs.map +1 -0
  108. package/fesm2022/yukit-web-helm-switch.mjs +126 -0
  109. package/fesm2022/yukit-web-helm-switch.mjs.map +1 -0
  110. package/fesm2022/yukit-web-helm-table.mjs +180 -0
  111. package/fesm2022/yukit-web-helm-table.mjs.map +1 -0
  112. package/fesm2022/yukit-web-helm-tabs.mjs +251 -0
  113. package/fesm2022/yukit-web-helm-tabs.mjs.map +1 -0
  114. package/fesm2022/yukit-web-helm-textarea.mjs +32 -0
  115. package/fesm2022/yukit-web-helm-textarea.mjs.map +1 -0
  116. package/fesm2022/yukit-web-helm-toggle-group.mjs +95 -0
  117. package/fesm2022/yukit-web-helm-toggle-group.mjs.map +1 -0
  118. package/fesm2022/yukit-web-helm-toggle.mjs +61 -0
  119. package/fesm2022/yukit-web-helm-toggle.mjs.map +1 -0
  120. package/fesm2022/yukit-web-helm-tooltip.mjs +57 -0
  121. package/fesm2022/yukit-web-helm-tooltip.mjs.map +1 -0
  122. package/fesm2022/yukit-web-helm-typography.mjs +205 -0
  123. package/fesm2022/yukit-web-helm-typography.mjs.map +1 -0
  124. package/fesm2022/yukit-web-helm-utils.mjs +272 -0
  125. package/fesm2022/yukit-web-helm-utils.mjs.map +1 -0
  126. package/fesm2022/yukit-web.mjs +3592 -0
  127. package/fesm2022/yukit-web.mjs.map +1 -0
  128. package/package.json +291 -0
  129. package/src/lib/theme/spartan-overwrites/accordion.css +4 -0
  130. package/src/lib/theme/theme.css +161 -0
  131. package/src/lib/theme/tokens/color.css +356 -0
  132. package/src/lib/theme/tokens/component-colors.css +167 -0
  133. package/src/lib/theme/tokens/radius.css +18 -0
  134. package/src/lib/theme/tokens/typography.css +201 -0
  135. package/types/yukit-web-helm-accordion.d.ts +32 -0
  136. package/types/yukit-web-helm-alert-dialog.d.ts +85 -0
  137. package/types/yukit-web-helm-alert.d.ts +37 -0
  138. package/types/yukit-web-helm-aspect-ratio.d.ts +16 -0
  139. package/types/yukit-web-helm-attachment.d.ts +80 -0
  140. package/types/yukit-web-helm-autocomplete.d.ts +91 -0
  141. package/types/yukit-web-helm-avatar.d.ts +45 -0
  142. package/types/yukit-web-helm-badge.d.ts +19 -0
  143. package/types/yukit-web-helm-breadcrumb.d.ts +52 -0
  144. package/types/yukit-web-helm-bubble.d.ts +46 -0
  145. package/types/yukit-web-helm-button-group.d.ts +25 -0
  146. package/types/yukit-web-helm-button.d.ts +33 -0
  147. package/types/yukit-web-helm-calendar.d.ts +89 -0
  148. package/types/yukit-web-helm-card.d.ts +49 -0
  149. package/types/yukit-web-helm-carousel.d.ts +79 -0
  150. package/types/yukit-web-helm-checkbox.d.ts +60 -0
  151. package/types/yukit-web-helm-collapsible.d.ts +22 -0
  152. package/types/yukit-web-helm-combobox.d.ts +150 -0
  153. package/types/yukit-web-helm-command.d.ts +84 -0
  154. package/types/yukit-web-helm-context-menu.d.ts +29 -0
  155. package/types/yukit-web-helm-date-picker.d.ts +574 -0
  156. package/types/yukit-web-helm-dialog.d.ts +90 -0
  157. package/types/yukit-web-helm-drawer.d.ts +71 -0
  158. package/types/yukit-web-helm-dropdown-menu.d.ts +171 -0
  159. package/types/yukit-web-helm-empty.d.ts +49 -0
  160. package/types/yukit-web-helm-field.d.ts +102 -0
  161. package/types/yukit-web-helm-hover-card.d.ts +31 -0
  162. package/types/yukit-web-helm-input-group.d.ts +47 -0
  163. package/types/yukit-web-helm-input-otp.d.ts +40 -0
  164. package/types/yukit-web-helm-input.d.ts +13 -0
  165. package/types/yukit-web-helm-item.d.ts +96 -0
  166. package/types/yukit-web-helm-kbd.d.ts +17 -0
  167. package/types/yukit-web-helm-label.d.ts +12 -0
  168. package/types/yukit-web-helm-marker.d.ts +31 -0
  169. package/types/yukit-web-helm-menubar.d.ts +35 -0
  170. package/types/yukit-web-helm-message.d.ts +44 -0
  171. package/types/yukit-web-helm-native-select.d.ts +65 -0
  172. package/types/yukit-web-helm-navigation-menu.d.ts +49 -0
  173. package/types/yukit-web-helm-pagination.d.ts +187 -0
  174. package/types/yukit-web-helm-popover.d.ts +49 -0
  175. package/types/yukit-web-helm-progress.d.ts +22 -0
  176. package/types/yukit-web-helm-radio-group.d.ts +66 -0
  177. package/types/yukit-web-helm-resizable.d.ts +27 -0
  178. package/types/yukit-web-helm-scroll-area.d.ts +11 -0
  179. package/types/yukit-web-helm-select.d.ts +114 -0
  180. package/types/yukit-web-helm-separator.d.ts +13 -0
  181. package/types/yukit-web-helm-sheet.d.ts +75 -0
  182. package/types/yukit-web-helm-sidebar.d.ts +232 -0
  183. package/types/yukit-web-helm-skeleton.d.ts +11 -0
  184. package/types/yukit-web-helm-slider.d.ts +14 -0
  185. package/types/yukit-web-helm-sonner.d.ts +52 -0
  186. package/types/yukit-web-helm-spinner.d.ts +18 -0
  187. package/types/yukit-web-helm-switch.d.ts +54 -0
  188. package/types/yukit-web-helm-table.d.ts +82 -0
  189. package/types/yukit-web-helm-tabs.d.ts +66 -0
  190. package/types/yukit-web-helm-textarea.d.ts +13 -0
  191. package/types/yukit-web-helm-toggle-group.d.ts +34 -0
  192. package/types/yukit-web-helm-toggle.d.ts +22 -0
  193. package/types/yukit-web-helm-tooltip.d.ts +17 -0
  194. package/types/yukit-web-helm-typography.d.ts +89 -0
  195. package/types/yukit-web-helm-utils.d.ts +44 -0
  196. package/types/yukit-web.d.ts +2426 -0
@@ -0,0 +1,47 @@
1
+ import { coerceNumberProperty } from '@angular/cdk/coercion';
2
+ import * as i0 from '@angular/core';
3
+ import { input, Directive } from '@angular/core';
4
+ import { classes } from 'yukit-web/helm/utils';
5
+
6
+ const parseDividedString = (value) => {
7
+ if (typeof value !== 'string' || !value.includes('/'))
8
+ return value;
9
+ return value
10
+ .split('/')
11
+ .map((v) => Number.parseInt(v, 10))
12
+ .reduce((a, b) => a / b);
13
+ };
14
+ class HlmAspectRatio {
15
+ constructor() {
16
+ /**
17
+ * Aspect ratio of the element, defined as width / height.
18
+ */
19
+ this.ratio = input(1, { ...(ngDevMode ? { debugName: "ratio" } : /* istanbul ignore next */ {}), alias: 'hlmAspectRatio',
20
+ transform: (value) => {
21
+ const coerced = coerceNumberProperty(parseDividedString(value));
22
+ return coerced <= 0 ? 1 : coerced;
23
+ } });
24
+ classes(() => 'relative aspect-(--ratio)');
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAspectRatio, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmAspectRatio, isStandalone: true, selector: "[hlmAspectRatio]", inputs: { ratio: { classPropertyName: "ratio", publicName: "hlmAspectRatio", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "aspect-ratio" }, properties: { "style.--ratio": "ratio()" } }, ngImport: i0 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAspectRatio, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: '[hlmAspectRatio]',
33
+ host: {
34
+ 'data-slot': 'aspect-ratio',
35
+ '[style.--ratio]': 'ratio()',
36
+ },
37
+ }]
38
+ }], ctorParameters: () => [], propDecorators: { ratio: [{ type: i0.Input, args: [{ isSignal: true, alias: "hlmAspectRatio", required: false }] }] } });
39
+
40
+ const HlmAspectRatioImports = [HlmAspectRatio];
41
+
42
+ /**
43
+ * Generated bundle index. Do not edit.
44
+ */
45
+
46
+ export { HlmAspectRatio, HlmAspectRatioImports };
47
+ //# sourceMappingURL=yukit-web-helm-aspect-ratio.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-aspect-ratio.mjs","sources":["../../../projects/yukit-web/helm/aspect-ratio/src/lib/hlm-aspect-ratio.ts","../../../projects/yukit-web/helm/aspect-ratio/src/index.ts","../../../projects/yukit-web/helm/aspect-ratio/src/yukit-web-helm-aspect-ratio.ts"],"sourcesContent":["import { type NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\nimport { Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\nconst parseDividedString = (value: NumberInput): NumberInput => {\n\tif (typeof value !== 'string' || !value.includes('/')) return value;\n\treturn value\n\t\t.split('/')\n\t\t.map((v) => Number.parseInt(v, 10))\n\t\t.reduce((a, b) => a / b);\n};\n\n@Directive({\n\tselector: '[hlmAspectRatio]',\n\thost: {\n\t\t'data-slot': 'aspect-ratio',\n\t\t'[style.--ratio]': 'ratio()',\n\t},\n})\nexport class HlmAspectRatio {\n\t/**\n\t * Aspect ratio of the element, defined as width / height.\n\t */\n\tpublic readonly ratio = input<number, NumberInput>(1, {\n\t\talias: 'hlmAspectRatio',\n\t\ttransform: (value: NumberInput) => {\n\t\t\tconst coerced = coerceNumberProperty(parseDividedString(value));\n\t\t\treturn coerced <= 0 ? 1 : coerced;\n\t\t},\n\t});\n\n\tconstructor() {\n\t\tclasses(() => 'relative aspect-(--ratio)');\n\t}\n}\n","import { HlmAspectRatio } from './lib/hlm-aspect-ratio';\n\nexport * from './lib/hlm-aspect-ratio';\n\nexport const HlmAspectRatioImports = [HlmAspectRatio] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAIA,MAAM,kBAAkB,GAAG,CAAC,KAAkB,KAAiB;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC;AAAE,QAAA,OAAO,KAAK;AACnE,IAAA,OAAO;SACL,KAAK,CAAC,GAAG;AACT,SAAA,GAAG,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC;AACjC,SAAA,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC;MASY,cAAc,CAAA;AAY1B,IAAA,WAAA,GAAA;AAXA;;AAEG;AACa,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAsB,CAAC,EAAA,EAAA,IAAA,SAAA,GAAA,EAAA,SAAA,EAAA,OAAA,EAAA,8BAAA,EAAA,CAAA,EACnD,KAAK,EAAE,gBAAgB;AACvB,YAAA,SAAS,EAAE,CAAC,KAAkB,KAAI;gBACjC,MAAM,OAAO,GAAG,oBAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBAC/D,OAAO,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,OAAO;AAClC,YAAA,CAAC,GACA;AAGD,QAAA,OAAO,CAAC,MAAM,2BAA2B,CAAC;IAC3C;8GAdY,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAd,cAAc,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,gBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,cAAA,EAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,SAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAd,cAAc,EAAA,UAAA,EAAA,CAAA;kBAP1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACL,wBAAA,WAAW,EAAE,cAAc;AAC3B,wBAAA,iBAAiB,EAAE,SAAS;AAC5B,qBAAA;AACD,iBAAA;;;ACdM,MAAM,qBAAqB,GAAG,CAAC,cAAc;;ACJpD;;AAEG;;;;"}
@@ -0,0 +1,211 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Directive, inject, ElementRef, computed } from '@angular/core';
3
+ import { classes } from 'yukit-web/helm/utils';
4
+ import { cva } from 'class-variance-authority';
5
+ import * as i1 from 'yukit-web/helm/button';
6
+ import { provideBrnButtonConfig, HlmButton } from 'yukit-web/helm/button';
7
+
8
+ const attachmentVariants = cva('bg-card text-card-foreground rounded-xl border group/attachment focus-within:ring-ring/50 has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive/30 relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap transition-colors focus-within:ring-1 data-[state=idle]:border-dashed', {
9
+ variants: {
10
+ size: {
11
+ default: 'gap-2 text-sm has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2',
12
+ sm: 'gap-2.5 text-xs has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5',
13
+ xs: 'rounded-lg gap-1.5 text-xs has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1',
14
+ },
15
+ orientation: {
16
+ horizontal: 'min-w-40 items-center',
17
+ vertical: 'w-24 flex-col has-data-[slot=attachment-content]:w-30',
18
+ },
19
+ },
20
+ defaultVariants: {
21
+ size: 'default',
22
+ orientation: 'horizontal',
23
+ },
24
+ });
25
+ class HlmAttachment {
26
+ constructor() {
27
+ this.state = input('done', ...(ngDevMode ? [{ debugName: "state" }] : /* istanbul ignore next */ []));
28
+ this.size = input('default', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
29
+ this.orientation = input('horizontal', ...(ngDevMode ? [{ debugName: "orientation" }] : /* istanbul ignore next */ []));
30
+ classes(() => attachmentVariants({ size: this.size(), orientation: this.orientation() }));
31
+ }
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachment, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
33
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmAttachment, isStandalone: true, selector: "[hlmAttachment],hlm-attachment", inputs: { state: { classPropertyName: "state", publicName: "state", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "attachment" }, properties: { "attr.data-state": "state()", "attr.data-size": "size()", "attr.data-orientation": "orientation()" } }, ngImport: i0 }); }
34
+ }
35
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachment, decorators: [{
36
+ type: Directive,
37
+ args: [{
38
+ selector: '[hlmAttachment],hlm-attachment',
39
+ host: {
40
+ 'data-slot': 'attachment',
41
+ '[attr.data-state]': 'state()',
42
+ '[attr.data-size]': 'size()',
43
+ '[attr.data-orientation]': 'orientation()',
44
+ },
45
+ }]
46
+ }], ctorParameters: () => [], propDecorators: { state: [{ type: i0.Input, args: [{ isSignal: true, alias: "state", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], orientation: [{ type: i0.Input, args: [{ isSignal: true, alias: "orientation", required: false }] }] } });
47
+
48
+ class HlmAttachmentAction {
49
+ constructor() {
50
+ this.type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
51
+ }
52
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentAction, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
53
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmAttachmentAction, isStandalone: true, selector: "button[hlmAttachmentAction]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "attachment-action" }, properties: { "type": "type()" } }, providers: [provideBrnButtonConfig({ variant: 'ghost', size: 'icon-xs' })], hostDirectives: [{ directive: i1.HlmButton, inputs: ["variant", "variant", "size", "size"] }], ngImport: i0 }); }
54
+ }
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentAction, decorators: [{
56
+ type: Directive,
57
+ args: [{
58
+ selector: 'button[hlmAttachmentAction]',
59
+ providers: [provideBrnButtonConfig({ variant: 'ghost', size: 'icon-xs' })],
60
+ hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
61
+ host: {
62
+ 'data-slot': 'attachment-action',
63
+ '[type]': 'type()',
64
+ },
65
+ }]
66
+ }], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });
67
+
68
+ class HlmAttachmentActions {
69
+ constructor() {
70
+ classes(() => 'shrink-0 items-center relative z-20 flex group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:end-3 group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:gap-1');
71
+ }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmAttachmentActions, isStandalone: true, selector: "[hlmAttachmentActions],hlm-attachment-actions", host: { attributes: { "data-slot": "attachment-actions" } }, ngImport: i0 }); }
74
+ }
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentActions, decorators: [{
76
+ type: Directive,
77
+ args: [{
78
+ selector: '[hlmAttachmentActions],hlm-attachment-actions',
79
+ host: { 'data-slot': 'attachment-actions' },
80
+ }]
81
+ }], ctorParameters: () => [] });
82
+
83
+ class HlmAttachmentContent {
84
+ constructor() {
85
+ classes(() => 'min-w-0 flex-1 leading-tight max-w-full group-data-[orientation=vertical]/attachment:px-1');
86
+ }
87
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
88
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmAttachmentContent, isStandalone: true, selector: "[hlmAttachmentContent],hlm-attachment-content", host: { attributes: { "data-slot": "attachment-content" } }, ngImport: i0 }); }
89
+ }
90
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentContent, decorators: [{
91
+ type: Directive,
92
+ args: [{
93
+ selector: '[hlmAttachmentContent],hlm-attachment-content',
94
+ host: { 'data-slot': 'attachment-content' },
95
+ }]
96
+ }], ctorParameters: () => [] });
97
+
98
+ class HlmAttachmentDescription {
99
+ constructor() {
100
+ classes(() => 'text-muted-foreground mt-0.5 truncate text-xs group-data-[state=error]/attachment:text-destructive/80 block max-w-full min-w-0');
101
+ }
102
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
103
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmAttachmentDescription, isStandalone: true, selector: "[hlmAttachmentDescription],hlm-attachment-description", host: { attributes: { "data-slot": "attachment-description" } }, ngImport: i0 }); }
104
+ }
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentDescription, decorators: [{
106
+ type: Directive,
107
+ args: [{
108
+ selector: '[hlmAttachmentDescription],hlm-attachment-description',
109
+ host: { 'data-slot': 'attachment-description' },
110
+ }]
111
+ }], ctorParameters: () => [] });
112
+
113
+ class HlmAttachmentGroup {
114
+ constructor() {
115
+ classes(() => 'scroll-fade-x no-scrollbar flex min-w-0 snap-x snap-mandatory scroll-px-1 gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start');
116
+ }
117
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
118
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmAttachmentGroup, isStandalone: true, selector: "[hlmAttachmentGroup],hlm-attachment-group", host: { attributes: { "data-slot": "attachment-group" } }, ngImport: i0 }); }
119
+ }
120
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentGroup, decorators: [{
121
+ type: Directive,
122
+ args: [{
123
+ selector: '[hlmAttachmentGroup],hlm-attachment-group',
124
+ host: { 'data-slot': 'attachment-group' },
125
+ }]
126
+ }], ctorParameters: () => [] });
127
+
128
+ const attachmentMediaVariants = cva("bg-muted text-foreground w-10 rounded-lg group-data-[state=error]/attachment:bg-destructive/10 group-data-[state=error]/attachment:text-destructive relative flex aspect-square shrink-0 items-center justify-center overflow-hidden group-data-[orientation=vertical]/attachment:w-full group-data-[size=sm]/attachment:w-8 group-data-[size=xs]/attachment:w-7 [&_ng-icon]:pointer-events-none [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group-data-[orientation=vertical]/attachment:[&_ng-icon:not([class*='text-'])]:text-[length:--spacing(6)] group-data-[size=xs]/attachment:[&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3.5)]", {
129
+ variants: {
130
+ variant: {
131
+ icon: 'bg-muted',
132
+ image: 'opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100 *:[img]:aspect-square *:[img]:w-full *:[img]:object-cover',
133
+ },
134
+ },
135
+ defaultVariants: {
136
+ variant: 'icon',
137
+ },
138
+ });
139
+ class HlmAttachmentMedia {
140
+ constructor() {
141
+ this.variant = input('icon', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
142
+ classes(() => attachmentMediaVariants({ variant: this.variant() }));
143
+ }
144
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentMedia, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
145
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmAttachmentMedia, isStandalone: true, selector: "[hlmAttachmentMedia],hlm-attachment-media", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "attachment-media" }, properties: { "attr.data-variant": "variant()" } }, ngImport: i0 }); }
146
+ }
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentMedia, decorators: [{
148
+ type: Directive,
149
+ args: [{
150
+ selector: '[hlmAttachmentMedia],hlm-attachment-media',
151
+ host: {
152
+ 'data-slot': 'attachment-media',
153
+ '[attr.data-variant]': 'variant()',
154
+ },
155
+ }]
156
+ }], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
157
+
158
+ class HlmAttachmentTitle {
159
+ constructor() {
160
+ classes(() => 'truncate text-sm font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer block max-w-full min-w-0');
161
+ }
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
163
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmAttachmentTitle, isStandalone: true, selector: "[hlmAttachmentTitle],hlm-attachment-title", host: { attributes: { "data-slot": "attachment-title" } }, ngImport: i0 }); }
164
+ }
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentTitle, decorators: [{
166
+ type: Directive,
167
+ args: [{
168
+ selector: '[hlmAttachmentTitle],hlm-attachment-title',
169
+ host: { 'data-slot': 'attachment-title' },
170
+ }]
171
+ }], ctorParameters: () => [] });
172
+
173
+ class HlmAttachmentTrigger {
174
+ constructor() {
175
+ this._elementRef = inject((ElementRef));
176
+ this.type = input('button', ...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
177
+ this._hostType = computed(() => this._elementRef.nativeElement.localName === 'button' ? this.type() : null, ...(ngDevMode ? [{ debugName: "_hostType" }] : /* istanbul ignore next */ []));
178
+ classes(() => 'absolute inset-0 z-10 outline-none');
179
+ }
180
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
181
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmAttachmentTrigger, isStandalone: true, selector: "button[hlmAttachmentTrigger],a[hlmAttachmentTrigger]", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "attachment-trigger" }, properties: { "attr.type": "_hostType()" } }, ngImport: i0 }); }
182
+ }
183
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmAttachmentTrigger, decorators: [{
184
+ type: Directive,
185
+ args: [{
186
+ selector: 'button[hlmAttachmentTrigger],a[hlmAttachmentTrigger]',
187
+ host: {
188
+ 'data-slot': 'attachment-trigger',
189
+ '[attr.type]': '_hostType()',
190
+ },
191
+ }]
192
+ }], ctorParameters: () => [], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }] } });
193
+
194
+ const HlmAttachmentImports = [
195
+ HlmAttachment,
196
+ HlmAttachmentAction,
197
+ HlmAttachmentActions,
198
+ HlmAttachmentContent,
199
+ HlmAttachmentDescription,
200
+ HlmAttachmentGroup,
201
+ HlmAttachmentMedia,
202
+ HlmAttachmentTitle,
203
+ HlmAttachmentTrigger,
204
+ ];
205
+
206
+ /**
207
+ * Generated bundle index. Do not edit.
208
+ */
209
+
210
+ export { HlmAttachment, HlmAttachmentAction, HlmAttachmentActions, HlmAttachmentContent, HlmAttachmentDescription, HlmAttachmentGroup, HlmAttachmentImports, HlmAttachmentMedia, HlmAttachmentTitle, HlmAttachmentTrigger };
211
+ //# sourceMappingURL=yukit-web-helm-attachment.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-attachment.mjs","sources":["../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-action.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-actions.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-content.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-description.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-group.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-media.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-title.ts","../../../projects/yukit-web/helm/attachment/src/lib/hlm-attachment-trigger.ts","../../../projects/yukit-web/helm/attachment/src/index.ts","../../../projects/yukit-web/helm/attachment/src/yukit-web-helm-attachment.ts"],"sourcesContent":["import { Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst attachmentVariants = cva(\n\t'bg-card text-card-foreground rounded-xl border group/attachment focus-within:ring-ring/50 has-[>a,>button]:hover:bg-muted/50 data-[state=error]:border-destructive/30 relative flex w-fit max-w-full min-w-0 shrink-0 flex-wrap transition-colors focus-within:ring-1 data-[state=idle]:border-dashed',\n\t{\n\t\tvariants: {\n\t\t\tsize: {\n\t\t\t\tdefault:\n\t\t\t\t\t'gap-2 text-sm has-data-[slot=attachment-content]:px-2.5 has-data-[slot=attachment-content]:py-2 has-data-[slot=attachment-media]:p-2',\n\t\t\t\tsm: 'gap-2.5 text-xs has-data-[slot=attachment-content]:px-2 has-data-[slot=attachment-content]:py-1.5 has-data-[slot=attachment-media]:p-1.5',\n\t\t\t\txs: 'rounded-lg gap-1.5 text-xs has-data-[slot=attachment-content]:px-1.5 has-data-[slot=attachment-content]:py-1 has-data-[slot=attachment-media]:p-1',\n\t\t\t},\n\t\t\torientation: {\n\t\t\t\thorizontal: 'min-w-40 items-center',\n\t\t\t\tvertical: 'w-24 flex-col has-data-[slot=attachment-content]:w-30',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tsize: 'default',\n\t\t\torientation: 'horizontal',\n\t\t},\n\t},\n);\n\nexport type AttachmentVariants = VariantProps<typeof attachmentVariants>;\nexport type AttachmentState = 'idle' | 'uploading' | 'processing' | 'error' | 'done';\n\n@Directive({\n\tselector: '[hlmAttachment],hlm-attachment',\n\thost: {\n\t\t'data-slot': 'attachment',\n\t\t'[attr.data-state]': 'state()',\n\t\t'[attr.data-size]': 'size()',\n\t\t'[attr.data-orientation]': 'orientation()',\n\t},\n})\nexport class HlmAttachment {\n\tpublic readonly state = input<AttachmentState>('done');\n\tpublic readonly size = input<AttachmentVariants['size']>('default');\n\tpublic readonly orientation = input<AttachmentVariants['orientation']>('horizontal');\n\n\tconstructor() {\n\t\tclasses(() => attachmentVariants({ size: this.size(), orientation: this.orientation() }));\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { HlmButton, provideBrnButtonConfig } from 'yukit-web/helm/button';\n\n@Directive({\n\tselector: 'button[hlmAttachmentAction]',\n\tproviders: [provideBrnButtonConfig({ variant: 'ghost', size: 'icon-xs' })],\n\thostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],\n\thost: {\n\t\t'data-slot': 'attachment-action',\n\t\t'[type]': 'type()',\n\t},\n})\nexport class HlmAttachmentAction {\n\tpublic readonly type = input<'button' | 'submit' | 'reset'>('button');\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmAttachmentActions],hlm-attachment-actions',\n\thost: { 'data-slot': 'attachment-actions' },\n})\nexport class HlmAttachmentActions {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'shrink-0 items-center relative z-20 flex group-data-[orientation=vertical]/attachment:absolute group-data-[orientation=vertical]/attachment:end-3 group-data-[orientation=vertical]/attachment:top-3 group-data-[orientation=vertical]/attachment:gap-1',\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmAttachmentContent],hlm-attachment-content',\n\thost: { 'data-slot': 'attachment-content' },\n})\nexport class HlmAttachmentContent {\n\tconstructor() {\n\t\tclasses(() => 'min-w-0 flex-1 leading-tight max-w-full group-data-[orientation=vertical]/attachment:px-1');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmAttachmentDescription],hlm-attachment-description',\n\thost: { 'data-slot': 'attachment-description' },\n})\nexport class HlmAttachmentDescription {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'text-muted-foreground mt-0.5 truncate text-xs group-data-[state=error]/attachment:text-destructive/80 block max-w-full min-w-0',\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmAttachmentGroup],hlm-attachment-group',\n\thost: { 'data-slot': 'attachment-group' },\n})\nexport class HlmAttachmentGroup {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'scroll-fade-x no-scrollbar flex min-w-0 snap-x snap-mandatory scroll-px-1 gap-3 overflow-x-auto overscroll-x-contain py-1 *:data-[slot=attachment]:flex-none *:data-[slot=attachment]:snap-start',\n\t\t);\n\t}\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nconst attachmentMediaVariants = cva(\n\t\"bg-muted text-foreground w-10 rounded-lg group-data-[state=error]/attachment:bg-destructive/10 group-data-[state=error]/attachment:text-destructive relative flex aspect-square shrink-0 items-center justify-center overflow-hidden group-data-[orientation=vertical]/attachment:w-full group-data-[size=sm]/attachment:w-8 group-data-[size=xs]/attachment:w-7 [&_ng-icon]:pointer-events-none [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group-data-[orientation=vertical]/attachment:[&_ng-icon:not([class*='text-'])]:text-[length:--spacing(6)] group-data-[size=xs]/attachment:[&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3.5)]\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\ticon: 'bg-muted',\n\t\t\t\timage: 'opacity-60 group-data-[state=done]/attachment:opacity-100 group-data-[state=idle]/attachment:opacity-100 *:[img]:aspect-square *:[img]:w-full *:[img]:object-cover',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'icon',\n\t\t},\n\t},\n);\n\nexport type AttachmentMediaVariants = VariantProps<typeof attachmentMediaVariants>;\n\n@Directive({\n\tselector: '[hlmAttachmentMedia],hlm-attachment-media',\n\thost: {\n\t\t'data-slot': 'attachment-media',\n\t\t'[attr.data-variant]': 'variant()',\n\t},\n})\nexport class HlmAttachmentMedia {\n\tpublic readonly variant = input<AttachmentMediaVariants['variant']>('icon');\n\n\tconstructor() {\n\t\tclasses(() => attachmentMediaVariants({ variant: this.variant() }));\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmAttachmentTitle],hlm-attachment-title',\n\thost: { 'data-slot': 'attachment-title' },\n})\nexport class HlmAttachmentTitle {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'truncate text-sm font-medium group-data-[state=processing]/attachment:shimmer group-data-[state=uploading]/attachment:shimmer block max-w-full min-w-0',\n\t\t);\n\t}\n}\n","import { computed, Directive, ElementRef, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'button[hlmAttachmentTrigger],a[hlmAttachmentTrigger]',\n\thost: {\n\t\t'data-slot': 'attachment-trigger',\n\t\t'[attr.type]': '_hostType()',\n\t},\n})\nexport class HlmAttachmentTrigger {\n\tprivate readonly _elementRef = inject(ElementRef<HTMLElement>);\n\n\tpublic readonly type = input<'button' | 'submit' | 'reset' | null>('button');\n\n\tprotected readonly _hostType = computed(() =>\n\t\tthis._elementRef.nativeElement.localName === 'button' ? this.type() : null,\n\t);\n\n\tconstructor() {\n\t\tclasses(() => 'absolute inset-0 z-10 outline-none');\n\t}\n}\n","import { HlmAttachment } from './lib/hlm-attachment';\nimport { HlmAttachmentAction } from './lib/hlm-attachment-action';\nimport { HlmAttachmentActions } from './lib/hlm-attachment-actions';\nimport { HlmAttachmentContent } from './lib/hlm-attachment-content';\nimport { HlmAttachmentDescription } from './lib/hlm-attachment-description';\nimport { HlmAttachmentGroup } from './lib/hlm-attachment-group';\nimport { HlmAttachmentMedia } from './lib/hlm-attachment-media';\nimport { HlmAttachmentTitle } from './lib/hlm-attachment-title';\nimport { HlmAttachmentTrigger } from './lib/hlm-attachment-trigger';\n\nexport * from './lib/hlm-attachment';\nexport * from './lib/hlm-attachment-action';\nexport * from './lib/hlm-attachment-actions';\nexport * from './lib/hlm-attachment-content';\nexport * from './lib/hlm-attachment-description';\nexport * from './lib/hlm-attachment-group';\nexport * from './lib/hlm-attachment-media';\nexport * from './lib/hlm-attachment-title';\nexport * from './lib/hlm-attachment-trigger';\n\nexport const HlmAttachmentImports = [\n\tHlmAttachment,\n\tHlmAttachmentAction,\n\tHlmAttachmentActions,\n\tHlmAttachmentContent,\n\tHlmAttachmentDescription,\n\tHlmAttachmentGroup,\n\tHlmAttachmentMedia,\n\tHlmAttachmentTitle,\n\tHlmAttachmentTrigger,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}