@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,97 +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 { ComponentRegistry } from '@object-ui/core';
10
- import type { TabsSchema } from '@object-ui/types';
11
- import { renderChildren } from '../../lib/utils';
12
- import {
13
- Tabs,
14
- TabsList,
15
- TabsTrigger,
16
- TabsContent
17
- } from '../../ui';
18
- import { cn } from '../../lib/utils';
19
- import React from 'react';
20
-
21
- const TabsRenderer = ({ schema, className, onChange, value, ...props }: { schema: TabsSchema; className?: string; onChange?: (val: string) => void; value?: string; [key: string]: any }) => {
22
- // Extract designer-related props
23
- const {
24
- 'data-obj-id': dataObjId,
25
- 'data-obj-type': dataObjType,
26
- style,
27
- ...tabsProps
28
- } = props;
29
-
30
- const handleValueChange = (val: string) => {
31
- if (onChange) {
32
- onChange(val);
33
- }
34
- };
35
-
36
- const isVertical = schema.orientation === 'vertical';
37
-
38
- return (
39
- <Tabs
40
- defaultValue={value === undefined ? schema.defaultValue : undefined}
41
- value={value ?? schema.value}
42
- onValueChange={handleValueChange}
43
- orientation={schema.orientation || 'horizontal'}
44
- className={cn(className, isVertical && "flex gap-2")}
45
- {...tabsProps}
46
- // Apply designer props
47
- {...{ 'data-obj-id': dataObjId, 'data-obj-type': dataObjType, style }}
48
- >
49
- <TabsList className={cn(isVertical && "flex-col h-auto items-stretch bg-muted/50 p-1")}>
50
- {schema.items?.map((item) => (
51
- <TabsTrigger
52
- key={item.value}
53
- value={item.value}
54
- disabled={item.disabled}
55
- className={cn(isVertical && "justify-start")}
56
- >
57
- {item.label}
58
- </TabsTrigger>
59
- ))}
60
- </TabsList>
61
- {schema.items?.map((item) => (
62
- <TabsContent
63
- key={item.value}
64
- value={item.value}
65
- className={cn("mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2", isVertical && "mt-0 flex-1")}
66
- >
67
- {renderChildren(item.content || (item as any).body)}
68
- </TabsContent>
69
- ))}
70
- </Tabs>
71
- );
72
- };
73
-
74
- ComponentRegistry.register('tabs', TabsRenderer,
75
- {
76
- namespace: 'ui',
77
- label: 'Tabs',
78
- inputs: [
79
- { name: 'defaultValue', type: 'string', label: 'Default Value', required: true },
80
- { name: 'className', type: 'string', label: 'CSS Class' },
81
- {
82
- name: 'items',
83
- type: 'array',
84
- label: 'Items'
85
- }
86
- ],
87
- defaultProps: {
88
- defaultValue: 'tab1',
89
- items: [
90
- { label: 'Tab 1', value: 'tab1', body: [{ type: 'text', content: 'Content for Tab 1' }] },
91
- { label: 'Tab 2', value: 'tab2', body: [{ type: 'text', content: 'Content for Tab 2' }] },
92
- { label: 'Tab 3', value: 'tab3', body: [{ type: 'text', content: 'Content for Tab 3' }] }
93
- ],
94
- className: 'w-full'
95
- }
96
- }
97
- );
@@ -1,118 +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 React from 'react';
10
- import { ComponentRegistry } from '@object-ui/core';
11
- import type { HeaderBarSchema, BreadcrumbItem as BreadcrumbItemType } from '@object-ui/types';
12
- import { resolveI18nLabel, SchemaRenderer } from '@object-ui/react';
13
- import {
14
- SidebarTrigger,
15
- Separator,
16
- Breadcrumb,
17
- BreadcrumbList,
18
- BreadcrumbItem,
19
- BreadcrumbLink,
20
- BreadcrumbSeparator,
21
- BreadcrumbPage,
22
- DropdownMenu,
23
- DropdownMenuTrigger,
24
- DropdownMenuContent,
25
- DropdownMenuItem,
26
- Input,
27
- } from '../../ui';
28
- import { ChevronDown, Search } from 'lucide-react';
29
-
30
- function BreadcrumbLabel({ crumb, isLast }: { crumb: BreadcrumbItemType; isLast: boolean }) {
31
- const label = resolveI18nLabel(crumb.label) ?? '';
32
-
33
- if (crumb.siblings && crumb.siblings.length > 0) {
34
- return (
35
- <DropdownMenu>
36
- <DropdownMenuTrigger className="flex items-center gap-1">
37
- {isLast ? (
38
- <span className="font-semibold">{label}</span>
39
- ) : (
40
- <span>{label}</span>
41
- )}
42
- <ChevronDown className="h-3 w-3" />
43
- </DropdownMenuTrigger>
44
- <DropdownMenuContent align="start">
45
- {crumb.siblings.map((sibling, i) => (
46
- <DropdownMenuItem key={i} asChild>
47
- <a href={sibling.href}>{sibling.label}</a>
48
- </DropdownMenuItem>
49
- ))}
50
- </DropdownMenuContent>
51
- </DropdownMenu>
52
- );
53
- }
54
-
55
- if (isLast) {
56
- return <BreadcrumbPage>{label}</BreadcrumbPage>;
57
- }
58
- return <BreadcrumbLink href={crumb.href || '#'}>{label}</BreadcrumbLink>;
59
- }
60
-
61
- ComponentRegistry.register('header-bar',
62
- ({ schema }: { schema: HeaderBarSchema }) => (
63
- <header className="flex h-14 sm:h-16 shrink-0 items-center gap-2 border-b px-3 sm:px-4">
64
- <SidebarTrigger />
65
- <Separator orientation="vertical" className="mr-2 h-4" />
66
- <Breadcrumb>
67
- <BreadcrumbList>
68
- {schema.crumbs?.map((crumb: BreadcrumbItemType, idx: number) => (
69
- <React.Fragment key={idx}>
70
- <BreadcrumbItem>
71
- <BreadcrumbLabel crumb={crumb} isLast={idx === schema.crumbs!.length - 1} />
72
- </BreadcrumbItem>
73
- {idx < schema.crumbs!.length - 1 && <BreadcrumbSeparator />}
74
- </React.Fragment>
75
- ))}
76
- </BreadcrumbList>
77
- </Breadcrumb>
78
-
79
- <div className="ml-auto flex items-center gap-2">
80
- {schema.search?.enabled && (
81
- <div className="relative">
82
- <Search className="absolute left-2.5 top-2.5 h-4 w-4 text-muted-foreground" />
83
- <Input
84
- type="search"
85
- placeholder={schema.search.placeholder}
86
- className="pl-8 w-[200px] lg:w-[300px]"
87
- />
88
- {schema.search.shortcut && (
89
- <kbd className="pointer-events-none absolute right-2 top-2 hidden h-5 select-none items-center gap-1 rounded border bg-muted px-1.5 font-mono text-[10px] font-medium opacity-100 sm:flex">
90
- {schema.search.shortcut}
91
- </kbd>
92
- )}
93
- </div>
94
- )}
95
- {schema.actions?.map((action, idx) => (
96
- <SchemaRenderer key={idx} schema={action} />
97
- ))}
98
- {schema.rightContent && <SchemaRenderer schema={schema.rightContent} />}
99
- </div>
100
- </header>
101
- ),
102
- {
103
- namespace: 'ui',
104
- label: 'Header Bar',
105
- inputs: [
106
- { name: 'crumbs', type: 'array', label: 'Breadcrumbs' },
107
- { name: 'search', type: 'object', label: 'Search Configuration' },
108
- { name: 'actions', type: 'array', label: 'Action Slots' },
109
- { name: 'rightContent', type: 'object', label: 'Right Content' },
110
- ],
111
- defaultProps: {
112
- crumbs: [
113
- { label: 'Home', href: '#' },
114
- { label: 'Current Page' }
115
- ]
116
- }
117
- }
118
- );
@@ -1,10 +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 './sidebar';
10
- import './header-bar';
@@ -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
- import { ComponentRegistry } from '@object-ui/core';
10
- import type { SidebarSchema } from '@object-ui/types';
11
- import { renderChildren } from '../../lib/utils';
12
- import {
13
- SidebarProvider,
14
- Sidebar,
15
- SidebarHeader,
16
- SidebarContent,
17
- SidebarGroup,
18
- SidebarGroupLabel,
19
- SidebarGroupContent,
20
- SidebarMenu,
21
- SidebarMenuItem,
22
- SidebarMenuButton,
23
- SidebarFooter,
24
- SidebarTrigger,
25
- SidebarInset
26
- } from '../../ui';
27
-
28
- ComponentRegistry.register('sidebar-provider',
29
- ({ schema, ...props }) => (
30
- <SidebarProvider {...props}>{renderChildren(schema.body)}</SidebarProvider>
31
- ),
32
- {
33
- namespace: 'ui',
34
- label: 'Sidebar Provider',
35
- inputs: [
36
- { name: 'defaultOpen', type: 'boolean', label: 'Default Open', defaultValue: true }
37
- ],
38
- defaultProps: {
39
- defaultOpen: true
40
- },
41
- defaultChildren: [
42
- { type: 'sidebar' },
43
- { type: 'sidebar-inset' }
44
- ]
45
- }
46
- );
47
-
48
- ComponentRegistry.register('sidebar',
49
- ({ schema, ...props }: { schema: SidebarSchema; [key: string]: any }) => (
50
- <Sidebar {...props}>{renderChildren(schema.body)}</Sidebar>
51
- ),
52
- {
53
- namespace: 'ui',
54
- label: 'Sidebar',
55
- inputs: [
56
- { name: 'collapsible', type: 'enum', enum: ['offcanvas', 'icon', 'none'], defaultValue: 'icon', label: 'Collapsible' },
57
- { name: 'side', type: 'enum', enum: ['left', 'right'], defaultValue: 'left', label: 'Side' },
58
- { name: 'variant', type: 'enum', enum: ['sidebar', 'floating', 'inset'], defaultValue: 'sidebar', label: 'Variant' }
59
- ],
60
- defaultProps: {
61
- collapsible: 'icon',
62
- side: 'left',
63
- variant: 'sidebar'
64
- },
65
- defaultChildren: [
66
- { type: 'sidebar-header' },
67
- { type: 'sidebar-content' },
68
- { type: 'sidebar-footer' }
69
- ]
70
- }
71
- );
72
-
73
- ComponentRegistry.register('sidebar-header',
74
- ({ schema, ...props }) => (
75
- <SidebarHeader {...props}>{renderChildren(schema.body)}</SidebarHeader>
76
- ),
77
- {
78
- namespace: 'ui',
79
- label: 'Sidebar Header',
80
- defaultChildren: [
81
- { type: 'text', content: 'Sidebar Header' }
82
- ]
83
- }
84
- );
85
-
86
- ComponentRegistry.register('sidebar-content',
87
- ({ schema, ...props }) => (
88
- <SidebarContent {...props}>{renderChildren(schema.body)}</SidebarContent>
89
- ),
90
- {
91
- namespace: 'ui',
92
- label: 'Sidebar Content',
93
- defaultChildren: [
94
- { type: 'sidebar-group' }
95
- ]
96
- }
97
- );
98
-
99
- ComponentRegistry.register('sidebar-group',
100
- ({ schema, ...props }) => (
101
- <SidebarGroup {...props}>
102
- {schema.label && <SidebarGroupLabel>{schema.label}</SidebarGroupLabel>}
103
- <SidebarGroupContent>
104
- {renderChildren(schema.body)}
105
- </SidebarGroupContent>
106
- </SidebarGroup>
107
- ),
108
- {
109
- namespace: 'ui',
110
- label: 'Sidebar Group',
111
- inputs: [
112
- { name: 'label', type: 'string', label: 'Label' }
113
- ],
114
- defaultProps: {
115
- label: 'Menu'
116
- },
117
- defaultChildren: [
118
- { type: 'sidebar-menu' }
119
- ]
120
- }
121
- );
122
-
123
- ComponentRegistry.register('sidebar-menu',
124
- ({ schema, ...props }) => (
125
- <SidebarMenu {...props}>{renderChildren(schema.body)}</SidebarMenu>
126
- ),
127
- {
128
- namespace: 'ui',
129
- label: 'Sidebar Menu',
130
- defaultChildren: [
131
- { type: 'sidebar-menu-item' },
132
- { type: 'sidebar-menu-item' }
133
- ]
134
- }
135
- );
136
-
137
- ComponentRegistry.register('sidebar-menu-item',
138
- ({ schema, ...props }) => (
139
- <SidebarMenuItem {...props}>{renderChildren(schema.body)}</SidebarMenuItem>
140
- ),
141
- {
142
- namespace: 'ui',
143
- label: 'Sidebar Menu Item',
144
- defaultChildren: [
145
- { type: 'sidebar-menu-button' }
146
- ]
147
- }
148
- );
149
-
150
- ComponentRegistry.register('sidebar-menu-button',
151
- ({ schema, ...props }) => (
152
- <SidebarMenuButton isActive={schema.active} {...props}>
153
- {renderChildren(schema.body)}
154
- </SidebarMenuButton>
155
- ),
156
- {
157
- namespace: 'ui',
158
- label: 'Sidebar Menu Button',
159
- inputs: [
160
- { name: 'active', type: 'boolean', label: 'Active', defaultValue: false },
161
- { name: 'size', type: 'enum', enum: ['default', 'sm', 'lg'], defaultValue: 'default', label: 'Size' },
162
- { name: 'tooltip', type: 'string', label: 'Tooltip' }
163
- ],
164
- defaultProps: {
165
- size: 'default'
166
- },
167
- defaultChildren: [
168
- { type: 'text', content: 'Menu Item' }
169
- ]
170
- }
171
- );
172
-
173
- ComponentRegistry.register('sidebar-footer',
174
- ({ schema, ...props }) => (
175
- <SidebarFooter {...props}>{renderChildren(schema.body)}</SidebarFooter>
176
- ),
177
- {
178
- namespace: 'ui',
179
- label: 'Sidebar Footer',
180
- defaultChildren: [
181
- { type: 'text', content: 'Footer' }
182
- ]
183
- }
184
- );
185
-
186
- ComponentRegistry.register('sidebar-inset',
187
- ({ schema, ...props }) => (
188
- <SidebarInset {...props}>{renderChildren(schema.body)}</SidebarInset>
189
- ),
190
- {
191
- namespace: 'ui',
192
- label: 'Sidebar Inset',
193
- defaultChildren: [
194
- { type: 'div', className: 'p-4', body: [{ type: 'text', content: 'Main content area' }] }
195
- ]
196
- }
197
- );
198
-
199
- ComponentRegistry.register('sidebar-trigger',
200
- ({ className, ...props }) => (
201
- <SidebarTrigger className={className} {...props} />
202
- ),
203
- {
204
- namespace: 'ui',
205
- label: 'Sidebar Trigger',
206
- inputs: [{ name: 'className', type: 'string', label: 'CSS Class' }]
207
- }
208
- );
@@ -1,72 +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 { ComponentRegistry } from '@object-ui/core';
10
- import type { AlertDialogSchema } from '@object-ui/types';
11
- import {
12
- AlertDialog,
13
- AlertDialogTrigger,
14
- AlertDialogContent,
15
- AlertDialogHeader,
16
- AlertDialogFooter,
17
- AlertDialogTitle,
18
- AlertDialogDescription,
19
- AlertDialogAction,
20
- AlertDialogCancel
21
- } from '../../ui';
22
- import { renderChildren } from '../../lib/utils';
23
-
24
- ComponentRegistry.register('alert-dialog',
25
- ({ schema, className, ...props }: { schema: AlertDialogSchema; className?: string; [key: string]: any }) => (
26
- <AlertDialog defaultOpen={schema.defaultOpen} {...props}>
27
- <AlertDialogTrigger asChild>
28
- {renderChildren(schema.trigger)}
29
- </AlertDialogTrigger>
30
- <AlertDialogContent className={className}>
31
- <AlertDialogHeader>
32
- {schema.title && <AlertDialogTitle>{schema.title}</AlertDialogTitle>}
33
- {schema.description && <AlertDialogDescription>{schema.description}</AlertDialogDescription>}
34
- </AlertDialogHeader>
35
- {renderChildren(schema.content)}
36
- <AlertDialogFooter>
37
- {schema.cancelText && <AlertDialogCancel>{schema.cancelText}</AlertDialogCancel>}
38
- {schema.actionText && <AlertDialogAction onClick={schema.onAction}>{schema.actionText}</AlertDialogAction>}
39
- </AlertDialogFooter>
40
- </AlertDialogContent>
41
- </AlertDialog>
42
- ),
43
- {
44
- namespace: 'ui',
45
- label: 'Alert Dialog',
46
- inputs: [
47
- { name: 'title', type: 'string', label: 'Title' },
48
- { name: 'description', type: 'string', label: 'Description' },
49
- { name: 'cancelText', type: 'string', label: 'Cancel Text', defaultValue: 'Cancel' },
50
- { name: 'actionText', type: 'string', label: 'Action Text', defaultValue: 'Continue' },
51
- { name: 'defaultOpen', type: 'boolean', label: 'Default Open' },
52
- {
53
- name: 'trigger',
54
- type: 'slot',
55
- label: 'Trigger'
56
- },
57
- {
58
- name: 'content',
59
- type: 'slot',
60
- label: 'Content/Body'
61
- },
62
- { name: 'className', type: 'string', label: 'Content CSS Class' }
63
- ],
64
- defaultProps: {
65
- title: 'Are you sure?',
66
- description: 'This action cannot be undone.',
67
- cancelText: 'Cancel',
68
- actionText: 'Continue',
69
- trigger: [{ type: 'button', label: 'Open Alert', variant: 'destructive' }]
70
- }
71
- }
72
- );
@@ -1,100 +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 { ComponentRegistry } from '@object-ui/core';
10
- import type { ContextMenuSchema } from '@object-ui/types';
11
- import {
12
- ContextMenu,
13
- ContextMenuTrigger,
14
- ContextMenuContent,
15
- ContextMenuItem,
16
- ContextMenuLabel,
17
- ContextMenuSeparator,
18
- ContextMenuSub,
19
- ContextMenuSubTrigger,
20
- ContextMenuSubContent,
21
- ContextMenuShortcut
22
- } from '../../ui';
23
- import { renderChildren } from '../../lib/utils';
24
-
25
- // Reuse helper for recursive menu items if I could share it, but for now duplicate concise logic
26
- const renderContextMenuItems = (items: any[]) => {
27
- if (!items) return null;
28
- return items.map((item: any, i: number) => {
29
- if (item.type === 'separator') return <ContextMenuSeparator key={i} />;
30
- if (item.type === 'label') return <ContextMenuLabel key={i}>{item.label}</ContextMenuLabel>;
31
- if (item.children) {
32
- return (
33
- <ContextMenuSub key={i}>
34
- <ContextMenuSubTrigger inset={item.inset}>
35
- {item.label}
36
- </ContextMenuSubTrigger>
37
- <ContextMenuSubContent>
38
- {renderContextMenuItems(item.children)}
39
- </ContextMenuSubContent>
40
- </ContextMenuSub>
41
- )
42
- }
43
-
44
- return (
45
- <ContextMenuItem key={i} disabled={item.disabled} inset={item.inset} onSelect={item.onSelect}>
46
- {item.label}
47
- {item.shortcut && <ContextMenuShortcut>{item.shortcut}</ContextMenuShortcut>}
48
- </ContextMenuItem>
49
- );
50
- });
51
- };
52
-
53
- ComponentRegistry.register('context-menu',
54
- ({ schema, className, ...props }: { schema: ContextMenuSchema; className?: string; [key: string]: any }) => {
55
- // Determine classes
56
- const triggerClass = schema.triggerClassName || className || (schema.className as string) || "h-[120px] w-full sm:h-[150px] sm:w-[300px] border border-dashed text-sm flex items-center justify-center";
57
- const contentClass = schema.contentClassName;
58
-
59
- return (
60
- <ContextMenu modal={schema.modal} {...props}>
61
- <ContextMenuTrigger asChild>
62
- {/* Usually a Right Click area */}
63
- <div className={triggerClass}>
64
- {renderChildren(schema.trigger || { type: 'text', value: "Right click here" })}
65
- </div>
66
- </ContextMenuTrigger>
67
- <ContextMenuContent className={contentClass}>
68
- {renderContextMenuItems(schema.items)}
69
- </ContextMenuContent>
70
- </ContextMenu>
71
- )},
72
- {
73
- namespace: 'ui',
74
- label: 'Context Menu',
75
- inputs: [
76
- {
77
- name: 'trigger',
78
- type: 'slot',
79
- label: 'Trigger Area',
80
- },
81
- { name: 'triggerClassName', type: 'string', label: 'Trigger Area Class' },
82
- {
83
- name: 'items',
84
- type: 'array',
85
- label: 'Items',
86
- description: 'Recursive structure: { type?: "separator"|"label", label, shortcut, children }'
87
- },
88
- { name: 'className', type: 'string', label: 'Content CSS Class' }
89
- ],
90
- defaultProps: {
91
- items: [
92
- { label: 'Action 1' },
93
- { label: 'Action 2' },
94
- { type: 'separator' },
95
- { label: 'Action 3' }
96
- ],
97
- trigger: [{ type: 'text', content: 'Right click here' }]
98
- }
99
- }
100
- );
@@ -1,77 +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 { ComponentRegistry } from '@object-ui/core';
10
- import type { DialogSchema } from '@object-ui/types';
11
- import {
12
- Dialog,
13
- DialogTrigger,
14
- DialogContent,
15
- DialogHeader,
16
- DialogFooter,
17
- DialogTitle,
18
- DialogDescription
19
- } from '../../ui';
20
- import { renderChildren } from '../../lib/utils';
21
-
22
- ComponentRegistry.register('dialog',
23
- ({ schema, className, ...props }: { schema: DialogSchema; className?: string; [key: string]: any }) => (
24
- <Dialog modal={schema.modal} defaultOpen={schema.defaultOpen} {...props}>
25
- <DialogTrigger asChild>
26
- {renderChildren(schema.trigger)}
27
- </DialogTrigger>
28
- <DialogContent className={className}>
29
- <DialogHeader>
30
- {schema.title && <DialogTitle>{schema.title}</DialogTitle>}
31
- {schema.description && <DialogDescription>{schema.description}</DialogDescription>}
32
- </DialogHeader>
33
- {renderChildren(schema.content)}
34
- {schema.footer && (
35
- <DialogFooter>
36
- {renderChildren(schema.footer)}
37
- </DialogFooter>
38
- )}
39
- </DialogContent>
40
- </Dialog>
41
- ),
42
- {
43
- namespace: 'ui',
44
- label: 'Dialog',
45
- inputs: [
46
- { name: 'title', type: 'string', label: 'Title' },
47
- { name: 'description', type: 'string', label: 'Description' },
48
- { name: 'modal', type: 'boolean', label: 'Modal', defaultValue: true },
49
- { name: 'defaultOpen', type: 'boolean', label: 'Default Open' },
50
- {
51
- name: 'trigger',
52
- type: 'slot',
53
- label: 'Trigger',
54
- description: 'Element that opens the dialog'
55
- },
56
- {
57
- name: 'content',
58
- type: 'slot',
59
- label: 'Content',
60
- description: 'Main content of the dialog'
61
- },
62
- {
63
- name: 'footer',
64
- type: 'slot',
65
- label: 'Footer'
66
- },
67
- { name: 'className', type: 'string', label: 'Content CSS Class' }
68
- ],
69
- defaultProps: {
70
- title: 'Dialog Title',
71
- description: 'Dialog description goes here',
72
- modal: true,
73
- trigger: [{ type: 'button', label: 'Open Dialog' }],
74
- content: [{ type: 'text', content: 'Dialog content goes here' }]
75
- }
76
- }
77
- );