@egose/shadcn-theme-ng 0.0.28 → 0.1.0

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 (201) hide show
  1. package/README.md +130 -13
  2. package/accordion/README.md +2 -63
  3. package/accordion/fesm2022/accordion.mjs +27 -39
  4. package/alert/README.md +2 -63
  5. package/alert/fesm2022/alert.mjs +47 -47
  6. package/alert-dialog/fesm2022/alert-dialog.mjs +47 -47
  7. package/aspect-ratio/fesm2022/aspect-ratio.mjs +9 -9
  8. package/autocomplete/README.md +2 -63
  9. package/autocomplete/fesm2022/autocomplete.mjs +53 -71
  10. package/avatar/fesm2022/avatar.mjs +32 -32
  11. package/badge/README.md +2 -63
  12. package/badge/fesm2022/badge.mjs +57 -57
  13. package/basic-alert/README.md +2 -63
  14. package/basic-alert/fesm2022/basic-alert.mjs +6 -18
  15. package/breadcrumb/fesm2022/breadcrumb.mjs +33 -39
  16. package/button/README.md +2 -63
  17. package/button/fesm2022/button.mjs +126 -176
  18. package/button/types/button.d.ts +2 -2
  19. package/button-group/fesm2022/button-group.mjs +20 -20
  20. package/calendar/README.md +2 -63
  21. package/calendar/fesm2022/calendar.mjs +29 -743
  22. package/card/fesm2022/card.mjs +33 -33
  23. package/carousel/fesm2022/carousel.mjs +36 -78
  24. package/checkbox/README.md +2 -63
  25. package/checkbox/fesm2022/checkbox.mjs +20 -58
  26. package/checkbox/types/checkbox.d.ts +5 -4
  27. package/collapsible/fesm2022/collapsible.mjs +15 -15
  28. package/combobox/fesm2022/combobox.mjs +88 -224
  29. package/command/fesm2022/command.mjs +49 -109
  30. package/confirmation-dialog/README.md +2 -63
  31. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +15 -40
  32. package/confirmation-dialog/types/confirmation-dialog.d.ts +8 -4
  33. package/context-menu/fesm2022/context-menu.mjs +9 -9
  34. package/date-picker/README.md +2 -63
  35. package/date-picker/fesm2022/date-picker.mjs +63 -266
  36. package/date-picker/types/date-picker.d.ts +7 -3
  37. package/dialog/README.md +2 -63
  38. package/dialog/fesm2022/dialog.mjs +45 -71
  39. package/drawer/fesm2022/drawer.mjs +44 -54
  40. package/dropdown-menu/fesm2022/dropdown-menu.mjs +82 -70
  41. package/dropdown-menu/types/dropdown-menu.d.ts +4 -0
  42. package/empty/fesm2022/empty.mjs +30 -30
  43. package/field/fesm2022/field.mjs +56 -72
  44. package/form-checkbox/README.md +2 -63
  45. package/form-checkbox/fesm2022/form-checkbox.mjs +25 -85
  46. package/form-checkbox/types/form-checkbox.d.ts +7 -1
  47. package/form-date-picker/README.md +2 -63
  48. package/form-date-picker/fesm2022/form-date-picker.mjs +31 -84
  49. package/form-date-picker/types/form-date-picker.d.ts +7 -1
  50. package/form-field/README.md +2 -63
  51. package/form-field/fesm2022/form-field.mjs +33 -19
  52. package/form-field/types/form-field.d.ts +28 -20
  53. package/form-field-simple/README.md +2 -63
  54. package/form-field-simple/fesm2022/form-field-simple.mjs +4 -4
  55. package/form-searchable-multiselect/README.md +2 -63
  56. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +31 -91
  57. package/form-searchable-multiselect/types/form-searchable-multiselect.d.ts +7 -1
  58. package/form-select/README.md +2 -63
  59. package/form-select/fesm2022/form-select.mjs +32 -149
  60. package/form-select/types/form-select.d.ts +7 -1
  61. package/form-text-input/README.md +2 -63
  62. package/form-text-input/fesm2022/form-text-input.mjs +35 -149
  63. package/form-text-input/types/form-text-input.d.ts +9 -12
  64. package/form-textarea/README.md +2 -63
  65. package/form-textarea/fesm2022/form-textarea.mjs +34 -109
  66. package/form-textarea/types/form-textarea.d.ts +8 -1
  67. package/hover-card/fesm2022/hover-card.mjs +19 -19
  68. package/icon/README.md +2 -63
  69. package/icon/fesm2022/icon.mjs +8 -8
  70. package/input/README.md +2 -63
  71. package/input/fesm2022/input.mjs +17 -12
  72. package/input/types/input.d.ts +2 -1
  73. package/input-group/fesm2022/input-group.mjs +33 -33
  74. package/input-otp/fesm2022/input-otp.mjs +26 -26
  75. package/item/fesm2022/item.mjs +53 -53
  76. package/kbd/fesm2022/kbd.mjs +12 -12
  77. package/label/README.md +2 -63
  78. package/label/fesm2022/label.mjs +10 -10
  79. package/label/types/label.d.ts +1 -1
  80. package/layout-simple/README.md +2 -63
  81. package/layout-simple/fesm2022/layout-simple.mjs +98 -429
  82. package/layout-simple/types/layout-simple.d.ts +25 -11
  83. package/menu/README.md +3 -0
  84. package/menu/fesm2022/menu.mjs +455 -0
  85. package/menu/package.json +24 -0
  86. package/menu/types/menu.d.ts +137 -0
  87. package/menubar/fesm2022/menubar.mjs +13 -13
  88. package/native-select/fesm2022/native-select.mjs +19 -19
  89. package/navigation-menu/fesm2022/navigation-menu.mjs +35 -47
  90. package/package.json +183 -154
  91. package/pagination/fesm2022/pagination.mjs +45 -331
  92. package/popover/README.md +2 -63
  93. package/popover/fesm2022/popover.mjs +30 -30
  94. package/progress/fesm2022/progress.mjs +13 -13
  95. package/radio-group/README.md +2 -63
  96. package/radio-group/fesm2022/radio-group.mjs +22 -19
  97. package/resizable/fesm2022/resizable.mjs +18 -26
  98. package/scroll-area/fesm2022/scroll-area.mjs +9 -9
  99. package/searchable-multiselect/README.md +2 -63
  100. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +28 -117
  101. package/searchable-multiselect/types/searchable-multiselect.d.ts +8 -2
  102. package/select/README.md +2 -63
  103. package/select/fesm2022/select.mjs +71 -111
  104. package/select/types/select.d.ts +3 -1
  105. package/separator/README.md +2 -63
  106. package/separator/fesm2022/separator.mjs +9 -9
  107. package/separator/types/separator.d.ts +1 -1
  108. package/sheet/README.md +2 -63
  109. package/sheet/fesm2022/sheet.mjs +41 -53
  110. package/sidebar/fesm2022/sidebar.mjs +125 -227
  111. package/skeleton/fesm2022/skeleton.mjs +9 -9
  112. package/slider/fesm2022/slider.mjs +10 -80
  113. package/sonner/README.md +2 -63
  114. package/sonner/fesm2022/sonner.mjs +13 -13
  115. package/spinner/README.md +2 -63
  116. package/spinner/fesm2022/spinner.mjs +11 -11
  117. package/switch/README.md +2 -63
  118. package/switch/fesm2022/switch.mjs +13 -15
  119. package/table/fesm2022/table.mjs +41 -41
  120. package/tabs/README.md +2 -63
  121. package/tabs/fesm2022/tabs.mjs +35 -111
  122. package/textarea/fesm2022/textarea.mjs +9 -9
  123. package/toggle/fesm2022/toggle.mjs +13 -13
  124. package/toggle-group/fesm2022/toggle-group.mjs +13 -13
  125. package/toggle-group/types/toggle-group.d.ts +13 -7
  126. package/tooltip/README.md +2 -63
  127. package/tooltip/fesm2022/tooltip.mjs +14 -14
  128. package/typography/fesm2022/typography.mjs +53 -53
  129. package/typography/types/typography.d.ts +12 -12
  130. package/utils/README.md +2 -63
  131. package/utils/fesm2022/utils.mjs +68 -44
  132. package/accordion/fesm2022/accordion.mjs.map +0 -1
  133. package/alert/fesm2022/alert.mjs.map +0 -1
  134. package/alert-dialog/fesm2022/alert-dialog.mjs.map +0 -1
  135. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +0 -1
  136. package/autocomplete/fesm2022/autocomplete.mjs.map +0 -1
  137. package/avatar/fesm2022/avatar.mjs.map +0 -1
  138. package/badge/fesm2022/badge.mjs.map +0 -1
  139. package/basic-alert/fesm2022/basic-alert.mjs.map +0 -1
  140. package/breadcrumb/fesm2022/breadcrumb.mjs.map +0 -1
  141. package/button/fesm2022/button.mjs.map +0 -1
  142. package/button-group/fesm2022/button-group.mjs.map +0 -1
  143. package/calendar/fesm2022/calendar.mjs.map +0 -1
  144. package/card/fesm2022/card.mjs.map +0 -1
  145. package/carousel/fesm2022/carousel.mjs.map +0 -1
  146. package/checkbox/fesm2022/checkbox.mjs.map +0 -1
  147. package/collapsible/fesm2022/collapsible.mjs.map +0 -1
  148. package/combobox/fesm2022/combobox.mjs.map +0 -1
  149. package/command/fesm2022/command.mjs.map +0 -1
  150. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +0 -1
  151. package/context-menu/fesm2022/context-menu.mjs.map +0 -1
  152. package/date-picker/fesm2022/date-picker.mjs.map +0 -1
  153. package/dialog/fesm2022/dialog.mjs.map +0 -1
  154. package/drawer/fesm2022/drawer.mjs.map +0 -1
  155. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +0 -1
  156. package/empty/fesm2022/empty.mjs.map +0 -1
  157. package/field/fesm2022/field.mjs.map +0 -1
  158. package/form-checkbox/fesm2022/form-checkbox.mjs.map +0 -1
  159. package/form-date-picker/fesm2022/form-date-picker.mjs.map +0 -1
  160. package/form-field/fesm2022/form-field.mjs.map +0 -1
  161. package/form-field-simple/fesm2022/form-field-simple.mjs.map +0 -1
  162. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +0 -1
  163. package/form-select/fesm2022/form-select.mjs.map +0 -1
  164. package/form-text-input/fesm2022/form-text-input.mjs.map +0 -1
  165. package/form-textarea/fesm2022/form-textarea.mjs.map +0 -1
  166. package/hover-card/fesm2022/hover-card.mjs.map +0 -1
  167. package/icon/fesm2022/icon.mjs.map +0 -1
  168. package/input/fesm2022/input.mjs.map +0 -1
  169. package/input-group/fesm2022/input-group.mjs.map +0 -1
  170. package/input-otp/fesm2022/input-otp.mjs.map +0 -1
  171. package/item/fesm2022/item.mjs.map +0 -1
  172. package/kbd/fesm2022/kbd.mjs.map +0 -1
  173. package/label/fesm2022/label.mjs.map +0 -1
  174. package/layout-simple/fesm2022/layout-simple.mjs.map +0 -1
  175. package/menubar/fesm2022/menubar.mjs.map +0 -1
  176. package/native-select/fesm2022/native-select.mjs.map +0 -1
  177. package/navigation-menu/fesm2022/navigation-menu.mjs.map +0 -1
  178. package/pagination/fesm2022/pagination.mjs.map +0 -1
  179. package/popover/fesm2022/popover.mjs.map +0 -1
  180. package/progress/fesm2022/progress.mjs.map +0 -1
  181. package/radio-group/fesm2022/radio-group.mjs.map +0 -1
  182. package/resizable/fesm2022/resizable.mjs.map +0 -1
  183. package/scroll-area/fesm2022/scroll-area.mjs.map +0 -1
  184. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +0 -1
  185. package/select/fesm2022/select.mjs.map +0 -1
  186. package/separator/fesm2022/separator.mjs.map +0 -1
  187. package/sheet/fesm2022/sheet.mjs.map +0 -1
  188. package/sidebar/fesm2022/sidebar.mjs.map +0 -1
  189. package/skeleton/fesm2022/skeleton.mjs.map +0 -1
  190. package/slider/fesm2022/slider.mjs.map +0 -1
  191. package/sonner/fesm2022/sonner.mjs.map +0 -1
  192. package/spinner/fesm2022/spinner.mjs.map +0 -1
  193. package/switch/fesm2022/switch.mjs.map +0 -1
  194. package/table/fesm2022/table.mjs.map +0 -1
  195. package/tabs/fesm2022/tabs.mjs.map +0 -1
  196. package/textarea/fesm2022/textarea.mjs.map +0 -1
  197. package/toggle/fesm2022/toggle.mjs.map +0 -1
  198. package/toggle-group/fesm2022/toggle-group.mjs.map +0 -1
  199. package/tooltip/fesm2022/tooltip.mjs.map +0 -1
  200. package/typography/fesm2022/typography.mjs.map +0 -1
  201. package/utils/fesm2022/utils.mjs.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"confirmation-dialog.mjs","sources":["../../../projects/confirmation-dialog/src/lib/confirmation-dialog.ts","../../../projects/confirmation-dialog/src/public-api.ts","../../../projects/confirmation-dialog/src/confirmation-dialog.ts"],"sourcesContent":["import { Component, inject, Injectable } from '@angular/core';\nimport { HlmButton } from '@egose/shadcn-theme-ng/button';\n\nimport { HlmAlert, HlmAlertIcon } from '@egose/shadcn-theme-ng/alert';\nimport {\n HlmDialogDescription,\n HlmDialogHeader,\n HlmDialogFooter,\n HlmDialogService,\n HlmDialogTitle,\n} from '@egose/shadcn-theme-ng/dialog';\nimport { BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideTriangleAlert } from '@ng-icons/lucide';\n\n@Component({\n imports: [\n HlmButton,\n HlmAlert,\n HlmAlertIcon,\n HlmDialogDescription,\n HlmDialogHeader,\n HlmDialogFooter,\n HlmDialogTitle,\n NgIcon,\n HlmIcon,\n ],\n standalone: true,\n providers: [provideIcons({ lucideTriangleAlert })],\n template: `\n <hlm-dialog-header>\n <div class=\"tw:flex tw:items-center tw:gap-1\">\n <ng-icon hlm hlmAlertIcon name=\"lucideTriangleAlert\" size=\"base\" />\n <h3 hlmDialogTitle class=\"tw:text-xl\">{{ _title }}</h3>\n </div>\n <p hlmDialogDescription class=\"tw:text-base tw:text-gray-700\">{{ _description }}</p>\n </hlm-dialog-header>\n\n <hlm-dialog-footer class=\"tw:mt-4\">\n <button hlmButton variant=\"secondary\" appearance=\"outline\" (click)=\"close(false)\">Cancel</button>\n <button hlmButton variant=\"danger\" (click)=\"close(true)\">Confirm</button>\n </hlm-dialog-footer>\n `,\n host: {\n class: 'tw:w-full tw:p-1',\n },\n})\nexport class EgConfirmationDiaglog {\n private readonly _dialogRef = inject<BrnDialogRef<boolean>>(BrnDialogRef);\n private readonly _dialogContext = injectBrnDialogContext<{ title: string; description: string }>();\n\n protected readonly _title = this._dialogContext.title || 'Are you absolutely sure?';\n protected readonly _description = this._dialogContext.description || 'This action cannot be undone.';\n\n public close(confirm: boolean) {\n this._dialogRef.close(confirm);\n }\n}\n\n@Injectable({ providedIn: 'root' })\nexport class EgConfirmationDialogService {\n constructor(private hlmDialogService: HlmDialogService) {}\n\n showConfirmationDialog({ title, description }: { title: string; description: string }) {\n return new Promise<boolean>((resolve) => {\n const dialogRef = this.hlmDialogService.open<boolean>(EgConfirmationDiaglog, {\n context: { title, description },\n contentClass: '',\n });\n\n dialogRef.closed$.subscribe((confirm) => {\n resolve(confirm ?? false);\n });\n });\n }\n}\n","/*\n * Public API Surface of confirmation-dialog\n */\n\nexport * from './lib/confirmation-dialog';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"context-menu.mjs","sources":["../../../projects/context-menu/src/lib/hlm-context-menu-token.ts","../../../projects/context-menu/src/lib/hlm-context-menu-trigger.ts","../../../projects/context-menu/src/public-api.ts","../../../projects/context-menu/src/context-menu.ts"],"sourcesContent":["import { InjectionToken, type ValueProvider, inject } from '@angular/core';\nimport { type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\n\nexport interface HlmContextMenuConfig {\n align: MenuAlign;\n side: MenuSide;\n}\n\nconst defaultConfig: HlmContextMenuConfig = {\n align: 'start',\n side: 'bottom',\n};\n\nconst HlmContextMenuConfigToken = new InjectionToken<HlmContextMenuConfig>('HlmContextMenuConfig');\n\nexport function provideHlmContextMenuConfig(config: Partial<HlmContextMenuConfig>): ValueProvider {\n return { provide: HlmContextMenuConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmContextMenuConfig(): HlmContextMenuConfig {\n return inject(HlmContextMenuConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { CdkContextMenuTrigger } from '@angular/cdk/menu';\nimport { booleanAttribute, computed, Directive, effect, forwardRef, inject, input } from '@angular/core';\nimport { createMenuPosition, MENU_SIDE, type MenuAlign, type MenuSide } from '@spartan-ng/brain/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { injectHlmContextMenuConfig } from './hlm-context-menu-token';\n\n@Directive({\n selector: '[hlmContextMenuTrigger]',\n providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmContextMenuTrigger) }],\n hostDirectives: [\n {\n directive: CdkContextMenuTrigger,\n inputs: [\n 'cdkContextMenuTriggerFor: hlmContextMenuTrigger',\n 'cdkContextMenuTriggerData: hlmContextMenuTriggerData',\n 'cdkContextMenuDisabled: disabled',\n ],\n outputs: ['cdkContextMenuOpened: hlmContextMenuOpened', 'cdkContextMenuClosed: hlmContextMenuClosed'],\n },\n ],\n host: {\n 'data-slot': 'context-menu-trigger',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n },\n})\nexport class HlmContextMenuTrigger {\n private readonly _cdkTrigger = inject(CdkContextMenuTrigger, { host: true });\n private readonly _config = injectHlmContextMenuConfig();\n\n public readonly disabled = input<boolean, BooleanInput>(this._cdkTrigger.disabled, { transform: booleanAttribute });\n\n public readonly align = input<MenuAlign>(this._config.align);\n public readonly side = input<MenuSide>(this._config.side);\n\n private readonly _menuPosition = computed(() => createMenuPosition(this.align(), this.side()));\n\n constructor() {\n // CDK sets transform-origin on the menu content (a shared hlm-dropdown-menu) from the resolved\n // position; the content reads it to animate from the anchored corner and to derive its data-side.\n // Cast tolerates @angular/cdk < 21.2 (we still support >=21.0), where the property is absent and\n // the assignment is a harmless no-op.\n (this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector = '[data-slot=\"dropdown-menu\"]';\n\n effect(() => {\n this._cdkTrigger.menuPosition = this._menuPosition();\n });\n\n classes(() => 'select-none');\n }\n}\n","/*\n * Public API Surface of context-menu\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmContextMenuTrigger } from './lib/hlm-context-menu-trigger';\n\nexport * from './lib/hlm-context-menu-token';\nexport * from './lib/hlm-context-menu-trigger';\n\nexport const HlmContextMenuImports = [HlmContextMenuTrigger] as const;\n\n@NgModule({\n imports: [...HlmContextMenuImports],\n exports: [...HlmContextMenuImports],\n})\nexport class HlmContextMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"date-picker.mjs","sources":["../../../projects/date-picker/src/lib/hlm-date-picker-multi.token.ts","../../../projects/date-picker/src/lib/hlm-date-multi-input.ts","../../../projects/date-picker/src/lib/hlm-date-picker.token.ts","../../../projects/date-picker/src/lib/hlm-date-picker.ts","../../../projects/date-picker/src/lib/hlm-date-picker-anchor.ts","../../../projects/date-picker/src/lib/hlm-date-picker-input.ts","../../../projects/date-picker/src/lib/hlm-date-picker-multi.ts","../../../projects/date-picker/src/lib/hlm-date-picker-trigger.ts","../../../projects/date-picker/src/lib/hlm-date-range-picker.token.ts","../../../projects/date-picker/src/lib/hlm-date-range-input.ts","../../../projects/date-picker/src/lib/hlm-date-range-picker.ts","../../../projects/date-picker/src/lib/hlm-month-year-picker.token.ts","../../../projects/date-picker/src/lib/hlm-month-year-input.ts","../../../projects/date-picker/src/lib/hlm-month-year-picker.ts","../../../projects/date-picker/src/public-api.ts","../../../projects/date-picker/src/date-picker.ts"],"sourcesContent":["import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport interface HlmDatePickerMultiConfig<T> {\n /**\n * If true, the date picker will close when the max selection of dates is reached.\n */\n autoCloseOnMaxSelection: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param dates\n * @returns formatted date\n */\n formatDates: (dates: T[]) => string;\n\n /**\n * Defines how the dates should be displayed while the input is focused,\n * i.e. the format the user is expected to type in.\n *\n * @param dates\n * @returns formatted dates in the input/edit format\n */\n formatInputDates: (dates: T[]) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param dates\n * @returns transformed date\n */\n transformDates: (dates: T[]) => T[];\n\n /**\n * Parse a user-entered string into a date.\n *\n * @param value the raw string from the input\n * @returns the parsed date, or `null` when the value can't be parsed\n */\n parseDate: (value: string) => T[] | null;\n}\n\nfunction getDefaultConfig<T>(): HlmDatePickerMultiConfig<T> {\n return {\n formatDates: (dates) => dates.map((date) => (date instanceof Date ? date.toDateString() : `${date}`)).join(', '),\n formatInputDates: (dates) =>\n dates\n .map((date) => {\n if (!(date instanceof Date)) return `${date}`;\n\n const day = String(date.getDate()).padStart(2, '0');\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${day}/${month}/${year}`;\n })\n .join(', '),\n transformDates: (dates) => dates,\n autoCloseOnMaxSelection: false,\n parseDate: (value) => {\n if (typeof value !== 'string') return null;\n\n const parts = value.split(',').map((v) => v.trim());\n const result: Date[] = [];\n\n for (const part of parts) {\n const match = part.match(/^(\\d{2})\\/(\\d{2})\\/(\\d{4})$/);\n if (!match) return null;\n\n const day = Number(match[1]);\n const month = Number(match[2]);\n const year = Number(match[3]);\n\n if (month < 1 || month > 12) return null;\n if (day < 1 || day > 31) return null;\n\n const date = new Date(year, month - 1, day);\n\n if (date.getFullYear() !== year || date.getMonth() !== month - 1 || date.getDate() !== day) {\n return null;\n }\n\n result.push(date);\n }\n\n return result as T[];\n },\n };\n}\n\nconst HlmDatePickerMultiConfigToken = new InjectionToken<HlmDatePickerMultiConfig<unknown>>('HlmDatePickerMultiConfig');\n\nexport function provideHlmDatePickerMultiConfig<T>(config: Partial<HlmDatePickerMultiConfig<T>>): ValueProvider {\n return { provide: HlmDatePickerMultiConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDatePickerMultiConfig<T>(): HlmDatePickerMultiConfig<T> {\n const injectedConfig = inject(HlmDatePickerMultiConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDatePickerMultiConfig<T>) : getDefaultConfig();\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCalendar, lucideX } from '@ng-icons/lucide';\nimport {\n BrnDateInput,\n type BrnDatePickerTriggerBase,\n provideBrnDatePickerTrigger,\n} from '@spartan-ng/brain/date-picker';\nimport { HlmInputGroup, HlmInputGroupImports } from '@egose/shadcn-theme-ng/input-group';\nimport { injectHlmDatePickerMultiConfig } from './hlm-date-picker-multi.token';\n\n@Component({\n selector: 'hlm-date-multi-input',\n imports: [HlmInputGroupImports, NgIcon],\n providers: [provideIcons({ lucideCalendar, lucideX }), provideBrnDatePickerTrigger(HlmDateMultiInput)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [HlmInputGroup],\n template: `\n <input\n #input\n hlmInputGroupInput\n [value]=\"_inputValue()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"_disabled()\"\n [forceInvalid]=\"forceInvalid()\"\n (click)=\"_handleClick()\"\n (keydown.arrowDown)=\"_open()\"\n (keydown.enter)=\"_handleEnter($event)\"\n (input)=\"_handleInputChange($event)\"\n (focus)=\"_handleFocus()\"\n (blur)=\"_handleBlur()\"\n />\n <hlm-input-group-addon align=\"inline-end\">\n @if (_showClearButton()) {\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n [attr.aria-label]=\"clearAriaLabel()\"\n (click)=\"_clear()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideX\" />\n </button>\n }\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n [attr.aria-label]=\"calendarAriaLabel()\"\n (click)=\"_popover().open()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideCalendar\" />\n </button>\n </hlm-input-group-addon>\n `,\n})\nexport class HlmDateMultiInput<T> extends BrnDateInput<T[]> implements BrnDatePickerTriggerBase {\n private readonly _config = injectHlmDatePickerMultiConfig<T>();\n /**\n * Parses input text into dates. Return `null` for invalid input - the\n * picker's dates are cleared while the text is preserved so the user can\n * fix it.\n *\n * Defaults to `parseDate` from `HlmDatePickerMultiConfig`.\n */\n public readonly parseDate = input<(value: string) => T[] | null>(this._config.parseDate);\n\n /**\n * Formats the current dates into the input/edit format shown while the\n * input is focused. On blur the picker's display format is restored.\n *\n * Defaults to `formatInputDates` from `HlmDatePickerMultiConfig`.\n */\n public readonly formatInputDates = input<(dates: T[]) => string>(this._config.formatInputDates);\n\n protected override parseValue(value: string): T[] | null {\n return this.parseDate()(value);\n }\n\n protected override formatInputValue(value: T[]): string {\n return this.formatInputDates()(value);\n }\n}\n","import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport interface HlmDatePickerConfig<T> {\n /**\n * If true, the date picker will close when a date is selected.\n */\n autoCloseOnSelect: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param date\n * @returns formatted date\n */\n formatDate: (date: T) => string;\n\n /**\n * Defines how the date should be displayed while the input is focused,\n * i.e. the format the user is expected to type in.\n *\n * @param date\n * @returns formatted date in the input/edit format\n */\n formatInputDate: (date: T) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param date\n * @returns transformed date\n */\n transformDate: (date: T) => T;\n\n /**\n * Parse a user-entered string into a date.\n *\n * @param value the raw string from the input\n * @returns the parsed date, or `null` when the value can't be parsed\n */\n parseDate: (value: string) => T | null;\n}\n\nfunction getDefaultConfig<T>(): HlmDatePickerConfig<T> {\n return {\n formatDate: (date) => (date instanceof Date ? date.toDateString() : `${date}`),\n formatInputDate: (date) => (date instanceof Date ? date.toDateString() : `${date}`),\n transformDate: (date) => date,\n parseDate: (value) => {\n const date = new Date(value);\n return isNaN(date.getTime()) ? null : (date as T);\n },\n autoCloseOnSelect: false,\n };\n}\n\nconst HlmDatePickerConfigToken = new InjectionToken<HlmDatePickerConfig<unknown>>('HlmDatePickerConfig');\n\nexport function provideHlmDatePickerConfig<T>(config: Partial<HlmDatePickerConfig<T>>): ValueProvider {\n return { provide: HlmDatePickerConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDatePickerConfig<T>(): HlmDatePickerConfig<T> {\n const injectedConfig = inject(HlmDatePickerConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDatePickerConfig<T>) : getDefaultConfig();\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n forwardRef,\n input,\n linkedSignal,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { type BrnDatePickerBase, BrnDatePickerTriggerToken, provideBrnDatePicker } from '@spartan-ng/brain/date-picker';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnOverlayState } from '@spartan-ng/brain/overlay';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { HlmCalendar } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmPopoverImports } from '@egose/shadcn-theme-ng/popover';\nimport { injectHlmDatePickerConfig } from './hlm-date-picker.token';\n\nexport const HLM_DATE_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDatePicker),\n multi: true,\n};\n\n@Component({\n selector: 'hlm-date-picker',\n imports: [HlmPopoverImports, HlmCalendar],\n providers: [HLM_DATE_PICKER_VALUE_ACCESSOR, provideBrnDatePicker(HlmDatePicker), provideBrnLabelable(HlmDatePicker)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnFieldControl],\n host: { class: 'block' },\n template: `\n <hlm-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_onStateChange($event)\">\n <ng-content />\n\n <hlm-popover-content class=\"w-fit p-0\" *hlmPopoverPortal=\"let ctx\">\n <ng-content select=\"[hlmDatePickerHeader]\" />\n <hlm-calendar\n class=\"rounded-none border-0\"\n [captionLayout]=\"captionLayout()\"\n [date]=\"_mutableDate()\"\n [defaultFocusedDate]=\"_mutableDate() ?? defaultFocusedDate()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"_disabled()\"\n (dateChange)=\"_handleChange($event)\"\n />\n <ng-content select=\"[hlmDatePickerFooter]\" />\n </hlm-popover-content>\n </hlm-popover>\n `,\n})\nexport class HlmDatePicker<T> implements BrnDatePickerBase<T>, ControlValueAccessor {\n private readonly _config = injectHlmDatePickerConfig<T>();\n\n public readonly popover = viewChild.required(BrnPopover);\n\n private readonly _trigger = contentChild(BrnDatePickerTriggerToken);\n\n /** Show dropdowns to navigate between months or years. */\n public readonly captionLayout = input<'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years'>('label');\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<T>();\n\n /** The date the calendar focuses on first open when no date is selected. */\n public readonly defaultFocusedDate = input<T>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n /** If true, the date picker will close when a date is selected. */\n public readonly autoCloseOnSelect = input<boolean, BooleanInput>(this._config.autoCloseOnSelect, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDate = input<(date: T) => string>(this._config.formatDate);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDate = input<(date: T) => T>(this._config.transformDate);\n\n protected readonly _popoverState = signal<BrnOverlayState | null>(null);\n\n protected readonly _disabled = linkedSignal(this.disabled);\n\n /** @internal The disabled state as a readonly signal */\n public readonly disabledState = this._disabled.asReadonly();\n\n public readonly formattedDate = computed(() => {\n const date = this._mutableDate();\n return date ? this.formatDate()(date) : undefined;\n });\n\n public readonly dateChange = output<T | null>();\n\n public readonly labelableId = computed(() => this._trigger()?.triggerId());\n\n public readonly hasDate = computed(() => !!this._mutableDate());\n\n /** @internal The current raw value, used by inputs to reformat on focus. */\n public readonly value = computed(() => this._mutableDate() ?? null);\n\n protected _onChange?: ChangeFn<T | null>;\n protected _onTouched?: TouchFn;\n\n protected _onStateChange(state: BrnOverlayState) {\n this._popoverState.set(state);\n if (state === 'closed') this._onTouched?.();\n }\n\n protected _handleChange(value: T | undefined) {\n if (this._disabled()) return;\n this.updateDate(value ?? null);\n\n if (this.autoCloseOnSelect()) {\n this._popoverState.set('closed');\n }\n }\n\n /**\n * Commit a date to the picker. Updates the internal model, notifies form\n * controls, and emits `dateChange`. Unlike `_handleChange`, this does not\n * close the popover - it's intended to be called from a text input that\n * is parsing user-entered values while typing.\n */\n public updateDate(value: T | null) {\n if (this._disabled()) return;\n const transformedDate = value != null ? this.transformDate()(value) : undefined;\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate ?? null);\n this.dateChange.emit(transformedDate ?? null);\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: T | null): void {\n this._mutableDate.set(value ? this.transformDate()(value) : undefined);\n }\n\n public registerOnChange(fn: ChangeFn<T | null>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public touched(): void {\n this._onTouched?.();\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n\n public reset() {\n this._mutableDate.set(undefined);\n this._onChange?.(null);\n this.dateChange.emit(null);\n }\n}\n","import { Directive, effect, ElementRef, inject, input, linkedSignal } from '@angular/core';\nimport { BrnOverlay } from '@spartan-ng/brain/overlay';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\n\n@Directive({ selector: '[hlmDatePickerAnchor]' })\nexport class HlmDatePickerAnchor {\n private readonly _host = inject(ElementRef, { host: true });\n private readonly _brnOverlay = inject(BrnOverlay, { optional: true });\n\n public readonly hlmDatePickerAnchorForInput = input<BrnPopover | undefined>(undefined, {\n alias: 'hlmDatePickerAnchorFor',\n });\n\n public readonly hlmDatePickerAnchorFor = linkedSignal(this.hlmDatePickerAnchorForInput);\n\n constructor() {\n effect(() => {\n this.hlmDatePickerAnchorFor()?.setOrigin(this._host.nativeElement);\n });\n\n this._brnOverlay?.setOrigin(this._host.nativeElement);\n }\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCalendar, lucideX } from '@ng-icons/lucide';\nimport {\n BrnDateInput,\n type BrnDatePickerTriggerBase,\n provideBrnDatePickerTrigger,\n} from '@spartan-ng/brain/date-picker';\nimport { HlmInputGroup, HlmInputGroupImports } from '@egose/shadcn-theme-ng/input-group';\nimport { injectHlmDatePickerConfig } from './hlm-date-picker.token';\n\n@Component({\n selector: 'hlm-date-picker-input',\n imports: [HlmInputGroupImports, NgIcon],\n providers: [provideIcons({ lucideCalendar, lucideX }), provideBrnDatePickerTrigger(HlmDatePickerInput)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [HlmInputGroup],\n template: `\n <input\n #input\n hlmInputGroupInput\n [value]=\"_inputValue()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"_disabled()\"\n [forceInvalid]=\"forceInvalid()\"\n (click)=\"_handleClick()\"\n (keydown.arrowDown)=\"_open()\"\n (keydown.enter)=\"_handleEnter($event)\"\n (input)=\"_handleInputChange($event)\"\n (focus)=\"_handleFocus()\"\n (blur)=\"_handleBlur()\"\n />\n <hlm-input-group-addon align=\"inline-end\">\n @if (_showClearButton()) {\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n [attr.aria-label]=\"clearAriaLabel()\"\n (click)=\"_clear()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideX\" />\n </button>\n }\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n [attr.aria-label]=\"calendarAriaLabel()\"\n (click)=\"_popover().open()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideCalendar\" />\n </button>\n </hlm-input-group-addon>\n `,\n})\nexport class HlmDatePickerInput<T> extends BrnDateInput<T> implements BrnDatePickerTriggerBase {\n private readonly _config = injectHlmDatePickerConfig<T>();\n\n /**\n * Parses input text into a date value. Return `null` for invalid\n * input - the picker's date is cleared while the text is preserved so\n * the user can fix it.\n *\n * Defaults to `parseDate` from `HlmDatePickerConfig`.\n */\n public readonly parseDate = input<(value: string) => T | null>(this._config.parseDate);\n\n /**\n * Formats the current date into the input/edit format shown while the\n * input is focused. On blur the picker's display format is restored.\n *\n * Defaults to `formatInputDate` from `HlmDatePickerConfig`.\n */\n public readonly formatInputDate = input<(date: T) => string>(this._config.formatInputDate);\n\n protected parseValue(value: string): T | null {\n return this.parseDate()(value);\n }\n\n protected formatInputValue(value: T): string {\n return this.formatInputDate()(value);\n }\n}\n","import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n forwardRef,\n input,\n linkedSignal,\n numberAttribute,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { type BrnDatePickerBase, BrnDatePickerTriggerToken, provideBrnDatePicker } from '@spartan-ng/brain/date-picker';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnOverlayState } from '@spartan-ng/brain/overlay';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { HlmCalendarMulti } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmPopoverImports } from '@egose/shadcn-theme-ng/popover';\nimport { injectHlmDatePickerMultiConfig } from './hlm-date-picker-multi.token';\n\nexport const HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDatePickerMulti),\n multi: true,\n};\n\n@Component({\n selector: 'hlm-date-picker-multi',\n imports: [HlmPopoverImports, HlmCalendarMulti],\n providers: [\n HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR,\n provideBrnDatePicker(HlmDatePickerMulti),\n provideBrnLabelable(HlmDatePickerMulti),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnFieldControl],\n host: { class: 'block' },\n template: `\n <hlm-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_onStateChange($event)\">\n <ng-content />\n\n <hlm-popover-content class=\"w-fit p-0\" *hlmPopoverPortal=\"let ctx\">\n <ng-content select=\"[hlmDatePickerHeader]\" />\n <hlm-calendar-multi\n class=\"rounded-none border-0\"\n [date]=\"_mutableDate()\"\n [captionLayout]=\"captionLayout()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [minSelection]=\"minSelection()\"\n [maxSelection]=\"maxSelection()\"\n [disabled]=\"_disabled()\"\n (dateChange)=\"_handleChange($event)\"\n />\n <ng-content select=\"[hlmDatePickerFooter]\" />\n </hlm-popover-content>\n </hlm-popover>\n `,\n})\nexport class HlmDatePickerMulti<T> implements BrnDatePickerBase<T[]>, ControlValueAccessor {\n private readonly _config = injectHlmDatePickerMultiConfig<T>();\n\n public readonly popover = viewChild.required(BrnPopover);\n\n private readonly _trigger = contentChild(BrnDatePickerTriggerToken);\n\n /** Show dropdowns to navigate between months or years. */\n public readonly captionLayout = input<'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years'>('label');\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** The minimum selectable dates. */\n public readonly minSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** The maximum selectable dates. */\n public readonly maxSelection = input<number, NumberInput>(undefined, {\n transform: numberAttribute,\n });\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<T[]>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n /** If true, the date picker will close when the max selection of dates is reached. */\n public readonly autoCloseOnMaxSelection = input<boolean, BooleanInput>(this._config.autoCloseOnMaxSelection, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDates = input<(date: T[]) => string>(this._config.formatDates);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDates = input<(date: T[]) => T[]>(this._config.transformDates);\n\n protected readonly _popoverState = signal<BrnOverlayState | null>(null);\n\n protected readonly _disabled = linkedSignal(this.disabled);\n\n /** @internal The disabled state as a readonly signal */\n public readonly disabledState = this._disabled.asReadonly();\n\n public readonly formattedDate = computed(() => {\n const dates = this._mutableDate();\n return dates ? this.formatDates()(dates) : undefined;\n });\n\n public readonly dateChange = output<T[]>();\n\n public readonly labelableId = computed(() => this._trigger()?.triggerId());\n\n public readonly hasDate = computed(() => !!this._mutableDate()?.length);\n\n /** @internal The current raw value, used by inputs to reformat on focus. */\n public readonly value = computed(() => this._mutableDate() ?? null);\n\n protected _onChange?: ChangeFn<T[]>;\n protected _onTouched?: TouchFn;\n\n protected _onStateChange(state: BrnOverlayState) {\n this._popoverState.set(state);\n if (state === 'closed') this._onTouched?.();\n }\n\n protected _handleChange(value: T[] | undefined) {\n if (value === undefined) return;\n\n if (this._disabled()) return;\n const transformedDate = value !== undefined ? this.transformDates()(value) : value;\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate);\n this.dateChange.emit(transformedDate);\n\n if (this.autoCloseOnMaxSelection() && this._mutableDate()?.length === this.maxSelection()) {\n this._popoverState.set('closed');\n }\n }\n\n /**\n * Commit dates to the picker. Updates the internal model, notifies form\n * controls, and emits `dateChange`. Intended to be called from a text input\n * that parses user-entered values. Pass `null` to clear the selection.\n */\n public updateDate(value: T[] | null) {\n if (this._disabled()) return;\n const transformedDate = value ? this.transformDates()(value) : undefined;\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate ?? []);\n this.dateChange.emit(transformedDate ?? []);\n }\n\n public touched(): void {\n this._onTouched?.();\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: T[] | null): void {\n this._mutableDate.set(value ? this.transformDates()(value) : undefined);\n }\n\n public registerOnChange(fn: ChangeFn<T[]>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n\n public reset() {\n this._mutableDate.set(undefined);\n this._onChange?.([]);\n this.dateChange.emit([]);\n }\n}\n","import { BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronDown } from '@ng-icons/lucide';\nimport {\n type BrnDatePickerTriggerBase,\n injectBrnDatePicker,\n provideBrnDatePickerTrigger,\n} from '@spartan-ng/brain/date-picker';\nimport { BrnFieldControl, BrnFieldControlDescribedBy } from '@spartan-ng/brain/field';\nimport { ButtonVariants, HlmButtonImports } from '@egose/shadcn-theme-ng/button';\nimport { HlmPopoverTrigger } from '@egose/shadcn-theme-ng/popover';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-date-picker-trigger',\n imports: [HlmButtonImports, HlmPopoverTrigger, NgIcon, BrnFieldControlDescribedBy],\n providers: [provideIcons({ lucideChevronDown }), provideBrnDatePickerTrigger(HlmDatePickerTrigger)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { 'data-slot': 'date-picker-trigger' },\n template: `\n <button\n [id]=\"buttonId()\"\n type=\"button\"\n [class]=\"_computedClass()\"\n [disabled]=\"_disabled()\"\n [attr.aria-invalid]=\"_ariaInvalid()\"\n [attr.data-invalid]=\"_ariaInvalid()\"\n [attr.data-touched]=\"_touched?.() ? 'true' : null\"\n [attr.data-dirty]=\"_dirty?.() ? 'true' : null\"\n [attr.data-matches-spartan-invalid]=\"_spartanInvalid() ? 'true' : null\"\n hlmBtn\n [variant]=\"variant()\"\n hlmPopoverTrigger\n [hlmPopoverTriggerFor]=\"_popover()\"\n brnFieldControlDescribedBy\n [attr.data-placeholder]=\"_isPlaceholder() ? '' : null\"\n >\n <span class=\"truncate\">\n @if (_formattedDate(); as formattedDate) {\n {{ formattedDate }}\n } @else {\n <ng-content />\n }\n </span>\n\n @if (showTrigger()) {\n <ng-icon name=\"lucideChevronDown\" />\n }\n </button>\n `,\n})\nexport class HlmDatePickerTrigger implements BrnDatePickerTriggerBase {\n private static _nextId = 0;\n\n private readonly _fieldControl = inject(BrnFieldControl, { optional: true });\n private readonly _datePicker = injectBrnDatePicker();\n\n private readonly _invalid = this._fieldControl?.invalid;\n protected readonly _spartanInvalid = computed(() => this.forceInvalid() || this._fieldControl?.spartanInvalid());\n protected readonly _dirty = this._fieldControl?.dirty;\n protected readonly _touched = this._fieldControl?.touched;\n\n protected readonly _ariaInvalid = computed(() => (this._invalid?.() ? 'true' : null));\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm('data-placeholder:text-muted-foreground justify-between', this.userClass()),\n );\n\n protected readonly _isPlaceholder = computed(() => !this._datePicker.hasDate());\n\n /** The id of the button that opens the date picker. */\n public readonly buttonId = input<string>(`hlm-date-picker-${++HlmDatePickerTrigger._nextId}`);\n\n /** @internal The id of the button that opens the date picker, used for labeling. */\n public readonly triggerId = this.buttonId;\n\n /** Forces the invalid state visually, regardless of form control state. */\n public readonly forceInvalid = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n public readonly variant = input<ButtonVariants['variant']>('outline');\n\n public readonly showTrigger = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n protected readonly _popover = this._datePicker.popover;\n protected readonly _disabled = this._datePicker.disabledState;\n protected readonly _formattedDate = this._datePicker.formattedDate;\n}\n","import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport interface HlmDateRangePickerConfig<T> {\n /**\n * If true, the date picker will close when the max selection of dates is reached.\n */\n autoCloseOnEndSelection: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param dates\n * @returns formatted date\n */\n formatDates: (dates: [T | null, T | null]) => string;\n\n /**\n * Defines how the range should be displayed while the input is focused,\n * i.e. the format the user is expected to type in.\n *\n * @param dates\n * @returns formatted range in the input/edit format\n */\n formatInputDates: (dates: [T | null, T | null]) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param dates\n * @returns transformed date\n */\n transformDates: (dates: [T, T]) => [T, T];\n\n /**\n * Parse a user-entered string into a date range.\n *\n * @param value the raw string from the input\n * @returns the parsed range, or `null` when the value can't be parsed\n */\n parseDate: (value: string) => [T, T] | null;\n}\n\nfunction getDefaultConfig<T>(): HlmDateRangePickerConfig<T> {\n return {\n formatDates: (dates) =>\n dates\n .filter(Boolean)\n .map((date) => (date instanceof Date ? date.toDateString() : `${date}`))\n .join(' - '),\n formatInputDates: (dates) =>\n dates\n .filter(Boolean)\n .map((date) => (date instanceof Date ? date.toDateString() : `${date}`))\n .join(' - '),\n transformDates: (dates) => dates,\n autoCloseOnEndSelection: false,\n parseDate: (value) => {\n if (typeof value !== 'string') return null;\n\n const parts = value.split(' - ').map((part) => part.trim());\n if (parts.length === 0 || parts.length > 2) return null;\n\n const start = new Date(parts[0]);\n if (isNaN(start.getTime())) return null;\n\n const end = parts.length === 2 ? new Date(parts[1]) : start;\n\n return [start, isNaN(end.getTime()) ? start : end] as [T, T];\n },\n };\n}\n\nconst HlmDateRangePickerConfigToken = new InjectionToken<HlmDateRangePickerConfig<unknown>>('HlmDateRangePickerConfig');\n\nexport function provideHlmDateRangePickerConfig<T>(config: Partial<HlmDateRangePickerConfig<T>>): ValueProvider {\n return { provide: HlmDateRangePickerConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmDateRangePickerConfig<T>(): HlmDateRangePickerConfig<T> {\n const injectedConfig = inject(HlmDateRangePickerConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmDateRangePickerConfig<T>) : getDefaultConfig();\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCalendar, lucideX } from '@ng-icons/lucide';\nimport {\n BrnDateInput,\n type BrnDatePickerTriggerBase,\n provideBrnDatePickerTrigger,\n} from '@spartan-ng/brain/date-picker';\nimport { HlmInputGroup, HlmInputGroupImports } from '@egose/shadcn-theme-ng/input-group';\nimport { injectHlmDateRangePickerConfig } from './hlm-date-range-picker.token';\n\n@Component({\n selector: 'hlm-date-range-input',\n imports: [HlmInputGroupImports, NgIcon],\n providers: [provideIcons({ lucideCalendar, lucideX }), provideBrnDatePickerTrigger(HlmDateRangeInput)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [HlmInputGroup],\n template: `\n <input\n #input\n hlmInputGroupInput\n [value]=\"_inputValue()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"_disabled()\"\n [forceInvalid]=\"forceInvalid()\"\n (click)=\"_handleClick()\"\n (keydown.arrowDown)=\"_open()\"\n (keydown.enter)=\"_handleEnter($event)\"\n (input)=\"_handleInputChange($event)\"\n (focus)=\"_handleFocus()\"\n (blur)=\"_handleBlur()\"\n />\n <hlm-input-group-addon align=\"inline-end\">\n @if (_showClearButton()) {\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n [attr.aria-label]=\"clearAriaLabel()\"\n (click)=\"_clear()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideX\" />\n </button>\n }\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n [attr.aria-label]=\"calendarAriaLabel()\"\n (click)=\"_popover().open()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideCalendar\" />\n </button>\n </hlm-input-group-addon>\n `,\n})\nexport class HlmDateRangeInput<T> extends BrnDateInput<[T, T]> implements BrnDatePickerTriggerBase {\n private readonly _config = injectHlmDateRangePickerConfig<T>();\n\n /**\n * Parses input text into a date range. Return `null` for invalid\n * input - the picker's range is cleared while the text is preserved so\n * the user can fix it.\n *\n * Defaults to `parseDate` from `HlmDateRangePickerConfig`.\n */\n public readonly parseDate = input<(value: string) => [T, T] | null>(this._config.parseDate);\n\n /**\n * Formats the current range into the input/edit format shown while the\n * input is focused. On blur the picker's display format is restored.\n *\n * Defaults to `formatInputDates` from `HlmDateRangePickerConfig`.\n */\n public readonly formatInputDates = input<(dates: [T | null, T | null]) => string>(this._config.formatInputDates);\n\n protected override parseValue(value: string): [T, T] | null {\n return this.parseDate()(value);\n }\n\n protected override formatInputValue(value: [T, T]): string {\n return this.formatInputDates()(value);\n }\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n forwardRef,\n input,\n linkedSignal,\n output,\n signal,\n untracked,\n viewChild,\n} from '@angular/core';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { type BrnDatePickerBase, BrnDatePickerTriggerToken, provideBrnDatePicker } from '@spartan-ng/brain/date-picker';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnOverlayState } from '@spartan-ng/brain/overlay';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { HlmCalendarRange } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmPopoverImports } from '@egose/shadcn-theme-ng/popover';\nimport { injectHlmDateRangePickerConfig } from './hlm-date-range-picker.token';\n\nexport const HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmDateRangePicker),\n multi: true,\n};\n\n@Component({\n selector: 'hlm-date-range-picker',\n imports: [HlmPopoverImports, HlmCalendarRange],\n providers: [\n HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR,\n provideBrnDatePicker(HlmDateRangePicker),\n provideBrnLabelable(HlmDateRangePicker),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnFieldControl],\n host: { class: 'block' },\n template: `\n <hlm-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_onStateChange($event)\">\n <ng-content />\n\n <hlm-popover-content class=\"w-fit p-0\" *hlmPopoverPortal=\"let ctx\">\n <ng-content select=\"[hlmDatePickerHeader]\" />\n <hlm-calendar-range\n class=\"rounded-none border-0\"\n [startDate]=\"_start()\"\n [captionLayout]=\"captionLayout()\"\n [endDate]=\"_end()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"_disabled()\"\n (startDateChange)=\"_handleStartDayChange($event)\"\n (endDateChange)=\"_handleEndDateChange($event)\"\n />\n <ng-content select=\"[hlmDatePickerFooter]\" />\n </hlm-popover-content>\n </hlm-popover>\n `,\n})\nexport class HlmDateRangePicker<T> implements BrnDatePickerBase<[T, T]>, ControlValueAccessor {\n private readonly _config = injectHlmDateRangePickerConfig<T>();\n\n public readonly popover = viewChild.required(BrnPopover);\n\n private readonly _trigger = contentChild(BrnDatePickerTriggerToken);\n\n /** Show dropdowns to navigate between months or years. */\n public readonly captionLayout = input<'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years'>('label');\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<[T, T]>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n protected readonly _start = linkedSignal(() => this._mutableDate()?.[0]);\n protected readonly _end = linkedSignal(() => this._mutableDate()?.[1]);\n\n /** If true, the date picker will close when the end date is selected */\n public readonly autoCloseOnEndSelection = input<boolean, BooleanInput>(this._config.autoCloseOnEndSelection, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDates = input<(dates: [T | null, T | null]) => string>(this._config.formatDates);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDates = input<(date: [T, T]) => [T, T]>(this._config.transformDates);\n\n protected readonly _popoverState = signal<BrnOverlayState | null>(null);\n\n protected readonly _disabled = linkedSignal(this.disabled);\n\n /** @internal The disabled state as a readonly signal */\n public readonly disabledState = this._disabled.asReadonly();\n\n public readonly formattedDate = computed(() => {\n const start = this._start();\n const end = this._end();\n return start || end ? this.formatDates()([start ?? null, end ?? null]) : undefined;\n });\n\n public readonly dateChange = output<[T, T] | null>();\n\n public readonly labelableId = computed(() => this._trigger()?.triggerId());\n\n public readonly hasDate = computed(() => !!this._start() || !!this._end());\n\n /** @internal The current raw value, used by inputs to reformat on focus. */\n public readonly value = computed(() => this._mutableDate() ?? null);\n\n protected _onChange?: ChangeFn<[T, T] | null>;\n protected _onTouched?: TouchFn;\n\n protected _onStateChange(state: BrnOverlayState) {\n this._popoverState.set(state);\n if (state === 'closed') {\n this._onClose();\n this._onTouched?.();\n }\n }\n\n protected _handleStartDayChange(value: T | undefined) {\n this._start.set(value);\n }\n\n protected _handleEndDateChange(value: T | undefined): void {\n this._end.set(value);\n if (this._disabled()) return;\n\n const start = this._start();\n if (start && value) {\n const transformedDates = this.transformDates()([start, value]);\n this._mutableDate.set(transformedDates);\n this.dateChange.emit(transformedDates);\n this._onChange?.(transformedDates);\n\n if (this.autoCloseOnEndSelection()) {\n this._popoverState.set('closed');\n }\n }\n }\n\n /**\n * Commit a range to the picker. Updates the internal model, notifies form\n * controls, and emits `dateChange`. Intended to be called from a text input\n * that parses user-entered values. Pass `null` to clear the range.\n */\n public updateDate(value: [T, T] | null) {\n if (this._disabled()) return;\n\n if (!value) {\n this._mutableDate.set(undefined);\n this._start.set(undefined);\n this._end.set(undefined);\n this._onChange?.(null);\n this.dateChange.emit(null);\n return;\n }\n\n const transformedDates = this.transformDates()(value);\n this._mutableDate.set(transformedDates);\n this._start.set(transformedDates[0]);\n this._end.set(transformedDates[1]);\n this._onChange?.(transformedDates);\n this.dateChange.emit(transformedDates);\n }\n\n public touched(): void {\n this._onTouched?.();\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: [T, T] | null): void {\n untracked(() => {\n if (!value) {\n this._mutableDate.set(undefined);\n } else {\n this._mutableDate.set(this.transformDates()(value));\n }\n });\n }\n\n public registerOnChange(fn: ChangeFn<[T, T] | null>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n\n public reset() {\n this._mutableDate.set(undefined);\n this._start.set(undefined);\n this._end.set(undefined);\n this._onChange?.(null);\n this.dateChange.emit(null);\n }\n\n protected _onClose(): void {\n const dates = this._mutableDate();\n if (this._start() && !this._end() && dates) {\n this._start.set(dates[0]);\n this._end.set(dates[1]);\n }\n }\n}\n","import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport interface HlmMonthYearPickerConfig<T> {\n /**\n * If true, the date picker will close when a date is selected.\n */\n autoCloseOnSelect: boolean;\n\n /**\n * Defines how the date should be displayed in the UI.\n *\n * @param date\n * @returns formatted date\n */\n formatDate: (date: T) => string;\n\n /**\n * Defines how the date should be displayed while the input is focused,\n * i.e. the format the user is expected to type in.\n *\n * @param date\n * @returns formatted date in the input/edit format\n */\n formatInputDate: (date: T) => string;\n\n /**\n * Defines how the date should be transformed before saving to model/form.\n *\n * @param date\n * @returns transformed date\n */\n transformDate: (date: T) => T;\n\n /**\n * Parse a user-entered string into a date.\n *\n * @param value the raw string from the input\n * @returns the parsed date, or `null` when the value can't be parsed\n */\n parseDate: (value: string) => T | null;\n}\n\nconst mmYYYY = <T>(date: T) => {\n if (!(date instanceof Date)) return `${date}`;\n\n const month = String(date.getMonth() + 1).padStart(2, '0');\n const year = date.getFullYear();\n\n return `${month}/${year}`;\n};\n\nfunction getDefaultConfig<T>(): HlmMonthYearPickerConfig<T> {\n return {\n formatDate: mmYYYY,\n formatInputDate: mmYYYY,\n transformDate: (date) => date,\n parseDate: (value) => {\n if (typeof value !== 'string') return null;\n\n const match = value.match(/^(\\d{2})\\/(\\d{4})$/);\n if (!match) return null;\n\n const month = Number(match[1]);\n const year = Number(match[2]);\n\n if (month < 1 || month > 12) return null;\n\n const date = new Date(year, month - 1, 1);\n\n return date as T;\n },\n autoCloseOnSelect: false,\n };\n}\n\nconst HlmMonthYearPickerConfigToken = new InjectionToken<HlmMonthYearPickerConfig<unknown>>('HlmMonthYearPickerConfig');\n\nexport function provideHlmMonthYearPickerConfig<T>(config: Partial<HlmMonthYearPickerConfig<T>>): ValueProvider {\n return { provide: HlmMonthYearPickerConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\n\nexport function injectHlmMonthYearPickerConfig<T>(): HlmMonthYearPickerConfig<T> {\n const injectedConfig = inject(HlmMonthYearPickerConfigToken, { optional: true });\n return injectedConfig ? (injectedConfig as HlmMonthYearPickerConfig<T>) : getDefaultConfig();\n}\n","import { ChangeDetectionStrategy, Component, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCalendar, lucideX } from '@ng-icons/lucide';\nimport {\n BrnDateInput,\n type BrnDatePickerTriggerBase,\n provideBrnDatePickerTrigger,\n} from '@spartan-ng/brain/date-picker';\nimport { HlmInputGroup, HlmInputGroupImports } from '@egose/shadcn-theme-ng/input-group';\nimport { injectHlmMonthYearPickerConfig } from './hlm-month-year-picker.token';\n\n@Component({\n selector: 'hlm-month-year-input',\n imports: [HlmInputGroupImports, NgIcon],\n providers: [provideIcons({ lucideCalendar, lucideX }), provideBrnDatePickerTrigger(HlmMonthYearInput)],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [HlmInputGroup],\n template: `\n <input\n #input\n hlmInputGroupInput\n [value]=\"_inputValue()\"\n [id]=\"inputId()\"\n [placeholder]=\"placeholder()\"\n [disabled]=\"_disabled()\"\n [forceInvalid]=\"forceInvalid()\"\n (click)=\"_handleClick()\"\n (keydown.arrowDown)=\"_open()\"\n (keydown.enter)=\"_handleEnter($event)\"\n (input)=\"_handleInputChange($event)\"\n (focus)=\"_handleFocus()\"\n (blur)=\"_handleBlur()\"\n />\n <hlm-input-group-addon align=\"inline-end\">\n @if (_showClearButton()) {\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n [attr.aria-label]=\"clearAriaLabel()\"\n (click)=\"_clear()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideX\" />\n </button>\n }\n <button\n hlmInputGroupButton\n size=\"icon-xs\"\n [attr.aria-label]=\"calendarAriaLabel()\"\n (click)=\"_popover().open()\"\n [disabled]=\"_disabled()\"\n >\n <ng-icon name=\"lucideCalendar\" />\n </button>\n </hlm-input-group-addon>\n `,\n})\nexport class HlmMonthYearInput<T> extends BrnDateInput<T> implements BrnDatePickerTriggerBase {\n private readonly _config = injectHlmMonthYearPickerConfig<T>();\n\n /**\n * Parses input text into a date value. Return `null` for invalid\n * input - the picker's date is cleared while the text is preserved so\n * the user can fix it.\n *\n * Defaults to `parseDate` from `HlmMonthYearPickerConfig`.\n */\n public readonly parseDate = input<(value: string) => T | null>(this._config.parseDate);\n\n /**\n * Formats the current date into the input/edit format shown while the\n * input is focused. On blur the picker's display format is restored.\n *\n * Defaults to `formatInputDate` from `HlmMonthYearPickerConfig`.\n */\n public readonly formatInputDate = input<(date: T) => string>(this._config.formatInputDate);\n\n protected override parseValue(value: string): T | null {\n return this.parseDate()(value);\n }\n\n protected override formatInputValue(value: T): string {\n return this.formatInputDate()(value);\n }\n}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChild,\n forwardRef,\n input,\n linkedSignal,\n output,\n signal,\n viewChild,\n} from '@angular/core';\nimport { type ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { type BrnDatePickerBase, BrnDatePickerTriggerToken, provideBrnDatePicker } from '@spartan-ng/brain/date-picker';\nimport { BrnFieldControl, provideBrnLabelable } from '@spartan-ng/brain/field';\nimport type { ChangeFn, TouchFn } from '@spartan-ng/brain/forms';\nimport type { BrnOverlayState } from '@spartan-ng/brain/overlay';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { HlmCalendarImports } from '@egose/shadcn-theme-ng/calendar';\nimport { HlmPopoverImports } from '@egose/shadcn-theme-ng/popover';\nimport { injectHlmMonthYearPickerConfig } from './hlm-month-year-picker.token';\n\nexport const HLM_MONTH_YEAR_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => HlmMonthYearPicker),\n multi: true,\n};\n@Component({\n selector: 'hlm-month-year-picker',\n imports: [HlmPopoverImports, HlmCalendarImports],\n providers: [\n HLM_MONTH_YEAR_PICKER_VALUE_ACCESSOR,\n provideBrnDatePicker(HlmMonthYearPicker),\n provideBrnLabelable(HlmMonthYearPicker),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [BrnFieldControl],\n host: { class: 'block' },\n template: `\n <hlm-popover sideOffset=\"5\" [state]=\"_popoverState()\" (stateChanged)=\"_onStateChange($event)\">\n <ng-content />\n\n <hlm-popover-content class=\"w-fit p-0\" *hlmPopoverPortal=\"let ctx\">\n <ng-content select=\"[hlmDatePickerHeader]\" />\n <hlm-month-year-calendar\n class=\"rounded-none border-0\"\n [date]=\"_mutableDate()\"\n [defaultFocusedDate]=\"_mutableDate() ?? defaultFocusedDate()\"\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"_disabled()\"\n (dateChange)=\"_handleChange($event)\"\n />\n <ng-content select=\"[hlmDatePickerFooter]\" />\n </hlm-popover-content>\n </hlm-popover>\n `,\n})\nexport class HlmMonthYearPicker<T> implements BrnDatePickerBase<T>, ControlValueAccessor {\n private readonly _config = injectHlmMonthYearPickerConfig<T>();\n\n public readonly popover = viewChild.required(BrnPopover);\n\n private readonly _trigger = contentChild(BrnDatePickerTriggerToken);\n\n /** The minimum date that can be selected.*/\n public readonly min = input<T>();\n\n /** The maximum date that can be selected. */\n public readonly max = input<T>();\n\n /** Determine if the date picker is disabled. */\n public readonly disabled = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n /** The selected value. */\n public readonly date = input<T>();\n\n /** The date the calendar focuses on first open when no date is selected. */\n public readonly defaultFocusedDate = input<T>();\n\n protected readonly _mutableDate = linkedSignal(this.date);\n\n /** If true, the date picker will close when a date is selected. */\n public readonly autoCloseOnSelect = input<boolean, BooleanInput>(this._config.autoCloseOnSelect, {\n transform: booleanAttribute,\n });\n\n /** Defines how the date should be displayed in the UI. */\n public readonly formatDate = input<(date: T) => string>(this._config.formatDate);\n\n /** Defines how the date should be transformed before saving to model/form. */\n public readonly transformDate = input<(date: T) => T>(this._config.transformDate);\n\n protected readonly _popoverState = signal<BrnOverlayState | null>(null);\n\n protected readonly _disabled = linkedSignal(this.disabled);\n\n /** @internal The disabled state as a readonly signal */\n public readonly disabledState = this._disabled.asReadonly();\n\n public readonly formattedDate = computed(() => {\n const date = this._mutableDate();\n return date ? this.formatDate()(date) : undefined;\n });\n\n public readonly dateChange = output<T | null>();\n\n public readonly labelableId = computed(() => this._trigger()?.triggerId());\n\n public readonly hasDate = computed(() => !!this._mutableDate());\n\n /** @internal The current raw value, used by inputs to reformat on focus. */\n public readonly value = computed(() => this._mutableDate() ?? null);\n\n protected _onChange?: ChangeFn<T | null>;\n protected _onTouched?: TouchFn;\n\n protected _onStateChange(state: BrnOverlayState) {\n this._popoverState.set(state);\n if (state === 'closed') this._onTouched?.();\n }\n\n protected _handleChange(value: T | undefined) {\n if (this._disabled()) return;\n this.updateDate(value ?? null);\n\n if (this.autoCloseOnSelect()) {\n this._popoverState.set('closed');\n }\n }\n\n /**\n * Commit a date to the picker. Updates the internal model, notifies form\n * controls, and emits `dateChange`. Unlike `_handleChange`, this does not\n * close the popover - it's intended to be called from a text input that\n * is parsing user-entered values while typing.\n */\n public updateDate(value: T | null) {\n if (this._disabled()) return;\n const transformedDate = value != null ? this.transformDate()(value) : undefined;\n\n this._mutableDate.set(transformedDate);\n this._onChange?.(transformedDate ?? null);\n this.dateChange.emit(transformedDate ?? null);\n }\n\n /** CONTROL VALUE ACCESSOR */\n public writeValue(value: T | null): void {\n this._mutableDate.set(value ? this.transformDate()(value) : undefined);\n }\n\n public registerOnChange(fn: ChangeFn<T | null>): void {\n this._onChange = fn;\n }\n\n public registerOnTouched(fn: TouchFn): void {\n this._onTouched = fn;\n }\n\n public touched(): void {\n this._onTouched?.();\n }\n\n public setDisabledState(isDisabled: boolean): void {\n this._disabled.set(isDisabled);\n }\n\n public open() {\n this._popoverState.set('open');\n }\n\n public close() {\n this._popoverState.set('closed');\n }\n\n public reset() {\n this._mutableDate.set(undefined);\n this._onChange?.(null);\n this.dateChange.emit(null);\n }\n}\n","/*\n * Public API Surface of date-picker\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmDateMultiInput } from './lib/hlm-date-multi-input';\nimport { HlmDatePicker } from './lib/hlm-date-picker';\nimport { HlmDatePickerAnchor } from './lib/hlm-date-picker-anchor';\nimport { HlmDatePickerInput } from './lib/hlm-date-picker-input';\nimport { HlmDatePickerMulti } from './lib/hlm-date-picker-multi';\nimport { HlmDatePickerTrigger } from './lib/hlm-date-picker-trigger';\nimport { HlmDateRangeInput } from './lib/hlm-date-range-input';\nimport { HlmDateRangePicker } from './lib/hlm-date-range-picker';\nimport { HlmMonthYearInput } from './lib/hlm-month-year-input';\nimport { HlmMonthYearPicker } from './lib/hlm-month-year-picker';\n\nexport * from './lib/hlm-date-multi-input';\nexport * from './lib/hlm-date-picker';\nexport * from './lib/hlm-date-picker-anchor';\nexport * from './lib/hlm-date-picker-input';\nexport * from './lib/hlm-date-picker-multi';\nexport * from './lib/hlm-date-picker-multi.token';\nexport * from './lib/hlm-date-picker-trigger';\nexport * from './lib/hlm-date-picker.token';\nexport * from './lib/hlm-date-range-input';\nexport * from './lib/hlm-date-range-picker';\nexport * from './lib/hlm-date-range-picker.token';\nexport * from './lib/hlm-month-year-input';\nexport * from './lib/hlm-month-year-picker';\nexport * from './lib/hlm-month-year-picker.token';\n\nexport const HlmDatePickerImports = [\n HlmDatePicker,\n HlmDatePickerAnchor,\n HlmDatePickerInput,\n HlmDatePickerMulti,\n HlmDateMultiInput,\n HlmDateRangeInput,\n HlmDateRangePicker,\n HlmDatePickerTrigger,\n HlmMonthYearPicker,\n HlmMonthYearInput,\n] as const;\n\n@NgModule({\n imports: [...HlmDatePickerImports],\n exports: [...HlmDatePickerImports],\n})\nexport class HlmDatePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["getDefaultConfig","i1"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dialog.mjs","sources":["../../../projects/dialog/src/lib/hlm-dialog-overlay.ts","../../../projects/dialog/src/lib/hlm-dialog.ts","../../../projects/dialog/src/lib/hlm-dialog-close.ts","../../../projects/dialog/src/lib/hlm-dialog-content.ts","../../../projects/dialog/src/lib/hlm-dialog-description.ts","../../../projects/dialog/src/lib/hlm-dialog-footer.ts","../../../projects/dialog/src/lib/hlm-dialog-header.ts","../../../projects/dialog/src/lib/hlm-dialog-portal.ts","../../../projects/dialog/src/lib/hlm-dialog-title.ts","../../../projects/dialog/src/lib/hlm-dialog-trigger.ts","../../../projects/dialog/src/lib/hlm-dialog.service.ts","../../../projects/dialog/src/public-api.ts","../../../projects/dialog/src/dialog.ts"],"sourcesContent":["import { computed, Directive, effect, input, untracked } from '@angular/core';\nimport { injectCustomClassSettable } from '@spartan-ng/brain/core';\nimport { BrnDialogOverlay } from '@spartan-ng/brain/dialog';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\nexport const hlmDialogOverlayClass = hlm(\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 isolate bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs',\n);\n\n@Directive({\n selector: '[hlmDialogOverlay],hlm-dialog-overlay',\n hostDirectives: [BrnDialogOverlay],\n})\nexport class HlmDialogOverlay {\n private readonly _classSettable = injectCustomClassSettable({ optional: true, host: true });\n\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() => hlm(hlmDialogOverlayClass, this.userClass()));\n\n constructor() {\n effect(() => {\n const newClass = this._computedClass();\n untracked(() => this._classSettable?.setClassToCustomElement(newClass));\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { BrnDialog, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\nimport { HlmDialogOverlay } from './hlm-dialog-overlay';\n\n@Component({\n selector: 'hlm-dialog',\n exportAs: 'hlmDialog',\n imports: [HlmDialogOverlay],\n providers: [\n {\n provide: BrnDialog,\n useExisting: forwardRef(() => HlmDialog),\n },\n provideBrnDialogDefaultOptions({\n // add custom options here\n }),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <hlm-dialog-overlay />\n <ng-content />\n `,\n})\nexport class HlmDialog extends BrnDialog {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogClose } from '@spartan-ng/brain/dialog';\n\n@Directive({\n selector: 'button[hlmDialogClose]',\n hostDirectives: [BrnDialogClose],\n host: { 'data-slot': 'dialog-close' },\n})\nexport class HlmDialogClose {}\n","import type { BooleanInput } from '@angular/cdk/coercion';\nimport type { ComponentType } from '@angular/cdk/portal';\nimport { NgComponentOutlet } from '@angular/common';\nimport { booleanAttribute, ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideX } from '@ng-icons/lucide';\nimport { BrnDialogRef, injectBrnDialogContext } from '@spartan-ng/brain/dialog';\nimport { HlmBtn } from '@egose/shadcn-theme-ng/button';\n\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { HlmDialogClose } from './hlm-dialog-close';\n\ntype HlmDialogContentContext = {\n $component?: ComponentType<unknown>;\n $dynamicComponentClass?: string;\n $showCloseButton?: boolean;\n};\n\n@Component({\n selector: 'hlm-dialog-content',\n imports: [NgComponentOutlet, HlmBtn, HlmDialogClose, NgIcon],\n providers: [provideIcons({ lucideX })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'data-slot': 'dialog-content',\n '[attr.data-state]': 'state()',\n },\n template: `\n @if (component) {\n <ng-container [ngComponentOutlet]=\"component\" />\n } @else {\n <ng-content />\n }\n\n @if (showCloseButton()) {\n <button hlmBtn variant=\"ghost\" size=\"icon-sm\" class=\"absolute end-4 top-4\" hlmDialogClose>\n <span class=\"sr-only\">close</span>\n <ng-icon name=\"lucideX\" />\n </button>\n }\n `,\n})\nexport class HlmDialogContent {\n private readonly _dialogRef = inject(BrnDialogRef);\n private readonly _dialogContext = injectBrnDialogContext<HlmDialogContentContext | null>({ optional: true });\n\n public readonly showCloseButton = input<boolean, BooleanInput>(this._dialogContext?.$showCloseButton ?? true, {\n transform: booleanAttribute,\n });\n\n public readonly state = computed(() => this._dialogRef?.state() ?? 'closed');\n\n public readonly component = this._dialogContext?.$component;\n private readonly _dynamicComponentClass = this._dialogContext?.$dynamicComponentClass;\n\n constructor() {\n classes(() => [\n 'bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 ring-foreground/10 grid max-w-[calc(100%-2rem)] gap-6 rounded-xl p-6 text-sm ring-1 duration-100 sm:max-w-md relative mx-auto w-full outline-none sm:mx-0',\n this._dynamicComponentClass,\n ]);\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogDescription } from '@spartan-ng/brain/dialog';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDialogDescription]',\n hostDirectives: [BrnDialogDescription],\n host: { 'data-slot': 'dialog-description' },\n})\nexport class HlmDialogDescription {\n constructor() {\n classes(() => 'text-muted-foreground *:[a]:hover:text-foreground text-sm *:[a]:underline *:[a]:underline-offset-3');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDialogFooter],hlm-dialog-footer',\n host: { 'data-slot': 'dialog-footer' },\n})\nexport class HlmDialogFooter {\n constructor() {\n classes(() => 'flex flex-col-reverse gap-2 sm:flex-row sm:justify-end');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDialogHeader],hlm-dialog-header',\n host: { 'data-slot': 'dialog-header' },\n})\nexport class HlmDialogHeader {\n constructor() {\n classes(() => 'gap-2 flex flex-col');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogContent } from '@spartan-ng/brain/dialog';\n\n@Directive({\n selector: '[hlmDialogPortal]',\n hostDirectives: [{ directive: BrnDialogContent, inputs: ['context', 'class'] }],\n})\nexport class HlmDialogPortal {}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTitle } from '@spartan-ng/brain/dialog';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDialogTitle]',\n hostDirectives: [BrnDialogTitle],\n host: { 'data-slot': 'dialog-title' },\n})\nexport class HlmDialogTitle {\n constructor() {\n classes(() => 'leading-none font-medium');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnDialogTrigger } from '@spartan-ng/brain/dialog';\n\n@Directive({\n selector: 'button[hlmDialogTrigger],button[hlmDialogTriggerFor]',\n hostDirectives: [{ directive: BrnDialogTrigger, inputs: ['id', 'brnDialogTriggerFor: hlmDialogTriggerFor', 'type'] }],\n host: { 'data-slot': 'dialog-trigger' },\n})\nexport class HlmDialogTrigger {}\n","import type { ComponentType } from '@angular/cdk/portal';\nimport { inject, Injectable, type TemplateRef } from '@angular/core';\nimport {\n type BrnDialogOptions,\n type BrnDialogRef,\n BrnDialogService,\n cssClassesToArray,\n} from '@spartan-ng/brain/dialog';\nimport { HlmDialogContent } from './hlm-dialog-content';\nimport { hlmDialogOverlayClass } from './hlm-dialog-overlay';\n\nexport type HlmDialogOptions<DialogContext = unknown> = BrnDialogOptions & {\n contentClass?: string;\n showCloseButton?: boolean;\n context?: DialogContext;\n};\n\n@Injectable({\n providedIn: 'root',\n})\nexport class HlmDialogService {\n private readonly _brnDialogService = inject(BrnDialogService);\n\n public open<TResult = unknown, TContext = unknown>(\n component: ComponentType<unknown> | TemplateRef<unknown>,\n options?: Partial<HlmDialogOptions<TContext>>,\n ): BrnDialogRef<TResult> {\n const mergedOptions = {\n ...(options ?? {}),\n backdropClass: cssClassesToArray(`${hlmDialogOverlayClass} ${options?.backdropClass ?? ''}`),\n context: {\n ...(options?.context && typeof options.context === 'object' ? options.context : {}),\n $component: component,\n $dynamicComponentClass: options?.contentClass,\n $showCloseButton: options?.showCloseButton,\n },\n };\n\n return this._brnDialogService.open<unknown, TResult>(\n HlmDialogContent,\n undefined,\n mergedOptions.context,\n mergedOptions,\n );\n }\n}\n","/*\n * Public API Surface of dialog\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmDialog } from './lib/hlm-dialog';\nimport { HlmDialogClose } from './lib/hlm-dialog-close';\nimport { HlmDialogContent } from './lib/hlm-dialog-content';\nimport { HlmDialogDescription } from './lib/hlm-dialog-description';\nimport { HlmDialogFooter } from './lib/hlm-dialog-footer';\nimport { HlmDialogHeader } from './lib/hlm-dialog-header';\nimport { HlmDialogOverlay } from './lib/hlm-dialog-overlay';\nimport { HlmDialogPortal } from './lib/hlm-dialog-portal';\nimport { HlmDialogTitle } from './lib/hlm-dialog-title';\nimport { HlmDialogTrigger } from './lib/hlm-dialog-trigger';\n\nexport * from './lib/hlm-dialog';\nexport * from './lib/hlm-dialog-close';\nexport * from './lib/hlm-dialog-content';\nexport * from './lib/hlm-dialog-description';\nexport * from './lib/hlm-dialog-footer';\nexport * from './lib/hlm-dialog-header';\nexport * from './lib/hlm-dialog-overlay';\nexport * from './lib/hlm-dialog-portal';\nexport * from './lib/hlm-dialog-title';\nexport * from './lib/hlm-dialog-trigger';\nexport * from './lib/hlm-dialog.service';\n\nexport const HlmDialogImports = [\n HlmDialog,\n HlmDialogContent,\n HlmDialogDescription,\n HlmDialogFooter,\n HlmDialogHeader,\n HlmDialogOverlay,\n HlmDialogPortal,\n HlmDialogTitle,\n HlmDialogTrigger,\n HlmDialogClose,\n] as const;\n\n@NgModule({\n imports: [...HlmDialogImports],\n exports: [...HlmDialogImports],\n})\nexport class HlmDialogModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"drawer.mjs","sources":["../../../projects/drawer/src/lib/hlm-drawer-overlay.ts","../../../projects/drawer/src/lib/hlm-drawer.ts","../../../projects/drawer/src/lib/hlm-drawer-close.ts","../../../projects/drawer/src/lib/hlm-drawer-content.ts","../../../projects/drawer/src/lib/hlm-drawer-description.ts","../../../projects/drawer/src/lib/hlm-drawer-footer.ts","../../../projects/drawer/src/lib/hlm-drawer-header.ts","../../../projects/drawer/src/lib/hlm-drawer-portal.ts","../../../projects/drawer/src/lib/hlm-drawer-title.ts","../../../projects/drawer/src/lib/hlm-drawer-trigger.ts","../../../projects/drawer/src/public-api.ts","../../../projects/drawer/src/drawer.ts"],"sourcesContent":["import { Directive, computed, effect, input, untracked } from '@angular/core';\nimport { injectCustomClassSettable } from '@spartan-ng/brain/core';\nimport { BrnDrawerOverlay } from '@spartan-ng/brain/drawer';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Directive({\n selector: '[hlmDrawerOverlay],hlm-drawer-overlay',\n hostDirectives: [BrnDrawerOverlay],\n})\nexport class HlmDrawerOverlay {\n private readonly _classSettable = injectCustomClassSettable({ optional: true, host: true });\n public readonly userClass = input<ClassValue>('', { alias: 'class' });\n protected readonly _computedClass = computed(() =>\n hlm(\n 'data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 supports-backdrop-filter:backdrop-blur-xs transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0',\n this.userClass(),\n ),\n );\n\n constructor() {\n effect(() => {\n const classValue = this._computedClass();\n untracked(() => this._classSettable?.setClassToCustomElement(classValue));\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, forwardRef } from '@angular/core';\nimport { BrnDialog, provideBrnDialogDefaultOptions } from '@spartan-ng/brain/dialog';\nimport { BrnDrawer } from '@spartan-ng/brain/drawer';\nimport { HlmDrawerOverlay } from './hlm-drawer-overlay';\n\n@Component({\n selector: 'hlm-drawer',\n exportAs: 'hlmDrawer',\n imports: [HlmDrawerOverlay],\n providers: [\n {\n provide: BrnDialog,\n useExisting: forwardRef(() => HlmDrawer),\n },\n {\n provide: BrnDrawer,\n useExisting: forwardRef(() => HlmDrawer),\n },\n provideBrnDialogDefaultOptions({\n // add custom options here\n }),\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: `\n <hlm-drawer-overlay />\n <ng-content />\n `,\n})\nexport class HlmDrawer extends BrnDrawer {}\n","import { Directive } from '@angular/core';\nimport { BrnDrawerClose } from '@spartan-ng/brain/drawer';\n\n@Directive({\n selector: 'button[hlmDrawerClose]',\n hostDirectives: [BrnDrawerClose],\n host: { 'data-slot': 'drawer-close' },\n})\nexport class HlmDrawerClose {}\n","import { ChangeDetectionStrategy, Component, signal } from '@angular/core';\nimport { injectExposedSideProvider, injectExposesStateProvider } from '@spartan-ng/brain/core';\nimport { BrnDrawerHandle } from '@spartan-ng/brain/drawer';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-drawer-content',\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [{ directive: BrnDrawerHandle, inputs: ['closeThreshold'] }],\n host: {\n 'data-slot': 'drawer-content',\n '[attr.data-vaul-drawer-direction]': '_sideProvider.side()',\n '[attr.data-state]': 'state()',\n },\n template: `\n <div\n class=\"bg-muted mx-auto mt-4 hidden h-1.5 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block\"\n ></div>\n <ng-content />\n `,\n})\nexport class HlmDrawerContent {\n private readonly _stateProvider = injectExposesStateProvider({ host: true });\n protected readonly _sideProvider = injectExposedSideProvider({ host: true });\n public readonly state = this._stateProvider.state ?? signal('closed');\n\n constructor() {\n classes(() => [\n 'bg-background fixed z-50 flex h-auto flex-col text-sm data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm',\n 'group/drawer-content',\n 'data-open:animate-in data-closed:animate-out',\n 'data-[vaul-drawer-direction=bottom]:data-closed:slide-out-to-bottom data-[vaul-drawer-direction=bottom]:data-open:slide-in-from-bottom',\n 'data-[vaul-drawer-direction=top]:data-closed:slide-out-to-top data-[vaul-drawer-direction=top]:data-open:slide-in-from-top',\n 'data-[vaul-drawer-direction=left]:data-closed:slide-out-to-left data-[vaul-drawer-direction=left]:data-open:slide-in-from-left',\n 'data-[vaul-drawer-direction=right]:data-closed:slide-out-to-right data-[vaul-drawer-direction=right]:data-open:slide-in-from-right',\n ]);\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnDrawerDescription } from '@spartan-ng/brain/drawer';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDrawerDescription]',\n hostDirectives: [BrnDrawerDescription],\n host: { 'data-slot': 'drawer-description' },\n})\nexport class HlmDrawerDescription {\n constructor() {\n classes(() => 'text-muted-foreground text-sm');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDrawerFooter],hlm-drawer-footer',\n host: { 'data-slot': 'drawer-footer' },\n})\nexport class HlmDrawerFooter {\n constructor() {\n classes(() => 'gap-2 p-4 mt-auto flex flex-col');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDrawerHeader],hlm-drawer-header',\n host: { 'data-slot': 'drawer-header' },\n})\nexport class HlmDrawerHeader {\n constructor() {\n classes(\n () =>\n 'gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-start flex flex-col',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnDrawerContent } from '@spartan-ng/brain/drawer';\n\n@Directive({\n selector: '[hlmDrawerPortal]',\n hostDirectives: [{ directive: BrnDrawerContent, inputs: ['context', 'class'] }],\n})\nexport class HlmDrawerPortal {}\n","import { Directive } from '@angular/core';\nimport { BrnDrawerTitle } from '@spartan-ng/brain/drawer';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDrawerTitle]',\n hostDirectives: [BrnDrawerTitle],\n host: { 'data-slot': 'drawer-title' },\n})\nexport class HlmDrawerTitle {\n constructor() {\n classes(() => 'text-foreground font-medium');\n }\n}\n","import { Directive } from '@angular/core';\nimport { BrnDrawerTrigger } from '@spartan-ng/brain/drawer';\n\n@Directive({\n selector: 'button[hlmDrawerTrigger]',\n hostDirectives: [{ directive: BrnDrawerTrigger, inputs: ['id', 'direction', 'type'] }],\n host: { 'data-slot': 'drawer-trigger' },\n})\nexport class HlmDrawerTrigger {}\n","/*\n * Public API Surface of drawer\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmDrawer } from './lib/hlm-drawer';\nimport { HlmDrawerClose } from './lib/hlm-drawer-close';\nimport { HlmDrawerContent } from './lib/hlm-drawer-content';\nimport { HlmDrawerDescription } from './lib/hlm-drawer-description';\nimport { HlmDrawerFooter } from './lib/hlm-drawer-footer';\nimport { HlmDrawerHeader } from './lib/hlm-drawer-header';\nimport { HlmDrawerOverlay } from './lib/hlm-drawer-overlay';\nimport { HlmDrawerPortal } from './lib/hlm-drawer-portal';\nimport { HlmDrawerTitle } from './lib/hlm-drawer-title';\nimport { HlmDrawerTrigger } from './lib/hlm-drawer-trigger';\n\nexport * from './lib/hlm-drawer';\nexport * from './lib/hlm-drawer-close';\nexport * from './lib/hlm-drawer-content';\nexport * from './lib/hlm-drawer-description';\nexport * from './lib/hlm-drawer-footer';\nexport * from './lib/hlm-drawer-header';\nexport * from './lib/hlm-drawer-overlay';\nexport * from './lib/hlm-drawer-portal';\nexport * from './lib/hlm-drawer-title';\nexport * from './lib/hlm-drawer-trigger';\n\nexport const HlmDrawerImports = [\n HlmDrawer,\n HlmDrawerClose,\n HlmDrawerContent,\n HlmDrawerDescription,\n HlmDrawerFooter,\n HlmDrawerHeader,\n HlmDrawerOverlay,\n HlmDrawerPortal,\n HlmDrawerTitle,\n HlmDrawerTrigger,\n] as const;\n\n@NgModule({\n imports: [...HlmDrawerImports],\n exports: [...HlmDrawerImports],\n})\nexport class HlmDrawerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"dropdown-menu.mjs","sources":["../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-focus-on-hover.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-checkbox-indicator.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-group.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-item.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-item-sub-indicator.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-label.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-radio.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-radio-indicator.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-separator.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-shortcut.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-sub.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-token.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-sub-trigger.ts","../../../projects/dropdown-menu/src/lib/hlm-dropdown-menu-trigger.ts","../../../projects/dropdown-menu/src/public-api.ts","../../../projects/dropdown-menu/src/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 '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDropdownMenu],hlm-dropdown-menu',\n hostDirectives: [CdkMenu],\n host: {\n 'data-slot': 'dropdown-menu',\n '[attr.data-state]': '_state()',\n '[attr.data-side]': '_side()',\n '[style.--side-offset]': 'sideOffset()',\n },\n})\nexport class HlmDropdownMenu {\n private readonly _host = inject(CdkMenu);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n // The trigger provides its configured side; CDK parents this content's injector under the trigger's.\n private readonly _menuSide = inject(MENU_SIDE, { optional: true });\n\n protected readonly _state = signal('open');\n protected readonly _side = signal<MenuSide>(this._menuSide?.side() ?? 'bottom');\n\n public readonly sideOffset = input<number, NumberInput>(1, { transform: numberAttribute });\n\n constructor() {\n classes(\n () =>\n '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-md p-1 shadow-md ring-1 duration-100 my-[--spacing(var(--side-offset))] overflow-x-hidden overflow-y-auto outline-none',\n );\n\n this.setSideFromTransformOrigin();\n // this is a best effort, but does not seem to work currently\n // TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n this._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n }\n\n private setSideFromTransformOrigin() {\n const side = this._menuSide?.side() ?? 'bottom';\n // CDK sets transform-origin on this element synchronously on attach; read it next tick and derive side\n setTimeout(() => {\n this._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));\n });\n }\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 selector: '[hlmDropdownMenuFocusOnHover]',\n host: {\n '(mouseenter)': '_focusOnHover()',\n },\n})\nexport class HlmDropdownMenuFocusOnHover {\n private readonly _cdkMenuItem = inject(CdkMenuItem, { self: true });\n private readonly _parentMenu = inject(CdkMenu, { optional: true });\n private readonly _inputModality = inject(InputModalityDetector);\n\n protected _focusOnHover(): void {\n // Only skip synthetic hovers from touch taps; every real hover (mouse, or keyboard-then-hover,\n // which leaves the modality as 'keyboard') should move focus to keep a single highlight.\n if (this._inputModality.mostRecentModality === 'touch' || this._cdkMenuItem.disabled) {\n return;\n }\n this._parentMenu?.setActiveMenuItem(this._cdkMenuItem);\n }\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 '@egose/shadcn-theme-ng/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n/** @internal. Use HlmDropdownMenuCheckbox instead. */\n@Directive({\n selector: '[hlmDropdownMenuCheckboxCdk]',\n providers: [\n { provide: CdkMenuItemCheckbox, useExisting: HlmDropdownMenuCheckboxCdk },\n { provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuCheckboxCdk },\n { provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },\n ],\n})\nexport class HlmDropdownMenuCheckboxCdk extends CdkMenuItemCheckbox {\n public readonly keepOpen = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n public override trigger(options?: { keepOpen: boolean }) {\n super.trigger({ ...options, keepOpen: this.keepOpen() });\n }\n}\n\n@Directive({\n selector: '[hlmDropdownMenuCheckbox],[hlmDropdownMenuCheckboxItem]',\n hostDirectives: [\n {\n directive: HlmDropdownMenuCheckboxCdk,\n inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked', 'keepOpen'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n HlmDropdownMenuFocusOnHover,\n ],\n host: {\n 'data-slot': 'dropdown-menu-checkbox-item',\n '[attr.data-disabled]': '_cdkMenuItem.disabled ? \"\" : null',\n '[attr.data-checked]': '_cdkMenuItem.checked ? \"\" : null',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuCheckbox {\n protected readonly _cdkMenuItem = inject(HlmDropdownMenuCheckboxCdk);\n\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(\n () =>\n \"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm data-inset:ps-8 [&_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 );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-dropdown-menu-checkbox-indicator',\n imports: [NgIcon],\n providers: [provideIcons({ lucideCheck })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { 'data-slot': 'dropdown-menu-checkbox-item-indicator' },\n template: ` <ng-icon name=\"lucideCheck\" /> `,\n})\nexport class HlmDropdownMenuCheckboxIndicator {\n constructor() {\n classes(\n () =>\n '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 );\n }\n}\n","import { CdkMenuGroup } from '@angular/cdk/menu';\nimport { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDropdownMenuGroup],hlm-dropdown-menu-group',\n hostDirectives: [CdkMenuGroup],\n host: { 'data-slot': 'dropdown-menu-group' },\n})\nexport class HlmDropdownMenuGroup {\n constructor() {\n classes(() => 'block');\n }\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 '@egose/shadcn-theme-ng/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n@Directive({\n selector: '[hlmDropdownMenuItem],hlm-dropdown-menu-item',\n hostDirectives: [\n {\n directive: CdkMenuItem,\n inputs: ['cdkMenuItemDisabled: disabled'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n HlmDropdownMenuFocusOnHover,\n ],\n host: {\n 'data-slot': 'dropdown-menu-item',\n '[attr.disabled]': '_isButton && disabled() ? \"\" : null',\n '[attr.data-disabled]': 'disabled() ? \"\" : null',\n '[attr.data-variant]': 'variant()',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuItem {\n protected readonly _isButton = inject(HOST_TAG_NAME) === 'button';\n\n public readonly disabled = input<boolean, BooleanInput>(false, { transform: booleanAttribute });\n\n public readonly variant = input<'default' | 'destructive'>('default');\n\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(\n () =>\n \"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-2 rounded-sm px-2 py-1.5 text-sm data-inset:ps-8 [&_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 );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronRight } from '@ng-icons/lucide';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-dropdown-menu-item-sub-indicator',\n imports: [NgIcon],\n providers: [provideIcons({ lucideChevronRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n template: ` <ng-icon name=\"lucideChevronRight\" class=\"text-[length:--spacing(4)] rtl:rotate-180\" /> `,\n})\nexport class HlmDropdownMenuItemSubIndicator {\n constructor() {\n classes(() => 'ms-auto flex items-center justify-center');\n }\n}\n","import { type BooleanInput } from '@angular/cdk/coercion';\nimport { booleanAttribute, Directive, input } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDropdownMenuLabel],hlm-dropdown-menu-label',\n host: {\n 'data-slot': 'dropdown-menu-label',\n '[attr.data-inset]': 'inset() ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuLabel {\n public readonly inset = input<boolean, BooleanInput>(false, {\n transform: booleanAttribute,\n });\n\n constructor() {\n classes(() => 'text-muted-foreground px-2 py-1.5 text-xs font-medium data-inset:ps-8 block');\n }\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 '@egose/shadcn-theme-ng/utils';\nimport { HlmDropdownMenuFocusOnHover } from './hlm-dropdown-menu-focus-on-hover';\n\n/** @internal. Use HlmDropdownMenuRadio instead. */\n@Directive({\n selector: '[hlmDropdownMenuRadioCdk]',\n providers: [\n { provide: CdkMenuItemRadio, useExisting: HlmDropdownMenuRadioCdk },\n { provide: CdkMenuItemSelectable, useExisting: HlmDropdownMenuRadioCdk },\n { provide: CdkMenuItem, useExisting: CdkMenuItemSelectable },\n ],\n})\nexport class HlmDropdownMenuRadioCdk extends CdkMenuItemRadio {\n public readonly keepOpen = input<boolean, BooleanInput>(true, { transform: booleanAttribute });\n\n public override trigger(options?: { keepOpen: boolean }) {\n super.trigger({ ...options, keepOpen: this.keepOpen() });\n }\n}\n\n@Directive({\n selector: '[hlmDropdownMenuRadio]',\n hostDirectives: [\n {\n directive: HlmDropdownMenuRadioCdk,\n inputs: ['cdkMenuItemDisabled: disabled', 'cdkMenuItemChecked: checked', 'keepOpen'],\n outputs: ['cdkMenuItemTriggered: triggered'],\n },\n HlmDropdownMenuFocusOnHover,\n ],\n host: {\n 'data-slot': 'dropdown-menu-radio-item',\n '[attr.data-disabled]': '_cdkMenuItem.disabled ? \"\" : null',\n '[attr.data-checked]': '_cdkMenuItem.checked ? \"\" : null',\n },\n})\nexport class HlmDropdownMenuRadio {\n protected readonly _cdkMenuItem = inject(HlmDropdownMenuRadioCdk);\n\n constructor() {\n classes(\n () =>\n \"hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm data-inset:ps-8 [&_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 );\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideCheck } from '@ng-icons/lucide';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-dropdown-menu-radio-indicator',\n imports: [NgIcon],\n providers: [provideIcons({ lucideCheck })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: { 'data-slot': 'dropdown-menu-radio-item-indicator' },\n template: ` <ng-icon name=\"lucideCheck\" /> `,\n})\nexport class HlmDropdownMenuRadioIndicator {\n constructor() {\n classes(\n () =>\n '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 );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDropdownMenuSeparator],hlm-dropdown-menu-separator',\n host: { 'data-slot': 'dropdown-menu-separator' },\n})\nexport class HlmDropdownMenuSeparator {\n constructor() {\n classes(() => 'bg-border -mx-1 my-1 h-px block');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDropdownMenuShortcut],hlm-dropdown-menu-shortcut',\n host: { 'data-slot': 'dropdown-menu-shortcut' },\n})\nexport class HlmDropdownMenuShortcut {\n constructor() {\n classes(\n () =>\n 'text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest',\n );\n }\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 '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmDropdownMenuSub],hlm-dropdown-menu-sub',\n hostDirectives: [CdkMenu],\n host: {\n 'data-slot': 'dropdown-menu-sub',\n '[attr.data-state]': '_state()',\n '[attr.data-side]': '_side()',\n },\n})\nexport class HlmDropdownMenuSub {\n private readonly _host = inject(CdkMenu);\n private readonly _elementRef = inject(ElementRef<HTMLElement>);\n // The sub-trigger provides its configured side; CDK parents this content's injector under it.\n private readonly _menuSide = inject(MENU_SIDE, { optional: true });\n\n protected readonly _state = signal('open');\n protected readonly _side = signal<MenuSide>(this._menuSide?.side() ?? 'right');\n\n constructor() {\n this.setSideFromTransformOrigin();\n // this is a best effort, but does not seem to work currently\n // TODO: figure out a way for us to know the host is about to be closed. might not be possible with CDK\n this._host.closed.pipe(takeUntilDestroyed()).subscribe(() => this._state.set('closed'));\n\n classes(\n () =>\n '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-[96px] rounded-md p-1 shadow-lg ring-1 duration-100 w-auto',\n );\n }\n\n private setSideFromTransformOrigin() {\n const side = this._menuSide?.side() ?? 'right';\n // CDK sets transform-origin on this element synchronously on attach; read it next tick and derive side\n setTimeout(() => {\n this._side.set(deriveMenuSideFromTransformOrigin(this._elementRef.nativeElement.style.transformOrigin, side));\n });\n }\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 align: MenuAlign;\n side: MenuSide;\n}\n\nconst defaultConfig: HlmDropdownMenuConfig = {\n align: 'start',\n side: 'bottom',\n};\n\nconst HlmDropdownMenuConfigToken = new InjectionToken<HlmDropdownMenuConfig>('HlmDropdownMenuConfig');\n\nexport function provideHlmDropdownMenuConfig(config: Partial<HlmDropdownMenuConfig>): ValueProvider {\n return { provide: HlmDropdownMenuConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmDropdownMenuConfig(): HlmDropdownMenuConfig {\n return 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 '@egose/shadcn-theme-ng/utils';\nimport { injectHlmDropdownMenuConfig } from './hlm-dropdown-menu-token';\n\n@Directive({\n selector: '[hlmDropdownMenuSubTrigger]',\n providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuSubTrigger) }],\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: hlmDropdownMenuSubTrigger', 'cdkMenuTriggerData: hlmDropdownMenuTriggerData'],\n outputs: ['cdkMenuOpened: hlmDropdownMenuSubOpened', 'cdkMenuClosed: hlmDropdownMenuSubClosed'],\n },\n ],\n host: { 'data-slot': 'dropdown-menu-sub-trigger' },\n})\nexport class HlmDropdownMenuSubTrigger {\n private readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n private readonly _config = injectHlmDropdownMenuConfig();\n\n public readonly align = input<MenuAlign>(this._config.align);\n public readonly side = input<MenuSide>(this._config.side);\n\n private readonly _menuPosition = computed(() => createMenuPosition(this.align(), this.side()));\n\n constructor() {\n // CDK sets transform-origin on the submenu content from the resolved position; the content reads it\n // to animate from the anchored corner and to derive its data-side. Cast tolerates @angular/cdk < 21.2\n // (we still support >=21.0), where the property is absent and the assignment is a harmless no-op.\n (this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector =\n '[data-slot=\"dropdown-menu-sub\"]';\n\n effect(() => {\n this._cdkTrigger.menuPosition = this._menuPosition();\n });\n\n classes(() => 'aria-expanded:bg-accent aria-expanded:text-accent-foreground');\n }\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 selector: '[hlmDropdownMenuTrigger]',\n providers: [{ provide: MENU_SIDE, useExisting: forwardRef(() => HlmDropdownMenuTrigger) }],\n hostDirectives: [\n {\n directive: CdkMenuTrigger,\n inputs: ['cdkMenuTriggerFor: hlmDropdownMenuTrigger', 'cdkMenuTriggerData: hlmDropdownMenuTriggerData'],\n outputs: ['cdkMenuOpened: hlmDropdownMenuOpened', 'cdkMenuClosed: hlmDropdownMenuClosed'],\n },\n ],\n host: { 'data-slot': 'dropdown-menu-trigger' },\n})\nexport class HlmDropdownMenuTrigger {\n private readonly _cdkTrigger = inject(CdkMenuTrigger, { host: true });\n private readonly _config = injectHlmDropdownMenuConfig();\n\n public readonly align = input<MenuAlign>(this._config.align);\n public readonly side = input<MenuSide>(this._config.side);\n\n private readonly _menuPosition = computed(() => createMenuPosition(this.align(), this.side()));\n\n constructor() {\n // CDK sets transform-origin on the menu content from the resolved position; the content reads it to\n // animate from the anchored corner and to derive its data-side. Cast tolerates @angular/cdk < 21.2\n // (we still support >=21.0), where the property is absent and the assignment is a harmless no-op.\n (this._cdkTrigger as { transformOriginSelector?: string }).transformOriginSelector = '[data-slot=\"dropdown-menu\"]';\n\n effect(() => {\n this._cdkTrigger.menuPosition = this._menuPosition();\n });\n }\n}\n","/*\n * Public API Surface of dropdown-menu\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { 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 HlmDropdownMenu,\n HlmDropdownMenuCheckbox,\n HlmDropdownMenuCheckboxIndicator,\n HlmDropdownMenuGroup,\n HlmDropdownMenuItem,\n HlmDropdownMenuItemSubIndicator,\n HlmDropdownMenuLabel,\n HlmDropdownMenuRadio,\n HlmDropdownMenuRadioIndicator,\n HlmDropdownMenuSeparator,\n HlmDropdownMenuShortcut,\n HlmDropdownMenuSub,\n HlmDropdownMenuSubTrigger,\n HlmDropdownMenuTrigger,\n] as const;\n\n@NgModule({\n imports: [...HlmDropdownMenuImports],\n exports: [...HlmDropdownMenuImports],\n})\nexport class HlmDropdownMenuModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.HlmDropdownMenuFocusOnHover","i2.HlmDropdownMenuFocusOnHover"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"empty.mjs","sources":["../../../projects/empty/src/lib/hlm-empty.ts","../../../projects/empty/src/lib/hlm-empty-content.ts","../../../projects/empty/src/lib/hlm-empty-description.ts","../../../projects/empty/src/lib/hlm-empty-header.ts","../../../projects/empty/src/lib/hlm-empty-media.ts","../../../projects/empty/src/lib/hlm-empty-title.ts","../../../projects/empty/src/public-api.ts","../../../projects/empty/src/empty.ts"],"sourcesContent":["import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmEmpty],hlm-empty',\n host: { 'data-slot': 'empty' },\n})\nexport class HlmEmpty {\n constructor() {\n classes(\n () =>\n 'gap-4 rounded-lg border-dashed p-12 flex w-full min-w-0 flex-1 flex-col items-center justify-center text-center text-balance',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmEmptyContent],hlm-empty-content',\n host: { 'data-slot': 'empty-content' },\n})\nexport class HlmEmptyContent {\n constructor() {\n classes(() => 'gap-4 text-sm flex w-full max-w-sm min-w-0 flex-col items-center text-balance');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmEmptyDescription]',\n host: { 'data-slot': 'empty-description' },\n})\nexport class HlmEmptyDescription {\n constructor() {\n classes(\n () => 'text-sm/relaxed text-muted-foreground [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmEmptyHeader],hlm-empty-header',\n host: { 'data-slot': 'empty-header' },\n})\nexport class HlmEmptyHeader {\n constructor() {\n classes(() => 'gap-2 flex max-w-sm flex-col items-center');\n }\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { cva, VariantProps } from 'class-variance-authority';\n\nconst emptyMediaVariants = cva(\n 'mb-2 flex shrink-0 items-center justify-center [&_ng-icon]:pointer-events-none [&_ng-icon]:shrink-0',\n {\n variants: {\n variant: {\n default: 'bg-transparent',\n icon: \"bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(6)]\",\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nexport type EmptyMediaVariants = VariantProps<typeof emptyMediaVariants>;\n\n@Directive({\n selector: '[hlmEmptyMedia],hlm-empty-media',\n host: {\n 'data-slot': 'empty-media',\n '[attr.data-variant]': 'variant()',\n },\n})\nexport class HlmEmptyMedia {\n public readonly variant = input<EmptyMediaVariants['variant']>();\n\n constructor() {\n classes(() => emptyMediaVariants({ variant: this.variant() }));\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmEmptyTitle]',\n host: { 'data-slot': 'empty-title' },\n})\nexport class HlmEmptyTitle {\n constructor() {\n classes(() => 'text-lg font-medium tracking-tight');\n }\n}\n","/*\n * Public API Surface of empty\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmEmpty } from './lib/hlm-empty';\nimport { HlmEmptyContent } from './lib/hlm-empty-content';\nimport { HlmEmptyDescription } from './lib/hlm-empty-description';\nimport { HlmEmptyHeader } from './lib/hlm-empty-header';\nimport { HlmEmptyMedia } from './lib/hlm-empty-media';\nimport { HlmEmptyTitle } from './lib/hlm-empty-title';\n\nexport * from './lib/hlm-empty';\nexport * from './lib/hlm-empty-content';\nexport * from './lib/hlm-empty-description';\nexport * from './lib/hlm-empty-header';\nexport * from './lib/hlm-empty-media';\nexport * from './lib/hlm-empty-title';\n\nexport const HlmEmptyImports = [\n HlmEmpty,\n HlmEmptyContent,\n HlmEmptyDescription,\n HlmEmptyHeader,\n HlmEmptyTitle,\n HlmEmptyMedia,\n] as const;\n\n@NgModule({\n imports: [...HlmEmptyImports],\n exports: [...HlmEmptyImports],\n})\nexport class HlmEmptyModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}