@btst/stack 1.5.1 → 1.6.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 (461) hide show
  1. package/dist/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.2.0/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.cjs +68 -0
  2. package/dist/node_modules/.pnpm/@dnd-kit_accessibility@3.1.1_react@19.2.0/node_modules/@dnd-kit/accessibility/dist/accessibility.esm.mjs +60 -0
  3. 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 +3937 -0
  4. 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 +3907 -0
  5. package/dist/node_modules/.pnpm/@dnd-kit_modifiers@9.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/modifiers/dist/modifiers.esm.cjs +30 -0
  6. package/dist/node_modules/.pnpm/@dnd-kit_modifiers@9.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/modifiers/dist/modifiers.esm.mjs +28 -0
  7. 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.cjs +675 -0
  8. 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 +661 -0
  9. package/dist/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.2.0/node_modules/@dnd-kit/utilities/dist/utilities.esm.cjs +358 -0
  10. package/dist/node_modules/.pnpm/@dnd-kit_utilities@3.2.2_react@19.2.0/node_modules/@dnd-kit/utilities/dist/utilities.esm.mjs +332 -0
  11. package/dist/node_modules/.pnpm/@radix-ui_react-tabs@1.1.13_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_865f042350eb43f3338b0fffb33f6246/node_modules/@radix-ui/react-tabs/dist/index.cjs +211 -0
  12. package/dist/node_modules/.pnpm/@radix-ui_react-tabs@1.1.13_@types_react-dom@19.2.3_@types_react@19.2.6__@types_react@1_865f042350eb43f3338b0fffb33f6246/node_modules/@radix-ui/react-tabs/dist/index.mjs +188 -0
  13. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.cjs +14 -2
  14. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/DayPicker.mjs +14 -2
  15. package/dist/node_modules/.pnpm/react-day-picker@9.13.0_react@19.2.0/node_modules/react-day-picker/dist/esm/noonDateLib.cjs +162 -0
  16. package/dist/node_modules/.pnpm/react-day-picker@9.13.0_react@19.2.0/node_modules/react-day-picker/dist/esm/noonDateLib.mjs +160 -0
  17. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.cjs +12 -8
  18. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/convertMatchersToTimeZone.mjs +12 -8
  19. package/dist/packages/better-stack/src/plugins/cms/api/plugin.cjs +36 -6
  20. package/dist/packages/better-stack/src/plugins/cms/api/plugin.mjs +36 -6
  21. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.cjs +39 -154
  22. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/content-form.mjs +37 -152
  23. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.cjs +2 -2
  24. package/dist/packages/better-stack/src/plugins/cms/client/components/forms/file-upload.mjs +2 -2
  25. package/dist/packages/better-stack/src/plugins/cms/db.cjs +4 -0
  26. package/dist/packages/better-stack/src/plugins/cms/db.mjs +4 -0
  27. package/dist/packages/better-stack/src/plugins/cms/schemas.cjs +0 -1
  28. package/dist/packages/better-stack/src/plugins/cms/schemas.mjs +0 -1
  29. package/dist/packages/better-stack/src/plugins/form-builder/api/plugin.cjs +588 -0
  30. package/dist/packages/better-stack/src/plugins/form-builder/api/plugin.mjs +586 -0
  31. package/dist/packages/better-stack/src/plugins/form-builder/client/components/forms/form-renderer.cjs +131 -0
  32. package/dist/packages/better-stack/src/plugins/form-builder/client/components/forms/form-renderer.mjs +129 -0
  33. package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-builder-skeleton.cjs +32 -0
  34. package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-builder-skeleton.mjs +30 -0
  35. package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-list-skeleton.cjs +21 -0
  36. package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/form-list-skeleton.mjs +19 -0
  37. package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/submissions-skeleton.cjs +34 -0
  38. package/dist/packages/better-stack/src/plugins/form-builder/client/components/loading/submissions-skeleton.mjs +32 -0
  39. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/404-page.cjs +20 -0
  40. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/404-page.mjs +18 -0
  41. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.cjs +19 -0
  42. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.internal.cjs +186 -0
  43. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.internal.mjs +184 -0
  44. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-builder-page.mjs +17 -0
  45. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.cjs +19 -0
  46. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.internal.cjs +165 -0
  47. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.internal.mjs +163 -0
  48. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/form-list-page.mjs +17 -0
  49. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.cjs +19 -0
  50. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.cjs +177 -0
  51. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.internal.mjs +175 -0
  52. package/dist/packages/better-stack/src/plugins/form-builder/client/components/pages/submissions-page.mjs +17 -0
  53. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/default-error.cjs +17 -0
  54. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/default-error.mjs +15 -0
  55. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/empty-state.cjs +16 -0
  56. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/empty-state.mjs +14 -0
  57. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/page-wrapper.cjs +27 -0
  58. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/page-wrapper.mjs +25 -0
  59. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/pagination.cjs +39 -0
  60. package/dist/packages/better-stack/src/plugins/form-builder/client/components/shared/pagination.mjs +37 -0
  61. package/dist/packages/better-stack/src/plugins/form-builder/client/hooks/form-builder-hooks.cjs +551 -0
  62. package/dist/packages/better-stack/src/plugins/form-builder/client/hooks/form-builder-hooks.mjs +537 -0
  63. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-common.cjs +36 -0
  64. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-common.mjs +34 -0
  65. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-editor.cjs +19 -0
  66. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-editor.mjs +17 -0
  67. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-list.cjs +21 -0
  68. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-list.mjs +19 -0
  69. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-submissions.cjs +19 -0
  70. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-submissions.mjs +17 -0
  71. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-toasts.cjs +14 -0
  72. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/form-builder-toasts.mjs +12 -0
  73. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/index.cjs +17 -0
  74. package/dist/packages/better-stack/src/plugins/form-builder/client/localization/index.mjs +15 -0
  75. package/dist/packages/better-stack/src/plugins/form-builder/client/plugin.cjs +278 -0
  76. package/dist/packages/better-stack/src/plugins/form-builder/client/plugin.mjs +276 -0
  77. package/dist/packages/better-stack/src/plugins/form-builder/db.cjs +99 -0
  78. package/dist/packages/better-stack/src/plugins/form-builder/db.mjs +97 -0
  79. package/dist/packages/better-stack/src/plugins/form-builder/schemas.cjs +82 -0
  80. package/dist/packages/better-stack/src/plugins/form-builder/schemas.mjs +74 -0
  81. package/dist/packages/better-stack/src/plugins/form-builder/utils.cjs +37 -0
  82. package/dist/packages/better-stack/src/plugins/form-builder/utils.mjs +29 -0
  83. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/label.cjs +2 -2
  84. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/label.mjs +2 -2
  85. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/config.cjs +0 -2
  86. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/config.mjs +0 -2
  87. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/array.cjs +15 -29
  88. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/array.mjs +16 -16
  89. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/checkbox.cjs +2 -2
  90. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/checkbox.mjs +2 -2
  91. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/date.cjs +29 -5
  92. package/dist/packages/ui/src/components/auto-form/fields/date.mjs +59 -0
  93. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/enum.cjs +2 -2
  94. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/enum.mjs +2 -2
  95. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/input.cjs +2 -2
  96. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/input.mjs +2 -2
  97. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/number.cjs +2 -2
  98. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/number.mjs +2 -2
  99. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/object.cjs +7 -4
  100. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/object.mjs +8 -5
  101. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/radio-group.cjs +2 -2
  102. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/radio-group.mjs +2 -2
  103. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/switch.cjs +2 -2
  104. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/switch.mjs +2 -2
  105. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/textarea.cjs +2 -2
  106. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/fields/textarea.mjs +2 -2
  107. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/index.cjs +4 -14
  108. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/index.mjs +4 -11
  109. package/dist/packages/ui/src/components/auto-form/stepped-auto-form.cjs +377 -0
  110. package/dist/packages/ui/src/components/auto-form/stepped-auto-form.mjs +368 -0
  111. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/utils.cjs +83 -11
  112. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/utils.mjs +82 -11
  113. package/dist/packages/ui/src/components/calendar.cjs +2 -2
  114. package/dist/packages/ui/src/components/calendar.mjs +2 -2
  115. package/dist/packages/ui/src/components/form-builder/canvas.cjs +111 -0
  116. package/dist/packages/ui/src/components/form-builder/canvas.mjs +109 -0
  117. package/dist/packages/ui/src/components/form-builder/components/index.cjs +570 -0
  118. package/dist/packages/ui/src/components/form-builder/components/index.mjs +553 -0
  119. package/dist/packages/ui/src/components/form-builder/edit-field-dialog.cjs +131 -0
  120. package/dist/packages/ui/src/components/form-builder/edit-field-dialog.mjs +129 -0
  121. package/dist/packages/ui/src/components/form-builder/form-preview.cjs +73 -0
  122. package/dist/packages/ui/src/components/form-builder/form-preview.mjs +71 -0
  123. package/dist/packages/ui/src/components/form-builder/index.cjs +353 -0
  124. package/dist/packages/ui/src/components/form-builder/index.mjs +344 -0
  125. package/dist/packages/ui/src/components/form-builder/nested-field-editor-dialog.cjs +263 -0
  126. package/dist/packages/ui/src/components/form-builder/nested-field-editor-dialog.mjs +261 -0
  127. package/dist/packages/ui/src/components/form-builder/palette.cjs +52 -0
  128. package/dist/packages/ui/src/components/form-builder/palette.mjs +49 -0
  129. package/dist/packages/ui/src/components/form-builder/schema-utils.cjs +120 -0
  130. package/dist/packages/ui/src/components/form-builder/schema-utils.mjs +114 -0
  131. package/dist/packages/ui/src/components/form-builder/sortable-field.cjs +151 -0
  132. package/dist/packages/ui/src/components/form-builder/sortable-field.mjs +148 -0
  133. package/dist/packages/ui/src/components/form-builder/step-tabs.cjs +180 -0
  134. package/dist/packages/ui/src/components/form-builder/step-tabs.mjs +178 -0
  135. package/dist/packages/ui/src/components/form-builder/types.cjs +7 -0
  136. package/dist/packages/ui/src/components/form-builder/types.mjs +5 -0
  137. package/dist/packages/ui/src/components/form-builder/validation-schemas.cjs +67 -0
  138. package/dist/packages/ui/src/components/form-builder/validation-schemas.mjs +56 -0
  139. package/dist/packages/ui/src/components/tabs.cjs +70 -0
  140. package/dist/packages/ui/src/components/tabs.mjs +65 -0
  141. package/dist/packages/ui/src/lib/schema-converter.cjs +130 -0
  142. package/dist/packages/ui/src/lib/schema-converter.mjs +124 -0
  143. package/dist/plugins/blog/api/index.d.cts +1 -1
  144. package/dist/plugins/blog/api/index.d.mts +1 -1
  145. package/dist/plugins/blog/api/index.d.ts +1 -1
  146. package/dist/plugins/blog/client/hooks/index.d.cts +2 -2
  147. package/dist/plugins/blog/client/hooks/index.d.mts +2 -2
  148. package/dist/plugins/blog/client/hooks/index.d.ts +2 -2
  149. package/dist/plugins/blog/client/index.d.cts +1 -1
  150. package/dist/plugins/blog/client/index.d.mts +1 -1
  151. package/dist/plugins/blog/client/index.d.ts +1 -1
  152. package/dist/plugins/blog/query-keys.d.cts +2 -2
  153. package/dist/plugins/blog/query-keys.d.mts +2 -2
  154. package/dist/plugins/blog/query-keys.d.ts +2 -2
  155. package/dist/plugins/cms/api/index.d.cts +2 -4
  156. package/dist/plugins/cms/api/index.d.mts +2 -4
  157. package/dist/plugins/cms/api/index.d.ts +2 -4
  158. package/dist/plugins/cms/client/hooks/index.d.cts +1 -4
  159. package/dist/plugins/cms/client/hooks/index.d.mts +1 -4
  160. package/dist/plugins/cms/client/hooks/index.d.ts +1 -4
  161. package/dist/plugins/cms/client/index.cjs +6 -0
  162. package/dist/plugins/cms/client/index.d.cts +2 -1
  163. package/dist/plugins/cms/client/index.d.mts +2 -1
  164. package/dist/plugins/cms/client/index.d.ts +2 -1
  165. package/dist/plugins/cms/client/index.mjs +1 -0
  166. package/dist/plugins/cms/query-keys.d.cts +1 -4
  167. package/dist/plugins/cms/query-keys.d.mts +1 -4
  168. package/dist/plugins/cms/query-keys.d.ts +1 -4
  169. package/dist/plugins/form-builder/api/index.cjs +7 -0
  170. package/dist/plugins/form-builder/api/index.d.cts +141 -0
  171. package/dist/plugins/form-builder/api/index.d.mts +141 -0
  172. package/dist/plugins/form-builder/api/index.d.ts +141 -0
  173. package/dist/plugins/form-builder/api/index.mjs +1 -0
  174. package/dist/plugins/form-builder/client/components/index.cjs +29 -0
  175. package/dist/plugins/form-builder/client/components/index.d.cts +93 -0
  176. package/dist/plugins/form-builder/client/components/index.d.mts +93 -0
  177. package/dist/plugins/form-builder/client/components/index.d.ts +93 -0
  178. package/dist/plugins/form-builder/client/components/index.mjs +18 -0
  179. package/dist/plugins/form-builder/client/hooks/index.cjs +19 -0
  180. package/dist/plugins/form-builder/client/hooks/index.d.cts +154 -0
  181. package/dist/plugins/form-builder/client/hooks/index.d.mts +154 -0
  182. package/dist/plugins/form-builder/client/hooks/index.d.ts +154 -0
  183. package/dist/plugins/form-builder/client/hooks/index.mjs +1 -0
  184. package/dist/plugins/form-builder/client/index.cjs +13 -0
  185. package/dist/plugins/form-builder/client/index.d.cts +381 -0
  186. package/dist/plugins/form-builder/client/index.d.mts +381 -0
  187. package/dist/plugins/form-builder/client/index.d.ts +381 -0
  188. package/dist/plugins/form-builder/client/index.mjs +2 -0
  189. package/dist/plugins/form-builder/client.css +3 -0
  190. package/dist/plugins/form-builder/query-keys.cjs +143 -0
  191. package/dist/plugins/form-builder/query-keys.d.cts +74 -0
  192. package/dist/plugins/form-builder/query-keys.d.mts +74 -0
  193. package/dist/plugins/form-builder/query-keys.d.ts +74 -0
  194. package/dist/plugins/form-builder/query-keys.mjs +141 -0
  195. package/dist/plugins/form-builder/style.css +19 -0
  196. package/dist/shared/stack.AX5nZ6A3.d.cts +86 -0
  197. package/dist/shared/stack.AX5nZ6A3.d.mts +86 -0
  198. package/dist/shared/stack.AX5nZ6A3.d.ts +86 -0
  199. package/dist/shared/stack.BIh2AXaW.d.cts +123 -0
  200. package/dist/shared/stack.BIh2AXaW.d.mts +123 -0
  201. package/dist/shared/stack.BIh2AXaW.d.ts +123 -0
  202. package/dist/shared/stack.DzH_wcvr.d.cts +195 -0
  203. package/dist/shared/stack.DzH_wcvr.d.mts +195 -0
  204. package/dist/shared/stack.DzH_wcvr.d.ts +195 -0
  205. package/dist/shared/{stack.DwnJA87a.d.ts → stack.L-UFwz2G.d.cts} +14 -14
  206. package/dist/shared/{stack.BwkyFwF8.d.cts → stack.L-UFwz2G.d.mts} +14 -14
  207. package/dist/shared/{stack.DBqxCs0V.d.mts → stack.L-UFwz2G.d.ts} +14 -14
  208. package/package.json +54 -1
  209. package/src/plugins/cms/__tests__/schema-roundtrip.test.ts +195 -0
  210. package/src/plugins/cms/api/plugin.ts +73 -7
  211. package/src/plugins/cms/client/components/forms/content-form.tsx +66 -252
  212. package/src/plugins/cms/client/components/forms/file-upload.tsx +3 -3
  213. package/src/plugins/cms/client/index.ts +12 -1
  214. package/src/plugins/cms/client/overrides.ts +1 -1
  215. package/src/plugins/cms/db.ts +4 -0
  216. package/src/plugins/cms/schemas.ts +1 -1
  217. package/src/plugins/cms/types.ts +14 -17
  218. package/src/plugins/form-builder/api/index.ts +1 -0
  219. package/src/plugins/form-builder/api/plugin.ts +776 -0
  220. package/src/plugins/form-builder/client/components/forms/form-renderer.tsx +253 -0
  221. package/src/plugins/form-builder/client/components/index.tsx +24 -0
  222. package/src/plugins/form-builder/client/components/loading/form-builder-skeleton.tsx +42 -0
  223. package/src/plugins/form-builder/client/components/loading/form-list-skeleton.tsx +25 -0
  224. package/src/plugins/form-builder/client/components/loading/index.tsx +3 -0
  225. package/src/plugins/form-builder/client/components/loading/submissions-skeleton.tsx +40 -0
  226. package/src/plugins/form-builder/client/components/pages/404-page.tsx +28 -0
  227. package/src/plugins/form-builder/client/components/pages/form-builder-page.internal.tsx +253 -0
  228. package/src/plugins/form-builder/client/components/pages/form-builder-page.tsx +26 -0
  229. package/src/plugins/form-builder/client/components/pages/form-list-page.internal.tsx +231 -0
  230. package/src/plugins/form-builder/client/components/pages/form-list-page.tsx +22 -0
  231. package/src/plugins/form-builder/client/components/pages/submissions-page.internal.tsx +268 -0
  232. package/src/plugins/form-builder/client/components/pages/submissions-page.tsx +26 -0
  233. package/src/plugins/form-builder/client/components/shared/default-error.tsx +30 -0
  234. package/src/plugins/form-builder/client/components/shared/empty-state.tsx +26 -0
  235. package/src/plugins/form-builder/client/components/shared/page-wrapper.tsx +32 -0
  236. package/src/plugins/form-builder/client/components/shared/pagination.tsx +52 -0
  237. package/src/plugins/form-builder/client/hooks/form-builder-hooks.tsx +799 -0
  238. package/src/plugins/form-builder/client/hooks/index.tsx +1 -0
  239. package/src/plugins/form-builder/client/index.ts +22 -0
  240. package/src/plugins/form-builder/client/localization/form-builder-common.ts +36 -0
  241. package/src/plugins/form-builder/client/localization/form-builder-editor.ts +18 -0
  242. package/src/plugins/form-builder/client/localization/form-builder-list.ts +17 -0
  243. package/src/plugins/form-builder/client/localization/form-builder-submissions.ts +17 -0
  244. package/src/plugins/form-builder/client/localization/form-builder-toasts.ts +10 -0
  245. package/src/plugins/form-builder/client/localization/index.ts +15 -0
  246. package/src/plugins/form-builder/client/overrides.ts +146 -0
  247. package/src/plugins/form-builder/client/plugin.tsx +488 -0
  248. package/src/plugins/form-builder/client.css +3 -0
  249. package/src/plugins/form-builder/db.ts +99 -0
  250. package/src/plugins/form-builder/query-keys.ts +198 -0
  251. package/src/plugins/form-builder/schemas.ts +122 -0
  252. package/src/plugins/form-builder/style.css +19 -0
  253. package/src/plugins/form-builder/types.ts +317 -0
  254. package/src/plugins/form-builder/utils.ts +63 -0
  255. package/dist/packages/ui/src/components/ui/auto-form/fields/date.mjs +0 -35
  256. package/dist/packages/ui/src/components/ui/auto-form/fields/file.cjs +0 -63
  257. package/dist/packages/ui/src/components/ui/auto-form/fields/file.mjs +0 -61
  258. package/dist/shared/stack.NZJogTUn.d.cts +0 -66
  259. package/dist/shared/stack.NZJogTUn.d.mts +0 -66
  260. package/dist/shared/stack.NZJogTUn.d.ts +0 -66
  261. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.cjs +0 -0
  262. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/UI.mjs +0 -0
  263. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.cjs +0 -0
  264. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarDay.mjs +0 -0
  265. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.cjs +0 -0
  266. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarMonth.mjs +0 -0
  267. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.cjs +0 -0
  268. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/CalendarWeek.mjs +0 -0
  269. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.cjs +0 -0
  270. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/classes/DateLib.mjs +0 -0
  271. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.cjs +0 -0
  272. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Button.mjs +0 -0
  273. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.cjs +0 -0
  274. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/CaptionLabel.mjs +0 -0
  275. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.cjs +0 -0
  276. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Chevron.mjs +0 -0
  277. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.cjs +0 -0
  278. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Day.mjs +0 -0
  279. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.cjs +0 -0
  280. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DayButton.mjs +0 -0
  281. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.cjs +0 -0
  282. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Dropdown.mjs +0 -0
  283. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.cjs +0 -0
  284. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/DropdownNav.mjs +0 -0
  285. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.cjs +0 -0
  286. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Footer.mjs +0 -0
  287. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.cjs +0 -0
  288. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Month.mjs +0 -0
  289. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.cjs +0 -0
  290. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthCaption.mjs +0 -0
  291. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.cjs +0 -0
  292. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthGrid.mjs +0 -0
  293. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.cjs +0 -0
  294. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Months.mjs +0 -0
  295. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.cjs +0 -0
  296. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/MonthsDropdown.mjs +0 -0
  297. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.cjs +0 -0
  298. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Nav.mjs +0 -0
  299. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.cjs +0 -0
  300. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/NextMonthButton.mjs +0 -0
  301. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.cjs +0 -0
  302. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Option.mjs +0 -0
  303. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.cjs +0 -0
  304. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/PreviousMonthButton.mjs +0 -0
  305. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.cjs +0 -0
  306. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Root.mjs +0 -0
  307. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.cjs +0 -0
  308. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Select.mjs +0 -0
  309. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.cjs +0 -0
  310. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Week.mjs +0 -0
  311. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.cjs +0 -0
  312. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumber.mjs +0 -0
  313. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.cjs +0 -0
  314. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/WeekNumberHeader.mjs +0 -0
  315. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.cjs +0 -0
  316. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekday.mjs +0 -0
  317. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.cjs +0 -0
  318. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weekdays.mjs +0 -0
  319. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.cjs +0 -0
  320. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/Weeks.mjs +0 -0
  321. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.cjs +0 -0
  322. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/YearsDropdown.mjs +0 -0
  323. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.cjs +0 -0
  324. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/components/custom-components.mjs +0 -0
  325. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.cjs +0 -0
  326. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatCaption.mjs +0 -0
  327. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.cjs +0 -0
  328. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatDay.mjs +0 -0
  329. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.cjs +0 -0
  330. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatMonthDropdown.mjs +0 -0
  331. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.cjs +0 -0
  332. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumber.mjs +0 -0
  333. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.cjs +0 -0
  334. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekNumberHeader.mjs +0 -0
  335. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.cjs +0 -0
  336. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatWeekdayName.mjs +0 -0
  337. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.cjs +0 -0
  338. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/formatYearDropdown.mjs +0 -0
  339. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.cjs +0 -0
  340. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/formatters/index.mjs +0 -0
  341. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.cjs +0 -0
  342. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/calculateFocusTarget.mjs +0 -0
  343. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.cjs +0 -0
  344. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/createGetModifiers.mjs +0 -0
  345. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.cjs +0 -0
  346. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/endOfBroadcastWeek.mjs +0 -0
  347. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.cjs +0 -0
  348. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getBroadcastWeeksInMonth.mjs +0 -0
  349. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.cjs +0 -0
  350. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getClassNamesForModifiers.mjs +0 -0
  351. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.cjs +0 -0
  352. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getComponents.mjs +0 -0
  353. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.cjs +0 -0
  354. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDataAttributes.mjs +0 -0
  355. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.cjs +0 -0
  356. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDates.mjs +0 -0
  357. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.cjs +0 -0
  358. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDays.mjs +0 -0
  359. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.cjs +0 -0
  360. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDefaultClassNames.mjs +0 -0
  361. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.cjs +0 -0
  362. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getDisplayMonths.mjs +0 -0
  363. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.cjs +0 -0
  364. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFocusableDate.mjs +0 -0
  365. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.cjs +0 -0
  366. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getFormatters.mjs +0 -0
  367. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.cjs +0 -0
  368. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getInitialMonth.mjs +0 -0
  369. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.cjs +0 -0
  370. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getLabels.mjs +0 -0
  371. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.cjs +0 -0
  372. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonthOptions.mjs +0 -0
  373. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.cjs +0 -0
  374. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getMonths.mjs +0 -0
  375. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.cjs +0 -0
  376. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNavMonth.mjs +0 -0
  377. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.cjs +0 -0
  378. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextFocus.mjs +0 -0
  379. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.cjs +0 -0
  380. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getNextMonth.mjs +0 -0
  381. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.cjs +0 -0
  382. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getPreviousMonth.mjs +0 -0
  383. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.cjs +0 -0
  384. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getStyleForModifiers.mjs +0 -0
  385. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.cjs +0 -0
  386. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeekdays.mjs +0 -0
  387. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.cjs +0 -0
  388. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getWeeks.mjs +0 -0
  389. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.cjs +0 -0
  390. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/getYearOptions.mjs +0 -0
  391. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.cjs +0 -0
  392. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/startOfBroadcastWeek.mjs +0 -0
  393. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.cjs +0 -0
  394. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/helpers/useControlledValue.mjs +0 -0
  395. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.cjs +0 -0
  396. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/index.mjs +0 -0
  397. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.cjs +0 -0
  398. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelDayButton.mjs +0 -0
  399. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.cjs +0 -0
  400. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGrid.mjs +0 -0
  401. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.cjs +0 -0
  402. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelGridcell.mjs +0 -0
  403. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.cjs +0 -0
  404. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelMonthDropdown.mjs +0 -0
  405. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.cjs +0 -0
  406. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNav.mjs +0 -0
  407. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.cjs +0 -0
  408. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelNext.mjs +0 -0
  409. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.cjs +0 -0
  410. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelPrevious.mjs +0 -0
  411. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.cjs +0 -0
  412. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumber.mjs +0 -0
  413. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.cjs +0 -0
  414. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekNumberHeader.mjs +0 -0
  415. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.cjs +0 -0
  416. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelWeekday.mjs +0 -0
  417. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.cjs +0 -0
  418. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/labels/labelYearDropdown.mjs +0 -0
  419. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.cjs +0 -0
  420. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/locale/en-US.mjs +0 -0
  421. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.cjs +0 -0
  422. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useMulti.mjs +0 -0
  423. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.cjs +0 -0
  424. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useRange.mjs +0 -0
  425. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.cjs +0 -0
  426. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/selection/useSingle.mjs +0 -0
  427. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.cjs +0 -0
  428. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useAnimation.mjs +0 -0
  429. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.cjs +0 -0
  430. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useCalendar.mjs +0 -0
  431. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.cjs +0 -0
  432. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useDayPicker.mjs +0 -0
  433. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.cjs +0 -0
  434. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useFocus.mjs +0 -0
  435. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.cjs +0 -0
  436. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/useSelection.mjs +0 -0
  437. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.cjs +0 -0
  438. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/addToRange.mjs +0 -0
  439. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.cjs +0 -0
  440. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/dateMatchModifiers.mjs +0 -0
  441. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.cjs +0 -0
  442. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsDayOfWeek.mjs +0 -0
  443. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.cjs +0 -0
  444. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeContainsModifiers.mjs +0 -0
  445. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.cjs +0 -0
  446. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeIncludesDate.mjs +0 -0
  447. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.cjs +0 -0
  448. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/rangeOverlaps.mjs +0 -0
  449. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.cjs +0 -0
  450. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/toTimeZone.mjs +0 -0
  451. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.cjs +0 -0
  452. package/dist/node_modules/.pnpm/{react-day-picker@9.12.0_react@19.2.0 → react-day-picker@9.13.0_react@19.2.0}/node_modules/react-day-picker/dist/esm/utils/typeguards.mjs +0 -0
  453. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/tooltip.cjs +0 -0
  454. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/common/tooltip.mjs +0 -0
  455. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/dependencies.cjs +0 -0
  456. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/dependencies.mjs +0 -0
  457. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/types.cjs +0 -0
  458. package/dist/packages/ui/src/components/{ui/auto-form → auto-form}/types.mjs +0 -0
  459. package/dist/shared/{stack.DLhzx1-D.d.cts → stack.CcI4sYJP.d.cts} +1 -1
  460. package/dist/shared/{stack.DLhzx1-D.d.mts → stack.CcI4sYJP.d.mts} +1 -1
  461. package/dist/shared/{stack.DLhzx1-D.d.ts → stack.CcI4sYJP.d.ts} +1 -1
