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,242 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, input, Directive } from '@angular/core';
3
+ import { classes } from 'yukit-web/helm/utils';
4
+ import { cva } from 'class-variance-authority';
5
+ import * as i1 from '@spartan-ng/brain/separator';
6
+ import { BrnSeparator } from '@spartan-ng/brain/separator';
7
+ import { hlmSeparatorClass } from 'yukit-web/helm/separator';
8
+
9
+ const defaultConfig = {
10
+ variant: 'default',
11
+ size: 'default',
12
+ };
13
+ const HlmItemConfigToken = new InjectionToken('HlmItemConfig');
14
+ function provideHlmItemConfig(config) {
15
+ return { provide: HlmItemConfigToken, useValue: { ...defaultConfig, ...config } };
16
+ }
17
+ function injectHlmItemConfig() {
18
+ return inject(HlmItemConfigToken, { optional: true }) ?? defaultConfig;
19
+ }
20
+ const defaultMediaConfig = {
21
+ variant: 'default',
22
+ };
23
+ const HlmItemMediaConfigToken = new InjectionToken('HlmItemMediaConfig');
24
+ function provideHlmItemMediaConfig(config) {
25
+ return { provide: HlmItemMediaConfigToken, useValue: { ...defaultMediaConfig, ...config } };
26
+ }
27
+ function injectHlmItemMediaConfig() {
28
+ return inject(HlmItemMediaConfigToken, { optional: true }) ?? defaultMediaConfig;
29
+ }
30
+
31
+ const itemVariants = cva('[a]:hover:bg-muted rounded-lg border text-sm group/item focus-visible:border-ring focus-visible:ring-ring/50 flex w-full flex-wrap items-center transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors', {
32
+ variants: {
33
+ variant: {
34
+ default: 'border-transparent',
35
+ outline: 'border-border',
36
+ muted: 'bg-muted/50 border-transparent',
37
+ },
38
+ size: {
39
+ default: 'gap-2.5 px-3 py-2.5',
40
+ sm: 'gap-2.5 px-3 py-2.5',
41
+ xs: 'gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0',
42
+ },
43
+ },
44
+ defaultVariants: {
45
+ variant: 'default',
46
+ size: 'default',
47
+ },
48
+ });
49
+ class HlmItem {
50
+ constructor() {
51
+ this._config = injectHlmItemConfig();
52
+ this.variant = input(this._config.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
53
+ this.size = input(this._config.size, ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
54
+ classes(() => itemVariants({ variant: this.variant(), size: this.size() }));
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmItem, isStandalone: true, selector: "[hlmItem],hlm-item", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item" }, properties: { "attr.data-variant": "variant()", "attr.data-size": "size()" } }, ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItem, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[hlmItem],hlm-item',
63
+ host: {
64
+ 'data-slot': 'item',
65
+ '[attr.data-variant]': 'variant()',
66
+ '[attr.data-size]': 'size()',
67
+ },
68
+ }]
69
+ }], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
70
+
71
+ class HlmItemActions {
72
+ constructor() {
73
+ classes(() => 'gap-2 flex items-center');
74
+ }
75
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemActions, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
76
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemActions, isStandalone: true, selector: "[hlmItemActions],hlm-item-actions", host: { attributes: { "data-slot": "item-actions" } }, ngImport: i0 }); }
77
+ }
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemActions, decorators: [{
79
+ type: Directive,
80
+ args: [{
81
+ selector: '[hlmItemActions],hlm-item-actions',
82
+ host: { 'data-slot': 'item-actions' },
83
+ }]
84
+ }], ctorParameters: () => [] });
85
+
86
+ class HlmItemContent {
87
+ constructor() {
88
+ classes(() => 'gap-1 group-data-[size=xs]/item:gap-0 flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none');
89
+ }
90
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
91
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemContent, isStandalone: true, selector: "[hlmItemContent],hlm-item-content", host: { attributes: { "data-slot": "item-content" } }, ngImport: i0 }); }
92
+ }
93
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemContent, decorators: [{
94
+ type: Directive,
95
+ args: [{
96
+ selector: '[hlmItemContent],hlm-item-content',
97
+ host: { 'data-slot': 'item-content' },
98
+ }]
99
+ }], ctorParameters: () => [] });
100
+
101
+ class HlmItemDescription {
102
+ constructor() {
103
+ classes(() => 'text-muted-foreground text-start text-sm leading-normal group-data-[size=xs]/item:text-xs [&>a:hover]:text-primary line-clamp-2 flex font-normal [&>a]:underline [&>a]:underline-offset-4');
104
+ }
105
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
106
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemDescription, isStandalone: true, selector: "[hlmItemDescription],hlm-item-description", host: { attributes: { "data-slot": "item-description" } }, ngImport: i0 }); }
107
+ }
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemDescription, decorators: [{
109
+ type: Directive,
110
+ args: [{
111
+ selector: '[hlmItemDescription],hlm-item-description',
112
+ host: { 'data-slot': 'item-description' },
113
+ }]
114
+ }], ctorParameters: () => [] });
115
+
116
+ class HlmItemFooter {
117
+ constructor() {
118
+ classes(() => 'gap-2 flex basis-full items-center justify-between');
119
+ }
120
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
121
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemFooter, isStandalone: true, selector: "[hlmItemFooter],hlm-item-footer", host: { attributes: { "data-slot": "item-footer" } }, ngImport: i0 }); }
122
+ }
123
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemFooter, decorators: [{
124
+ type: Directive,
125
+ args: [{
126
+ selector: '[hlmItemFooter],hlm-item-footer',
127
+ host: { 'data-slot': 'item-footer' },
128
+ }]
129
+ }], ctorParameters: () => [] });
130
+
131
+ class HlmItemGroup {
132
+ constructor() {
133
+ classes(() => 'gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2 group/item-group flex w-full flex-col');
134
+ }
135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
136
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemGroup, isStandalone: true, selector: "[hlmItemGroup],hlm-item-group", host: { attributes: { "data-slot": "item-group" } }, ngImport: i0 }); }
137
+ }
138
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemGroup, decorators: [{
139
+ type: Directive,
140
+ args: [{
141
+ selector: '[hlmItemGroup],hlm-item-group',
142
+ host: { 'data-slot': 'item-group' },
143
+ }]
144
+ }], ctorParameters: () => [] });
145
+
146
+ class HlmItemHeader {
147
+ constructor() {
148
+ classes(() => 'gap-2 flex basis-full items-center justify-between');
149
+ }
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
151
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemHeader, isStandalone: true, selector: "[hlmItemHeader],hlm-item-header", host: { attributes: { "data-slot": "item-header" } }, ngImport: i0 }); }
152
+ }
153
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemHeader, decorators: [{
154
+ type: Directive,
155
+ args: [{
156
+ selector: '[hlmItemHeader],hlm-item-header',
157
+ host: { 'data-slot': 'item-header' },
158
+ }]
159
+ }], ctorParameters: () => [] });
160
+
161
+ const itemMediaVariants = cva('gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start flex shrink-0 items-center justify-center [&_ng-icon]:pointer-events-none', {
162
+ variants: {
163
+ variant: {
164
+ default: 'bg-transparent',
165
+ icon: "[&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)]",
166
+ image: 'size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover',
167
+ },
168
+ },
169
+ defaultVariants: {
170
+ variant: 'default',
171
+ },
172
+ });
173
+ class HlmItemMedia {
174
+ constructor() {
175
+ this._config = injectHlmItemMediaConfig();
176
+ this.variant = input(this._config.variant, ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
177
+ classes(() => itemMediaVariants({ variant: this.variant() }));
178
+ }
179
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemMedia, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
180
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmItemMedia, isStandalone: true, selector: "[hlmItemMedia],hlm-item-media", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "item-media" }, properties: { "attr.data-variant": "variant()" } }, ngImport: i0 }); }
181
+ }
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemMedia, decorators: [{
183
+ type: Directive,
184
+ args: [{
185
+ selector: '[hlmItemMedia],hlm-item-media',
186
+ host: {
187
+ 'data-slot': 'item-media',
188
+ '[attr.data-variant]': 'variant()',
189
+ },
190
+ }]
191
+ }], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
192
+
193
+ class HlmItemSeparator {
194
+ constructor() {
195
+ classes(() => [hlmSeparatorClass, 'my-2']);
196
+ }
197
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
198
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemSeparator, isStandalone: true, selector: "[hlmItemSeparator],hlm-item-separator", host: { attributes: { "data-slot": "item-separator" } }, hostDirectives: [{ directive: i1.BrnSeparator, inputs: ["orientation", "orientation"] }], ngImport: i0 }); }
199
+ }
200
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemSeparator, decorators: [{
201
+ type: Directive,
202
+ args: [{
203
+ selector: '[hlmItemSeparator],hlm-item-separator',
204
+ hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation'] }],
205
+ host: { 'data-slot': 'item-separator' },
206
+ }]
207
+ }], ctorParameters: () => [] });
208
+
209
+ class HlmItemTitle {
210
+ constructor() {
211
+ classes(() => 'gap-2 text-sm leading-snug font-medium underline-offset-4 line-clamp-1 flex w-fit items-center');
212
+ }
213
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
214
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmItemTitle, isStandalone: true, selector: "[hlmItemTitle],hlm-item-title", host: { attributes: { "data-slot": "item-title" } }, ngImport: i0 }); }
215
+ }
216
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmItemTitle, decorators: [{
217
+ type: Directive,
218
+ args: [{
219
+ selector: '[hlmItemTitle],hlm-item-title',
220
+ host: { 'data-slot': 'item-title' },
221
+ }]
222
+ }], ctorParameters: () => [] });
223
+
224
+ const HlmItemImports = [
225
+ HlmItem,
226
+ HlmItemActions,
227
+ HlmItemContent,
228
+ HlmItemDescription,
229
+ HlmItemFooter,
230
+ HlmItemGroup,
231
+ HlmItemHeader,
232
+ HlmItemMedia,
233
+ HlmItemSeparator,
234
+ HlmItemTitle,
235
+ ];
236
+
237
+ /**
238
+ * Generated bundle index. Do not edit.
239
+ */
240
+
241
+ export { HlmItem, HlmItemActions, HlmItemContent, HlmItemDescription, HlmItemFooter, HlmItemGroup, HlmItemHeader, HlmItemImports, HlmItemMedia, HlmItemSeparator, HlmItemTitle, injectHlmItemConfig, injectHlmItemMediaConfig, provideHlmItemConfig, provideHlmItemMediaConfig };
242
+ //# sourceMappingURL=yukit-web-helm-item.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-item.mjs","sources":["../../../projects/yukit-web/helm/item/src/lib/hlm-item-token.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-actions.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-content.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-description.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-footer.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-group.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-header.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-media.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-separator.ts","../../../projects/yukit-web/helm/item/src/lib/hlm-item-title.ts","../../../projects/yukit-web/helm/item/src/index.ts","../../../projects/yukit-web/helm/item/src/yukit-web-helm-item.ts"],"sourcesContent":["import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport type { ItemVariants } from './hlm-item';\nimport type { ItemMediaVariants } from './hlm-item-media';\n\nexport interface HlmItemConfig {\n\tvariant: ItemVariants['variant'];\n\tsize: ItemVariants['size'];\n}\n\nconst defaultConfig: HlmItemConfig = {\n\tvariant: 'default',\n\tsize: 'default',\n};\n\nconst HlmItemConfigToken = new InjectionToken<HlmItemConfig>('HlmItemConfig');\n\nexport function provideHlmItemConfig(config: Partial<HlmItemConfig>): ValueProvider {\n\treturn { provide: HlmItemConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmItemConfig(): HlmItemConfig {\n\treturn inject(HlmItemConfigToken, { optional: true }) ?? defaultConfig;\n}\n\nexport interface HlmItemMediaConfig {\n\tvariant: ItemMediaVariants['variant'];\n}\n\nconst defaultMediaConfig: HlmItemMediaConfig = {\n\tvariant: 'default',\n};\n\nconst HlmItemMediaConfigToken = new InjectionToken<HlmItemMediaConfig>('HlmItemMediaConfig');\n\nexport function provideHlmItemMediaConfig(config: Partial<HlmItemMediaConfig>): ValueProvider {\n\treturn { provide: HlmItemMediaConfigToken, useValue: { ...defaultMediaConfig, ...config } };\n}\n\nexport function injectHlmItemMediaConfig(): HlmItemMediaConfig {\n\treturn inject(HlmItemMediaConfigToken, { optional: true }) ?? defaultMediaConfig;\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { injectHlmItemConfig } from './hlm-item-token';\n\nconst itemVariants = cva(\n\t'[a]:hover:bg-muted rounded-lg border text-sm group/item focus-visible:border-ring focus-visible:ring-ring/50 flex w-full flex-wrap items-center transition-colors duration-100 outline-none focus-visible:ring-[3px] [a]:transition-colors',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'border-transparent',\n\t\t\t\toutline: 'border-border',\n\t\t\t\tmuted: 'bg-muted/50 border-transparent',\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: 'gap-2.5 px-3 py-2.5',\n\t\t\t\tsm: 'gap-2.5 px-3 py-2.5',\n\t\t\t\txs: 'gap-2 px-2.5 py-2 in-data-[slot=dropdown-menu-content]:p-0',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t\tsize: 'default',\n\t\t},\n\t},\n);\n\nexport type ItemVariants = VariantProps<typeof itemVariants>;\n\n@Directive({\n\tselector: '[hlmItem],hlm-item',\n\thost: {\n\t\t'data-slot': 'item',\n\t\t'[attr.data-variant]': 'variant()',\n\t\t'[attr.data-size]': 'size()',\n\t},\n})\nexport class HlmItem {\n\tprivate readonly _config = injectHlmItemConfig();\n\tpublic readonly variant = input<ItemVariants['variant']>(this._config.variant);\n\tpublic readonly size = input<ItemVariants['size']>(this._config.size);\n\n\tconstructor() {\n\t\tclasses(() => itemVariants({ variant: this.variant(), size: this.size() }));\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemActions],hlm-item-actions',\n\thost: { 'data-slot': 'item-actions' },\n})\nexport class HlmItemActions {\n\tconstructor() {\n\t\tclasses(() => 'gap-2 flex items-center');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemContent],hlm-item-content',\n\thost: { 'data-slot': 'item-content' },\n})\nexport class HlmItemContent {\n\tconstructor() {\n\t\tclasses(() => 'gap-1 group-data-[size=xs]/item:gap-0 flex flex-1 flex-col [&+[data-slot=item-content]]:flex-none');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemDescription],hlm-item-description',\n\thost: { 'data-slot': 'item-description' },\n})\nexport class HlmItemDescription {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'text-muted-foreground text-start text-sm leading-normal group-data-[size=xs]/item:text-xs [&>a:hover]:text-primary line-clamp-2 flex font-normal [&>a]:underline [&>a]:underline-offset-4',\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemFooter],hlm-item-footer',\n\thost: { 'data-slot': 'item-footer' },\n})\nexport class HlmItemFooter {\n\tconstructor() {\n\t\tclasses(() => 'gap-2 flex basis-full items-center justify-between');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemGroup],hlm-item-group',\n\thost: { 'data-slot': 'item-group' },\n})\nexport class HlmItemGroup {\n\tconstructor() {\n\t\tclasses(() => 'gap-4 has-data-[size=sm]:gap-2.5 has-data-[size=xs]:gap-2 group/item-group flex w-full flex-col');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemHeader],hlm-item-header',\n\thost: { 'data-slot': 'item-header' },\n})\nexport class HlmItemHeader {\n\tconstructor() {\n\t\tclasses(() => 'gap-2 flex basis-full items-center justify-between');\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';\nimport { injectHlmItemMediaConfig } from './hlm-item-token';\n\nconst itemMediaVariants = cva(\n\t'gap-2 group-has-data-[slot=item-description]/item:translate-y-0.5 group-has-data-[slot=item-description]/item:self-start flex shrink-0 items-center justify-center [&_ng-icon]:pointer-events-none',\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: 'bg-transparent',\n\t\t\t\ticon: \"[&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)]\",\n\t\t\t\timage: 'size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\nexport type ItemMediaVariants = VariantProps<typeof itemMediaVariants>;\n\n@Directive({\n\tselector: '[hlmItemMedia],hlm-item-media',\n\thost: {\n\t\t'data-slot': 'item-media',\n\t\t'[attr.data-variant]': 'variant()',\n\t},\n})\nexport class HlmItemMedia {\n\tprivate readonly _config = injectHlmItemMediaConfig();\n\tpublic readonly variant = input<ItemMediaVariants['variant']>(this._config.variant);\n\n\tconstructor() {\n\t\tclasses(() => itemMediaVariants({ variant: this.variant() }));\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { BrnSeparator } from '@spartan-ng/brain/separator';\nimport { hlmSeparatorClass } from 'yukit-web/helm/separator';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemSeparator],hlm-item-separator',\n\thostDirectives: [{ directive: BrnSeparator, inputs: ['orientation'] }],\n\thost: { 'data-slot': 'item-separator' },\n})\nexport class HlmItemSeparator {\n\tconstructor() {\n\t\tclasses(() => [hlmSeparatorClass, 'my-2']);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmItemTitle],hlm-item-title',\n\thost: { 'data-slot': 'item-title' },\n})\nexport class HlmItemTitle {\n\tconstructor() {\n\t\tclasses(() => 'gap-2 text-sm leading-snug font-medium underline-offset-4 line-clamp-1 flex w-fit items-center');\n\t}\n}\n","import { HlmItem } from './lib/hlm-item';\nimport { HlmItemActions } from './lib/hlm-item-actions';\nimport { HlmItemContent } from './lib/hlm-item-content';\nimport { HlmItemDescription } from './lib/hlm-item-description';\nimport { HlmItemFooter } from './lib/hlm-item-footer';\nimport { HlmItemGroup } from './lib/hlm-item-group';\nimport { HlmItemHeader } from './lib/hlm-item-header';\nimport { HlmItemMedia } from './lib/hlm-item-media';\nimport { HlmItemSeparator } from './lib/hlm-item-separator';\nimport { HlmItemTitle } from './lib/hlm-item-title';\n\nexport * from './lib/hlm-item';\nexport * from './lib/hlm-item-actions';\nexport * from './lib/hlm-item-content';\nexport * from './lib/hlm-item-description';\nexport * from './lib/hlm-item-footer';\nexport * from './lib/hlm-item-group';\nexport * from './lib/hlm-item-header';\nexport * from './lib/hlm-item-media';\nexport * from './lib/hlm-item-separator';\nexport * from './lib/hlm-item-title';\nexport * from './lib/hlm-item-token';\n\nexport const HlmItemImports = [\n\tHlmItem,\n\tHlmItemActions,\n\tHlmItemContent,\n\tHlmItemDescription,\n\tHlmItemFooter,\n\tHlmItemGroup,\n\tHlmItemHeader,\n\tHlmItemMedia,\n\tHlmItemSeparator,\n\tHlmItemTitle,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive } from '@angular/core';
3
+ import { classes } from 'yukit-web/helm/utils';
4
+
5
+ class HlmKbd {
6
+ constructor() {
7
+ classes(() => "bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3)] pointer-events-none inline-flex items-center justify-center select-none");
8
+ }
9
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmKbd, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
10
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmKbd, isStandalone: true, selector: "kbd[hlmKbd]", host: { attributes: { "data-slot": "kbd" } }, ngImport: i0 }); }
11
+ }
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmKbd, decorators: [{
13
+ type: Directive,
14
+ args: [{
15
+ selector: 'kbd[hlmKbd]',
16
+ host: {
17
+ 'data-slot': 'kbd',
18
+ },
19
+ }]
20
+ }], ctorParameters: () => [] });
21
+
22
+ class HlmKbdGroup {
23
+ constructor() {
24
+ classes(() => 'gap-1 inline-flex items-center');
25
+ }
26
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmKbdGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
27
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmKbdGroup, isStandalone: true, selector: "kbd[hlmKbdGroup]", host: { attributes: { "data-slot": "kbd-group" } }, ngImport: i0 }); }
28
+ }
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmKbdGroup, decorators: [{
30
+ type: Directive,
31
+ args: [{
32
+ selector: 'kbd[hlmKbdGroup]',
33
+ host: {
34
+ 'data-slot': 'kbd-group',
35
+ },
36
+ }]
37
+ }], ctorParameters: () => [] });
38
+
39
+ const HlmKbdImports = [HlmKbd, HlmKbdGroup];
40
+
41
+ /**
42
+ * Generated bundle index. Do not edit.
43
+ */
44
+
45
+ export { HlmKbd, HlmKbdGroup, HlmKbdImports };
46
+ //# sourceMappingURL=yukit-web-helm-kbd.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-kbd.mjs","sources":["../../../projects/yukit-web/helm/kbd/src/lib/hlm-kbd.ts","../../../projects/yukit-web/helm/kbd/src/lib/hlm-kbd-group.ts","../../../projects/yukit-web/helm/kbd/src/index.ts","../../../projects/yukit-web/helm/kbd/src/yukit-web-helm-kbd.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'kbd[hlmKbd]',\n\thost: {\n\t\t'data-slot': 'kbd',\n\t},\n})\nexport class HlmKbd {\n\tconstructor() {\n\t\tclasses(() => \"bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3)] pointer-events-none inline-flex items-center justify-center select-none\");\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: 'kbd[hlmKbdGroup]',\n\thost: {\n\t\t'data-slot': 'kbd-group',\n\t},\n})\nexport class HlmKbdGroup {\n\tconstructor() {\n\t\tclasses(() => 'gap-1 inline-flex items-center');\n\t}\n}\n","import { HlmKbd } from './lib/hlm-kbd';\nimport { HlmKbdGroup } from './lib/hlm-kbd-group';\n\nexport * from './lib/hlm-kbd';\nexport * from './lib/hlm-kbd-group';\n\nexport const HlmKbdImports = [HlmKbd, HlmKbdGroup] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MASa,MAAM,CAAA;AAClB,IAAA,WAAA,GAAA;AACC,QAAA,OAAO,CAAC,MAAM,+XAA+X,CAAC;IAC/Y;8GAHY,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAN,MAAM,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,aAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,KAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAN,MAAM,EAAA,UAAA,EAAA,CAAA;kBANlB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE;AACL,wBAAA,WAAW,EAAE,KAAK;AAClB,qBAAA;AACD,iBAAA;;;MCCY,WAAW,CAAA;AACvB,IAAA,WAAA,GAAA;AACC,QAAA,OAAO,CAAC,MAAM,gCAAgC,CAAC;IAChD;8GAHY,WAAW,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAX,WAAW,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,WAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAX,WAAW,EAAA,UAAA,EAAA,CAAA;kBANvB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,IAAI,EAAE;AACL,wBAAA,WAAW,EAAE,WAAW;AACxB,qBAAA;AACD,iBAAA;;;MCFY,aAAa,GAAG,CAAC,MAAM,EAAE,WAAW;;ACNjD;;AAEG;;;;"}
@@ -0,0 +1,30 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Directive } from '@angular/core';
3
+ import * as i1 from '@spartan-ng/brain/label';
4
+ import { BrnLabel } from '@spartan-ng/brain/label';
5
+ import { classes } from 'yukit-web/helm/utils';
6
+
7
+ class HlmLabel {
8
+ constructor() {
9
+ classes(() => 'gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed');
10
+ }
11
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
12
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmLabel, isStandalone: true, selector: "[hlmLabel]", host: { attributes: { "data-slot": "label" } }, hostDirectives: [{ directive: i1.BrnLabel, inputs: ["id", "id", "for", "for"] }], ngImport: i0 }); }
13
+ }
14
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmLabel, decorators: [{
15
+ type: Directive,
16
+ args: [{
17
+ selector: '[hlmLabel]',
18
+ hostDirectives: [{ directive: BrnLabel, inputs: ['id', 'for'] }],
19
+ host: { 'data-slot': 'label' },
20
+ }]
21
+ }], ctorParameters: () => [] });
22
+
23
+ const HlmLabelImports = [HlmLabel];
24
+
25
+ /**
26
+ * Generated bundle index. Do not edit.
27
+ */
28
+
29
+ export { HlmLabel, HlmLabelImports };
30
+ //# sourceMappingURL=yukit-web-helm-label.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-label.mjs","sources":["../../../projects/yukit-web/helm/label/src/lib/hlm-label.ts","../../../projects/yukit-web/helm/label/src/index.ts","../../../projects/yukit-web/helm/label/src/yukit-web-helm-label.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { BrnLabel } from '@spartan-ng/brain/label';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmLabel]',\n\thostDirectives: [{ directive: BrnLabel, inputs: ['id', 'for'] }],\n\thost: { 'data-slot': 'label' },\n})\nexport class HlmLabel {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed',\n\t\t);\n\t}\n}\n","import { HlmLabel } from './lib/hlm-label';\n\nexport * from './lib/hlm-label';\n\nexport const HlmLabelImports = [HlmLabel] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MASa,QAAQ,CAAA;AACpB,IAAA,WAAA,GAAA;AACC,QAAA,OAAO,CACN,MACC,qNAAqN,CACtN;IACF;8GANY,QAAQ,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;kGAAR,QAAQ,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,WAAA,EAAA,OAAA,EAAA,EAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,QAAA,EAAA,MAAA,EAAA,CAAA,IAAA,EAAA,IAAA,EAAA,KAAA,EAAA,KAAA,CAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;2FAAR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBALpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;AAChE,oBAAA,IAAI,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;AAC9B,iBAAA;;;ACJM,MAAM,eAAe,GAAG,CAAC,QAAQ;;ACJxC;;AAEG;;;;"}
@@ -0,0 +1,77 @@
1
+ import * as i0 from '@angular/core';
2
+ import { input, Directive } from '@angular/core';
3
+ import { classes } from 'yukit-web/helm/utils';
4
+ import { cva } from 'class-variance-authority';
5
+
6
+ const markerVariants = cva("text-muted-foreground gap-2 group/marker [a]:hover:text-foreground relative flex min-h-4 w-full items-center text-start text-sm [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] [a]:underline [a]:underline-offset-3", {
7
+ variants: {
8
+ variant: {
9
+ default: '',
10
+ separator: 'before:bg-border after:bg-border before:me-1 before:h-px before:min-w-0 before:flex-1 after:ms-1 after:h-px after:min-w-0 after:flex-1',
11
+ border: 'border-border border-b pb-2',
12
+ },
13
+ },
14
+ defaultVariants: {
15
+ variant: 'default',
16
+ },
17
+ });
18
+ class HlmMarker {
19
+ constructor() {
20
+ this.variant = input('default', ...(ngDevMode ? [{ debugName: "variant" }] : /* istanbul ignore next */ []));
21
+ classes(() => markerVariants({ variant: this.variant() }));
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMarker, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmMarker, isStandalone: true, selector: "[hlmMarker],hlm-marker", inputs: { variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "marker" }, properties: { "attr.data-variant": "variant()" } }, ngImport: i0 }); }
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMarker, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[hlmMarker],hlm-marker',
30
+ host: {
31
+ 'data-slot': 'marker',
32
+ '[attr.data-variant]': 'variant()',
33
+ },
34
+ }]
35
+ }], ctorParameters: () => [], propDecorators: { variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }] } });
36
+
37
+ class HlmMarkerContent {
38
+ constructor() {
39
+ classes(() => 'min-w-0 *:[a]:hover:text-foreground wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3');
40
+ }
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMarkerContent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
42
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmMarkerContent, isStandalone: true, selector: "[hlmMarkerContent],hlm-marker-content", host: { attributes: { "data-slot": "marker-content" } }, ngImport: i0 }); }
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMarkerContent, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: '[hlmMarkerContent],hlm-marker-content',
48
+ host: { 'data-slot': 'marker-content' },
49
+ }]
50
+ }], ctorParameters: () => [] });
51
+
52
+ class HlmMarkerIcon {
53
+ constructor() {
54
+ classes(() => "size-4 shrink-0 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)]");
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMarkerIcon, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmMarkerIcon, isStandalone: true, selector: "[hlmMarkerIcon],hlm-marker-icon", host: { attributes: { "data-slot": "marker-icon", "aria-hidden": "true" } }, ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMarkerIcon, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[hlmMarkerIcon],hlm-marker-icon',
63
+ host: {
64
+ 'data-slot': 'marker-icon',
65
+ 'aria-hidden': 'true',
66
+ },
67
+ }]
68
+ }], ctorParameters: () => [] });
69
+
70
+ const HlmMarkerImports = [HlmMarker, HlmMarkerContent, HlmMarkerIcon];
71
+
72
+ /**
73
+ * Generated bundle index. Do not edit.
74
+ */
75
+
76
+ export { HlmMarker, HlmMarkerContent, HlmMarkerIcon, HlmMarkerImports };
77
+ //# sourceMappingURL=yukit-web-helm-marker.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-marker.mjs","sources":["../../../projects/yukit-web/helm/marker/src/lib/hlm-marker.ts","../../../projects/yukit-web/helm/marker/src/lib/hlm-marker-content.ts","../../../projects/yukit-web/helm/marker/src/lib/hlm-marker-icon.ts","../../../projects/yukit-web/helm/marker/src/index.ts","../../../projects/yukit-web/helm/marker/src/yukit-web-helm-marker.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 markerVariants = cva(\n\t\"text-muted-foreground gap-2 group/marker [a]:hover:text-foreground relative flex min-h-4 w-full items-center text-start text-sm [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] [a]:underline [a]:underline-offset-3\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: '',\n\t\t\t\tseparator: 'before:bg-border after:bg-border before:me-1 before:h-px before:min-w-0 before:flex-1 after:ms-1 after:h-px after:min-w-0 after:flex-1',\n\t\t\t\tborder: 'border-border border-b pb-2',\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: 'default',\n\t\t},\n\t},\n);\n\nexport type MarkerVariants = VariantProps<typeof markerVariants>;\n\n@Directive({\n\tselector: '[hlmMarker],hlm-marker',\n\thost: {\n\t\t'data-slot': 'marker',\n\t\t'[attr.data-variant]': 'variant()',\n\t},\n})\nexport class HlmMarker {\n\tpublic readonly variant = input<MarkerVariants['variant']>('default');\n\n\tconstructor() {\n\t\tclasses(() => markerVariants({ variant: this.variant() }));\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmMarkerContent],hlm-marker-content',\n\thost: { 'data-slot': 'marker-content' },\n})\nexport class HlmMarkerContent {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'min-w-0 *:[a]:hover:text-foreground wrap-break-word group-data-[variant=separator]/marker:flex-none group-data-[variant=separator]/marker:text-center *:[a]:underline *:[a]:underline-offset-3',\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmMarkerIcon],hlm-marker-icon',\n\thost: {\n\t\t'data-slot': 'marker-icon',\n\t\t'aria-hidden': 'true',\n\t},\n})\nexport class HlmMarkerIcon {\n\tconstructor() {\n\t\tclasses(() => \"size-4 shrink-0 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)]\");\n\t}\n}\n","import { HlmMarker } from './lib/hlm-marker';\nimport { HlmMarkerContent } from './lib/hlm-marker-content';\nimport { HlmMarkerIcon } from './lib/hlm-marker-icon';\n\nexport * from './lib/hlm-marker';\nexport * from './lib/hlm-marker-content';\nexport * from './lib/hlm-marker-icon';\n\nexport const HlmMarkerImports = [HlmMarker, HlmMarkerContent, HlmMarkerIcon] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,90 @@
1
+ import * as i1 from '@angular/cdk/menu';
2
+ import { CdkMenuBar, CdkMenuTrigger, CdkMenuItem } from '@angular/cdk/menu';
3
+ import * as i0 from '@angular/core';
4
+ import { Directive, InjectionToken, inject, input, booleanAttribute, computed, effect, forwardRef } from '@angular/core';
5
+ import { classes } from 'yukit-web/helm/utils';
6
+ import { createMenuPosition, MENU_SIDE } from '@spartan-ng/brain/core';
7
+
8
+ class HlmMenubar {
9
+ constructor() {
10
+ classes(() => 'bg-background h-8 gap-0.5 rounded-lg border p-[3px] flex items-center');
11
+ }
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMenubar, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
13
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmMenubar, isStandalone: true, selector: "[hlmMenubar],hlm-menubar", host: { attributes: { "data-slot": "menubar" } }, hostDirectives: [{ directive: i1.CdkMenuBar }], ngImport: i0 }); }
14
+ }
15
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMenubar, decorators: [{
16
+ type: Directive,
17
+ args: [{
18
+ selector: '[hlmMenubar],hlm-menubar',
19
+ hostDirectives: [CdkMenuBar],
20
+ host: {
21
+ 'data-slot': 'menubar',
22
+ },
23
+ }]
24
+ }], ctorParameters: () => [] });
25
+
26
+ const defaultConfig = {
27
+ align: 'start',
28
+ side: 'bottom',
29
+ };
30
+ const HlmMenubarConfigToken = new InjectionToken('HlmMenubarConfig');
31
+ function provideHlmMenubarConfig(config) {
32
+ return { provide: HlmMenubarConfigToken, useValue: { ...defaultConfig, ...config } };
33
+ }
34
+ function injectHlmMenubarConfig() {
35
+ return inject(HlmMenubarConfigToken, { optional: true }) ?? defaultConfig;
36
+ }
37
+
38
+ class HlmMenubarTrigger {
39
+ constructor() {
40
+ this._cdkTrigger = inject(CdkMenuTrigger, { host: true });
41
+ this._config = injectHlmMenubarConfig();
42
+ this.disabled = input(false, { ...(ngDevMode ? { debugName: "disabled" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
43
+ this.align = input(this._config.align, ...(ngDevMode ? [{ debugName: "align" }] : /* istanbul ignore next */ []));
44
+ this.side = input(this._config.side, ...(ngDevMode ? [{ debugName: "side" }] : /* istanbul ignore next */ []));
45
+ this._menuPosition = computed(() => createMenuPosition(this.align(), this.side()), ...(ngDevMode ? [{ debugName: "_menuPosition" }] : /* istanbul ignore next */ []));
46
+ // CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved
47
+ // position; the content reads it to animate from the anchored corner and to derive its data-side.
48
+ // Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and
49
+ // the assignment is a harmless no-op.
50
+ this._cdkTrigger.transformOriginSelector = '[data-slot="dropdown-menu"]';
51
+ effect(() => {
52
+ this._cdkTrigger.menuPosition = this._menuPosition();
53
+ });
54
+ classes(() => 'hover:bg-muted aria-expanded:bg-muted rounded-sm px-1.5 py-[2px] text-sm font-medium flex items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50');
55
+ }
56
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMenubarTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
57
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmMenubarTrigger, isStandalone: true, selector: "button[hlmMenubarTrigger]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, side: { classPropertyName: "side", publicName: "side", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "menubar-trigger" }, properties: { "disabled": "disabled() ", "attr.data-disabled": "disabled() ? \"\" : null" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }], hostDirectives: [{ directive: i1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled"] }, { directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "hlmMenubarTrigger", "cdkMenuTriggerData", "hlmMenubarTriggerData"], outputs: ["cdkMenuOpened", "hlmDropdownMenuOpened", "cdkMenuClosed", "hlmDropdownMenuClosed"] }], ngImport: i0 }); }
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmMenubarTrigger, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: 'button[hlmMenubarTrigger]',
63
+ providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }],
64
+ hostDirectives: [
65
+ {
66
+ directive: CdkMenuItem,
67
+ inputs: ['cdkMenuItemDisabled: disabled'],
68
+ },
69
+ {
70
+ directive: CdkMenuTrigger,
71
+ inputs: ['cdkMenuTriggerFor: hlmMenubarTrigger', 'cdkMenuTriggerData: hlmMenubarTriggerData'],
72
+ outputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],
73
+ },
74
+ ],
75
+ host: {
76
+ 'data-slot': 'menubar-trigger',
77
+ '[disabled]': 'disabled() ',
78
+ '[attr.data-disabled]': 'disabled() ? "" : null',
79
+ },
80
+ }]
81
+ }], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], side: [{ type: i0.Input, args: [{ isSignal: true, alias: "side", required: false }] }] } });
82
+
83
+ const HlmMenubarImports = [HlmMenubar, HlmMenubarTrigger];
84
+
85
+ /**
86
+ * Generated bundle index. Do not edit.
87
+ */
88
+
89
+ export { HlmMenubar, HlmMenubarImports, HlmMenubarTrigger, injectHlmMenubarConfig, provideHlmMenubarConfig };
90
+ //# sourceMappingURL=yukit-web-helm-menubar.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"yukit-web-helm-menubar.mjs","sources":["../../../projects/yukit-web/helm/menubar/src/lib/hlm-menubar.ts","../../../projects/yukit-web/helm/menubar/src/lib/hlm-menubar-token.ts","../../../projects/yukit-web/helm/menubar/src/lib/hlm-menubar-trigger.ts","../../../projects/yukit-web/helm/menubar/src/index.ts","../../../projects/yukit-web/helm/menubar/src/yukit-web-helm-menubar.ts"],"sourcesContent":["import { CdkMenuBar } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmMenubar],hlm-menubar',\n\thostDirectives: [CdkMenuBar],\n\thost: {\n\t\t'data-slot': 'menubar',\n\t},\n})\nexport class HlmMenubar {\n\tconstructor() {\n\t\tclasses(() => 'bg-background h-8 gap-0.5 rounded-lg border p-[3px] flex items-center');\n\t}\n}\n","import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport { type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\n\nexport interface HlmMenubarConfig {\n\talign: MenuAlign;\n\tside: MenuSide;\n}\n\nconst defaultConfig: HlmMenubarConfig = {\n\talign: 'start',\n\tside: 'bottom',\n};\n\nconst HlmMenubarConfigToken = new InjectionToken<HlmMenubarConfig>('HlmMenubarConfig');\n\nexport function provideHlmMenubarConfig(config: Partial<HlmMenubarConfig>): ValueProvider {\n\treturn { provide: HlmMenubarConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmMenubarConfig(): HlmMenubarConfig {\n\treturn inject(HlmMenubarConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem, CdkMenuTrigger } from '@angular/cdk/menu';\nimport { booleanAttribute, computed, Directive, effect, forwardRef, inject, input } from '@angular/core';\nimport { createMenuPosition, MENU_SIDE, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { injectHlmMenubarConfig } from './hlm-menubar-token';\n\n@Directive({\n\tselector: 'button[hlmMenubarTrigger]',\n\tproviders: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmMenubarTrigger) }],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuItem,\n\t\t\tinputs: ['cdkMenuItemDisabled: disabled'],\n\t\t},\n\t\t{\n\t\t\tdirective: CdkMenuTrigger,\n\t\t\tinputs: ['cdkMenuTriggerFor: hlmMenubarTrigger', 'cdkMenuTriggerData: hlmMenubarTriggerData'],\n\t\t\toutputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],\n\t\t},\n\t],\n\thost: {\n\t\t'data-slot': 'menubar-trigger',\n\t\t'[disabled]': 'disabled() ',\n\t\t'[attr.data-disabled]': 'disabled() ? \"\" : null',\n\t},\n})\nexport class HlmMenubarTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\tprivate readonly _config = injectHlmMenubarConfig();\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tpublic readonly align = input<MenuAlign>(this._config.align);\n\tpublic readonly side = input<MenuSide>(this._config.side);\n\n\tprivate readonly _menuPosition = computed(() => createMenuPosition(this.align(), this.side()));\n\n\tconstructor() {\n\t\t// CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved\n\t\t// position; the content reads it to animate from the anchored corner and to derive its data-side.\n\t\t// Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and\n\t\t// the assignment is a harmless no-op.\n\t\t(this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector = '[data-slot=\"dropdown-menu\"]';\n\n\t\teffect(() => {\n\t\t\tthis._cdkTrigger.menuPosition = this._menuPosition();\n\t\t});\n\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'hover:bg-muted aria-expanded:bg-muted rounded-sm px-1.5 py-[2px] text-sm font-medium flex items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50',\n\t\t);\n\t}\n}\n","import { HlmMenubar } from './lib/hlm-menubar';\nimport { HlmMenubarTrigger } from './lib/hlm-menubar-trigger';\n\nexport * from './lib/hlm-menubar';\nexport * from './lib/hlm-menubar-token';\nexport * from './lib/hlm-menubar-trigger';\n\nexport const HlmMenubarImports = [HlmMenubar, HlmMenubarTrigger] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}