yukit-web 0.0.11 → 0.0.13

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 (130) hide show
  1. package/.npm/_cacache/content-v2/sha512/03/98/70979fc359861d63479e1619d042ae426b2765f31a8af329a1f76a60cd26b0159ea29bb70209838d246dd6a0a5bafc6617f597733ccae24b8f25ae597d19 +1 -0
  2. package/.npm/_cacache/index-v5/64/dc/73c7a26f2e6eb0c711133d96c247da5ecf0eba708cd37c450a7b3c7cb488 +1 -1
  3. package/.npm/_logs/{2026-08-31T12_58_48_812Z-debug-0.log → 2026-09-03T11_06_22_047Z-debug-0.log} +10 -10
  4. package/.npm/_logs/{2026-08-31T12_58_49_377Z-debug-0.log → 2026-09-03T11_06_22_642Z-debug-0.log} +2 -2
  5. package/fesm2022/yukit-web-helm-accordion.mjs +12 -12
  6. package/fesm2022/yukit-web-helm-accordion.mjs.map +1 -1
  7. package/fesm2022/yukit-web-helm-alert-dialog.mjs +36 -36
  8. package/fesm2022/yukit-web-helm-alert-dialog.mjs.map +1 -1
  9. package/fesm2022/yukit-web-helm-alert.mjs +12 -12
  10. package/fesm2022/yukit-web-helm-alert.mjs.map +1 -1
  11. package/fesm2022/yukit-web-helm-aspect-ratio.mjs +3 -3
  12. package/fesm2022/yukit-web-helm-aspect-ratio.mjs.map +1 -1
  13. package/fesm2022/yukit-web-helm-attachment.mjs +27 -27
  14. package/fesm2022/yukit-web-helm-attachment.mjs.map +1 -1
  15. package/fesm2022/yukit-web-helm-autocomplete.mjs +36 -36
  16. package/fesm2022/yukit-web-helm-autocomplete.mjs.map +1 -1
  17. package/fesm2022/yukit-web-helm-avatar.mjs +18 -18
  18. package/fesm2022/yukit-web-helm-avatar.mjs.map +1 -1
  19. package/fesm2022/yukit-web-helm-badge.mjs +3 -3
  20. package/fesm2022/yukit-web-helm-badge.mjs.map +1 -1
  21. package/fesm2022/yukit-web-helm-breadcrumb.mjs +21 -21
  22. package/fesm2022/yukit-web-helm-breadcrumb.mjs.map +1 -1
  23. package/fesm2022/yukit-web-helm-bubble.mjs +12 -12
  24. package/fesm2022/yukit-web-helm-bubble.mjs.map +1 -1
  25. package/fesm2022/yukit-web-helm-button-group.mjs +9 -9
  26. package/fesm2022/yukit-web-helm-button-group.mjs.map +1 -1
  27. package/fesm2022/yukit-web-helm-button.mjs +3 -3
  28. package/fesm2022/yukit-web-helm-button.mjs.map +1 -1
  29. package/fesm2022/yukit-web-helm-calendar.mjs +12 -12
  30. package/fesm2022/yukit-web-helm-calendar.mjs.map +1 -1
  31. package/fesm2022/yukit-web-helm-card.mjs +21 -21
  32. package/fesm2022/yukit-web-helm-card.mjs.map +1 -1
  33. package/fesm2022/yukit-web-helm-carousel.mjs +18 -18
  34. package/fesm2022/yukit-web-helm-carousel.mjs.map +1 -1
  35. package/fesm2022/yukit-web-helm-checkbox.mjs +3 -3
  36. package/fesm2022/yukit-web-helm-checkbox.mjs.map +1 -1
  37. package/fesm2022/yukit-web-helm-collapsible.mjs +9 -9
  38. package/fesm2022/yukit-web-helm-collapsible.mjs.map +1 -1
  39. package/fesm2022/yukit-web-helm-combobox.mjs +63 -63
  40. package/fesm2022/yukit-web-helm-combobox.mjs.map +1 -1
  41. package/fesm2022/yukit-web-helm-command.mjs +33 -33
  42. package/fesm2022/yukit-web-helm-command.mjs.map +1 -1
  43. package/fesm2022/yukit-web-helm-context-menu.mjs +3 -3
  44. package/fesm2022/yukit-web-helm-context-menu.mjs.map +1 -1
  45. package/fesm2022/yukit-web-helm-date-picker.mjs +30 -30
  46. package/fesm2022/yukit-web-helm-date-picker.mjs.map +1 -1
  47. package/fesm2022/yukit-web-helm-dialog.mjs +33 -33
  48. package/fesm2022/yukit-web-helm-dialog.mjs.map +1 -1
  49. package/fesm2022/yukit-web-helm-drawer.mjs +30 -30
  50. package/fesm2022/yukit-web-helm-drawer.mjs.map +1 -1
  51. package/fesm2022/yukit-web-helm-dropdown-menu.mjs +51 -51
  52. package/fesm2022/yukit-web-helm-dropdown-menu.mjs.map +1 -1
  53. package/fesm2022/yukit-web-helm-empty.mjs +18 -18
  54. package/fesm2022/yukit-web-helm-empty.mjs.map +1 -1
  55. package/fesm2022/yukit-web-helm-field.mjs +30 -30
  56. package/fesm2022/yukit-web-helm-field.mjs.map +1 -1
  57. package/fesm2022/yukit-web-helm-hover-card.mjs +12 -12
  58. package/fesm2022/yukit-web-helm-hover-card.mjs.map +1 -1
  59. package/fesm2022/yukit-web-helm-input-group.mjs +18 -18
  60. package/fesm2022/yukit-web-helm-input-group.mjs.map +1 -1
  61. package/fesm2022/yukit-web-helm-input-otp.mjs +15 -15
  62. package/fesm2022/yukit-web-helm-input-otp.mjs.map +1 -1
  63. package/fesm2022/yukit-web-helm-input.mjs +3 -3
  64. package/fesm2022/yukit-web-helm-input.mjs.map +1 -1
  65. package/fesm2022/yukit-web-helm-item.mjs +30 -30
  66. package/fesm2022/yukit-web-helm-item.mjs.map +1 -1
  67. package/fesm2022/yukit-web-helm-kbd.mjs +6 -6
  68. package/fesm2022/yukit-web-helm-kbd.mjs.map +1 -1
  69. package/fesm2022/yukit-web-helm-label.mjs +3 -3
  70. package/fesm2022/yukit-web-helm-label.mjs.map +1 -1
  71. package/fesm2022/yukit-web-helm-marker.mjs +9 -9
  72. package/fesm2022/yukit-web-helm-marker.mjs.map +1 -1
  73. package/fesm2022/yukit-web-helm-menubar.mjs +6 -6
  74. package/fesm2022/yukit-web-helm-menubar.mjs.map +1 -1
  75. package/fesm2022/yukit-web-helm-message.mjs +18 -18
  76. package/fesm2022/yukit-web-helm-message.mjs.map +1 -1
  77. package/fesm2022/yukit-web-helm-native-select.mjs +9 -9
  78. package/fesm2022/yukit-web-helm-native-select.mjs.map +1 -1
  79. package/fesm2022/yukit-web-helm-navigation-menu.mjs +21 -21
  80. package/fesm2022/yukit-web-helm-navigation-menu.mjs.map +1 -1
  81. package/fesm2022/yukit-web-helm-pagination.mjs +27 -27
  82. package/fesm2022/yukit-web-helm-pagination.mjs.map +1 -1
  83. package/fesm2022/yukit-web-helm-popover.mjs +21 -21
  84. package/fesm2022/yukit-web-helm-popover.mjs.map +1 -1
  85. package/fesm2022/yukit-web-helm-progress.mjs +6 -6
  86. package/fesm2022/yukit-web-helm-progress.mjs.map +1 -1
  87. package/fesm2022/yukit-web-helm-radio-group.mjs +9 -9
  88. package/fesm2022/yukit-web-helm-radio-group.mjs.map +1 -1
  89. package/fesm2022/yukit-web-helm-resizable.mjs +9 -9
  90. package/fesm2022/yukit-web-helm-resizable.mjs.map +1 -1
  91. package/fesm2022/yukit-web-helm-scroll-area.mjs +3 -3
  92. package/fesm2022/yukit-web-helm-scroll-area.mjs.map +1 -1
  93. package/fesm2022/yukit-web-helm-select.mjs +48 -48
  94. package/fesm2022/yukit-web-helm-select.mjs.map +1 -1
  95. package/fesm2022/yukit-web-helm-separator.mjs +3 -3
  96. package/fesm2022/yukit-web-helm-separator.mjs.map +1 -1
  97. package/fesm2022/yukit-web-helm-sheet.mjs +30 -30
  98. package/fesm2022/yukit-web-helm-sheet.mjs.map +1 -1
  99. package/fesm2022/yukit-web-helm-sidebar.mjs +72 -72
  100. package/fesm2022/yukit-web-helm-sidebar.mjs.map +1 -1
  101. package/fesm2022/yukit-web-helm-skeleton.mjs +3 -3
  102. package/fesm2022/yukit-web-helm-skeleton.mjs.map +1 -1
  103. package/fesm2022/yukit-web-helm-slider.mjs +3 -3
  104. package/fesm2022/yukit-web-helm-slider.mjs.map +1 -1
  105. package/fesm2022/yukit-web-helm-sonner.mjs +3 -3
  106. package/fesm2022/yukit-web-helm-sonner.mjs.map +1 -1
  107. package/fesm2022/yukit-web-helm-spinner.mjs +3 -3
  108. package/fesm2022/yukit-web-helm-spinner.mjs.map +1 -1
  109. package/fesm2022/yukit-web-helm-switch.mjs +6 -6
  110. package/fesm2022/yukit-web-helm-switch.mjs.map +1 -1
  111. package/fesm2022/yukit-web-helm-table.mjs +27 -27
  112. package/fesm2022/yukit-web-helm-table.mjs.map +1 -1
  113. package/fesm2022/yukit-web-helm-tabs.mjs +18 -18
  114. package/fesm2022/yukit-web-helm-tabs.mjs.map +1 -1
  115. package/fesm2022/yukit-web-helm-textarea.mjs +3 -3
  116. package/fesm2022/yukit-web-helm-textarea.mjs.map +1 -1
  117. package/fesm2022/yukit-web-helm-toggle-group.mjs +6 -6
  118. package/fesm2022/yukit-web-helm-toggle-group.mjs.map +1 -1
  119. package/fesm2022/yukit-web-helm-toggle.mjs +3 -3
  120. package/fesm2022/yukit-web-helm-toggle.mjs.map +1 -1
  121. package/fesm2022/yukit-web-helm-tooltip.mjs +3 -3
  122. package/fesm2022/yukit-web-helm-tooltip.mjs.map +1 -1
  123. package/fesm2022/yukit-web-helm-typography.mjs +36 -36
  124. package/fesm2022/yukit-web-helm-typography.mjs.map +1 -1
  125. package/fesm2022/yukit-web-helm-utils.mjs.map +1 -1
  126. package/fesm2022/yukit-web.mjs +997 -910
  127. package/fesm2022/yukit-web.mjs.map +1 -1
  128. package/package.json +2 -2
  129. package/types/yukit-web.d.ts +315 -290
  130. package/.npm/_cacache/content-v2/sha512/91/84/7c92c9dd9c293aab175752ad46bf81644f183a08e6d676883687d9582b567e12d86c1a66d285eecd45ad523581dc28033a028ee028f51693fc126121d19f +0 -1
