@object-ui/components 3.3.0 → 3.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 (321) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +21 -1
  3. package/dist/index.css +6339 -2
  4. package/dist/index.js +17600 -17481
  5. package/dist/index.umd.cjs +36 -36
  6. package/dist/packages/components/src/custom/empty.d.ts +12 -1
  7. package/dist/packages/components/src/renderers/action/action-bar.d.ts +12 -1
  8. package/dist/packages/components/src/ui/chart.d.ts +10 -29
  9. package/package.json +65 -44
  10. package/.turbo/turbo-build.log +0 -84
  11. package/README_SHADCN_SYNC.md +0 -281
  12. package/TESTING.md +0 -335
  13. package/docs/FilterBuilder.md +0 -268
  14. package/metadata/Chart.component.yml +0 -30
  15. package/metadata/FilterBuilder.component.yml +0 -39
  16. package/metadata/GridLayout.component.yml +0 -27
  17. package/metadata/Menu.component.yml +0 -31
  18. package/metadata/ObjectForm.component.yml +0 -34
  19. package/metadata/ObjectGrid.component.yml +0 -72
  20. package/metadata/Page.component.yml +0 -24
  21. package/postcss.config.js +0 -14
  22. package/shadcn-components.json +0 -440
  23. package/src/SchemaRenderer.tsx +0 -28
  24. package/src/__tests__/PageRendererRegions.test.tsx +0 -668
  25. package/src/__tests__/README.md +0 -124
  26. package/src/__tests__/__snapshots__/snapshot-critical.test.tsx.snap +0 -811
  27. package/src/__tests__/__snapshots__/snapshot.test.tsx.snap +0 -327
  28. package/src/__tests__/accessibility.test.tsx +0 -137
  29. package/src/__tests__/action-bar.test.tsx +0 -206
  30. package/src/__tests__/api-consistency.test.tsx +0 -596
  31. package/src/__tests__/basic-renderers.test.tsx +0 -255
  32. package/src/__tests__/color-contrast.test.tsx +0 -212
  33. package/src/__tests__/complex-disclosure-renderers.test.tsx +0 -302
  34. package/src/__tests__/compliance.test.tsx +0 -72
  35. package/src/__tests__/config-field-renderer.test.tsx +0 -307
  36. package/src/__tests__/config-panel-renderer.test.tsx +0 -580
  37. package/src/__tests__/config-primitives.test.tsx +0 -106
  38. package/src/__tests__/edge-cases.test.tsx +0 -285
  39. package/src/__tests__/feedback-overlay-renderers.test.tsx +0 -349
  40. package/src/__tests__/filter-builder.test.tsx +0 -409
  41. package/src/__tests__/form-renderers.test.tsx +0 -364
  42. package/src/__tests__/layout-data-renderers.test.tsx +0 -340
  43. package/src/__tests__/mobile-accessibility.test.tsx +0 -120
  44. package/src/__tests__/navigation-overlay.test.tsx +0 -370
  45. package/src/__tests__/snapshot-critical.test.tsx +0 -317
  46. package/src/__tests__/snapshot.test.tsx +0 -205
  47. package/src/__tests__/test-utils.tsx +0 -190
  48. package/src/__tests__/use-config-draft.test.tsx +0 -295
  49. package/src/__tests__/view-compliance.test.tsx +0 -153
  50. package/src/__tests__/wcag-audit.test.tsx +0 -493
  51. package/src/custom/action-param-dialog.tsx +0 -264
  52. package/src/custom/button-group.tsx +0 -91
  53. package/src/custom/combobox.tsx +0 -104
  54. package/src/custom/config-field-renderer.tsx +0 -276
  55. package/src/custom/config-panel-renderer.tsx +0 -306
  56. package/src/custom/config-row.tsx +0 -50
  57. package/src/custom/date-picker.tsx +0 -61
  58. package/src/custom/empty.tsx +0 -112
  59. package/src/custom/field.tsx +0 -81
  60. package/src/custom/filter-builder.tsx +0 -418
  61. package/src/custom/index.ts +0 -21
  62. package/src/custom/input-group.tsx +0 -53
  63. package/src/custom/item.tsx +0 -201
  64. package/src/custom/kbd.tsx +0 -36
  65. package/src/custom/mobile-dialog-content.tsx +0 -67
  66. package/src/custom/native-select.tsx +0 -33
  67. package/src/custom/navigation-overlay.tsx +0 -334
  68. package/src/custom/section-header.tsx +0 -68
  69. package/src/custom/sort-builder.tsx +0 -129
  70. package/src/custom/spinner.tsx +0 -26
  71. package/src/custom/view-skeleton.tsx +0 -243
  72. package/src/custom/view-states.tsx +0 -153
  73. package/src/debug/DebugPanel.tsx +0 -313
  74. package/src/debug/__tests__/DebugPanel.test.tsx +0 -134
  75. package/src/debug/index.ts +0 -10
  76. package/src/hooks/use-config-draft.ts +0 -127
  77. package/src/hooks/use-mobile.tsx +0 -27
  78. package/src/index.css +0 -245
  79. package/src/index.ts +0 -47
  80. package/src/lib/use-sync-external-store-shim.ts +0 -10
  81. package/src/lib/use-sync-external-store-with-selector-shim.ts +0 -90
  82. package/src/lib/utils.tsx +0 -35
  83. package/src/new-components.test.ts +0 -73
  84. package/src/renderers/action/action-bar.tsx +0 -221
  85. package/src/renderers/action/action-button.tsx +0 -158
  86. package/src/renderers/action/action-group.tsx +0 -270
  87. package/src/renderers/action/action-icon.tsx +0 -150
  88. package/src/renderers/action/action-menu.tsx +0 -203
  89. package/src/renderers/action/index.ts +0 -19
  90. package/src/renderers/action/resolve-icon.ts +0 -35
  91. package/src/renderers/basic/button-group.tsx +0 -79
  92. package/src/renderers/basic/div.tsx +0 -60
  93. package/src/renderers/basic/html.tsx +0 -43
  94. package/src/renderers/basic/icon.tsx +0 -89
  95. package/src/renderers/basic/image.tsx +0 -49
  96. package/src/renderers/basic/index.ts +0 -18
  97. package/src/renderers/basic/navigation-menu.tsx +0 -81
  98. package/src/renderers/basic/pagination.tsx +0 -109
  99. package/src/renderers/basic/separator.tsx +0 -57
  100. package/src/renderers/basic/span.tsx +0 -63
  101. package/src/renderers/basic/text.tsx +0 -52
  102. package/src/renderers/complex/README-KANBAN.md +0 -208
  103. package/src/renderers/complex/TIMELINE.md +0 -353
  104. package/src/renderers/complex/__tests__/data-table-airtable-ux.test.tsx +0 -239
  105. package/src/renderers/complex/__tests__/data-table-batch-editing.test.tsx +0 -275
  106. package/src/renderers/complex/__tests__/data-table-cell-renderer.test.tsx +0 -120
  107. package/src/renderers/complex/__tests__/data-table-editing.test.tsx +0 -221
  108. package/src/renderers/complex/__tests__/data-table.test.ts +0 -76
  109. package/src/renderers/complex/carousel.tsx +0 -69
  110. package/src/renderers/complex/data-table.tsx +0 -1243
  111. package/src/renderers/complex/filter-builder.tsx +0 -77
  112. package/src/renderers/complex/index.ts +0 -16
  113. package/src/renderers/complex/resizable.tsx +0 -66
  114. package/src/renderers/complex/scroll-area.tsx +0 -58
  115. package/src/renderers/complex/table.tsx +0 -95
  116. package/src/renderers/data-display/alert.tsx +0 -46
  117. package/src/renderers/data-display/avatar.tsx +0 -38
  118. package/src/renderers/data-display/badge.tsx +0 -55
  119. package/src/renderers/data-display/breadcrumb.tsx +0 -61
  120. package/src/renderers/data-display/index.ts +0 -18
  121. package/src/renderers/data-display/kbd.tsx +0 -50
  122. package/src/renderers/data-display/list.tsx +0 -75
  123. package/src/renderers/data-display/statistic.tsx +0 -95
  124. package/src/renderers/data-display/table.tsx +0 -78
  125. package/src/renderers/data-display/tree-view.tsx +0 -176
  126. package/src/renderers/disclosure/accordion.tsx +0 -69
  127. package/src/renderers/disclosure/collapsible.tsx +0 -53
  128. package/src/renderers/disclosure/index.ts +0 -11
  129. package/src/renderers/disclosure/toggle-group.tsx +0 -79
  130. package/src/renderers/feedback/empty.tsx +0 -49
  131. package/src/renderers/feedback/index.ts +0 -16
  132. package/src/renderers/feedback/loading.tsx +0 -78
  133. package/src/renderers/feedback/progress.tsx +0 -29
  134. package/src/renderers/feedback/skeleton.tsx +0 -31
  135. package/src/renderers/feedback/sonner.tsx +0 -56
  136. package/src/renderers/feedback/spinner.tsx +0 -55
  137. package/src/renderers/feedback/toast.tsx +0 -59
  138. package/src/renderers/feedback/toaster.tsx +0 -23
  139. package/src/renderers/form/button.tsx +0 -103
  140. package/src/renderers/form/calendar.tsx +0 -34
  141. package/src/renderers/form/checkbox.tsx +0 -71
  142. package/src/renderers/form/combobox.tsx +0 -48
  143. package/src/renderers/form/command.tsx +0 -58
  144. package/src/renderers/form/date-picker.tsx +0 -84
  145. package/src/renderers/form/file-upload.tsx +0 -184
  146. package/src/renderers/form/form.tsx +0 -540
  147. package/src/renderers/form/index.ts +0 -26
  148. package/src/renderers/form/input-otp.tsx +0 -51
  149. package/src/renderers/form/input.tsx +0 -121
  150. package/src/renderers/form/label.tsx +0 -45
  151. package/src/renderers/form/radio-group.tsx +0 -63
  152. package/src/renderers/form/select.tsx +0 -94
  153. package/src/renderers/form/slider.tsx +0 -61
  154. package/src/renderers/form/switch.tsx +0 -48
  155. package/src/renderers/form/textarea.tsx +0 -76
  156. package/src/renderers/form/toggle.tsx +0 -42
  157. package/src/renderers/index.ts +0 -18
  158. package/src/renderers/layout/aspect-ratio.tsx +0 -51
  159. package/src/renderers/layout/card.tsx +0 -85
  160. package/src/renderers/layout/container.tsx +0 -122
  161. package/src/renderers/layout/flex.tsx +0 -132
  162. package/src/renderers/layout/grid.tsx +0 -178
  163. package/src/renderers/layout/index.ts +0 -19
  164. package/src/renderers/layout/page.tsx +0 -466
  165. package/src/renderers/layout/semantic.tsx +0 -48
  166. package/src/renderers/layout/stack.tsx +0 -132
  167. package/src/renderers/layout/tabs.tsx +0 -97
  168. package/src/renderers/navigation/header-bar.tsx +0 -118
  169. package/src/renderers/navigation/index.ts +0 -10
  170. package/src/renderers/navigation/sidebar.tsx +0 -208
  171. package/src/renderers/overlay/alert-dialog.tsx +0 -72
  172. package/src/renderers/overlay/context-menu.tsx +0 -100
  173. package/src/renderers/overlay/dialog.tsx +0 -77
  174. package/src/renderers/overlay/drawer.tsx +0 -77
  175. package/src/renderers/overlay/dropdown-menu.tsx +0 -99
  176. package/src/renderers/overlay/hover-card.tsx +0 -55
  177. package/src/renderers/overlay/index.ts +0 -18
  178. package/src/renderers/overlay/menubar.tsx +0 -76
  179. package/src/renderers/overlay/popover.tsx +0 -56
  180. package/src/renderers/overlay/sheet.tsx +0 -77
  181. package/src/renderers/overlay/tooltip.tsx +0 -67
  182. package/src/renderers/placeholders.tsx +0 -107
  183. package/src/stories/CRMApp.stories.tsx +0 -706
  184. package/src/stories/ConfigPanel.stories.tsx +0 -232
  185. package/src/stories/Guide.mdx +0 -55
  186. package/src/stories/MockedData.stories.tsx +0 -121
  187. package/src/stories/assets/accessibility.png +0 -0
  188. package/src/stories/assets/accessibility.svg +0 -1
  189. package/src/stories/assets/addon-library.png +0 -0
  190. package/src/stories/assets/assets.png +0 -0
  191. package/src/stories/assets/avif-test-image.avif +0 -0
  192. package/src/stories/assets/context.png +0 -0
  193. package/src/stories/assets/discord.svg +0 -1
  194. package/src/stories/assets/docs.png +0 -0
  195. package/src/stories/assets/figma-plugin.png +0 -0
  196. package/src/stories/assets/github.svg +0 -1
  197. package/src/stories/assets/share.png +0 -0
  198. package/src/stories/assets/styling.png +0 -0
  199. package/src/stories/assets/testing.png +0 -0
  200. package/src/stories/assets/theming.png +0 -0
  201. package/src/stories/assets/tutorials.svg +0 -1
  202. package/src/stories/assets/youtube.svg +0 -1
  203. package/src/stories/button.css +0 -30
  204. package/src/stories/header.css +0 -32
  205. package/src/stories/page.css +0 -68
  206. package/src/stories-json/Accessibility.mdx +0 -297
  207. package/src/stories-json/EdgeCases.stories.tsx +0 -160
  208. package/src/stories-json/GettingStarted.mdx +0 -89
  209. package/src/stories-json/Introduction.mdx +0 -127
  210. package/src/stories-json/accordion.stories.tsx +0 -43
  211. package/src/stories-json/aggrid.stories.tsx +0 -103
  212. package/src/stories-json/alert.stories.tsx +0 -39
  213. package/src/stories-json/aspect-ratio.stories.tsx +0 -34
  214. package/src/stories-json/avatar.stories.tsx +0 -38
  215. package/src/stories-json/badge.stories.tsx +0 -53
  216. package/src/stories-json/breadcrumb.stories.tsx +0 -30
  217. package/src/stories-json/button-group.stories.tsx +0 -43
  218. package/src/stories-json/button.stories.tsx +0 -73
  219. package/src/stories-json/calendar.stories.tsx +0 -85
  220. package/src/stories-json/card.stories.tsx +0 -48
  221. package/src/stories-json/carousel.stories.tsx +0 -33
  222. package/src/stories-json/charts.stories.tsx +0 -195
  223. package/src/stories-json/chatbot.stories.tsx +0 -349
  224. package/src/stories-json/code-editor.stories.tsx +0 -92
  225. package/src/stories-json/collapsible.stories.tsx +0 -40
  226. package/src/stories-json/controls.stories.tsx +0 -36
  227. package/src/stories-json/crm-live-data.stories.tsx +0 -154
  228. package/src/stories-json/dashboard.stories.tsx +0 -318
  229. package/src/stories-json/data-table.stories.tsx +0 -136
  230. package/src/stories-json/data_display_extras.stories.tsx +0 -102
  231. package/src/stories-json/date-picker.stories.tsx +0 -28
  232. package/src/stories-json/detail-view.stories.tsx +0 -258
  233. package/src/stories-json/dialog.stories.tsx +0 -43
  234. package/src/stories-json/feedback_extras.stories.tsx +0 -40
  235. package/src/stories-json/feedback_others.stories.tsx +0 -46
  236. package/src/stories-json/form-variants.stories.tsx +0 -210
  237. package/src/stories-json/form_advanced.stories.tsx +0 -117
  238. package/src/stories-json/form_extras.stories.tsx +0 -123
  239. package/src/stories-json/grid.stories.tsx +0 -56
  240. package/src/stories-json/icon.stories.tsx +0 -36
  241. package/src/stories-json/input.stories.tsx +0 -52
  242. package/src/stories-json/kanban.stories.tsx +0 -295
  243. package/src/stories-json/layout_extended.stories.tsx +0 -76
  244. package/src/stories-json/layout_flex.stories.tsx +0 -107
  245. package/src/stories-json/list-view.stories.tsx +0 -97
  246. package/src/stories-json/markdown.stories.tsx +0 -129
  247. package/src/stories-json/menus.stories.tsx +0 -63
  248. package/src/stories-json/metric-card.stories.tsx +0 -143
  249. package/src/stories-json/navigation-menu.stories.tsx +0 -37
  250. package/src/stories-json/object-aggrid-advanced.stories.tsx +0 -389
  251. package/src/stories-json/object-aggrid.stories.tsx +0 -252
  252. package/src/stories-json/object-form.stories.tsx +0 -130
  253. package/src/stories-json/object-gantt.stories.tsx +0 -114
  254. package/src/stories-json/object-grid.stories.tsx +0 -315
  255. package/src/stories-json/object-map.stories.tsx +0 -116
  256. package/src/stories-json/object-view.stories.tsx +0 -118
  257. package/src/stories-json/overlay_extras.stories.tsx +0 -113
  258. package/src/stories-json/overlay_others.stories.tsx +0 -76
  259. package/src/stories-json/page.stories.tsx +0 -55
  260. package/src/stories-json/reports.stories.tsx +0 -163
  261. package/src/stories-json/resizable.stories.tsx +0 -44
  262. package/src/stories-json/select.stories.tsx +0 -34
  263. package/src/stories-json/separator.stories.tsx +0 -41
  264. package/src/stories-json/sidebar.stories.tsx +0 -147
  265. package/src/stories-json/statistic.stories.tsx +0 -44
  266. package/src/stories-json/tabs.stories.tsx +0 -51
  267. package/src/stories-json/timeline.stories.tsx +0 -188
  268. package/src/stories-json/typography.stories.tsx +0 -45
  269. package/src/types/config-panel.ts +0 -101
  270. package/src/ui/accordion.tsx +0 -66
  271. package/src/ui/alert-dialog.tsx +0 -149
  272. package/src/ui/alert.tsx +0 -67
  273. package/src/ui/aspect-ratio.tsx +0 -15
  274. package/src/ui/avatar.tsx +0 -58
  275. package/src/ui/badge.tsx +0 -44
  276. package/src/ui/breadcrumb.tsx +0 -123
  277. package/src/ui/button.tsx +0 -64
  278. package/src/ui/calendar.tsx +0 -221
  279. package/src/ui/card.tsx +0 -87
  280. package/src/ui/carousel.tsx +0 -270
  281. package/src/ui/chart.tsx +0 -377
  282. package/src/ui/checkbox.tsx +0 -38
  283. package/src/ui/collapsible.tsx +0 -19
  284. package/src/ui/command.tsx +0 -161
  285. package/src/ui/context-menu.tsx +0 -208
  286. package/src/ui/dialog.tsx +0 -130
  287. package/src/ui/drawer.tsx +0 -126
  288. package/src/ui/dropdown-menu.tsx +0 -208
  289. package/src/ui/form.tsx +0 -186
  290. package/src/ui/hover-card.tsx +0 -37
  291. package/src/ui/index.ts +0 -56
  292. package/src/ui/input-otp.tsx +0 -79
  293. package/src/ui/input.tsx +0 -30
  294. package/src/ui/label.tsx +0 -34
  295. package/src/ui/menubar.tsx +0 -264
  296. package/src/ui/navigation-menu.tsx +0 -136
  297. package/src/ui/pagination.tsx +0 -125
  298. package/src/ui/popover.tsx +0 -39
  299. package/src/ui/progress.tsx +0 -36
  300. package/src/ui/radio-group.tsx +0 -52
  301. package/src/ui/resizable.tsx +0 -53
  302. package/src/ui/scroll-area.tsx +0 -56
  303. package/src/ui/select.tsx +0 -168
  304. package/src/ui/separator.tsx +0 -39
  305. package/src/ui/sheet.tsx +0 -150
  306. package/src/ui/sidebar.tsx +0 -781
  307. package/src/ui/skeleton.tsx +0 -23
  308. package/src/ui/slider.tsx +0 -39
  309. package/src/ui/sonner.tsx +0 -53
  310. package/src/ui/switch.tsx +0 -37
  311. package/src/ui/table.tsx +0 -125
  312. package/src/ui/tabs.tsx +0 -63
  313. package/src/ui/textarea.tsx +0 -30
  314. package/src/ui/toast.tsx +0 -137
  315. package/src/ui/toggle-group.tsx +0 -69
  316. package/src/ui/toggle.tsx +0 -53
  317. package/src/ui/tooltip.tsx +0 -38
  318. package/src/ui/typography.tsx +0 -85
  319. package/tsconfig.json +0 -19
  320. package/vite.config.ts +0 -71
  321. package/vitest.config.ts +0 -5
