@object-ui/components 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/ISSUES_FOUND.md +128 -0
  3. package/README.md +19 -1
  4. package/README_SHADCN_SYNC.md +281 -0
  5. package/TESTING.md +335 -0
  6. package/dist/index.css +1 -1
  7. package/dist/index.js +30981 -30027
  8. package/dist/index.umd.cjs +30 -39
  9. package/dist/src/hooks/use-mobile.d.ts +7 -0
  10. package/dist/src/index.d.ts +4 -1
  11. package/dist/src/renderers/basic/button-group.d.ts +8 -0
  12. package/dist/src/renderers/basic/div.d.ts +7 -0
  13. package/dist/src/renderers/basic/html.d.ts +7 -0
  14. package/dist/src/renderers/basic/icon.d.ts +7 -0
  15. package/dist/src/renderers/basic/image.d.ts +7 -0
  16. package/dist/src/renderers/basic/navigation-menu.d.ts +8 -0
  17. package/dist/src/renderers/basic/pagination.d.ts +8 -0
  18. package/dist/src/renderers/basic/separator.d.ts +7 -0
  19. package/dist/src/renderers/basic/span.d.ts +7 -0
  20. package/dist/src/renderers/basic/text.d.ts +7 -0
  21. package/dist/src/renderers/complex/carousel.d.ts +7 -0
  22. package/dist/src/renderers/complex/data-table.d.ts +7 -0
  23. package/dist/src/renderers/complex/filter-builder.d.ts +7 -0
  24. package/dist/src/renderers/complex/resizable.d.ts +7 -0
  25. package/dist/src/renderers/complex/scroll-area.d.ts +7 -0
  26. package/dist/src/renderers/complex/table.d.ts +7 -0
  27. package/dist/src/renderers/data-display/alert.d.ts +7 -0
  28. package/dist/src/renderers/data-display/avatar.d.ts +7 -0
  29. package/dist/src/renderers/data-display/badge.d.ts +7 -0
  30. package/dist/src/renderers/data-display/breadcrumb.d.ts +8 -0
  31. package/dist/src/renderers/data-display/kbd.d.ts +8 -0
  32. package/dist/src/renderers/data-display/list.d.ts +7 -0
  33. package/dist/src/renderers/data-display/statistic.d.ts +7 -0
  34. package/dist/src/renderers/data-display/table.d.ts +8 -0
  35. package/dist/src/renderers/data-display/tree-view.d.ts +7 -0
  36. package/dist/src/renderers/disclosure/accordion.d.ts +7 -0
  37. package/dist/src/renderers/disclosure/collapsible.d.ts +7 -0
  38. package/dist/src/renderers/disclosure/toggle-group.d.ts +8 -0
  39. package/dist/src/renderers/feedback/empty.d.ts +8 -0
  40. package/dist/src/renderers/feedback/loading.d.ts +7 -0
  41. package/dist/src/renderers/feedback/progress.d.ts +7 -0
  42. package/dist/src/renderers/feedback/skeleton.d.ts +7 -0
  43. package/dist/src/renderers/feedback/sonner.d.ts +8 -0
  44. package/dist/src/renderers/feedback/spinner.d.ts +8 -0
  45. package/dist/src/renderers/feedback/toast.d.ts +8 -0
  46. package/dist/src/renderers/feedback/toaster.d.ts +7 -0
  47. package/dist/src/renderers/form/button.d.ts +7 -0
  48. package/dist/src/renderers/form/calendar.d.ts +7 -0
  49. package/dist/src/renderers/form/checkbox.d.ts +7 -0
  50. package/dist/src/renderers/form/combobox.d.ts +8 -0
  51. package/dist/src/renderers/form/command.d.ts +8 -0
  52. package/dist/src/renderers/form/date-picker.d.ts +7 -0
  53. package/dist/src/renderers/form/file-upload.d.ts +7 -0
  54. package/dist/src/renderers/form/form.d.ts +7 -0
  55. package/dist/src/renderers/form/input-otp.d.ts +7 -0
  56. package/dist/src/renderers/form/input.d.ts +7 -0
  57. package/dist/src/renderers/form/label.d.ts +7 -0
  58. package/dist/src/renderers/form/radio-group.d.ts +7 -0
  59. package/dist/src/renderers/form/select.d.ts +7 -0
  60. package/dist/src/renderers/form/slider.d.ts +7 -0
  61. package/dist/src/renderers/form/switch.d.ts +7 -0
  62. package/dist/src/renderers/form/textarea.d.ts +7 -0
  63. package/dist/src/renderers/form/toggle.d.ts +7 -0
  64. package/dist/src/renderers/layout/aspect-ratio.d.ts +8 -0
  65. package/dist/src/renderers/layout/card.d.ts +7 -0
  66. package/dist/src/renderers/layout/container.d.ts +7 -0
  67. package/dist/src/renderers/layout/flex.d.ts +7 -0
  68. package/dist/src/renderers/layout/grid.d.ts +7 -0
  69. package/dist/src/renderers/layout/semantic.d.ts +7 -0
  70. package/dist/src/renderers/layout/stack.d.ts +7 -0
  71. package/dist/src/renderers/layout/tabs.d.ts +7 -0
  72. package/dist/src/renderers/navigation/header-bar.d.ts +7 -0
  73. package/dist/src/renderers/navigation/sidebar.d.ts +7 -0
  74. package/dist/src/renderers/overlay/alert-dialog.d.ts +7 -0
  75. package/dist/src/renderers/overlay/context-menu.d.ts +7 -0
  76. package/dist/src/renderers/overlay/dialog.d.ts +7 -0
  77. package/dist/src/renderers/overlay/drawer.d.ts +7 -0
  78. package/dist/src/renderers/overlay/dropdown-menu.d.ts +7 -0
  79. package/dist/src/renderers/overlay/hover-card.d.ts +7 -0
  80. package/dist/src/renderers/overlay/menubar.d.ts +8 -0
  81. package/dist/src/renderers/overlay/popover.d.ts +7 -0
  82. package/dist/src/renderers/overlay/sheet.d.ts +7 -0
  83. package/dist/src/renderers/overlay/tooltip.d.ts +7 -0
  84. package/dist/src/renderers/placeholders.d.ts +9 -0
  85. package/dist/src/ui/accordion.d.ts +7 -0
  86. package/dist/src/ui/alert-dialog.d.ts +7 -0
  87. package/dist/src/ui/alert.d.ts +7 -0
  88. package/dist/src/ui/aspect-ratio.d.ts +7 -0
  89. package/dist/src/ui/avatar.d.ts +7 -0
  90. package/dist/src/ui/badge.d.ts +7 -0
  91. package/dist/src/ui/breadcrumb.d.ts +7 -0
  92. package/dist/src/ui/button.d.ts +10 -5
  93. package/dist/src/ui/calendar.d.ts +14 -7
  94. package/dist/src/ui/card.d.ts +7 -0
  95. package/dist/src/ui/carousel.d.ts +7 -0
  96. package/dist/src/ui/checkbox.d.ts +7 -0
  97. package/dist/src/ui/collapsible.d.ts +7 -0
  98. package/dist/src/ui/combobox.d.ts +22 -0
  99. package/dist/src/ui/command.d.ts +7 -0
  100. package/dist/src/ui/context-menu.d.ts +7 -0
  101. package/dist/src/ui/date-picker.d.ts +15 -0
  102. package/dist/src/ui/dialog.d.ts +7 -0
  103. package/dist/src/ui/drawer.d.ts +7 -0
  104. package/dist/src/ui/dropdown-menu.d.ts +7 -0
  105. package/dist/src/ui/filter-builder.d.ts +7 -0
  106. package/dist/src/ui/form.d.ts +7 -0
  107. package/dist/src/ui/hover-card.d.ts +7 -0
  108. package/dist/src/ui/index.d.ts +10 -5
  109. package/dist/src/ui/input-otp.d.ts +7 -0
  110. package/dist/src/ui/input.d.ts +7 -0
  111. package/dist/src/ui/item.d.ts +7 -0
  112. package/dist/src/ui/kbd.d.ts +7 -0
  113. package/dist/src/ui/label.d.ts +7 -0
  114. package/dist/src/ui/menubar.d.ts +7 -0
  115. package/dist/src/ui/navigation-menu.d.ts +7 -0
  116. package/dist/src/ui/pagination.d.ts +7 -0
  117. package/dist/src/ui/popover.d.ts +7 -0
  118. package/dist/src/ui/progress.d.ts +7 -0
  119. package/dist/src/ui/radio-group.d.ts +7 -0
  120. package/dist/src/ui/resizable.d.ts +7 -0
  121. package/dist/src/ui/scroll-area.d.ts +7 -0
  122. package/dist/src/ui/select.d.ts +9 -2
  123. package/dist/src/ui/separator.d.ts +7 -0
  124. package/dist/src/ui/sheet.d.ts +7 -0
  125. package/dist/src/ui/sidebar.d.ts +14 -9
  126. package/dist/src/ui/skeleton.d.ts +7 -0
  127. package/dist/src/ui/slider.d.ts +7 -0
  128. package/dist/src/ui/spinner.d.ts +7 -0
  129. package/dist/src/ui/switch.d.ts +7 -0
  130. package/dist/src/ui/table.d.ts +15 -8
  131. package/dist/src/ui/tabs.d.ts +7 -0
  132. package/dist/src/ui/textarea.d.ts +7 -0
  133. package/dist/src/ui/toggle-group.d.ts +8 -3
  134. package/dist/src/ui/toggle.d.ts +7 -0
  135. package/dist/src/ui/tooltip.d.ts +7 -0
  136. package/metadata/ObjectGrid.component.yml +72 -0
  137. package/package.json +23 -11
  138. package/postcss.config.js +9 -1
  139. package/shadcn-components.json +310 -0
  140. package/src/__tests__/README.md +124 -0
  141. package/src/__tests__/basic-renderers.test.tsx +255 -0
  142. package/src/__tests__/complex-disclosure-renderers.test.tsx +301 -0
  143. package/src/__tests__/feedback-overlay-renderers.test.tsx +349 -0
  144. package/src/__tests__/form-renderers.test.tsx +364 -0
  145. package/src/__tests__/layout-data-renderers.test.tsx +340 -0
  146. package/src/__tests__/test-utils.tsx +190 -0
  147. package/src/hooks/use-mobile.tsx +8 -0
  148. package/src/index.css +86 -54
  149. package/src/index.test.ts +8 -0
  150. package/src/index.ts +21 -1
  151. package/src/lib/utils.tsx +8 -0
  152. package/src/new-components.test.ts +8 -9
  153. package/src/renderers/basic/button-group.tsx +78 -0
  154. package/src/renderers/basic/div.tsx +9 -1
  155. package/src/renderers/basic/html.tsx +8 -0
  156. package/src/renderers/basic/icon.tsx +66 -3
  157. package/src/renderers/basic/image.tsx +12 -1
  158. package/src/renderers/basic/index.ts +11 -0
  159. package/src/renderers/basic/navigation-menu.tsx +80 -0
  160. package/src/renderers/basic/pagination.tsx +82 -0
  161. package/src/renderers/basic/separator.tsx +9 -1
  162. package/src/renderers/basic/span.tsx +9 -1
  163. package/src/renderers/basic/text.tsx +8 -0
  164. package/src/renderers/complex/__tests__/data-table.test.ts +8 -0
  165. package/src/renderers/complex/carousel.tsx +11 -3
  166. package/src/renderers/complex/data-table.tsx +19 -4
  167. package/src/renderers/complex/filter-builder.tsx +8 -0
  168. package/src/renderers/complex/index.ts +9 -3
  169. package/src/renderers/complex/resizable.tsx +8 -0
  170. package/src/renderers/complex/scroll-area.tsx +8 -0
  171. package/src/renderers/complex/table.tsx +10 -2
  172. package/src/renderers/data-display/alert.tsx +8 -0
  173. package/src/renderers/data-display/avatar.tsx +8 -0
  174. package/src/renderers/data-display/badge.tsx +8 -0
  175. package/src/renderers/data-display/breadcrumb.tsx +59 -0
  176. package/src/renderers/data-display/index.ts +12 -0
  177. package/src/renderers/data-display/kbd.tsx +49 -0
  178. package/src/renderers/data-display/list.tsx +8 -0
  179. package/src/renderers/data-display/statistic.tsx +24 -43
  180. package/src/renderers/data-display/table.tsx +68 -0
  181. package/src/renderers/data-display/tree-view.tsx +26 -37
  182. package/src/renderers/disclosure/accordion.tsx +8 -0
  183. package/src/renderers/disclosure/collapsible.tsx +8 -0
  184. package/src/renderers/disclosure/index.ts +9 -0
  185. package/src/renderers/disclosure/toggle-group.tsx +77 -0
  186. package/src/renderers/feedback/empty.tsx +48 -0
  187. package/src/renderers/feedback/index.ts +12 -0
  188. package/src/renderers/feedback/loading.tsx +8 -0
  189. package/src/renderers/feedback/progress.tsx +8 -0
  190. package/src/renderers/feedback/skeleton.tsx +8 -0
  191. package/src/renderers/feedback/sonner.tsx +55 -0
  192. package/src/renderers/feedback/spinner.tsx +54 -0
  193. package/src/renderers/feedback/toast.tsx +58 -0
  194. package/src/renderers/feedback/toaster.tsx +13 -17
  195. package/src/renderers/form/button.tsx +8 -0
  196. package/src/renderers/form/calendar.tsx +8 -0
  197. package/src/renderers/form/checkbox.tsx +8 -0
  198. package/src/renderers/form/combobox.tsx +47 -0
  199. package/src/renderers/form/command.tsx +57 -0
  200. package/src/renderers/form/date-picker.tsx +10 -2
  201. package/src/renderers/form/file-upload.tsx +10 -2
  202. package/src/renderers/form/form.tsx +12 -3
  203. package/src/renderers/form/index.ts +10 -0
  204. package/src/renderers/form/input-otp.tsx +34 -15
  205. package/src/renderers/form/input.tsx +89 -50
  206. package/src/renderers/form/label.tsx +8 -0
  207. package/src/renderers/form/radio-group.tsx +8 -0
  208. package/src/renderers/form/select.tsx +8 -0
  209. package/src/renderers/form/slider.tsx +16 -1
  210. package/src/renderers/form/switch.tsx +8 -0
  211. package/src/renderers/form/textarea.tsx +8 -0
  212. package/src/renderers/form/toggle.tsx +8 -0
  213. package/src/renderers/index.ts +8 -0
  214. package/src/renderers/layout/aspect-ratio.tsx +50 -0
  215. package/src/renderers/layout/card.tsx +8 -0
  216. package/src/renderers/layout/container.tsx +20 -12
  217. package/src/renderers/layout/flex.tsx +16 -8
  218. package/src/renderers/layout/grid.tsx +8 -0
  219. package/src/renderers/layout/index.ts +9 -0
  220. package/src/renderers/layout/page.tsx +9 -1
  221. package/src/renderers/layout/semantic.tsx +8 -0
  222. package/src/renderers/layout/stack.tsx +16 -8
  223. package/src/renderers/layout/tabs.tsx +8 -0
  224. package/src/renderers/navigation/header-bar.tsx +9 -1
  225. package/src/renderers/navigation/index.ts +8 -0
  226. package/src/renderers/navigation/sidebar.tsx +8 -0
  227. package/src/renderers/overlay/alert-dialog.tsx +8 -0
  228. package/src/renderers/overlay/context-menu.tsx +9 -1
  229. package/src/renderers/overlay/dialog.tsx +8 -0
  230. package/src/renderers/overlay/drawer.tsx +8 -0
  231. package/src/renderers/overlay/dropdown-menu.tsx +8 -0
  232. package/src/renderers/overlay/hover-card.tsx +8 -0
  233. package/src/renderers/overlay/index.ts +9 -0
  234. package/src/renderers/overlay/menubar.tsx +75 -0
  235. package/src/renderers/overlay/popover.tsx +8 -0
  236. package/src/renderers/overlay/sheet.tsx +8 -0
  237. package/src/renderers/overlay/tooltip.tsx +8 -0
  238. package/src/renderers/placeholders.tsx +107 -0
  239. package/src/ui/accordion.tsx +8 -0
  240. package/src/ui/alert-dialog.tsx +8 -0
  241. package/src/ui/alert.tsx +14 -24
  242. package/src/ui/aspect-ratio.tsx +8 -0
  243. package/src/ui/avatar.tsx +8 -0
  244. package/src/ui/badge.tsx +13 -6
  245. package/src/ui/breadcrumb.tsx +8 -0
  246. package/src/ui/button-group.tsx +8 -0
  247. package/src/ui/button.tsx +38 -36
  248. package/src/ui/calendar.tsx +57 -200
  249. package/src/ui/card.tsx +8 -0
  250. package/src/ui/carousel.tsx +8 -0
  251. package/src/ui/checkbox.tsx +8 -0
  252. package/src/ui/collapsible.tsx +8 -0
  253. package/src/ui/combobox.tsx +104 -0
  254. package/src/ui/command.tsx +8 -0
  255. package/src/ui/context-menu.tsx +8 -0
  256. package/src/ui/date-picker.tsx +61 -0
  257. package/src/ui/dialog.tsx +8 -0
  258. package/src/ui/drawer.tsx +8 -0
  259. package/src/ui/dropdown-menu.tsx +8 -0
  260. package/src/ui/empty.tsx +8 -0
  261. package/src/ui/filter-builder.tsx +8 -0
  262. package/src/ui/form.tsx +8 -0
  263. package/src/ui/hover-card.tsx +8 -0
  264. package/src/ui/index.ts +11 -5
  265. package/src/ui/input-otp.tsx +20 -12
  266. package/src/ui/input.tsx +8 -0
  267. package/src/ui/item.tsx +8 -0
  268. package/src/ui/kbd.tsx +8 -0
  269. package/src/ui/label.tsx +8 -0
  270. package/src/ui/menubar.tsx +8 -0
  271. package/src/ui/navigation-menu.tsx +8 -0
  272. package/src/ui/pagination.tsx +8 -0
  273. package/src/ui/popover.tsx +9 -1
  274. package/src/ui/progress.tsx +11 -15
  275. package/src/ui/radio-group.tsx +8 -0
  276. package/src/ui/resizable.tsx +8 -0
  277. package/src/ui/scroll-area.tsx +9 -1
  278. package/src/ui/select.tsx +17 -9
  279. package/src/ui/separator.tsx +8 -0
  280. package/src/ui/sheet.tsx +8 -0
  281. package/src/ui/sidebar.tsx +34 -15
  282. package/src/ui/skeleton.tsx +8 -0
  283. package/src/ui/slider.tsx +8 -0
  284. package/src/ui/sonner.tsx +12 -20
  285. package/src/ui/spinner.tsx +11 -23
  286. package/src/ui/switch.tsx +8 -0
  287. package/src/ui/table.tsx +102 -97
  288. package/src/ui/tabs.tsx +8 -0
  289. package/src/ui/textarea.tsx +8 -0
  290. package/src/ui/toggle-group.tsx +12 -21
  291. package/src/ui/toggle.tsx +15 -12
  292. package/src/ui/tooltip.tsx +8 -0
  293. package/tsconfig.json +2 -1
  294. package/vite.config.ts +11 -1
  295. package/dist/src/index.test.d.ts +0 -1
  296. package/dist/src/new-components.test.d.ts +0 -1
  297. package/dist/src/renderers/complex/__tests__/data-table.test.d.ts +0 -0
  298. package/dist/src/renderers/complex/calendar-view.d.ts +0 -1
  299. package/dist/src/renderers/complex/chatbot.d.ts +0 -1
  300. package/dist/src/renderers/complex/chatbot.test.d.ts +0 -1
  301. package/dist/src/renderers/complex/timeline.d.ts +0 -1
  302. package/dist/src/ui/calendar-view.d.ts +0 -21
  303. package/dist/src/ui/chatbot.d.ts +0 -36
  304. package/dist/src/ui/field.d.ts +0 -24
  305. package/dist/src/ui/input-group.d.ts +0 -16
  306. package/dist/src/ui/timeline.d.ts +0 -25
  307. package/metadata/ObjectTable.component.yml +0 -41
  308. package/src/renderers/complex/calendar-view.tsx +0 -219
  309. package/src/renderers/complex/chatbot.test.ts +0 -44
  310. package/src/renderers/complex/chatbot.tsx +0 -185
  311. package/src/renderers/complex/timeline.tsx +0 -466
  312. package/src/ui/calendar-view.tsx +0 -503
  313. package/src/ui/chatbot.tsx +0 -240
  314. package/src/ui/field.tsx +0 -246
  315. package/src/ui/input-group.tsx +0 -170
  316. package/src/ui/timeline.tsx +0 -266
  317. package/tailwind.config.js +0 -75
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
  import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog"
