@object-ui/components 3.1.5 → 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 (495) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +21 -1
  3. package/dist/index.css +6339 -2
  4. package/dist/index.d.ts +1 -1
  5. package/dist/index.js +31896 -31523
  6. package/dist/index.umd.cjs +40 -40
  7. package/dist/{src → packages/components/src}/custom/empty.d.ts +12 -1
  8. package/dist/{src → packages/components/src}/custom/mobile-dialog-content.d.ts +1 -1
  9. package/dist/{src → packages/components/src}/renderers/action/action-bar.d.ts +12 -1
  10. package/dist/{src → packages/components/src}/ui/accordion.d.ts +1 -1
  11. package/dist/{src → packages/components/src}/ui/alert-dialog.d.ts +1 -1
  12. package/dist/packages/components/src/ui/aspect-ratio.d.ts +10 -0
  13. package/dist/{src → packages/components/src}/ui/avatar.d.ts +1 -1
  14. package/dist/{src → packages/components/src}/ui/button.d.ts +1 -1
  15. package/dist/packages/components/src/ui/chart.d.ts +56 -0
  16. package/dist/{src → packages/components/src}/ui/checkbox.d.ts +1 -1
  17. package/dist/{src → packages/components/src}/ui/collapsible.d.ts +8 -1
  18. package/dist/{src → packages/components/src}/ui/command.d.ts +2 -2
  19. package/dist/{src → packages/components/src}/ui/context-menu.d.ts +1 -1
  20. package/dist/{src → packages/components/src}/ui/dialog.d.ts +1 -1
  21. package/dist/{src → packages/components/src}/ui/drawer.d.ts +6 -10
  22. package/dist/{src → packages/components/src}/ui/dropdown-menu.d.ts +1 -1
  23. package/dist/{src → packages/components/src}/ui/form.d.ts +2 -2
  24. package/dist/{src → packages/components/src}/ui/hover-card.d.ts +1 -1
  25. package/dist/{src → packages/components/src}/ui/label.d.ts +1 -1
  26. package/dist/{src → packages/components/src}/ui/menubar.d.ts +1 -1
  27. package/dist/{src → packages/components/src}/ui/navigation-menu.d.ts +1 -1
  28. package/dist/{src → packages/components/src}/ui/popover.d.ts +1 -1
  29. package/dist/{src → packages/components/src}/ui/progress.d.ts +1 -1
  30. package/dist/{src → packages/components/src}/ui/radio-group.d.ts +1 -1
  31. package/dist/packages/components/src/ui/resizable.d.ts +7 -0
  32. package/dist/{src → packages/components/src}/ui/scroll-area.d.ts +1 -1
  33. package/dist/{src → packages/components/src}/ui/select.d.ts +1 -1
  34. package/dist/{src → packages/components/src}/ui/separator.d.ts +1 -1
  35. package/dist/{src → packages/components/src}/ui/sheet.d.ts +1 -2
  36. package/dist/{src → packages/components/src}/ui/sidebar.d.ts +1 -8
  37. package/dist/{src → packages/components/src}/ui/slider.d.ts +1 -1
  38. package/dist/{src → packages/components/src}/ui/switch.d.ts +1 -1
  39. package/dist/{src → packages/components/src}/ui/tabs.d.ts +1 -1
  40. package/dist/{src → packages/components/src}/ui/toast.d.ts +1 -1
  41. package/dist/{src → packages/components/src}/ui/toggle-group.d.ts +1 -1
  42. package/dist/{src → packages/components/src}/ui/toggle.d.ts +1 -1
  43. package/dist/{src → packages/components/src}/ui/tooltip.d.ts +1 -1
  44. package/package.json +68 -20
  45. package/.turbo/turbo-build.log +0 -64
  46. package/README_SHADCN_SYNC.md +0 -281
  47. package/TESTING.md +0 -335
  48. package/dist/src/ui/aspect-ratio.d.ts +0 -3
  49. package/dist/src/ui/chart.d.ts +0 -68
  50. package/dist/src/ui/resizable.d.ts +0 -14
  51. package/docs/FilterBuilder.md +0 -268
  52. package/metadata/Chart.component.yml +0 -30
  53. package/metadata/FilterBuilder.component.yml +0 -39
  54. package/metadata/GridLayout.component.yml +0 -27
  55. package/metadata/Menu.component.yml +0 -31
  56. package/metadata/ObjectForm.component.yml +0 -34
  57. package/metadata/ObjectGrid.component.yml +0 -72
  58. package/metadata/Page.component.yml +0 -24
  59. package/postcss.config.js +0 -14
  60. package/shadcn-components.json +0 -440
  61. package/src/SchemaRenderer.tsx +0 -28
  62. package/src/__tests__/PageRendererRegions.test.tsx +0 -668
  63. package/src/__tests__/README.md +0 -124
  64. package/src/__tests__/__snapshots__/snapshot-critical.test.tsx.snap +0 -811
  65. package/src/__tests__/__snapshots__/snapshot.test.tsx.snap +0 -327
  66. package/src/__tests__/accessibility.test.tsx +0 -137
  67. package/src/__tests__/action-bar.test.tsx +0 -206
  68. package/src/__tests__/api-consistency.test.tsx +0 -596
  69. package/src/__tests__/basic-renderers.test.tsx +0 -255
  70. package/src/__tests__/color-contrast.test.tsx +0 -212
  71. package/src/__tests__/complex-disclosure-renderers.test.tsx +0 -302
  72. package/src/__tests__/compliance.test.tsx +0 -72
  73. package/src/__tests__/config-field-renderer.test.tsx +0 -307
  74. package/src/__tests__/config-panel-renderer.test.tsx +0 -580
  75. package/src/__tests__/config-primitives.test.tsx +0 -106
  76. package/src/__tests__/edge-cases.test.tsx +0 -285
  77. package/src/__tests__/feedback-overlay-renderers.test.tsx +0 -349
  78. package/src/__tests__/filter-builder.test.tsx +0 -409
  79. package/src/__tests__/form-renderers.test.tsx +0 -364
  80. package/src/__tests__/layout-data-renderers.test.tsx +0 -340
  81. package/src/__tests__/mobile-accessibility.test.tsx +0 -120
  82. package/src/__tests__/navigation-overlay.test.tsx +0 -370
  83. package/src/__tests__/snapshot-critical.test.tsx +0 -317
  84. package/src/__tests__/snapshot.test.tsx +0 -205
  85. package/src/__tests__/test-utils.tsx +0 -190
  86. package/src/__tests__/use-config-draft.test.tsx +0 -295
  87. package/src/__tests__/view-compliance.test.tsx +0 -153
  88. package/src/__tests__/wcag-audit.test.tsx +0 -493
  89. package/src/custom/action-param-dialog.tsx +0 -264
  90. package/src/custom/button-group.tsx +0 -91
  91. package/src/custom/combobox.tsx +0 -104
  92. package/src/custom/config-field-renderer.tsx +0 -276
  93. package/src/custom/config-panel-renderer.tsx +0 -306
  94. package/src/custom/config-row.tsx +0 -50
  95. package/src/custom/date-picker.tsx +0 -61
  96. package/src/custom/empty.tsx +0 -112
  97. package/src/custom/field.tsx +0 -81
  98. package/src/custom/filter-builder.tsx +0 -418
  99. package/src/custom/index.ts +0 -21
  100. package/src/custom/input-group.tsx +0 -53
  101. package/src/custom/item.tsx +0 -201
  102. package/src/custom/kbd.tsx +0 -36
  103. package/src/custom/mobile-dialog-content.tsx +0 -67
  104. package/src/custom/native-select.tsx +0 -33
  105. package/src/custom/navigation-overlay.tsx +0 -334
  106. package/src/custom/section-header.tsx +0 -68
  107. package/src/custom/sort-builder.tsx +0 -129
  108. package/src/custom/spinner.tsx +0 -26
  109. package/src/custom/view-skeleton.tsx +0 -243
  110. package/src/custom/view-states.tsx +0 -153
  111. package/src/debug/DebugPanel.tsx +0 -313
  112. package/src/debug/__tests__/DebugPanel.test.tsx +0 -134
  113. package/src/debug/index.ts +0 -10
  114. package/src/hooks/use-config-draft.ts +0 -127
  115. package/src/hooks/use-mobile.tsx +0 -27
  116. package/src/index.css +0 -131
  117. package/src/index.ts +0 -47
  118. package/src/lib/use-sync-external-store-shim.ts +0 -10
  119. package/src/lib/use-sync-external-store-with-selector-shim.ts +0 -90
  120. package/src/lib/utils.tsx +0 -35
  121. package/src/new-components.test.ts +0 -73
  122. package/src/renderers/action/action-bar.tsx +0 -221
  123. package/src/renderers/action/action-button.tsx +0 -158
  124. package/src/renderers/action/action-group.tsx +0 -270
  125. package/src/renderers/action/action-icon.tsx +0 -150
  126. package/src/renderers/action/action-menu.tsx +0 -203
  127. package/src/renderers/action/index.ts +0 -19
  128. package/src/renderers/action/resolve-icon.ts +0 -35
  129. package/src/renderers/basic/button-group.tsx +0 -79
  130. package/src/renderers/basic/div.tsx +0 -60
  131. package/src/renderers/basic/html.tsx +0 -43
  132. package/src/renderers/basic/icon.tsx +0 -89
  133. package/src/renderers/basic/image.tsx +0 -49
  134. package/src/renderers/basic/index.ts +0 -18
  135. package/src/renderers/basic/navigation-menu.tsx +0 -81
  136. package/src/renderers/basic/pagination.tsx +0 -109
  137. package/src/renderers/basic/separator.tsx +0 -57
  138. package/src/renderers/basic/span.tsx +0 -63
  139. package/src/renderers/basic/text.tsx +0 -52
  140. package/src/renderers/complex/README-KANBAN.md +0 -208
  141. package/src/renderers/complex/TIMELINE.md +0 -353
  142. package/src/renderers/complex/__tests__/data-table-airtable-ux.test.tsx +0 -239
  143. package/src/renderers/complex/__tests__/data-table-batch-editing.test.tsx +0 -275
  144. package/src/renderers/complex/__tests__/data-table-cell-renderer.test.tsx +0 -120
  145. package/src/renderers/complex/__tests__/data-table-editing.test.tsx +0 -221
  146. package/src/renderers/complex/__tests__/data-table.test.ts +0 -76
  147. package/src/renderers/complex/carousel.tsx +0 -69
  148. package/src/renderers/complex/data-table.tsx +0 -1243
  149. package/src/renderers/complex/filter-builder.tsx +0 -77
  150. package/src/renderers/complex/index.ts +0 -16
  151. package/src/renderers/complex/resizable.tsx +0 -66
  152. package/src/renderers/complex/scroll-area.tsx +0 -58
  153. package/src/renderers/complex/table.tsx +0 -95
  154. package/src/renderers/data-display/alert.tsx +0 -46
  155. package/src/renderers/data-display/avatar.tsx +0 -38
  156. package/src/renderers/data-display/badge.tsx +0 -55
  157. package/src/renderers/data-display/breadcrumb.tsx +0 -61
  158. package/src/renderers/data-display/index.ts +0 -18
  159. package/src/renderers/data-display/kbd.tsx +0 -50
  160. package/src/renderers/data-display/list.tsx +0 -75
  161. package/src/renderers/data-display/statistic.tsx +0 -95
  162. package/src/renderers/data-display/table.tsx +0 -78
  163. package/src/renderers/data-display/tree-view.tsx +0 -176
  164. package/src/renderers/disclosure/accordion.tsx +0 -69
  165. package/src/renderers/disclosure/collapsible.tsx +0 -53
  166. package/src/renderers/disclosure/index.ts +0 -11
  167. package/src/renderers/disclosure/toggle-group.tsx +0 -79
  168. package/src/renderers/feedback/empty.tsx +0 -49
  169. package/src/renderers/feedback/index.ts +0 -16
  170. package/src/renderers/feedback/loading.tsx +0 -78
  171. package/src/renderers/feedback/progress.tsx +0 -29
  172. package/src/renderers/feedback/skeleton.tsx +0 -31
  173. package/src/renderers/feedback/sonner.tsx +0 -56
  174. package/src/renderers/feedback/spinner.tsx +0 -55
  175. package/src/renderers/feedback/toast.tsx +0 -59
  176. package/src/renderers/feedback/toaster.tsx +0 -23
  177. package/src/renderers/form/button.tsx +0 -103
  178. package/src/renderers/form/calendar.tsx +0 -34
  179. package/src/renderers/form/checkbox.tsx +0 -71
  180. package/src/renderers/form/combobox.tsx +0 -48
  181. package/src/renderers/form/command.tsx +0 -58
  182. package/src/renderers/form/date-picker.tsx +0 -84
  183. package/src/renderers/form/file-upload.tsx +0 -184
  184. package/src/renderers/form/form.tsx +0 -533
  185. package/src/renderers/form/index.ts +0 -26
  186. package/src/renderers/form/input-otp.tsx +0 -51
  187. package/src/renderers/form/input.tsx +0 -121
  188. package/src/renderers/form/label.tsx +0 -45
  189. package/src/renderers/form/radio-group.tsx +0 -63
  190. package/src/renderers/form/select.tsx +0 -94
  191. package/src/renderers/form/slider.tsx +0 -61
  192. package/src/renderers/form/switch.tsx +0 -48
  193. package/src/renderers/form/textarea.tsx +0 -76
  194. package/src/renderers/form/toggle.tsx +0 -42
  195. package/src/renderers/index.ts +0 -18
  196. package/src/renderers/layout/aspect-ratio.tsx +0 -51
  197. package/src/renderers/layout/card.tsx +0 -85
  198. package/src/renderers/layout/container.tsx +0 -122
  199. package/src/renderers/layout/flex.tsx +0 -132
  200. package/src/renderers/layout/grid.tsx +0 -178
  201. package/src/renderers/layout/index.ts +0 -19
  202. package/src/renderers/layout/page.tsx +0 -466
  203. package/src/renderers/layout/semantic.tsx +0 -48
  204. package/src/renderers/layout/stack.tsx +0 -132
  205. package/src/renderers/layout/tabs.tsx +0 -97
  206. package/src/renderers/navigation/header-bar.tsx +0 -118
  207. package/src/renderers/navigation/index.ts +0 -10
  208. package/src/renderers/navigation/sidebar.tsx +0 -208
  209. package/src/renderers/overlay/alert-dialog.tsx +0 -72
  210. package/src/renderers/overlay/context-menu.tsx +0 -100
  211. package/src/renderers/overlay/dialog.tsx +0 -77
  212. package/src/renderers/overlay/drawer.tsx +0 -77
  213. package/src/renderers/overlay/dropdown-menu.tsx +0 -99
  214. package/src/renderers/overlay/hover-card.tsx +0 -55
  215. package/src/renderers/overlay/index.ts +0 -18
  216. package/src/renderers/overlay/menubar.tsx +0 -76
  217. package/src/renderers/overlay/popover.tsx +0 -56
  218. package/src/renderers/overlay/sheet.tsx +0 -77
  219. package/src/renderers/overlay/tooltip.tsx +0 -67
  220. package/src/renderers/placeholders.tsx +0 -107
  221. package/src/stories/CRMApp.stories.tsx +0 -706
  222. package/src/stories/ConfigPanel.stories.tsx +0 -232
  223. package/src/stories/Guide.mdx +0 -55
  224. package/src/stories/MockedData.stories.tsx +0 -121
  225. package/src/stories/assets/accessibility.png +0 -0
  226. package/src/stories/assets/accessibility.svg +0 -1
  227. package/src/stories/assets/addon-library.png +0 -0
  228. package/src/stories/assets/assets.png +0 -0
  229. package/src/stories/assets/avif-test-image.avif +0 -0
  230. package/src/stories/assets/context.png +0 -0
  231. package/src/stories/assets/discord.svg +0 -1
  232. package/src/stories/assets/docs.png +0 -0
  233. package/src/stories/assets/figma-plugin.png +0 -0
  234. package/src/stories/assets/github.svg +0 -1
  235. package/src/stories/assets/share.png +0 -0
  236. package/src/stories/assets/styling.png +0 -0
  237. package/src/stories/assets/testing.png +0 -0
  238. package/src/stories/assets/theming.png +0 -0
  239. package/src/stories/assets/tutorials.svg +0 -1
  240. package/src/stories/assets/youtube.svg +0 -1
  241. package/src/stories/button.css +0 -30
  242. package/src/stories/header.css +0 -32
  243. package/src/stories/page.css +0 -68
  244. package/src/stories-json/Accessibility.mdx +0 -297
  245. package/src/stories-json/EdgeCases.stories.tsx +0 -160
  246. package/src/stories-json/GettingStarted.mdx +0 -89
  247. package/src/stories-json/Introduction.mdx +0 -127
  248. package/src/stories-json/accordion.stories.tsx +0 -43
  249. package/src/stories-json/aggrid.stories.tsx +0 -103
  250. package/src/stories-json/alert.stories.tsx +0 -39
  251. package/src/stories-json/aspect-ratio.stories.tsx +0 -34
  252. package/src/stories-json/avatar.stories.tsx +0 -38
  253. package/src/stories-json/badge.stories.tsx +0 -53
  254. package/src/stories-json/breadcrumb.stories.tsx +0 -30
  255. package/src/stories-json/button-group.stories.tsx +0 -43
  256. package/src/stories-json/button.stories.tsx +0 -73
  257. package/src/stories-json/calendar.stories.tsx +0 -85
  258. package/src/stories-json/card.stories.tsx +0 -48
  259. package/src/stories-json/carousel.stories.tsx +0 -33
  260. package/src/stories-json/charts.stories.tsx +0 -195
  261. package/src/stories-json/chatbot.stories.tsx +0 -248
  262. package/src/stories-json/code-editor.stories.tsx +0 -92
  263. package/src/stories-json/collapsible.stories.tsx +0 -40
  264. package/src/stories-json/controls.stories.tsx +0 -36
  265. package/src/stories-json/crm-live-data.stories.tsx +0 -154
  266. package/src/stories-json/dashboard.stories.tsx +0 -318
  267. package/src/stories-json/data-table.stories.tsx +0 -136
  268. package/src/stories-json/data_display_extras.stories.tsx +0 -102
  269. package/src/stories-json/date-picker.stories.tsx +0 -28
  270. package/src/stories-json/detail-view.stories.tsx +0 -258
  271. package/src/stories-json/dialog.stories.tsx +0 -43
  272. package/src/stories-json/feedback_extras.stories.tsx +0 -40
  273. package/src/stories-json/feedback_others.stories.tsx +0 -46
  274. package/src/stories-json/form-variants.stories.tsx +0 -210
  275. package/src/stories-json/form_advanced.stories.tsx +0 -117
  276. package/src/stories-json/form_extras.stories.tsx +0 -123
  277. package/src/stories-json/grid.stories.tsx +0 -56
  278. package/src/stories-json/icon.stories.tsx +0 -36
  279. package/src/stories-json/input.stories.tsx +0 -52
  280. package/src/stories-json/kanban.stories.tsx +0 -295
  281. package/src/stories-json/layout_extended.stories.tsx +0 -76
  282. package/src/stories-json/layout_flex.stories.tsx +0 -107
  283. package/src/stories-json/list-view.stories.tsx +0 -97
  284. package/src/stories-json/markdown.stories.tsx +0 -129
  285. package/src/stories-json/menus.stories.tsx +0 -63
  286. package/src/stories-json/metric-card.stories.tsx +0 -143
  287. package/src/stories-json/navigation-menu.stories.tsx +0 -37
  288. package/src/stories-json/object-aggrid-advanced.stories.tsx +0 -389
  289. package/src/stories-json/object-aggrid.stories.tsx +0 -252
  290. package/src/stories-json/object-form.stories.tsx +0 -130
  291. package/src/stories-json/object-gantt.stories.tsx +0 -114
  292. package/src/stories-json/object-grid.stories.tsx +0 -315
  293. package/src/stories-json/object-map.stories.tsx +0 -116
  294. package/src/stories-json/object-view.stories.tsx +0 -118
  295. package/src/stories-json/overlay_extras.stories.tsx +0 -113
  296. package/src/stories-json/overlay_others.stories.tsx +0 -76
  297. package/src/stories-json/page.stories.tsx +0 -55
  298. package/src/stories-json/reports.stories.tsx +0 -163
  299. package/src/stories-json/resizable.stories.tsx +0 -44
  300. package/src/stories-json/select.stories.tsx +0 -34
  301. package/src/stories-json/separator.stories.tsx +0 -41
  302. package/src/stories-json/sidebar.stories.tsx +0 -147
  303. package/src/stories-json/statistic.stories.tsx +0 -44
  304. package/src/stories-json/tabs.stories.tsx +0 -51
  305. package/src/stories-json/timeline.stories.tsx +0 -188
  306. package/src/stories-json/typography.stories.tsx +0 -45
  307. package/src/types/config-panel.ts +0 -101
  308. package/src/ui/accordion.tsx +0 -66
  309. package/src/ui/alert-dialog.tsx +0 -149
  310. package/src/ui/alert.tsx +0 -67
  311. package/src/ui/aspect-ratio.tsx +0 -15
  312. package/src/ui/avatar.tsx +0 -58
  313. package/src/ui/badge.tsx +0 -44
  314. package/src/ui/breadcrumb.tsx +0 -123
  315. package/src/ui/button.tsx +0 -66
  316. package/src/ui/calendar.tsx +0 -221
  317. package/src/ui/card.tsx +0 -87
  318. package/src/ui/carousel.tsx +0 -270
  319. package/src/ui/chart.tsx +0 -367
  320. package/src/ui/checkbox.tsx +0 -38
  321. package/src/ui/collapsible.tsx +0 -19
  322. package/src/ui/command.tsx +0 -161
  323. package/src/ui/context-menu.tsx +0 -208
  324. package/src/ui/dialog.tsx +0 -147
  325. package/src/ui/drawer.tsx +0 -126
  326. package/src/ui/dropdown-menu.tsx +0 -208
  327. package/src/ui/form.tsx +0 -186
  328. package/src/ui/hover-card.tsx +0 -37
  329. package/src/ui/index.ts +0 -56
  330. package/src/ui/input-otp.tsx +0 -79
  331. package/src/ui/input.tsx +0 -30
  332. package/src/ui/label.tsx +0 -34
  333. package/src/ui/menubar.tsx +0 -264
  334. package/src/ui/navigation-menu.tsx +0 -136
  335. package/src/ui/pagination.tsx +0 -125
  336. package/src/ui/popover.tsx +0 -39
  337. package/src/ui/progress.tsx +0 -36
  338. package/src/ui/radio-group.tsx +0 -52
  339. package/src/ui/resizable.tsx +0 -53
  340. package/src/ui/scroll-area.tsx +0 -56
  341. package/src/ui/select.tsx +0 -168
  342. package/src/ui/separator.tsx +0 -39
  343. package/src/ui/sheet.tsx +0 -151
  344. package/src/ui/sidebar.tsx +0 -866
  345. package/src/ui/skeleton.tsx +0 -23
  346. package/src/ui/slider.tsx +0 -40
  347. package/src/ui/sonner.tsx +0 -53
  348. package/src/ui/switch.tsx +0 -37
  349. package/src/ui/table.tsx +0 -125
  350. package/src/ui/tabs.tsx +0 -63
  351. package/src/ui/textarea.tsx +0 -30
  352. package/src/ui/toast.tsx +0 -137
  353. package/src/ui/toggle-group.tsx +0 -69
  354. package/src/ui/toggle.tsx +0 -53
  355. package/src/ui/tooltip.tsx +0 -38
  356. package/src/ui/typography.tsx +0 -85
  357. package/tsconfig.json +0 -19
  358. package/vite.config.ts +0 -70
  359. package/vitest.config.ts +0 -5
  360. /package/dist/{src → packages/components/src}/SchemaRenderer.d.ts +0 -0
  361. /package/dist/{src → packages/components/src}/custom/action-param-dialog.d.ts +0 -0
  362. /package/dist/{src → packages/components/src}/custom/button-group.d.ts +0 -0
  363. /package/dist/{src → packages/components/src}/custom/combobox.d.ts +0 -0
  364. /package/dist/{src → packages/components/src}/custom/config-field-renderer.d.ts +0 -0
  365. /package/dist/{src → packages/components/src}/custom/config-panel-renderer.d.ts +0 -0
  366. /package/dist/{src → packages/components/src}/custom/config-row.d.ts +0 -0
  367. /package/dist/{src → packages/components/src}/custom/date-picker.d.ts +0 -0
  368. /package/dist/{src → packages/components/src}/custom/field.d.ts +0 -0
  369. /package/dist/{src → packages/components/src}/custom/filter-builder.d.ts +0 -0
  370. /package/dist/{src → packages/components/src}/custom/index.d.ts +0 -0
  371. /package/dist/{src → packages/components/src}/custom/input-group.d.ts +0 -0
  372. /package/dist/{src → packages/components/src}/custom/item.d.ts +0 -0
  373. /package/dist/{src → packages/components/src}/custom/kbd.d.ts +0 -0
  374. /package/dist/{src → packages/components/src}/custom/native-select.d.ts +0 -0
  375. /package/dist/{src → packages/components/src}/custom/navigation-overlay.d.ts +0 -0
  376. /package/dist/{src → packages/components/src}/custom/section-header.d.ts +0 -0
  377. /package/dist/{src → packages/components/src}/custom/sort-builder.d.ts +0 -0
  378. /package/dist/{src → packages/components/src}/custom/spinner.d.ts +0 -0
  379. /package/dist/{src → packages/components/src}/custom/view-skeleton.d.ts +0 -0
  380. /package/dist/{src → packages/components/src}/custom/view-states.d.ts +0 -0
  381. /package/dist/{src → packages/components/src}/debug/DebugPanel.d.ts +0 -0
  382. /package/dist/{src → packages/components/src}/debug/index.d.ts +0 -0
  383. /package/dist/{src → packages/components/src}/hooks/use-config-draft.d.ts +0 -0
  384. /package/dist/{src → packages/components/src}/hooks/use-mobile.d.ts +0 -0
  385. /package/dist/{src → packages/components/src}/index.d.ts +0 -0
  386. /package/dist/{src → packages/components/src}/lib/use-sync-external-store-shim.d.ts +0 -0
  387. /package/dist/{src → packages/components/src}/lib/use-sync-external-store-with-selector-shim.d.ts +0 -0
  388. /package/dist/{src → packages/components/src}/lib/utils.d.ts +0 -0
  389. /package/dist/{src → packages/components/src}/renderers/action/action-button.d.ts +0 -0
  390. /package/dist/{src → packages/components/src}/renderers/action/action-group.d.ts +0 -0
  391. /package/dist/{src → packages/components/src}/renderers/action/action-icon.d.ts +0 -0
  392. /package/dist/{src → packages/components/src}/renderers/action/action-menu.d.ts +0 -0
  393. /package/dist/{src → packages/components/src}/renderers/action/index.d.ts +0 -0
  394. /package/dist/{src → packages/components/src}/renderers/action/resolve-icon.d.ts +0 -0
  395. /package/dist/{src → packages/components/src}/renderers/basic/button-group.d.ts +0 -0
  396. /package/dist/{src → packages/components/src}/renderers/basic/div.d.ts +0 -0
  397. /package/dist/{src → packages/components/src}/renderers/basic/html.d.ts +0 -0
  398. /package/dist/{src → packages/components/src}/renderers/basic/icon.d.ts +0 -0
  399. /package/dist/{src → packages/components/src}/renderers/basic/image.d.ts +0 -0
  400. /package/dist/{src → packages/components/src}/renderers/basic/index.d.ts +0 -0
  401. /package/dist/{src → packages/components/src}/renderers/basic/navigation-menu.d.ts +0 -0
  402. /package/dist/{src → packages/components/src}/renderers/basic/pagination.d.ts +0 -0
  403. /package/dist/{src → packages/components/src}/renderers/basic/separator.d.ts +0 -0
  404. /package/dist/{src → packages/components/src}/renderers/basic/span.d.ts +0 -0
  405. /package/dist/{src → packages/components/src}/renderers/basic/text.d.ts +0 -0
  406. /package/dist/{src → packages/components/src}/renderers/complex/carousel.d.ts +0 -0
  407. /package/dist/{src → packages/components/src}/renderers/complex/data-table.d.ts +0 -0
  408. /package/dist/{src → packages/components/src}/renderers/complex/filter-builder.d.ts +0 -0
  409. /package/dist/{src → packages/components/src}/renderers/complex/index.d.ts +0 -0
  410. /package/dist/{src → packages/components/src}/renderers/complex/resizable.d.ts +0 -0
  411. /package/dist/{src → packages/components/src}/renderers/complex/scroll-area.d.ts +0 -0
  412. /package/dist/{src → packages/components/src}/renderers/complex/table.d.ts +0 -0
  413. /package/dist/{src → packages/components/src}/renderers/data-display/alert.d.ts +0 -0
  414. /package/dist/{src → packages/components/src}/renderers/data-display/avatar.d.ts +0 -0
  415. /package/dist/{src → packages/components/src}/renderers/data-display/badge.d.ts +0 -0
  416. /package/dist/{src → packages/components/src}/renderers/data-display/breadcrumb.d.ts +0 -0
  417. /package/dist/{src → packages/components/src}/renderers/data-display/index.d.ts +0 -0
  418. /package/dist/{src → packages/components/src}/renderers/data-display/kbd.d.ts +0 -0
  419. /package/dist/{src → packages/components/src}/renderers/data-display/list.d.ts +0 -0
  420. /package/dist/{src → packages/components/src}/renderers/data-display/statistic.d.ts +0 -0
  421. /package/dist/{src → packages/components/src}/renderers/data-display/table.d.ts +0 -0
  422. /package/dist/{src → packages/components/src}/renderers/data-display/tree-view.d.ts +0 -0
  423. /package/dist/{src → packages/components/src}/renderers/disclosure/accordion.d.ts +0 -0
  424. /package/dist/{src → packages/components/src}/renderers/disclosure/collapsible.d.ts +0 -0
  425. /package/dist/{src → packages/components/src}/renderers/disclosure/index.d.ts +0 -0
  426. /package/dist/{src → packages/components/src}/renderers/disclosure/toggle-group.d.ts +0 -0
  427. /package/dist/{src → packages/components/src}/renderers/feedback/empty.d.ts +0 -0
  428. /package/dist/{src → packages/components/src}/renderers/feedback/index.d.ts +0 -0
  429. /package/dist/{src → packages/components/src}/renderers/feedback/loading.d.ts +0 -0
  430. /package/dist/{src → packages/components/src}/renderers/feedback/progress.d.ts +0 -0
  431. /package/dist/{src → packages/components/src}/renderers/feedback/skeleton.d.ts +0 -0
  432. /package/dist/{src → packages/components/src}/renderers/feedback/sonner.d.ts +0 -0
  433. /package/dist/{src → packages/components/src}/renderers/feedback/spinner.d.ts +0 -0
  434. /package/dist/{src → packages/components/src}/renderers/feedback/toast.d.ts +0 -0
  435. /package/dist/{src → packages/components/src}/renderers/feedback/toaster.d.ts +0 -0
  436. /package/dist/{src → packages/components/src}/renderers/form/button.d.ts +0 -0
  437. /package/dist/{src → packages/components/src}/renderers/form/calendar.d.ts +0 -0
  438. /package/dist/{src → packages/components/src}/renderers/form/checkbox.d.ts +0 -0
  439. /package/dist/{src → packages/components/src}/renderers/form/combobox.d.ts +0 -0
  440. /package/dist/{src → packages/components/src}/renderers/form/command.d.ts +0 -0
  441. /package/dist/{src → packages/components/src}/renderers/form/date-picker.d.ts +0 -0
  442. /package/dist/{src → packages/components/src}/renderers/form/file-upload.d.ts +0 -0
  443. /package/dist/{src → packages/components/src}/renderers/form/form.d.ts +0 -0
  444. /package/dist/{src → packages/components/src}/renderers/form/index.d.ts +0 -0
  445. /package/dist/{src → packages/components/src}/renderers/form/input-otp.d.ts +0 -0
  446. /package/dist/{src → packages/components/src}/renderers/form/input.d.ts +0 -0
  447. /package/dist/{src → packages/components/src}/renderers/form/label.d.ts +0 -0
  448. /package/dist/{src → packages/components/src}/renderers/form/radio-group.d.ts +0 -0
  449. /package/dist/{src → packages/components/src}/renderers/form/select.d.ts +0 -0
  450. /package/dist/{src → packages/components/src}/renderers/form/slider.d.ts +0 -0
  451. /package/dist/{src → packages/components/src}/renderers/form/switch.d.ts +0 -0
  452. /package/dist/{src → packages/components/src}/renderers/form/textarea.d.ts +0 -0
  453. /package/dist/{src → packages/components/src}/renderers/form/toggle.d.ts +0 -0
  454. /package/dist/{src → packages/components/src}/renderers/index.d.ts +0 -0
  455. /package/dist/{src → packages/components/src}/renderers/layout/aspect-ratio.d.ts +0 -0
  456. /package/dist/{src → packages/components/src}/renderers/layout/card.d.ts +0 -0
  457. /package/dist/{src → packages/components/src}/renderers/layout/container.d.ts +0 -0
  458. /package/dist/{src → packages/components/src}/renderers/layout/flex.d.ts +0 -0
  459. /package/dist/{src → packages/components/src}/renderers/layout/grid.d.ts +0 -0
  460. /package/dist/{src → packages/components/src}/renderers/layout/index.d.ts +0 -0
  461. /package/dist/{src → packages/components/src}/renderers/layout/page.d.ts +0 -0
  462. /package/dist/{src → packages/components/src}/renderers/layout/semantic.d.ts +0 -0
  463. /package/dist/{src → packages/components/src}/renderers/layout/stack.d.ts +0 -0
  464. /package/dist/{src → packages/components/src}/renderers/layout/tabs.d.ts +0 -0
  465. /package/dist/{src → packages/components/src}/renderers/navigation/header-bar.d.ts +0 -0
  466. /package/dist/{src → packages/components/src}/renderers/navigation/index.d.ts +0 -0
  467. /package/dist/{src → packages/components/src}/renderers/navigation/sidebar.d.ts +0 -0
  468. /package/dist/{src → packages/components/src}/renderers/overlay/alert-dialog.d.ts +0 -0
  469. /package/dist/{src → packages/components/src}/renderers/overlay/context-menu.d.ts +0 -0
  470. /package/dist/{src → packages/components/src}/renderers/overlay/dialog.d.ts +0 -0
  471. /package/dist/{src → packages/components/src}/renderers/overlay/drawer.d.ts +0 -0
  472. /package/dist/{src → packages/components/src}/renderers/overlay/dropdown-menu.d.ts +0 -0
  473. /package/dist/{src → packages/components/src}/renderers/overlay/hover-card.d.ts +0 -0
  474. /package/dist/{src → packages/components/src}/renderers/overlay/index.d.ts +0 -0
  475. /package/dist/{src → packages/components/src}/renderers/overlay/menubar.d.ts +0 -0
  476. /package/dist/{src → packages/components/src}/renderers/overlay/popover.d.ts +0 -0
  477. /package/dist/{src → packages/components/src}/renderers/overlay/sheet.d.ts +0 -0
  478. /package/dist/{src → packages/components/src}/renderers/overlay/tooltip.d.ts +0 -0
  479. /package/dist/{src → packages/components/src}/renderers/placeholders.d.ts +0 -0
  480. /package/dist/{src → packages/components/src}/types/config-panel.d.ts +0 -0
  481. /package/dist/{src → packages/components/src}/ui/alert.d.ts +0 -0
  482. /package/dist/{src → packages/components/src}/ui/badge.d.ts +0 -0
  483. /package/dist/{src → packages/components/src}/ui/breadcrumb.d.ts +0 -0
  484. /package/dist/{src → packages/components/src}/ui/calendar.d.ts +0 -0
  485. /package/dist/{src → packages/components/src}/ui/card.d.ts +0 -0
  486. /package/dist/{src → packages/components/src}/ui/carousel.d.ts +0 -0
  487. /package/dist/{src → packages/components/src}/ui/index.d.ts +0 -0
  488. /package/dist/{src → packages/components/src}/ui/input-otp.d.ts +0 -0
  489. /package/dist/{src → packages/components/src}/ui/input.d.ts +0 -0
  490. /package/dist/{src → packages/components/src}/ui/pagination.d.ts +0 -0
  491. /package/dist/{src → packages/components/src}/ui/skeleton.d.ts +0 -0
  492. /package/dist/{src → packages/components/src}/ui/sonner.d.ts +0 -0
  493. /package/dist/{src → packages/components/src}/ui/table.d.ts +0 -0
  494. /package/dist/{src → packages/components/src}/ui/textarea.d.ts +0 -0
  495. /package/dist/{src → packages/components/src}/ui/typography.d.ts +0 -0
