@ng-cn/core 1.0.15 → 1.0.17

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 (380) hide show
  1. package/package.json +34 -33
  2. package/schematics/component/index.js +454 -95
  3. package/schematics/component/index.ts +459 -98
  4. package/schematics/ng-add/index.js +539 -55
  5. package/schematics/ng-add/index.ts +555 -62
  6. package/schematics/ng-add/schema.json +8 -2
  7. package/schematics/test-schematic.js +1 -2
  8. package/src/app/lib/components/ui/.gitkeep +0 -0
  9. package/src/app/lib/components/ui/accordion/accordion-content.component.ts +16 -24
  10. package/src/app/lib/components/ui/accordion/accordion-context.ts +4 -9
  11. package/src/app/lib/components/ui/accordion/accordion-item.component.ts +33 -29
  12. package/src/app/lib/components/ui/accordion/accordion-trigger.component.ts +11 -14
  13. package/src/app/lib/components/ui/accordion/accordion.component.ts +60 -49
  14. package/src/app/lib/components/ui/accordion/index.ts +5 -6
  15. package/src/app/lib/components/ui/alert/alert-description.component.ts +3 -8
  16. package/src/app/lib/components/ui/alert/alert-title.component.ts +2 -7
  17. package/src/app/lib/components/ui/alert/alert-variants.ts +19 -5
  18. package/src/app/lib/components/ui/alert/alert.component.ts +2 -10
  19. package/src/app/lib/components/ui/alert/index.ts +0 -1
  20. package/src/app/lib/components/ui/alert-dialog/alert-dialog-action.component.ts +5 -12
  21. package/src/app/lib/components/ui/alert-dialog/alert-dialog-cancel.component.ts +5 -11
  22. package/src/app/lib/components/ui/alert-dialog/alert-dialog-content.component.ts +63 -66
  23. package/src/app/lib/components/ui/alert-dialog/alert-dialog-context.ts +10 -5
  24. package/src/app/lib/components/ui/alert-dialog/alert-dialog-description.component.ts +5 -10
  25. package/src/app/lib/components/ui/alert-dialog/alert-dialog-footer.component.ts +3 -7
  26. package/src/app/lib/components/ui/alert-dialog/alert-dialog-header.component.ts +3 -7
  27. package/src/app/lib/components/ui/alert-dialog/alert-dialog-title.component.ts +5 -12
  28. package/src/app/lib/components/ui/alert-dialog/alert-dialog-trigger.component.ts +8 -12
  29. package/src/app/lib/components/ui/alert-dialog/alert-dialog.component.ts +28 -34
  30. package/src/app/lib/components/ui/alert-dialog/index.ts +0 -1
  31. package/src/app/lib/components/ui/aspect-ratio/aspect-ratio.component.ts +3 -9
  32. package/src/app/lib/components/ui/avatar/avatar-context.ts +9 -0
  33. package/src/app/lib/components/ui/avatar/avatar-fallback.component.ts +7 -18
  34. package/src/app/lib/components/ui/avatar/avatar-image.component.ts +39 -17
  35. package/src/app/lib/components/ui/avatar/avatar.component.ts +17 -20
  36. package/src/app/lib/components/ui/avatar/index.ts +1 -1
  37. package/src/app/lib/components/ui/avatar/ui-avatar.component.ts +9 -30
  38. package/src/app/lib/components/ui/badge/badge-variants.ts +5 -5
  39. package/src/app/lib/components/ui/badge/badge.component.ts +4 -8
  40. package/src/app/lib/components/ui/badge/index.ts +0 -1
  41. package/src/app/lib/components/ui/breadcrumb/breadcrumb-ellipsis.component.ts +3 -7
  42. package/src/app/lib/components/ui/breadcrumb/breadcrumb-item.component.ts +5 -14
  43. package/src/app/lib/components/ui/breadcrumb/breadcrumb-link.component.ts +6 -18
  44. package/src/app/lib/components/ui/breadcrumb/breadcrumb-list.component.ts +6 -15
  45. package/src/app/lib/components/ui/breadcrumb/breadcrumb-page.component.ts +3 -7
  46. package/src/app/lib/components/ui/breadcrumb/breadcrumb-separator.component.ts +22 -31
  47. package/src/app/lib/components/ui/breadcrumb/breadcrumb.component.ts +3 -9
  48. package/src/app/lib/components/ui/breadcrumb/index.ts +0 -1
  49. package/src/app/lib/components/ui/button/button-variants.ts +6 -8
  50. package/src/app/lib/components/ui/button/button.component.ts +4 -8
  51. package/src/app/lib/components/ui/button/index.ts +0 -1
  52. package/src/app/lib/components/ui/button-group/button-group-variants.ts +12 -15
  53. package/src/app/lib/components/ui/button-group/button-group.component.ts +6 -14
  54. package/src/app/lib/components/ui/button-group/index.ts +1 -5
  55. package/src/app/lib/components/ui/calendar/calendar.component.ts +103 -115
  56. package/src/app/lib/components/ui/card/card-action.component.ts +2 -10
  57. package/src/app/lib/components/ui/card/card-content.component.ts +1 -6
  58. package/src/app/lib/components/ui/card/card-description.component.ts +2 -7
  59. package/src/app/lib/components/ui/card/card-footer.component.ts +2 -7
  60. package/src/app/lib/components/ui/card/card-header.component.ts +3 -8
  61. package/src/app/lib/components/ui/card/card-title.component.ts +2 -9
  62. package/src/app/lib/components/ui/card/card.component.ts +3 -8
  63. package/src/app/lib/components/ui/card/index.ts +0 -1
  64. package/src/app/lib/components/ui/carousel/carousel-content.component.ts +3 -9
  65. package/src/app/lib/components/ui/carousel/carousel-item.component.ts +5 -5
  66. package/src/app/lib/components/ui/carousel/carousel-next.component.ts +9 -8
  67. package/src/app/lib/components/ui/carousel/carousel-previous.component.ts +9 -8
  68. package/src/app/lib/components/ui/carousel/carousel.component.ts +14 -25
  69. package/src/app/lib/components/ui/carousel/index.ts +5 -2
  70. package/src/app/lib/components/ui/chart/chart-container.component.ts +20 -26
  71. package/src/app/lib/components/ui/chart/chart-legend-content.component.ts +6 -16
  72. package/src/app/lib/components/ui/chart/chart-legend.component.ts +2 -7
  73. package/src/app/lib/components/ui/chart/chart-tooltip-content.component.ts +2 -9
  74. package/src/app/lib/components/ui/chart/chart-tooltip.component.ts +2 -7
  75. package/src/app/lib/components/ui/chart/chart.component.ts +12 -32
  76. package/src/app/lib/components/ui/chart/index.ts +7 -8
  77. package/src/app/lib/components/ui/checkbox/checkbox.component.ts +55 -74
  78. package/src/app/lib/components/ui/collapsible/collapsible-content.component.ts +16 -25
  79. package/src/app/lib/components/ui/collapsible/collapsible-context.ts +0 -8
  80. package/src/app/lib/components/ui/collapsible/collapsible-trigger.component.ts +6 -16
  81. package/src/app/lib/components/ui/collapsible/collapsible.component.ts +29 -33
  82. package/src/app/lib/components/ui/collapsible/index.ts +0 -1
  83. package/src/app/lib/components/ui/combobox/combobox-content.component.ts +8 -15
  84. package/src/app/lib/components/ui/combobox/combobox-context.ts +5 -4
  85. package/src/app/lib/components/ui/combobox/combobox-empty.component.ts +5 -12
  86. package/src/app/lib/components/ui/combobox/combobox-group.component.ts +3 -7
  87. package/src/app/lib/components/ui/combobox/combobox-input.component.ts +25 -25
  88. package/src/app/lib/components/ui/combobox/combobox-item.component.ts +45 -44
  89. package/src/app/lib/components/ui/combobox/combobox-list.component.ts +14 -12
  90. package/src/app/lib/components/ui/combobox/combobox-trigger.component.ts +24 -14
  91. package/src/app/lib/components/ui/combobox/combobox-value.component.ts +27 -22
  92. package/src/app/lib/components/ui/combobox/combobox.component.ts +74 -54
  93. package/src/app/lib/components/ui/combobox/index.ts +1 -6
  94. package/src/app/lib/components/ui/command/command-context.ts +1 -5
  95. package/src/app/lib/components/ui/command/command-dialog.component.ts +12 -14
  96. package/src/app/lib/components/ui/command/command-empty.component.ts +2 -3
  97. package/src/app/lib/components/ui/command/command-group.component.ts +32 -25
  98. package/src/app/lib/components/ui/command/command-input.component.ts +29 -28
  99. package/src/app/lib/components/ui/command/command-item.component.ts +46 -58
  100. package/src/app/lib/components/ui/command/command-list.component.ts +5 -4
  101. package/src/app/lib/components/ui/command/command-separator.component.ts +2 -3
  102. package/src/app/lib/components/ui/command/command-shortcut.component.ts +2 -1
  103. package/src/app/lib/components/ui/command/command.component.ts +33 -22
  104. package/src/app/lib/components/ui/command/index.ts +0 -1
  105. package/src/app/lib/components/ui/context-menu/context-menu-checkbox-item.component.ts +20 -11
  106. package/src/app/lib/components/ui/context-menu/context-menu-content.component.ts +36 -43
  107. package/src/app/lib/components/ui/context-menu/context-menu-context.ts +1 -1
  108. package/src/app/lib/components/ui/context-menu/context-menu-item.component.ts +12 -13
  109. package/src/app/lib/components/ui/context-menu/context-menu-label.component.ts +2 -5
  110. package/src/app/lib/components/ui/context-menu/context-menu-radio-group.component.ts +9 -2
  111. package/src/app/lib/components/ui/context-menu/context-menu-radio-item.component.ts +14 -14
  112. package/src/app/lib/components/ui/context-menu/context-menu-separator.component.ts +2 -3
  113. package/src/app/lib/components/ui/context-menu/context-menu-shortcut.component.ts +2 -1
  114. package/src/app/lib/components/ui/context-menu/context-menu-sub-content.component.ts +5 -5
  115. package/src/app/lib/components/ui/context-menu/context-menu-sub-trigger.component.ts +8 -7
  116. package/src/app/lib/components/ui/context-menu/context-menu-sub.component.ts +9 -2
  117. package/src/app/lib/components/ui/context-menu/context-menu-trigger.component.ts +8 -7
  118. package/src/app/lib/components/ui/context-menu/context-menu.component.ts +1 -0
  119. package/src/app/lib/components/ui/context-menu/index.ts +15 -4
  120. package/src/app/lib/components/ui/data-table/data-table-content.component.ts +22 -28
  121. package/src/app/lib/components/ui/data-table/data-table-context.ts +1 -3
  122. package/src/app/lib/components/ui/data-table/data-table-pagination.component.ts +17 -27
  123. package/src/app/lib/components/ui/data-table/data-table-search.component.ts +6 -14
  124. package/src/app/lib/components/ui/data-table/data-table-toolbar.component.ts +3 -7
  125. package/src/app/lib/components/ui/data-table/data-table-view-options.component.ts +11 -20
  126. package/src/app/lib/components/ui/data-table/data-table.component.ts +41 -49
  127. package/src/app/lib/components/ui/data-table/index.ts +7 -8
  128. package/src/app/lib/components/ui/date-picker/date-picker.component.ts +24 -24
  129. package/src/app/lib/components/ui/dialog/dialog-close.component.ts +4 -8
  130. package/src/app/lib/components/ui/dialog/dialog-content.component.ts +72 -73
  131. package/src/app/lib/components/ui/dialog/dialog-context.ts +7 -5
  132. package/src/app/lib/components/ui/dialog/dialog-description.component.ts +5 -10
  133. package/src/app/lib/components/ui/dialog/dialog-footer.component.ts +3 -7
  134. package/src/app/lib/components/ui/dialog/dialog-header.component.ts +3 -7
  135. package/src/app/lib/components/ui/dialog/dialog-title.component.ts +5 -10
  136. package/src/app/lib/components/ui/dialog/dialog-trigger.component.ts +7 -11
  137. package/src/app/lib/components/ui/dialog/dialog.component.ts +29 -34
  138. package/src/app/lib/components/ui/dialog/index.ts +0 -1
  139. package/src/app/lib/components/ui/drawer/drawer-close.component.ts +4 -8
  140. package/src/app/lib/components/ui/drawer/drawer-content.component.ts +39 -35
  141. package/src/app/lib/components/ui/drawer/drawer-description.component.ts +5 -10
  142. package/src/app/lib/components/ui/drawer/drawer-footer.component.ts +3 -7
  143. package/src/app/lib/components/ui/drawer/drawer-header.component.ts +3 -7
  144. package/src/app/lib/components/ui/drawer/drawer-title.component.ts +5 -10
  145. package/src/app/lib/components/ui/drawer/drawer-trigger.component.ts +7 -11
  146. package/src/app/lib/components/ui/drawer/drawer.component.ts +25 -26
  147. package/src/app/lib/components/ui/drawer/index.ts +0 -1
  148. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-checkbox-item.component.ts +20 -11
  149. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-content.component.ts +96 -61
  150. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-context.ts +1 -1
  151. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-group.component.ts +1 -0
  152. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-item.component.ts +10 -11
  153. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-label.component.ts +2 -5
  154. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-radio-group.component.ts +14 -5
  155. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-radio-item.component.ts +14 -14
  156. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-separator.component.ts +2 -3
  157. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-shortcut.component.ts +2 -1
  158. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-sub-content.component.ts +5 -5
  159. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-sub-trigger.component.ts +8 -7
  160. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-sub.component.ts +9 -2
  161. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu-trigger.component.ts +6 -5
  162. package/src/app/lib/components/ui/dropdown-menu/dropdown-menu.component.ts +1 -0
  163. package/src/app/lib/components/ui/dropdown-menu/index.ts +10 -3
  164. package/src/app/lib/components/ui/empty/empty-action.component.ts +2 -9
  165. package/src/app/lib/components/ui/empty/empty-description.component.ts +2 -10
  166. package/src/app/lib/components/ui/empty/empty-icon.component.ts +3 -8
  167. package/src/app/lib/components/ui/empty/empty-title.component.ts +2 -9
  168. package/src/app/lib/components/ui/empty/empty.component.ts +3 -8
  169. package/src/app/lib/components/ui/empty/index.ts +0 -1
  170. package/src/app/lib/components/ui/form/form-context.ts +1 -11
  171. package/src/app/lib/components/ui/form/form-control.component.ts +22 -22
  172. package/src/app/lib/components/ui/form/form-description.component.ts +4 -10
  173. package/src/app/lib/components/ui/form/form-field.component.ts +7 -10
  174. package/src/app/lib/components/ui/form/form-item.component.ts +2 -12
  175. package/src/app/lib/components/ui/form/form-label.component.ts +15 -15
  176. package/src/app/lib/components/ui/form/form-message.component.ts +7 -15
  177. package/src/app/lib/components/ui/form/form.component.ts +9 -20
  178. package/src/app/lib/components/ui/form/index.ts +4 -5
  179. package/src/app/lib/components/ui/hover-card/hover-card-content.component.ts +21 -33
  180. package/src/app/lib/components/ui/hover-card/hover-card-context.ts +0 -8
  181. package/src/app/lib/components/ui/hover-card/hover-card-trigger.component.ts +17 -26
  182. package/src/app/lib/components/ui/hover-card/hover-card.component.ts +18 -28
  183. package/src/app/lib/components/ui/hover-card/index.ts +9 -6
  184. package/src/app/lib/components/ui/input/input.component.ts +57 -75
  185. package/src/app/lib/components/ui/input-group/index.ts +0 -1
  186. package/src/app/lib/components/ui/input-group/input-group-addon.component.ts +4 -11
  187. package/src/app/lib/components/ui/input-group/input-group-input.component.ts +3 -8
  188. package/src/app/lib/components/ui/input-group/input-group.component.ts +4 -9
  189. package/src/app/lib/components/ui/input-otp/index.ts +4 -5
  190. package/src/app/lib/components/ui/input-otp/input-otp-context.ts +0 -8
  191. package/src/app/lib/components/ui/input-otp/input-otp-group.component.ts +2 -3
  192. package/src/app/lib/components/ui/input-otp/input-otp-separator.component.ts +4 -3
  193. package/src/app/lib/components/ui/input-otp/input-otp-slot.component.ts +8 -10
  194. package/src/app/lib/components/ui/input-otp/input-otp.component.ts +27 -45
  195. package/src/app/lib/components/ui/kbd/index.ts +0 -1
  196. package/src/app/lib/components/ui/kbd/kbd-variants.ts +1 -1
  197. package/src/app/lib/components/ui/kbd/kbd.component.ts +4 -8
  198. package/src/app/lib/components/ui/label/label.component.ts +15 -28
  199. package/src/app/lib/components/ui/menubar/index.ts +11 -8
  200. package/src/app/lib/components/ui/menubar/menubar-checkbox-item.component.ts +21 -12
  201. package/src/app/lib/components/ui/menubar/menubar-content.component.ts +46 -53
  202. package/src/app/lib/components/ui/menubar/menubar-context.ts +3 -9
  203. package/src/app/lib/components/ui/menubar/menubar-item.component.ts +13 -14
  204. package/src/app/lib/components/ui/menubar/menubar-label.component.ts +2 -5
  205. package/src/app/lib/components/ui/menubar/menubar-menu.component.ts +14 -2
  206. package/src/app/lib/components/ui/menubar/menubar-radio-group.component.ts +9 -2
  207. package/src/app/lib/components/ui/menubar/menubar-radio-item.component.ts +13 -13
  208. package/src/app/lib/components/ui/menubar/menubar-separator.component.ts +2 -3
  209. package/src/app/lib/components/ui/menubar/menubar-shortcut.component.ts +2 -1
  210. package/src/app/lib/components/ui/menubar/menubar-sub-content.component.ts +5 -5
  211. package/src/app/lib/components/ui/menubar/menubar-sub-trigger.component.ts +7 -6
  212. package/src/app/lib/components/ui/menubar/menubar-sub.component.ts +8 -1
  213. package/src/app/lib/components/ui/menubar/menubar-trigger.component.ts +26 -21
  214. package/src/app/lib/components/ui/menubar/menubar.component.ts +6 -13
  215. package/src/app/lib/components/ui/native-select/index.ts +1 -5
  216. package/src/app/lib/components/ui/native-select/native-select-variants.ts +1 -1
  217. package/src/app/lib/components/ui/native-select/native-select.component.ts +14 -15
  218. package/src/app/lib/components/ui/navigation-menu/index.ts +10 -8
  219. package/src/app/lib/components/ui/navigation-menu/navigation-menu-content.component.ts +18 -13
  220. package/src/app/lib/components/ui/navigation-menu/navigation-menu-context.ts +2 -10
  221. package/src/app/lib/components/ui/navigation-menu/navigation-menu-indicator.component.ts +3 -2
  222. package/src/app/lib/components/ui/navigation-menu/navigation-menu-item.component.ts +6 -1
  223. package/src/app/lib/components/ui/navigation-menu/navigation-menu-link.component.ts +3 -8
  224. package/src/app/lib/components/ui/navigation-menu/navigation-menu-list.component.ts +2 -4
  225. package/src/app/lib/components/ui/navigation-menu/navigation-menu-trigger-style.ts +1 -1
  226. package/src/app/lib/components/ui/navigation-menu/navigation-menu-trigger.component.ts +8 -7
  227. package/src/app/lib/components/ui/navigation-menu/navigation-menu-viewport.component.ts +3 -2
  228. package/src/app/lib/components/ui/navigation-menu/navigation-menu.component.ts +8 -15
  229. package/src/app/lib/components/ui/pagination/index.ts +0 -1
  230. package/src/app/lib/components/ui/pagination/pagination-content.component.ts +3 -7
  231. package/src/app/lib/components/ui/pagination/pagination-ellipsis.component.ts +3 -7
  232. package/src/app/lib/components/ui/pagination/pagination-item.component.ts +3 -9
  233. package/src/app/lib/components/ui/pagination/pagination-link.component.ts +4 -8
  234. package/src/app/lib/components/ui/pagination/pagination-next.component.ts +3 -11
  235. package/src/app/lib/components/ui/pagination/pagination-previous.component.ts +3 -11
  236. package/src/app/lib/components/ui/pagination/pagination.component.ts +3 -7
  237. package/src/app/lib/components/ui/popover/index.ts +9 -6
  238. package/src/app/lib/components/ui/popover/popover-anchor.component.ts +2 -13
  239. package/src/app/lib/components/ui/popover/popover-content.component.ts +119 -69
  240. package/src/app/lib/components/ui/popover/popover-context.ts +0 -8
  241. package/src/app/lib/components/ui/popover/popover-trigger.component.ts +22 -22
  242. package/src/app/lib/components/ui/popover/popover.component.ts +20 -33
  243. package/src/app/lib/components/ui/progress/index.ts +1 -6
  244. package/src/app/lib/components/ui/progress/progress.component.ts +15 -30
  245. package/src/app/lib/components/ui/radio-group/index.ts +1 -4
  246. package/src/app/lib/components/ui/radio-group/radio-group-context.ts +1 -7
  247. package/src/app/lib/components/ui/radio-group/radio-group-item.component.ts +36 -69
  248. package/src/app/lib/components/ui/radio-group/radio-group.component.ts +38 -67
  249. package/src/app/lib/components/ui/resizable/index.ts +0 -1
  250. package/src/app/lib/components/ui/resizable/resizable-handle.component.ts +25 -39
  251. package/src/app/lib/components/ui/resizable/resizable-panel-group.component.ts +15 -18
  252. package/src/app/lib/components/ui/resizable/resizable-panel.component.ts +12 -31
  253. package/src/app/lib/components/ui/scroll-area/index.ts +4 -5
  254. package/src/app/lib/components/ui/scroll-area/scroll-area.component.ts +5 -19
  255. package/src/app/lib/components/ui/scroll-area/scroll-bar.component.ts +8 -27
  256. package/src/app/lib/components/ui/segmented/index.ts +5 -9
  257. package/src/app/lib/components/ui/segmented/segmented-context.ts +1 -3
  258. package/src/app/lib/components/ui/segmented/segmented-item.component.ts +21 -29
  259. package/src/app/lib/components/ui/segmented/segmented-variants.ts +2 -2
  260. package/src/app/lib/components/ui/segmented/segmented.component.ts +24 -32
  261. package/src/app/lib/components/ui/select/index.ts +5 -6
  262. package/src/app/lib/components/ui/select/select-content.component.ts +34 -62
  263. package/src/app/lib/components/ui/select/select-context.ts +4 -14
  264. package/src/app/lib/components/ui/select/select-group.component.ts +6 -7
  265. package/src/app/lib/components/ui/select/select-item.component.ts +46 -55
  266. package/src/app/lib/components/ui/select/select-label.component.ts +2 -7
  267. package/src/app/lib/components/ui/select/select-separator.component.ts +3 -8
  268. package/src/app/lib/components/ui/select/select-trigger.component.ts +28 -25
  269. package/src/app/lib/components/ui/select/select-value.component.ts +7 -13
  270. package/src/app/lib/components/ui/select/select.component.ts +52 -64
  271. package/src/app/lib/components/ui/separator/index.ts +1 -6
  272. package/src/app/lib/components/ui/separator/separator.component.ts +4 -19
  273. package/src/app/lib/components/ui/sheet/index.ts +0 -1
  274. package/src/app/lib/components/ui/sheet/sheet-close.component.ts +4 -8
  275. package/src/app/lib/components/ui/sheet/sheet-content.component.ts +31 -36
  276. package/src/app/lib/components/ui/sheet/sheet-description.component.ts +5 -10
  277. package/src/app/lib/components/ui/sheet/sheet-footer.component.ts +3 -7
  278. package/src/app/lib/components/ui/sheet/sheet-header.component.ts +3 -7
  279. package/src/app/lib/components/ui/sheet/sheet-title.component.ts +5 -10
  280. package/src/app/lib/components/ui/sheet/sheet-trigger.component.ts +7 -11
  281. package/src/app/lib/components/ui/sheet/sheet-variants.ts +1 -1
  282. package/src/app/lib/components/ui/sheet/sheet.component.ts +36 -36
  283. package/src/app/lib/components/ui/sidebar/index.ts +14 -15
  284. package/src/app/lib/components/ui/sidebar/sidebar-content.component.ts +4 -8
  285. package/src/app/lib/components/ui/sidebar/sidebar-context.ts +1 -3
  286. package/src/app/lib/components/ui/sidebar/sidebar-footer.component.ts +3 -9
  287. package/src/app/lib/components/ui/sidebar/sidebar-group-action.component.ts +4 -8
  288. package/src/app/lib/components/ui/sidebar/sidebar-group-content.component.ts +3 -9
  289. package/src/app/lib/components/ui/sidebar/sidebar-group-label.component.ts +4 -8
  290. package/src/app/lib/components/ui/sidebar/sidebar-group.component.ts +3 -7
  291. package/src/app/lib/components/ui/sidebar/sidebar-header.component.ts +3 -9
  292. package/src/app/lib/components/ui/sidebar/sidebar-input.component.ts +4 -8
  293. package/src/app/lib/components/ui/sidebar/sidebar-inset.component.ts +4 -8
  294. package/src/app/lib/components/ui/sidebar/sidebar-menu-action.component.ts +4 -8
  295. package/src/app/lib/components/ui/sidebar/sidebar-menu-badge.component.ts +4 -8
  296. package/src/app/lib/components/ui/sidebar/sidebar-menu-button.component.ts +4 -9
  297. package/src/app/lib/components/ui/sidebar/sidebar-menu-item.component.ts +3 -9
  298. package/src/app/lib/components/ui/sidebar/sidebar-menu-skeleton.component.ts +6 -11
  299. package/src/app/lib/components/ui/sidebar/sidebar-menu-sub-button.component.ts +4 -8
  300. package/src/app/lib/components/ui/sidebar/sidebar-menu-sub-item.component.ts +2 -6
  301. package/src/app/lib/components/ui/sidebar/sidebar-menu-sub.component.ts +4 -8
  302. package/src/app/lib/components/ui/sidebar/sidebar-menu.component.ts +3 -7
  303. package/src/app/lib/components/ui/sidebar/sidebar-provider.component.ts +46 -52
  304. package/src/app/lib/components/ui/sidebar/sidebar-rail.component.ts +6 -11
  305. package/src/app/lib/components/ui/sidebar/sidebar-route-active.service.ts +17 -17
  306. package/src/app/lib/components/ui/sidebar/sidebar-separator.component.ts +3 -7
  307. package/src/app/lib/components/ui/sidebar/sidebar-trigger.component.ts +6 -11
  308. package/src/app/lib/components/ui/sidebar/sidebar.component.ts +20 -31
  309. package/src/app/lib/components/ui/skeleton/skeleton.component.ts +3 -8
  310. package/src/app/lib/components/ui/slider/index.ts +1 -6
  311. package/src/app/lib/components/ui/slider/slider.component.ts +73 -138
  312. package/src/app/lib/components/ui/spinner/index.ts +0 -1
  313. package/src/app/lib/components/ui/spinner/spinner-variants.ts +19 -22
  314. package/src/app/lib/components/ui/spinner/spinner.component.ts +4 -8
  315. package/src/app/lib/components/ui/switch/index.ts +1 -6
  316. package/src/app/lib/components/ui/switch/switch.component.ts +83 -108
  317. package/src/app/lib/components/ui/table/index.ts +0 -1
  318. package/src/app/lib/components/ui/table/table-body.component.ts +6 -10
  319. package/src/app/lib/components/ui/table/table-caption.component.ts +6 -8
  320. package/src/app/lib/components/ui/table/table-cell.component.ts +4 -8
  321. package/src/app/lib/components/ui/table/table-footer.component.ts +6 -8
  322. package/src/app/lib/components/ui/table/table-head.component.ts +4 -8
  323. package/src/app/lib/components/ui/table/table-header.component.ts +6 -10
  324. package/src/app/lib/components/ui/table/table-row.component.ts +6 -11
  325. package/src/app/lib/components/ui/table/table.component.ts +4 -8
  326. package/src/app/lib/components/ui/tabs/index.ts +14 -7
  327. package/src/app/lib/components/ui/tabs/tabs-content.component.ts +11 -36
  328. package/src/app/lib/components/ui/tabs/tabs-context.ts +0 -8
  329. package/src/app/lib/components/ui/tabs/tabs-list.component.ts +54 -60
  330. package/src/app/lib/components/ui/tabs/tabs-trigger.component.ts +20 -35
  331. package/src/app/lib/components/ui/tabs/tabs.component.ts +32 -49
  332. package/src/app/lib/components/ui/textarea/textarea.component.ts +3 -8
  333. package/src/app/lib/components/ui/toast/index.ts +6 -7
  334. package/src/app/lib/components/ui/toast/toast-action.component.ts +7 -18
  335. package/src/app/lib/components/ui/toast/toast-description.component.ts +2 -11
  336. package/src/app/lib/components/ui/toast/toast-title.component.ts +2 -9
  337. package/src/app/lib/components/ui/toast/toast-variants.ts +1 -1
  338. package/src/app/lib/components/ui/toast/toast.component.ts +18 -24
  339. package/src/app/lib/components/ui/toast/toast.service.ts +22 -37
  340. package/src/app/lib/components/ui/toast/toaster.component.ts +6 -16
  341. package/src/app/lib/components/ui/toggle/index.ts +1 -5
  342. package/src/app/lib/components/ui/toggle/toggle-variants.ts +2 -2
  343. package/src/app/lib/components/ui/toggle/toggle.component.ts +32 -51
  344. package/src/app/lib/components/ui/toggle-group/index.ts +1 -4
  345. package/src/app/lib/components/ui/toggle-group/toggle-group-context.ts +1 -7
  346. package/src/app/lib/components/ui/toggle-group/toggle-group-item.component.ts +38 -59
  347. package/src/app/lib/components/ui/toggle-group/toggle-group.component.ts +33 -51
  348. package/src/app/lib/components/ui/tooltip/index.ts +9 -6
  349. package/src/app/lib/components/ui/tooltip/tooltip-content.component.ts +6 -24
  350. package/src/app/lib/components/ui/tooltip/tooltip-context.ts +0 -8
  351. package/src/app/lib/components/ui/tooltip/tooltip-provider.component.ts +12 -24
  352. package/src/app/lib/components/ui/tooltip/tooltip-trigger.component.ts +4 -21
  353. package/src/app/lib/components/ui/tooltip/tooltip.component.ts +21 -33
  354. package/src/app/lib/components/ui/typography/index.ts +0 -1
  355. package/src/app/lib/components/ui/typography/typography-blockquote.component.ts +3 -7
  356. package/src/app/lib/components/ui/typography/typography-h1.component.ts +3 -10
  357. package/src/app/lib/components/ui/typography/typography-h2.component.ts +3 -10
  358. package/src/app/lib/components/ui/typography/typography-h3.component.ts +3 -7
  359. package/src/app/lib/components/ui/typography/typography-h4.component.ts +3 -7
  360. package/src/app/lib/components/ui/typography/typography-inline-code.component.ts +4 -8
  361. package/src/app/lib/components/ui/typography/typography-large.component.ts +3 -9
  362. package/src/app/lib/components/ui/typography/typography-lead.component.ts +3 -7
  363. package/src/app/lib/components/ui/typography/typography-list.component.ts +3 -7
  364. package/src/app/lib/components/ui/typography/typography-muted.component.ts +3 -7
  365. package/src/app/lib/components/ui/typography/typography-p.component.ts +3 -7
  366. package/src/app/lib/components/ui/typography/typography-small.component.ts +3 -7
  367. package/src/app/lib/utils/accessibility/click-outside.directive.ts +1 -8
  368. package/src/app/lib/utils/accessibility/focus-management.service.ts +4 -15
  369. package/src/app/lib/utils/accessibility/focus-trap.directive.ts +32 -106
  370. package/src/app/lib/utils/accessibility/index.ts +16 -5
  371. package/src/app/lib/utils/accessibility/keyboard-navigation.directive.ts +5 -8
  372. package/src/app/lib/utils/accessibility/live-region.directive.ts +10 -13
  373. package/src/app/lib/utils/accessibility/touch-target.directive.ts +1 -8
  374. package/src/app/lib/utils/animation/animation.utils.ts +4 -7
  375. package/src/app/lib/utils/animation/index.ts +15 -5
  376. package/src/app/lib/utils/animation/presence.component.ts +1 -1
  377. package/src/app/lib/utils/animation/presence.directive.ts +2 -2
  378. package/src/app/lib/utils/positioning/index.ts +40 -18
  379. package/src/app/lib/components/ui/index.ts +0 -551
  380. package/src/app/lib/index.ts +0 -7