@@ -1,23 +0,0 @@
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
-
9
- import { cn } from "../lib/utils"
10
-
11
- function Skeleton({
12
- className,
13
- ...props
14
- }: React.HTMLAttributes<HTMLDivElement>) {
15
- return (
16
- <div
17
- className={cn("animate-pulse rounded-md bg-muted", className)}
18
- {...props}
19
- />
20
- )
21
- }
22
-
23
- export { Skeleton }
package/src/ui/slider.tsx DELETED
@@ -1,39 +0,0 @@
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
-
9
- "use client"
10
-
11
- import * as React from "react"
12
- import * as SliderPrimitive from "@radix-ui/react-slider"
13
-
14
- import { cn } from "../lib/utils"
15
-
16
- const Slider = React.forwardRef<
17
- React.ElementRef<typeof SliderPrimitive.Root>,
18
- React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>
19
- >(({ className, ...props }, ref) => (
20
- <SliderPrimitive.Root
21
- ref={ref}
22
- className={cn(
23
- "relative flex w-full touch-none select-none items-center",
24
- className
25
- )}
26
- {...props}
27
- >
28
- <SliderPrimitive.Track className="relative h-2 w-full grow overflow-hidden rounded-full bg-secondary">
29
- <SliderPrimitive.Range className="absolute h-full bg-primary" />
30
- </SliderPrimitive.Track>
31
- <SliderPrimitive.Thumb
32
- className="block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50"
33
- aria-label={props["aria-label"]}
34
- />
35
- </SliderPrimitive.Root>
36
- ))
37
- Slider.displayName = SliderPrimitive.Root.displayName
38
-
39
- export { Slider }
package/src/ui/sonner.tsx DELETED
@@ -1,53 +0,0 @@
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
-
9
- "use client"
10
-
11
- import {
12
- CircleCheck,
13
- Info,
14
- LoaderCircle,
15
- OctagonX,
16
- TriangleAlert,
17
- } from "lucide-react"
18
- import { useTheme } from "next-themes"
19
- import { Toaster as Sonner } from "sonner"
20
-
21
- type ToasterProps = React.ComponentProps<typeof Sonner>
22
-
23
- const Toaster = ({ ...props }: ToasterProps) => {
24
- const { theme = "system" } = useTheme()
25
-
26
- return (
27
- <Sonner
28
- theme={theme as ToasterProps["theme"]}
29
- className="toaster group"
30
- icons={{
31
- success: <CircleCheck className="h-4 w-4" />,
32
- info: <Info className="h-4 w-4" />,
33
- warning: <TriangleAlert className="h-4 w-4" />,
34
- error: <OctagonX className="h-4 w-4" />,
35
- loading: <LoaderCircle className="h-4 w-4 animate-spin" />,
36
- }}
37
- toastOptions={{
38
- classNames: {
39
- toast:
40
- "group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg",
41
- description: "group-[.toast]:text-muted-foreground",
42
- actionButton:
43
- "group-[.toast]:bg-primary group-[.toast]:text-primary-foreground",
44
- cancelButton:
45
- "group-[.toast]:bg-muted group-[.toast]:text-muted-foreground",
46
- },
47
- }}
48
- {...props}
49
- />
50
- )
51
- }
52
-
53
- export { Toaster }
package/src/ui/switch.tsx DELETED
@@ -1,37 +0,0 @@
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
-
9
- "use client"
10
-
11
- import * as React from "react"
12
- import * as SwitchPrimitives from "@radix-ui/react-switch"
13
-
14
- import { cn } from "../lib/utils"
15
-
16
- const Switch = React.forwardRef<
17
- React.ElementRef<typeof SwitchPrimitives.Root>,
18
- React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>
19
- >(({ className, ...props }, ref) => (
20
- <SwitchPrimitives.Root
21
- className={cn(
22
- "peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input",
23
- className
24
- )}
25
- {...props}
26
- ref={ref}
27
- >
28
- <SwitchPrimitives.Thumb
29
- className={cn(
30
- "pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0"
31
- )}
32
- />
33
- </SwitchPrimitives.Root>
34
- ))
35
- Switch.displayName = SwitchPrimitives.Root.displayName
36
-
37
- export { Switch }
package/src/ui/table.tsx DELETED
@@ -1,125 +0,0 @@
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
-
9
- import * as React from "react"
10
-
11
- import { cn } from "../lib/utils"
12
-
13
- const Table = React.forwardRef<
14
- HTMLTableElement,
15
- React.HTMLAttributes<HTMLTableElement>
16
- >(({ className, ...props }, ref) => (
17
- <div className="relative w-full overflow-auto">
18
- <table
19
- ref={ref}
20
- className={cn("w-full caption-bottom text-sm", className)}
21
- {...props}
22
- />
23
- </div>
24
- ))
25
- Table.displayName = "Table"
26
-
27
- const TableHeader = React.forwardRef<
28
- HTMLTableSectionElement,
29
- React.HTMLAttributes<HTMLTableSectionElement>
30
- >(({ className, ...props }, ref) => (
31
- <thead ref={ref} className={cn("[&_tr]:border-b", className)} {...props} />
32
- ))
33
- TableHeader.displayName = "TableHeader"
34
-
35
- const TableBody = React.forwardRef<
36
- HTMLTableSectionElement,
37
- React.HTMLAttributes<HTMLTableSectionElement>
38
- >(({ className, ...props }, ref) => (
39
- <tbody
40
- ref={ref}
41
- className={cn("[&_tr:last-child]:border-0", className)}
42
- {...props}
43
- />
44
- ))
45
- TableBody.displayName = "TableBody"
46
-
47
- const TableFooter = React.forwardRef<
48
- HTMLTableSectionElement,
49
- React.HTMLAttributes<HTMLTableSectionElement>
50
- >(({ className, ...props }, ref) => (
51
- <tfoot
52
- ref={ref}
53
- className={cn(
54
- "border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",
55
- className
56
- )}
57
- {...props}
58
- />
59
- ))
60
- TableFooter.displayName = "TableFooter"
61
-
62
- const TableRow = React.forwardRef<
63
- HTMLTableRowElement,
64
- React.HTMLAttributes<HTMLTableRowElement>
65
- >(({ className, ...props }, ref) => (
66
- <tr
67
- ref={ref}
68
- className={cn(
69
- "border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",
70
- className
71
- )}
72
- {...props}
73
- />
74
- ))
75
- TableRow.displayName = "TableRow"
76
-
77
- const TableHead = React.forwardRef<
78
- HTMLTableCellElement,
79
- React.ThHTMLAttributes<HTMLTableCellElement>
80
- >(({ className, ...props }, ref) => (
81
- <th
82
- ref={ref}
83
- className={cn(
84
- "h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
85
- className
86
- )}
87
- {...props}
88
- />
89
- ))
90
- TableHead.displayName = "TableHead"
91
-
92
- const TableCell = React.forwardRef<
93
- HTMLTableCellElement,
94
- React.TdHTMLAttributes<HTMLTableCellElement>
95
- >(({ className, ...props }, ref) => (
96
- <td
97
- ref={ref}
98
- className={cn("p-4 align-middle [&:has([role=checkbox])]:pr-0", className)}
99
- {...props}
100
- />
101
- ))
102
- TableCell.displayName = "TableCell"
103
-
104
- const TableCaption = React.forwardRef<
105
- HTMLTableCaptionElement,
106
- React.HTMLAttributes<HTMLTableCaptionElement>
107
- >(({ className, ...props }, ref) => (
108
- <caption
109
- ref={ref}
110
- className={cn("mt-4 text-sm text-muted-foreground", className)}
111
- {...props}
112
- />
113
- ))
114
- TableCaption.displayName = "TableCaption"
115
-
116
- export {
117
- Table,
118
- TableHeader,
119
- TableBody,
120
- TableFooter,
121
- TableHead,
122
- TableRow,
123
- TableCell,
124
- TableCaption,
125
- }
package/src/ui/tabs.tsx DELETED
@@ -1,63 +0,0 @@
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
-
9
- "use client"
10
-
11
- import * as React from "react"
12
- import * as TabsPrimitive from "@radix-ui/react-tabs"
13
-
14
- import { cn } from "../lib/utils"
15
-
16
- const Tabs = TabsPrimitive.Root
17
-
18
- const TabsList = React.forwardRef<
19
- React.ElementRef<typeof TabsPrimitive.List>,
20
- React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>
21
- >(({ className, ...props }, ref) => (
22
- <TabsPrimitive.List
23
- ref={ref}
24
- className={cn(
25
- "inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground",
26
- className
27
- )}
28
- {...props}
29
- />
30
- ))
31
- TabsList.displayName = TabsPrimitive.List.displayName
32
-
33
- const TabsTrigger = React.forwardRef<
34
- React.ElementRef<typeof TabsPrimitive.Trigger>,
35
- React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>
36
- >(({ className, ...props }, ref) => (
37
- <TabsPrimitive.Trigger
38
- ref={ref}
39
- className={cn(
40
- "inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm",
41
- className
42
- )}
43
- {...props}
44
- />
45
- ))
46
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName
47
-
48
- const TabsContent = React.forwardRef<
49
- React.ElementRef<typeof TabsPrimitive.Content>,
50
- React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>
51
- >(({ className, ...props }, ref) => (
52
- <TabsPrimitive.Content
53
- ref={ref}
54
- className={cn(
55
- "mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
56
- className
57
- )}
58
- {...props}
59
- />
60
- ))
61
- TabsContent.displayName = TabsPrimitive.Content.displayName
62
-
63
- export { Tabs, TabsList, TabsTrigger, TabsContent }
@@ -1,30 +0,0 @@
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
-
9
- import * as React from "react"
10
-
11
- import { cn } from "../lib/utils"
12
-
13
- const Textarea = React.forwardRef<
14
- HTMLTextAreaElement,
15
- React.ComponentProps<"textarea">
16
- >(({ className, ...props }, ref) => {
17
- return (
18
- <textarea
19
- className={cn(
20
- "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
21
- className
22
- )}
23
- ref={ref}
24
- {...props}
25
- />
26
- )
27
- })
28
- Textarea.displayName = "Textarea"
29
-
30
- export { Textarea }
package/src/ui/toast.tsx DELETED
@@ -1,137 +0,0 @@
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
-
9
- "use client"
10
-
11
- import * as React from "react"
12
- import * as ToastPrimitives from "@radix-ui/react-toast"
13
- import { cva, type VariantProps } from "class-variance-authority"
14
- import { X } from "lucide-react"
15
-
16
- import { cn } from "../lib/utils"
17
-
18
- const ToastProvider = ToastPrimitives.Provider
19
-
20
- const ToastViewport = React.forwardRef<
21
- React.ElementRef<typeof ToastPrimitives.Viewport>,
22
- React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>
23
- >(({ className, ...props }, ref) => (
24
- <ToastPrimitives.Viewport
25
- ref={ref}
26
- className={cn(
27
- "fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",
28
- className
29
- )}
30
- {...props}
31
- />
32
- ))
33
- ToastViewport.displayName = ToastPrimitives.Viewport.displayName
34
-
35
- const toastVariants = cva(
36
- "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",
37
- {
38
- variants: {
39
- variant: {
40
- default: "border bg-background text-foreground",
41
- destructive:
42
- "destructive group border-destructive bg-destructive text-destructive-foreground",
43
- },
44
- },
45
- defaultVariants: {
46
- variant: "default",
47
- },
48
- }
49
- )
50
-
51
- const Toast = React.forwardRef<
52
- React.ElementRef<typeof ToastPrimitives.Root>,
53
- React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &
54
- VariantProps<typeof toastVariants>
55
- >(({ className, variant, ...props }, ref) => {
56
- return (
57
- <ToastPrimitives.Root
58
- ref={ref}
59
- className={cn(toastVariants({ variant }), className)}
60
- {...props}
61
- />
62
- )
63
- })
64
- Toast.displayName = ToastPrimitives.Root.displayName
65
-
66
- const ToastAction = React.forwardRef<
67
- React.ElementRef<typeof ToastPrimitives.Action>,
68
- React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>
69
- >(({ className, ...props }, ref) => (
70
- <ToastPrimitives.Action
71
- ref={ref}
72
- className={cn(
73
- "inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",
74
- className
75
- )}
76
- {...props}
77
- />
78
- ))
79
- ToastAction.displayName = ToastPrimitives.Action.displayName
80
-
81
- const ToastClose = React.forwardRef<
82
- React.ElementRef<typeof ToastPrimitives.Close>,
83
- React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>
84
- >(({ className, ...props }, ref) => (
85
- <ToastPrimitives.Close
86
- ref={ref}
87
- className={cn(
88
- "absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",
89
- className
90
- )}
91
- toast-close=""
92
- {...props}
93
- >
94
- <X className="h-4 w-4" />
95
- </ToastPrimitives.Close>
96
- ))
97
- ToastClose.displayName = ToastPrimitives.Close.displayName
98
-
99
- const ToastTitle = React.forwardRef<
100
- React.ElementRef<typeof ToastPrimitives.Title>,
101
- React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>
102
- >(({ className, ...props }, ref) => (
103
- <ToastPrimitives.Title
104
- ref={ref}
105
- className={cn("text-sm font-semibold", className)}
106
- {...props}
107
- />
108
- ))
109
- ToastTitle.displayName = ToastPrimitives.Title.displayName
110
-
111
- const ToastDescription = React.forwardRef<
112
- React.ElementRef<typeof ToastPrimitives.Description>,
113
- React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>
114
- >(({ className, ...props }, ref) => (
115
- <ToastPrimitives.Description
116
- ref={ref}
117
- className={cn("text-sm opacity-90", className)}
118
- {...props}
119
- />
120
- ))
121
- ToastDescription.displayName = ToastPrimitives.Description.displayName
122
-
123
- type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>
124
-
125
- type ToastActionElement = React.ReactElement<typeof ToastAction>
126
-
127
- export {
128
- type ToastProps,
129
- type ToastActionElement,
130
- ToastProvider,
131
- ToastViewport,
132
- Toast,
133
- ToastTitle,
134
- ToastDescription,
135
- ToastClose,
136
- ToastAction,
137
- }
@@ -1,69 +0,0 @@
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
-
9
- "use client"
10
-
11
- import * as React from "react"
12
- import * as ToggleGroupPrimitive from "@radix-ui/react-toggle-group"
13
- import { type VariantProps } from "class-variance-authority"
14
-
15
- import { cn } from "../lib/utils"
16
- import { toggleVariants } from "./toggle"
17
-
18
- const ToggleGroupContext = React.createContext<
19
- VariantProps<typeof toggleVariants>
20
- >({
21
- size: "default",
22
- variant: "default",
23
- })
24
-
25
- const ToggleGroup = React.forwardRef<
26
- React.ElementRef<typeof ToggleGroupPrimitive.Root>,
27
- React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &
28
- VariantProps<typeof toggleVariants>
29
- >(({ className, variant, size, children, ...props }, ref) => (
30
- <ToggleGroupPrimitive.Root
31
- ref={ref}
32
- className={cn("flex items-center justify-center gap-1", className)}
33
- {...props}
34
- >
35
- <ToggleGroupContext.Provider value={{ variant, size }}>
36
- {children}
37
- </ToggleGroupContext.Provider>
38
- </ToggleGroupPrimitive.Root>
39
- ))
40
-
41
- ToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName
42
-
43
- const ToggleGroupItem = React.forwardRef<
44
- React.ElementRef<typeof ToggleGroupPrimitive.Item>,
45
- React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &
46
- VariantProps<typeof toggleVariants>
47
- >(({ className, children, variant, size, ...props }, ref) => {
48
- const context = React.useContext(ToggleGroupContext)
49
-
50
- return (
51
- <ToggleGroupPrimitive.Item
52
- ref={ref}
53
- className={cn(
54
- toggleVariants({
55
- variant: context.variant || variant,
56
- size: context.size || size,
57
- }),
58
- className
59
- )}
60
- {...props}
61
- >
62
- {children}
63
- </ToggleGroupPrimitive.Item>
64
- )
65
- })
66
-
67
- ToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName
68
-
69
- export { ToggleGroup, ToggleGroupItem }
package/src/ui/toggle.tsx DELETED
@@ -1,53 +0,0 @@
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
-
9
- "use client"
10
-
11
- import * as React from "react"
12
- import * as TogglePrimitive from "@radix-ui/react-toggle"
13
- import { cva, type VariantProps } from "class-variance-authority"
14
-
15
- import { cn } from "../lib/utils"
16
-
17
- const toggleVariants = cva(
18
- "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2",
19
- {
20
- variants: {
21
- variant: {
22
- default: "bg-transparent",
23
- outline:
24
- "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground",
25
- },
26
- size: {
27
- default: "h-10 px-3 min-w-10",
28
- sm: "h-9 px-2.5 min-w-9",
29
- lg: "h-11 px-5 min-w-11",
30
- },
31
- },
32
- defaultVariants: {
33
- variant: "default",
34
- size: "default",
35
- },
36
- }
37
- )
38
-
39
- const Toggle = React.forwardRef<
40
- React.ElementRef<typeof TogglePrimitive.Root>,
41
- React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &
42
- VariantProps<typeof toggleVariants>
43
- >(({ className, variant, size, ...props }, ref) => (
44
- <TogglePrimitive.Root
45
- ref={ref}
46
- className={cn(toggleVariants({ variant, size, className }))}
47
- {...props}
48
- />
49
- ))
50
-
51
- Toggle.displayName = TogglePrimitive.Root.displayName
52
-
53
- export { Toggle, toggleVariants }
@@ -1,38 +0,0 @@
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
-
9
- "use client"
10
-
11
- import * as React from "react"
12
- import * as TooltipPrimitive from "@radix-ui/react-tooltip"
13
-
14
- import { cn } from "../lib/utils"
15
-
16
- const TooltipProvider = TooltipPrimitive.Provider
17
-
18
- const Tooltip = TooltipPrimitive.Root
19
-
20
- const TooltipTrigger = TooltipPrimitive.Trigger
21
-
22
- const TooltipContent = React.forwardRef<
23
- React.ElementRef<typeof TooltipPrimitive.Content>,
24
- React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>
25
- >(({ className, sideOffset = 4, ...props }, ref) => (
26
- <TooltipPrimitive.Content
27
- ref={ref}
28
- sideOffset={sideOffset}
29
- className={cn(
30
- "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",
31
- className
32
- )}
33
- {...props}
34
- />
35
- ))
36
- TooltipContent.displayName = TooltipPrimitive.Content.displayName
37
-
38
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }