@btst/stack 2.5.6 → 2.6.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 (216) hide show
  1. package/README.md +23 -0
  2. package/dist/client/components/index.d.cts +9 -9
  3. package/dist/client/components/index.d.mts +9 -9
  4. package/dist/client/components/index.d.ts +9 -9
  5. package/dist/components/auto-form/index.cjs +8 -0
  6. package/dist/components/auto-form/index.d.cts +26 -0
  7. package/dist/components/auto-form/index.d.mts +26 -0
  8. package/dist/components/auto-form/index.d.ts +26 -0
  9. package/dist/components/auto-form/index.mjs +1 -0
  10. package/dist/components/empty/index.cjs +12 -0
  11. package/dist/components/empty/index.d.cts +15 -0
  12. package/dist/components/empty/index.d.mts +15 -0
  13. package/dist/components/empty/index.d.ts +15 -0
  14. package/dist/components/empty/index.mjs +1 -0
  15. package/dist/components/form-builder/index.cjs +16 -0
  16. package/dist/components/form-builder/index.d.cts +385 -0
  17. package/dist/components/form-builder/index.d.mts +385 -0
  18. package/dist/components/form-builder/index.d.ts +385 -0
  19. package/dist/components/form-builder/index.mjs +4 -0
  20. package/dist/components/markdown/index.cjs +9 -0
  21. package/dist/components/markdown/index.d.cts +30 -0
  22. package/dist/components/markdown/index.d.mts +30 -0
  23. package/dist/components/markdown/index.d.ts +30 -0
  24. package/dist/components/markdown/index.mjs +2 -0
  25. package/dist/components/markdown/style.css +394 -0
  26. package/dist/components/minimal-tiptap/style.css +548 -0
  27. package/dist/components/multi-select/index.cjs +7 -0
  28. package/dist/components/multi-select/index.d.cts +78 -0
  29. package/dist/components/multi-select/index.d.mts +78 -0
  30. package/dist/components/multi-select/index.d.ts +78 -0
  31. package/dist/components/multi-select/index.mjs +1 -0
  32. package/dist/components/search-select/index.cjs +7 -0
  33. package/dist/components/search-select/index.d.cts +15 -0
  34. package/dist/components/search-select/index.d.mts +15 -0
  35. package/dist/components/search-select/index.d.ts +15 -0
  36. package/dist/components/search-select/index.mjs +1 -0
  37. package/dist/components/stepped-auto-form/index.cjs +7 -0
  38. package/dist/components/stepped-auto-form/index.d.cts +37 -0
  39. package/dist/components/stepped-auto-form/index.d.mts +37 -0
  40. package/dist/components/stepped-auto-form/index.d.ts +37 -0
  41. package/dist/components/stepped-auto-form/index.mjs +1 -0
  42. package/dist/components/ui-builder/style.css +552 -0
  43. package/dist/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.cjs +1 -1
  44. package/dist/node_modules/.pnpm/@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@dnd-kit/core/dist/core.esm.mjs +1 -1
  45. package/dist/node_modules/.pnpm/@dnd-kit_sortable@10.0.0_@dnd-kit_core@6.3.1_react-dom@19.2.0_react@19.2.0__react@19.2.0__react@19.2.0/node_modules/@dnd-kit/sortable/dist/sortable.esm.mjs +2 -2
  46. package/dist/node_modules/.pnpm/@floating-ui_core@1.7.3/node_modules/@floating-ui/core/dist/floating-ui.core.mjs +1 -1
  47. package/dist/node_modules/.pnpm/@floating-ui_dom@1.7.4/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs +3 -3
  48. package/dist/node_modules/.pnpm/@floating-ui_react-dom@2.1.6_react-dom@19.2.0_react@19.2.0__react@19.2.0/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs +1 -1
  49. package/dist/packages/stack/src/plugins/ai-chat/client/components/shared/default-error.cjs +1 -1
  50. package/dist/packages/stack/src/plugins/ai-chat/client/components/shared/default-error.mjs +1 -1
  51. package/dist/packages/stack/src/plugins/ai-chat/client/plugin.cjs +44 -35
  52. package/dist/packages/stack/src/plugins/ai-chat/client/plugin.mjs +44 -35
  53. package/dist/packages/stack/src/plugins/blog/client/components/forms/markdown-editor-with-overrides.cjs +23 -0
  54. package/dist/packages/stack/src/plugins/blog/client/components/forms/markdown-editor-with-overrides.mjs +21 -0
  55. package/dist/packages/stack/src/plugins/blog/client/components/forms/markdown-editor.cjs +11 -12
  56. package/dist/packages/stack/src/plugins/blog/client/components/forms/markdown-editor.mjs +11 -12
  57. package/dist/packages/stack/src/plugins/blog/client/components/forms/post-forms.cjs +2 -2
  58. package/dist/packages/stack/src/plugins/blog/client/components/forms/post-forms.mjs +2 -2
  59. package/dist/packages/stack/src/plugins/blog/client/components/shared/default-error.cjs +1 -1
  60. package/dist/packages/stack/src/plugins/blog/client/components/shared/default-error.mjs +1 -1
  61. package/dist/packages/stack/src/plugins/blog/client/components/shared/search-input.cjs +0 -3
  62. package/dist/packages/stack/src/plugins/blog/client/components/shared/search-input.mjs +1 -1
  63. package/dist/packages/stack/src/plugins/blog/client/components/shared/search-modal.cjs +0 -3
  64. package/dist/packages/stack/src/plugins/blog/client/components/shared/search-modal.mjs +1 -1
  65. package/dist/packages/stack/src/plugins/blog/client/hooks/use-debounce.cjs +22 -0
  66. package/dist/packages/stack/src/plugins/blog/client/hooks/use-debounce.mjs +23 -2
  67. package/dist/packages/stack/src/plugins/blog/client/plugin.cjs +12 -6
  68. package/dist/packages/stack/src/plugins/blog/client/plugin.mjs +12 -6
  69. package/dist/packages/stack/src/plugins/cms/client/components/shared/default-error.cjs +1 -1
  70. package/dist/packages/stack/src/plugins/cms/client/components/shared/default-error.mjs +1 -1
  71. package/dist/packages/stack/src/plugins/cms/client/plugin.cjs +38 -26
  72. package/dist/packages/stack/src/plugins/cms/client/plugin.mjs +38 -26
  73. package/dist/packages/stack/src/plugins/form-builder/client/components/shared/default-error.cjs +1 -1
  74. package/dist/packages/stack/src/plugins/form-builder/client/components/shared/default-error.mjs +1 -1
  75. package/dist/packages/stack/src/plugins/form-builder/client/plugin.cjs +32 -20
  76. package/dist/packages/stack/src/plugins/form-builder/client/plugin.mjs +32 -20
  77. package/dist/packages/stack/src/plugins/kanban/client/components/shared/default-error.cjs +1 -1
  78. package/dist/packages/stack/src/plugins/kanban/client/components/shared/default-error.mjs +1 -1
  79. package/dist/packages/stack/src/plugins/kanban/client/plugin.cjs +6 -3
  80. package/dist/packages/stack/src/plugins/kanban/client/plugin.mjs +6 -3
  81. package/dist/packages/stack/src/plugins/ui-builder/client/components/page-renderer.cjs +1 -1
  82. package/dist/packages/stack/src/plugins/ui-builder/client/components/page-renderer.mjs +1 -1
  83. package/dist/packages/stack/src/plugins/ui-builder/client/components/shared/default-error.cjs +1 -1
  84. package/dist/packages/stack/src/plugins/ui-builder/client/components/shared/default-error.mjs +1 -1
  85. package/dist/packages/stack/src/plugins/ui-builder/client/plugin.cjs +24 -15
  86. package/dist/packages/stack/src/plugins/ui-builder/client/plugin.mjs +24 -15
  87. package/dist/packages/ui/src/components/auto-form/index.cjs +12 -2
  88. package/dist/packages/ui/src/components/auto-form/index.mjs +9 -2
  89. package/dist/packages/ui/src/components/auto-form/stepped-auto-form.cjs +2 -2
  90. package/dist/packages/ui/src/components/empty.cjs +28 -0
  91. package/dist/packages/ui/src/components/empty.mjs +27 -1
  92. package/dist/packages/ui/src/components/form-builder/components/index.mjs +2 -2
  93. package/dist/packages/ui/src/components/form-builder/edit-field-dialog.cjs +1 -1
  94. package/dist/packages/ui/src/components/form-builder/index.mjs +2 -2
  95. package/dist/packages/ui/src/components/form.mjs +1 -1
  96. package/dist/packages/ui/src/components/kanban.mjs +1 -1
  97. package/dist/packages/ui/src/components/multi-select.mjs +2 -2
  98. package/dist/packages/ui/src/components/search-select.cjs +13 -3
  99. package/dist/packages/ui/src/components/search-select.mjs +14 -4
  100. package/dist/packages/ui/src/components/ui-builder/internal/config-panel.cjs +1 -1
  101. package/dist/packages/ui/src/components/ui-builder/internal/props-panel.cjs +1 -1
  102. package/dist/plugins/ai-chat/client/index.d.cts +17 -4
  103. package/dist/plugins/ai-chat/client/index.d.mts +17 -4
  104. package/dist/plugins/ai-chat/client/index.d.ts +17 -4
  105. package/dist/plugins/blog/api/index.d.cts +2 -2
  106. package/dist/plugins/blog/api/index.d.mts +2 -2
  107. package/dist/plugins/blog/api/index.d.ts +2 -2
  108. package/dist/plugins/blog/client/hooks/index.cjs +3 -0
  109. package/dist/plugins/blog/client/hooks/index.d.cts +7 -226
  110. package/dist/plugins/blog/client/hooks/index.d.mts +7 -226
  111. package/dist/plugins/blog/client/hooks/index.d.ts +7 -226
  112. package/dist/plugins/blog/client/hooks/index.mjs +1 -0
  113. package/dist/plugins/blog/client/index.d.cts +46 -22
  114. package/dist/plugins/blog/client/index.d.mts +46 -22
  115. package/dist/plugins/blog/client/index.d.ts +46 -22
  116. package/dist/plugins/blog/query-keys.d.cts +2 -2
  117. package/dist/plugins/blog/query-keys.d.mts +2 -2
  118. package/dist/plugins/blog/query-keys.d.ts +2 -2
  119. package/dist/plugins/cms/client/index.d.cts +36 -15
  120. package/dist/plugins/cms/client/index.d.mts +36 -15
  121. package/dist/plugins/cms/client/index.d.ts +36 -15
  122. package/dist/plugins/form-builder/client/components/index.d.cts +2 -2
  123. package/dist/plugins/form-builder/client/components/index.d.mts +2 -2
  124. package/dist/plugins/form-builder/client/components/index.d.ts +2 -2
  125. package/dist/plugins/form-builder/client/index.d.cts +33 -15
  126. package/dist/plugins/form-builder/client/index.d.mts +33 -15
  127. package/dist/plugins/form-builder/client/index.d.ts +33 -15
  128. package/dist/plugins/kanban/api/index.d.cts +1 -1
  129. package/dist/plugins/kanban/api/index.d.mts +1 -1
  130. package/dist/plugins/kanban/api/index.d.ts +1 -1
  131. package/dist/plugins/kanban/client/components/index.d.cts +5 -5
  132. package/dist/plugins/kanban/client/components/index.d.mts +5 -5
  133. package/dist/plugins/kanban/client/components/index.d.ts +5 -5
  134. package/dist/plugins/kanban/client/index.d.cts +25 -10
  135. package/dist/plugins/kanban/client/index.d.mts +25 -10
  136. package/dist/plugins/kanban/client/index.d.ts +25 -10
  137. package/dist/plugins/kanban/query-keys.d.cts +1 -1
  138. package/dist/plugins/kanban/query-keys.d.mts +1 -1
  139. package/dist/plugins/kanban/query-keys.d.ts +1 -1
  140. package/dist/plugins/route-docs/client/index.d.cts +4 -4
  141. package/dist/plugins/route-docs/client/index.d.mts +4 -4
  142. package/dist/plugins/route-docs/client/index.d.ts +4 -4
  143. package/dist/plugins/ui-builder/client/components/index.d.cts +3 -3
  144. package/dist/plugins/ui-builder/client/components/index.d.mts +3 -3
  145. package/dist/plugins/ui-builder/client/components/index.d.ts +3 -3
  146. package/dist/plugins/ui-builder/client/hooks/index.d.cts +3 -3
  147. package/dist/plugins/ui-builder/client/hooks/index.d.mts +3 -3
  148. package/dist/plugins/ui-builder/client/hooks/index.d.ts +3 -3
  149. package/dist/plugins/ui-builder/client/index.d.cts +32 -18
  150. package/dist/plugins/ui-builder/client/index.d.mts +32 -18
  151. package/dist/plugins/ui-builder/client/index.d.ts +32 -18
  152. package/dist/plugins/ui-builder/index.d.cts +3 -3
  153. package/dist/plugins/ui-builder/index.d.mts +3 -3
  154. package/dist/plugins/ui-builder/index.d.ts +3 -3
  155. package/dist/shared/{stack.B2DwzF3r.d.ts → stack.ASwEoINr.d.ts} +1 -1
  156. package/dist/shared/{stack.C5ZSOJGJ.d.cts → stack.B1srlBud.d.mts} +1 -1
  157. package/dist/shared/stack.B8vT-Yt4.d.mts +228 -0
  158. package/dist/shared/stack.BAT540yW.d.ts +228 -0
  159. package/dist/shared/{stack.D0QupDcQ.d.ts → stack.BK9Z2dcL.d.ts} +1 -1
  160. package/dist/shared/stack.BwA7trxA.d.cts +228 -0
  161. package/dist/shared/{stack.Cl7ok_cY.d.cts → stack.CFECM0ew.d.cts} +1 -1
  162. package/dist/shared/stack.CZMWR72v.d.cts +10 -0
  163. package/dist/shared/stack.CZMWR72v.d.mts +10 -0
  164. package/dist/shared/stack.CZMWR72v.d.ts +10 -0
  165. package/dist/shared/{stack.VMmQdbsJ.d.mts → stack.DVtk5CNw.d.mts} +1 -1
  166. package/dist/shared/{stack.B8_74ror.d.ts → stack.DXnclTG7.d.ts} +4 -4
  167. package/dist/shared/{stack.C21-LFX8.d.cts → stack.DaZM10cp.d.cts} +4 -4
  168. package/dist/shared/{stack.Dq4qVr1F.d.mts → stack.DmpPDPxA.d.cts} +1 -1
  169. package/dist/shared/{stack.CL4mKxe7.d.mts → stack.cfCkioTe.d.mts} +4 -4
  170. package/dist/shared/stack.fdi94T4S.d.cts +291 -0
  171. package/dist/shared/stack.fdi94T4S.d.mts +291 -0
  172. package/dist/shared/stack.fdi94T4S.d.ts +291 -0
  173. package/package.json +115 -4
  174. package/src/__tests__/page-component-overrides.test.tsx +147 -0
  175. package/src/components/auto-form/index.ts +12 -0
  176. package/src/components/empty/index.ts +8 -0
  177. package/src/components/form-builder/index.ts +23 -0
  178. package/src/components/kanban/index.ts +9 -0
  179. package/src/components/markdown/index.ts +5 -0
  180. package/src/components/markdown/style.css +3 -0
  181. package/src/components/minimal-tiptap/index.ts +5 -0
  182. package/src/components/minimal-tiptap/style.css +1 -0
  183. package/src/components/multi-select/index.ts +5 -0
  184. package/src/components/search-select/index.ts +1 -0
  185. package/src/components/stepped-auto-form/index.ts +5 -0
  186. package/src/components/ui-builder/index.ts +50 -0
  187. package/src/components/ui-builder/style.css +5 -0
  188. package/src/plugins/ai-chat/client/components/shared/default-error.tsx +1 -1
  189. package/src/plugins/ai-chat/client/plugin.tsx +60 -32
  190. package/src/plugins/blog/client/components/forms/markdown-editor-with-overrides.tsx +29 -0
  191. package/src/plugins/blog/client/components/forms/markdown-editor.tsx +24 -21
  192. package/src/plugins/blog/client/components/forms/post-forms.tsx +2 -2
  193. package/src/plugins/blog/client/components/shared/default-error.tsx +2 -1
  194. package/src/plugins/blog/client/components/shared/posts-list.tsx +1 -1
  195. package/src/plugins/blog/client/components/shared/search-input.tsx +0 -2
  196. package/src/plugins/blog/client/components/shared/search-modal.tsx +0 -2
  197. package/src/plugins/blog/client/hooks/index.tsx +1 -0
  198. package/src/plugins/blog/client/plugin.tsx +41 -6
  199. package/src/plugins/cms/client/components/shared/default-error.tsx +3 -2
  200. package/src/plugins/cms/client/plugin.tsx +65 -32
  201. package/src/plugins/form-builder/client/components/shared/default-error.tsx +3 -2
  202. package/src/plugins/form-builder/client/plugin.tsx +56 -23
  203. package/src/plugins/kanban/client/components/shared/default-error.tsx +3 -2
  204. package/src/plugins/kanban/client/plugin.tsx +23 -3
  205. package/src/plugins/ui-builder/client/components/page-renderer.tsx +5 -3
  206. package/src/plugins/ui-builder/client/components/shared/default-error.tsx +3 -2
  207. package/src/plugins/ui-builder/client/plugin.tsx +41 -15
  208. package/dist/shared/stack.8nldKomx.d.cts +0 -114
  209. package/dist/shared/stack.8nldKomx.d.mts +0 -114
  210. package/dist/shared/stack.8nldKomx.d.ts +0 -114
  211. package/dist/shared/{stack.CxNeGV2z.d.mts → stack.B8D4r97Z.d.mts} +6 -6
  212. package/dist/shared/{stack.BWp0hcm9.d.cts → stack.BQmuNl5p.d.cts} +3 -3
  213. package/dist/shared/{stack.BWp0hcm9.d.mts → stack.BQmuNl5p.d.mts} +3 -3
  214. package/dist/shared/{stack.BWp0hcm9.d.ts → stack.BQmuNl5p.d.ts} +3 -3
  215. package/dist/shared/{stack.BFcg0tDz.d.ts → stack.DgKOwl20.d.ts} +6 -6
  216. package/dist/shared/{stack.DSxTDZBQ.d.cts → stack.uWSqCWAb.d.cts} +6 -6
@@ -6,6 +6,7 @@ import {
6
6
  runClientHookWithShim,
7
7
  } from "@btst/stack/plugins/client";
8
8
  import { createRoute } from "@btst/yar";
9
+ import type { ComponentType } from "react";
9
10
  import type { QueryClient } from "@tanstack/react-query";
10
11
  import type { CMSApiRouter } from "../../cms/api";
11
12
  import { createCMSQueryKeys } from "../../cms/query-keys";
@@ -48,6 +49,20 @@ export interface UIBuilderClientConfig {
48
49
  hooks?: UIBuilderClientHooks;
49
50
  /** Component registry to use for the UI Builder */
50
51
  componentRegistry?: ComponentRegistry;
52
+
53
+ /**
54
+ * Optional page component overrides.
55
+ * Replace any plugin page with a custom React component.
56
+ * The built-in component is used as the fallback when not provided.
57
+ */
58
+ pageComponents?: {
59
+ /** Replaces the page list page */
60
+ pageList?: ComponentType;
61
+ /** Replaces the new page builder page */
62
+ newPage?: ComponentType;
63
+ /** Replaces the edit page builder page */
64
+ editPage?: ComponentType<{ id: string }>;
65
+ };
51
66
  }
52
67
 
53
68
  /**
@@ -290,23 +305,34 @@ export const uiBuilderClientPlugin = (config: UIBuilderClientConfig) =>
290
305
  name: "ui-builder",
291
306
 
292
307
  routes: () => ({
293
- pageList: createRoute("/ui-builder", () => ({
294
- PageComponent: () => <PageListPageComponent />,
295
- loader: createPageListLoader(config),
296
- meta: createPageListMeta(),
297
- })),
308
+ pageList: createRoute("/ui-builder", () => {
309
+ const CustomPageList = config.pageComponents?.pageList;
310
+ return {
311
+ PageComponent: CustomPageList ?? (() => <PageListPageComponent />),
312
+ loader: createPageListLoader(config),
313
+ meta: createPageListMeta(),
314
+ };
315
+ }),
298
316
 
299
- newPage: createRoute("/ui-builder/new", () => ({
300
- PageComponent: () => <PageBuilderPageComponent />,
301
- loader: createPageBuilderLoader(undefined, config),
302
- meta: createPageBuilderMeta(undefined, config),
303
- })),
317
+ newPage: createRoute("/ui-builder/new", () => {
318
+ const CustomNewPage = config.pageComponents?.newPage;
319
+ return {
320
+ PageComponent: CustomNewPage ?? (() => <PageBuilderPageComponent />),
321
+ loader: createPageBuilderLoader(undefined, config),
322
+ meta: createPageBuilderMeta(undefined, config),
323
+ };
324
+ }),
304
325
 
305
- editPage: createRoute("/ui-builder/:id/edit", ({ params }) => ({
306
- PageComponent: () => <PageBuilderPageComponent id={params.id} />,
307
- loader: createPageBuilderLoader(params.id, config),
308
- meta: createPageBuilderMeta(params.id, config),
309
- })),
326
+ editPage: createRoute("/ui-builder/:id/edit", ({ params }) => {
327
+ const CustomEditPage = config.pageComponents?.editPage;
328
+ return {
329
+ PageComponent: CustomEditPage
330
+ ? () => <CustomEditPage id={params.id} />
331
+ : () => <PageBuilderPageComponent id={params.id} />,
332
+ loader: createPageBuilderLoader(params.id, config),
333
+ meta: createPageBuilderMeta(params.id, config),
334
+ };
335
+ }),
310
336
  }),
311
337
 
312
338
  sitemap: async () => {
@@ -1,114 +0,0 @@
1
- import { ControllerRenderProps, FieldValues } from 'react-hook-form';
2
- import * as zod from 'zod';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
-
5
- declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
6
-
7
- declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, zodItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
8
-
9
- declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
10
-
11
- declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
12
-
13
- declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
14
-
15
- declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
16
-
17
- declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
18
-
19
- declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
20
-
21
- declare const INPUT_COMPONENTS: {
22
- checkbox: typeof AutoFormCheckbox;
23
- date: typeof AutoFormDate;
24
- select: typeof AutoFormEnum;
25
- radio: typeof AutoFormRadioGroup;
26
- switch: typeof AutoFormSwitch;
27
- textarea: typeof AutoFormTextarea;
28
- number: typeof AutoFormNumber;
29
- fallback: typeof AutoFormInput;
30
- };
31
-
32
- /**
33
- * Common input props shared by all field types.
34
- */
35
- interface BaseInputProps {
36
- /** Whether the field is disabled */
37
- disabled?: boolean;
38
- /** Whether the field is read-only */
39
- readOnly?: boolean;
40
- /** Whether the field is required */
41
- required?: boolean;
42
- /** Whether to show the label (auto-form specific) */
43
- showLabel?: boolean;
44
- }
45
- /**
46
- * Generic input props that accept any field type.
47
- * Use this when the backing type is not known at compile time.
48
- *
49
- * This is the catch-all type used for runtime flexibility.
50
- */
51
- interface SerializableInputProps extends BaseInputProps {
52
- placeholder?: string;
53
- type?: string;
54
- defaultValue?: unknown;
55
- min?: number | string;
56
- max?: number | string;
57
- step?: number | string;
58
- minLength?: number;
59
- maxLength?: number;
60
- pattern?: string;
61
- autoComplete?: string;
62
- /** Allow additional props for extensibility */
63
- [key: string]: unknown;
64
- }
65
-
66
- /**
67
- * Input props for form fields.
68
- *
69
- * This is the runtime type that accepts any input props.
70
- * For type-safe props, use the discriminated types:
71
- * - StringInputProps for text inputs
72
- * - NumberInputProps for number inputs
73
- * - BooleanInputProps for checkboxes/switches
74
- * - DateInputProps for date pickers
75
- * - EnumInputProps for selects/radios
76
- */
77
- type FieldInputProps = SerializableInputProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof SerializableInputProps> & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, keyof SerializableInputProps>;
78
- /**
79
- * Configuration for a single field in AutoForm.
80
- *
81
- * Note: This type is designed to align with form-builder's FormBuilderFieldProps
82
- * so that JSON Schema properties can be easily converted to field configs.
83
- */
84
- type FieldConfigItem = {
85
- /** Description text or React node */
86
- description?: React.ReactNode;
87
- /** Input props passed to the field component */
88
- inputProps?: FieldInputProps;
89
- /** Display label */
90
- label?: string;
91
- /** Field type override - built-in type or custom component */
92
- fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
93
- /** Wrapper component for custom field layout */
94
- renderParent?: (props: {
95
- children: React.ReactNode;
96
- }) => React.ReactElement | null;
97
- /** Display order for field ordering */
98
- order?: number;
99
- };
100
- /**
101
- * A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
102
- */
103
- type AutoFormInputComponentProps = {
104
- zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
105
- field: ControllerRenderProps<FieldValues, any>;
106
- fieldConfigItem: FieldConfigItem;
107
- label: string;
108
- isRequired: boolean;
109
- fieldProps: any;
110
- zodItem: zod.ZodType;
111
- className?: string;
112
- };
113
-
114
- export type { AutoFormInputComponentProps as A, FieldConfigItem as F };
@@ -1,114 +0,0 @@
1
- import { ControllerRenderProps, FieldValues } from 'react-hook-form';
2
- import * as zod from 'zod';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
-
5
- declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
6
-
7
- declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, zodItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
8
-
9
- declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
10
-
11
- declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
12
-
13
- declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
14
-
15
- declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
16
-
17
- declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
18
-
19
- declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
20
-
21
- declare const INPUT_COMPONENTS: {
22
- checkbox: typeof AutoFormCheckbox;
23
- date: typeof AutoFormDate;
24
- select: typeof AutoFormEnum;
25
- radio: typeof AutoFormRadioGroup;
26
- switch: typeof AutoFormSwitch;
27
- textarea: typeof AutoFormTextarea;
28
- number: typeof AutoFormNumber;
29
- fallback: typeof AutoFormInput;
30
- };
31
-
32
- /**
33
- * Common input props shared by all field types.
34
- */
35
- interface BaseInputProps {
36
- /** Whether the field is disabled */
37
- disabled?: boolean;
38
- /** Whether the field is read-only */
39
- readOnly?: boolean;
40
- /** Whether the field is required */
41
- required?: boolean;
42
- /** Whether to show the label (auto-form specific) */
43
- showLabel?: boolean;
44
- }
45
- /**
46
- * Generic input props that accept any field type.
47
- * Use this when the backing type is not known at compile time.
48
- *
49
- * This is the catch-all type used for runtime flexibility.
50
- */
51
- interface SerializableInputProps extends BaseInputProps {
52
- placeholder?: string;
53
- type?: string;
54
- defaultValue?: unknown;
55
- min?: number | string;
56
- max?: number | string;
57
- step?: number | string;
58
- minLength?: number;
59
- maxLength?: number;
60
- pattern?: string;
61
- autoComplete?: string;
62
- /** Allow additional props for extensibility */
63
- [key: string]: unknown;
64
- }
65
-
66
- /**
67
- * Input props for form fields.
68
- *
69
- * This is the runtime type that accepts any input props.
70
- * For type-safe props, use the discriminated types:
71
- * - StringInputProps for text inputs
72
- * - NumberInputProps for number inputs
73
- * - BooleanInputProps for checkboxes/switches
74
- * - DateInputProps for date pickers
75
- * - EnumInputProps for selects/radios
76
- */
77
- type FieldInputProps = SerializableInputProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof SerializableInputProps> & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, keyof SerializableInputProps>;
78
- /**
79
- * Configuration for a single field in AutoForm.
80
- *
81
- * Note: This type is designed to align with form-builder's FormBuilderFieldProps
82
- * so that JSON Schema properties can be easily converted to field configs.
83
- */
84
- type FieldConfigItem = {
85
- /** Description text or React node */
86
- description?: React.ReactNode;
87
- /** Input props passed to the field component */
88
- inputProps?: FieldInputProps;
89
- /** Display label */
90
- label?: string;
91
- /** Field type override - built-in type or custom component */
92
- fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
93
- /** Wrapper component for custom field layout */
94
- renderParent?: (props: {
95
- children: React.ReactNode;
96
- }) => React.ReactElement | null;
97
- /** Display order for field ordering */
98
- order?: number;
99
- };
100
- /**
101
- * A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
102
- */
103
- type AutoFormInputComponentProps = {
104
- zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
105
- field: ControllerRenderProps<FieldValues, any>;
106
- fieldConfigItem: FieldConfigItem;
107
- label: string;
108
- isRequired: boolean;
109
- fieldProps: any;
110
- zodItem: zod.ZodType;
111
- className?: string;
112
- };
113
-
114
- export type { AutoFormInputComponentProps as A, FieldConfigItem as F };
@@ -1,114 +0,0 @@
1
- import { ControllerRenderProps, FieldValues } from 'react-hook-form';
2
- import * as zod from 'zod';
3
- import * as react_jsx_runtime from 'react/jsx-runtime';
4
-
5
- declare function AutoFormCheckbox({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
6
-
7
- declare function AutoFormDate({ label, isRequired, field, fieldConfigItem, fieldProps, zodItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
8
-
9
- declare function AutoFormEnum({ label, isRequired, field, fieldConfigItem, zodItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
10
-
11
- declare function AutoFormInput({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
12
-
13
- declare function AutoFormNumber({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
14
-
15
- declare function AutoFormRadioGroup({ label, isRequired, field, zodItem, fieldProps, fieldConfigItem, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
16
-
17
- declare function AutoFormSwitch({ label, isRequired, field, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
18
-
19
- declare function AutoFormTextarea({ label, isRequired, fieldConfigItem, fieldProps, }: AutoFormInputComponentProps): react_jsx_runtime.JSX.Element;
20
-
21
- declare const INPUT_COMPONENTS: {
22
- checkbox: typeof AutoFormCheckbox;
23
- date: typeof AutoFormDate;
24
- select: typeof AutoFormEnum;
25
- radio: typeof AutoFormRadioGroup;
26
- switch: typeof AutoFormSwitch;
27
- textarea: typeof AutoFormTextarea;
28
- number: typeof AutoFormNumber;
29
- fallback: typeof AutoFormInput;
30
- };
31
-
32
- /**
33
- * Common input props shared by all field types.
34
- */
35
- interface BaseInputProps {
36
- /** Whether the field is disabled */
37
- disabled?: boolean;
38
- /** Whether the field is read-only */
39
- readOnly?: boolean;
40
- /** Whether the field is required */
41
- required?: boolean;
42
- /** Whether to show the label (auto-form specific) */
43
- showLabel?: boolean;
44
- }
45
- /**
46
- * Generic input props that accept any field type.
47
- * Use this when the backing type is not known at compile time.
48
- *
49
- * This is the catch-all type used for runtime flexibility.
50
- */
51
- interface SerializableInputProps extends BaseInputProps {
52
- placeholder?: string;
53
- type?: string;
54
- defaultValue?: unknown;
55
- min?: number | string;
56
- max?: number | string;
57
- step?: number | string;
58
- minLength?: number;
59
- maxLength?: number;
60
- pattern?: string;
61
- autoComplete?: string;
62
- /** Allow additional props for extensibility */
63
- [key: string]: unknown;
64
- }
65
-
66
- /**
67
- * Input props for form fields.
68
- *
69
- * This is the runtime type that accepts any input props.
70
- * For type-safe props, use the discriminated types:
71
- * - StringInputProps for text inputs
72
- * - NumberInputProps for number inputs
73
- * - BooleanInputProps for checkboxes/switches
74
- * - DateInputProps for date pickers
75
- * - EnumInputProps for selects/radios
76
- */
77
- type FieldInputProps = SerializableInputProps & Omit<React.InputHTMLAttributes<HTMLInputElement>, keyof SerializableInputProps> & Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, keyof SerializableInputProps>;
78
- /**
79
- * Configuration for a single field in AutoForm.
80
- *
81
- * Note: This type is designed to align with form-builder's FormBuilderFieldProps
82
- * so that JSON Schema properties can be easily converted to field configs.
83
- */
84
- type FieldConfigItem = {
85
- /** Description text or React node */
86
- description?: React.ReactNode;
87
- /** Input props passed to the field component */
88
- inputProps?: FieldInputProps;
89
- /** Display label */
90
- label?: string;
91
- /** Field type override - built-in type or custom component */
92
- fieldType?: keyof typeof INPUT_COMPONENTS | React.FC<AutoFormInputComponentProps>;
93
- /** Wrapper component for custom field layout */
94
- renderParent?: (props: {
95
- children: React.ReactNode;
96
- }) => React.ReactElement | null;
97
- /** Display order for field ordering */
98
- order?: number;
99
- };
100
- /**
101
- * A FormInput component can handle a specific Zod type (e.g. "ZodBoolean")
102
- */
103
- type AutoFormInputComponentProps = {
104
- zodInputProps: React.InputHTMLAttributes<HTMLInputElement>;
105
- field: ControllerRenderProps<FieldValues, any>;
106
- fieldConfigItem: FieldConfigItem;
107
- label: string;
108
- isRequired: boolean;
109
- fieldProps: any;
110
- zodItem: zod.ZodType;
111
- className?: string;
112
- };
113
-
114
- export type { AutoFormInputComponentProps as A, FieldConfigItem as F };
@@ -7,12 +7,12 @@ import { QueryClient } from '@tanstack/react-query';
7
7
 
8
8
  declare const createBoardSchema: z.ZodObject<{
9
9
  description: z.ZodOptional<z.ZodString>;
10
- name: z.ZodString;
11
10
  slug: z.ZodOptional<z.ZodString>;
12
11
  ownerId: z.ZodOptional<z.ZodString>;
13
12
  organizationId: z.ZodOptional<z.ZodString>;
14
13
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
15
14
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
15
+ name: z.ZodString;
16
16
  }, z.core.$strip>;
17
17
  declare const updateBoardSchema: z.ZodObject<{
18
18
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
@@ -26,10 +26,10 @@ declare const updateBoardSchema: z.ZodObject<{
26
26
  }, z.core.$strip>;
27
27
  declare const createColumnSchema: z.ZodObject<{
28
28
  title: z.ZodString;
29
- boardId: z.ZodString;
30
29
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
31
30
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
32
31
  order: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
32
+ boardId: z.ZodString;
33
33
  }, z.core.$strip>;
34
34
  declare const updateColumnSchema: z.ZodObject<{
35
35
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
@@ -323,12 +323,12 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
323
323
  method: "POST";
324
324
  body: z.ZodObject<{
325
325
  description: z.ZodOptional<z.ZodString>;
326
- name: z.ZodString;
327
326
  slug: z.ZodOptional<z.ZodString>;
328
327
  ownerId: z.ZodOptional<z.ZodString>;
329
328
  organizationId: z.ZodOptional<z.ZodString>;
330
329
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
331
330
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
331
+ name: z.ZodString;
332
332
  }, z.core.$strip>;
333
333
  }, {
334
334
  columns: ColumnWithTasks[];
@@ -345,12 +345,12 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
345
345
  method: "PUT";
346
346
  body: z.ZodObject<{
347
347
  description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
348
- name: z.ZodOptional<z.ZodString>;
349
348
  slug: z.ZodOptional<z.ZodString>;
350
349
  ownerId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
351
350
  organizationId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
352
351
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
353
352
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
353
+ name: z.ZodOptional<z.ZodString>;
354
354
  }, z.core.$strip>;
355
355
  }, Board>;
356
356
  readonly deleteBoard: better_call.StrictEndpoint<"/boards/:id", {
@@ -362,20 +362,20 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
362
362
  method: "POST";
363
363
  body: z.ZodObject<{
364
364
  title: z.ZodString;
365
- boardId: z.ZodString;
366
365
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
367
366
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
368
367
  order: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
368
+ boardId: z.ZodString;
369
369
  }, z.core.$strip>;
370
370
  }, Column>;
371
371
  readonly updateColumn: better_call.StrictEndpoint<"/columns/:id", {
372
372
  method: "PUT";
373
373
  body: z.ZodObject<{
374
374
  title: z.ZodOptional<z.ZodString>;
375
- boardId: z.ZodOptional<z.ZodString>;
376
375
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
377
376
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
378
377
  order: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
378
+ boardId: z.ZodOptional<z.ZodString>;
379
379
  }, z.core.$strip>;
380
380
  }, Column>;
381
381
  readonly deleteColumn: better_call.StrictEndpoint<"/columns/:id", {
@@ -42,15 +42,15 @@ declare const createPostSchema: z.ZodObject<{
42
42
  name: z.ZodString;
43
43
  slug: z.ZodString;
44
44
  }, z.core.$strip>]>>>>;
45
+ title: z.ZodString;
45
46
  slug: z.ZodOptional<z.ZodString>;
46
- published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
- publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
48
47
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
49
48
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
50
- title: z.ZodString;
49
+ publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
51
50
  content: z.ZodString;
52
51
  excerpt: z.ZodString;
53
52
  image: z.ZodOptional<z.ZodString>;
53
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
54
  }, z.core.$strip>;
55
55
  declare const updatePostSchema: z.ZodObject<{
56
56
  publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -42,15 +42,15 @@ declare const createPostSchema: z.ZodObject<{
42
42
  name: z.ZodString;
43
43
  slug: z.ZodString;
44
44
  }, z.core.$strip>]>>>>;
45
+ title: z.ZodString;
45
46
  slug: z.ZodOptional<z.ZodString>;
46
- published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
- publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
48
47
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
49
48
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
50
- title: z.ZodString;
49
+ publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
51
50
  content: z.ZodString;
52
51
  excerpt: z.ZodString;
53
52
  image: z.ZodOptional<z.ZodString>;
53
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
54
  }, z.core.$strip>;
55
55
  declare const updatePostSchema: z.ZodObject<{
56
56
  publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -42,15 +42,15 @@ declare const createPostSchema: z.ZodObject<{
42
42
  name: z.ZodString;
43
43
  slug: z.ZodString;
44
44
  }, z.core.$strip>]>>>>;
45
+ title: z.ZodString;
45
46
  slug: z.ZodOptional<z.ZodString>;
46
- published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
- publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
48
47
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
49
48
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
50
- title: z.ZodString;
49
+ publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
51
50
  content: z.ZodString;
52
51
  excerpt: z.ZodString;
53
52
  image: z.ZodOptional<z.ZodString>;
53
+ published: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
54
54
  }, z.core.$strip>;
55
55
  declare const updatePostSchema: z.ZodObject<{
56
56
  publishedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
@@ -7,12 +7,12 @@ import { QueryClient } from '@tanstack/react-query';
7
7
 
8
8
  declare const createBoardSchema: z.ZodObject<{
9
9
  description: z.ZodOptional<z.ZodString>;
10
- name: z.ZodString;
11
10
  slug: z.ZodOptional<z.ZodString>;
12
11
  ownerId: z.ZodOptional<z.ZodString>;
13
12
  organizationId: z.ZodOptional<z.ZodString>;
14
13
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
15
14
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
15
+ name: z.ZodString;
16
16
  }, z.core.$strip>;
17
17
  declare const updateBoardSchema: z.ZodObject<{
18
18
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
@@ -26,10 +26,10 @@ declare const updateBoardSchema: z.ZodObject<{
26
26
  }, z.core.$strip>;
27
27
  declare const createColumnSchema: z.ZodObject<{
28
28
  title: z.ZodString;
29
- boardId: z.ZodString;
30
29
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
31
30
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
32
31
  order: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
32
+ boardId: z.ZodString;
33
33
  }, z.core.$strip>;
34
34
  declare const updateColumnSchema: z.ZodObject<{
35
35
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
@@ -323,12 +323,12 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
323
323
  method: "POST";
324
324
  body: z.ZodObject<{
325
325
  description: z.ZodOptional<z.ZodString>;
326
- name: z.ZodString;
327
326
  slug: z.ZodOptional<z.ZodString>;
328
327
  ownerId: z.ZodOptional<z.ZodString>;
329
328
  organizationId: z.ZodOptional<z.ZodString>;
330
329
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
331
330
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
331
+ name: z.ZodString;
332
332
  }, z.core.$strip>;
333
333
  }, {
334
334
  columns: ColumnWithTasks[];
@@ -345,12 +345,12 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
345
345
  method: "PUT";
346
346
  body: z.ZodObject<{
347
347
  description: z.ZodOptional<z.ZodOptional<z.ZodString>>;
348
- name: z.ZodOptional<z.ZodString>;
349
348
  slug: z.ZodOptional<z.ZodString>;
350
349
  ownerId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
351
350
  organizationId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
352
351
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
353
352
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
353
+ name: z.ZodOptional<z.ZodString>;
354
354
  }, z.core.$strip>;
355
355
  }, Board>;
356
356
  readonly deleteBoard: better_call.StrictEndpoint<"/boards/:id", {
@@ -362,20 +362,20 @@ declare const kanbanBackendPlugin: (hooks?: KanbanBackendHooks) => _btst_stack_p
362
362
  method: "POST";
363
363
  body: z.ZodObject<{
364
364
  title: z.ZodString;
365
- boardId: z.ZodString;
366
365
  createdAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
367
366
  updatedAt: z.ZodOptional<z.ZodCoercedDate<unknown>>;
368
367
  order: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
368
+ boardId: z.ZodString;
369
369
  }, z.core.$strip>;
370
370
  }, Column>;
371
371
  readonly updateColumn: better_call.StrictEndpoint<"/columns/:id", {
372
372
  method: "PUT";
373
373
  body: z.ZodObject<{
374
374
  title: z.ZodOptional<z.ZodString>;
375
- boardId: z.ZodOptional<z.ZodString>;
376
375
  createdAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
377
376
  updatedAt: z.ZodOptional<z.ZodOptional<z.ZodCoercedDate<unknown>>>;
378
377
  order: z.ZodOptional<z.ZodDefault<z.ZodOptional<z.ZodNumber>>>;
378
+ boardId: z.ZodOptional<z.ZodString>;
379
379
  }, z.core.$strip>;
380
380
  }, Column>;
381
381
  readonly deleteColumn: better_call.StrictEndpoint<"/columns/:id", {