@@ -1,14 +1,6 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
8
- import {
9
- buttonGroupVariants,
10
- type ButtonGroupVariants,
11
- } from './button-group-variants';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
3
+ import { buttonGroupVariants, type ButtonGroupVariants } from './button-group-variants';
12
4
 
13
5
  /**
14
6
  * ButtonGroup component - groups buttons together with shared styling.
@@ -32,6 +24,7 @@ import {
32
24
  selector: 'ButtonGroup',
33
25
  template: `<ng-content />`,
34
26
  host: {
27
+ 'attr.data-slot': '"button-group"',
35
28
  '[class]': 'computedClass()',
36
29
  role: 'group',
37
30
  },
@@ -39,8 +32,7 @@ import {
39
32
  })
40
33
  export class ButtonGroup {
41
34
  /** The orientation of the button group */
42
- readonly orientation =
43
- input<ButtonGroupVariants['orientation']>('horizontal');
35
+ readonly orientation = input<ButtonGroupVariants['orientation']>('horizontal');
44
36
 
45
37
  /** Additional CSS classes to apply */
46
38
  readonly class = input<string>('');
@@ -51,7 +43,7 @@ export class ButtonGroup {
51
43
  buttonGroupVariants({
52
44
  orientation: this.orientation(),
53
45
  }),
54
- this.class()
55
- )
46
+ this.class(),
47
+ ),
56
48
  );
57
49
  }
@@ -1,6 +1,2 @@
1
- export {
2
- buttonGroupVariants,
3
- type ButtonGroupVariants
4
- } from './button-group-variants';
1
+ export { buttonGroupVariants, type ButtonGroupVariants } from './button-group-variants';
5
2
  export { ButtonGroup } from './button-group.component';
6
-
@@ -1,14 +1,14 @@
1
1
  import { cn } from '@/lib/utils';
2
2
  import { LiveAnnouncerService } from '@/lib/utils/accessibility';
3
3
  import {
4
- ChangeDetectionStrategy,
5
- Component,
6
- computed,
7
- inject,
8
- input,
9
- model,
10
- output,
11
- signal,
4
+ ChangeDetectionStrategy,
5
+ Component,
6
+ computed,
7
+ inject,
8
+ input,
9
+ model,
10
+ output,
11
+ signal,
12
12
  } from '@angular/core';
13
13
  import { ChevronLeft, ChevronRight, LucideAngularModule } from 'lucide-angular';
14
14
  import { buttonVariants } from '../button';
@@ -29,10 +29,10 @@ import { buttonVariants } from '../button';
29
29
  template: `
30
30
  <div [class]="computedClass()" role="application" [attr.aria-label]="ariaLabel()">
31
31
  <!-- Header with navigation -->
32
- <div class="flex flex-col space-y-4 sm:flex-row sm:space-x-4 sm:space-y-0">
33
- <div class="space-y-4">
32
+ <div class="w-full">
33
+ <div class="w-full space-y-4">
34
34
  <!-- Month navigation -->
35
- <div class="flex justify-center pt-1 relative items-center">
35
+ <div class="relative flex items-center justify-center pt-1">
36
36
  <div
37
37
  class="text-sm font-medium"
38
38
  aria-live="polite"
@@ -63,13 +63,17 @@ import { buttonVariants } from '../button';
63
63
  </div>
64
64
 
65
65
  <!-- Calendar grid -->
66
- <table class="w-full border-collapse space-y-1" role="grid" [attr.aria-label]="monthYear()">
66
+ <table
67
+ class="w-full border-collapse space-y-1"
68
+ role="grid"
69
+ [attr.aria-label]="monthYear()"
70
+ >
67
71
  <thead>
68
72
  <tr class="flex" role="row">
69
73
  @for (day of weekDays; track day; let i = $index) {
70
74
  <th
71
75
  scope="col"
72
- class="text-muted-foreground rounded-md w-8 font-normal text-[0.8rem]"
76
+ class="text-muted-foreground w-full rounded-md font-normal text-[0.8rem]"
73
77
  [attr.aria-label]="fullWeekDays[i]"
74
78
  >
75
79
  {{ day }}
@@ -83,7 +87,7 @@ import { buttonVariants } from '../button';
83
87
  @for (day of week; track day.date.toISOString()) {
84
88
  <td
85
89
  role="gridcell"
86
- class="relative p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-accent [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected].day-range-end)]:rounded-r-md"
90
+ class="relative w-full p-0 text-center text-sm focus-within:relative focus-within:z-20 [&:has([aria-selected])]:bg-gray-100 dark:[&:has([aria-selected])]:bg-neutral-800 [&:has([aria-selected].day-outside)]:bg-gray-100/50 dark:[&:has([aria-selected].day-outside)]:bg-neutral-800/50 [&:has([aria-selected].day-range-end)]:rounded-r-md"
87
91
  [class.first:rounded-l-md]="true"
88
92
  [class.last:rounded-r-md]="true"
89
93
  >
@@ -91,9 +95,9 @@ import { buttonVariants } from '../button';
91
95
  type="button"
92
96
  [class]="getDayClass(day)"
93
97
  [attr.aria-label]="getDateLabel(day.date)"
94
- [attr.aria-selected]="isSelected(day.date)"
98
+ [attr.aria-selected]="isSelected(day.date) ? 'true' : null"
95
99
  [attr.aria-current]="isToday(day.date) ? 'date' : null"
96
- [attr.aria-disabled]="day.disabled"
100
+ [attr.aria-disabled]="day.disabled ? 'true' : null"
97
101
  [disabled]="day.disabled"
98
102
  [tabindex]="getDayTabIndex(day)"
99
103
  (click)="selectDate(day.date)"
@@ -114,57 +118,103 @@ import { buttonVariants } from '../button';
114
118
  changeDetection: ChangeDetectionStrategy.OnPush,
115
119
  })
116
120
  export class Calendar {
117
- protected readonly ChevronLeftIcon = ChevronLeft;
118
- protected readonly ChevronRightIcon = ChevronRight;
119
- private readonly liveAnnouncer = inject(LiveAnnouncerService);
121
+ /** Date select event */
122
+ readonly onSelect = output<Date | undefined>();
123
+ /** Month change event */
124
+ readonly onMonthChange = output<Date>();
120
125
 
121
126
  /** Selected date */
122
127
  readonly selected = model<Date | undefined>(undefined);
123
128
 
124
129
  /** Mode - single, multiple, or range */
125
130
  readonly mode = input<'single' | 'multiple' | 'range'>('single');
126
-
127
131
  /** Number of months to display */
128
132
  readonly numberOfMonths = input<number>(1);
129
-
130
133
  /** Whether to show days outside current month */
131
134
  readonly showOutsideDays = input<boolean>(true);
132
-
133
135
  /** Disabled dates function */
134
136
  readonly disabled = input<((date: Date) => boolean) | undefined>(undefined);
135
-
136
137
  /** Accessible label for the calendar */
137
138
  readonly ariaLabel = input<string>('Calendar');
138
-
139
139
  /** Additional CSS classes */
140
140
  readonly class = input<string>('');
141
141
 
142
- /** Date select event */
143
- readonly onSelect = output<Date | undefined>();
144
-
145
- /** Month change event */
146
- readonly onMonthChange = output<Date>();
147
-
148
- protected readonly weekDays = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
149
- protected readonly fullWeekDays = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
150
-
151
- protected readonly currentMonth = signal(new Date());
152
-
153
- protected readonly computedClass = computed(() =>
154
- cn('p-3', this.class())
155
- );
142
+ private readonly _liveAnnouncer = inject(LiveAnnouncerService);
156
143
 
144
+ protected readonly computedClass = computed(() => cn('w-full p-3', this.class()));
157
145
  protected readonly navButtonClass = computed(() =>
158
146
  cn(
159
147
  buttonVariants({ variant: 'outline' }),
160
- 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100'
161
- )
148
+ 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 hover:bg-gray-100 dark:hover:bg-neutral-800',
149
+ ),
162
150
  );
163
-
164
151
  protected readonly monthYear = computed(() => {
165
152
  const date = this.currentMonth();
166
153
  return date.toLocaleDateString('en-US', { month: 'long', year: 'numeric' });
167
154
  });
155
+ protected readonly calendarWeeks = computed(() => {
156
+ const date = this.currentMonth();
157
+ const year = date.getFullYear();
158
+ const month = date.getMonth();
159
+
160
+ const firstDay = new Date(year, month, 1);
161
+ const lastDay = new Date(year, month + 1, 0);
162
+
163
+ const startDate = new Date(firstDay);
164
+ startDate.setDate(startDate.getDate() - firstDay.getDay());
165
+
166
+ const endDate = new Date(lastDay);
167
+ endDate.setDate(endDate.getDate() + (6 - lastDay.getDay()));
168
+
169
+ const weeks: {
170
+ date: Date;
171
+ isOutside: boolean;
172
+ disabled: boolean;
173
+ }[][] = [];
174
+
175
+ const current = new Date(startDate);
176
+ while (current <= endDate) {
177
+ const week: {
178
+ date: Date;
179
+ isOutside: boolean;
180
+ disabled: boolean;
181
+ }[] = [];
182
+
183
+ for (let i = 0; i < 7; i++) {
184
+ const dayDate = new Date(current);
185
+ const isOutside = dayDate.getMonth() !== month;
186
+ const disabledFn = this.disabled();
187
+ const isDisabled = disabledFn ? disabledFn(dayDate) : false;
188
+
189
+ week.push({
190
+ date: dayDate,
191
+ isOutside,
192
+ disabled: isDisabled,
193
+ });
194
+
195
+ current.setDate(current.getDate() + 1);
196
+ }
197
+
198
+ weeks.push(week);
199
+ }
200
+
201
+ return weeks;
202
+ });
203
+
204
+ protected readonly currentMonth = signal(new Date());
205
+
206
+ protected readonly ChevronLeftIcon = ChevronLeft;
207
+ protected readonly ChevronRightIcon = ChevronRight;
208
+ protected readonly weekDays = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];
209
+ protected readonly fullWeekDays = [
210
+ 'Sunday',
211
+ 'Monday',
212
+ 'Tuesday',
213
+ 'Wednesday',
214
+ 'Thursday',
215
+ 'Friday',
216
+ 'Saturday',
217
+ ];
168
218
 
169
219
  /** Get accessible label for a date */
170
220
  protected getDateLabel(date: Date): string {
@@ -172,7 +222,7 @@ export class Calendar {
172
222
  weekday: 'long',
173
223
  month: 'long',
174
224
  day: 'numeric',
175
- year: 'numeric'
225
+ year: 'numeric',
176
226
  };
177
227
  const label = date.toLocaleDateString('en-US', options);
178
228
 
@@ -184,26 +234,22 @@ export class Calendar {
184
234
  }
185
235
  return label;
186
236
  }
187
-
188
237
  /** Check if date is today */
189
238
  protected isToday(date: Date): boolean {
190
239
  return this.isSameDay(date, new Date());
191
240
  }
192
-
193
241
  /** Get label for previous month button */
194
242
  protected getPreviousMonthLabel(): string {
195
243
  const current = this.currentMonth();
196
244
  const prev = new Date(current.getFullYear(), current.getMonth() - 1, 1);
197
245
  return prev.toLocaleDateString('en-US', { month: 'long', year: 'numeric' });
198
246
  }
199
-
200
247
  /** Get label for next month button */
201
248
  protected getNextMonthLabel(): string {
202
249
  const current = this.currentMonth();
203
250
  const next = new Date(current.getFullYear(), current.getMonth() + 1, 1);
204
251
  return next.toLocaleDateString('en-US', { month: 'long', year: 'numeric' });
205
252
  }
206
-
207
253
  /** Get tabindex for day button (roving tabindex) */
208
254
  protected getDayTabIndex(day: { date: Date; isOutside: boolean; disabled: boolean }): number {
209
255
  if (day.disabled || day.isOutside) return -1;
@@ -212,7 +258,6 @@ export class Calendar {
212
258
  if (this.isToday(day.date)) return 0;
213
259
  return -1;
214
260
  }
215
-
216
261
  /** Handle keyboard navigation within the calendar */
217
262
  protected onDayKeydown(event: KeyboardEvent, currentDate: Date): void {
218
263
  let newDate: Date | null = null;
@@ -255,109 +300,52 @@ export class Calendar {
255
300
  }
256
301
  // Focus the new date after DOM update
257
302
  setTimeout(() => {
258
- const button = document.querySelector(`[aria-label*="${newDate!.getDate()},"]`) as HTMLElement;
303
+ const button = document.querySelector(
304
+ `[aria-label*="${newDate!.getDate()},"]`,
305
+ ) as HTMLElement;
259
306
  button?.focus();
260
307
  }, 0);
261
308
  }
262
309
  }
263
-
264
- protected readonly calendarWeeks = computed(() => {
265
- const date = this.currentMonth();
266
- const year = date.getFullYear();
267
- const month = date.getMonth();
268
-
269
- const firstDay = new Date(year, month, 1);
270
- const lastDay = new Date(year, month + 1, 0);
271
-
272
- const startDate = new Date(firstDay);
273
- startDate.setDate(startDate.getDate() - firstDay.getDay());
274
-
275
- const endDate = new Date(lastDay);
276
- endDate.setDate(endDate.getDate() + (6 - lastDay.getDay()));
277
-
278
- const weeks: {
279
- date: Date;
280
- isOutside: boolean;
281
- disabled: boolean;
282
- }[][] = [];
283
-
284
- const current = new Date(startDate);
285
- while (current <= endDate) {
286
- const week: {
287
- date: Date;
288
- isOutside: boolean;
289
- disabled: boolean;
290
- }[] = [];
291
-
292
- for (let i = 0; i < 7; i++) {
293
- const dayDate = new Date(current);
294
- const isOutside = dayDate.getMonth() !== month;
295
- const disabledFn = this.disabled();
296
- const isDisabled = disabledFn ? disabledFn(dayDate) : false;
297
-
298
- week.push({
299
- date: dayDate,
300
- isOutside,
301
- disabled: isDisabled,
302
- });
303
-
304
- current.setDate(current.getDate() + 1);
305
- }
306
-
307
- weeks.push(week);
308
- }
309
-
310
- return weeks;
311
- });
312
-
313
- protected getDayClass(day: {
314
- date: Date;
315
- isOutside: boolean;
316
- disabled: boolean;
317
- }): string {
310
+ protected getDayClass(day: { date: Date; isOutside: boolean; disabled: boolean }): string {
318
311
  const todayCheck = this.isSameDay(day.date, new Date());
319
312
  const selected = this.isSelected(day.date);
320
313
 
321
314
  return cn(
322
315
  buttonVariants({ variant: 'ghost' }),
323
- 'h-8 w-8 p-0 font-normal aria-selected:opacity-100',
324
- todayCheck && 'bg-accent text-accent-foreground',
316
+ 'h-9 w-full p-0 font-normal aria-selected:opacity-100 hover:bg-gray-100 hover:text-gray-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-100',
317
+ todayCheck && 'bg-gray-100 text-gray-900 dark:bg-neutral-800 dark:text-neutral-100',
325
318
  selected &&
326
319
  'bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground',
327
320
  day.isOutside &&
328
- 'day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground',
329
- day.disabled && 'text-muted-foreground opacity-50'
321
+ 'day-outside text-muted-foreground aria-selected:bg-gray-100/50 aria-selected:text-muted-foreground dark:aria-selected:bg-neutral-800/50',
322
+ day.disabled && 'text-muted-foreground opacity-50',
330
323
  );
331
324
  }
332
-
333
325
  protected isSelected(date: Date): boolean {
334
326
  const selected = this.selected();
335
327
  if (!selected) return false;
336
328
  return this.isSameDay(date, selected);
337
329
  }
338
-
339
330
  protected selectDate(date: Date): void {
340
331
  this.selected.set(date);
341
332
  this.onSelect.emit(date);
342
- this.liveAnnouncer.announce(`Selected ${this.getDateLabel(date)}`, 'polite');
333
+ this._liveAnnouncer.announce(`Selected ${this.getDateLabel(date)}`, 'polite');
343
334
  }
344
-
345
335
  protected previousMonth(): void {
346
336
  const current = this.currentMonth();
347
337
  const newDate = new Date(current.getFullYear(), current.getMonth() - 1, 1);
348
338
  this.currentMonth.set(newDate);
349
339
  this.onMonthChange.emit(newDate);
350
- this.liveAnnouncer.announce(this.getPreviousMonthLabel(), 'polite');
340
+ this._liveAnnouncer.announce(this.getPreviousMonthLabel(), 'polite');
351
341
  }
352
-
353
342
  protected nextMonth(): void {
354
343
  const current = this.currentMonth();
355
344
  const newDate = new Date(current.getFullYear(), current.getMonth() + 1, 1);
356
345
  this.currentMonth.set(newDate);
357
346
  this.onMonthChange.emit(newDate);
358
- this.liveAnnouncer.announce(this.getNextMonthLabel(), 'polite');
347
+ this._liveAnnouncer.announce(this.getNextMonthLabel(), 'polite');
359
348
  }
360
-
361
349
  private isSameDay(date1: Date, date2: Date): boolean {
362
350
  return (
363
351
  date1.getFullYear() === date2.getFullYear() &&
@@ -1,10 +1,5 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
8
3
 
9
4
  /**
10
5
  * Card action element.
@@ -31,9 +26,6 @@ export class CardAction {
31
26
  readonly class = input<string>('');
32
27
 
33
28
  protected readonly computedClass = computed(() =>
34
- cn(
35
- 'col-start-2 row-span-2 row-start-1 self-start justify-self-end',
36
- this.class()
37
- )
29
+ cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', this.class()),
38
30
  );
39
31
  }
@@ -1,10 +1,5 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
8
3
 
9
4
  /**
10
5
  * Card content section.
@@ -1,10 +1,5 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
8
3
 
9
4
  /**
10
5
  * Card description element.
@@ -26,6 +21,6 @@ export class CardDescription {
26
21
  readonly class = input<string>('');
27
22
 
28
23
  protected readonly computedClass = computed(() =>
29
- cn('text-muted-foreground text-sm', this.class())
24
+ cn('text-muted-foreground text-sm', this.class()),
30
25
  );
31
26
  }
@@ -1,10 +1,5 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
8
3
 
9
4
  /**
10
5
  * Card footer section.
@@ -29,6 +24,6 @@ export class CardFooter {
29
24
  readonly class = input<string>('');
30
25
 
31
26
  protected readonly computedClass = computed(() =>
32
- cn('flex items-center px-6 [.border-t]:pt-6', this.class())
27
+ cn('flex items-center px-6 [.border-t]:pt-6', this.class()),
33
28
  );
34
29
  }
@@ -1,10 +1,5 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
8
3
 
9
4
  /**
10
5
  * Card header section.
@@ -31,7 +26,7 @@ export class CardHeader {
31
26
  protected readonly computedClass = computed(() =>
32
27
  cn(
33
28
  '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',
34
- this.class()
35
- )
29
+ this.class(),
30
+ ),
36
31
  );
37
32
  }
@@ -1,10 +1,5 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
8
3
 
9
4
  /**
10
5
  * Card title element.
@@ -25,7 +20,5 @@ import {
25
20
  export class CardTitle {
26
21
  readonly class = input<string>('');
27
22
 
28
- protected readonly computedClass = computed(() =>
29
- cn('leading-none font-semibold', this.class())
30
- );
23
+ protected readonly computedClass = computed(() => cn('leading-none font-semibold', this.class()));
31
24
  }
@@ -1,10 +1,5 @@
1
1
  import { cn } from '@/lib/utils';
2
- import {
3
- ChangeDetectionStrategy,
4
- Component,
5
- computed,
6
- input,
7
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
8
3
 
9
4
  /**
10
5
  * Card container component.
@@ -35,7 +30,7 @@ export class Card {
35
30
  protected readonly computedClass = computed(() =>
36
31
  cn(
37
32
  'bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm',
38
- this.class()
39
- )
33
+ this.class(),
34
+ ),
40
35
  );
41
36
  }
@@ -5,4 +5,3 @@ export { CardFooter } from './card-footer.component';
5
5
  export { CardHeader } from './card-header.component';
6
6
  export { CardTitle } from './card-title.component';
7
7
  export { Card } from './card.component';
8
-
@@ -20,19 +20,13 @@ import { CAROUSEL_CONTEXT } from './carousel-context';
20
20
  changeDetection: ChangeDetectionStrategy.OnPush,
21
21
  })
22
22
  export class CarouselContent {
23
- protected readonly context = inject(CAROUSEL_CONTEXT);
24
-
25
23
  /** Additional CSS classes */
26
24
  readonly class = input<string>('');
27
25
 
28
- protected readonly computedClass = computed(() =>
29
- cn('overflow-hidden', this.class())
30
- );
26
+ protected readonly context = inject(CAROUSEL_CONTEXT);
31
27
 
28
+ protected readonly computedClass = computed(() => cn('overflow-hidden', this.class()));
32
29
  protected readonly innerClass = computed(() =>
33
- cn(
34
- 'flex',
35
- this.context.orientation() === 'horizontal' ? '-ml-4' : '-mt-4 flex-col'
36
- )
30
+ cn('flex', this.context.orientation() === 'horizontal' ? '-ml-4' : '-mt-4 flex-col'),
37
31
  );
38
32
  }
@@ -11,22 +11,22 @@ import { CAROUSEL_CONTEXT } from './carousel-context';
11
11
  template: `<ng-content />`,
12
12
  host: {
13
13
  '[class]': 'computedClass()',
14
- 'role': 'group',
14
+ role: 'group',
15
15
  'aria-roledescription': 'slide',
16
16
  },
17
17
  changeDetection: ChangeDetectionStrategy.OnPush,
18
18
  })
19
19
  export class CarouselItem {
20
- protected readonly context = inject(CAROUSEL_CONTEXT);
21
-
22
20
  /** Additional CSS classes */
23
21
  readonly class = input<string>('');
24
22
 
23
+ protected readonly context = inject(CAROUSEL_CONTEXT);
24
+
25
25
  protected readonly computedClass = computed(() =>
26
26
  cn(
27
27
  'min-w-0 shrink-0 grow-0 basis-full',
28
28
  this.context.orientation() === 'horizontal' ? 'pl-4' : 'pt-4',
29
- this.class()
30
- )
29
+ this.class(),
30
+ ),
31
31
  );
32
32
  }
@@ -29,18 +29,17 @@ import { CAROUSEL_CONTEXT } from './carousel-context';
29
29
  changeDetection: ChangeDetectionStrategy.OnPush,
30
30
  })
31
31
  export class CarouselNext {
32
- protected readonly context = inject(CAROUSEL_CONTEXT);
33
- protected readonly ArrowRightIcon = ArrowRight;
34
-
35
32
  /** Button variant */
36
- readonly variant = input<'default' | 'outline' | 'secondary' | 'ghost' | 'link' | 'destructive'>('outline');
37
-
33
+ readonly variant = input<'default' | 'outline' | 'secondary' | 'ghost' | 'link' | 'destructive'>(
34
+ 'outline',
35
+ );
38
36
  /** Button size */
39
37
  readonly size = input<'default' | 'sm' | 'lg' | 'icon'>('icon');
40
-
41
38
  /** Additional CSS classes */
42
39
  readonly class = input<string>('');
43
40
 
41
+ protected readonly context = inject(CAROUSEL_CONTEXT);
42
+
44
43
  protected readonly computedClass = computed(() =>
45
44
  cn(
46
45
  buttonVariants({ variant: this.variant(), size: this.size() }),
@@ -48,7 +47,9 @@ export class CarouselNext {
48
47
  this.context.orientation() === 'horizontal'
49
48
  ? '-right-12 top-1/2 -translate-y-1/2'
50
49
  : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',
51
- this.class()
52
- )
50
+ this.class(),
51
+ ),
53
52
  );
53
+
54
+ protected readonly ArrowRightIcon = ArrowRight;
54
55
  }