@egose/shadcn-theme-ng 0.0.26 → 0.0.28

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 (333) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +107 -2
  3. package/accordion/fesm2022/accordion.mjs +42 -37
  4. package/accordion/fesm2022/accordion.mjs.map +1 -1
  5. package/accordion/package.json +25 -0
  6. package/accordion/{index.d.ts → types/accordion.d.ts} +1 -1
  7. package/alert/fesm2022/alert.mjs +32 -27
  8. package/alert/fesm2022/alert.mjs.map +1 -1
  9. package/alert/package.json +25 -0
  10. package/alert-dialog/README.md +11 -0
  11. package/alert-dialog/fesm2022/alert-dialog.mjs +287 -0
  12. package/alert-dialog/fesm2022/alert-dialog.mjs.map +1 -0
  13. package/alert-dialog/package.json +25 -0
  14. package/alert-dialog/types/alert-dialog.d.ts +90 -0
  15. package/aspect-ratio/README.md +11 -0
  16. package/aspect-ratio/fesm2022/aspect-ratio.mjs +62 -0
  17. package/aspect-ratio/fesm2022/aspect-ratio.mjs.map +1 -0
  18. package/aspect-ratio/package.json +25 -0
  19. package/aspect-ratio/types/aspect-ratio.d.ts +21 -0
  20. package/autocomplete/fesm2022/autocomplete.mjs +323 -457
  21. package/autocomplete/fesm2022/autocomplete.mjs.map +1 -1
  22. package/autocomplete/package.json +24 -0
  23. package/autocomplete/types/autocomplete.d.ts +96 -0
  24. package/avatar/README.md +11 -0
  25. package/avatar/fesm2022/avatar.mjs +178 -0
  26. package/avatar/fesm2022/avatar.mjs.map +1 -0
  27. package/avatar/package.json +25 -0
  28. package/avatar/types/avatar.d.ts +50 -0
  29. package/badge/fesm2022/badge.mjs +16 -10
  30. package/badge/fesm2022/badge.mjs.map +1 -1
  31. package/badge/package.json +25 -0
  32. package/basic-alert/fesm2022/basic-alert.mjs +12 -8
  33. package/basic-alert/fesm2022/basic-alert.mjs.map +1 -1
  34. package/basic-alert/package.json +24 -0
  35. package/breadcrumb/README.md +11 -0
  36. package/breadcrumb/fesm2022/breadcrumb.mjs +224 -0
  37. package/breadcrumb/fesm2022/breadcrumb.mjs.map +1 -0
  38. package/breadcrumb/package.json +25 -0
  39. package/breadcrumb/types/breadcrumb.d.ts +57 -0
  40. package/button/fesm2022/button.mjs +100 -26
  41. package/button/fesm2022/button.mjs.map +1 -1
  42. package/button/package.json +25 -0
  43. package/button/{index.d.ts → types/button.d.ts} +30 -9
  44. package/button-group/README.md +11 -0
  45. package/button-group/fesm2022/button-group.mjs +102 -0
  46. package/button-group/fesm2022/button-group.mjs.map +1 -0
  47. package/button-group/package.json +25 -0
  48. package/button-group/types/button-group.d.ts +30 -0
  49. package/calendar/fesm2022/calendar.mjs +868 -546
  50. package/calendar/fesm2022/calendar.mjs.map +1 -1
  51. package/calendar/package.json +24 -0
  52. package/calendar/types/calendar.d.ts +94 -0
  53. package/card/README.md +11 -0
  54. package/card/fesm2022/card.mjs +169 -0
  55. package/card/fesm2022/card.mjs.map +1 -0
  56. package/card/package.json +25 -0
  57. package/card/types/card.d.ts +54 -0
  58. package/carousel/README.md +11 -0
  59. package/carousel/fesm2022/carousel.mjs +309 -0
  60. package/carousel/fesm2022/carousel.mjs.map +1 -0
  61. package/carousel/package.json +25 -0
  62. package/carousel/types/carousel.d.ts +84 -0
  63. package/checkbox/fesm2022/checkbox.mjs +25 -20
  64. package/checkbox/fesm2022/checkbox.mjs.map +1 -1
  65. package/checkbox/package.json +24 -0
  66. package/collapsible/README.md +11 -0
  67. package/collapsible/fesm2022/collapsible.mjs +77 -0
  68. package/collapsible/fesm2022/collapsible.mjs.map +1 -0
  69. package/collapsible/package.json +25 -0
  70. package/collapsible/types/collapsible.d.ts +27 -0
  71. package/combobox/README.md +11 -0
  72. package/combobox/fesm2022/combobox.mjs +683 -0
  73. package/combobox/fesm2022/combobox.mjs.map +1 -0
  74. package/combobox/package.json +25 -0
  75. package/combobox/types/combobox.d.ts +151 -0
  76. package/command/README.md +11 -0
  77. package/command/fesm2022/command.mjs +361 -0
  78. package/command/fesm2022/command.mjs.map +1 -0
  79. package/command/package.json +25 -0
  80. package/command/types/command.d.ts +89 -0
  81. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs +19 -8
  82. package/confirmation-dialog/fesm2022/confirmation-dialog.mjs.map +1 -1
  83. package/confirmation-dialog/package.json +24 -0
  84. package/context-menu/README.md +11 -0
  85. package/context-menu/fesm2022/context-menu.mjs +89 -0
  86. package/context-menu/fesm2022/context-menu.mjs.map +1 -0
  87. package/context-menu/package.json +25 -0
  88. package/context-menu/types/context-menu.d.ts +34 -0
  89. package/date-picker/fesm2022/date-picker.mjs +1262 -307
  90. package/date-picker/fesm2022/date-picker.mjs.map +1 -1
  91. package/date-picker/package.json +24 -0
  92. package/date-picker/types/date-picker.d.ts +551 -0
  93. package/dialog/fesm2022/dialog.mjs +137 -108
  94. package/dialog/fesm2022/dialog.mjs.map +1 -1
  95. package/dialog/package.json +24 -0
  96. package/dialog/types/dialog.d.ts +95 -0
  97. package/drawer/README.md +11 -0
  98. package/drawer/fesm2022/drawer.mjs +271 -0
  99. package/drawer/fesm2022/drawer.mjs.map +1 -0
  100. package/drawer/package.json +25 -0
  101. package/drawer/types/drawer.d.ts +76 -0
  102. package/dropdown-menu/README.md +11 -0
  103. package/dropdown-menu/fesm2022/dropdown-menu.mjs +542 -0
  104. package/dropdown-menu/fesm2022/dropdown-menu.mjs.map +1 -0
  105. package/dropdown-menu/package.json +25 -0
  106. package/dropdown-menu/types/dropdown-menu.d.ts +176 -0
  107. package/empty/README.md +11 -0
  108. package/empty/fesm2022/empty.mjs +151 -0
  109. package/empty/fesm2022/empty.mjs.map +1 -0
  110. package/empty/package.json +25 -0
  111. package/empty/types/empty.d.ts +54 -0
  112. package/field/README.md +11 -0
  113. package/field/fesm2022/field.mjs +367 -0
  114. package/field/fesm2022/field.mjs.map +1 -0
  115. package/field/package.json +25 -0
  116. package/field/types/field.d.ts +107 -0
  117. package/form-checkbox/fesm2022/form-checkbox.mjs +39 -22
  118. package/form-checkbox/fesm2022/form-checkbox.mjs.map +1 -1
  119. package/form-checkbox/package.json +24 -0
  120. package/form-date-picker/fesm2022/form-date-picker.mjs +58 -51
  121. package/form-date-picker/fesm2022/form-date-picker.mjs.map +1 -1
  122. package/form-date-picker/package.json +24 -0
  123. package/form-field/fesm2022/form-field.mjs +39 -27
  124. package/form-field/fesm2022/form-field.mjs.map +1 -1
  125. package/form-field/package.json +25 -0
  126. package/form-field/{index.d.ts → types/form-field.d.ts} +4 -3
  127. package/form-field-simple/fesm2022/form-field-simple.mjs +15 -10
  128. package/form-field-simple/fesm2022/form-field-simple.mjs.map +1 -1
  129. package/form-field-simple/package.json +24 -0
  130. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs +44 -25
  131. package/form-searchable-multiselect/fesm2022/form-searchable-multiselect.mjs.map +1 -1
  132. package/form-searchable-multiselect/package.json +24 -0
  133. package/form-select/fesm2022/form-select.mjs +132 -71
  134. package/form-select/fesm2022/form-select.mjs.map +1 -1
  135. package/form-select/package.json +24 -0
  136. package/form-text-input/fesm2022/form-text-input.mjs +68 -39
  137. package/form-text-input/fesm2022/form-text-input.mjs.map +1 -1
  138. package/form-text-input/package.json +24 -0
  139. package/form-textarea/fesm2022/form-textarea.mjs +54 -30
  140. package/form-textarea/fesm2022/form-textarea.mjs.map +1 -1
  141. package/form-textarea/package.json +24 -0
  142. package/hover-card/README.md +11 -0
  143. package/hover-card/fesm2022/hover-card.mjs +123 -0
  144. package/hover-card/fesm2022/hover-card.mjs.map +1 -0
  145. package/hover-card/package.json +25 -0
  146. package/hover-card/types/hover-card.d.ts +36 -0
  147. package/icon/fesm2022/icon.mjs +12 -10
  148. package/icon/fesm2022/icon.mjs.map +1 -1
  149. package/icon/package.json +25 -0
  150. package/input/fesm2022/input.mjs +20 -70
  151. package/input/fesm2022/input.mjs.map +1 -1
  152. package/input/package.json +25 -0
  153. package/input/types/input.d.ts +18 -0
  154. package/input-group/README.md +11 -0
  155. package/input-group/fesm2022/input-group.mjs +199 -0
  156. package/input-group/fesm2022/input-group.mjs.map +1 -0
  157. package/input-group/package.json +25 -0
  158. package/input-group/types/input-group.d.ts +52 -0
  159. package/input-otp/README.md +11 -0
  160. package/input-otp/fesm2022/input-otp.mjs +141 -0
  161. package/input-otp/fesm2022/input-otp.mjs.map +1 -0
  162. package/input-otp/package.json +25 -0
  163. package/input-otp/types/input-otp.d.ts +43 -0
  164. package/item/README.md +11 -0
  165. package/item/fesm2022/item.mjs +278 -0
  166. package/item/fesm2022/item.mjs.map +1 -0
  167. package/item/package.json +25 -0
  168. package/item/types/item.d.ts +101 -0
  169. package/kbd/README.md +11 -0
  170. package/kbd/fesm2022/kbd.mjs +61 -0
  171. package/kbd/fesm2022/kbd.mjs.map +1 -0
  172. package/kbd/package.json +25 -0
  173. package/kbd/types/kbd.d.ts +22 -0
  174. package/label/fesm2022/label.mjs +11 -10
  175. package/label/fesm2022/label.mjs.map +1 -1
  176. package/label/package.json +25 -0
  177. package/layout-simple/fesm2022/layout-simple.mjs +438 -325
  178. package/layout-simple/fesm2022/layout-simple.mjs.map +1 -1
  179. package/layout-simple/package.json +24 -0
  180. package/layout-simple/{index.d.ts → types/layout-simple.d.ts} +28 -17
  181. package/menubar/README.md +11 -0
  182. package/menubar/fesm2022/menubar.mjs +108 -0
  183. package/menubar/fesm2022/menubar.mjs.map +1 -0
  184. package/menubar/package.json +25 -0
  185. package/menubar/types/menubar.d.ts +40 -0
  186. package/native-select/README.md +11 -0
  187. package/native-select/fesm2022/native-select.mjs +207 -0
  188. package/native-select/fesm2022/native-select.mjs.map +1 -0
  189. package/native-select/package.json +25 -0
  190. package/native-select/types/native-select.d.ts +70 -0
  191. package/navigation-menu/README.md +11 -0
  192. package/navigation-menu/fesm2022/navigation-menu.mjs +206 -0
  193. package/navigation-menu/fesm2022/navigation-menu.mjs.map +1 -0
  194. package/navigation-menu/package.json +25 -0
  195. package/navigation-menu/types/navigation-menu.d.ts +54 -0
  196. package/package.json +223 -81
  197. package/pagination/README.md +11 -0
  198. package/pagination/fesm2022/pagination.mjs +808 -0
  199. package/pagination/fesm2022/pagination.mjs.map +1 -0
  200. package/pagination/package.json +25 -0
  201. package/pagination/types/pagination.d.ts +192 -0
  202. package/popover/fesm2022/popover.mjs +121 -27
  203. package/popover/fesm2022/popover.mjs.map +1 -1
  204. package/popover/package.json +24 -0
  205. package/popover/types/popover.d.ts +54 -0
  206. package/progress/README.md +11 -0
  207. package/progress/fesm2022/progress.mjs +77 -0
  208. package/progress/fesm2022/progress.mjs.map +1 -0
  209. package/progress/package.json +25 -0
  210. package/progress/types/progress.d.ts +27 -0
  211. package/radio-group/fesm2022/radio-group.mjs +96 -62
  212. package/radio-group/fesm2022/radio-group.mjs.map +1 -1
  213. package/radio-group/package.json +25 -0
  214. package/radio-group/{index.d.ts → types/radio-group.d.ts} +22 -14
  215. package/resizable/README.md +11 -0
  216. package/resizable/fesm2022/resizable.mjs +111 -0
  217. package/resizable/fesm2022/resizable.mjs.map +1 -0
  218. package/resizable/package.json +25 -0
  219. package/resizable/types/resizable.d.ts +32 -0
  220. package/scroll-area/README.md +11 -0
  221. package/scroll-area/fesm2022/scroll-area.mjs +51 -0
  222. package/scroll-area/fesm2022/scroll-area.mjs.map +1 -0
  223. package/scroll-area/package.json +25 -0
  224. package/scroll-area/types/scroll-area.d.ts +16 -0
  225. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs +92 -88
  226. package/searchable-multiselect/fesm2022/searchable-multiselect.mjs.map +1 -1
  227. package/searchable-multiselect/package.json +24 -0
  228. package/searchable-multiselect/{index.d.ts → types/searchable-multiselect.d.ts} +13 -24
  229. package/select/fesm2022/select.mjs +371 -189
  230. package/select/fesm2022/select.mjs.map +1 -1
  231. package/select/package.json +25 -0
  232. package/select/types/select.d.ts +119 -0
  233. package/separator/fesm2022/separator.mjs +16 -14
  234. package/separator/fesm2022/separator.mjs.map +1 -1
  235. package/separator/package.json +24 -0
  236. package/separator/{index.d.ts → types/separator.d.ts} +4 -5
  237. package/sheet/fesm2022/sheet.mjs +57 -51
  238. package/sheet/fesm2022/sheet.mjs.map +1 -1
  239. package/sheet/package.json +24 -0
  240. package/sidebar/README.md +11 -0
  241. package/sidebar/fesm2022/sidebar.mjs +948 -0
  242. package/sidebar/fesm2022/sidebar.mjs.map +1 -0
  243. package/sidebar/package.json +25 -0
  244. package/sidebar/types/sidebar.d.ts +237 -0
  245. package/skeleton/README.md +11 -0
  246. package/skeleton/fesm2022/skeleton.mjs +44 -0
  247. package/skeleton/fesm2022/skeleton.mjs.map +1 -0
  248. package/skeleton/package.json +25 -0
  249. package/skeleton/types/skeleton.d.ts +16 -0
  250. package/slider/README.md +11 -0
  251. package/slider/fesm2022/slider.mjs +144 -0
  252. package/slider/fesm2022/slider.mjs.map +1 -0
  253. package/slider/package.json +25 -0
  254. package/slider/types/slider.d.ts +19 -0
  255. package/sonner/fesm2022/sonner.mjs +30 -35
  256. package/sonner/fesm2022/sonner.mjs.map +1 -1
  257. package/sonner/package.json +25 -0
  258. package/spinner/fesm2022/spinner.mjs +18 -14
  259. package/spinner/fesm2022/spinner.mjs.map +1 -1
  260. package/spinner/package.json +25 -0
  261. package/switch/fesm2022/switch.mjs +29 -26
  262. package/switch/fesm2022/switch.mjs.map +1 -1
  263. package/switch/package.json +25 -0
  264. package/table/README.md +11 -0
  265. package/table/fesm2022/table.mjs +211 -0
  266. package/table/fesm2022/table.mjs.map +1 -0
  267. package/table/package.json +25 -0
  268. package/table/types/table.d.ts +87 -0
  269. package/tabs/fesm2022/tabs.mjs +131 -103
  270. package/tabs/fesm2022/tabs.mjs.map +1 -1
  271. package/tabs/package.json +25 -0
  272. package/tabs/types/tabs.d.ts +71 -0
  273. package/textarea/README.md +11 -0
  274. package/textarea/fesm2022/textarea.mjs +47 -0
  275. package/textarea/fesm2022/textarea.mjs.map +1 -0
  276. package/textarea/package.json +25 -0
  277. package/textarea/types/textarea.d.ts +18 -0
  278. package/toggle/README.md +11 -0
  279. package/toggle/fesm2022/toggle.mjs +78 -0
  280. package/toggle/fesm2022/toggle.mjs.map +1 -0
  281. package/toggle/package.json +25 -0
  282. package/toggle/types/toggle.d.ts +27 -0
  283. package/toggle-group/README.md +11 -0
  284. package/toggle-group/fesm2022/toggle-group.mjs +117 -0
  285. package/toggle-group/fesm2022/toggle-group.mjs.map +1 -0
  286. package/toggle-group/package.json +25 -0
  287. package/toggle-group/types/toggle-group.d.ts +39 -0
  288. package/tooltip/fesm2022/tooltip.mjs +33 -54
  289. package/tooltip/fesm2022/tooltip.mjs.map +1 -1
  290. package/tooltip/package.json +25 -0
  291. package/tooltip/types/tooltip.d.ts +22 -0
  292. package/typography/README.md +11 -0
  293. package/typography/fesm2022/typography.mjs +242 -0
  294. package/typography/fesm2022/typography.mjs.map +1 -0
  295. package/typography/package.json +25 -0
  296. package/typography/types/typography.d.ts +94 -0
  297. package/utils/fesm2022/utils.mjs +184 -1
  298. package/utils/fesm2022/utils.mjs.map +1 -1
  299. package/utils/package.json +25 -0
  300. package/utils/types/utils.d.ts +13 -0
  301. package/autocomplete/index.d.ts +0 -162
  302. package/calendar/index.d.ts +0 -111
  303. package/date-picker/index.d.ts +0 -227
  304. package/dialog/index.d.ts +0 -89
  305. package/exports.json +0 -1
  306. package/input/index.d.ts +0 -41
  307. package/menu/README.md +0 -64
  308. package/menu/fesm2022/menu.mjs +0 -449
  309. package/menu/fesm2022/menu.mjs.map +0 -1
  310. package/menu/index.d.ts +0 -137
  311. package/popover/index.d.ts +0 -30
  312. package/select/index.d.ts +0 -92
  313. package/tabs/index.d.ts +0 -71
  314. package/tooltip/index.d.ts +0 -21
  315. package/utils/index.d.ts +0 -5
  316. /package/alert/{index.d.ts → types/alert.d.ts} +0 -0
  317. /package/badge/{index.d.ts → types/badge.d.ts} +0 -0
  318. /package/basic-alert/{index.d.ts → types/basic-alert.d.ts} +0 -0
  319. /package/checkbox/{index.d.ts → types/checkbox.d.ts} +0 -0
  320. /package/confirmation-dialog/{index.d.ts → types/confirmation-dialog.d.ts} +0 -0
  321. /package/form-checkbox/{index.d.ts → types/form-checkbox.d.ts} +0 -0
  322. /package/form-date-picker/{index.d.ts → types/form-date-picker.d.ts} +0 -0
  323. /package/form-field-simple/{index.d.ts → types/form-field-simple.d.ts} +0 -0
  324. /package/form-searchable-multiselect/{index.d.ts → types/form-searchable-multiselect.d.ts} +0 -0
  325. /package/form-select/{index.d.ts → types/form-select.d.ts} +0 -0
  326. /package/form-text-input/{index.d.ts → types/form-text-input.d.ts} +0 -0
  327. /package/form-textarea/{index.d.ts → types/form-textarea.d.ts} +0 -0
  328. /package/icon/{index.d.ts → types/icon.d.ts} +0 -0
  329. /package/label/{index.d.ts → types/label.d.ts} +0 -0
  330. /package/sheet/{index.d.ts → types/sheet.d.ts} +0 -0
  331. /package/sonner/{index.d.ts → types/sonner.d.ts} +0 -0
  332. /package/spinner/{index.d.ts → types/spinner.d.ts} +0 -0
  333. /package/switch/{index.d.ts → types/switch.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"calendar.mjs","sources":["../../../projects/calendar/src/lib/calendar.ts","../../../projects/calendar/src/lib/calendar-multi.ts","../../../projects/calendar/src/lib/calendar-range.ts","../../../projects/calendar/src/public-api.ts","../../../projects/calendar/src/calendar.ts"],"sourcesContent":["import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendar,\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar',\n imports: [\n BrnCalendar,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendar\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"disabled()\"\n [(date)]=\"date\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col tw:space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center tw:pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex tw:items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:focus-visible:ring-ring tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:text-popover-foreground tw:absolute tw:left-1 tw:inline-flex tw:size-8 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:focus-visible:ring-ring tw:hover:bg-secondary tw:hover:text-secondary-foreground tw:text-popover-foreground tw:absolute tw:right-1 tw:inline-flex tw:size-8 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex tw:w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-secondary/50 tw:data-[selected]:bg-secondary tw:relative tw:size-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendar<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() =>\n hlm('tw:rounded-md tw:border tw:p-3', this.calendarClass()),\n );\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\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 = model<T>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendar);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-secondary/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30',\n 'tw:data-[today]:bg-secondary tw:data-[today]:text-secondary-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n );\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarMulti,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar-multi',\n imports: [\n BrnCalendarMulti,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendarMulti\n [min]=\"min()\"\n [max]=\"max()\"\n [minSelection]=\"minSelection()\"\n [maxSelection]=\"maxSelection()\"\n [disabled]=\"disabled()\"\n [(date)]=\"date\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:left-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:right-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-accent/50 tw:data-[selected]:bg-accent tw:relative tw:h-8 tw:w-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendarMulti<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() => hlm('tw:rounded-md tw:border p-3', this.calendarClass()));\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\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 = model<T[]>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendarMulti);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:bg-accent/50 tw:data-[outside]:aria-selected:text-muted-foreground tw:data-[outside]:opacity-50 tw:data-[outside]:aria-selected:opacity-30',\n 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:hover:bg-primary tw:data-[selected]:hover:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n );\n}\n","import { BooleanInput, NumberInput } from '@angular/cdk/coercion';\nimport {\n booleanAttribute,\n ChangeDetectionStrategy,\n Component,\n computed,\n input,\n model,\n numberAttribute,\n viewChild,\n} from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport {\n BrnCalendarCell,\n BrnCalendarCellButton,\n BrnCalendarGrid,\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarRange,\n BrnCalendarWeek,\n BrnCalendarWeekday,\n injectBrnCalendarI18n,\n Weekday,\n} from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants } from '@egose/shadcn-theme-ng/button';\nimport { HlmIcon } from '@egose/shadcn-theme-ng/icon';\nimport { hlm } from '@egose/shadcn-theme-ng/utils';\nimport type { ClassValue } from 'clsx';\n\n@Component({\n selector: 'hlm-calendar-range',\n imports: [\n BrnCalendarHeader,\n BrnCalendarNextButton,\n BrnCalendarPreviousButton,\n BrnCalendarWeekday,\n BrnCalendarWeek,\n BrnCalendarCellButton,\n BrnCalendarCell,\n BrnCalendarGrid,\n NgIcon,\n HlmIcon,\n BrnCalendarRange,\n ],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n template: `\n <div\n brnCalendarRange\n [min]=\"min()\"\n [max]=\"max()\"\n [disabled]=\"disabled()\"\n [(startDate)]=\"startDate\"\n [(endDate)]=\"endDate\"\n [dateDisabled]=\"dateDisabled()\"\n [weekStartsOn]=\"weekStartsOn()\"\n [defaultFocusedDate]=\"defaultFocusedDate()\"\n [class]=\"_computedCalenderClass()\"\n >\n <div class=\"tw:inline-flex tw:flex-col tw:space-y-4\">\n <!-- Header -->\n <div class=\"tw:space-y-4\">\n <div class=\"tw:relative tw:flex tw:items-center tw:justify-center tw:pt-1\">\n <div brnCalendarHeader class=\"tw:text-sm tw:font-medium\">\n {{ _heading() }}\n </div>\n\n <div class=\"tw:flex tw:items-center tw:space-x-1\">\n <button\n brnCalendarPreviousButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:left-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronLeft\" size=\"sm\" />\n </button>\n\n <button\n brnCalendarNextButton\n class=\"tw:ring-offset-background tw:focus-visible:ring-ring tw:border-input tw:hover:bg-accent tw:hover:text-accent-foreground tw:absolute tw:right-1 tw:inline-flex tw:h-7 tw:w-7 tw:items-center tw:justify-center tw:whitespace-nowrap tw:rounded-md tw:border tw:bg-transparent tw:p-0 tw:text-sm tw:font-medium tw:opacity-50 tw:transition-colors tw:hover:opacity-100 tw:focus-visible:outline-none tw:focus-visible:ring-2 tw:focus-visible:ring-offset-2 tw:disabled:pointer-events-none tw:disabled:opacity-50\"\n >\n <ng-icon hlm name=\"lucideChevronRight\" size=\"sm\" />\n </button>\n </div>\n </div>\n </div>\n\n <table class=\"tw:w-full tw:border-collapse tw:space-y-1\" brnCalendarGrid>\n <thead>\n <tr class=\"tw:flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"tw:text-muted-foreground tw:w-8 tw:rounded-md tw:text-[0.8rem] tw:font-normal\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"tw:mt-2 tw:flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"tw:data-[selected]:data-[outside]:bg-accent/50 tw:data-[selected]:bg-accent tw:relative tw:h-8 tw:w-8 tw:p-0 tw:text-center tw:text-sm tw:focus-within:relative tw:focus-within:z-20 tw:first:data-[selected]:rounded-l-md tw:last:data-[selected]:rounded-r-md tw:[&:has([aria-selected].day-range-end)]:rounded-r-md\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class HlmCalendarRange<T> {\n public readonly calendarClass = input<ClassValue>('');\n\n protected readonly _computedCalenderClass = computed(() => hlm('tw:rounded-md tw:border p-3', this.calendarClass()));\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\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 start date of the range. */\n public readonly startDate = model<T>();\n\n /** The end date of the range. */\n public readonly endDate = model<T>();\n\n /** Whether a specific date is disabled. */\n public readonly dateDisabled = input<(date: T) => boolean>(() => false);\n\n /** The day the week starts on */\n public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {\n transform: (v: unknown) => numberAttribute(v) as Weekday,\n });\n\n /** The default focused date. */\n public readonly defaultFocusedDate = input<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = viewChild.required(BrnCalendarRange);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() =>\n this._i18n\n .config()\n .formatHeader(\n this._dateAdapter.getMonth(this._calendar().focusedDate()),\n this._dateAdapter.getYear(this._calendar().focusedDate()),\n ),\n );\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'tw:size-8 tw:p-0 tw:font-normal tw:aria-selected:opacity-100',\n 'tw:data-[outside]:text-muted-foreground tw:data-[outside]:aria-selected:text-muted-foreground',\n 'tw:data-[today]:bg-accent tw:data-[today]:text-accent-foreground',\n 'tw:data-[selected]:bg-primary tw:data-[selected]:text-primary-foreground tw:data-[selected]:focus:bg-primary tw:data-[selected]:focus:text-primary-foreground',\n 'tw:data-[disabled]:text-muted-foreground tw:data-[disabled]:opacity-50',\n 'tw:data-[range-start]:rounded-l-md',\n 'tw:data-[range-end]:rounded-r-md',\n 'tw:data-[range-between]:bg-accent tw:data-[range-between]:text-accent-foreground tw:data-[range-between]:rounded-none',\n );\n}\n","/*\n * Public API Surface of calendar\n */\n\nimport { NgModule } from '@angular/core';\nimport { HlmCalendar } from './lib/calendar';\nimport { HlmCalendarMulti } from './lib/calendar-multi';\nimport { HlmCalendarRange } from './lib/calendar-range';\n\nexport * from './lib/calendar';\nexport * from './lib/calendar-multi';\nexport * from './lib/calendar-range';\n\nexport const HlmCalendarImports = [HlmCalendar, HlmCalendarMulti, HlmCalendarRange] as const;\n\n@NgModule({\n imports: [...HlmCalendarImports],\n exports: [...HlmCalendarImports],\n})\nexport class HlmCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"calendar.mjs","sources":["../../../projects/calendar/src/lib/hlm-calendar.ts","../../../projects/calendar/src/lib/hlm-calendar-multi.ts","../../../projects/calendar/src/lib/hlm-calendar-range.ts","../../../projects/calendar/src/lib/hlm-month-year-calendar.ts","../../../projects/calendar/src/public-api.ts","../../../projects/calendar/src/calendar.ts"],"sourcesContent":["import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport { BrnCalendar, BrnCalendarImports, injectBrnCalendarI18n } from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants, HlmButtonImports } from '@egose/shadcn-theme-ng/button';\nimport { HlmSelectImports } from '@egose/shadcn-theme-ng/select';\nimport { classes, hlm } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-calendar',\n imports: [BrnCalendarImports, NgIcon, HlmSelectImports, NgTemplateOutlet, HlmButtonImports],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: BrnCalendar,\n inputs: ['min', 'max', 'disabled', 'date', 'dateDisabled', 'weekStartsOn', 'highlightDays', 'defaultFocusedDate'],\n outputs: ['dateChange'],\n },\n ],\n host: { 'data-slot': 'calendar' },\n template: `\n <div class=\"inline-flex flex-col gap-4\">\n <!-- Header -->\n <div class=\"flex w-full items-center justify-between gap-1.5\">\n <ng-template #month>\n <hlm-select brnCalendarMonthSelect class=\"order-1\">\n <hlm-select-trigger size=\"sm\" [class]=\"_selectClass\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal class=\"max-h-80\">\n <hlm-select-group>\n @for (month of _i18n.config().months(); track month) {\n <hlm-select-item [value]=\"month\">{{ month }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n </ng-template>\n <ng-template #year>\n <hlm-select brnCalendarYearSelect class=\"order-3\">\n <hlm-select-trigger size=\"sm\" [class]=\"_selectClass\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal class=\"max-h-80\">\n <hlm-select-group>\n @for (year of _i18n.config().years(); track year) {\n <hlm-select-item [value]=\"year\">{{ year }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n </ng-template>\n @let heading = _heading();\n\n <button\n brnCalendarPreviousButton\n variant=\"ghost\"\n hlmBtn\n class=\"order-first size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronLeft\" class=\"rtl:rotate-180\" />\n </button>\n\n @switch (captionLayout()) {\n @case ('dropdown') {\n <ng-container [ngTemplateOutlet]=\"month\" />\n <ng-container [ngTemplateOutlet]=\"year\" />\n }\n @case ('dropdown-months') {\n <ng-container [ngTemplateOutlet]=\"month\" />\n <div brnCalendarHeader class=\"order-4 text-sm font-medium\">{{ heading.year }}</div>\n }\n @case ('dropdown-years') {\n <div brnCalendarHeader class=\"order-2 text-sm font-medium\">{{ heading.month }}</div>\n <ng-container [ngTemplateOutlet]=\"year\" />\n }\n @case ('label') {\n <div brnCalendarHeader class=\"order-5 text-sm font-medium\">{{ heading.header }}</div>\n }\n }\n\n <button\n brnCalendarNextButton\n hlmBtn\n variant=\"ghost\"\n class=\"order-last size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronRight\" class=\"rtl:rotate-180\" />\n </button>\n </div>\n\n <table class=\"w-full border-collapse space-y-1\" brnCalendarGrid>\n <thead aria-hidden=\"true\">\n <tr class=\"flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"text-muted-foreground flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal select-none\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"mt-2 flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius) [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n `,\n})\nexport class HlmCalendar<T> {\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** Show dropdowns to navigate between months or years. */\n public readonly captionLayout = input<'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years'>('label');\n\n /** Access the calendar directive */\n private readonly _calendar = inject(BrnCalendar);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() => {\n const config = this._i18n.config();\n const date = this._calendar.focusedDate();\n\n return {\n header: config.formatHeader(this._dateAdapter.getMonth(date), this._dateAdapter.getYear(date)),\n month: config.formatMonth(this._dateAdapter.getMonth(date)),\n year: config.formatYear(this._dateAdapter.getYear(date)),\n };\n });\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost', size: 'icon' }),\n 'data-[today=true]:bg-muted group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:bg-muted/50 dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70',\n 'data-[outside=true]:opacity-50',\n \"data-[highlighted]:before:content-['']\",\n 'data-[highlighted]:before:absolute',\n 'data-[highlighted]:before:bottom-1',\n 'data-[highlighted]:before:start-1/2',\n 'data-[highlighted]:before:h-1',\n 'data-[highlighted]:before:w-1',\n 'data-[highlighted]:before:-translate-x-1/2',\n 'data-[highlighted]:before:rounded-full',\n 'data-[highlighted]:before:bg-destructive',\n );\n\n protected readonly _selectClass = 'gap-0 px-1.5 py-2 [&>ng-icon]:ms-1';\n\n constructor() {\n classes(\n () =>\n 'p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(8)] group/calendar bg-background block in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',\n );\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport { BrnCalendarImports, BrnCalendarMulti, injectBrnCalendarI18n } from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants, HlmButtonImports } from '@egose/shadcn-theme-ng/button';\nimport { HlmSelectImports } from '@egose/shadcn-theme-ng/select';\nimport { classes, hlm } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-calendar-multi',\n imports: [BrnCalendarImports, NgIcon, NgTemplateOutlet, HlmSelectImports, HlmButtonImports],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: BrnCalendarMulti,\n inputs: [\n 'min',\n 'max',\n 'minSelection',\n 'maxSelection',\n 'disabled',\n 'date',\n 'dateDisabled',\n 'weekStartsOn',\n 'highlightDays',\n 'defaultFocusedDate',\n ],\n outputs: ['dateChange'],\n },\n ],\n host: { 'data-slot': 'calendar' },\n template: `\n <div class=\"inline-flex flex-col space-y-4\">\n <!-- Header -->\n <div class=\"flex w-full items-center justify-between gap-1.5\">\n <ng-template #month>\n <hlm-select brnCalendarMonthSelect class=\"order-1\">\n <hlm-select-trigger size=\"sm\" [class]=\"_selectClass\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal class=\"max-h-80\">\n <hlm-select-group>\n @for (month of _i18n.config().months(); track month) {\n <hlm-select-item [value]=\"month\">{{ month }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n </ng-template>\n <ng-template #year>\n <hlm-select brnCalendarYearSelect class=\"order-3\">\n <hlm-select-trigger size=\"sm\" [class]=\"_selectClass\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal class=\"max-h-80\">\n <hlm-select-group>\n @for (year of _i18n.config().years(); track year) {\n <hlm-select-item [value]=\"year\">{{ year }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n </ng-template>\n @let heading = _heading();\n\n <button\n brnCalendarPreviousButton\n variant=\"ghost\"\n hlmBtn\n class=\"order-first size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronLeft\" class=\"rtl:rotate-180\" />\n </button>\n\n @switch (captionLayout()) {\n @case ('dropdown') {\n <ng-container [ngTemplateOutlet]=\"month\" />\n <ng-container [ngTemplateOutlet]=\"year\" />\n }\n @case ('dropdown-months') {\n <ng-container [ngTemplateOutlet]=\"month\" />\n <div brnCalendarHeader class=\"order-4 text-sm font-medium\">{{ heading.year }}</div>\n }\n @case ('dropdown-years') {\n <div brnCalendarHeader class=\"order-2 text-sm font-medium\">{{ heading.month }}</div>\n <ng-container [ngTemplateOutlet]=\"year\" />\n }\n @case ('label') {\n <div brnCalendarHeader class=\"order-5 text-sm font-medium\">{{ heading.header }}</div>\n }\n }\n\n <button\n brnCalendarNextButton\n hlmBtn\n variant=\"ghost\"\n class=\"order-last size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronRight\" class=\"rtl:rotate-180\" />\n </button>\n </div>\n\n <table class=\"w-full border-collapse\" brnCalendarGrid>\n <thead aria-hidden=\"true\">\n <tr class=\"flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"text-muted-foreground flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal select-none\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"mt-2 flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius) [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n `,\n})\nexport class HlmCalendarMulti<T> {\n /** Show dropdowns to navigate between months or years. */\n public readonly captionLayout = input<'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years'>('label');\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = inject(BrnCalendarMulti);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() => {\n const config = this._i18n.config();\n const date = this._calendar.focusedDate();\n\n return {\n header: config.formatHeader(this._dateAdapter.getMonth(date), this._dateAdapter.getYear(date)),\n month: config.formatMonth(this._dateAdapter.getMonth(date)),\n year: config.formatYear(this._dateAdapter.getYear(date)),\n };\n });\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost', size: 'icon' }),\n 'data-[today=true]:bg-muted group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:bg-muted/50 dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70',\n 'data-[outside=true]:opacity-50',\n \"data-[highlighted]:before:content-['']\",\n 'data-[highlighted]:before:absolute',\n 'data-[highlighted]:before:bottom-1',\n 'data-[highlighted]:before:start-1/2',\n 'data-[highlighted]:before:h-1',\n 'data-[highlighted]:before:w-1',\n 'data-[highlighted]:before:-translate-x-1/2',\n 'data-[highlighted]:before:rounded-full',\n 'data-[highlighted]:before:bg-destructive',\n );\n\n protected readonly _selectClass = 'gap-0 px-1.5 py-2 [&>ng-icon]:ms-1';\n\n constructor() {\n classes(\n () =>\n 'p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(8)] group/calendar bg-background block in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',\n );\n }\n}\n","import { NgTemplateOutlet } from '@angular/common';\nimport { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport { BrnCalendarImports, BrnCalendarRange, injectBrnCalendarI18n } from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants, HlmButtonImports } from '@egose/shadcn-theme-ng/button';\nimport { HlmSelectImports } from '@egose/shadcn-theme-ng/select';\nimport { classes, hlm } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-calendar-range',\n imports: [BrnCalendarImports, NgIcon, HlmSelectImports, NgTemplateOutlet, HlmButtonImports],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: BrnCalendarRange,\n inputs: [\n 'min',\n 'max',\n 'disabled',\n 'startDate',\n 'endDate',\n 'dateDisabled',\n 'weekStartsOn',\n 'highlightDays',\n 'defaultFocusedDate',\n ],\n outputs: ['endDateChange', 'startDateChange'],\n },\n ],\n host: { 'data-slot': 'calendar' },\n template: `\n <div class=\"inline-flex flex-col space-y-4\">\n <!-- Header -->\n <div class=\"flex w-full items-center justify-between gap-1.5\">\n <ng-template #month>\n <hlm-select brnCalendarMonthSelect class=\"order-1\">\n <hlm-select-trigger size=\"sm\" [class]=\"_selectClass\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal class=\"max-h-80\">\n <hlm-select-group>\n @for (month of _i18n.config().months(); track month) {\n <hlm-select-item [value]=\"month\">{{ month }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n </ng-template>\n <ng-template #year>\n <hlm-select brnCalendarYearSelect class=\"order-3\">\n <hlm-select-trigger size=\"sm\" [class]=\"_selectClass\">\n <hlm-select-value />\n </hlm-select-trigger>\n <hlm-select-content *hlmSelectPortal class=\"max-h-80\">\n <hlm-select-group>\n @for (year of _i18n.config().years(); track year) {\n <hlm-select-item [value]=\"year\">{{ year }}</hlm-select-item>\n }\n </hlm-select-group>\n </hlm-select-content>\n </hlm-select>\n </ng-template>\n @let heading = _heading();\n\n <button\n brnCalendarPreviousButton\n variant=\"ghost\"\n hlmBtn\n class=\"order-first size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronLeft\" class=\"rtl:rotate-180\" />\n </button>\n\n @switch (captionLayout()) {\n @case ('dropdown') {\n <ng-container [ngTemplateOutlet]=\"month\" />\n <ng-container [ngTemplateOutlet]=\"year\" />\n }\n @case ('dropdown-months') {\n <ng-container [ngTemplateOutlet]=\"month\" />\n <div brnCalendarHeader class=\"order-4 text-sm font-medium\">{{ heading.year }}</div>\n }\n @case ('dropdown-years') {\n <div brnCalendarHeader class=\"order-2 text-sm font-medium\">{{ heading.month }}</div>\n <ng-container [ngTemplateOutlet]=\"year\" />\n }\n @case ('label') {\n <div brnCalendarHeader class=\"order-5 text-sm font-medium\">{{ heading.header }}</div>\n }\n }\n\n <button\n brnCalendarNextButton\n hlmBtn\n variant=\"ghost\"\n class=\"order-last size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronRight\" class=\"rtl:rotate-180\" />\n </button>\n </div>\n\n <table class=\"w-full border-collapse space-y-1\" brnCalendarGrid>\n <thead aria-hidden=\"true\">\n <tr class=\"flex\">\n <th\n *brnCalendarWeekday=\"let weekday\"\n scope=\"col\"\n class=\"text-muted-foreground flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal select-none\"\n [attr.aria-label]=\"_i18n.config().labelWeekday(weekday)\"\n >\n {{ _i18n.config().formatWeekdayName(weekday) }}\n </th>\n </tr>\n </thead>\n\n <tbody role=\"rowgroup\">\n <tr *brnCalendarWeek=\"let week\" class=\"mt-2 flex w-full\">\n @for (date of week; track _dateAdapter.getTime(date)) {\n <td\n brnCalendarCell\n class=\"group/day has-[button[data-range-start=true]]:bg-muted has-[button[data-range-start=true]]:after:bg-muted has-[button[data-range-end=true]]:bg-muted has-[button[data-range-end=true]]:after:bg-muted relative isolate z-0 aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none has-[button[data-range-end=true]]:rounded-e-(--cell-radius) has-[button[data-range-end=true]]:after:absolute has-[button[data-range-end=true]]:after:inset-y-0 has-[button[data-range-end=true]]:after:start-0 has-[button[data-range-end=true]]:after:w-4 has-[button[data-range-start=true]]:rounded-s-(--cell-radius) has-[button[data-range-start=true]]:after:absolute has-[button[data-range-start=true]]:after:inset-y-0 has-[button[data-range-start=true]]:after:end-0 has-[button[data-range-start=true]]:after:w-4 [&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius) [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)\"\n >\n <button brnCalendarCellButton [date]=\"date\" [class]=\"_btnClass\">\n {{ _dateAdapter.getDate(date) }}\n </button>\n </td>\n }\n </tr>\n </tbody>\n </table>\n </div>\n `,\n})\nexport class HlmCalendarRange<T> {\n /** Show dropdowns to navigate between months or years. */\n public readonly captionLayout = input<'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years'>('label');\n\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date time adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** Access the calendar directive */\n private readonly _calendar = inject(BrnCalendarRange);\n\n /** Get the heading for the current month and year */\n protected readonly _heading = computed(() => {\n const config = this._i18n.config();\n const date = this._calendar.focusedDate();\n\n return {\n header: config.formatHeader(this._dateAdapter.getMonth(date), this._dateAdapter.getYear(date)),\n month: config.formatMonth(this._dateAdapter.getMonth(date)),\n year: config.formatYear(this._dateAdapter.getYear(date)),\n };\n });\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost', size: 'icon' }),\n 'data-[today=true]:bg-muted group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:bg-muted/50 dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70',\n 'data-[outside=true]:opacity-50',\n \"data-[highlighted]:before:content-['']\",\n 'data-[highlighted]:before:absolute',\n 'data-[highlighted]:before:bottom-1',\n 'data-[highlighted]:before:start-1/2',\n 'data-[highlighted]:before:h-1',\n 'data-[highlighted]:before:w-1',\n 'data-[highlighted]:before:-translate-x-1/2',\n 'data-[highlighted]:before:rounded-full',\n 'data-[highlighted]:before:bg-destructive',\n );\n\n protected readonly _selectClass = 'gap-0 px-1.5 py-2 [&>ng-icon]:ms-1';\n\n constructor() {\n classes(\n () =>\n 'p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(8)] group/calendar bg-background block in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',\n );\n }\n}\n","import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';\nimport { NgIcon, provideIcons } from '@ng-icons/core';\nimport { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';\nimport { BrnCalendarImports, BrnMonthYearCalendar, injectBrnCalendarI18n } from '@spartan-ng/brain/calendar';\nimport { injectDateAdapter } from '@spartan-ng/brain/date-time';\nimport { buttonVariants, HlmButtonImports } from '@egose/shadcn-theme-ng/button';\nimport { classes, hlm } from '@egose/shadcn-theme-ng/utils';\n\n@Component({\n selector: 'hlm-month-year-calendar',\n imports: [BrnCalendarImports, NgIcon, HlmButtonImports],\n viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],\n changeDetection: ChangeDetectionStrategy.OnPush,\n hostDirectives: [\n {\n directive: BrnMonthYearCalendar,\n inputs: ['min', 'max', 'disabled', 'date', 'defaultFocusedDate', 'view'],\n outputs: ['dateChange'],\n },\n ],\n host: { 'data-slot': 'month-year-calendar' },\n template: `\n <div class=\"flex flex-col gap-4\">\n <!-- Header -->\n <div class=\"flex w-full items-center justify-between gap-1.5\">\n <button\n brnMonthYearCalendarPreviousButton\n hlmBtn\n variant=\"ghost\"\n class=\"order-first size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronLeft\" class=\"rtl:rotate-180\" />\n </button>\n\n <button\n hlmBtn\n variant=\"ghost\"\n class=\"h-(--cell-size) py-0 select-none aria-disabled:opacity-50\"\n brnMonthYearCalendarHeader\n >\n {{ _heading() }}\n </button>\n\n <button\n brnMonthYearCalendarNextButton\n hlmBtn\n variant=\"ghost\"\n class=\"order-last size-(--cell-size) p-0 select-none aria-disabled:opacity-50\"\n >\n <ng-icon name=\"lucideChevronRight\" class=\"rtl:rotate-180\" />\n </button>\n </div>\n\n <!-- Grid -->\n @switch (_picker.view()) {\n @case ('year') {\n <div brnMonthYearCalendarGrid class=\"grid grid-cols-4 gap-2\">\n @for (year of _picker.years(); track _dateAdapter.getYear(year)) {\n <button brnMonthYearCalendarYearButton [date]=\"year\" [class]=\"_btnClass\">\n {{ _i18n.config().formatYear(_dateAdapter.getYear(year)) }}\n </button>\n }\n </div>\n }\n @case ('month') {\n <div brnMonthYearCalendarGrid class=\"grid grid-cols-4 gap-2\">\n @for (month of _picker.months(); track _dateAdapter.getMonth(month)) {\n <button brnMonthYearCalendarMonthButton [date]=\"month\" [class]=\"_btnClass\">\n {{ _i18n.config().months()[_dateAdapter.getMonth(month)] }}\n </button>\n }\n </div>\n }\n }\n </div>\n `,\n})\nexport class HlmMonthYearCalendar<T> {\n /** Access the calendar i18n */\n protected readonly _i18n = injectBrnCalendarI18n();\n\n /** Access the date adapter */\n protected readonly _dateAdapter = injectDateAdapter<T>();\n\n /** Access the picker directive */\n protected readonly _picker = inject(BrnMonthYearCalendar<T>);\n\n /** The heading for the current view. */\n protected readonly _heading = computed(() => {\n const config = this._i18n.config();\n\n if (this._picker.view() === 'month') {\n return config.formatYear(this._dateAdapter.getYear(this._picker.focusedDate()));\n }\n\n const { start, end } = this._picker.yearRange();\n return `${config.formatYear(start)} – ${config.formatYear(end)}`;\n });\n\n protected readonly _btnClass = hlm(\n buttonVariants({ variant: 'ghost' }),\n 'data-[today=true]:bg-muted',\n 'data-[selected=true]:bg-primary data-[selected=true]:text-primary-foreground data-[selected=true]:hover:bg-primary data-[selected=true]:hover:text-primary-foreground',\n 'data-[focused=true]:border-ring data-[focused=true]:ring-ring/50 data-[focused=true]:ring-[3px]',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n 'h-(--cell-size)',\n );\n\n constructor() {\n classes(\n () =>\n 'p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(8)] group/calendar bg-background block in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',\n );\n }\n}\n","/*\n * Public API Surface of calendar\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmCalendar } from './lib/hlm-calendar';\nimport { HlmCalendarMulti } from './lib/hlm-calendar-multi';\nimport { HlmCalendarRange } from './lib/hlm-calendar-range';\nimport { HlmMonthYearCalendar } from './lib/hlm-month-year-calendar';\n\nexport * from './lib/hlm-calendar';\nexport * from './lib/hlm-calendar-multi';\nexport * from './lib/hlm-calendar-range';\nexport * from './lib/hlm-month-year-calendar';\n\nexport const HlmCalendarImports = [HlmCalendar, HlmCalendarMulti, HlmCalendarRange, HlmMonthYearCalendar] as const;\n\n@NgModule({\n imports: [...HlmCalendarImports],\n exports: [...HlmCalendarImports],\n})\nexport class HlmCalendarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2"],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ {
2
+ "name": "calendar",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^20.3.0 || ^22.0.0",
6
+ "@angular/core": "^20.3.0 || ^22.0.0"
7
+ },
8
+ "dependencies": {
9
+ "tslib": "^2.3.0"
10
+ },
11
+ "sideEffects": false,
12
+ "module": "fesm2022/calendar.mjs",
13
+ "typings": "types/calendar.d.ts",
14
+ "exports": {
15
+ "./package.json": {
16
+ "default": "./package.json"
17
+ },
18
+ ".": {
19
+ "types": "./types/calendar.d.ts",
20
+ "default": "./fesm2022/calendar.mjs"
21
+ }
22
+ },
23
+ "type": "module"
24
+ }
@@ -0,0 +1,94 @@
1
+ import * as i0 from '@angular/core';
2
+ import * as _spartan_ng_brain_date_time from '@spartan-ng/brain/date-time';
3
+ import * as _spartan_ng_brain_calendar from '@spartan-ng/brain/calendar';
4
+ import { BrnMonthYearCalendar } from '@spartan-ng/brain/calendar';
5
+
6
+ declare class HlmCalendar<T> {
7
+ /** Access the calendar i18n */
8
+ protected readonly _i18n: _spartan_ng_brain_calendar.BrnCalendarI18nService;
9
+ /** Access the date time adapter */
10
+ protected readonly _dateAdapter: _spartan_ng_brain_date_time.BrnDateAdapter<T>;
11
+ /** Show dropdowns to navigate between months or years. */
12
+ readonly captionLayout: i0.InputSignal<"dropdown" | "label" | "dropdown-months" | "dropdown-years">;
13
+ /** Access the calendar directive */
14
+ private readonly _calendar;
15
+ /** Get the heading for the current month and year */
16
+ protected readonly _heading: i0.Signal<{
17
+ header: string;
18
+ month: string;
19
+ year: string;
20
+ }>;
21
+ protected readonly _btnClass: string;
22
+ protected readonly _selectClass = "gap-0 px-1.5 py-2 [&>ng-icon]:ms-1";
23
+ constructor();
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmCalendar<any>, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmCalendar<any>, "hlm-calendar", never, { "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _spartan_ng_brain_calendar.BrnCalendar; inputs: { "min": "min"; "max": "max"; "disabled": "disabled"; "date": "date"; "dateDisabled": "dateDisabled"; "weekStartsOn": "weekStartsOn"; "highlightDays": "highlightDays"; "defaultFocusedDate": "defaultFocusedDate"; }; outputs: { "dateChange": "dateChange"; }; }]>;
26
+ }
27
+
28
+ declare class HlmCalendarMulti<T> {
29
+ /** Show dropdowns to navigate between months or years. */
30
+ readonly captionLayout: i0.InputSignal<"dropdown" | "label" | "dropdown-months" | "dropdown-years">;
31
+ /** Access the calendar i18n */
32
+ protected readonly _i18n: _spartan_ng_brain_calendar.BrnCalendarI18nService;
33
+ /** Access the date time adapter */
34
+ protected readonly _dateAdapter: _spartan_ng_brain_date_time.BrnDateAdapter<T>;
35
+ /** Access the calendar directive */
36
+ private readonly _calendar;
37
+ /** Get the heading for the current month and year */
38
+ protected readonly _heading: i0.Signal<{
39
+ header: string;
40
+ month: string;
41
+ year: string;
42
+ }>;
43
+ protected readonly _btnClass: string;
44
+ protected readonly _selectClass = "gap-0 px-1.5 py-2 [&>ng-icon]:ms-1";
45
+ constructor();
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmCalendarMulti<any>, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmCalendarMulti<any>, "hlm-calendar-multi", never, { "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _spartan_ng_brain_calendar.BrnCalendarMulti; inputs: { "min": "min"; "max": "max"; "minSelection": "minSelection"; "maxSelection": "maxSelection"; "disabled": "disabled"; "date": "date"; "dateDisabled": "dateDisabled"; "weekStartsOn": "weekStartsOn"; "highlightDays": "highlightDays"; "defaultFocusedDate": "defaultFocusedDate"; }; outputs: { "dateChange": "dateChange"; }; }]>;
48
+ }
49
+
50
+ declare class HlmCalendarRange<T> {
51
+ /** Show dropdowns to navigate between months or years. */
52
+ readonly captionLayout: i0.InputSignal<"dropdown" | "label" | "dropdown-months" | "dropdown-years">;
53
+ /** Access the calendar i18n */
54
+ protected readonly _i18n: _spartan_ng_brain_calendar.BrnCalendarI18nService;
55
+ /** Access the date time adapter */
56
+ protected readonly _dateAdapter: _spartan_ng_brain_date_time.BrnDateAdapter<T>;
57
+ /** Access the calendar directive */
58
+ private readonly _calendar;
59
+ /** Get the heading for the current month and year */
60
+ protected readonly _heading: i0.Signal<{
61
+ header: string;
62
+ month: string;
63
+ year: string;
64
+ }>;
65
+ protected readonly _btnClass: string;
66
+ protected readonly _selectClass = "gap-0 px-1.5 py-2 [&>ng-icon]:ms-1";
67
+ constructor();
68
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmCalendarRange<any>, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmCalendarRange<any>, "hlm-calendar-range", never, { "captionLayout": { "alias": "captionLayout"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof _spartan_ng_brain_calendar.BrnCalendarRange; inputs: { "min": "min"; "max": "max"; "disabled": "disabled"; "startDate": "startDate"; "endDate": "endDate"; "dateDisabled": "dateDisabled"; "weekStartsOn": "weekStartsOn"; "highlightDays": "highlightDays"; "defaultFocusedDate": "defaultFocusedDate"; }; outputs: { "endDateChange": "endDateChange"; "startDateChange": "startDateChange"; }; }]>;
70
+ }
71
+
72
+ declare class HlmMonthYearCalendar<T> {
73
+ /** Access the calendar i18n */
74
+ protected readonly _i18n: _spartan_ng_brain_calendar.BrnCalendarI18nService;
75
+ /** Access the date adapter */
76
+ protected readonly _dateAdapter: _spartan_ng_brain_date_time.BrnDateAdapter<T>;
77
+ /** Access the picker directive */
78
+ protected readonly _picker: BrnMonthYearCalendar<T>;
79
+ /** The heading for the current view. */
80
+ protected readonly _heading: i0.Signal<string>;
81
+ protected readonly _btnClass: string;
82
+ constructor();
83
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmMonthYearCalendar<any>, never>;
84
+ static ɵcmp: i0.ɵɵComponentDeclaration<HlmMonthYearCalendar<any>, "hlm-month-year-calendar", never, {}, {}, never, never, true, [{ directive: typeof _spartan_ng_brain_calendar.BrnMonthYearCalendar; inputs: { "min": "min"; "max": "max"; "disabled": "disabled"; "date": "date"; "defaultFocusedDate": "defaultFocusedDate"; "view": "view"; }; outputs: { "dateChange": "dateChange"; }; }]>;
85
+ }
86
+
87
+ declare const HlmCalendarImports: readonly [typeof HlmCalendar, typeof HlmCalendarMulti, typeof HlmCalendarRange, typeof HlmMonthYearCalendar];
88
+ declare class HlmCalendarModule {
89
+ static ɵfac: i0.ɵɵFactoryDeclaration<HlmCalendarModule, never>;
90
+ static ɵmod: i0.ɵɵNgModuleDeclaration<HlmCalendarModule, never, [typeof HlmCalendar, typeof HlmCalendarMulti, typeof HlmCalendarRange, typeof HlmMonthYearCalendar], [typeof HlmCalendar, typeof HlmCalendarMulti, typeof HlmCalendarRange, typeof HlmMonthYearCalendar]>;
91
+ static ɵinj: i0.ɵɵInjectorDeclaration<HlmCalendarModule>;
92
+ }
93
+
94
+ export { HlmCalendar, HlmCalendarImports, HlmCalendarModule, HlmCalendarMulti, HlmCalendarRange, HlmMonthYearCalendar };
package/card/README.md ADDED
@@ -0,0 +1,11 @@
1
+ # Card
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli).
4
+
5
+ ## Building
6
+
7
+ To build the library, run:
8
+
9
+ ```bash
10
+ ng build card
11
+ ```
@@ -0,0 +1,169 @@
1
+ import * as i0 from '@angular/core';
2
+ import { InjectionToken, inject, input, Directive, NgModule } from '@angular/core';
3
+ import { classes } from '@egose/shadcn-theme-ng/utils';
4
+
5
+ const defaultConfig = {
6
+ size: 'default',
7
+ };
8
+ const HlmCardConfigToken = new InjectionToken('HlmCardConfig');
9
+ function provideHlmCardConfig(config) {
10
+ return { provide: HlmCardConfigToken, useValue: { ...defaultConfig, ...config } };
11
+ }
12
+ function injectHlmCardConfig() {
13
+ return inject(HlmCardConfigToken, { optional: true }) ?? defaultConfig;
14
+ }
15
+
16
+ class HlmCard {
17
+ _defaultConfig = injectHlmCardConfig();
18
+ size = input(this._defaultConfig.size, /* @ts-ignore */
19
+ ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
20
+ constructor() {
21
+ classes(() => 'ring-foreground/10 bg-card text-card-foreground gap-(--card-spacing) overflow-hidden rounded-xl py-(--card-spacing) text-sm shadow-xs ring-1 [--card-spacing:--spacing(6)] has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col');
22
+ }
23
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCard, deps: [], target: i0.ɵɵFactoryTarget.Directive });
24
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.0.7", type: HlmCard, isStandalone: true, selector: "[hlmCard],hlm-card", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "data-slot": "card" }, properties: { "attr.data-size": "size()" } }, ngImport: i0 });
25
+ }
26
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCard, decorators: [{
27
+ type: Directive,
28
+ args: [{
29
+ selector: '[hlmCard],hlm-card',
30
+ host: {
31
+ 'data-slot': 'card',
32
+ '[attr.data-size]': 'size()',
33
+ },
34
+ }]
35
+ }], ctorParameters: () => [], propDecorators: { size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }] } });
36
+
37
+ class HlmCardAction {
38
+ constructor() {
39
+ classes(() => 'col-start-2 row-span-2 row-start-1 self-start justify-self-end');
40
+ }
41
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardAction, deps: [], target: i0.ɵɵFactoryTarget.Directive });
42
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCardAction, isStandalone: true, selector: "[hlmCardAction]", host: { attributes: { "data-slot": "card-action" } }, ngImport: i0 });
43
+ }
44
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardAction, decorators: [{
45
+ type: Directive,
46
+ args: [{
47
+ selector: '[hlmCardAction]',
48
+ host: { 'data-slot': 'card-action' },
49
+ }]
50
+ }], ctorParameters: () => [] });
51
+
52
+ class HlmCardContent {
53
+ constructor() {
54
+ classes(() => 'px-(--card-spacing)');
55
+ }
56
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });
57
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCardContent, isStandalone: true, selector: "[hlmCardContent]", host: { attributes: { "data-slot": "card-content" } }, ngImport: i0 });
58
+ }
59
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardContent, decorators: [{
60
+ type: Directive,
61
+ args: [{
62
+ selector: '[hlmCardContent]',
63
+ host: { 'data-slot': 'card-content' },
64
+ }]
65
+ }], ctorParameters: () => [] });
66
+
67
+ class HlmCardDescription {
68
+ constructor() {
69
+ classes(() => 'text-muted-foreground text-sm');
70
+ }
71
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardDescription, deps: [], target: i0.ɵɵFactoryTarget.Directive });
72
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCardDescription, isStandalone: true, selector: "[hlmCardDescription]", host: { attributes: { "data-slot": "card-description" } }, ngImport: i0 });
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardDescription, decorators: [{
75
+ type: Directive,
76
+ args: [{
77
+ selector: '[hlmCardDescription]',
78
+ host: { 'data-slot': 'card-description' },
79
+ }]
80
+ }], ctorParameters: () => [] });
81
+
82
+ class HlmCardFooter {
83
+ constructor() {
84
+ classes(() => 'rounded-b-xl px-(--card-spacing) [.border-t]:pt-(--card-spacing) flex items-center');
85
+ }
86
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardFooter, deps: [], target: i0.ɵɵFactoryTarget.Directive });
87
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCardFooter, isStandalone: true, selector: "[hlmCardFooter],hlm-card-footer", host: { attributes: { "data-slot": "card-footer" } }, ngImport: i0 });
88
+ }
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardFooter, decorators: [{
90
+ type: Directive,
91
+ args: [{
92
+ selector: '[hlmCardFooter],hlm-card-footer',
93
+ host: { 'data-slot': 'card-footer' },
94
+ }]
95
+ }], ctorParameters: () => [] });
96
+
97
+ class HlmCardHeader {
98
+ constructor() {
99
+ classes(() => 'gap-1 rounded-t-xl px-(--card-spacing) [.border-b]:pb-(--card-spacing) group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]');
100
+ }
101
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardHeader, deps: [], target: i0.ɵɵFactoryTarget.Directive });
102
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCardHeader, isStandalone: true, selector: "[hlmCardHeader],hlm-card-header", host: { attributes: { "data-slot": "card-header" } }, ngImport: i0 });
103
+ }
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardHeader, decorators: [{
105
+ type: Directive,
106
+ args: [{
107
+ selector: '[hlmCardHeader],hlm-card-header',
108
+ host: { 'data-slot': 'card-header' },
109
+ }]
110
+ }], ctorParameters: () => [] });
111
+
112
+ class HlmCardTitle {
113
+ constructor() {
114
+ classes(() => 'text-base leading-normal font-medium group-data-[size=sm]/card:text-sm');
115
+ }
116
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardTitle, deps: [], target: i0.ɵɵFactoryTarget.Directive });
117
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "22.0.7", type: HlmCardTitle, isStandalone: true, selector: "[hlmCardTitle]", host: { attributes: { "data-slot": "card-title" } }, ngImport: i0 });
118
+ }
119
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardTitle, decorators: [{
120
+ type: Directive,
121
+ args: [{
122
+ selector: '[hlmCardTitle]',
123
+ host: { 'data-slot': 'card-title' },
124
+ }]
125
+ }], ctorParameters: () => [] });
126
+
127
+ /*
128
+ * Public API Surface of card
129
+ */
130
+ const HlmCardImports = [
131
+ HlmCard,
132
+ HlmCardAction,
133
+ HlmCardContent,
134
+ HlmCardDescription,
135
+ HlmCardFooter,
136
+ HlmCardHeader,
137
+ HlmCardTitle,
138
+ ];
139
+ class HlmCardModule {
140
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
141
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "22.0.7", ngImport: i0, type: HlmCardModule, imports: [HlmCard,
142
+ HlmCardAction,
143
+ HlmCardContent,
144
+ HlmCardDescription,
145
+ HlmCardFooter,
146
+ HlmCardHeader,
147
+ HlmCardTitle], exports: [HlmCard,
148
+ HlmCardAction,
149
+ HlmCardContent,
150
+ HlmCardDescription,
151
+ HlmCardFooter,
152
+ HlmCardHeader,
153
+ HlmCardTitle] });
154
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardModule });
155
+ }
156
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.7", ngImport: i0, type: HlmCardModule, decorators: [{
157
+ type: NgModule,
158
+ args: [{
159
+ imports: [...HlmCardImports],
160
+ exports: [...HlmCardImports],
161
+ }]
162
+ }] });
163
+
164
+ /**
165
+ * Generated bundle index. Do not edit.
166
+ */
167
+
168
+ export { HlmCard, HlmCardAction, HlmCardContent, HlmCardDescription, HlmCardFooter, HlmCardHeader, HlmCardImports, HlmCardModule, HlmCardTitle };
169
+ //# sourceMappingURL=card.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card.mjs","sources":["../../../projects/card/src/lib/hlm-card.token.ts","../../../projects/card/src/lib/hlm-card.ts","../../../projects/card/src/lib/hlm-card-action.ts","../../../projects/card/src/lib/hlm-card-content.ts","../../../projects/card/src/lib/hlm-card-description.ts","../../../projects/card/src/lib/hlm-card-footer.ts","../../../projects/card/src/lib/hlm-card-header.ts","../../../projects/card/src/lib/hlm-card-title.ts","../../../projects/card/src/public-api.ts","../../../projects/card/src/card.ts"],"sourcesContent":["import { inject, InjectionToken, type ValueProvider } from '@angular/core';\n\nexport type HlmCardConfig = {\n size: 'sm' | 'default';\n};\n\nconst defaultConfig: HlmCardConfig = {\n size: 'default',\n};\n\nconst HlmCardConfigToken = new InjectionToken<HlmCardConfig>('HlmCardConfig');\n\nexport function provideHlmCardConfig(config: Partial<HlmCardConfig>): ValueProvider {\n return { provide: HlmCardConfigToken, useValue: { ...defaultConfig, ...config } };\n}\n\nexport function injectHlmCardConfig(): HlmCardConfig {\n return inject(HlmCardConfigToken, { optional: true }) ?? defaultConfig;\n}\n","import { Directive, input } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\nimport { HlmCardConfig, injectHlmCardConfig } from './hlm-card.token';\n\n@Directive({\n selector: '[hlmCard],hlm-card',\n host: {\n 'data-slot': 'card',\n '[attr.data-size]': 'size()',\n },\n})\nexport class HlmCard {\n private readonly _defaultConfig = injectHlmCardConfig();\n public readonly size = input<HlmCardConfig['size']>(this._defaultConfig.size);\n\n constructor() {\n classes(\n () =>\n 'ring-foreground/10 bg-card text-card-foreground gap-(--card-spacing) overflow-hidden rounded-xl py-(--card-spacing) text-sm shadow-xs ring-1 [--card-spacing:--spacing(6)] has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(4)] *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmCardAction]',\n host: { 'data-slot': 'card-action' },\n})\nexport class HlmCardAction {\n constructor() {\n classes(() => 'col-start-2 row-span-2 row-start-1 self-start justify-self-end');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmCardContent]',\n host: { 'data-slot': 'card-content' },\n})\nexport class HlmCardContent {\n constructor() {\n classes(() => 'px-(--card-spacing)');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmCardDescription]',\n host: { 'data-slot': 'card-description' },\n})\nexport class HlmCardDescription {\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: '[hlmCardFooter],hlm-card-footer',\n host: { 'data-slot': 'card-footer' },\n})\nexport class HlmCardFooter {\n constructor() {\n classes(() => 'rounded-b-xl px-(--card-spacing) [.border-t]:pt-(--card-spacing) flex items-center');\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmCardHeader],hlm-card-header',\n host: { 'data-slot': 'card-header' },\n})\nexport class HlmCardHeader {\n constructor() {\n classes(\n () =>\n 'gap-1 rounded-t-xl px-(--card-spacing) [.border-b]:pb-(--card-spacing) group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]',\n );\n }\n}\n","import { Directive } from '@angular/core';\nimport { classes } from '@egose/shadcn-theme-ng/utils';\n\n@Directive({\n selector: '[hlmCardTitle]',\n host: { 'data-slot': 'card-title' },\n})\nexport class HlmCardTitle {\n constructor() {\n classes(() => 'text-base leading-normal font-medium group-data-[size=sm]/card:text-sm');\n }\n}\n","/*\n * Public API Surface of card\n */\n\nimport { NgModule } from '@angular/core';\n\nimport { HlmCard } from './lib/hlm-card';\nimport { HlmCardAction } from './lib/hlm-card-action';\nimport { HlmCardContent } from './lib/hlm-card-content';\nimport { HlmCardDescription } from './lib/hlm-card-description';\nimport { HlmCardFooter } from './lib/hlm-card-footer';\nimport { HlmCardHeader } from './lib/hlm-card-header';\nimport { HlmCardTitle } from './lib/hlm-card-title';\n\nexport * from './lib/hlm-card';\nexport * from './lib/hlm-card-action';\nexport * from './lib/hlm-card-content';\nexport * from './lib/hlm-card-description';\nexport * from './lib/hlm-card-footer';\nexport * from './lib/hlm-card-header';\nexport * from './lib/hlm-card-title';\n\nexport const HlmCardImports = [\n HlmCard,\n HlmCardAction,\n HlmCardContent,\n HlmCardDescription,\n HlmCardFooter,\n HlmCardHeader,\n HlmCardTitle,\n] as const;\n\n@NgModule({\n imports: [...HlmCardImports],\n exports: [...HlmCardImports],\n})\nexport class HlmCardModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "card",
3
+ "version": "0.0.1",
4
+ "peerDependencies": {
5
+ "@angular/common": "^22.0.0",
6
+ "@angular/core": "^22.0.0",
7
+ "@spartan-ng/brain": "^1.1.1"
8
+ },
9
+ "dependencies": {
10
+ "tslib": "^2.3.0"
11
+ },
12
+ "sideEffects": false,
13
+ "module": "fesm2022/card.mjs",
14
+ "typings": "types/card.d.ts",
15
+ "exports": {
16
+ "./package.json": {
17
+ "default": "./package.json"
18
+ },
19
+ ".": {
20
+ "types": "./types/card.d.ts",
21
+ "default": "./fesm2022/card.mjs"
22
+ }
23
+ },
24
+ "type": "module"
25
+ }