@@ -0,0 +1,776 @@
1
+ import type { Adapter } from "@btst/db";
2
+ import { defineBackendPlugin } from "@btst/stack/plugins/api";
3
+ import { createEndpoint } from "@btst/stack/plugins/api";
4
+ import { z } from "zod";
5
+ import { formSchemaToZod } from "@workspace/ui/lib/schema-converter";
6
+ import { formBuilderSchema as dbSchema } from "../db";
7
+ import type {
8
+ Form,
9
+ FormSubmission,
10
+ FormSubmissionWithForm,
11
+ FormBuilderBackendConfig,
12
+ FormBuilderHookContext,
13
+ SubmissionHookContext,
14
+ SerializedForm,
15
+ SerializedFormSubmission,
16
+ SerializedFormSubmissionWithData,
17
+ FormInput,
18
+ FormUpdate,
19
+ } from "../types";
20
+ import {
21
+ listFormsQuerySchema,
22
+ createFormSchema,
23
+ updateFormSchema,
24
+ listSubmissionsQuerySchema,
25
+ } from "../schemas";
26
+ import { slugify, extractIpAddress, extractUserAgent } from "../utils";
27
+
28
+ /**
29
+ * Serialize a Form for API response (convert dates to strings)
30
+ */
31
+ function serializeForm(form: Form): SerializedForm {
32
+ return {
33
+ id: form.id,
34
+ name: form.name,
35
+ slug: form.slug,
36
+ description: form.description,
37
+ schema: form.schema,
38
+ successMessage: form.successMessage,
39
+ redirectUrl: form.redirectUrl,
40
+ status: form.status,
41
+ createdBy: form.createdBy,
42
+ createdAt: form.createdAt.toISOString(),
43
+ updatedAt: form.updatedAt.toISOString(),
44
+ };
45
+ }
46
+
47
+ /**
48
+ * Serialize a FormSubmission for API response (convert dates to strings)
49
+ */
50
+ function serializeFormSubmission(
51
+ submission: FormSubmission,
52
+ ): SerializedFormSubmission {
53
+ return {
54
+ ...submission,
55
+ submittedAt: submission.submittedAt.toISOString(),
56
+ };
57
+ }
58
+
59
+ /**
60
+ * Serialize a FormSubmission with parsed data and joined Form
61
+ */
62
+ function serializeFormSubmissionWithData(
63
+ submission: FormSubmissionWithForm,
64
+ ): SerializedFormSubmissionWithData {
65
+ return {
66
+ ...serializeFormSubmission(submission),
67
+ parsedData: JSON.parse(submission.data),
68
+ form: submission.form ? serializeForm(submission.form) : undefined,
69
+ };
70
+ }
71
+
72
+ /**
73
+ * Form Builder backend plugin
74
+ * Provides API endpoints for managing forms and form submissions
75
+ *
76
+ * @param config - Configuration with optional hooks
77
+ */
78
+ export const formBuilderBackendPlugin = (
79
+ config: FormBuilderBackendConfig = {},
80
+ ) =>
81
+ defineBackendPlugin({
82
+ name: "form-builder",
83
+
84
+ dbPlugin: dbSchema,
85
+
86
+ routes: (adapter: Adapter) => {
87
+ // Helper to create hook context from request
88
+ const createContext = (headers?: Headers): FormBuilderHookContext => ({
89
+ headers,
90
+ ipAddress: extractIpAddress(headers),
91
+ userAgent: extractUserAgent(headers),
92
+ });
93
+
94
+ // Helper to create submission hook context
95
+ const createSubmissionContext = (
96
+ formSlug: string,
97
+ formId: string,
98
+ headers?: Headers,
99
+ ): SubmissionHookContext => ({
100
+ ...createContext(headers),
101
+ formSlug,
102
+ formId,
103
+ });
104
+
105
+ // ========== Form CRUD Endpoints (Admin) ==========
106
+
107
+ const listForms = createEndpoint(
108
+ "/forms",
109
+ {
110
+ method: "GET",
111
+ query: listFormsQuerySchema,
112
+ },
113
+ async (ctx) => {
114
+ const { status, limit, offset } = ctx.query;
115
+ const context = createContext(ctx.headers);
116
+
117
+ // Call before hook for auth check
118
+ if (config.hooks?.onBeforeListForms) {
119
+ const canList = await config.hooks.onBeforeListForms(context);
120
+ if (!canList) {
121
+ throw ctx.error(403, { message: "Access denied" });
122
+ }
123
+ }
124
+
125
+ const whereConditions: Array<{
126
+ field: string;
127
+ value: string;
128
+ operator: "eq";
129
+ }> = [];
130
+ if (status) {
131
+ whereConditions.push({
132
+ field: "status",
133
+ value: status,
134
+ operator: "eq" as const,
135
+ });
136
+ }
137
+
138
+ // Get total count
139
+ const allForms = await adapter.findMany<Form>({
140
+ model: "form",
141
+ where: whereConditions.length > 0 ? whereConditions : undefined,
142
+ });
143
+ const total = allForms.length;
144
+
145
+ // Get paginated forms
146
+ const forms = await adapter.findMany<Form>({
147
+ model: "form",
148
+ where: whereConditions.length > 0 ? whereConditions : undefined,
149
+ limit,
150
+ offset,
151
+ sortBy: { field: "createdAt", direction: "desc" },
152
+ });
153
+
154
+ return {
155
+ items: forms.map(serializeForm),
156
+ total,
157
+ limit,
158
+ offset,
159
+ };
160
+ },
161
+ );
162
+
163
+ const getFormBySlug = createEndpoint(
164
+ "/forms/:slug",
165
+ {
166
+ method: "GET",
167
+ params: z.object({ slug: z.string() }),
168
+ },
169
+ async (ctx) => {
170
+ const { slug } = ctx.params;
171
+ const context = createContext(ctx.headers);
172
+
173
+ // Call before hook for access check
174
+ if (config.hooks?.onBeforeGetForm) {
175
+ const canGet = await config.hooks.onBeforeGetForm(slug, context);
176
+ if (!canGet) {
177
+ throw ctx.error(403, { message: "Access denied" });
178
+ }
179
+ }
180
+
181
+ const form = await adapter.findOne<Form>({
182
+ model: "form",
183
+ where: [{ field: "slug", value: slug, operator: "eq" as const }],
184
+ });
185
+
186
+ if (!form) {
187
+ throw ctx.error(404, { message: "Form not found" });
188
+ }
189
+
190
+ return serializeForm(form);
191
+ },
192
+ );
193
+
194
+ const getFormById = createEndpoint(
195
+ "/forms/id/:id",
196
+ {
197
+ method: "GET",
198
+ params: z.object({ id: z.string() }),
199
+ },
200
+ async (ctx) => {
201
+ const { id } = ctx.params;
202
+ const context = createContext(ctx.headers);
203
+
204
+ // Call before hook for access check
205
+ if (config.hooks?.onBeforeGetForm) {
206
+ const canGet = await config.hooks.onBeforeGetForm(id, context);
207
+ if (!canGet) {
208
+ throw ctx.error(403, { message: "Access denied" });
209
+ }
210
+ }
211
+
212
+ const form = await adapter.findOne<Form>({
213
+ model: "form",
214
+ where: [{ field: "id", value: id, operator: "eq" as const }],
215
+ });
216
+
217
+ if (!form) {
218
+ throw ctx.error(404, { message: "Form not found" });
219
+ }
220
+
221
+ return serializeForm(form);
222
+ },
223
+ );
224
+
225
+ const createForm = createEndpoint(
226
+ "/forms",
227
+ {
228
+ method: "POST",
229
+ body: createFormSchema,
230
+ },
231
+ async (ctx) => {
232
+ const body = ctx.body;
233
+ const context = createContext(ctx.headers);
234
+
235
+ // Sanitize slug to ensure it's URL-safe
236
+ const slug = slugify(body.slug);
237
+
238
+ if (!slug) {
239
+ throw ctx.error(400, {
240
+ message:
241
+ "Invalid slug: must contain at least one alphanumeric character",
242
+ });
243
+ }
244
+
245
+ // Check for duplicate slug
246
+ const existing = await adapter.findOne<Form>({
247
+ model: "form",
248
+ where: [{ field: "slug", value: slug, operator: "eq" as const }],
249
+ });
250
+ if (existing) {
251
+ throw ctx.error(409, {
252
+ message: "Form with this slug already exists",
253
+ });
254
+ }
255
+
256
+ // Validate JSON Schema
257
+ try {
258
+ JSON.parse(body.schema);
259
+ } catch {
260
+ throw ctx.error(400, { message: "Invalid JSON Schema" });
261
+ }
262
+
263
+ // Build form input
264
+ let formInput: FormInput = {
265
+ name: body.name,
266
+ slug,
267
+ description: body.description,
268
+ schema: body.schema,
269
+ successMessage: body.successMessage,
270
+ redirectUrl: body.redirectUrl || undefined,
271
+ status: body.status as "active" | "inactive" | "archived",
272
+ };
273
+
274
+ // Call before hook - may modify data or deny operation
275
+ if (config.hooks?.onBeforeFormCreated) {
276
+ const result = await config.hooks.onBeforeFormCreated(
277
+ formInput,
278
+ context,
279
+ );
280
+ if (result === false) {
281
+ throw ctx.error(403, { message: "Create operation denied" });
282
+ }
283
+ if (result && typeof result === "object") {
284
+ formInput = result;
285
+ }
286
+ }
287
+
288
+ const form = await adapter.create<Form>({
289
+ model: "form",
290
+ data: {
291
+ name: formInput.name,
292
+ slug: formInput.slug,
293
+ description: formInput.description,
294
+ schema: formInput.schema,
295
+ successMessage: formInput.successMessage,
296
+ redirectUrl: formInput.redirectUrl,
297
+ status: formInput.status || "active",
298
+ createdBy: formInput.createdBy,
299
+ createdAt: new Date(),
300
+ updatedAt: new Date(),
301
+ },
302
+ });
303
+
304
+ const serialized = serializeForm(form as Form);
305
+
306
+ // Call after hook
307
+ if (config.hooks?.onAfterFormCreated) {
308
+ await config.hooks.onAfterFormCreated(serialized, context);
309
+ }
310
+
311
+ return serialized;
312
+ },
313
+ );
314
+
315
+ const updateForm = createEndpoint(
316
+ "/forms/:id",
317
+ {
318
+ method: "PUT",
319
+ params: z.object({ id: z.string() }),
320
+ body: updateFormSchema,
321
+ },
322
+ async (ctx) => {
323
+ const { id } = ctx.params;
324
+ const body = ctx.body;
325
+ const context = createContext(ctx.headers);
326
+
327
+ const existing = await adapter.findOne<Form>({
328
+ model: "form",
329
+ where: [{ field: "id", value: id, operator: "eq" as const }],
330
+ });
331
+
332
+ if (!existing) {
333
+ throw ctx.error(404, { message: "Form not found" });
334
+ }
335
+
336
+ // Sanitize slug if provided
337
+ let slug: string | undefined;
338
+ if (body.slug) {
339
+ slug = slugify(body.slug);
340
+ if (!slug) {
341
+ throw ctx.error(400, {
342
+ message:
343
+ "Invalid slug: must contain at least one alphanumeric character",
344
+ });
345
+ }
346
+
347
+ // Check for duplicate slug if changing
348
+ if (slug !== existing.slug) {
349
+ const duplicate = await adapter.findOne<Form>({
350
+ model: "form",
351
+ where: [
352
+ { field: "slug", value: slug, operator: "eq" as const },
353
+ ],
354
+ });
355
+ if (duplicate) {
356
+ throw ctx.error(409, {
357
+ message: "Form with this slug already exists",
358
+ });
359
+ }
360
+ }
361
+ }
362
+
363
+ // Validate JSON Schema if provided
364
+ if (body.schema) {
365
+ try {
366
+ JSON.parse(body.schema);
367
+ } catch {
368
+ throw ctx.error(400, { message: "Invalid JSON Schema" });
369
+ }
370
+ }
371
+
372
+ // Build update input
373
+ let updateInput: FormUpdate = {
374
+ name: body.name,
375
+ slug,
376
+ description: body.description,
377
+ schema: body.schema,
378
+ successMessage: body.successMessage,
379
+ redirectUrl: body.redirectUrl,
380
+ status: body.status as
381
+ | "active"
382
+ | "inactive"
383
+ | "archived"
384
+ | undefined,
385
+ };
386
+
387
+ // Call before hook - may modify data or deny operation
388
+ if (config.hooks?.onBeforeFormUpdated) {
389
+ const result = await config.hooks.onBeforeFormUpdated(
390
+ id,
391
+ updateInput,
392
+ context,
393
+ );
394
+ if (result === false) {
395
+ throw ctx.error(403, { message: "Update operation denied" });
396
+ }
397
+ if (result && typeof result === "object") {
398
+ updateInput = result;
399
+ }
400
+ }
401
+
402
+ // Build update data
403
+ const updateData: Partial<Form> = {
404
+ updatedAt: new Date(),
405
+ };
406
+ if (updateInput.name) updateData.name = updateInput.name;
407
+ if (updateInput.slug) updateData.slug = updateInput.slug;
408
+ if (updateInput.description !== undefined)
409
+ updateData.description = updateInput.description;
410
+ if (updateInput.schema) updateData.schema = updateInput.schema;
411
+ if (updateInput.successMessage !== undefined)
412
+ updateData.successMessage = updateInput.successMessage;
413
+ if (updateInput.redirectUrl !== undefined)
414
+ updateData.redirectUrl = updateInput.redirectUrl;
415
+ if (updateInput.status) updateData.status = updateInput.status;
416
+
417
+ await adapter.update({
418
+ model: "form",
419
+ where: [{ field: "id", value: id, operator: "eq" as const }],
420
+ update: updateData,
421
+ });
422
+
423
+ const updated = await adapter.findOne<Form>({
424
+ model: "form",
425
+ where: [{ field: "id", value: id, operator: "eq" as const }],
426
+ });
427
+
428
+ if (!updated) {
429
+ throw ctx.error(500, { message: "Failed to fetch updated form" });
430
+ }
431
+
432
+ const serialized = serializeForm(updated);
433
+
434
+ // Call after hook
435
+ if (config.hooks?.onAfterFormUpdated) {
436
+ await config.hooks.onAfterFormUpdated(serialized, context);
437
+ }
438
+
439
+ return serialized;
440
+ },
441
+ );
442
+
443
+ const deleteForm = createEndpoint(
444
+ "/forms/:id",
445
+ {
446
+ method: "DELETE",
447
+ params: z.object({ id: z.string() }),
448
+ },
449
+ async (ctx) => {
450
+ const { id } = ctx.params;
451
+ const context = createContext(ctx.headers);
452
+
453
+ const existing = await adapter.findOne<Form>({
454
+ model: "form",
455
+ where: [{ field: "id", value: id, operator: "eq" as const }],
456
+ });
457
+
458
+ if (!existing) {
459
+ throw ctx.error(404, { message: "Form not found" });
460
+ }
461
+
462
+ // Call before hook
463
+ if (config.hooks?.onBeforeFormDeleted) {
464
+ const canDelete = await config.hooks.onBeforeFormDeleted(
465
+ id,
466
+ context,
467
+ );
468
+ if (!canDelete) {
469
+ throw ctx.error(403, { message: "Delete operation denied" });
470
+ }
471
+ }
472
+
473
+ // Delete associated submissions first (cascade)
474
+ await adapter.delete({
475
+ model: "formSubmission",
476
+ where: [{ field: "formId", value: id, operator: "eq" as const }],
477
+ });
478
+
479
+ await adapter.delete({
480
+ model: "form",
481
+ where: [{ field: "id", value: id, operator: "eq" as const }],
482
+ });
483
+
484
+ // Call after hook
485
+ if (config.hooks?.onAfterFormDeleted) {
486
+ await config.hooks.onAfterFormDeleted(id, context);
487
+ }
488
+
489
+ return { success: true };
490
+ },
491
+ );
492
+
493
+ // ========== Form Submission Endpoints ==========
494
+
495
+ const submitForm = createEndpoint(
496
+ "/forms/:slug/submit",
497
+ {
498
+ method: "POST",
499
+ params: z.object({ slug: z.string() }),
500
+ body: z.object({
501
+ // Use passthrough object for dynamic form data
502
+ data: z.object({}).passthrough(),
503
+ }),
504
+ },
505
+ async (ctx) => {
506
+ const { slug } = ctx.params;
507
+ const { data } = ctx.body;
508
+ const baseContext = createContext(ctx.headers);
509
+
510
+ // Get form by slug
511
+ const form = await adapter.findOne<Form>({
512
+ model: "form",
513
+ where: [{ field: "slug", value: slug, operator: "eq" as const }],
514
+ });
515
+
516
+ if (!form) {
517
+ throw ctx.error(404, { message: "Form not found" });
518
+ }
519
+
520
+ // Check if form is active
521
+ if (form.status !== "active") {
522
+ throw ctx.error(400, {
523
+ message: "Form is not accepting submissions",
524
+ });
525
+ }
526
+
527
+ const submissionContext = createSubmissionContext(
528
+ slug,
529
+ form.id,
530
+ ctx.headers,
531
+ );
532
+
533
+ // Validate data against form schema
534
+ // Use formSchemaToZod for consistent validation with the client-side,
535
+ // which properly handles date constraints and step metadata
536
+ try {
537
+ const jsonSchema = JSON.parse(form.schema);
538
+ const zodSchema = formSchemaToZod(jsonSchema);
539
+ const validation = zodSchema.safeParse(data);
540
+ if (!validation.success) {
541
+ throw ctx.error(400, {
542
+ message: "Validation failed",
543
+ errors: validation.error.issues,
544
+ });
545
+ }
546
+ } catch (error) {
547
+ if (error && typeof error === "object" && "code" in error) {
548
+ throw error; // Re-throw API errors
549
+ }
550
+ throw ctx.error(400, { message: "Invalid form data" });
551
+ }
552
+
553
+ // Call before submission hook - may modify data or deny
554
+ let finalData = data as Record<string, unknown>;
555
+ if (config.hooks?.onBeforeSubmission) {
556
+ try {
557
+ const result = await config.hooks.onBeforeSubmission(
558
+ slug,
559
+ data as Record<string, unknown>,
560
+ submissionContext,
561
+ );
562
+ if (result === false) {
563
+ throw ctx.error(400, { message: "Submission rejected" });
564
+ }
565
+ if (result && typeof result === "object") {
566
+ finalData = result;
567
+ }
568
+ } catch (error) {
569
+ // Call error hook if submission is rejected
570
+ if (config.hooks?.onSubmissionError) {
571
+ await config.hooks.onSubmissionError(
572
+ error as Error,
573
+ slug,
574
+ data as Record<string, unknown>,
575
+ submissionContext,
576
+ );
577
+ }
578
+ throw error;
579
+ }
580
+ }
581
+
582
+ // Create submission
583
+ const submission = await adapter.create<FormSubmission>({
584
+ model: "formSubmission",
585
+ data: {
586
+ formId: form.id,
587
+ data: JSON.stringify(finalData),
588
+ submittedAt: new Date(),
589
+ ipAddress: baseContext.ipAddress,
590
+ userAgent: baseContext.userAgent,
591
+ },
592
+ });
593
+
594
+ const serialized = serializeFormSubmission(submission);
595
+
596
+ // Call after submission hook
597
+ if (config.hooks?.onAfterSubmission) {
598
+ await config.hooks.onAfterSubmission(
599
+ serialized,
600
+ serializeForm(form),
601
+ submissionContext,
602
+ );
603
+ }
604
+
605
+ return {
606
+ ...serialized,
607
+ form: {
608
+ successMessage: form.successMessage,
609
+ redirectUrl: form.redirectUrl,
610
+ },
611
+ };
612
+ },
613
+ );
614
+
615
+ // ========== Submissions Management Endpoints (Admin) ==========
616
+
617
+ const listSubmissions = createEndpoint(
618
+ "/forms/:formId/submissions",
619
+ {
620
+ method: "GET",
621
+ params: z.object({ formId: z.string() }),
622
+ query: listSubmissionsQuerySchema,
623
+ },
624
+ async (ctx) => {
625
+ const { formId } = ctx.params;
626
+ const { limit, offset } = ctx.query;
627
+ const context = createContext(ctx.headers);
628
+
629
+ // Verify form exists
630
+ const form = await adapter.findOne<Form>({
631
+ model: "form",
632
+ where: [{ field: "id", value: formId, operator: "eq" as const }],
633
+ });
634
+
635
+ if (!form) {
636
+ throw ctx.error(404, { message: "Form not found" });
637
+ }
638
+
639
+ // Call before hook for auth check
640
+ if (config.hooks?.onBeforeListSubmissions) {
641
+ const canList = await config.hooks.onBeforeListSubmissions(
642
+ formId,
643
+ context,
644
+ );
645
+ if (!canList) {
646
+ throw ctx.error(403, { message: "Access denied" });
647
+ }
648
+ }
649
+
650
+ // Get total count
651
+ const allSubmissions = await adapter.findMany<FormSubmission>({
652
+ model: "formSubmission",
653
+ where: [
654
+ { field: "formId", value: formId, operator: "eq" as const },
655
+ ],
656
+ });
657
+ const total = allSubmissions.length;
658
+
659
+ // Get paginated submissions
660
+ const submissions = await adapter.findMany<FormSubmissionWithForm>({
661
+ model: "formSubmission",
662
+ where: [
663
+ { field: "formId", value: formId, operator: "eq" as const },
664
+ ],
665
+ limit,
666
+ offset,
667
+ sortBy: { field: "submittedAt", direction: "desc" },
668
+ join: { form: true },
669
+ });
670
+
671
+ return {
672
+ items: submissions.map(serializeFormSubmissionWithData),
673
+ total,
674
+ limit,
675
+ offset,
676
+ };
677
+ },
678
+ );
679
+
680
+ const getSubmission = createEndpoint(
681
+ "/forms/:formId/submissions/:subId",
682
+ {
683
+ method: "GET",
684
+ params: z.object({ formId: z.string(), subId: z.string() }),
685
+ },
686
+ async (ctx) => {
687
+ const { formId, subId } = ctx.params;
688
+ const context = createContext(ctx.headers);
689
+
690
+ // Call before hook for access check
691
+ if (config.hooks?.onBeforeGetSubmission) {
692
+ const canGet = await config.hooks.onBeforeGetSubmission(
693
+ subId,
694
+ context,
695
+ );
696
+ if (!canGet) {
697
+ throw ctx.error(403, { message: "Access denied" });
698
+ }
699
+ }
700
+
701
+ const submission = await adapter.findOne<FormSubmissionWithForm>({
702
+ model: "formSubmission",
703
+ where: [{ field: "id", value: subId, operator: "eq" as const }],
704
+ join: { form: true },
705
+ });
706
+
707
+ if (!submission || submission.formId !== formId) {
708
+ throw ctx.error(404, { message: "Submission not found" });
709
+ }
710
+
711
+ return serializeFormSubmissionWithData(submission);
712
+ },
713
+ );
714
+
715
+ const deleteSubmission = createEndpoint(
716
+ "/forms/:formId/submissions/:subId",
717
+ {
718
+ method: "DELETE",
719
+ params: z.object({ formId: z.string(), subId: z.string() }),
720
+ },
721
+ async (ctx) => {
722
+ const { formId, subId } = ctx.params;
723
+ const context = createContext(ctx.headers);
724
+
725
+ const existing = await adapter.findOne<FormSubmission>({
726
+ model: "formSubmission",
727
+ where: [{ field: "id", value: subId, operator: "eq" as const }],
728
+ });
729
+
730
+ if (!existing || existing.formId !== formId) {
731
+ throw ctx.error(404, { message: "Submission not found" });
732
+ }
733
+
734
+ // Call before hook
735
+ if (config.hooks?.onBeforeSubmissionDeleted) {
736
+ const canDelete = await config.hooks.onBeforeSubmissionDeleted(
737
+ subId,
738
+ context,
739
+ );
740
+ if (!canDelete) {
741
+ throw ctx.error(403, { message: "Delete operation denied" });
742
+ }
743
+ }
744
+
745
+ await adapter.delete({
746
+ model: "formSubmission",
747
+ where: [{ field: "id", value: subId, operator: "eq" as const }],
748
+ });
749
+
750
+ // Call after hook
751
+ if (config.hooks?.onAfterSubmissionDeleted) {
752
+ await config.hooks.onAfterSubmissionDeleted(subId, context);
753
+ }
754
+
755
+ return { success: true };
756
+ },
757
+ );
758
+
759
+ return {
760
+ listForms,
761
+ getFormBySlug,
762
+ getFormById,
763
+ createForm,
764
+ updateForm,
765
+ deleteForm,
766
+ submitForm,
767
+ listSubmissions,
768
+ getSubmission,
769
+ deleteSubmission,
770
+ };
771
+ },
772
+ });
773
+
774
+ export type FormBuilderApiRouter = ReturnType<
775
+ ReturnType<typeof formBuilderBackendPlugin>["routes"]
776
+ >;