@@ -1,208 +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 { ContextMenu as ContextMenuPrimitive } from "radix-ui"
13
- import { Check, ChevronRight, Circle } from "lucide-react"
14
-
15
- import { cn } from "../lib/utils"
16
-
17
- const ContextMenu = ContextMenuPrimitive.Root
18
-
19
- const ContextMenuTrigger = ContextMenuPrimitive.Trigger
20
-
21
- const ContextMenuGroup = ContextMenuPrimitive.Group
22
-
23
- const ContextMenuPortal = ContextMenuPrimitive.Portal
24
-
25
- const ContextMenuSub = ContextMenuPrimitive.Sub
26
-
27
- const ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup
28
-
29
- const ContextMenuSubTrigger = React.forwardRef<
30
- React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,
31
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {
32
- inset?: boolean
33
- }
34
- >(({ className, inset, children, ...props }, ref) => (
35
- <ContextMenuPrimitive.SubTrigger
36
- ref={ref}
37
- className={cn(
38
- "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
39
- inset && "pl-8",
40
- className
41
- )}
42
- {...props}
43
- >
44
- {children}
45
- <ChevronRight className="ml-auto h-4 w-4" />
46
- </ContextMenuPrimitive.SubTrigger>
47
- ))
48
- ContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName
49
-
50
- const ContextMenuSubContent = React.forwardRef<
51
- React.ElementRef<typeof ContextMenuPrimitive.SubContent>,
52
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>
53
- >(({ className, ...props }, ref) => (
54
- <ContextMenuPrimitive.SubContent
55
- ref={ref}
56
- className={cn(
57
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 origin-[--radix-context-menu-content-transform-origin]",
58
- className
59
- )}
60
- {...props}
61
- />
62
- ))
63
- ContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName
64
-
65
- const ContextMenuContent = React.forwardRef<
66
- React.ElementRef<typeof ContextMenuPrimitive.Content>,
67
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>
68
- >(({ className, ...props }, ref) => (
69
- <ContextMenuPrimitive.Portal>
70
- <ContextMenuPrimitive.Content
71
- ref={ref}
72
- className={cn(
73
- "z-50 max-h-[--radix-context-menu-content-available-height] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md animate-in fade-in-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 origin-[--radix-context-menu-content-transform-origin]",
74
- className
75
- )}
76
- {...props}
77
- />
78
- </ContextMenuPrimitive.Portal>
79
- ))
80
- ContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName
81
-
82
- const ContextMenuItem = React.forwardRef<
83
- React.ElementRef<typeof ContextMenuPrimitive.Item>,
84
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {
85
- inset?: boolean
86
- }
87
- >(({ className, inset, ...props }, ref) => (
88
- <ContextMenuPrimitive.Item
89
- ref={ref}
90
- className={cn(
91
- "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
92
- inset && "pl-8",
93
- className
94
- )}
95
- {...props}
96
- />
97
- ))
98
- ContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName
99
-
100
- const ContextMenuCheckboxItem = React.forwardRef<
101
- React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,
102
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>
103
- >(({ className, children, checked, ...props }, ref) => (
104
- <ContextMenuPrimitive.CheckboxItem
105
- ref={ref}
106
- className={cn(
107
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
108
- className
109
- )}
110
- checked={checked}
111
- {...props}
112
- >
113
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
114
- <ContextMenuPrimitive.ItemIndicator>
115
- <Check className="h-4 w-4" />
116
- </ContextMenuPrimitive.ItemIndicator>
117
- </span>
118
- {children}
119
- </ContextMenuPrimitive.CheckboxItem>
120
- ))
121
- ContextMenuCheckboxItem.displayName =
122
- ContextMenuPrimitive.CheckboxItem.displayName
123
-
124
- const ContextMenuRadioItem = React.forwardRef<
125
- React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,
126
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>
127
- >(({ className, children, ...props }, ref) => (
128
- <ContextMenuPrimitive.RadioItem
129
- ref={ref}
130
- className={cn(
131
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
132
- className
133
- )}
134
- {...props}
135
- >
136
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
137
- <ContextMenuPrimitive.ItemIndicator>
138
- <Circle className="h-2 w-2 fill-current" />
139
- </ContextMenuPrimitive.ItemIndicator>
140
- </span>
141
- {children}
142
- </ContextMenuPrimitive.RadioItem>
143
- ))
144
- ContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName
145
-
146
- const ContextMenuLabel = React.forwardRef<
147
- React.ElementRef<typeof ContextMenuPrimitive.Label>,
148
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {
149
- inset?: boolean
150
- }
151
- >(({ className, inset, ...props }, ref) => (
152
- <ContextMenuPrimitive.Label
153
- ref={ref}
154
- className={cn(
155
- "px-2 py-1.5 text-sm font-semibold text-foreground",
156
- inset && "pl-8",
157
- className
158
- )}
159
- {...props}
160
- />
161
- ))
162
- ContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName
163
-
164
- const ContextMenuSeparator = React.forwardRef<
165
- React.ElementRef<typeof ContextMenuPrimitive.Separator>,
166
- React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>
167
- >(({ className, ...props }, ref) => (
168
- <ContextMenuPrimitive.Separator
169
- ref={ref}
170
- className={cn("-mx-1 my-1 h-px bg-border", className)}
171
- {...props}
172
- />
173
- ))
174
- ContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName
175
-
176
- const ContextMenuShortcut = ({
177
- className,
178
- ...props
179
- }: React.HTMLAttributes<HTMLSpanElement>) => {
180
- return (
181
- <span
182
- className={cn(
183
- "ml-auto text-xs tracking-widest text-muted-foreground",
184
- className
185
- )}
186
- {...props}
187
- />
188
- )
189
- }
190
- ContextMenuShortcut.displayName = "ContextMenuShortcut"
191
-
192
- export {
193
- ContextMenu,
194
- ContextMenuTrigger,
195
- ContextMenuContent,
196
- ContextMenuItem,
197
- ContextMenuCheckboxItem,
198
- ContextMenuRadioItem,
199
- ContextMenuLabel,
200
- ContextMenuSeparator,
201
- ContextMenuShortcut,
202
- ContextMenuGroup,
203
- ContextMenuPortal,
204
- ContextMenuSub,
205
- ContextMenuSubContent,
206
- ContextMenuSubTrigger,
207
- ContextMenuRadioGroup,
208
- }
package/src/ui/dialog.tsx DELETED
@@ -1,147 +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 { Dialog as DialogPrimitive } from "radix-ui"
13
- import { X } from "lucide-react"
14
-
15
- import { cn } from "../lib/utils"
16
-
17
- const Dialog = DialogPrimitive.Root
18
-
19
- const DialogTrigger = DialogPrimitive.Trigger
20
-
21
- const DialogPortal = DialogPrimitive.Portal
22
-
23
- const DialogClose = DialogPrimitive.Close
24
-
25
- const DialogOverlay = React.forwardRef<
26
- React.ElementRef<typeof DialogPrimitive.Overlay>,
27
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>
28
- >(({ className, ...props }, ref) => (
29
- <DialogPrimitive.Overlay
30
- ref={ref}
31
- className={cn(
32
- "fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
33
- className
34
- )}
35
- {...props}
36
- />
37
- ))
38
- DialogOverlay.displayName = DialogPrimitive.Overlay.displayName
39
-
40
- const DialogContent = React.forwardRef<
41
- React.ElementRef<typeof DialogPrimitive.Content>,
42
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>
43
- >(({ className, children, ...props }, ref) => (
44
- <DialogPortal>
45
- <DialogOverlay />
46
- <DialogPrimitive.Content
47
- ref={ref}
48
- className={cn(
49
- // Mobile-first: full-screen
50
- "fixed inset-0 z-50 grid w-full bg-background p-4 shadow-lg duration-200",
51
- "h-[100dvh]",
52
- // Desktop (sm+): centered dialog with border + rounded corners
53
- "sm:inset-auto sm:left-[50%] sm:top-[50%] sm:translate-x-[-50%] sm:translate-y-[-50%]",
54
- "sm:max-w-lg sm:h-auto sm:max-h-[90vh] sm:rounded-lg sm:border sm:p-6",
55
- // Animations
56
- "data-[state=open]:animate-in data-[state=closed]:animate-out",
57
- "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
58
- "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
59
- "data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%]",
60
- "data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%]",
61
- className
62
- )}
63
- {...props}
64
- >
65
- {children}
66
- <DialogPrimitive.Close className={cn(
67
- "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity",
68
- "hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
69
- "disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",
70
- // Mobile touch target ≥ 44×44px (WCAG 2.5.5)
71
- "min-h-[44px] min-w-[44px] sm:min-h-0 sm:min-w-0 flex items-center justify-center",
72
- )}>
73
- <X className="h-5 w-5 sm:h-4 sm:w-4" />
74
- <span className="sr-only">Close</span>
75
- </DialogPrimitive.Close>
76
- </DialogPrimitive.Content>
77
- </DialogPortal>
78
- ))
79
- DialogContent.displayName = DialogPrimitive.Content.displayName
80
-
81
- const DialogHeader = ({
82
- className,
83
- ...props
84
- }: React.HTMLAttributes<HTMLDivElement>) => (
85
- <div
86
- className={cn(
87
- "flex flex-col space-y-1.5 text-center sm:text-left",
88
- className
89
- )}
90
- {...props}
91
- />
92
- )
93
- DialogHeader.displayName = "DialogHeader"
94
-
95
- const DialogFooter = ({
96
- className,
97
- ...props
98
- }: React.HTMLAttributes<HTMLDivElement>) => (
99
- <div
100
- className={cn(
101
- "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",
102
- className
103
- )}
104
- {...props}
105
- />
106
- )
107
- DialogFooter.displayName = "DialogFooter"
108
-
109
- const DialogTitle = React.forwardRef<
110
- React.ElementRef<typeof DialogPrimitive.Title>,
111
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>
112
- >(({ className, ...props }, ref) => (
113
- <DialogPrimitive.Title
114
- ref={ref}
115
- className={cn(
116
- "text-lg font-semibold leading-none tracking-tight",
117
- className
118
- )}
119
- {...props}
120
- />
121
- ))
122
- DialogTitle.displayName = DialogPrimitive.Title.displayName
123
-
124
- const DialogDescription = React.forwardRef<
125
- React.ElementRef<typeof DialogPrimitive.Description>,
126
- React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>
127
- >(({ className, ...props }, ref) => (
128
- <DialogPrimitive.Description
129
- ref={ref}
130
- className={cn("text-sm text-muted-foreground", className)}
131
- {...props}
132
- />
133
- ))
134
- DialogDescription.displayName = DialogPrimitive.Description.displayName
135
-
136
- export {
137
- Dialog,
138
- DialogPortal,
139
- DialogOverlay,
140
- DialogClose,
141
- DialogTrigger,
142
- DialogContent,
143
- DialogHeader,
144
- DialogFooter,
145
- DialogTitle,
146
- DialogDescription,
147
- }
package/src/ui/drawer.tsx DELETED
@@ -1,126 +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 { Drawer as DrawerPrimitive } from "vaul"
13
-
14
- import { cn } from "../lib/utils"
15
-
16
- const Drawer = ({
17
- shouldScaleBackground = true,
18
- ...props
19
- }: React.ComponentProps<typeof DrawerPrimitive.Root>) => (
20
- <DrawerPrimitive.Root
21
- shouldScaleBackground={shouldScaleBackground}
22
- {...props}
23
- />
24
- )
25
- Drawer.displayName = "Drawer"
26
-
27
- const DrawerTrigger: React.FC<React.ComponentPropsWithoutRef<"button"> & { asChild?: boolean }> = DrawerPrimitive.Trigger
28
-
29
- const DrawerPortal = DrawerPrimitive.Portal
30
-
31
- const DrawerClose: React.FC<React.ComponentPropsWithoutRef<"button"> & { asChild?: boolean }> = DrawerPrimitive.Close
32
-
33
- const DrawerOverlay = React.forwardRef<
34
- HTMLDivElement,
35
- React.ComponentPropsWithoutRef<"div">
36
- >(({ className, ...props }, ref) => (
37
- <DrawerPrimitive.Overlay
38
- ref={ref}
39
- className={cn("fixed inset-0 z-50 bg-black/80", className)}
40
- {...props}
41
- />
42
- ))
43
- DrawerOverlay.displayName = "DrawerOverlay"
44
-
45
- const DrawerContent = React.forwardRef<
46
- HTMLDivElement,
47
- React.ComponentPropsWithoutRef<"div">
48
- >(({ className, children, ...props }, ref) => (
49
- <DrawerPortal>
50
- <DrawerOverlay />
51
- <DrawerPrimitive.Content
52
- ref={ref}
53
- className={cn(
54
- "fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background",
55
- className
56
- )}
57
- {...props}
58
- >
59
- <div className="mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted" />
60
- {children}
61
- </DrawerPrimitive.Content>
62
- </DrawerPortal>
63
- ))
64
- DrawerContent.displayName = "DrawerContent"
65
-
66
- const DrawerHeader = ({
67
- className,
68
- ...props
69
- }: React.HTMLAttributes<HTMLDivElement>) => (
70
- <div
71
- className={cn("grid gap-1.5 p-4 text-center sm:text-left", className)}
72
- {...props}
73
- />
74
- )
75
- DrawerHeader.displayName = "DrawerHeader"
76
-
77
- const DrawerFooter = ({
78
- className,
79
- ...props
80
- }: React.HTMLAttributes<HTMLDivElement>) => (
81
- <div
82
- className={cn("mt-auto flex flex-col gap-2 p-4", className)}
83
- {...props}
84
- />
85
- )
86
- DrawerFooter.displayName = "DrawerFooter"
87
-
88
- const DrawerTitle = React.forwardRef<
89
- HTMLHeadingElement,
90
- React.ComponentPropsWithoutRef<"h2">
91
- >(({ className, ...props }, ref) => (
92
- <DrawerPrimitive.Title
93
- ref={ref}
94
- className={cn(
95
- "text-lg font-semibold leading-none tracking-tight",
96
- className
97
- )}
98
- {...props}
99
- />
100
- ))
101
- DrawerTitle.displayName = "DrawerTitle"
102
-
103
- const DrawerDescription = React.forwardRef<
104
- HTMLParagraphElement,
105
- React.ComponentPropsWithoutRef<"p">
106
- >(({ className, ...props }, ref) => (
107
- <DrawerPrimitive.Description
108
- ref={ref}
109
- className={cn("text-sm text-muted-foreground", className)}
110
- {...props}
111
- />
112
- ))
113
- DrawerDescription.displayName = "DrawerDescription"
114
-
115
- export {
116
- Drawer,
117
- DrawerPortal,
118
- DrawerOverlay,
119
- DrawerTrigger,
120
- DrawerClose,
121
- DrawerContent,
122
- DrawerHeader,
123
- DrawerFooter,
124
- DrawerTitle,
125
- DrawerDescription,
126
- }
@@ -1,208 +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 { DropdownMenu as DropdownMenuPrimitive } from "radix-ui"
13
- import { Check, ChevronRight, Circle } from "lucide-react"
14
-
15
- import { cn } from "../lib/utils"
16
-
17
- const DropdownMenu = DropdownMenuPrimitive.Root
18
-
19
- const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger
20
-
21
- const DropdownMenuGroup = DropdownMenuPrimitive.Group
22
-
23
- const DropdownMenuPortal = DropdownMenuPrimitive.Portal
24
-
25
- const DropdownMenuSub = DropdownMenuPrimitive.Sub
26
-
27
- const DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup
28
-
29
- const DropdownMenuSubTrigger = React.forwardRef<
30
- React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,
31
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {
32
- inset?: boolean
33
- }
34
- >(({ className, inset, children, ...props }, ref) => (
35
- <DropdownMenuPrimitive.SubTrigger
36
- ref={ref}
37
- className={cn(
38
- "flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
39
- inset && "pl-8",
40
- className
41
- )}
42
- {...props}
43
- >
44
- {children}
45
- <ChevronRight className="ml-auto" />
46
- </DropdownMenuPrimitive.SubTrigger>
47
- ))
48
- DropdownMenuSubTrigger.displayName =
49
- DropdownMenuPrimitive.SubTrigger.displayName
50
-
51
- const DropdownMenuSubContent = React.forwardRef<
52
- React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,
53
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>
54
- >(({ className, ...props }, ref) => (
55
- <DropdownMenuPrimitive.SubContent
56
- ref={ref}
57
- className={cn(
58
- "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 origin-[--radix-dropdown-menu-content-transform-origin]",
59
- className
60
- )}
61
- {...props}
62
- />
63
- ))
64
- DropdownMenuSubContent.displayName =
65
- DropdownMenuPrimitive.SubContent.displayName
66
-
67
- const DropdownMenuContent = React.forwardRef<
68
- React.ElementRef<typeof DropdownMenuPrimitive.Content>,
69
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>
70
- >(({ className, sideOffset = 4, ...props }, ref) => (
71
- <DropdownMenuPrimitive.Portal>
72
- <DropdownMenuPrimitive.Content
73
- ref={ref}
74
- sideOffset={sideOffset}
75
- className={cn(
76
- "z-50 max-h-[var(--radix-dropdown-menu-content-available-height)] min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 origin-[--radix-dropdown-menu-content-transform-origin]",
77
- className
78
- )}
79
- {...props}
80
- />
81
- </DropdownMenuPrimitive.Portal>
82
- ))
83
- DropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName
84
-
85
- const DropdownMenuItem = React.forwardRef<
86
- React.ElementRef<typeof DropdownMenuPrimitive.Item>,
87
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {
88
- inset?: boolean
89
- }
90
- >(({ className, inset, ...props }, ref) => (
91
- <DropdownMenuPrimitive.Item
92
- ref={ref}
93
- className={cn(
94
- "relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
95
- inset && "pl-8",
96
- className
97
- )}
98
- {...props}
99
- />
100
- ))
101
- DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName
102
-
103
- const DropdownMenuCheckboxItem = React.forwardRef<
104
- React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,
105
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>
106
- >(({ className, children, checked, ...props }, ref) => (
107
- <DropdownMenuPrimitive.CheckboxItem
108
- ref={ref}
109
- className={cn(
110
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
111
- className
112
- )}
113
- checked={checked}
114
- {...props}
115
- >
116
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
117
- <DropdownMenuPrimitive.ItemIndicator>
118
- <Check className="h-4 w-4" />
119
- </DropdownMenuPrimitive.ItemIndicator>
120
- </span>
121
- {children}
122
- </DropdownMenuPrimitive.CheckboxItem>
123
- ))
124
- DropdownMenuCheckboxItem.displayName =
125
- DropdownMenuPrimitive.CheckboxItem.displayName
126
-
127
- const DropdownMenuRadioItem = React.forwardRef<
128
- React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,
129
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>
130
- >(({ className, children, ...props }, ref) => (
131
- <DropdownMenuPrimitive.RadioItem
132
- ref={ref}
133
- className={cn(
134
- "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
135
- className
136
- )}
137
- {...props}
138
- >
139
- <span className="absolute left-2 flex h-3.5 w-3.5 items-center justify-center">
140
- <DropdownMenuPrimitive.ItemIndicator>
141
- <Circle className="h-2 w-2 fill-current" />
142
- </DropdownMenuPrimitive.ItemIndicator>
143
- </span>
144
- {children}
145
- </DropdownMenuPrimitive.RadioItem>
146
- ))
147
- DropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName
148
-
149
- const DropdownMenuLabel = React.forwardRef<
150
- React.ElementRef<typeof DropdownMenuPrimitive.Label>,
151
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {
152
- inset?: boolean
153
- }
154
- >(({ className, inset, ...props }, ref) => (
155
- <DropdownMenuPrimitive.Label
156
- ref={ref}
157
- className={cn(
158
- "px-2 py-1.5 text-sm font-semibold",
159
- inset && "pl-8",
160
- className
161
- )}
162
- {...props}
163
- />
164
- ))
165
- DropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName
166
-
167
- const DropdownMenuSeparator = React.forwardRef<
168
- React.ElementRef<typeof DropdownMenuPrimitive.Separator>,
169
- React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>
170
- >(({ className, ...props }, ref) => (
171
- <DropdownMenuPrimitive.Separator
172
- ref={ref}
173
- className={cn("-mx-1 my-1 h-px bg-muted", className)}
174
- {...props}
175
- />
176
- ))
177
- DropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName
178
-
179
- const DropdownMenuShortcut = ({
180
- className,
181
- ...props
182
- }: React.HTMLAttributes<HTMLSpanElement>) => {
183
- return (
184
- <span
185
- className={cn("ml-auto text-xs tracking-widest opacity-60", className)}
186
- {...props}
187
- />
188
- )
189
- }
190
- DropdownMenuShortcut.displayName = "DropdownMenuShortcut"
191
-
192
- export {
193
- DropdownMenu,
194
- DropdownMenuTrigger,
195
- DropdownMenuContent,
196
- DropdownMenuItem,
197
- DropdownMenuCheckboxItem,
198
- DropdownMenuRadioItem,
199
- DropdownMenuLabel,
200
- DropdownMenuSeparator,
201
- DropdownMenuShortcut,
202
- DropdownMenuGroup,
203
- DropdownMenuPortal,
204
- DropdownMenuSub,
205
- DropdownMenuSubContent,
206
- DropdownMenuSubTrigger,
207
- DropdownMenuRadioGroup,
208
- }