@questpie/admin 1.1.1 → 3.0.0

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 (566) hide show
  1. package/README.md +256 -488
  2. package/dist/augmentation.d.mts +414 -0
  3. package/dist/client/blocks/block-renderer.d.mts +45 -0
  4. package/dist/client/blocks/block-renderer.mjs +105 -0
  5. package/dist/client/blocks/index.d.mts +2 -0
  6. package/dist/client/blocks/types.d.mts +68 -0
  7. package/dist/client/blocks/types.mjs +19 -0
  8. package/dist/client/builder/admin-types.d.mts +40 -0
  9. package/dist/client/builder/admin.d.mts +110 -0
  10. package/dist/client/builder/admin.mjs +151 -0
  11. package/dist/client/builder/field/field.d.mts +51 -0
  12. package/dist/client/builder/field/field.mjs +37 -0
  13. package/dist/client/builder/index.d.mts +31 -0
  14. package/dist/client/builder/page/page.d.mts +24 -0
  15. package/dist/client/builder/page/page.mjs +31 -0
  16. package/dist/client/builder/registry.d.mts +50 -0
  17. package/dist/client/builder/types/action-registry.mjs +276 -0
  18. package/dist/client/builder/types/action-types.d.mts +226 -0
  19. package/dist/client/builder/types/collection-types.mjs +10 -0
  20. package/dist/client/builder/types/common.d.mts +46 -0
  21. package/dist/client/builder/types/field-types.d.mts +592 -0
  22. package/dist/client/builder/types/field-types.mjs +18 -0
  23. package/dist/client/builder/types/ui-config.d.mts +158 -0
  24. package/dist/client/builder/types/widget-types.d.mts +562 -0
  25. package/dist/client/builder/validation.d.mts +33 -0
  26. package/dist/client/builder/validation.mjs +227 -0
  27. package/dist/client/builder/view/view.d.mts +49 -0
  28. package/dist/client/builder/view/view.mjs +27 -0
  29. package/dist/client/builder/widget/widget.d.mts +27 -0
  30. package/dist/client/builder/widget/widget.mjs +21 -0
  31. package/dist/client/components/actions/action-button.mjs +245 -0
  32. package/dist/client/components/actions/action-dialog.mjs +559 -0
  33. package/dist/client/components/actions/confirmation-dialog.mjs +201 -0
  34. package/dist/client/components/actions/header-actions.mjs +210 -0
  35. package/dist/client/components/admin-link.d.mts +66 -0
  36. package/dist/client/components/admin-link.mjs +171 -0
  37. package/dist/client/components/auth/auth-guard.d.mts +50 -0
  38. package/dist/client/components/auth/auth-guard.mjs +60 -0
  39. package/dist/client/components/auth/auth-loading.d.mts +35 -0
  40. package/dist/client/components/auth/auth-loading.mjs +55 -0
  41. package/dist/client/components/blocks/block-canvas.mjs +159 -0
  42. package/dist/client/components/blocks/block-editor-context.mjs +125 -0
  43. package/dist/client/components/blocks/block-editor-layout.mjs +199 -0
  44. package/dist/client/components/blocks/block-editor-provider.mjs +235 -0
  45. package/dist/client/components/blocks/block-fields-renderer.mjs +240 -0
  46. package/dist/client/components/blocks/block-insert-button.mjs +189 -0
  47. package/dist/client/components/blocks/block-item-menu.mjs +363 -0
  48. package/dist/client/components/blocks/block-item.mjs +434 -0
  49. package/dist/client/components/blocks/block-library-sidebar.mjs +285 -0
  50. package/dist/client/components/blocks/block-tree.mjs +103 -0
  51. package/dist/client/components/blocks/block-type-icon.mjs +95 -0
  52. package/dist/client/components/blocks/utils/tree-utils.mjs +185 -0
  53. package/dist/client/components/component-renderer.d.mts +114 -0
  54. package/dist/client/components/component-renderer.mjs +258 -0
  55. package/dist/client/components/error-boundary.mjs +144 -0
  56. package/dist/client/components/fields/array-field.mjs +506 -0
  57. package/dist/client/components/fields/asset-preview-field.mjs +159 -0
  58. package/dist/client/components/fields/blocks-field/blocks-field.mjs +209 -0
  59. package/dist/client/components/fields/boolean-field.mjs +77 -0
  60. package/dist/client/components/fields/date-field.mjs +76 -0
  61. package/dist/client/components/fields/datetime-field.mjs +74 -0
  62. package/dist/client/components/fields/email-field.mjs +67 -0
  63. package/dist/client/components/fields/field-utils.mjs +64 -0
  64. package/dist/client/components/fields/field-wrapper.mjs +124 -0
  65. package/dist/client/components/fields/json-field.mjs +461 -0
  66. package/dist/client/components/fields/locale-badge.mjs +25 -0
  67. package/dist/client/components/fields/number-field.mjs +73 -0
  68. package/dist/client/components/fields/object-array-field.mjs +707 -0
  69. package/dist/client/components/fields/object-field.mjs +686 -0
  70. package/dist/client/components/fields/relation/displays/cards-display.mjs +254 -0
  71. package/dist/client/components/fields/relation/displays/chips-display.mjs +173 -0
  72. package/dist/client/components/fields/relation/displays/grid-display.mjs +209 -0
  73. package/dist/client/components/fields/relation/displays/list-display.mjs +247 -0
  74. package/dist/client/components/fields/relation/displays/table-display.mjs +309 -0
  75. package/dist/client/components/fields/relation/displays/types.mjs +72 -0
  76. package/dist/client/components/fields/relation/relation-items-display.mjs +143 -0
  77. package/dist/client/components/fields/relation-field.mjs +161 -0
  78. package/dist/client/components/fields/relation-picker.mjs +296 -0
  79. package/dist/client/components/fields/relation-select.mjs +232 -0
  80. package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs +105 -0
  81. package/dist/client/components/fields/rich-text-editor/extensions.mjs +144 -0
  82. package/dist/client/components/fields/rich-text-editor/image-popover.mjs +221 -0
  83. package/dist/client/components/fields/rich-text-editor/index.mjs +520 -0
  84. package/dist/client/components/fields/rich-text-editor/link-popover.mjs +85 -0
  85. package/dist/client/components/fields/rich-text-editor/presets.mjs +123 -0
  86. package/dist/client/components/fields/rich-text-editor/slash-commands.mjs +188 -0
  87. package/dist/client/components/fields/rich-text-editor/table-controls.mjs +433 -0
  88. package/dist/client/components/fields/rich-text-editor/toolbar.mjs +541 -0
  89. package/dist/client/components/fields/rich-text-editor/types.mjs +30 -0
  90. package/dist/client/components/fields/rich-text-editor/utils.mjs +50 -0
  91. package/dist/client/components/fields/rich-text-field.mjs +64 -0
  92. package/dist/client/components/fields/select-field.mjs +88 -0
  93. package/dist/client/components/fields/text-field.mjs +72 -0
  94. package/dist/client/components/fields/textarea-field.mjs +71 -0
  95. package/dist/client/components/fields/time-field.mjs +67 -0
  96. package/dist/client/components/fields/upload-field.mjs +621 -0
  97. package/dist/client/components/filter-builder/columns-tab.mjs +325 -0
  98. package/dist/client/components/filter-builder/filter-builder-sheet.mjs +456 -0
  99. package/dist/client/components/filter-builder/filters-tab.mjs +663 -0
  100. package/dist/client/components/filter-builder/saved-views-tab.mjs +278 -0
  101. package/dist/client/components/history-sidebar.mjs +496 -0
  102. package/dist/client/components/layout/field-layout-renderer.mjs +301 -0
  103. package/dist/client/components/locale-switcher.mjs +251 -0
  104. package/dist/client/components/media/media-grid.mjs +314 -0
  105. package/dist/client/components/media/media-picker-dialog.mjs +563 -0
  106. package/dist/client/components/preview/live-preview-mode.mjs +503 -0
  107. package/dist/client/components/preview/preview-pane.mjs +388 -0
  108. package/dist/client/components/primitives/asset-preview.mjs +771 -0
  109. package/dist/client/components/primitives/checkbox-input.mjs +59 -0
  110. package/dist/client/components/primitives/date-input.mjs +461 -0
  111. package/dist/client/components/primitives/dropzone.mjs +368 -0
  112. package/dist/client/components/primitives/number-input.mjs +117 -0
  113. package/dist/client/components/primitives/select-multi.mjs +590 -0
  114. package/dist/client/components/primitives/select-single.mjs +473 -0
  115. package/dist/client/components/primitives/text-input.mjs +45 -0
  116. package/dist/client/components/primitives/textarea-input.mjs +43 -0
  117. package/dist/client/components/primitives/time-input.mjs +145 -0
  118. package/dist/client/components/primitives/toggle-input.mjs +51 -0
  119. package/dist/client/components/primitives/types.mjs +12 -0
  120. package/dist/client/components/sheets/resource-sheet.mjs +86 -0
  121. package/dist/client/components/ui/accordion.mjs +169 -0
  122. package/dist/client/components/ui/alert.mjs +85 -0
  123. package/dist/client/components/ui/badge.mjs +76 -0
  124. package/dist/client/components/ui/button.mjs +84 -0
  125. package/dist/client/components/ui/card.mjs +206 -0
  126. package/dist/client/components/ui/checkbox.mjs +82 -0
  127. package/dist/client/components/ui/command.mjs +239 -0
  128. package/dist/client/components/ui/dialog.mjs +296 -0
  129. package/dist/client/components/ui/drawer.mjs +278 -0
  130. package/dist/client/components/ui/dropdown-menu.mjs +315 -0
  131. package/dist/client/components/ui/empty-state.mjs +99 -0
  132. package/dist/client/components/ui/field.mjs +354 -0
  133. package/dist/client/components/ui/input-group.mjs +201 -0
  134. package/dist/client/components/ui/input.mjs +46 -0
  135. package/dist/client/components/ui/kbd.mjs +53 -0
  136. package/dist/client/components/ui/label.mjs +45 -0
  137. package/dist/client/components/ui/popover.mjs +176 -0
  138. package/dist/client/components/ui/responsive-dialog.mjs +308 -0
  139. package/dist/client/components/ui/search-input.mjs +139 -0
  140. package/dist/client/components/ui/select.mjs +325 -0
  141. package/dist/client/components/ui/separator.mjs +47 -0
  142. package/dist/client/components/ui/sheet.mjs +280 -0
  143. package/dist/client/components/ui/sidebar.mjs +774 -0
  144. package/dist/client/components/ui/skeleton.mjs +40 -0
  145. package/dist/client/components/ui/sonner.d.mts +13 -0
  146. package/dist/client/components/ui/sonner.mjs +85 -0
  147. package/dist/client/components/ui/spinner.mjs +52 -0
  148. package/dist/client/components/ui/switch.mjs +58 -0
  149. package/dist/client/components/ui/table.mjs +276 -0
  150. package/dist/client/components/ui/tabs.mjs +160 -0
  151. package/dist/client/components/ui/textarea.mjs +40 -0
  152. package/dist/client/components/ui/toolbar.mjs +136 -0
  153. package/dist/client/components/ui/tooltip.mjs +146 -0
  154. package/dist/client/components/widgets/chart-widget.mjs +582 -0
  155. package/dist/client/components/widgets/progress-widget.mjs +200 -0
  156. package/dist/client/components/widgets/quick-actions-widget.mjs +209 -0
  157. package/dist/client/components/widgets/recent-items-widget.mjs +196 -0
  158. package/dist/client/components/widgets/stats-widget.mjs +261 -0
  159. package/dist/client/components/widgets/table-widget.mjs +273 -0
  160. package/dist/client/components/widgets/timeline-widget.mjs +279 -0
  161. package/dist/client/components/widgets/value-widget.mjs +312 -0
  162. package/dist/client/components/widgets/widget-skeletons.mjs +427 -0
  163. package/dist/client/contexts/breadcrumb-context.mjs +60 -0
  164. package/dist/client/contexts/focus-context.d.mts +87 -0
  165. package/dist/client/contexts/focus-context.mjs +250 -0
  166. package/dist/client/hooks/typed-hooks.d.mts +110 -0
  167. package/dist/client/hooks/typed-hooks.mjs +888 -0
  168. package/dist/client/hooks/use-action.mjs +329 -0
  169. package/dist/client/hooks/use-admin-config.mjs +69 -0
  170. package/dist/client/hooks/use-admin-preferences.mjs +171 -0
  171. package/dist/client/hooks/use-admin-routes.mjs +130 -0
  172. package/dist/client/hooks/use-audit-history.mjs +157 -0
  173. package/dist/client/hooks/use-auth.d.mts +97 -0
  174. package/dist/{use-auth-BoLmWtmU.mjs → client/hooks/use-auth.mjs} +9 -10
  175. package/dist/client/hooks/use-collection-fields.mjs +71 -0
  176. package/dist/client/hooks/use-collection-meta.mjs +153 -0
  177. package/dist/client/hooks/use-collection-schema.mjs +90 -0
  178. package/dist/client/hooks/use-collection-validation.mjs +88 -0
  179. package/dist/client/hooks/use-collection.d.mts +96 -0
  180. package/dist/client/hooks/use-collection.mjs +673 -0
  181. package/dist/client/hooks/use-current-user.d.mts +60 -0
  182. package/dist/client/hooks/use-current-user.mjs +79 -0
  183. package/dist/client/hooks/use-field-hooks.mjs +199 -0
  184. package/dist/client/hooks/use-field-options.d.mts +57 -0
  185. package/dist/client/hooks/use-field-options.mjs +269 -0
  186. package/dist/client/hooks/use-global-fields.mjs +58 -0
  187. package/dist/client/hooks/use-global-meta.mjs +105 -0
  188. package/dist/client/hooks/use-global-schema.mjs +53 -0
  189. package/dist/client/hooks/use-global.d.mts +51 -0
  190. package/dist/client/hooks/use-global.mjs +284 -0
  191. package/dist/client/hooks/use-locks.mjs +452 -0
  192. package/dist/client/hooks/use-media-query.d.mts +22 -0
  193. package/dist/client/hooks/use-media-query.mjs +81 -0
  194. package/dist/client/hooks/use-prefill-params.mjs +47 -0
  195. package/dist/client/hooks/use-questpie-query-options.mjs +50 -0
  196. package/dist/client/hooks/use-reactive-fields.d.mts +78 -0
  197. package/dist/client/hooks/use-reactive-fields.mjs +201 -0
  198. package/dist/client/hooks/use-realtime-highlight.mjs +158 -0
  199. package/dist/client/hooks/use-saved-views.mjs +140 -0
  200. package/dist/client/hooks/use-search-param-toggle.d.mts +12 -0
  201. package/dist/client/hooks/use-search-param-toggle.mjs +115 -0
  202. package/dist/client/hooks/use-search.mjs +258 -0
  203. package/dist/client/hooks/use-server-actions.mjs +191 -0
  204. package/dist/client/hooks/use-server-validation.mjs +291 -0
  205. package/dist/client/hooks/use-server-widget-data.d.mts +25 -0
  206. package/dist/client/hooks/use-server-widget-data.mjs +65 -0
  207. package/dist/client/hooks/use-setup-status.d.mts +38 -0
  208. package/dist/client/hooks/use-setup-status.mjs +62 -0
  209. package/dist/client/hooks/use-sidebar-search-param.d.mts +9 -0
  210. package/dist/client/hooks/use-sidebar-search-param.mjs +104 -0
  211. package/dist/client/hooks/use-transition-stage.mjs +125 -0
  212. package/dist/client/hooks/use-upload-collection.mjs +31 -0
  213. package/dist/client/hooks/use-upload.mjs +209 -0
  214. package/dist/client/hooks/use-validation-error-map.mjs +57 -0
  215. package/dist/client/hooks/use-view-state.mjs +479 -0
  216. package/dist/client/i18n/hooks.mjs +284 -0
  217. package/dist/client/i18n/intl-cache.mjs +64 -0
  218. package/dist/client/i18n/messages.mjs +6 -0
  219. package/dist/client/i18n/simple.d.mts +21 -0
  220. package/dist/client/i18n/simple.mjs +156 -0
  221. package/dist/client/i18n/types.d.mts +109 -0
  222. package/dist/client/lib/cookies.mjs +9 -0
  223. package/dist/client/lib/events.mjs +5 -0
  224. package/dist/client/lib/render-profiler.mjs +51 -0
  225. package/dist/client/lib/utils.mjs +23 -0
  226. package/dist/client/preview/block-scope-context.d.mts +73 -0
  227. package/dist/client/preview/block-scope-context.mjs +116 -0
  228. package/dist/client/preview/index.d.mts +5 -0
  229. package/dist/client/preview/preview-banner.d.mts +45 -0
  230. package/dist/client/preview/preview-banner.mjs +134 -0
  231. package/dist/client/preview/preview-field.d.mts +107 -0
  232. package/dist/client/preview/preview-field.mjs +227 -0
  233. package/dist/client/preview/types.d.mts +114 -0
  234. package/dist/client/preview/types.mjs +20 -0
  235. package/dist/client/preview/use-collection-preview.d.mts +70 -0
  236. package/dist/client/preview/use-collection-preview.mjs +163 -0
  237. package/dist/client/runtime/content-locales-provider.d.mts +1 -0
  238. package/dist/client/runtime/content-locales-provider.mjs +136 -0
  239. package/dist/client/runtime/index.d.mts +5 -0
  240. package/dist/client/runtime/index.mjs +6 -0
  241. package/dist/client/runtime/locale-scope.d.mts +2 -0
  242. package/dist/client/runtime/locale-scope.mjs +108 -0
  243. package/dist/client/runtime/provider.d.mts +203 -0
  244. package/dist/client/runtime/provider.mjs +393 -0
  245. package/dist/client/runtime/routes.d.mts +49 -0
  246. package/dist/client/runtime/routes.mjs +91 -0
  247. package/dist/client/runtime/translations-provider.mjs +242 -0
  248. package/dist/client/scope/index.d.mts +3 -0
  249. package/dist/client/scope/picker.d.mts +53 -0
  250. package/dist/client/scope/picker.mjs +395 -0
  251. package/dist/client/scope/provider.d.mts +103 -0
  252. package/dist/client/scope/provider.mjs +167 -0
  253. package/dist/client/scope/types.d.mts +111 -0
  254. package/dist/client/styles/index.css +344 -188
  255. package/dist/client/utils/auto-expand-fields.mjs +83 -0
  256. package/dist/client/utils/build-field-definitions-from-schema.mjs +259 -0
  257. package/dist/client/utils/dependency-tracker.mjs +61 -0
  258. package/dist/client/utils/detect-relations.mjs +45 -0
  259. package/dist/client/utils/locale-to-flag.d.mts +119 -0
  260. package/dist/client/utils/locale-to-flag.mjs +129 -0
  261. package/dist/client/utils/routes.mjs +195 -0
  262. package/dist/client/views/auth/accept-invite-form.d.mts +72 -0
  263. package/dist/client/views/auth/accept-invite-form.mjs +473 -0
  264. package/dist/client/views/auth/auth-layout.d.mts +43 -0
  265. package/dist/client/views/auth/auth-layout.mjs +116 -0
  266. package/dist/client/views/auth/forgot-password-form.d.mts +58 -0
  267. package/dist/client/views/auth/forgot-password-form.mjs +386 -0
  268. package/dist/client/views/auth/invite-form.mjs +497 -0
  269. package/dist/client/views/auth/login-form.d.mts +75 -0
  270. package/dist/client/views/auth/login-form.mjs +387 -0
  271. package/dist/client/views/auth/reset-password-form.d.mts +65 -0
  272. package/dist/client/views/auth/reset-password-form.mjs +515 -0
  273. package/dist/client/views/auth/setup-form.d.mts +60 -0
  274. package/dist/client/views/auth/setup-form.mjs +526 -0
  275. package/dist/client/views/collection/auto-form-fields.mjs +873 -0
  276. package/dist/client/views/collection/bulk-action-toolbar.mjs +480 -0
  277. package/dist/client/views/collection/cells/complex-cells.mjs +746 -0
  278. package/dist/client/views/collection/cells/primitive-cells.mjs +395 -0
  279. package/dist/client/views/collection/cells/relation-cells.mjs +260 -0
  280. package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +509 -0
  281. package/dist/client/views/collection/cells/shared/cell-helpers.mjs +125 -0
  282. package/dist/client/views/collection/cells/shared/relation-chip.mjs +121 -0
  283. package/dist/client/views/collection/cells/upload-cells.mjs +28 -0
  284. package/dist/client/views/collection/columns/build-columns.mjs +195 -0
  285. package/dist/client/views/collection/columns/column-defaults.mjs +123 -0
  286. package/dist/client/views/collection/field-context.mjs +126 -0
  287. package/dist/client/views/collection/field-renderer.mjs +368 -0
  288. package/dist/client/views/collection/form-view.mjs +1566 -0
  289. package/dist/client/views/collection/table-view.mjs +832 -0
  290. package/dist/client/views/collection/view-skeletons.mjs +215 -0
  291. package/dist/client/views/common/global-search.mjs +700 -0
  292. package/dist/client/views/dashboard/dashboard-grid.mjs +881 -0
  293. package/dist/client/views/dashboard/dashboard-widget.mjs +265 -0
  294. package/dist/client/views/dashboard/widget-card.mjs +372 -0
  295. package/dist/client/views/globals/global-form-view.mjs +1306 -0
  296. package/dist/client/views/layout/admin-layout-provider.d.mts +137 -0
  297. package/dist/client/views/layout/admin-layout-provider.mjs +193 -0
  298. package/dist/client/views/layout/admin-layout.d.mts +133 -0
  299. package/dist/client/views/layout/admin-layout.mjs +302 -0
  300. package/dist/client/views/layout/admin-router.d.mts +93 -0
  301. package/dist/client/views/layout/admin-router.mjs +1254 -0
  302. package/dist/client/views/layout/admin-sidebar.d.mts +99 -0
  303. package/dist/client/views/layout/admin-sidebar.mjs +1379 -0
  304. package/dist/client/views/layout/admin-topbar.mjs +236 -0
  305. package/dist/client/views/pages/accept-invite-page.d.mts +66 -0
  306. package/dist/client/views/pages/accept-invite-page.mjs +349 -0
  307. package/dist/client/views/pages/dashboard-page.d.mts +43 -0
  308. package/dist/client/views/pages/dashboard-page.mjs +84 -0
  309. package/dist/client/views/pages/forgot-password-page.d.mts +56 -0
  310. package/dist/client/views/pages/forgot-password-page.mjs +152 -0
  311. package/dist/client/views/pages/invite-page.d.mts +70 -0
  312. package/dist/client/views/pages/invite-page.mjs +161 -0
  313. package/dist/client/views/pages/login-page.d.mts +69 -0
  314. package/dist/client/views/pages/login-page.mjs +193 -0
  315. package/dist/client/views/pages/reset-password-page.d.mts +63 -0
  316. package/dist/client/views/pages/reset-password-page.mjs +257 -0
  317. package/dist/client/views/pages/setup-page.d.mts +61 -0
  318. package/dist/client/views/pages/setup-page.mjs +156 -0
  319. package/dist/client-module.d.mts +3 -0
  320. package/dist/client-module.mjs +3 -0
  321. package/dist/client.d.mts +99 -3
  322. package/dist/client.mjs +52 -12
  323. package/dist/components/rich-text/index.d.mts +1 -0
  324. package/dist/components/rich-text/rich-text-renderer.d.mts +103 -0
  325. package/dist/components/rich-text/rich-text-renderer.mjs +237 -0
  326. package/dist/index.d.mts +59 -3
  327. package/dist/index.mjs +52 -12
  328. package/dist/plugin.d.mts +2 -0
  329. package/dist/plugin.mjs +3 -0
  330. package/dist/server/adapters/nextjs.d.mts +120 -0
  331. package/dist/server/adapters/nextjs.mjs +110 -0
  332. package/dist/server/adapters/tanstack.d.mts +132 -0
  333. package/dist/server/adapters/tanstack.mjs +89 -0
  334. package/dist/server/augmentation/actions.d.mts +279 -0
  335. package/dist/server/augmentation/common.d.mts +76 -0
  336. package/dist/server/augmentation/dashboard.d.mts +547 -0
  337. package/dist/server/augmentation/form-layout.d.mts +303 -0
  338. package/dist/server/augmentation/index.d.mts +44 -0
  339. package/dist/server/augmentation/index.mjs +10 -0
  340. package/dist/server/augmentation/sidebar.d.mts +181 -0
  341. package/dist/server/augmentation/views.d.mts +237 -0
  342. package/dist/server/augmentation.d.mts +7 -0
  343. package/dist/server/block/index.d.mts +4 -0
  344. package/dist/server/codegen/admin-client-template.mjs +93 -0
  345. package/dist/server/codegen/projection-validator.mjs +67 -0
  346. package/dist/server/fields/blocks.d.mts +71 -0
  347. package/dist/server/fields/blocks.mjs +151 -0
  348. package/dist/server/fields/index.d.mts +15 -0
  349. package/dist/server/fields/index.mjs +15 -0
  350. package/dist/server/fields/rich-text.d.mts +68 -0
  351. package/dist/server/fields/rich-text.mjs +147 -0
  352. package/dist/server/i18n/index.mjs +43 -0
  353. package/dist/server/i18n/messages/cs.mjs +461 -0
  354. package/dist/server/i18n/messages/de.mjs +461 -0
  355. package/dist/server/i18n/messages/en.mjs +707 -0
  356. package/dist/server/i18n/messages/es.mjs +461 -0
  357. package/dist/server/i18n/messages/fr.mjs +461 -0
  358. package/dist/server/i18n/messages/index.mjs +23 -0
  359. package/dist/server/i18n/messages/pl.mjs +461 -0
  360. package/dist/server/i18n/messages/pt.mjs +464 -0
  361. package/dist/server/i18n/messages/sk.mjs +689 -0
  362. package/dist/server/modules/admin/.generated/module.d.mts +52 -0
  363. package/dist/server/modules/admin/.generated/module.mjs +78 -0
  364. package/dist/server/modules/admin/.generated/registries.d.mts +22 -0
  365. package/dist/server/modules/admin/auth-helpers.d.mts +142 -0
  366. package/dist/server/modules/admin/auth-helpers.mjs +107 -0
  367. package/dist/server/modules/admin/block/block-builder.d.mts +383 -0
  368. package/dist/server/modules/admin/block/block-builder.mjs +315 -0
  369. package/dist/server/modules/admin/block/index.d.mts +3 -0
  370. package/dist/server/modules/admin/block/introspection.d.mts +89 -0
  371. package/dist/server/modules/admin/block/introspection.mjs +100 -0
  372. package/dist/server/modules/admin/block/prefetch.d.mts +78 -0
  373. package/dist/server/modules/admin/block/prefetch.mjs +241 -0
  374. package/dist/server/modules/admin/client/.generated/module.d.mts +94 -0
  375. package/dist/server/modules/admin/client/.generated/module.mjs +91 -0
  376. package/dist/server/modules/admin/client/components/badge.d.mts +1 -0
  377. package/dist/server/modules/admin/client/components/icon.d.mts +1 -0
  378. package/dist/server/modules/admin/client/fields/array.d.mts +6 -0
  379. package/dist/server/modules/admin/client/fields/array.mjs +12 -0
  380. package/dist/server/modules/admin/client/fields/assetPreview.d.mts +6 -0
  381. package/dist/server/modules/admin/client/fields/assetPreview.mjs +18 -0
  382. package/dist/server/modules/admin/client/fields/blocks.d.mts +6 -0
  383. package/dist/server/modules/admin/client/fields/blocks.mjs +12 -0
  384. package/dist/server/modules/admin/client/fields/boolean.d.mts +6 -0
  385. package/dist/server/modules/admin/client/fields/boolean.mjs +12 -0
  386. package/dist/server/modules/admin/client/fields/date.d.mts +6 -0
  387. package/dist/server/modules/admin/client/fields/date.mjs +12 -0
  388. package/dist/server/modules/admin/client/fields/datetime.d.mts +6 -0
  389. package/dist/server/modules/admin/client/fields/datetime.mjs +12 -0
  390. package/dist/server/modules/admin/client/fields/email.d.mts +6 -0
  391. package/dist/server/modules/admin/client/fields/email.mjs +12 -0
  392. package/dist/server/modules/admin/client/fields/json.d.mts +6 -0
  393. package/dist/server/modules/admin/client/fields/json.mjs +11 -0
  394. package/dist/server/modules/admin/client/fields/number.d.mts +6 -0
  395. package/dist/server/modules/admin/client/fields/number.mjs +12 -0
  396. package/dist/server/modules/admin/client/fields/object.d.mts +6 -0
  397. package/dist/server/modules/admin/client/fields/object.mjs +12 -0
  398. package/dist/server/modules/admin/client/fields/relation.d.mts +6 -0
  399. package/dist/server/modules/admin/client/fields/relation.mjs +12 -0
  400. package/dist/server/modules/admin/client/fields/richText.d.mts +6 -0
  401. package/dist/server/modules/admin/client/fields/richText.mjs +11 -0
  402. package/dist/server/modules/admin/client/fields/select.d.mts +6 -0
  403. package/dist/server/modules/admin/client/fields/select.mjs +12 -0
  404. package/dist/server/modules/admin/client/fields/text.d.mts +6 -0
  405. package/dist/server/modules/admin/client/fields/text.mjs +12 -0
  406. package/dist/server/modules/admin/client/fields/textarea.d.mts +6 -0
  407. package/dist/server/modules/admin/client/fields/textarea.mjs +12 -0
  408. package/dist/server/modules/admin/client/fields/time.d.mts +6 -0
  409. package/dist/server/modules/admin/client/fields/time.mjs +12 -0
  410. package/dist/server/modules/admin/client/fields/upload.d.mts +6 -0
  411. package/dist/server/modules/admin/client/fields/upload.mjs +12 -0
  412. package/dist/server/modules/admin/client/fields/url.d.mts +6 -0
  413. package/dist/server/modules/admin/client/fields/url.mjs +12 -0
  414. package/dist/server/modules/admin/client/index.d.mts +1 -0
  415. package/dist/server/modules/admin/client/pages/dashboard.d.mts +6 -0
  416. package/dist/server/modules/admin/client/pages/dashboard.mjs +11 -0
  417. package/dist/server/modules/admin/client/pages/forgotPassword.d.mts +6 -0
  418. package/dist/server/modules/admin/client/pages/forgotPassword.mjs +11 -0
  419. package/dist/server/modules/admin/client/pages/login.d.mts +6 -0
  420. package/dist/server/modules/admin/client/pages/login.mjs +11 -0
  421. package/dist/server/modules/admin/client/pages/resetPassword.d.mts +6 -0
  422. package/dist/server/modules/admin/client/pages/resetPassword.mjs +11 -0
  423. package/dist/server/modules/admin/client/pages/setup.d.mts +6 -0
  424. package/dist/server/modules/admin/client/pages/setup.mjs +11 -0
  425. package/dist/server/modules/admin/client/views/collection-form.mjs +10 -0
  426. package/dist/server/modules/admin/client/views/collection-table.mjs +10 -0
  427. package/dist/server/modules/admin/client/views/global-form.mjs +10 -0
  428. package/dist/server/modules/admin/client/widgets/chart.d.mts +6 -0
  429. package/dist/server/modules/admin/client/widgets/chart.mjs +7 -0
  430. package/dist/server/modules/admin/client/widgets/progress.d.mts +6 -0
  431. package/dist/server/modules/admin/client/widgets/progress.mjs +7 -0
  432. package/dist/server/modules/admin/client/widgets/quickActions.d.mts +6 -0
  433. package/dist/server/modules/admin/client/widgets/quickActions.mjs +7 -0
  434. package/dist/server/modules/admin/client/widgets/recentItems.d.mts +6 -0
  435. package/dist/server/modules/admin/client/widgets/recentItems.mjs +7 -0
  436. package/dist/server/modules/admin/client/widgets/stats.d.mts +6 -0
  437. package/dist/server/modules/admin/client/widgets/stats.mjs +7 -0
  438. package/dist/server/modules/admin/client/widgets/table.d.mts +6 -0
  439. package/dist/server/modules/admin/client/widgets/table.mjs +7 -0
  440. package/dist/server/modules/admin/client/widgets/timeline.d.mts +6 -0
  441. package/dist/server/modules/admin/client/widgets/timeline.mjs +7 -0
  442. package/dist/server/modules/admin/client/widgets/value.d.mts +6 -0
  443. package/dist/server/modules/admin/client/widgets/value.mjs +7 -0
  444. package/dist/server/modules/admin/collections/account.d.mts +77 -0
  445. package/dist/server/modules/admin/collections/account.mjs +23 -0
  446. package/dist/server/modules/admin/collections/admin-locks.d.mts +90 -0
  447. package/dist/server/modules/admin/collections/admin-locks.mjs +16 -0
  448. package/dist/server/modules/admin/collections/admin-preferences.d.mts +69 -0
  449. package/dist/server/modules/admin/collections/admin-preferences.mjs +16 -0
  450. package/dist/server/modules/admin/collections/admin-saved-views.d.mts +83 -0
  451. package/dist/server/modules/admin/collections/admin-saved-views.mjs +16 -0
  452. package/dist/server/modules/admin/collections/apikey.d.mts +99 -0
  453. package/dist/server/modules/admin/collections/apikey.mjs +15 -0
  454. package/dist/server/modules/admin/collections/assets.d.mts +72 -0
  455. package/dist/server/modules/admin/collections/assets.mjs +71 -0
  456. package/dist/server/modules/admin/collections/session.d.mts +69 -0
  457. package/dist/server/modules/admin/collections/session.mjs +15 -0
  458. package/dist/server/modules/admin/collections/user.d.mts +85 -0
  459. package/dist/server/modules/admin/collections/user.mjs +204 -0
  460. package/dist/server/modules/admin/collections/verification.d.mts +63 -0
  461. package/dist/server/modules/admin/collections/verification.mjs +15 -0
  462. package/dist/server/modules/admin/components/badge.d.mts +10 -0
  463. package/dist/server/modules/admin/components/badge.mjs +10 -0
  464. package/dist/server/modules/admin/components/icon.d.mts +9 -0
  465. package/dist/server/modules/admin/components/icon.mjs +11 -0
  466. package/dist/server/modules/admin/config/admin.mjs +34 -0
  467. package/dist/server/modules/admin/dto/admin-config.dto.mjs +102 -0
  468. package/dist/server/modules/admin/factories.mjs +172 -0
  469. package/dist/server/modules/admin/index.d.mts +1093 -0
  470. package/dist/server/modules/admin/index.mjs +26 -0
  471. package/dist/server/modules/admin/modules.mjs +11 -0
  472. package/dist/server/modules/admin/plugin.mjs +13 -0
  473. package/dist/server/modules/admin/routes/admin-config.d.mts +28 -0
  474. package/dist/server/modules/admin/routes/admin-config.mjs +552 -0
  475. package/dist/server/modules/admin/routes/execute-action.d.mts +92 -0
  476. package/dist/server/modules/admin/routes/execute-action.mjs +433 -0
  477. package/dist/server/modules/admin/routes/locales.d.mts +18 -0
  478. package/dist/server/modules/admin/routes/locales.mjs +69 -0
  479. package/dist/server/modules/admin/routes/preview.d.mts +80 -0
  480. package/dist/server/modules/admin/routes/preview.mjs +230 -0
  481. package/dist/server/modules/admin/routes/reactive.d.mts +74 -0
  482. package/dist/server/modules/admin/routes/reactive.mjs +350 -0
  483. package/dist/server/modules/admin/routes/route-helpers.d.mts +23 -0
  484. package/dist/server/modules/admin/routes/route-helpers.mjs +76 -0
  485. package/dist/server/modules/admin/routes/setup.d.mts +63 -0
  486. package/dist/server/modules/admin/routes/setup.mjs +114 -0
  487. package/dist/server/modules/admin/routes/translations.d.mts +26 -0
  488. package/dist/server/modules/admin/routes/translations.mjs +114 -0
  489. package/dist/server/modules/admin/routes/widget-data.d.mts +32 -0
  490. package/dist/server/modules/admin/routes/widget-data.mjs +62 -0
  491. package/dist/server/modules/admin/views/form.d.mts +8 -0
  492. package/dist/server/modules/admin/views/form.mjs +7 -0
  493. package/dist/server/modules/admin/views/global-form.d.mts +8 -0
  494. package/dist/server/modules/admin/views/global-form.mjs +7 -0
  495. package/dist/server/modules/admin/views/table.d.mts +8 -0
  496. package/dist/server/modules/admin/views/table.mjs +7 -0
  497. package/dist/server/modules/admin-preferences/collections/admin-preferences.mjs +37 -0
  498. package/dist/server/modules/admin-preferences/collections/locks.collection.mjs +55 -0
  499. package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +99 -0
  500. package/dist/server/modules/admin-preferences/collections/saved-views.mjs +38 -0
  501. package/dist/server/modules/audit/.generated/module.d.mts +60 -0
  502. package/dist/server/modules/audit/.generated/module.mjs +30 -0
  503. package/dist/server/modules/audit/collections/audit-log.d.mts +214 -0
  504. package/dist/server/modules/audit/collections/audit-log.mjs +107 -0
  505. package/dist/server/modules/audit/config/admin.mjs +21 -0
  506. package/dist/server/modules/audit/config/app.mjs +262 -0
  507. package/dist/server/modules/audit/index.d.mts +2 -0
  508. package/dist/server/modules/audit/jobs/audit-cleanup.d.mts +13 -0
  509. package/dist/server/modules/audit/jobs/audit-cleanup.mjs +28 -0
  510. package/dist/server/plugin.d.mts +26 -0
  511. package/dist/server/plugin.mjs +385 -0
  512. package/dist/server/proxy-factories.d.mts +85 -0
  513. package/dist/server/proxy-factories.mjs +302 -0
  514. package/dist/server/registry-helpers.d.mts +83 -0
  515. package/dist/server/registry-helpers.mjs +104 -0
  516. package/dist/server.d.mts +33 -250
  517. package/dist/server.mjs +22 -832
  518. package/dist/shared/preview-utils.d.mts +53 -0
  519. package/dist/{preview-utils-BKQ9-TMa.mjs → shared/preview-utils.mjs} +2 -3
  520. package/dist/{saved-views.types-BMsz5mCy.d.mts → shared/types/saved-views.types.d.mts} +7 -2
  521. package/dist/shared.d.mts +3 -57
  522. package/dist/shared.mjs +1 -1
  523. package/package.json +56 -51
  524. package/skills/questpie-admin/SKILL.md +397 -0
  525. package/skills/questpie-admin/blocks/SKILL.md +305 -0
  526. package/skills/questpie-admin/custom-ui/SKILL.md +307 -0
  527. package/skills/questpie-admin/views/SKILL.md +442 -0
  528. package/dist/auth-layout-M8K8_q5R.mjs +0 -181
  529. package/dist/auth-layout-M8K8_q5R.mjs.map +0 -1
  530. package/dist/bulk-upload-dialog-D7w7W1Hl.mjs +0 -273
  531. package/dist/bulk-upload-dialog-D7w7W1Hl.mjs.map +0 -1
  532. package/dist/card-BKHjBQfw.mjs +0 -58
  533. package/dist/card-BKHjBQfw.mjs.map +0 -1
  534. package/dist/client-D1DqawtP.d.mts +0 -13403
  535. package/dist/client-D1DqawtP.d.mts.map +0 -1
  536. package/dist/client-njX1rZmi.mjs +0 -22612
  537. package/dist/client-njX1rZmi.mjs.map +0 -1
  538. package/dist/content-locales-provider-BXvuIgfg.mjs +0 -1650
  539. package/dist/content-locales-provider-BXvuIgfg.mjs.map +0 -1
  540. package/dist/dashboard-page-B4PGEdc2.mjs +0 -2500
  541. package/dist/dashboard-page-B4PGEdc2.mjs.map +0 -1
  542. package/dist/dashboard-page-mCY0pgZv.mjs +0 -3
  543. package/dist/dropzone-Do3awXKd.mjs +0 -634
  544. package/dist/dropzone-Do3awXKd.mjs.map +0 -1
  545. package/dist/forgot-password-page-Bcp-An4Y.mjs +0 -221
  546. package/dist/forgot-password-page-Bcp-An4Y.mjs.map +0 -1
  547. package/dist/forgot-password-page-CEwsdLwn.mjs +0 -3
  548. package/dist/index-B4H3amCD.d.mts +0 -2753
  549. package/dist/index-B4H3amCD.d.mts.map +0 -1
  550. package/dist/login-page-BUnpCbCa.mjs +0 -3
  551. package/dist/login-page-CP4gA-dl.mjs +0 -298
  552. package/dist/login-page-CP4gA-dl.mjs.map +0 -1
  553. package/dist/preview-utils-BKQ9-TMa.mjs.map +0 -1
  554. package/dist/reset-password-page-BqfDmLxA.mjs +0 -281
  555. package/dist/reset-password-page-BqfDmLxA.mjs.map +0 -1
  556. package/dist/reset-password-page-CufHz3h3.mjs +0 -3
  557. package/dist/runtime-6VZM878K.mjs +0 -69
  558. package/dist/runtime-6VZM878K.mjs.map +0 -1
  559. package/dist/saved-views.types-BMsz5mCy.d.mts.map +0 -1
  560. package/dist/server.d.mts.map +0 -1
  561. package/dist/server.mjs.map +0 -1
  562. package/dist/setup-page-BNNzt_Z6.mjs +0 -3
  563. package/dist/setup-page-YAP_fzqh.mjs +0 -264
  564. package/dist/setup-page-YAP_fzqh.mjs.map +0 -1
  565. package/dist/shared.d.mts.map +0 -1
  566. package/dist/use-auth-BoLmWtmU.mjs.map +0 -1