@@ -31,10 +31,10 @@ class HlmDropdownMenu {
31
31
  this._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));
32
32
  });
33
33
  }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenu, isStandalone: true, selector: "[hlmDropdownMenu],hlm-dropdown-menu", inputs: { sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu" }, properties: { "attr.data-state": "_state()", "attr.data-side": "_side()", "style.--side-offset": "sideOffset()" } }, hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
34
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenu, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
35
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenu, isStandalone: true, selector: "[hlmDropdownMenu],hlm-dropdown-menu", inputs: { sideOffset: { classPropertyName: "sideOffset", publicName: "sideOffset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu" }, properties: { "attr.data-state": "_state()", "attr.data-side": "_side()", "style.--side-offset": "sideOffset()" } }, hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
36
36
  }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenu, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenu, decorators: [{
38
38
  type: Directive,
39
39
  args: [{
40
40
  selector: '[hlmDropdownMenu],hlm-dropdown-menu',
@@ -73,10 +73,10 @@ class HlmDropdownMenuFocusOnHover {
73
73
  }
74
74
  this._parentMenu?.setActiveMenuItem(this._cdkMenuItem);
75
75
  }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuFocusOnHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
77
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuFocusOnHover, isStandalone: true, selector: "[hlmDropdownMenuFocusOnHover]", host: { listeners: { "mouseenter": "_focusOnHover()" } }, ngImport: i0 }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuFocusOnHover, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
77
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuFocusOnHover, isStandalone: true, selector: "[hlmDropdownMenuFocusOnHover]", host: { listeners: { "mouseenter": "_focusOnHover()" } }, ngImport: i0 }); }
78
78
  }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuFocusOnHover, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuFocusOnHover, decorators: [{
80
80
  type: Directive,
81
81
  args: [{
82
82
  selector: '[hlmDropdownMenuFocusOnHover]',
@@ -95,14 +95,14 @@ class HlmDropdownMenuCheckboxCdk extends CdkMenuItemCheckbox {
95
95
  trigger(options) {
96
96
  super.trigger({ ...options, keepOpen: this.keepOpen() });
97
97
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuCheckboxCdk, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
99
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenuCheckboxCdk, isStandalone: true, selector: "[hlmDropdownMenuCheckboxCdk]", inputs: { keepOpen: { classPropertyName: "keepOpen", publicName: "keepOpen", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
98
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuCheckboxCdk, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
99
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenuCheckboxCdk, isStandalone: true, selector: "[hlmDropdownMenuCheckboxCdk]", inputs: { keepOpen: { classPropertyName: "keepOpen", publicName: "keepOpen", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
100
100
  { provide: CdkMenuItemCheckbox, useExisting: HlmDropdownMenuCheckboxCdk },
101
101
  { provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuCheckboxCdk },
102
102
  { provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },
103
103
  ], usesInheritance: true, ngImport: i0 }); }
104
104
  }
105
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuCheckboxCdk, decorators: [{
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuCheckboxCdk, decorators: [{
106
106
  type: Directive,
107
107
  args: [{
108
108
  selector: '[hlmDropdownMenuCheckboxCdk]',
@@ -119,10 +119,10 @@ class HlmDropdownMenuCheckbox {
119
119
  this.inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
120
120
  classes(() => "hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-checkbox relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0");
121
121
  }
122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
123
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenuCheckbox, isStandalone: true, selector: "[hlmDropdownMenuCheckbox],[hlmDropdownMenuCheckboxItem]", inputs: { inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu-checkbox-item" }, properties: { "attr.data-disabled": "_cdkMenuItem.disabled ? \"\" : null", "attr.data-checked": "_cdkMenuItem.checked ? \"\" : null", "attr.data-inset": "inset() ? \"\" : null" } }, hostDirectives: [{ directive: HlmDropdownMenuCheckboxCdk, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuItemChecked", "checked", "keepOpen", "keepOpen"], outputs: ["cdkMenuItemTriggered", "triggered"] }, { directive: HlmDropdownMenuFocusOnHover }], ngImport: i0 }); }
122
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
123
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenuCheckbox, isStandalone: true, selector: "[hlmDropdownMenuCheckbox],[hlmDropdownMenuCheckboxItem]", inputs: { inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu-checkbox-item" }, properties: { "attr.data-disabled": "_cdkMenuItem.disabled ? \"\" : null", "attr.data-checked": "_cdkMenuItem.checked ? \"\" : null", "attr.data-inset": "inset() ? \"\" : null" } }, hostDirectives: [{ directive: HlmDropdownMenuCheckboxCdk, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuItemChecked", "checked", "keepOpen", "keepOpen"], outputs: ["cdkMenuItemTriggered", "triggered"] }, { directive: HlmDropdownMenuFocusOnHover }], ngImport: i0 }); }
124
124
  }
125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuCheckbox, decorators: [{
125
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuCheckbox, decorators: [{
126
126
  type: Directive,
127
127
  args: [{
128
128
  selector: '[hlmDropdownMenuCheckbox],[hlmDropdownMenuCheckboxItem]',
@@ -147,12 +147,12 @@ class HlmDropdownMenuCheckboxIndicator {
147
147
  constructor() {
148
148
  classes(() => 'absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)] pointer-events-none opacity-0 group-data-checked/dropdown-menu-checkbox:opacity-100');
149
149
  }
150
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuCheckboxIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
151
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuCheckboxIndicator, isStandalone: true, selector: "hlm-dropdown-menu-checkbox-indicator", host: { attributes: { "data-slot": "dropdown-menu-checkbox-item-indicator" } }, providers: [provideIcons({ lucideCheck })], ngImport: i0, template: `
150
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuCheckboxIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
151
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuCheckboxIndicator, isStandalone: true, selector: "hlm-dropdown-menu-checkbox-indicator", host: { attributes: { "data-slot": "dropdown-menu-checkbox-item-indicator" } }, providers: [provideIcons({ lucideCheck })], ngImport: i0, template: `
152
152
  <ng-icon name="lucideCheck" />
153
153
  `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
154
154
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuCheckboxIndicator, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuCheckboxIndicator, decorators: [{
156
156
  type: Component,
157
157
  args: [{
158
158
  selector: 'hlm-dropdown-menu-checkbox-indicator',
@@ -170,10 +170,10 @@ class HlmDropdownMenuGroup {
170
170
  constructor() {
171
171
  classes(() => 'block');
172
172
  }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
174
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuGroup, isStandalone: true, selector: "[hlmDropdownMenuGroup],hlm-dropdown-menu-group", host: { attributes: { "data-slot": "dropdown-menu-group" } }, hostDirectives: [{ directive: i1.CdkMenuGroup }], ngImport: i0 }); }
173
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
174
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuGroup, isStandalone: true, selector: "[hlmDropdownMenuGroup],hlm-dropdown-menu-group", host: { attributes: { "data-slot": "dropdown-menu-group" } }, hostDirectives: [{ directive: i1.CdkMenuGroup }], ngImport: i0 }); }
175
175
  }
176
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuGroup, decorators: [{
176
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuGroup, decorators: [{
177
177
  type: Directive,
178
178
  args: [{
179
179
  selector: '[hlmDropdownMenuGroup],hlm-dropdown-menu-group',
@@ -190,10 +190,10 @@ class HlmDropdownMenuItem {
190
190
  this.inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
191
191
  classes(() => "hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-destructive/10 data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:hover:bg-destructive/20 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:hover:text-destructive data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive not-data-[variant=destructive]:hover:**:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-item relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0");
192
192
  }
193
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
194
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenuItem, isStandalone: true, selector: "[hlmDropdownMenuItem],hlm-dropdown-menu-item", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu-item" }, properties: { "attr.disabled": "_isButton && disabled() ? \"\" : null", "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-variant": "variant()", "attr.data-inset": "inset() ? \"\" : null" } }, hostDirectives: [{ directive: i1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled"], outputs: ["cdkMenuItemTriggered", "triggered"] }, { directive: HlmDropdownMenuFocusOnHover }], ngImport: i0 }); }
193
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuItem, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
194
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenuItem, isStandalone: true, selector: "[hlmDropdownMenuItem],hlm-dropdown-menu-item", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu-item" }, properties: { "attr.disabled": "_isButton && disabled() ? \"\" : null", "attr.data-disabled": "disabled() ? \"\" : null", "attr.data-variant": "variant()", "attr.data-inset": "inset() ? \"\" : null" } }, hostDirectives: [{ directive: i1.CdkMenuItem, inputs: ["cdkMenuItemDisabled", "disabled"], outputs: ["cdkMenuItemTriggered", "triggered"] }, { directive: HlmDropdownMenuFocusOnHover }], ngImport: i0 }); }
195
195
  }
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuItem, decorators: [{
196
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuItem, decorators: [{
197
197
  type: Directive,
198
198
  args: [{
199
199
  selector: '[hlmDropdownMenuItem],hlm-dropdown-menu-item',
@@ -219,12 +219,12 @@ class HlmDropdownMenuItemSubIndicator {
219
219
  constructor() {
220
220
  classes(() => 'ms-auto flex items-center justify-center');
221
221
  }
222
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuItemSubIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
223
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuItemSubIndicator, isStandalone: true, selector: "hlm-dropdown-menu-item-sub-indicator", providers: [provideIcons({ lucideChevronRight })], ngImport: i0, template: `
222
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuItemSubIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
223
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuItemSubIndicator, isStandalone: true, selector: "hlm-dropdown-menu-item-sub-indicator", providers: [provideIcons({ lucideChevronRight })], ngImport: i0, template: `
224
224
  <ng-icon name="lucideChevronRight" class="text-[length:--spacing(4)] rtl:rotate-180" />
225
225
  `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
226
226
  }
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuItemSubIndicator, decorators: [{
227
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuItemSubIndicator, decorators: [{
228
228
  type: Component,
229
229
  args: [{
230
230
  selector: 'hlm-dropdown-menu-item-sub-indicator',
@@ -242,10 +242,10 @@ class HlmDropdownMenuLabel {
242
242
  this.inset = input(false, { ...(ngDevMode ? { debugName: "inset" } : /* istanbul ignore next */ {}), transform: booleanAttribute });
243
243
  classes(() => 'text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:ps-7 block');
244
244
  }
245
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
246
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenuLabel, isStandalone: true, selector: "[hlmDropdownMenuLabel],hlm-dropdown-menu-label", inputs: { inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu-label" }, properties: { "attr.data-inset": "inset() ? \"\" : null" } }, ngImport: i0 }); }
245
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
246
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenuLabel, isStandalone: true, selector: "[hlmDropdownMenuLabel],hlm-dropdown-menu-label", inputs: { inset: { classPropertyName: "inset", publicName: "inset", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "dropdown-menu-label" }, properties: { "attr.data-inset": "inset() ? \"\" : null" } }, ngImport: i0 }); }
247
247
  }
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuLabel, decorators: [{
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuLabel, decorators: [{
249
249
  type: Directive,
250
250
  args: [{
251
251
  selector: '[hlmDropdownMenuLabel],hlm-dropdown-menu-label',
@@ -265,14 +265,14 @@ class HlmDropdownMenuRadioCdk extends CdkMenuItemRadio {
265
265
  trigger(options) {
266
266
  super.trigger({ ...options, keepOpen: this.keepOpen() });
267
267
  }
268
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuRadioCdk, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
269
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenuRadioCdk, isStandalone: true, selector: "[hlmDropdownMenuRadioCdk]", inputs: { keepOpen: { classPropertyName: "keepOpen", publicName: "keepOpen", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
268
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuRadioCdk, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
269
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenuRadioCdk, isStandalone: true, selector: "[hlmDropdownMenuRadioCdk]", inputs: { keepOpen: { classPropertyName: "keepOpen", publicName: "keepOpen", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
270
270
  { provide: CdkMenuItemRadio, useExisting: HlmDropdownMenuRadioCdk },
271
271
  { provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuRadioCdk },
272
272
  { provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },
273
273
  ], usesInheritance: true, ngImport: i0 }); }
274
274
  }
275
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuRadioCdk, decorators: [{
275
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuRadioCdk, decorators: [{
276
276
  type: Directive,
277
277
  args: [{
278
278
  selector: '[hlmDropdownMenuRadioCdk]',
@@ -288,10 +288,10 @@ class HlmDropdownMenuRadio {
288
288
  this._cdkMenuItem = inject(HlmDropdownMenuRadioCdk);
289
289
  classes(() => "hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-radio relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0");
290
290
  }
291
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuRadio, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
292
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuRadio, isStandalone: true, selector: "[hlmDropdownMenuRadio]", host: { attributes: { "data-slot": "dropdown-menu-radio-item" }, properties: { "attr.data-disabled": "_cdkMenuItem.disabled ? \"\" : null", "attr.data-checked": "_cdkMenuItem.checked ? \"\" : null" } }, hostDirectives: [{ directive: HlmDropdownMenuRadioCdk, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuItemChecked", "checked", "keepOpen", "keepOpen"], outputs: ["cdkMenuItemTriggered", "triggered"] }, { directive: HlmDropdownMenuFocusOnHover }], ngImport: i0 }); }
291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuRadio, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
292
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuRadio, isStandalone: true, selector: "[hlmDropdownMenuRadio]", host: { attributes: { "data-slot": "dropdown-menu-radio-item" }, properties: { "attr.data-disabled": "_cdkMenuItem.disabled ? \"\" : null", "attr.data-checked": "_cdkMenuItem.checked ? \"\" : null" } }, hostDirectives: [{ directive: HlmDropdownMenuRadioCdk, inputs: ["cdkMenuItemDisabled", "disabled", "cdkMenuItemChecked", "checked", "keepOpen", "keepOpen"], outputs: ["cdkMenuItemTriggered", "triggered"] }, { directive: HlmDropdownMenuFocusOnHover }], ngImport: i0 }); }
293
293
  }
294
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuRadio, decorators: [{
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuRadio, decorators: [{
295
295
  type: Directive,
296
296
  args: [{
297
297
  selector: '[hlmDropdownMenuRadio]',
@@ -315,12 +315,12 @@ class HlmDropdownMenuRadioIndicator {
315
315
  constructor() {
316
316
  classes(() => 'absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)] pointer-events-none opacity-0 group-data-checked/dropdown-menu-radio:opacity-100');
317
317
  }
318
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuRadioIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
319
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuRadioIndicator, isStandalone: true, selector: "hlm-dropdown-menu-radio-indicator", host: { attributes: { "data-slot": "dropdown-menu-radio-item-indicator" } }, providers: [provideIcons({ lucideCheck })], ngImport: i0, template: `
318
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuRadioIndicator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
319
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuRadioIndicator, isStandalone: true, selector: "hlm-dropdown-menu-radio-indicator", host: { attributes: { "data-slot": "dropdown-menu-radio-item-indicator" } }, providers: [provideIcons({ lucideCheck })], ngImport: i0, template: `
320
320
  <ng-icon name="lucideCheck" />
321
321
  `, isInline: true, dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
322
322
  }
323
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuRadioIndicator, decorators: [{
323
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuRadioIndicator, decorators: [{
324
324
  type: Component,
325
325
  args: [{
326
326
  selector: 'hlm-dropdown-menu-radio-indicator',
@@ -338,10 +338,10 @@ class HlmDropdownMenuSeparator {
338
338
  constructor() {
339
339
  classes(() => 'bg-border -mx-1 my-1 h-px block');
340
340
  }
341
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
342
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuSeparator, isStandalone: true, selector: "[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator", host: { attributes: { "data-slot": "dropdown-menu-separator" } }, ngImport: i0 }); }
341
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
342
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuSeparator, isStandalone: true, selector: "[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator", host: { attributes: { "data-slot": "dropdown-menu-separator" } }, ngImport: i0 }); }
343
343
  }
344
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuSeparator, decorators: [{
344
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuSeparator, decorators: [{
345
345
  type: Directive,
346
346
  args: [{
347
347
  selector: '[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator',
@@ -353,10 +353,10 @@ class HlmDropdownMenuShortcut {
353
353
  constructor() {
354
354
  classes(() => 'text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ms-auto text-xs tracking-widest');
355
355
  }
356
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuShortcut, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
357
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuShortcut, isStandalone: true, selector: "[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut", host: { attributes: { "data-slot": "dropdown-menu-shortcut" } }, ngImport: i0 }); }
356
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuShortcut, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
357
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuShortcut, isStandalone: true, selector: "[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut", host: { attributes: { "data-slot": "dropdown-menu-shortcut" } }, ngImport: i0 }); }
358
358
  }
359
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuShortcut, decorators: [{
359
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuShortcut, decorators: [{
360
360
  type: Directive,
361
361
  args: [{
362
362
  selector: '[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut',
@@ -385,10 +385,10 @@ class HlmDropdownMenuSub {
385
385
  this._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));
386
386
  });
387
387
  }
388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuSub, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
389
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.8", type: HlmDropdownMenuSub, isStandalone: true, selector: "[hlmDropdownMenuSub],hlm-dropdown-menu-sub", host: { attributes: { "data-slot": "dropdown-menu-sub" }, properties: { "attr.data-state": "_state()", "attr.data-side": "_side()" } }, hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
388
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuSub, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
389
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.2.22", type: HlmDropdownMenuSub, isStandalone: true, selector: "[hlmDropdownMenuSub],hlm-dropdown-menu-sub", host: { attributes: { "data-slot": "dropdown-menu-sub" }, properties: { "attr.data-state": "_state()", "attr.data-side": "_side()" } }, hostDirectives: [{ directive: i1.CdkMenu }], ngImport: i0 }); }
390
390
  }
391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuSub, decorators: [{
391
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuSub, decorators: [{
392
392
  type: Directive,
393
393
  args: [{
394
394
  selector: '[hlmDropdownMenuSub],hlm-dropdown-menu-sub',
@@ -430,10 +430,10 @@ class HlmDropdownMenuSubTrigger {
430
430
  });
431
431
  classes(() => 'aria-expanded:bg-accent aria-expanded:text-accent-foreground');
432
432
  }
433
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuSubTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
434
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenuSubTrigger, isStandalone: true, selector: "[hlmDropdownMenuSubTrigger]", inputs: { 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": "dropdown-menu-sub-trigger" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuSubTrigger) }], hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "hlmDropdownMenuSubTrigger", "cdkMenuTriggerData", "hlmDropdownMenuTriggerData"], outputs: ["cdkMenuOpened", "hlmDropdownMenuSubOpened", "cdkMenuClosed", "hlmDropdownMenuSubClosed"] }], ngImport: i0 }); }
433
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuSubTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
434
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenuSubTrigger, isStandalone: true, selector: "[hlmDropdownMenuSubTrigger]", inputs: { 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": "dropdown-menu-sub-trigger" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuSubTrigger) }], hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "hlmDropdownMenuSubTrigger", "cdkMenuTriggerData", "hlmDropdownMenuTriggerData"], outputs: ["cdkMenuOpened", "hlmDropdownMenuSubOpened", "cdkMenuClosed", "hlmDropdownMenuSubClosed"] }], ngImport: i0 }); }
435
435
  }
436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuSubTrigger, decorators: [{
436
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuSubTrigger, decorators: [{
437
437
  type: Directive,
438
438
  args: [{
439
439
  selector: '[hlmDropdownMenuSubTrigger]',
@@ -464,10 +464,10 @@ class HlmDropdownMenuTrigger {
464
464
  this._cdkTrigger.menuPosition = this._menuPosition();
465
465
  });
466
466
  }
467
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
468
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.8", type: HlmDropdownMenuTrigger, isStandalone: true, selector: "[hlmDropdownMenuTrigger]", inputs: { 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": "dropdown-menu-trigger" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuTrigger) }], hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "hlmDropdownMenuTrigger", "cdkMenuTriggerData", "hlmDropdownMenuTriggerData"], outputs: ["cdkMenuOpened", "hlmDropdownMenuOpened", "cdkMenuClosed", "hlmDropdownMenuClosed"] }], ngImport: i0 }); }
467
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuTrigger, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
468
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.22", type: HlmDropdownMenuTrigger, isStandalone: true, selector: "[hlmDropdownMenuTrigger]", inputs: { 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": "dropdown-menu-trigger" } }, providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuTrigger) }], hostDirectives: [{ directive: i1.CdkMenuTrigger, inputs: ["cdkMenuTriggerFor", "hlmDropdownMenuTrigger", "cdkMenuTriggerData", "hlmDropdownMenuTriggerData"], outputs: ["cdkMenuOpened", "hlmDropdownMenuOpened", "cdkMenuClosed", "hlmDropdownMenuClosed"] }], ngImport: i0 }); }
469
469
  }
470
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: HlmDropdownMenuTrigger, decorators: [{
470
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.22", ngImport: i0, type: HlmDropdownMenuTrigger, decorators: [{
471
471
  type: Directive,
472
472
  args: [{
473
473
  selector: '[hlmDropdownMenuTrigger]',
@@ -1 +1 @@
1
- {"version":3,"file":"yukit-web-helm-dropdown-menu.mjs","sources":["../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-focus-on-hover.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox-indicator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-group.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-item.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-item-sub-indicator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-label.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-radio.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-radio-indicator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-separator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-shortcut.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-sub.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-token.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-sub-trigger.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-trigger.ts","../../../projects/yukit-web/helm/dropdown-menu/src/index.ts","../../../projects/yukit-web/helm/dropdown-menu/src/yukit-web-helm-dropdown-menu.ts"],"sourcesContent":["import { type NumberInput } from '@angular/cdk/coercion';\nimport { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, ElementRef, inject, input, numberAttribute, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { deriveMenuSideFromTransformOrigin, MENU_SIDE, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenu],hlm-dropdown-menu',\n\thostDirectives: [CdkMenu],\n\thost: {\n\t\t'data-slot': 'dropdown-menu',\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.data-side]': '_side()',\n\t\t'[style.--side-offset]': 'sideOffset()',\n\t},\n})\nexport class HlmDropdownMenu {\n\tprivate readonly _host = inject(CdkMenu);\n\tprivate readonly _elementRef = inject(ElementRef<HTMLElement>);\n\t// The trigger provides its configured side; CDK parents this content's injector under the trigger's.\n\tprivate readonly _menuSide = inject(MENU_SIDE, { optional: true });\n\n\tprotected readonly _state = signal('open');\n\tprotected readonly _side = signal<MenuSide>(this._menuSide?.side() ?? 'bottom');\n\n\tpublic readonly sideOffset = input<number, NumberInput>(1, { transform: numberAttribute });\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'motion-safe:data-open:animate-in motion-safe:data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 my-[--spacing(var(--side-offset))] overflow-x-hidden overflow-y-auto outline-none',\n\t\t);\n\n\t\tthis.setSideFromTransformOrigin();\n\t\t// this is a best effort, but does not seem to work currently\n\t\t// TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n\t\tthis._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\t}\n\n\tprivate setSideFromTransformOrigin() {\n\t\tconst side = this._menuSide?.side() ?? 'bottom';\n\t\t// CDK sets transform-origin on this element synchronously on attach; read it next tick and derive side\n\t\tsetTimeout(() => {\n\t\t\tthis._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));\n\t\t});\n\t}\n}\n","import { InputModalityDetector } from '@angular/cdk/a11y';\nimport { CdkMenu, CdkMenuItem } from '@angular/cdk/menu';\nimport { Directive, inject } from '@angular/core';\n\n/**\n * @internal\n * Moves DOM focus to the hovered menu item. CDK menus only move focus with the keyboard, so on a pointer\n * the highlight would otherwise stay on the last keyboard-focused item (leaving two rows highlighted) and,\n * when a submenu closes, focus would fall to <body>, the menu stack would report no focus, and the whole\n * dropdown would collapse. Following the pointer with focus (Radix/shadcn behaviour) keeps a single\n * highlight and keeps focus inside the menu stack. setActiveMenuItem also syncs the key manager so keyboard\n * navigation continues from the hovered item.\n *\n * Applied as a host directive on every dropdown item type (item, checkbox, radio, sub-trigger).\n */\n@Directive({\n\tselector: '[hlmDropdownMenuFocusOnHover]',\n\thost: {\n\t\t'(mouseenter)': '_focusOnHover()',\n\t},\n})\nexport class HlmDropdownMenuFocusOnHover {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItem, { self: true });\n\tprivate readonly _parentMenu = inject(CdkMenu, { optional: true });\n\tprivate readonly _inputModality = inject(InputModalityDetector);\n\n\tprotected _focusOnHover(): void {\n\t\t// Only skip synthetic hovers from touch taps; every real hover (mouse, or keyboard-then-hover,\n\t\t// which leaves the modality as 'keyboard') should move focus to keep a single highlight.\n\t\tif (this._inputModality.mostRecentModality === 'touch' || this._cdkMenuItem.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis._parentMenu?.setActiveMenuItem(this._cdkMenuItem);\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemSelectable } from '@angular/cdk/menu';\nimport { Directive, booleanAttribute, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n/** @internal. Use HlmDropdownMenuCheckbox instead. */\n@Directive({\n\tselector: '[hlmDropdownMenuCheckboxCdk]',\n\tproviders: [\n\t\t{ provide: CdkMenuItemCheckbox, useExisting: HlmDropdownMenuCheckboxCdk },\n\t\t{ provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuCheckboxCdk },\n\t\t{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },\n\t],\n})\nexport class HlmDropdownMenuCheckboxCdk extends CdkMenuItemCheckbox {\n\tpublic readonly keepOpen = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n\tpublic override trigger(options?: { keepOpen: boolean }) {\n\t\tsuper.trigger({ ...options, keepOpen: this.keepOpen() });\n\t}\n}\n\n@Directive({\n\tselector: '[hlmDropdownMenuCheckbox],[hlmDropdownMenuCheckboxItem]',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: HlmDropdownMenuCheckboxCdk,\n\t\t\tinputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked', 'keepOpen'],\n\t\t\toutputs: ['cdkMenuItemTriggered: triggered'],\n\t\t},\n\t\tHlmDropdownMenuFocusOnHover,\n\t],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-checkbox-item',\n\t\t'[attr.data-disabled]': '_cdkMenuItem.disabled ? \"\" : null',\n\t\t'[attr.data-checked]': '_cdkMenuItem.checked ? \"\" : null',\n\t\t'[attr.data-inset]': 'inset() ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuCheckbox {\n\tprotected readonly _cdkMenuItem = inject(HlmDropdownMenuCheckboxCdk);\n\n\tpublic readonly inset = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t\"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-checkbox relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n\t\t);\n\t}\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-dropdown-menu-checkbox-indicator',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucideCheck })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { 'data-slot': 'dropdown-menu-checkbox-item-indicator' },\n\ttemplate: `\n\t\t<ng-icon name=\"lucideCheck\" />\n\t`,\n})\nexport class HlmDropdownMenuCheckboxIndicator {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)] pointer-events-none opacity-0 group-data-checked/dropdown-menu-checkbox:opacity-100',\n\t\t);\n\t}\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuGroup],hlm-dropdown-menu-group',\n\thostDirectives: [CdkMenuGroup],\n\thost: { 'data-slot': 'dropdown-menu-group' },\n})\nexport class HlmDropdownMenuGroup {\n\tconstructor() {\n\t\tclasses(() => 'block');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, HOST_TAG_NAME, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n@Directive({\n\tselector: '[hlmDropdownMenuItem],hlm-dropdown-menu-item',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuItem,\n\t\t\tinputs: ['cdkMenuItemDisabled: disabled'],\n\t\t\toutputs: ['cdkMenuItemTriggered: triggered'],\n\t\t},\n\t\tHlmDropdownMenuFocusOnHover,\n\t],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-item',\n\t\t'[attr.disabled]': '_isButton && disabled() ? \"\" : null',\n\t\t'[attr.data-disabled]': 'disabled() ? \"\" : null',\n\t\t'[attr.data-variant]': 'variant()',\n\t\t'[attr.data-inset]': 'inset() ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuItem {\n\tprotected readonly _isButton = inject(HOST_TAG_NAME) === 'button';\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tpublic readonly variant = input<'default' | 'destructive'>('default');\n\n\tpublic readonly inset = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t\"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-destructive/10 data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:hover:bg-destructive/20 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:hover:text-destructive data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive not-data-[variant=destructive]:hover:**:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-item relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n\t\t);\n\t}\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronRight } from '@ng-icons/lucide';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-dropdown-menu-item-sub-indicator',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucideChevronRight })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<ng-icon name=\"lucideChevronRight\" class=\"text-[length:--spacing(4)] rtl:rotate-180\" />\n\t`,\n})\nexport class HlmDropdownMenuItemSubIndicator {\n\tconstructor() {\n\t\tclasses(() => 'ms-auto flex items-center justify-center');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuLabel],hlm-dropdown-menu-label',\n\thost: {\n\t\t'data-slot': 'dropdown-menu-label',\n\t\t'[attr.data-inset]': 'inset() ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuLabel {\n\tpublic readonly inset = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tconstructor() {\n\t\tclasses(() => 'text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:ps-7 block');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem, CdkMenuItemRadio, CdkMenuItemSelectable } from '@angular/cdk/menu';\nimport { Directive, booleanAttribute, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n/** @internal. Use HlmDropdownMenuRadio instead. */\n@Directive({\n\tselector: '[hlmDropdownMenuRadioCdk]',\n\tproviders: [\n\t\t{ provide: CdkMenuItemRadio, useExisting: HlmDropdownMenuRadioCdk },\n\t\t{ provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuRadioCdk },\n\t\t{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },\n\t],\n})\nexport class HlmDropdownMenuRadioCdk extends CdkMenuItemRadio {\n\tpublic readonly keepOpen = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n\tpublic override trigger(options?: { keepOpen: boolean }) {\n\t\tsuper.trigger({ ...options, keepOpen: this.keepOpen() });\n\t}\n}\n\n@Directive({\n\tselector: '[hlmDropdownMenuRadio]',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: HlmDropdownMenuRadioCdk,\n\t\t\tinputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked', 'keepOpen'],\n\t\t\toutputs: ['cdkMenuItemTriggered: triggered'],\n\t\t},\n\t\tHlmDropdownMenuFocusOnHover,\n\t],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-radio-item',\n\t\t'[attr.data-disabled]': '_cdkMenuItem.disabled ? \"\" : null',\n\t\t'[attr.data-checked]': '_cdkMenuItem.checked ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuRadio {\n\tprotected readonly _cdkMenuItem = inject(HlmDropdownMenuRadioCdk);\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t\"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-radio relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n\t\t);\n\t}\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-dropdown-menu-radio-indicator',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucideCheck })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { 'data-slot': 'dropdown-menu-radio-item-indicator' },\n\ttemplate: `\n\t\t<ng-icon name=\"lucideCheck\" />\n\t`,\n})\nexport class HlmDropdownMenuRadioIndicator {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)] pointer-events-none opacity-0 group-data-checked/dropdown-menu-radio:opacity-100',\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator',\n\thost: { 'data-slot': 'dropdown-menu-separator' },\n})\nexport class HlmDropdownMenuSeparator {\n\tconstructor() {\n\t\tclasses(() => 'bg-border -mx-1 my-1 h-px block');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut',\n\thost: { 'data-slot': 'dropdown-menu-shortcut' },\n})\nexport class HlmDropdownMenuShortcut {\n\tconstructor() {\n\t\tclasses(() => 'text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ms-auto text-xs tracking-widest');\n\t}\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, ElementRef, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { deriveMenuSideFromTransformOrigin, MENU_SIDE, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuSub],hlm-dropdown-menu-sub',\n\thostDirectives: [CdkMenu],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-sub',\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.data-side]': '_side()',\n\t},\n})\nexport class HlmDropdownMenuSub {\n\tprivate readonly _host = inject(CdkMenu);\n\tprivate readonly _elementRef = inject(ElementRef<HTMLElement>);\n\t// The sub-trigger provides its configured side; CDK parents this content's injector under it.\n\tprivate readonly _menuSide = inject(MENU_SIDE, { optional: true });\n\n\tprotected readonly _state = signal('open');\n\tprotected readonly _side = signal<MenuSide>(this._menuSide?.side() ?? 'right');\n\n\tconstructor() {\n\t\tthis.setSideFromTransformOrigin();\n\t\t// this is a best effort, but does not seem to work currently\n\t\t// TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n\t\tthis._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\n\t\tclasses(() => 'motion-safe:data-open:animate-in motion-safe:data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-24 rounded-lg p-1 shadow-lg ring-1 duration-100 w-auto');\n\t}\n\n\tprivate setSideFromTransformOrigin() {\n\t\tconst side = this._menuSide?.side() ?? 'right';\n\t\t// CDK sets transform-origin on this element synchronously on attach; read it next tick and derive side\n\t\tsetTimeout(() => {\n\t\t\tthis._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));\n\t\t});\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 HlmDropdownMenuConfig {\n\talign: MenuAlign;\n\tside: MenuSide;\n}\n\nconst defaultConfig: HlmDropdownMenuConfig = {\n\talign: 'start',\n\tside: 'bottom',\n};\n\nconst HlmDropdownMenuConfigToken = new InjectionToken<HlmDropdownMenuConfig>('HlmDropdownMenuConfig');\n\nexport function provideHlmDropdownMenuConfig(config: Partial<HlmDropdownMenuConfig>): ValueProvider {\n\treturn { provide: HlmDropdownMenuConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmDropdownMenuConfig(): HlmDropdownMenuConfig {\n\treturn inject(HlmDropdownMenuConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { 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 { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';\n\n@Directive({\n\tselector: '[hlmDropdownMenuSubTrigger]',\n\tproviders: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuSubTrigger) }],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuTrigger,\n\t\t\tinputs: ['cdkMenuTriggerFor: hlmDropdownMenuSubTrigger', 'cdkMenuTriggerData: hlmDropdownMenuTriggerData'],\n\t\t\toutputs: ['cdkMenuOpened: hlmDropdownMenuSubOpened', 'cdkMenuClosed: hlmDropdownMenuSubClosed'],\n\t\t},\n\t],\n\thost: { 'data-slot': 'dropdown-menu-sub-trigger' },\n})\nexport class HlmDropdownMenuSubTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\tprivate readonly _config = injectHlmDropdownMenuConfig();\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 submenu content from the resolved position; the content reads it\n\t\t// to animate from the anchored corner and to derive its data-side. Cast tolerates @angular/cdk < 21.2\n\t\t// (we still support >=21.0), where the property is absent and the assignment is a harmless no-op.\n\t\t(this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector =\n\t\t\t'[data-slot=\"dropdown-menu-sub\"]';\n\n\t\teffect(() => {\n\t\t\tthis._cdkTrigger.menuPosition = this._menuPosition();\n\t\t});\n\n\t\tclasses(() => 'aria-expanded:bg-accent aria-expanded:text-accent-foreground');\n\t}\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { computed, Directive, effect, forwardRef, inject, input } from '@angular/core';\nimport { createMenuPosition, MENU_SIDE, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\nimport { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';\n\n@Directive({\n\tselector: '[hlmDropdownMenuTrigger]',\n\tproviders: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuTrigger) }],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuTrigger,\n\t\t\tinputs: ['cdkMenuTriggerFor: hlmDropdownMenuTrigger', 'cdkMenuTriggerData: hlmDropdownMenuTriggerData'],\n\t\t\toutputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],\n\t\t},\n\t],\n\thost: { 'data-slot': 'dropdown-menu-trigger' },\n})\nexport class HlmDropdownMenuTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\tprivate readonly _config = injectHlmDropdownMenuConfig();\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 from the resolved position; the content reads it to\n\t\t// animate from the anchored corner and to derive its data-side. Cast tolerates @angular/cdk < 21.2\n\t\t// (we still support >=21.0), where the property is absent and 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\t}\n}\n","import { HlmDropdownMenu } from './lib/hlm-dropdown-menu';\nimport { HlmDropdownMenuCheckbox } from './lib/hlm-dropdown-menu-checkbox';\nimport { HlmDropdownMenuCheckboxIndicator } from './lib/hlm-dropdown-menu-checkbox-indicator';\nimport { HlmDropdownMenuGroup } from './lib/hlm-dropdown-menu-group';\nimport { HlmDropdownMenuItem } from './lib/hlm-dropdown-menu-item';\nimport { HlmDropdownMenuItemSubIndicator } from './lib/hlm-dropdown-menu-item-sub-indicator';\nimport { HlmDropdownMenuLabel } from './lib/hlm-dropdown-menu-label';\nimport { HlmDropdownMenuRadio } from './lib/hlm-dropdown-menu-radio';\nimport { HlmDropdownMenuRadioIndicator } from './lib/hlm-dropdown-menu-radio-indicator';\nimport { HlmDropdownMenuSeparator } from './lib/hlm-dropdown-menu-separator';\nimport { HlmDropdownMenuShortcut } from './lib/hlm-dropdown-menu-shortcut';\nimport { HlmDropdownMenuSub } from './lib/hlm-dropdown-menu-sub';\nimport { HlmDropdownMenuSubTrigger } from './lib/hlm-dropdown-menu-sub-trigger';\n\nimport { HlmDropdownMenuTrigger } from './lib/hlm-dropdown-menu-trigger';\n\nexport * from './lib/hlm-dropdown-menu';\nexport * from './lib/hlm-dropdown-menu-checkbox';\nexport * from './lib/hlm-dropdown-menu-checkbox-indicator';\nexport * from './lib/hlm-dropdown-menu-focus-on-hover';\nexport * from './lib/hlm-dropdown-menu-group';\nexport * from './lib/hlm-dropdown-menu-item';\nexport * from './lib/hlm-dropdown-menu-item-sub-indicator';\nexport * from './lib/hlm-dropdown-menu-label';\nexport * from './lib/hlm-dropdown-menu-radio';\nexport * from './lib/hlm-dropdown-menu-radio-indicator';\nexport * from './lib/hlm-dropdown-menu-separator';\nexport * from './lib/hlm-dropdown-menu-shortcut';\nexport * from './lib/hlm-dropdown-menu-sub';\nexport * from './lib/hlm-dropdown-menu-sub-trigger';\nexport * from './lib/hlm-dropdown-menu-token';\nexport * from './lib/hlm-dropdown-menu-trigger';\n\nexport const HlmDropdownMenuImports = [\n\tHlmDropdownMenu,\n\tHlmDropdownMenuCheckbox,\n\tHlmDropdownMenuCheckboxIndicator,\n\tHlmDropdownMenuGroup,\n\tHlmDropdownMenuItem,\n\tHlmDropdownMenuItemSubIndicator,\n\tHlmDropdownMenuLabel,\n\tHlmDropdownMenuRadio,\n\tHlmDropdownMenuRadioIndicator,\n\tHlmDropdownMenuSeparator,\n\tHlmDropdownMenuShortcut,\n\tHlmDropdownMenuSub,\n\tHlmDropdownMenuSubTrigger,\n\tHlmDropdownMenuTrigger,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HlmDropdownMenuFocusOnHover","i2.HlmDropdownMenuFocusOnHover"],"mappings":"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"}
1
+ {"version":3,"file":"yukit-web-helm-dropdown-menu.mjs","sources":["../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-focus-on-hover.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox-indicator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-group.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-item.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-item-sub-indicator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-label.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-radio.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-radio-indicator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-separator.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-shortcut.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-sub.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-token.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-sub-trigger.ts","../../../projects/yukit-web/helm/dropdown-menu/src/lib/hlm-dropdown-menu-trigger.ts","../../../projects/yukit-web/helm/dropdown-menu/src/index.ts","../../../projects/yukit-web/helm/dropdown-menu/src/yukit-web-helm-dropdown-menu.ts"],"sourcesContent":["import { type NumberInput } from '@angular/cdk/coercion';\nimport { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, ElementRef, inject, input, numberAttribute, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { deriveMenuSideFromTransformOrigin, MENU_SIDE, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenu],hlm-dropdown-menu',\n\thostDirectives: [CdkMenu],\n\thost: {\n\t\t'data-slot': 'dropdown-menu',\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.data-side]': '_side()',\n\t\t'[style.--side-offset]': 'sideOffset()',\n\t},\n})\nexport class HlmDropdownMenu {\n\tprivate readonly _host = inject(CdkMenu);\n\tprivate readonly _elementRef = inject(ElementRef<HTMLElement>);\n\t// The trigger provides its configured side; CDK parents this content's injector under the trigger's.\n\tprivate readonly _menuSide = inject(MENU_SIDE, { optional: true });\n\n\tprotected readonly _state = signal('open');\n\tprotected readonly _side = signal<MenuSide>(this._menuSide?.side() ?? 'bottom');\n\n\tpublic readonly sideOffset = input<number, NumberInput>(1, { transform: numberAttribute });\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'motion-safe:data-open:animate-in motion-safe:data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-lg p-1 shadow-md ring-1 duration-100 my-[--spacing(var(--side-offset))] overflow-x-hidden overflow-y-auto outline-none',\n\t\t);\n\n\t\tthis.setSideFromTransformOrigin();\n\t\t// this is a best effort, but does not seem to work currently\n\t\t// TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n\t\tthis._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\t}\n\n\tprivate setSideFromTransformOrigin() {\n\t\tconst side = this._menuSide?.side() ?? 'bottom';\n\t\t// CDK sets transform-origin on this element synchronously on attach; read it next tick and derive side\n\t\tsetTimeout(() => {\n\t\t\tthis._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));\n\t\t});\n\t}\n}\n","import { InputModalityDetector } from '@angular/cdk/a11y';\nimport { CdkMenu, CdkMenuItem } from '@angular/cdk/menu';\nimport { Directive, inject } from '@angular/core';\n\n/**\n * @internal\n * Moves DOM focus to the hovered menu item. CDK menus only move focus with the keyboard, so on a pointer\n * the highlight would otherwise stay on the last keyboard-focused item (leaving two rows highlighted) and,\n * when a submenu closes, focus would fall to <body>, the menu stack would report no focus, and the whole\n * dropdown would collapse. Following the pointer with focus (Radix/shadcn behaviour) keeps a single\n * highlight and keeps focus inside the menu stack. setActiveMenuItem also syncs the key manager so keyboard\n * navigation continues from the hovered item.\n *\n * Applied as a host directive on every dropdown item type (item, checkbox, radio, sub-trigger).\n */\n@Directive({\n\tselector: '[hlmDropdownMenuFocusOnHover]',\n\thost: {\n\t\t'(mouseenter)': '_focusOnHover()',\n\t},\n})\nexport class HlmDropdownMenuFocusOnHover {\n\tprivate readonly _cdkMenuItem = inject(CdkMenuItem, { self: true });\n\tprivate readonly _parentMenu = inject(CdkMenu, { optional: true });\n\tprivate readonly _inputModality = inject(InputModalityDetector);\n\n\tprotected _focusOnHover(): void {\n\t\t// Only skip synthetic hovers from touch taps; every real hover (mouse, or keyboard-then-hover,\n\t\t// which leaves the modality as 'keyboard') should move focus to keep a single highlight.\n\t\tif (this._inputModality.mostRecentModality === 'touch' || this._cdkMenuItem.disabled) {\n\t\t\treturn;\n\t\t}\n\t\tthis._parentMenu?.setActiveMenuItem(this._cdkMenuItem);\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem, CdkMenuItemCheckbox, CdkMenuItemSelectable } from '@angular/cdk/menu';\nimport { Directive, booleanAttribute, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n/** @internal. Use HlmDropdownMenuCheckbox instead. */\n@Directive({\n\tselector: '[hlmDropdownMenuCheckboxCdk]',\n\tproviders: [\n\t\t{ provide: CdkMenuItemCheckbox, useExisting: HlmDropdownMenuCheckboxCdk },\n\t\t{ provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuCheckboxCdk },\n\t\t{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },\n\t],\n})\nexport class HlmDropdownMenuCheckboxCdk extends CdkMenuItemCheckbox {\n\tpublic readonly keepOpen = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n\tpublic override trigger(options?: { keepOpen: boolean }) {\n\t\tsuper.trigger({ ...options, keepOpen: this.keepOpen() });\n\t}\n}\n\n@Directive({\n\tselector: '[hlmDropdownMenuCheckbox],[hlmDropdownMenuCheckboxItem]',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: HlmDropdownMenuCheckboxCdk,\n\t\t\tinputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked', 'keepOpen'],\n\t\t\toutputs: ['cdkMenuItemTriggered: triggered'],\n\t\t},\n\t\tHlmDropdownMenuFocusOnHover,\n\t],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-checkbox-item',\n\t\t'[attr.data-disabled]': '_cdkMenuItem.disabled ? \"\" : null',\n\t\t'[attr.data-checked]': '_cdkMenuItem.checked ? \"\" : null',\n\t\t'[attr.data-inset]': 'inset() ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuCheckbox {\n\tprotected readonly _cdkMenuItem = inject(HlmDropdownMenuCheckboxCdk);\n\n\tpublic readonly inset = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t\"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-checkbox relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n\t\t);\n\t}\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-dropdown-menu-checkbox-indicator',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucideCheck })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { 'data-slot': 'dropdown-menu-checkbox-item-indicator' },\n\ttemplate: `\n\t\t<ng-icon name=\"lucideCheck\" />\n\t`,\n})\nexport class HlmDropdownMenuCheckboxIndicator {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)] pointer-events-none opacity-0 group-data-checked/dropdown-menu-checkbox:opacity-100',\n\t\t);\n\t}\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuGroup],hlm-dropdown-menu-group',\n\thostDirectives: [CdkMenuGroup],\n\thost: { 'data-slot': 'dropdown-menu-group' },\n})\nexport class HlmDropdownMenuGroup {\n\tconstructor() {\n\t\tclasses(() => 'block');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem } from '@angular/cdk/menu';\nimport { booleanAttribute, Directive, HOST_TAG_NAME, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n@Directive({\n\tselector: '[hlmDropdownMenuItem],hlm-dropdown-menu-item',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuItem,\n\t\t\tinputs: ['cdkMenuItemDisabled: disabled'],\n\t\t\toutputs: ['cdkMenuItemTriggered: triggered'],\n\t\t},\n\t\tHlmDropdownMenuFocusOnHover,\n\t],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-item',\n\t\t'[attr.disabled]': '_isButton && disabled() ? \"\" : null',\n\t\t'[attr.data-disabled]': 'disabled() ? \"\" : null',\n\t\t'[attr.data-variant]': 'variant()',\n\t\t'[attr.data-inset]': 'inset() ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuItem {\n\tprotected readonly _isButton = inject(HOST_TAG_NAME) === 'button';\n\n\tpublic readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n\tpublic readonly variant = input<'default' | 'destructive'>('default');\n\n\tpublic readonly inset = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t\"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-destructive/10 data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:hover:bg-destructive/20 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:hover:text-destructive data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive not-data-[variant=destructive]:hover:**:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-1.5 rounded-md px-1.5 py-1 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-item relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n\t\t);\n\t}\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronRight } from '@ng-icons/lucide';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-dropdown-menu-item-sub-indicator',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucideChevronRight })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\ttemplate: `\n\t\t<ng-icon name=\"lucideChevronRight\" class=\"text-[length:--spacing(4)] rtl:rotate-180\" />\n\t`,\n})\nexport class HlmDropdownMenuItemSubIndicator {\n\tconstructor() {\n\t\tclasses(() => 'ms-auto flex items-center justify-center');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuLabel],hlm-dropdown-menu-label',\n\thost: {\n\t\t'data-slot': 'dropdown-menu-label',\n\t\t'[attr.data-inset]': 'inset() ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuLabel {\n\tpublic readonly inset = input<boolean, BooleanInput>(false, {\n\t\ttransform: booleanAttribute,\n\t});\n\n\tconstructor() {\n\t\tclasses(() => 'text-muted-foreground px-1.5 py-1 text-xs font-medium data-inset:ps-7 block');\n\t}\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkMenuItem, CdkMenuItemRadio, CdkMenuItemSelectable } from '@angular/cdk/menu';\nimport { Directive, booleanAttribute, inject, input } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n/** @internal. Use HlmDropdownMenuRadio instead. */\n@Directive({\n\tselector: '[hlmDropdownMenuRadioCdk]',\n\tproviders: [\n\t\t{ provide: CdkMenuItemRadio, useExisting: HlmDropdownMenuRadioCdk },\n\t\t{ provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuRadioCdk },\n\t\t{ provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },\n\t],\n})\nexport class HlmDropdownMenuRadioCdk extends CdkMenuItemRadio {\n\tpublic readonly keepOpen = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n\tpublic override trigger(options?: { keepOpen: boolean }) {\n\t\tsuper.trigger({ ...options, keepOpen: this.keepOpen() });\n\t}\n}\n\n@Directive({\n\tselector: '[hlmDropdownMenuRadio]',\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: HlmDropdownMenuRadioCdk,\n\t\t\tinputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked', 'keepOpen'],\n\t\t\toutputs: ['cdkMenuItemTriggered: triggered'],\n\t\t},\n\t\tHlmDropdownMenuFocusOnHover,\n\t],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-radio-item',\n\t\t'[attr.data-disabled]': '_cdkMenuItem.disabled ? \"\" : null',\n\t\t'[attr.data-checked]': '_cdkMenuItem.checked ? \"\" : null',\n\t},\n})\nexport class HlmDropdownMenuRadio {\n\tprotected readonly _cdkMenuItem = inject(HlmDropdownMenuRadioCdk);\n\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t\"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 ps-1.5 pe-8 text-sm data-inset:ps-7 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)] group/dropdown-menu-radio relative flex w-full cursor-default items-center outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0\",\n\t\t);\n\t}\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Component({\n\tselector: 'hlm-dropdown-menu-radio-indicator',\n\timports: [NgIcon],\n\tproviders: [provideIcons({ lucideCheck })],\n\tchangeDetection: ChangeDetectionStrategy.OnPush,\n\thost: { 'data-slot': 'dropdown-menu-radio-item-indicator' },\n\ttemplate: `\n\t\t<ng-icon name=\"lucideCheck\" />\n\t`,\n})\nexport class HlmDropdownMenuRadioIndicator {\n\tconstructor() {\n\t\tclasses(\n\t\t\t() =>\n\t\t\t\t'absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)] pointer-events-none opacity-0 group-data-checked/dropdown-menu-radio:opacity-100',\n\t\t);\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator',\n\thost: { 'data-slot': 'dropdown-menu-separator' },\n})\nexport class HlmDropdownMenuSeparator {\n\tconstructor() {\n\t\tclasses(() => 'bg-border -mx-1 my-1 h-px block');\n\t}\n}\n","import { Directive } from '@angular/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut',\n\thost: { 'data-slot': 'dropdown-menu-shortcut' },\n})\nexport class HlmDropdownMenuShortcut {\n\tconstructor() {\n\t\tclasses(() => 'text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ms-auto text-xs tracking-widest');\n\t}\n}\n","import { CdkMenu } from '@angular/cdk/menu';\nimport { Directive, ElementRef, inject, signal } from '@angular/core';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { deriveMenuSideFromTransformOrigin, MENU_SIDE, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from 'yukit-web/helm/utils';\n\n@Directive({\n\tselector: '[hlmDropdownMenuSub],hlm-dropdown-menu-sub',\n\thostDirectives: [CdkMenu],\n\thost: {\n\t\t'data-slot': 'dropdown-menu-sub',\n\t\t'[attr.data-state]': '_state()',\n\t\t'[attr.data-side]': '_side()',\n\t},\n})\nexport class HlmDropdownMenuSub {\n\tprivate readonly _host = inject(CdkMenu);\n\tprivate readonly _elementRef = inject(ElementRef<HTMLElement>);\n\t// The sub-trigger provides its configured side; CDK parents this content's injector under it.\n\tprivate readonly _menuSide = inject(MENU_SIDE, { optional: true });\n\n\tprotected readonly _state = signal('open');\n\tprotected readonly _side = signal<MenuSide>(this._menuSide?.side() ?? 'right');\n\n\tconstructor() {\n\t\tthis.setSideFromTransformOrigin();\n\t\t// this is a best effort, but does not seem to work currently\n\t\t// TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n\t\tthis._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\n\t\tclasses(() => 'motion-safe:data-open:animate-in motion-safe:data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-24 rounded-lg p-1 shadow-lg ring-1 duration-100 w-auto');\n\t}\n\n\tprivate setSideFromTransformOrigin() {\n\t\tconst side = this._menuSide?.side() ?? 'right';\n\t\t// CDK sets transform-origin on this element synchronously on attach; read it next tick and derive side\n\t\tsetTimeout(() => {\n\t\t\tthis._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));\n\t\t});\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 HlmDropdownMenuConfig {\n\talign: MenuAlign;\n\tside: MenuSide;\n}\n\nconst defaultConfig: HlmDropdownMenuConfig = {\n\talign: 'start',\n\tside: 'bottom',\n};\n\nconst HlmDropdownMenuConfigToken = new InjectionToken<HlmDropdownMenuConfig>('HlmDropdownMenuConfig');\n\nexport function provideHlmDropdownMenuConfig(config: Partial<HlmDropdownMenuConfig>): ValueProvider {\n\treturn { provide: HlmDropdownMenuConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmDropdownMenuConfig(): HlmDropdownMenuConfig {\n\treturn inject(HlmDropdownMenuConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { 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 { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';\n\n@Directive({\n\tselector: '[hlmDropdownMenuSubTrigger]',\n\tproviders: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuSubTrigger) }],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuTrigger,\n\t\t\tinputs: ['cdkMenuTriggerFor: hlmDropdownMenuSubTrigger', 'cdkMenuTriggerData: hlmDropdownMenuTriggerData'],\n\t\t\toutputs: ['cdkMenuOpened: hlmDropdownMenuSubOpened', 'cdkMenuClosed: hlmDropdownMenuSubClosed'],\n\t\t},\n\t],\n\thost: { 'data-slot': 'dropdown-menu-sub-trigger' },\n})\nexport class HlmDropdownMenuSubTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\tprivate readonly _config = injectHlmDropdownMenuConfig();\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 submenu content from the resolved position; the content reads it\n\t\t// to animate from the anchored corner and to derive its data-side. Cast tolerates @angular/cdk < 21.2\n\t\t// (we still support >=21.0), where the property is absent and the assignment is a harmless no-op.\n\t\t(this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector =\n\t\t\t'[data-slot=\"dropdown-menu-sub\"]';\n\n\t\teffect(() => {\n\t\t\tthis._cdkTrigger.menuPosition = this._menuPosition();\n\t\t});\n\n\t\tclasses(() => 'aria-expanded:bg-accent aria-expanded:text-accent-foreground');\n\t}\n}\n","import { CdkMenuTrigger } from '@angular/cdk/menu';\nimport { computed, Directive, effect, forwardRef, inject, input } from '@angular/core';\nimport { createMenuPosition, MENU_SIDE, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\nimport { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';\n\n@Directive({\n\tselector: '[hlmDropdownMenuTrigger]',\n\tproviders: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuTrigger) }],\n\thostDirectives: [\n\t\t{\n\t\t\tdirective: CdkMenuTrigger,\n\t\t\tinputs: ['cdkMenuTriggerFor: hlmDropdownMenuTrigger', 'cdkMenuTriggerData: hlmDropdownMenuTriggerData'],\n\t\t\toutputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],\n\t\t},\n\t],\n\thost: { 'data-slot': 'dropdown-menu-trigger' },\n})\nexport class HlmDropdownMenuTrigger {\n\tprivate readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n\tprivate readonly _config = injectHlmDropdownMenuConfig();\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 from the resolved position; the content reads it to\n\t\t// animate from the anchored corner and to derive its data-side. Cast tolerates @angular/cdk < 21.2\n\t\t// (we still support >=21.0), where the property is absent and 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\t}\n}\n","import { HlmDropdownMenu } from './lib/hlm-dropdown-menu';\nimport { HlmDropdownMenuCheckbox } from './lib/hlm-dropdown-menu-checkbox';\nimport { HlmDropdownMenuCheckboxIndicator } from './lib/hlm-dropdown-menu-checkbox-indicator';\nimport { HlmDropdownMenuGroup } from './lib/hlm-dropdown-menu-group';\nimport { HlmDropdownMenuItem } from './lib/hlm-dropdown-menu-item';\nimport { HlmDropdownMenuItemSubIndicator } from './lib/hlm-dropdown-menu-item-sub-indicator';\nimport { HlmDropdownMenuLabel } from './lib/hlm-dropdown-menu-label';\nimport { HlmDropdownMenuRadio } from './lib/hlm-dropdown-menu-radio';\nimport { HlmDropdownMenuRadioIndicator } from './lib/hlm-dropdown-menu-radio-indicator';\nimport { HlmDropdownMenuSeparator } from './lib/hlm-dropdown-menu-separator';\nimport { HlmDropdownMenuShortcut } from './lib/hlm-dropdown-menu-shortcut';\nimport { HlmDropdownMenuSub } from './lib/hlm-dropdown-menu-sub';\nimport { HlmDropdownMenuSubTrigger } from './lib/hlm-dropdown-menu-sub-trigger';\n\nimport { HlmDropdownMenuTrigger } from './lib/hlm-dropdown-menu-trigger';\n\nexport * from './lib/hlm-dropdown-menu';\nexport * from './lib/hlm-dropdown-menu-checkbox';\nexport * from './lib/hlm-dropdown-menu-checkbox-indicator';\nexport * from './lib/hlm-dropdown-menu-focus-on-hover';\nexport * from './lib/hlm-dropdown-menu-group';\nexport * from './lib/hlm-dropdown-menu-item';\nexport * from './lib/hlm-dropdown-menu-item-sub-indicator';\nexport * from './lib/hlm-dropdown-menu-label';\nexport * from './lib/hlm-dropdown-menu-radio';\nexport * from './lib/hlm-dropdown-menu-radio-indicator';\nexport * from './lib/hlm-dropdown-menu-separator';\nexport * from './lib/hlm-dropdown-menu-shortcut';\nexport * from './lib/hlm-dropdown-menu-sub';\nexport * from './lib/hlm-dropdown-menu-sub-trigger';\nexport * from './lib/hlm-dropdown-menu-token';\nexport * from './lib/hlm-dropdown-menu-trigger';\n\nexport const HlmDropdownMenuImports = [\n\tHlmDropdownMenu,\n\tHlmDropdownMenuCheckbox,\n\tHlmDropdownMenuCheckboxIndicator,\n\tHlmDropdownMenuGroup,\n\tHlmDropdownMenuItem,\n\tHlmDropdownMenuItemSubIndicator,\n\tHlmDropdownMenuLabel,\n\tHlmDropdownMenuRadio,\n\tHlmDropdownMenuRadioIndicator,\n\tHlmDropdownMenuSeparator,\n\tHlmDropdownMenuShortcut,\n\tHlmDropdownMenuSub,\n\tHlmDropdownMenuSubTrigger,\n\tHlmDropdownMenuTrigger,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.HlmDropdownMenuFocusOnHover","i2.HlmDropdownMenuFocusOnHover"],"mappings":"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"}