3
11
 
package/src/ui/alert.tsx CHANGED
@@ -1,27 +1,24 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
  import { cva, type VariantProps } from "class-variance-authority"
3
11
 
4
12
  import { cn } from "../lib/utils"
5
13
 
6
14
  const alertVariants = cva(
7
- "relative w-full rounded-r-lg border-l-4 px-4 py-4 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current transition-all duration-300 backdrop-blur-md overflow-hidden group/alert",
15
+ "relative w-full rounded-lg border px-4 py-4 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
8
16
  {
9
17
  variants: {
10
18
  variant: {
11
- default: [
12
- "bg-slate-950/80 border-l-cyan-500 border-y border-r border-y-cyan-900/30 border-r-cyan-900/30 text-cyan-100",
13
- "shadow-[0_0_20px_-5px_rgba(6,182,212,0.2)]",
14
- "[&>svg]:text-cyan-400 [&>svg]:drop-shadow-[0_0_8px_rgba(6,182,212,0.6)]",
15
- "hover:shadow-[0_0_30px_-5px_rgba(6,182,212,0.4)] hover:bg-slate-900/90",
16
- "after:absolute after:inset-0 after:bg-linear-to-r after:from-cyan-500/10 after:to-transparent after:opacity-0 after:transition-opacity hover:after:opacity-100 after:pointer-events-none"
17
- ],
18
- destructive: [
19
- "bg-red-950/80 border-l-red-600 border-y border-r border-y-red-900/30 border-r-red-900/30 text-red-100",
20
- "shadow-[0_0_20px_-5px_rgba(239,68,68,0.2)]",
21
- "[&>svg]:text-red-500 [&>svg]:drop-shadow-[0_0_8px_rgba(239,68,68,0.6)]",
22
- "hover:shadow-[0_0_30px_-5px_rgba(239,68,68,0.4)] hover:bg-red-950/90",
23
- "after:absolute after:inset-0 after:bg-linear-to-r after:from-red-500/10 after:to-transparent after:opacity-0 after:transition-opacity hover:after:opacity-100 after:pointer-events-none"
24
- ],
19
+ default: "bg-background text-foreground",
20
+ destructive:
21
+ "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive",
25
22
  },
26
23
  },
27
24
  defaultVariants: {
@@ -49,11 +46,7 @@ function AlertTitle({ className, ...props }: React.ComponentProps<"div">) {
49
46
  return (
50
47
  <div
51
48
  data-slot="alert-title"
52
- className={cn(
53
- "col-start-2 line-clamp-1 min-h-4 font-mono font-bold tracking-widest uppercase text-xs mb-1 drop-shadow-[0_0_2px_currentColor]",
54
- "group-[.destructive]/alert:text-red-400 group-[.default]/alert:text-cyan-400",
55
- className
56
- )}
49
+ className={cn("mb-1 font-medium leading-none tracking-tight", className)}
57
50
  {...props}
58
51
  />
59
52
  )
@@ -66,10 +59,7 @@ function AlertDescription({
66
59
  return (
67
60
  <div
68
61
  data-slot="alert-description"
69
- className={cn(
70
- "col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed font-sans opacity-90",
71
- className
72
- )}
62
+ className={cn("text-sm [&_p]:leading-relaxed", className)}
73
63
  {...props}
74
64
  />
75
65
  )
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  "use client"
2
10
 
3
11
  import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio"
package/src/ui/avatar.tsx CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
  import * as AvatarPrimitive from "@radix-ui/react-avatar"
3
11
 
package/src/ui/badge.tsx CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
  import { Slot } from "@radix-ui/react-slot"
3
11
  import { cva, type VariantProps } from "class-variance-authority"
@@ -5,18 +13,17 @@ import { cva, type VariantProps } from "class-variance-authority"
5
13
  import { cn } from "../lib/utils"
6
14
 
7
15
  const badgeVariants = cva(
8
- "inline-flex items-center justify-center rounded-sm border px-2.5 py-0.5 text-[10px] font-mono font-bold uppercase tracking-widest w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1.5 [&>svg]:pointer-events-none focus-visible:border-cyan-500 focus-visible:ring-cyan-500/50 focus-visible:ring-[1px] transition-all duration-300 overflow-hidden backdrop-blur-sm select-none",
16
+ "inline-flex items-center justify-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
9
17
  {
10
18
  variants: {
11
19
  variant: {
12
20
  default:
13
- "border-cyan-500/50 bg-cyan-950/40 text-cyan-300 shadow-[0_0_10px_-4px_rgba(6,182,212,0.6)] [a&]:hover:bg-cyan-900/60 [a&]:hover:shadow-[0_0_15px_-2px_rgba(6,182,212,0.8)] [a&]:hover:border-cyan-400",
21
+ "border-transparent bg-primary text-primary-foreground hover:bg-primary/80",
14
22
  secondary:
15
- "border-slate-700 bg-slate-800/60 text-slate-300 shadow-sm [a&]:hover:bg-slate-700/80 [a&]:hover:text-slate-200",
23
+ "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
16
24
  destructive:
17
- "border-red-500/40 bg-red-950/40 text-red-400 shadow-[0_0_10px_-4px_rgba(239,68,68,0.6)] [a&]:hover:bg-red-900/60 [a&]:hover:border-red-400 [a&]:hover:shadow-[0_0_15px_-2px_rgba(239,68,68,0.8)]",
18
- outline:
19
- "text-cyan-400 border-cyan-800 bg-transparent shadow-[inset_0_0_5px_rgba(6,182,212,0.1)] [a&]:hover:bg-cyan-950/30 [a&]:hover:border-cyan-500 [a&]:hover:text-cyan-200 [a&]:hover:shadow-[0_0_10px_-5px_cyan]",
25
+ "border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",
26
+ outline: "text-foreground",
20
27
  },
21
28
  },
22
29
  defaultVariants: {
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
  import { Slot } from "@radix-ui/react-slot"
3
11
  import { ChevronRight, MoreHorizontal } from "lucide-react"
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import { Slot } from "@radix-ui/react-slot"
2
10
  import { cva, type VariantProps } from "class-variance-authority"
3
11
 
package/src/ui/button.tsx CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
  import { Slot } from "@radix-ui/react-slot"
3
11
  import { cva, type VariantProps } from "class-variance-authority"
@@ -5,29 +13,28 @@ import { cva, type VariantProps } from "class-variance-authority"
5
13
  import { cn } from "../lib/utils"
6
14
 
7
15
  const buttonVariants = cva(
8
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-sm text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:ring-1 focus-visible:ring-cyan-400/50 tracking-wide",
16
+ "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
9
17
  {
10
18
  variants: {
11
19
  variant: {
12
20
  default:
13
- "bg-cyan-950/80 text-cyan-50 border border-cyan-500/50 shadow-[0_0_10px_-3px_rgba(6,182,212,0.3)] hover:bg-cyan-900 hover:border-cyan-400 hover:shadow-[0_0_15px_rgba(6,182,212,0.5)] active:scale-95",
21
+ "bg-primary text-primary-foreground shadow hover:bg-primary/90",
14
22
  destructive:
15
- "bg-red-950/80 text-red-50 border border-red-500/50 hover:bg-red-900 hover:border-red-400 hover:shadow-[0_0_15px_rgba(239,68,68,0.5)]",
23
+ "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
16
24
  outline:
17
- "border border-cyan-800 bg-background/50 hover:bg-cyan-950/30 hover:border-cyan-500/50 hover:text-cyan-100 text-muted-foreground",
25
+ "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",
18
26
  secondary:
19
- "bg-slate-800/80 text-secondary-foreground hover:bg-slate-700/80 border border-slate-700",
20
- ghost:
21
- "hover:bg-cyan-950/20 hover:text-cyan-400 data-[state=open]:bg-cyan-950/20 data-[state=open]:text-cyan-400",
22
- link: "text-cyan-400 underline-offset-4 hover:underline hover:text-cyan-300",
27
+ "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",
28
+ ghost: "hover:bg-accent hover:text-accent-foreground",
29
+ link: "text-primary underline-offset-4 hover:underline",
23
30
  },
24
31
  size: {
25
- default: "h-9 px-4 py-2 has-[>svg]:px-3",
26
- sm: "h-8 rounded-sm gap-1.5 px-3 has-[>svg]:px-2.5 text-xs",
27
- lg: "h-10 rounded-sm px-6 has-[>svg]:px-4",
28
- icon: "size-9 rounded-sm",
29
- "icon-sm": "size-8 rounded-sm",
30
- "icon-lg": "size-10 rounded-sm",
32
+ default: "h-9 px-4 py-2",
33
+ sm: "h-8 rounded-md px-3 text-xs",
34
+ lg: "h-10 rounded-md px-8",
35
+ icon: "h-9 w-9",
36
+ "icon-sm": "h-8 w-8",
37
+ "icon-lg": "h-10 w-10",
31
38
  },
32
39
  },
33
40
  defaultVariants: {
@@ -37,29 +44,24 @@ const buttonVariants = cva(
37
44
  }
38
45
  )
39
46
 
40
- const Button = React.forwardRef<HTMLButtonElement, React.ComponentProps<"button"> &
41
- VariantProps<typeof buttonVariants> & {
42
- asChild?: boolean
43
- }>(({
44
- className,
45
- variant = "default",
46
- size = "default",
47
- asChild = false,
48
- ...props
49
- }, ref) => {
50
- const Comp = asChild ? Slot : "button"
47
+ export interface ButtonProps
48
+ extends React.ButtonHTMLAttributes<HTMLButtonElement>,
49
+ VariantProps<typeof buttonVariants> {
50
+ asChild?: boolean
51
+ }
51
52
 
52
- return (
53
- <Comp
54
- ref={ref}
55
- data-slot="button"
56
- data-variant={variant}
57
- data-size={size}
58
- className={cn(buttonVariants({ variant, size, className }))}
59
- {...props}
60
- />
61
- )
62
- })
53
+ const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
54
+ ({ className, variant, size, asChild = false, ...props }, ref) => {
55
+ const Comp = asChild ? Slot : "button"
56
+ return (
57
+ <Comp
58
+ className={cn(buttonVariants({ variant, size, className }))}
59
+ ref={ref}
60
+ {...props}
61
+ />
62
+ )
63
+ }
64
+ )
63
65
  Button.displayName = "Button"
64
66
 
65
67
  export { Button, buttonVariants }
@@ -1,237 +1,94 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  "use client"
2
10
 
3
11
  import * as React from "react"
4
- import {
5
- ChevronDownIcon,
6
- ChevronLeftIcon,
7
- ChevronRightIcon,
8
- } from "lucide-react"
9
- import {
10
- DayPicker,
11
- getDefaultClassNames,
12
- type DayButton,
13
- } from "react-day-picker"
12
+ import { ChevronDownIcon, ChevronLeftIcon, ChevronRightIcon } from "lucide-react"
13
+ import { DayPicker, getDefaultClassNames } from "react-day-picker"
14
14
 
15
15
  import { cn } from "../lib/utils"
16
- import { Button, buttonVariants } from "./button"
16
+ import { buttonVariants } from "../ui/button"
17
+
18
+ export type CalendarProps = React.ComponentProps<typeof DayPicker>
17
19
 
18
20
  function Calendar({
19
21
  className,
20
22
  classNames,
21
23
  showOutsideDays = true,
22
- captionLayout = "label",
23
- buttonVariant = "ghost",
24
- formatters,
25
- components,
26
24
  ...props
27
- }: React.ComponentProps<typeof DayPicker> & {
28
- buttonVariant?: React.ComponentProps<typeof Button>["variant"]
29
- }) {
25
+ }: CalendarProps) {
30
26
  const defaultClassNames = getDefaultClassNames()
31
27
 
32
28
  return (
33
29
  <DayPicker
34
30
  showOutsideDays={showOutsideDays}
35
- className={cn(
36
- "bg-[#0a0a0b] bg-[radial-gradient(ellipse_at_top,_var(--tw-gradient-stops))] from-violet-900/20 via-slate-950/80 to-black backdrop-blur-3xl border border-violet-500/20 shadow-[0_0_50px_-12px_rgba(124,58,237,0.25)] rounded-xl group/calendar p-4 [--cell-size:--spacing(9)]",
37
- "before:absolute before:inset-0 before:rounded-xl before:bg-[url('https://grainy-gradients.vercel.app/noise.svg')] before:opacity-10 before:pointer-events-none",
38
- String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,
39
- String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,
40
- className
41
- )}
42
- captionLayout={captionLayout}
43
- formatters={{
44
- formatMonthDropdown: (date) =>
45
- date.toLocaleString("default", { month: "short" }),
46
- ...formatters,
47
- }}
31
+ className={cn("p-3", className)}
48
32
  classNames={{
49
- root: cn("w-fit relative overflow-hidden", defaultClassNames.root),
50
- months: cn(
51
- "flex gap-4 flex-col md:flex-row relative z-10",
52
- defaultClassNames.months
53
- ),
54
- month: cn("flex flex-col w-full gap-4", defaultClassNames.month),
55
- nav: cn(
56
- "flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between px-1",
57
- defaultClassNames.nav
58
- ),
33
+ root: cn("w-fit relative", defaultClassNames.root),
34
+ months: cn("flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0", defaultClassNames.months),
35
+ month: cn("space-y-4", defaultClassNames.month),
36
+ month_caption: "flex justify-center pt-1 relative items-center",
37
+ caption_label: "text-sm font-medium",
38
+ nav: "space-x-1 flex items-center absolute right-1", // Adjust as needed
39
+
40
+ // Navigation Buttons
59
41
  button_previous: cn(
60
- buttonVariants({ variant: "outline", size: "icon-sm" }),
61
- "z-20 bg-slate-900/80 border-violet-800/50 text-violet-400 hover:bg-violet-900/40 hover:text-violet-100 hover:border-violet-500 hover:shadow-[0_0_15px_rgba(139,92,246,0.5)] transition-all duration-300 rounded-full",
62
- defaultClassNames.button_previous
42
+ buttonVariants({ variant: "outline" }),
43
+ "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 absolute left-1 top-1 z-10"
63
44
  ),
64
45
  button_next: cn(
65
- buttonVariants({ variant: "outline", size: "icon-sm" }),
66
- "z-20 bg-slate-900/80 border-violet-800/50 text-violet-400 hover:bg-violet-900/40 hover:text-violet-100 hover:border-violet-500 hover:shadow-[0_0_15px_rgba(139,92,246,0.5)] transition-all duration-300 rounded-full",
67
- defaultClassNames.button_next
68
- ),
69
- month_caption: cn(
70
- "flex items-center justify-center h-(--cell-size) w-full px-(--cell-size) text-transparent bg-clip-text bg-linear-to-r from-violet-200 via-cyan-200 to-violet-200 font-bold tracking-[0.2em] relative uppercase text-lg",
71
- defaultClassNames.month_caption
72
- ),
73
- dropdowns: cn(
74
- "w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",
75
- defaultClassNames.dropdowns
76
- ),
77
- dropdown_root: cn(
78
- "relative has-focus:border-violet-500 border border-violet-900/50 shadow-xs has-focus:ring-violet-500/30 has-focus:ring-[2px] rounded-md bg-slate-950 text-violet-200",
79
- defaultClassNames.dropdown_root
80
- ),
81
- dropdown: cn(
82
- "absolute bg-slate-950 inset-0 opacity-0",
83
- defaultClassNames.dropdown
84
- ),
85
- caption_label: cn(
86
- "select-none font-medium",
87
- captionLayout === "label"
88
- ? "text-sm"
89
- : "rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5",
90
- defaultClassNames.caption_label
91
- ),
92
- table: "w-full border-collapse",
93
- weekdays: cn("flex my-2", defaultClassNames.weekdays),
94
- weekday: cn(
95
- "text-violet-500/70 rounded-md flex-1 font-mono text-[0.65rem] uppercase tracking-widest select-none pb-2",
96
- defaultClassNames.weekday
46
+ buttonVariants({ variant: "outline" }),
47
+ "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 absolute right-1 top-1 z-10"
97
48
  ),
98
- week: cn("flex w-full mt-1", defaultClassNames.week),
99
- week_number_header: cn(
100
- "select-none w-(--cell-size)",
101
- defaultClassNames.week_number_header
102
- ),
103
- week_number: cn(
104
- "text-[0.8rem] select-none text-muted-foreground",
105
- defaultClassNames.week_number
106
- ),
107
- day: cn(
108
- "relative w-full h-full p-0 text-center group/day aspect-square select-none",
109
- defaultClassNames.day
110
- ),
111
- range_start: cn(
112
- "rounded-l-full bg-violet-900/20",
113
- defaultClassNames.range_start
114
- ),
115
- range_middle: cn("rounded-none bg-violet-900/10", defaultClassNames.range_middle),
116
- range_end: cn("rounded-r-full bg-violet-900/20", defaultClassNames.range_end),
117
- today: cn(
118
- "text-cyan-400 font-bold", // Styling handled in DayButton mostly
119
- defaultClassNames.today
120
- ),
121
- outside: cn(
122
- "text-slate-800 opacity-30 aria-selected:text-slate-800",
123
- defaultClassNames.outside
124
- ),
125
- disabled: cn(
126
- "text-slate-800 opacity-20",
127
- defaultClassNames.disabled
49
+
50
+ // Grid
51
+ month_grid: "w-full border-collapse space-y-1",
52
+ weekdays: "flex",
53
+ weekday: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
54
+
55
+ week: "flex w-full mt-2",
56
+
57
+ // Day Cell (td)
58
+ day: "h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20",
59
+
60
+ // Day Button
61
+ day_button: cn(
62
+ buttonVariants({ variant: "ghost" }),
63
+ "h-9 w-9 p-0 font-normal aria-selected:opacity-100"
128
64
  ),
129
- hidden: cn("invisible", defaultClassNames.hidden),
65
+
66
+ // States
67
+ range_end: "day-range-end",
68
+ selected: "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground",
69
+ today: "bg-accent text-accent-foreground",
70
+ outside: "day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30",
71
+ disabled: "text-muted-foreground opacity-50",
72
+ range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground",
73
+ hidden: "invisible",
74
+
130
75
  ...classNames,
131
76
  }}
132
77
  components={{
133
- Root: ({ className, rootRef, ...props }) => {
134
- return (
135
- <div
136
- data-slot="calendar"
137
- ref={rootRef}
138
- className={cn(className)}
139
- {...props}
140
- />
141
- )
142
- },
143
78
  Chevron: ({ className, orientation, ...props }) => {
144
79
  if (orientation === "left") {
145
- return (
146
- <ChevronLeftIcon className={cn("size-4", className)} {...props} />
147
- )
80
+ return <ChevronLeftIcon className={cn("h-4 w-4", className)} {...props} />
148
81
  }
149
-
150
82
  if (orientation === "right") {
151
- return (
152
- <ChevronRightIcon
153
- className={cn("size-4", className)}
154
- {...props}
155
- />
156
- )
83
+ return <ChevronRightIcon className={cn("h-4 w-4", className)} {...props} />
157
84
  }
158
-
159
- return (
160
- <ChevronDownIcon className={cn("size-4", className)} {...props} />
161
- )
85
+ return <ChevronDownIcon className={cn("h-4 w-4", className)} {...props} />
162
86
  },
163
- DayButton: CalendarDayButton,
164
- WeekNumber: ({ children, ...props }) => {
165
- return (
166
- <td {...props}>
167
- <div className="flex size-(--cell-size) items-center justify-center text-center">
168
- {children}
169
- </div>
170
- </td>
171
- )
172
- },
173
- ...components,
174
87
  }}
175
88
  {...props}
176
89
  />
177
90
  )
178
91
  }
92
+ Calendar.displayName = "Calendar"
179
93
 
180
- function CalendarDayButton({
181
- className,
182
- day,
183
- modifiers,
184
- ...props
185
- }: React.ComponentProps<typeof DayButton>) {
186
- const defaultClassNames = getDefaultClassNames()
187
-
188
- const ref = React.useRef<HTMLButtonElement>(null)
189
- React.useEffect(() => {
190
- if (modifiers.focused) ref.current?.focus()
191
- }, [modifiers.focused])
192
-
193
- return (
194
- <Button
195
- ref={ref}
196
- variant="ghost"
197
- size="icon"
198
- data-day={day.date.toLocaleDateString()}
199
- data-selected-single={
200
- modifiers.selected &&
201
- !modifiers.range_start &&
202
- !modifiers.range_end &&
203
- !modifiers.range_middle
204
- }
205
- data-range-start={modifiers.range_start}
206
- data-range-end={modifiers.range_end}
207
- data-range-middle={modifiers.range_middle}
208
- className={cn(
209
- "data-[selected-single=true]:bg-violet-600 data-[selected-single=true]:text-white data-[selected-single=true]:shadow-[0_0_20px_rgba(124,58,237,0.8)] data-[selected-single=true]:border-violet-400 data-[selected-single=true]:scale-110 data-[selected-single=true]:z-10",
210
-
211
- "data-[range-middle=true]:bg-transparent data-[range-middle=true]:text-violet-200",
212
-
213
- "data-[range-start=true]:bg-violet-600 data-[range-start=true]:text-white data-[range-start=true]:shadow-[0_0_15px_rgba(124,58,237,0.5)] data-[range-start=true]:z-10",
214
-
215
- "data-[range-end=true]:bg-violet-600 data-[range-end=true]:text-white data-[range-end=true]:shadow-[0_0_15px_rgba(124,58,237,0.5)] data-[range-end=true]:z-10",
216
-
217
- // Today state (Current Timeline)
218
- "data-[today=true]:border data-[today=true]:border-cyan-500/50 data-[today=true]:text-cyan-300 data-[today=true]:shadow-[0_0_10px_rgba(6,182,212,0.3)]",
219
-
220
- // Base hover & focus
221
- "group-data-[focused=true]/day:border-violet-400 group-data-[focused=true]/day:ring-violet-500/50",
222
- "hover:bg-violet-900/30 hover:text-white hover:scale-125 hover:z-20 hover:shadow-[0_0_15px_rgba(139,92,246,0.5)] transition-all duration-300",
223
-
224
- "bg-transparent flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal rounded-full",
225
-
226
- "group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[2px]",
227
-
228
- "text-violet-300/80 [&>span]:text-xs [&>span]:opacity-70",
229
- defaultClassNames.day,
230
- className
231
- )}
232
- {...props}
233
- />
234
- )
235
- }
236
-
237
- export { Calendar, CalendarDayButton }
94
+ export { Calendar }
package/src/ui/card.tsx CHANGED
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
 
3
11
  import { cn } from "../lib/utils"
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as React from "react"
2
10
  import useEmblaCarousel, {
3
11
  type UseEmblaCarouselType,
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  "use client"
2
10
 
3
11
  import * as React from "react"
@@ -1,3 +1,11 @@
1
+ /**
2
+ * ObjectUI
3
+ * Copyright (c) 2024-present ObjectStack Inc.
4
+ *
5
+ * This source code is licensed under the MIT license found in the
6
+ * LICENSE file in the root directory of this source tree.
7
+ */
8
+
1
9
  import * as CollapsiblePrimitive from "@radix-ui/react-collapsible"
2
10
 
3
11
  function Collapsible({