@@ -0,0 +1,276 @@
1
+ import { buildPrefillUrl } from "../../hooks/use-prefill-params.mjs";
2
+
3
+ //#region src/client/builder/types/action-registry.ts
4
+ /**
5
+ * Create a "Create" action
6
+ */
7
+ function createCreateAction(opts) {
8
+ return {
9
+ id: "create",
10
+ label: {
11
+ key: "action.create",
12
+ fallback: "Create"
13
+ },
14
+ icon: {
15
+ type: "icon",
16
+ props: { name: "ph:plus" }
17
+ },
18
+ variant: "default",
19
+ handler: {
20
+ type: "navigate",
21
+ path: "create"
22
+ },
23
+ ...opts
24
+ };
25
+ }
26
+ /**
27
+ * Create a "Duplicate" action (bulk action, shows only when 1 item selected)
28
+ */
29
+ function createDuplicateAction(opts) {
30
+ return {
31
+ id: "duplicate",
32
+ label: {
33
+ key: "action.duplicate",
34
+ fallback: "Duplicate"
35
+ },
36
+ icon: {
37
+ type: "icon",
38
+ props: { name: "ph:copy" }
39
+ },
40
+ variant: "ghost",
41
+ visible: (ctx) => {
42
+ if (Array.isArray(ctx.item)) return ctx.item.length === 1;
43
+ return !!ctx.item;
44
+ },
45
+ handler: {
46
+ type: "custom",
47
+ fn: async (ctx) => {
48
+ const item = Array.isArray(ctx.item) ? ctx.item[0] : ctx.item;
49
+ if (!item) return;
50
+ const { id, createdAt, updatedAt, ...data } = item;
51
+ const prefillUrl = buildPrefillUrl(`${ctx.helpers.basePath}/collections/${ctx.collection}/create`, data);
52
+ ctx.helpers.navigate(prefillUrl);
53
+ }
54
+ },
55
+ ...opts
56
+ };
57
+ }
58
+ /**
59
+ * Create a "Delete Many" (bulk delete) action
60
+ *
61
+ * Note: The actual deletion is handled by BulkActionToolbar via onBulkDelete callback.
62
+ * This action definition just configures the UI and confirmation.
63
+ */
64
+ function createDeleteManyAction(opts) {
65
+ return {
66
+ id: "deleteMany",
67
+ label: {
68
+ key: "action.deleteSelected",
69
+ fallback: "Delete Selected"
70
+ },
71
+ icon: {
72
+ type: "icon",
73
+ props: { name: "ph:trash" }
74
+ },
75
+ variant: "destructive",
76
+ confirmation: {
77
+ title: {
78
+ key: "confirm.deleteSelectedTitle",
79
+ fallback: "Delete selected items?"
80
+ },
81
+ description: {
82
+ key: "confirm.deleteSelectedDescription",
83
+ fallback: "This action cannot be undone. All selected items will be permanently deleted."
84
+ },
85
+ confirmLabel: {
86
+ key: "confirm.deleteAll",
87
+ fallback: "Delete All"
88
+ },
89
+ destructive: true
90
+ },
91
+ handler: {
92
+ type: "custom",
93
+ fn: async () => {}
94
+ },
95
+ ...opts
96
+ };
97
+ }
98
+ /**
99
+ * Create a "Restore" action for a single soft-deleted item
100
+ */
101
+ function createRestoreAction(opts) {
102
+ return {
103
+ id: "restore",
104
+ label: {
105
+ key: "action.restore",
106
+ fallback: "Restore"
107
+ },
108
+ icon: {
109
+ type: "icon",
110
+ props: { name: "ph:arrow-counter-clockwise" }
111
+ },
112
+ variant: "secondary",
113
+ visible: (ctx) => {
114
+ const item = ctx.item;
115
+ if (Array.isArray(item)) return false;
116
+ return !!item?.deletedAt;
117
+ },
118
+ confirmation: {
119
+ title: {
120
+ key: "confirm.restoreItemTitle",
121
+ fallback: "Restore item?"
122
+ },
123
+ description: {
124
+ key: "confirm.restoreItemDescription",
125
+ fallback: "This item will become visible in normal list views again."
126
+ },
127
+ confirmLabel: {
128
+ key: "action.restore",
129
+ fallback: "Restore"
130
+ },
131
+ destructive: false
132
+ },
133
+ handler: {
134
+ type: "api",
135
+ endpoint: "{id}/restore",
136
+ method: "POST"
137
+ },
138
+ ...opts
139
+ };
140
+ }
141
+ /**
142
+ * Create a "Restore Many" (bulk restore) action
143
+ */
144
+ function createRestoreManyAction(opts) {
145
+ return {
146
+ id: "restoreMany",
147
+ label: {
148
+ key: "action.restoreSelected",
149
+ fallback: "Restore Selected"
150
+ },
151
+ icon: {
152
+ type: "icon",
153
+ props: { name: "ph:arrow-counter-clockwise" }
154
+ },
155
+ variant: "secondary",
156
+ visible: (ctx) => {
157
+ return (Array.isArray(ctx.item) ? ctx.item : []).some((item) => !!item?.deletedAt);
158
+ },
159
+ confirmation: {
160
+ title: {
161
+ key: "confirm.restoreSelectedTitle",
162
+ fallback: "Restore selected items?"
163
+ },
164
+ description: {
165
+ key: "confirm.restoreSelectedDescription",
166
+ fallback: "Selected items will be restored and visible again."
167
+ },
168
+ confirmLabel: {
169
+ key: "confirm.restoreAll",
170
+ fallback: "Restore All"
171
+ },
172
+ destructive: false
173
+ },
174
+ handler: {
175
+ type: "custom",
176
+ fn: async () => {}
177
+ },
178
+ ...opts
179
+ };
180
+ }
181
+ /**
182
+ * Create a "Delete" action for single item (form view)
183
+ */
184
+ function createDeleteAction(opts) {
185
+ return {
186
+ id: "delete",
187
+ label: {
188
+ key: "action.delete",
189
+ fallback: "Delete"
190
+ },
191
+ icon: {
192
+ type: "icon",
193
+ props: { name: "ph:trash" }
194
+ },
195
+ variant: "destructive",
196
+ confirmation: {
197
+ title: {
198
+ key: "confirm.deleteItemTitle",
199
+ fallback: "Delete item?"
200
+ },
201
+ description: {
202
+ key: "confirm.deleteItemDescription",
203
+ fallback: "This action cannot be undone. The item will be permanently deleted."
204
+ },
205
+ confirmLabel: {
206
+ key: "action.delete",
207
+ fallback: "Delete"
208
+ },
209
+ destructive: true
210
+ },
211
+ handler: {
212
+ type: "api",
213
+ endpoint: "{id}",
214
+ method: "DELETE"
215
+ },
216
+ ...opts
217
+ };
218
+ }
219
+ /**
220
+ * Creates an action registry proxy for type-safe action building
221
+ */
222
+ function createActionRegistryProxy() {
223
+ return {
224
+ create: (opts) => createCreateAction(opts),
225
+ duplicate: (opts) => createDuplicateAction(opts),
226
+ delete: (opts) => createDeleteAction(opts),
227
+ deleteMany: (opts) => createDeleteManyAction(opts),
228
+ restore: (opts) => createRestoreAction(opts),
229
+ restoreMany: (opts) => createRestoreManyAction(opts),
230
+ action: (def) => def
231
+ };
232
+ }
233
+ /**
234
+ * Get default header actions for a collection
235
+ */
236
+ function getDefaultHeaderActions() {
237
+ return {
238
+ primary: [createCreateAction()],
239
+ secondary: []
240
+ };
241
+ }
242
+ /**
243
+ * Get default bulk actions for a collection
244
+ */
245
+ function getDefaultBulkActions() {
246
+ return [
247
+ createDeleteManyAction(),
248
+ createRestoreManyAction(),
249
+ createDuplicateAction()
250
+ ];
251
+ }
252
+ /**
253
+ * Get default form actions for a collection (edit view)
254
+ */
255
+ function getDefaultFormActions() {
256
+ return {
257
+ primary: [],
258
+ secondary: [
259
+ createDuplicateAction(),
260
+ createRestoreAction(),
261
+ createDeleteAction()
262
+ ]
263
+ };
264
+ }
265
+ /**
266
+ * Get complete default actions config
267
+ */
268
+ function getDefaultActionsConfig() {
269
+ return {
270
+ header: getDefaultHeaderActions(),
271
+ bulk: getDefaultBulkActions()
272
+ };
273
+ }
274
+
275
+ //#endregion
276
+ export { createActionRegistryProxy, getDefaultActionsConfig, getDefaultFormActions };
@@ -0,0 +1,226 @@
1
+ import { I18nText } from "../../i18n/types.mjs";
2
+ import { IconComponent, MaybeLazyComponent } from "./common.mjs";
3
+ import { FieldDefinition } from "../field/field.mjs";
4
+ import { ComponentReference } from "../../../server/augmentation/common.mjs";
5
+ import "../../../server/augmentation.mjs";
6
+
7
+ //#region src/client/builder/types/action-types.d.ts
8
+
9
+ /**
10
+ * Action helpers provided to action handlers
11
+ */
12
+ interface ActionHelpers {
13
+ /** Navigate to a path */
14
+ navigate: (path: string) => void;
15
+ /** Show toast notification */
16
+ toast: {
17
+ success: (message: string) => void;
18
+ error: (message: string) => void;
19
+ info: (message: string) => void;
20
+ warning: (message: string) => void;
21
+ };
22
+ /**
23
+ * Translate a message key
24
+ * @param key - Translation key
25
+ * @param params - Interpolation parameters
26
+ */
27
+ t: (key: string, params?: Record<string, unknown>) => string;
28
+ /**
29
+ * Invalidate collection queries (triggers refetch)
30
+ * @param collection - Collection name (defaults to current collection)
31
+ */
32
+ invalidateCollection: (collection?: string) => Promise<void>;
33
+ /**
34
+ * Invalidate a specific item query
35
+ * @param id - Item ID
36
+ * @param collection - Collection name (defaults to current collection)
37
+ */
38
+ invalidateItem: (id: string, collection?: string) => Promise<void>;
39
+ /**
40
+ * Invalidate all queries
41
+ */
42
+ invalidateAll: () => Promise<void>;
43
+ /**
44
+ * Refresh the current view/data (alias for invalidateCollection)
45
+ * @deprecated Use invalidateCollection() instead for clarity
46
+ */
47
+ refresh: () => void;
48
+ /** Close the current dialog */
49
+ closeDialog: () => void;
50
+ /** Base path for admin routes */
51
+ basePath: string;
52
+ }
53
+ /**
54
+ * Query client interface for advanced query operations
55
+ */
56
+ interface ActionQueryClient {
57
+ /** Invalidate queries matching the filter */
58
+ invalidateQueries: (filters: {
59
+ queryKey?: readonly unknown[];
60
+ }) => Promise<void>;
61
+ /** Refetch queries matching the filter */
62
+ refetchQueries: (filters: {
63
+ queryKey?: readonly unknown[];
64
+ }) => Promise<void>;
65
+ /** Reset queries matching the filter */
66
+ resetQueries: (filters: {
67
+ queryKey?: readonly unknown[];
68
+ }) => Promise<void>;
69
+ }
70
+ /**
71
+ * Context provided to action handlers and callbacks
72
+ */
73
+ interface ActionContext<TItem = any> {
74
+ /** Item(s) being acted upon - single item for form actions, array for bulk */
75
+ item?: TItem;
76
+ /** Multiple items (for bulk actions) */
77
+ items?: TItem[];
78
+ /** Collection name */
79
+ collection: string;
80
+ /** Action helpers */
81
+ helpers: ActionHelpers;
82
+ /** Query client for advanced cache operations */
83
+ queryClient: ActionQueryClient;
84
+ /** Auth client for authentication operations (signUp, signIn, etc.) */
85
+ authClient?: any | null;
86
+ }
87
+ /**
88
+ * Navigate handler - navigates to a path
89
+ */
90
+ interface NavigateHandler<TItem = any> {
91
+ type: "navigate";
92
+ /** Path to navigate to (can be a function for dynamic paths) */
93
+ path: string | ((item: TItem) => string);
94
+ }
95
+ /**
96
+ * Props for dialog components
97
+ */
98
+ interface ActionDialogProps<TItem = any> {
99
+ /** Item being acted upon */
100
+ item?: TItem;
101
+ /** Multiple items for bulk actions */
102
+ items?: TItem[];
103
+ /** Collection name */
104
+ collection: string;
105
+ /** Close the dialog */
106
+ onClose: () => void;
107
+ /** Success callback */
108
+ onSuccess?: () => void;
109
+ }
110
+ /**
111
+ * Dialog handler - opens a dialog component
112
+ */
113
+ interface DialogHandler<TItem = any> {
114
+ type: "dialog";
115
+ /** Component to render in the dialog */
116
+ component: MaybeLazyComponent<ActionDialogProps<TItem>>;
117
+ }
118
+ /**
119
+ * Form handler configuration
120
+ *
121
+ * Uses FieldDefinition from the admin builder for full field system support.
122
+ * Fields are validated automatically using buildValidationSchema.
123
+ */
124
+ interface ActionFormConfig<TItem = any> {
125
+ /** Dialog title */
126
+ title: I18nText;
127
+ /** Dialog description */
128
+ description?: I18nText;
129
+ /** Form fields using FieldDefinition */
130
+ fields: Record<string, FieldDefinition>;
131
+ /** Default values */
132
+ defaultValues?: Record<string, any>;
133
+ /** Submit handler */
134
+ onSubmit: (data: Record<string, any>, ctx: ActionContext<TItem>) => void | Promise<void>;
135
+ /** Submit button label */
136
+ submitLabel?: I18nText;
137
+ /** Cancel button label */
138
+ cancelLabel?: I18nText;
139
+ /** Dialog width */
140
+ width?: "sm" | "md" | "lg" | "xl";
141
+ }
142
+ /**
143
+ * Form handler - opens a form dialog
144
+ */
145
+ interface FormHandler<TItem = any> {
146
+ type: "form";
147
+ /** Form configuration */
148
+ config: ActionFormConfig<TItem>;
149
+ }
150
+ /**
151
+ * API handler - calls an API endpoint
152
+ */
153
+ interface ApiHandler {
154
+ type: "api";
155
+ /** Endpoint path (can include {id} placeholder) */
156
+ endpoint: string;
157
+ /** HTTP method */
158
+ method?: "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
159
+ /** Request body factory */
160
+ body?: (ctx: ActionContext) => Record<string, any>;
161
+ }
162
+ /**
163
+ * Custom handler - runs arbitrary code
164
+ */
165
+ interface CustomHandler<TItem = any> {
166
+ type: "custom";
167
+ /** Handler function */
168
+ fn: (ctx: ActionContext<TItem>) => void | Promise<void>;
169
+ }
170
+ /**
171
+ * Server handler - executes action on the server via API.
172
+ * Used for server-defined actions where the handler runs server-side.
173
+ */
174
+ interface ServerHandler {
175
+ type: "server";
176
+ /** Server action ID (matches ServerActionDefinition.id) */
177
+ actionId: string;
178
+ /** Collection name for the action endpoint */
179
+ collection: string;
180
+ }
181
+ /**
182
+ * Union of all action handler types
183
+ */
184
+ type ActionHandler<TItem = any> = NavigateHandler<TItem> | DialogHandler<TItem> | FormHandler<TItem> | ApiHandler | CustomHandler<TItem> | ServerHandler;
185
+ /**
186
+ * Confirmation dialog configuration
187
+ */
188
+ interface ConfirmationConfig {
189
+ /** Dialog title */
190
+ title: I18nText;
191
+ /** Dialog description */
192
+ description?: I18nText;
193
+ /** Confirm button label */
194
+ confirmLabel?: I18nText;
195
+ /** Cancel button label */
196
+ cancelLabel?: I18nText;
197
+ /** Use destructive styling */
198
+ destructive?: boolean;
199
+ }
200
+ /**
201
+ * Button variant types (matching shadcn button variants)
202
+ */
203
+ type ActionVariant = "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
204
+ /**
205
+ * Complete action definition
206
+ */
207
+ interface ActionDefinition<TItem = any> {
208
+ /** Unique action identifier */
209
+ id: string;
210
+ /** Display label */
211
+ label: I18nText;
212
+ /** Icon component or server-defined component reference */
213
+ icon?: IconComponent | ComponentReference;
214
+ /** Button variant */
215
+ variant?: ActionVariant;
216
+ /** Whether action is visible (static or dynamic) */
217
+ visible?: boolean | ((ctx: ActionContext<TItem>) => boolean);
218
+ /** Whether action is disabled (static or dynamic) */
219
+ disabled?: boolean | ((ctx: ActionContext<TItem>) => boolean);
220
+ /** Action handler */
221
+ handler: ActionHandler<TItem>;
222
+ /** Confirmation dialog before executing */
223
+ confirmation?: ConfirmationConfig;
224
+ }
225
+ //#endregion
226
+ export { ActionDefinition };
@@ -0,0 +1,10 @@
1
+ //#region src/client/builder/types/collection-types.ts
2
+ /**
3
+ * Helper to get column config object (normalizes string to object)
4
+ */
5
+ function normalizeColumnConfig(column) {
6
+ return typeof column === "string" ? { field: column } : column;
7
+ }
8
+
9
+ //#endregion
10
+ export { normalizeColumnConfig };
@@ -0,0 +1,46 @@
1
+ import { I18nText } from "../../i18n/types.mjs";
2
+ import * as React from "react";
3
+
4
+ //#region src/client/builder/types/common.d.ts
5
+
6
+ /**
7
+ * Dynamic I18n text resolver (supports functions based on form values)
8
+ */
9
+ type DynamicI18nText = I18nText | ((values: Record<string, any>) => I18nText);
10
+ /**
11
+ * Component that can be lazy-loaded or direct
12
+ * Supports React.lazy, dynamic imports, and direct components
13
+ */
14
+ type MaybeLazyComponent<TProps = any> = React.LazyExoticComponent<React.ComponentType<TProps>> | (() => Promise<{
15
+ default: React.ComponentType<TProps>;
16
+ }>) | React.ComponentType<TProps>;
17
+ /**
18
+ * Icon component type
19
+ * Icons are always synchronous - no lazy loading needed for small SVGs
20
+ */
21
+ type IconComponent = React.ComponentType<React.SVGProps<SVGSVGElement> & {
22
+ className?: string;
23
+ }>;
24
+ /**
25
+ * Base field props that are provided by the form (runtime)
26
+ * These should be omitted when inferring field options from component props
27
+ */
28
+ type BaseFieldProps = {
29
+ name: string;
30
+ value: any;
31
+ onChange?: (value: any) => void;
32
+ onBlur: () => void;
33
+ disabled?: boolean;
34
+ readOnly?: boolean;
35
+ error?: string;
36
+ label?: string;
37
+ description?: string;
38
+ placeholder?: string;
39
+ required?: boolean;
40
+ localized?: boolean;
41
+ locale?: string;
42
+ control?: any;
43
+ className?: string;
44
+ };
45
+ //#endregion
46
+ export { BaseFieldProps, DynamicI18nText, IconComponent, MaybeLazyComponent };