@digiform/builder 0.1.7 → 0.2.4

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 (279) hide show
  1. package/FormBuilder.d.ts +24 -0
  2. package/client.cjs +1 -1
  3. package/client.d.ts +18 -0
  4. package/client.js +1 -1
  5. package/component-registry/components/alert.d.ts +4 -0
  6. package/component-registry/components/button.d.ts +4 -0
  7. package/component-registry/components/checkbox.d.ts +9 -0
  8. package/component-registry/components/code-input/code-input.d.ts +4 -0
  9. package/component-registry/components/dropdown.d.ts +1 -0
  10. package/component-registry/components/heading.d.ts +4 -0
  11. package/component-registry/components/index.d.ts +35 -0
  12. package/component-registry/components/paragraph.d.ts +4 -0
  13. package/component-registry/components/progress-loader.d.ts +4 -0
  14. package/component-registry/components/radioGroup.d.ts +1 -0
  15. package/component-registry/components/text.d.ts +2 -0
  16. package/component-registry/components/textarea.d.ts +2 -0
  17. package/component-registry/createFormFieldComponent.d.ts +52 -0
  18. package/component-registry/index.d.ts +3 -0
  19. package/component-registry/types.d.ts +42 -0
  20. package/component-registry/utils.d.ts +33 -0
  21. package/component-registry/validation.d.ts +141 -0
  22. package/component-registry/validationBridge.d.ts +10 -0
  23. package/components/ConnectionErrorScreen/ConnectionErrorScreen.d.ts +10 -0
  24. package/components/DatabaseStatusIndicator/DatabaseStatusIndicator.d.ts +24 -0
  25. package/config/SecureConfigLoader.d.ts +57 -0
  26. package/config/hooks.d.ts +2 -0
  27. package/config/index.d.ts +5 -0
  28. package/config/types.d.ts +94 -0
  29. package/{configReader-BkMPr3Ju.js → configReader-C49NagAF.js} +4936 -4988
  30. package/configReader-C49NagAF.js.map +1 -0
  31. package/{configReader-CbGTKRUP.cjs → configReader-CT1_bYSZ.cjs} +7 -7
  32. package/configReader-CT1_bYSZ.cjs.map +1 -0
  33. package/design-system/components/ComponentSourceBadge/ComponentSourceBadge.d.ts +15 -0
  34. package/design-system/components/FormFieldWrapper/FormFieldWrapper.d.ts +18 -0
  35. package/design-system/custom/config/date-preset.config.d.ts +7 -0
  36. package/design-system/custom/config/email-preset.config.d.ts +7 -0
  37. package/design-system/custom/config/index.d.ts +10 -0
  38. package/design-system/custom/config/number-preset.config.d.ts +7 -0
  39. package/design-system/custom/config/tel-preset.config.d.ts +7 -0
  40. package/design-system/custom/index.d.ts +17 -0
  41. package/design-system/custom/utils/create-preset-config.d.ts +74 -0
  42. package/design-system/generated/rhc-catalog.generated.d.ts +9360 -0
  43. package/design-system/index.d.ts +15 -0
  44. package/design-system/rhc/components.d.ts +12 -0
  45. package/design-system/rhc/config/alert.config.d.ts +5 -0
  46. package/design-system/rhc/config/button.config.d.ts +8 -0
  47. package/design-system/rhc/config/checkbox.config.d.ts +4 -0
  48. package/design-system/rhc/config/form-builder.config.d.ts +74 -0
  49. package/design-system/rhc/config/heading.config.d.ts +5 -0
  50. package/design-system/rhc/config/index.d.ts +9 -0
  51. package/design-system/rhc/config/paragraph.config.d.ts +8 -0
  52. package/design-system/rhc/config/radio-group.config.d.ts +5 -0
  53. package/design-system/rhc/config/select.config.d.ts +5 -0
  54. package/design-system/rhc/config/text-input.config.d.ts +5 -0
  55. package/design-system/rhc/config/textarea.config.d.ts +4 -0
  56. package/design-system/rhc/index.d.ts +1 -0
  57. package/design-system/rhc/utils/create-config.d.ts +76 -0
  58. package/design-system/rhc/utils/generate-schema.d.ts +20 -0
  59. package/design-system/types.d.ts +22 -0
  60. package/error-boundaries/BaseErrorBoundary/BaseErrorBoundary.d.ts +31 -0
  61. package/error-boundaries/ComponentErrorBoundary/ComponentErrorBoundary.d.ts +9 -0
  62. package/error-boundaries/ErrorBoundaryTest/ErrorBoundaryTest.d.ts +2 -0
  63. package/error-boundaries/FlowBuilderErrorBoundary/FlowBuilderErrorBoundary.d.ts +7 -0
  64. package/error-boundaries/index.d.ts +1 -0
  65. package/features/condition-editor/components/ConditionEditor/ConditionEditor.d.ts +17 -0
  66. package/features/condition-editor/components/ConditionItem/ConditionItem.d.ts +17 -0
  67. package/features/condition-editor/components/ConditionOperatorSelect/ConditionOperatorSelect.d.ts +8 -0
  68. package/features/condition-editor/components/ConditionRow/ConditionRow.d.ts +14 -0
  69. package/features/condition-editor/components/ConditionSummary/ConditionSummary.d.ts +7 -0
  70. package/features/condition-editor/components/ConditionTargetSelect/ConditionTargetSelect.d.ts +14 -0
  71. package/features/condition-editor/components/ConditionValueInput/ConditionValueInput.d.ts +10 -0
  72. package/features/condition-editor/components/EditConditionForm/EditConditionForm.d.ts +13 -0
  73. package/features/condition-editor/components/ExistingCondition/ExistingCondition.d.ts +13 -0
  74. package/features/condition-editor/components/LogicalConnector/LogicalConnector.d.ts +8 -0
  75. package/features/condition-editor/components/LogicalOperatorToggle/LogicalOperatorToggle.d.ts +13 -0
  76. package/features/condition-editor/components/NewConditionBuilder/NewConditionBuilder.d.ts +10 -0
  77. package/features/condition-editor/components/NewConditionRow/NewConditionRow.d.ts +15 -0
  78. package/features/condition-editor/components/VisibilityConditionBuilder/VisibilityConditionBuilder.d.ts +17 -0
  79. package/features/condition-editor/components/hooks/useTargetComponents.d.ts +6 -0
  80. package/features/condition-editor/components/utils/conditionUtils.d.ts +7 -0
  81. package/features/condition-editor/components/visibilityHelpers.d.ts +21 -0
  82. package/features/condition-editor/index.d.ts +17 -0
  83. package/features/dialog-system/components/ConfirmDialog.d.ts +12 -0
  84. package/features/dialog-system/components/DialogEditor/DialogEditor.d.ts +12 -0
  85. package/features/dialog-system/components/ModalDialog/ModalDialog.d.ts +12 -0
  86. package/features/dialog-system/components/VerifyEmailDialog/VerifyEmailDialog.d.ts +10 -0
  87. package/features/dialog-system/index.d.ts +4 -0
  88. package/features/form-builder/components/actions/ActionsPanel/ActionsPanel.d.ts +3 -0
  89. package/features/form-builder/components/actions/SortableActionItem/SortableActionItem.d.ts +9 -0
  90. package/features/form-builder/components/actions/index.d.ts +4 -0
  91. package/features/form-builder/components/actions-menu/FormBuilderActionsMenu/FormBuilderActionsMenu.d.ts +1 -0
  92. package/features/form-builder/components/actions-menu/index.d.ts +3 -0
  93. package/features/form-builder/components/actions-menu/items/CreateTemplateMenuItem/CreateTemplateMenuItem.d.ts +2 -0
  94. package/features/form-builder/components/actions-menu/items/ExampleMenuItem/ExampleMenuItem.d.ts +2 -0
  95. package/features/form-builder/components/actions-menu/items/index.d.ts +2 -0
  96. package/features/form-builder/components/actions-menu/registry.d.ts +9 -0
  97. package/features/form-builder/components/actions-menu/types.d.ts +44 -0
  98. package/features/form-builder/components/buttons/PreviewButton/PreviewButton.d.ts +74 -0
  99. package/features/form-builder/components/buttons/SaveDropdownButton/SaveDropdownButton.d.ts +8 -0
  100. package/features/form-builder/components/buttons/index.d.ts +6 -0
  101. package/features/form-builder/components/canvas/AdminRenderCanvasItems/AdminRenderCanvasItems.d.ts +15 -0
  102. package/features/form-builder/components/canvas/Canvas/Canvas.d.ts +3 -0
  103. package/features/form-builder/components/canvas/CanvasComponent/CanvasComponent.d.ts +16 -0
  104. package/features/form-builder/components/canvas/SortableComponent/SortableComponent.d.ts +13 -0
  105. package/features/form-builder/components/canvas/index.d.ts +8 -0
  106. package/features/form-builder/components/components-panel/FormWizardComponentItem/FormWizardComponentItem.d.ts +7 -0
  107. package/features/form-builder/components/components-panel/FormWizardComponentsPanel/FormWizardComponentsPanel.d.ts +6 -0
  108. package/features/form-builder/components/components-panel/SortableComponentItem/SortableComponentItem.d.ts +20 -0
  109. package/features/form-builder/components/components-panel/index.d.ts +6 -0
  110. package/features/form-builder/components/core/AdminFormContent/AdminFormContent.d.ts +5 -0
  111. package/features/form-builder/components/core/FormBuilder/FormBuilder.d.ts +23 -0
  112. package/features/form-builder/components/core/index.d.ts +4 -0
  113. package/features/form-builder/components/editors/AdminPropertiesPanel/AdminPropertiesPanel.d.ts +3 -0
  114. package/features/form-builder/components/editors/ConditionsTab/ConditionsTab.d.ts +10 -0
  115. package/features/form-builder/components/editors/NavigationEditor/NavigationEditor.d.ts +13 -0
  116. package/features/form-builder/components/editors/NavigationSettings/NavigationSettings.d.ts +2 -0
  117. package/features/form-builder/components/editors/SectionConfigEditor/SectionConfigEditor.d.ts +8 -0
  118. package/features/form-builder/components/editors/index.d.ts +10 -0
  119. package/features/form-builder/components/fields/FieldValueButton/FieldValueButton.d.ts +7 -0
  120. package/features/form-builder/components/fields/FormFieldSelector/FormFieldSelector.d.ts +19 -0
  121. package/features/form-builder/components/fields/index.d.ts +4 -0
  122. package/features/form-builder/components/index.d.ts +13 -0
  123. package/features/form-builder/components/layout/FormFooter.d.ts +11 -0
  124. package/features/form-builder/components/layout/FormFooterBase.d.ts +15 -0
  125. package/features/form-builder/components/layout/FormHeader/FormHeader.d.ts +35 -0
  126. package/features/form-builder/components/layout/index.d.ts +6 -0
  127. package/features/form-builder/components/panels/RightPanel/RightPanel.d.ts +1 -0
  128. package/features/form-builder/components/panels/index.d.ts +1 -0
  129. package/features/form-builder/components/sections/AdminFormSection/AdminFormSection.d.ts +14 -0
  130. package/features/form-builder/components/sections/SectionContainer/SectionContainer.d.ts +13 -0
  131. package/features/form-builder/components/sections/index.d.ts +4 -0
  132. package/features/form-builder/components/steps/AdminStepSettings/AdminStepSettings.d.ts +7 -0
  133. package/features/form-builder/components/steps/SortableStepItem/SortableStepItem.d.ts +18 -0
  134. package/features/form-builder/components/steps/StepLockIndicator/StepLockIndicator.d.ts +18 -0
  135. package/features/form-builder/components/steps/StepsList/StepsList.d.ts +3 -0
  136. package/features/form-builder/components/steps/index.d.ts +8 -0
  137. package/features/form-builder/context/FormBuilderContext.d.ts +30 -0
  138. package/features/form-builder/context/ResolvedStepContext.d.ts +9 -0
  139. package/features/form-builder/hooks/useCurrentStep.d.ts +18 -0
  140. package/features/form-builder/hooks/useDragAndDrop.d.ts +16 -0
  141. package/features/form-builder/hooks/useDragFeedback.d.ts +32 -0
  142. package/features/form-builder/hooks/useHoldToDrag.d.ts +18 -0
  143. package/features/form-builder/hooks/usePreviewConfig.d.ts +23 -0
  144. package/features/form-builder/hooks/useSectionOperations.d.ts +7 -0
  145. package/features/form-builder/index.d.ts +10 -0
  146. package/features/form-builder/providers/DragAndDropProvider/DragAndDropProvider.d.ts +8 -0
  147. package/features/form-builder/utils/PropertyLockIndicator/PropertyLockIndicator.d.ts +30 -0
  148. package/features/form-builder/utils/bodyConversionUtils.d.ts +35 -0
  149. package/features/form-builder/utils/collisionDetection.d.ts +6 -0
  150. package/features/form-management/components/FormBuilderView/FormBuilderView.d.ts +17 -0
  151. package/features/form-management/components/FormExplorer/FormExplorer.d.ts +38 -0
  152. package/features/form-management/components/FormExplorerCore/FormExplorerCore.d.ts +67 -0
  153. package/features/form-management/components/FormManager/FormManager.d.ts +43 -0
  154. package/features/form-management/components/FormSectionList/FormSectionList.d.ts +1 -0
  155. package/features/form-management/components/FormsView/FormsView.d.ts +40 -0
  156. package/features/form-management/components/NewFormDialog/NewFormDialog.d.ts +25 -0
  157. package/features/form-management/components/NewProjectDialog/NewProjectDialog.d.ts +23 -0
  158. package/features/form-management/components/ProjectCard/ProjectCard.d.ts +9 -0
  159. package/features/form-management/components/ProjectsView/ProjectsView.d.ts +20 -0
  160. package/features/form-management/components/SearchInput/SearchInput.d.ts +9 -0
  161. package/features/form-management/components/ViewCard/ViewCard.d.ts +40 -0
  162. package/features/form-management/components/pages/FormBuilderPage.d.ts +3 -0
  163. package/features/form-management/components/pages/FormsPage.d.ts +3 -0
  164. package/features/form-management/components/pages/ProjectsPage.d.ts +16 -0
  165. package/features/form-management/components/pages/index.d.ts +13 -0
  166. package/features/form-management/hooks/index.d.ts +9 -0
  167. package/features/form-management/hooks/useFormActions.d.ts +20 -0
  168. package/features/form-management/hooks/useFormData.d.ts +13 -0
  169. package/features/form-management/hooks/useFormExplorerState.d.ts +26 -0
  170. package/features/form-management/hooks/useFormOperations.d.ts +17 -0
  171. package/features/form-management/hooks/useFormsQuery.d.ts +50 -0
  172. package/features/form-management/hooks/useProjectActions.d.ts +25 -0
  173. package/features/form-management/hooks/useProjectOperations.d.ts +10 -0
  174. package/features/form-management/hooks/useProjectsData.d.ts +13 -0
  175. package/features/form-management/index.d.ts +29 -0
  176. package/features/form-management/layout/BaseHeader/BaseHeader.d.ts +1 -0
  177. package/features/form-management/layout/BaseLayout/BaseLayout.d.ts +25 -0
  178. package/features/form-management/providers/QueryProvider.d.ts +8 -0
  179. package/features/form-management/types/viewTypes.d.ts +53 -0
  180. package/features/form-management/utils/configInitializer.d.ts +4 -0
  181. package/features/index.d.ts +9 -0
  182. package/features/property-editors/components/ComponentValidationEditor/ComponentValidationEditor.d.ts +12 -0
  183. package/features/property-editors/components/GenericPropertyEditor/GenericPropertyEditor.d.ts +13 -0
  184. package/features/property-editors/components/ProgressLoaderEditor/ProgressLoaderEditor.d.ts +12 -0
  185. package/features/property-editors/components/RadioGroupEditor/RadioGroupEditor.d.ts +3 -0
  186. package/features/property-editors/components/SelectEditor/SelectEditor.d.ts +3 -0
  187. package/features/property-editors/components/ValidationRuleEditor/ValidationRuleEditor.d.ts +23 -0
  188. package/features/property-editors/components/ValidationRuleListItem/ValidationRuleListItem.d.ts +9 -0
  189. package/features/property-editors/components/ValidationRuleSheet/ValidationRuleSheet.d.ts +14 -0
  190. package/features/property-editors/index.d.ts +5 -0
  191. package/features/property-editors/types/schema.d.ts +66 -0
  192. package/features/property-editors/types/types.d.ts +23 -0
  193. package/features/template-system/components/CreateTemplateDialog/CreateTemplateDialog.d.ts +17 -0
  194. package/features/template-system/components/DeleteTemplateDialog/DeleteTemplateDialog.d.ts +11 -0
  195. package/features/template-system/components/DuplicateTemplateDialog/DuplicateTemplateDialog.d.ts +11 -0
  196. package/features/template-system/components/EditTemplateDialog/EditTemplateDialog.d.ts +10 -0
  197. package/features/template-system/components/EnhancedTemplateBrowser/EnhancedTemplateBrowser.d.ts +11 -0
  198. package/features/template-system/components/TemplateContextMenu/TemplateContextMenu.d.ts +12 -0
  199. package/features/template-system/hooks/useTemplateGovernance.d.ts +46 -0
  200. package/features/template-system/hooks/useTemplatePermissions.d.ts +104 -0
  201. package/features/template-system/hooks/useTemplateStepTitle.d.ts +5 -0
  202. package/features/template-system/index.d.ts +17 -0
  203. package/features/template-system/services/TemplateStorageService.d.ts +52 -0
  204. package/features/template-system/utils/templateApplication.d.ts +75 -0
  205. package/features/template-system/utils/templateCategories.d.ts +105 -0
  206. package/features/template-system/utils/templateConfig.d.ts +148 -0
  207. package/features/template-system/utils/templateDeletion.d.ts +44 -0
  208. package/features/template-system/utils/templateDuplication.d.ts +65 -0
  209. package/features/template-system/utils/templateGovernance.d.ts +54 -0
  210. package/features/template-system/utils/templateLoader.d.ts +25 -0
  211. package/features/template-system/utils/templateMetadataOperations.d.ts +40 -0
  212. package/features/template-system/utils/templateUtils.d.ts +12 -0
  213. package/features/trigger-action-system/components/ActionConfigurationSheet/ActionConfigurationSheet.d.ts +9 -0
  214. package/features/trigger-action-system/components/ActionEditor/ActionEditor.d.ts +15 -0
  215. package/features/trigger-action-system/components/ActionsList/ActionsList.d.ts +8 -0
  216. package/features/trigger-action-system/components/ComponentTriggerActionEditor/ComponentTriggerActionEditor.d.ts +8 -0
  217. package/features/trigger-action-system/components/TriggerContextSelector/TriggerContextSelector.d.ts +9 -0
  218. package/features/trigger-action-system/index.d.ts +5 -0
  219. package/features/visual-mapping/components/ApiCallEditor/ApiCallEditor.d.ts +15 -0
  220. package/features/visual-mapping/components/ApiResponsePreview/ApiResponsePreview.d.ts +8 -0
  221. package/features/visual-mapping/components/ApiStructureTree/ApiStructureTree.d.ts +10 -0
  222. package/features/visual-mapping/components/CompactApiTestButton/CompactApiTestButton.d.ts +11 -0
  223. package/features/visual-mapping/components/ConnectionCircle/ConnectionCircle.d.ts +8 -0
  224. package/features/visual-mapping/components/ConnectionLines/ConnectionLines.d.ts +8 -0
  225. package/features/visual-mapping/components/CurrentMappingsDisplay/CurrentMappingsDisplay.d.ts +5 -0
  226. package/features/visual-mapping/components/EmptyFormFieldsMessage/EmptyFormFieldsMessage.d.ts +1 -0
  227. package/features/visual-mapping/components/FormFieldItem/FormFieldItem.d.ts +9 -0
  228. package/features/visual-mapping/components/FormFieldsList/FormFieldsList.d.ts +9 -0
  229. package/features/visual-mapping/components/KeyValueEditor/KeyValueEditor.d.ts +39 -0
  230. package/features/visual-mapping/components/MappingActionsDropdownMenu/MappingActionsDropdownMenu.d.ts +9 -0
  231. package/features/visual-mapping/components/MappingConnections/MappingConnections.d.ts +10 -0
  232. package/features/visual-mapping/components/RequestBodyEditor/RequestBodyEditor.d.ts +10 -0
  233. package/features/visual-mapping/components/SearchBar/SearchBar.d.ts +25 -0
  234. package/features/visual-mapping/components/VisualApiMappingInterface/VisualApiMappingInterface.d.ts +9 -0
  235. package/features/visual-mapping/components/index.d.ts +2 -0
  236. package/features/visual-mapping/components/typeCompatibility.d.ts +4 -0
  237. package/features/visual-mapping/components/utils/getFormFieldDataType.d.ts +2 -0
  238. package/features/visual-mapping/index.d.ts +18 -0
  239. package/features/visual-mapping/utils/apiBodyUtils.d.ts +1 -0
  240. package/index.cjs +1 -1
  241. package/index.cjs.map +1 -1
  242. package/index.d.ts +35 -0
  243. package/index.js +3 -3
  244. package/index.js.map +1 -1
  245. package/integrations/NextJSIntegration.d.ts +23 -0
  246. package/integrations/ReactRouterIntegration.d.ts +16 -0
  247. package/integrations/index.d.ts +12 -0
  248. package/integrations/react-router/FormBuilderPage/FormBuilderPage.d.ts +23 -0
  249. package/integrations/react-router/FormsPage.d.ts +18 -0
  250. package/integrations/react-router/index.d.ts +11 -0
  251. package/package.json +1 -1
  252. package/providers/FormSaveContext.d.ts +20 -0
  253. package/providers/FormSaveProvider.d.ts +93 -0
  254. package/providers/ThemeProvider.d.ts +2 -0
  255. package/providers/index.d.ts +9 -0
  256. package/server.d.ts +8 -0
  257. package/storage/FilesystemStorageProvider.d.ts +19 -0
  258. package/storage/NullStorageProvider.d.ts +15 -0
  259. package/storage/PgLiteSyncProvider.d.ts +41 -0
  260. package/storage/StorageProviderFactory.d.ts +77 -0
  261. package/storage/ZeroConfigFilesystemStorageProvider.d.ts +157 -0
  262. package/storage/database-schemas.d.ts +17901 -0
  263. package/storage/database-types.d.ts +194 -0
  264. package/storage/index.d.ts +17 -0
  265. package/storage/types.d.ts +195 -0
  266. package/store/formBuilderStore.d.ts +287 -0
  267. package/store/index.d.ts +7 -0
  268. package/store/initialState/templates.d.ts +22 -0
  269. package/styles/index.d.ts +0 -0
  270. package/utils/configInitializer.d.ts +11 -0
  271. package/utils/configReader.d.ts +13 -0
  272. package/utils/fieldChangeValidation.d.ts +127 -0
  273. package/utils/fileStorage.d.ts +253 -0
  274. package/utils/formSaver.d.ts +22 -0
  275. package/utils/formsExplorer.d.ts +128 -0
  276. package/utils/index.d.ts +2 -0
  277. package/utils/routeUtils.d.ts +85 -0
  278. package/configReader-BkMPr3Ju.js.map +0 -1
  279. package/configReader-CbGTKRUP.cjs.map +0 -1
@@ -0,0 +1,23 @@
1
+ import { FormManagerProps } from '../features/form-management/components/FormManager/FormManager';
2
+ export interface NextJSFormManagerProps {
3
+ className?: string;
4
+ style?: React.CSSProperties;
5
+ initialView?: FormManagerProps["initialView"];
6
+ config?: FormManagerProps["config"];
7
+ previewUrl?: FormManagerProps["previewUrl"];
8
+ getPreviewUrl?: FormManagerProps["getPreviewUrl"];
9
+ showPreview?: FormManagerProps["showPreview"];
10
+ project?: string;
11
+ wizardId?: string;
12
+ }
13
+ /**
14
+ * FormManager with Next.js App Router integration
15
+ * Use this when you're using Next.js 13+ App Router
16
+ */
17
+ export declare const NextJSFormManager: React.FC<NextJSFormManagerProps>;
18
+ /**
19
+ * FormManager with Next.js Pages Router integration
20
+ * Use this when you're using Next.js Pages Router (legacy)
21
+ */
22
+ export declare const NextJSPagesFormManager: React.FC<NextJSFormManagerProps>;
23
+ export default NextJSFormManager;
@@ -0,0 +1,16 @@
1
+ import { FormManagerProps } from '../features/form-management/components/FormManager/FormManager';
2
+ export interface ReactRouterFormManagerProps {
3
+ className?: string;
4
+ style?: React.CSSProperties;
5
+ initialView?: FormManagerProps["initialView"];
6
+ config?: FormManagerProps["config"];
7
+ previewUrl?: FormManagerProps["previewUrl"];
8
+ getPreviewUrl?: FormManagerProps["getPreviewUrl"];
9
+ showPreview?: FormManagerProps["showPreview"];
10
+ }
11
+ /**
12
+ * FormManager with React Router integration
13
+ * Use this when you're using react-router-dom
14
+ */
15
+ export declare const ReactRouterFormManager: React.FC<ReactRouterFormManagerProps>;
16
+ export default ReactRouterFormManager;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Framework integrations for FormManager
3
+ *
4
+ * These integrations provide seamless compatibility with different React frameworks
5
+ * while maintaining the core FormManager's framework-agnostic design.
6
+ */
7
+ export type { FormManagerProps, RouterIntegration, } from '../features/form-management/components/FormManager/FormManager';
8
+ export { default as FormManager } from '../features/form-management/components/FormManager/FormManager';
9
+ export type { NextJSFormManagerProps } from './NextJSIntegration';
10
+ export { NextJSFormManager, NextJSPagesFormManager } from './NextJSIntegration';
11
+ export type { ReactRouterFormManagerProps } from './ReactRouterIntegration';
12
+ export { ReactRouterFormManager } from './ReactRouterIntegration';
@@ -0,0 +1,23 @@
1
+ import { default as React } from 'react';
2
+ import { FormConfig } from '../../../config/types';
3
+ export interface FormBuilderPageProps {
4
+ /**
5
+ * Optional form configuration
6
+ */
7
+ config?: FormConfig;
8
+ /**
9
+ * Optional CSS class name
10
+ */
11
+ className?: string;
12
+ /**
13
+ * Optional inline styles
14
+ */
15
+ style?: React.CSSProperties;
16
+ }
17
+ /**
18
+ * Standalone FormBuilderPage component for user-defined routing
19
+ * Shows the form builder for a specific form
20
+ *
21
+ * @deprecated Use FormBuilderView directly with your framework's param reading
22
+ */
23
+ export declare const FormBuilderPage: React.FC<FormBuilderPageProps>;
@@ -0,0 +1,18 @@
1
+ import { default as React } from 'react';
2
+ export interface FormsPageProps {
3
+ /**
4
+ * Optional CSS class name
5
+ */
6
+ className?: string;
7
+ /**
8
+ * Optional inline styles
9
+ */
10
+ style?: React.CSSProperties;
11
+ }
12
+ /**
13
+ * Standalone FormsPage component for user-defined routing
14
+ * Shows forms within a specific project
15
+ *
16
+ * @deprecated Use FormsView directly with your framework's param reading
17
+ */
18
+ export declare const FormsPage: React.FC<FormsPageProps>;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * React Router integrations for form management
3
+ *
4
+ * @deprecated Use standalone view components with NavigationProvider instead
5
+ */
6
+ export type { ReactRouterFormManagerProps } from '../ReactRouterIntegration';
7
+ export { ReactRouterFormManager } from '../ReactRouterIntegration';
8
+ export type { FormBuilderPageProps } from './FormBuilderPage/FormBuilderPage';
9
+ export { FormBuilderPage } from './FormBuilderPage/FormBuilderPage';
10
+ export type { FormsPageProps } from './FormsPage';
11
+ export { FormsPage } from './FormsPage';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@digiform/builder",
3
- "version": "0.1.7",
3
+ "version": "0.2.4",
4
4
  "description": "React form builder for creating and managing configurable multi-step forms",
5
5
  "author": "VladAfanasev",
6
6
  "license": "MIT",
@@ -0,0 +1,20 @@
1
+ import { ReactNode } from 'react';
2
+ import { FormSaveProvider } from './FormSaveProvider';
3
+ interface FormSaveProviderProps {
4
+ provider?: FormSaveProvider;
5
+ children: ReactNode;
6
+ }
7
+ /**
8
+ * Form save provider component
9
+ * Wrap your app with this to configure the save functionality
10
+ */
11
+ export declare const FormSaveProviderComponent: ({ provider, children, }: FormSaveProviderProps) => import("react/jsx-runtime").JSX.Element;
12
+ /**
13
+ * Hook to get the current form save provider
14
+ */
15
+ export declare const useFormSaveProvider: () => FormSaveProvider;
16
+ /**
17
+ * Hook to check if a save provider is configured
18
+ */
19
+ export declare const useHasFormSaveProvider: () => boolean;
20
+ export {};
@@ -0,0 +1,93 @@
1
+ import { FormWizardConfig } from '../../../core/src/index.ts';
2
+ import { FormConfig, FormStorageConfig } from '../config/types';
3
+ /**
4
+ * Save operation result
5
+ */
6
+ export interface SaveResult {
7
+ success: boolean;
8
+ error?: {
9
+ message: string;
10
+ code?: string;
11
+ };
12
+ metadata?: {
13
+ filePath?: string;
14
+ savedAt?: Date;
15
+ size?: number;
16
+ };
17
+ }
18
+ /**
19
+ * Load operation result
20
+ */
21
+ export interface LoadResult {
22
+ success: boolean;
23
+ data?: FormWizardConfig;
24
+ error?: {
25
+ message: string;
26
+ code?: string;
27
+ };
28
+ metadata?: {
29
+ source?: "filesystem" | "api" | "cache";
30
+ lastModified?: Date;
31
+ size?: number;
32
+ };
33
+ }
34
+ /**
35
+ * Form save provider interface - implement this for different frameworks
36
+ */
37
+ export interface FormSaveProvider {
38
+ /**
39
+ * Save a form configuration
40
+ */
41
+ saveForm(projectId: string, wizardId: string, config: FormWizardConfig, storageConfig: FormStorageConfig): Promise<SaveResult>;
42
+ /**
43
+ * Load a form configuration
44
+ */
45
+ loadForm(projectId: string, wizardId: string, storageConfig: FormStorageConfig): Promise<LoadResult>;
46
+ /**
47
+ * Check if a form exists
48
+ */
49
+ formExists?(projectId: string, wizardId: string, storageConfig: FormStorageConfig): Promise<boolean>;
50
+ /**
51
+ * Delete a form
52
+ */
53
+ deleteForm?(projectId: string, wizardId: string, storageConfig: FormStorageConfig): Promise<SaveResult>;
54
+ /**
55
+ * List forms in a project
56
+ */
57
+ listForms?(projectId: string, storageConfig: FormStorageConfig): Promise<{
58
+ forms: string[];
59
+ success: boolean;
60
+ error?: {
61
+ message: string;
62
+ };
63
+ }>;
64
+ }
65
+ /**
66
+ * Default file system save provider (works with Vite dev server and similar setups)
67
+ * This is the fallback implementation that uses HTTP endpoints
68
+ */
69
+ export declare class HttpEndpointSaveProvider implements FormSaveProvider {
70
+ saveForm(projectId: string, wizardId: string, config: FormWizardConfig, storageConfig: FormStorageConfig): Promise<SaveResult>;
71
+ loadForm(projectId: string, wizardId: string, storageConfig: FormStorageConfig): Promise<LoadResult>;
72
+ formExists(projectId: string, wizardId: string, storageConfig: FormStorageConfig): Promise<boolean>;
73
+ deleteForm(projectId: string, wizardId: string, storageConfig: FormStorageConfig): Promise<SaveResult>;
74
+ }
75
+ /**
76
+ * Form configuration loader - reads from form.config.json
77
+ */
78
+ export declare class FormConfigLoader {
79
+ private static instance;
80
+ private configCache;
81
+ private configPromise;
82
+ static getInstance(): FormConfigLoader;
83
+ /**
84
+ * Load form configuration from form.config.json
85
+ */
86
+ loadConfig(): Promise<FormConfig>;
87
+ private fetchConfig;
88
+ private getDefaultConfig;
89
+ /**
90
+ * Clear cached config (useful for testing or hot reloading)
91
+ */
92
+ clearCache(): void;
93
+ }
@@ -0,0 +1,2 @@
1
+ export { ThemeProvider, useTheme, useThemeConfig } from '../../../ui/src/index.ts';
2
+ export type { ThemeConfig, ThemeProviderProps } from '../../../ui/src/index.ts';
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Framework-agnostic form save providers
3
+ * Export all providers and utilities for easy importing
4
+ */
5
+ export type { FormConfig, FormStorageConfig } from '../config/types';
6
+ export * from './FormSaveContext';
7
+ export type { FormSaveProvider, LoadResult, SaveResult, } from './FormSaveProvider';
8
+ export * from './FormSaveProvider';
9
+ export { ThemeProvider, useTheme, useThemeConfig } from './ThemeProvider';
package/server.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Server entry point for @formbuilder/builder
3
+ * Contains storage providers that require Node.js APIs (node:fs, node:path).
4
+ * Only import this in server-side code (Node.js, Next.js Server Components, API routes).
5
+ */
6
+ export { FilesystemStorageProvider } from './storage/FilesystemStorageProvider';
7
+ export { type DataConsistencyProvider, type ProviderCapabilities, StorageProviderFactory, } from './storage/StorageProviderFactory';
8
+ export type { CreateFormRequest, CreateProjectRequest, FormMetadata, FormStorageConfig, FormStorageProvider, StorageResult, } from './storage/types';
@@ -0,0 +1,19 @@
1
+ import { FormConfig } from '../config/types';
2
+ import { CreateProjectRequest, FormMetadata, FormStorageConfig, FormStorageProvider, StorageResult } from './types';
3
+ export declare class FilesystemStorageProvider implements FormStorageProvider {
4
+ private config;
5
+ private basePath;
6
+ initialize(config: FormStorageConfig): Promise<void>;
7
+ listForms(): Promise<StorageResult<FormMetadata[]>>;
8
+ loadForm(projectId: string, wizardId: string): Promise<StorageResult<FormConfig>>;
9
+ saveForm(projectId: string, wizardId: string, config: FormConfig): Promise<StorageResult>;
10
+ createProject(request: CreateProjectRequest): Promise<StorageResult>;
11
+ deleteForm(projectId: string, wizardId: string): Promise<StorageResult>;
12
+ getType(): string;
13
+ private ensureDirectoryExists;
14
+ /**
15
+ * Set the base path for the storage provider
16
+ * This allows applications to configure where forms are stored
17
+ */
18
+ setBasePath(basePath: string): void;
19
+ }
@@ -0,0 +1,15 @@
1
+ import { FormStorageConfig, FormStorageProvider, StorageResult } from './types';
2
+ export declare class NullStorageProvider implements FormStorageProvider {
3
+ getType(): string;
4
+ initialize(_config: FormStorageConfig): Promise<void>;
5
+ listForms(): Promise<StorageResult>;
6
+ loadForm(_projectId: string, _wizardId: string): Promise<StorageResult>;
7
+ saveForm(_projectId: string, _wizardId: string, _config: Record<string, unknown>): Promise<StorageResult>;
8
+ deleteForm(_projectId: string, _wizardId: string): Promise<StorageResult>;
9
+ listProjects(): Promise<StorageResult>;
10
+ createProject(_request: {
11
+ name: string;
12
+ directoryName?: string;
13
+ }): Promise<StorageResult>;
14
+ deleteProject(_projectId: string): Promise<StorageResult>;
15
+ }
@@ -0,0 +1,41 @@
1
+ import { CreateProjectRequest, FormMetadata, FormStorageConfig, FormStorageProvider, StorageResult } from './types';
2
+ export interface PgLiteSyncConfig {
3
+ persistence?: "indexeddb" | "memory";
4
+ }
5
+ export declare class PgLiteSyncProvider implements FormStorageProvider {
6
+ private localDb;
7
+ private config;
8
+ private isInitialized;
9
+ constructor(config: PgLiteSyncConfig);
10
+ initialize(_config: FormStorageConfig): Promise<void>;
11
+ init(): Promise<void>;
12
+ private migrateSchemaIfNeeded;
13
+ private migrateExistingData;
14
+ private createTables;
15
+ /**
16
+ * Initialize SERIAL sequences to handle any existing data
17
+ */
18
+ private initializeSequences;
19
+ saveForm(projectId: string, wizardId: string, config: Record<string, unknown>): Promise<StorageResult>;
20
+ loadForm(projectId: string, wizardId: string): Promise<StorageResult<Record<string, unknown>>>;
21
+ listProjects(): Promise<StorageResult<Array<{
22
+ id: string;
23
+ name: string;
24
+ description?: string;
25
+ created_at: string;
26
+ updated_at: string;
27
+ }>>>;
28
+ listForms(): Promise<StorageResult<FormMetadata[]>>;
29
+ deleteForm(projectId: string, wizardId: string): Promise<StorageResult>;
30
+ createProject(request: CreateProjectRequest): Promise<StorageResult>;
31
+ deleteProject(projectId: string): Promise<StorageResult>;
32
+ private ensureProject;
33
+ private ensureInitialized;
34
+ getStats(): Promise<{
35
+ projects: number;
36
+ forms: number;
37
+ }>;
38
+ exportData(): Promise<string>;
39
+ getType(): string;
40
+ close(): Promise<void>;
41
+ }
@@ -0,0 +1,77 @@
1
+ import { FormStorageConfig, FormStorageProvider } from './types';
2
+ /**
3
+ * Provider capabilities interface for UI components
4
+ */
5
+ export interface ProviderCapabilities {
6
+ strategy: "filesystem" | "database" | "none";
7
+ isLive: boolean;
8
+ hasSync: boolean;
9
+ isZeroConfig: boolean;
10
+ supportsOffline: boolean;
11
+ }
12
+ /**
13
+ * Interface for providers that support data consistency validation
14
+ */
15
+ export interface DataConsistencyProvider {
16
+ validateDataConsistency(): Promise<boolean>;
17
+ reconcileConflicts(): Promise<boolean>;
18
+ resetLocalData(): Promise<boolean>;
19
+ getDataIntegrityStatus(): {
20
+ status: "consistent" | "inconsistent" | "unknown";
21
+ reconciling: boolean;
22
+ lastValidation: string | null;
23
+ };
24
+ }
25
+ export declare class StorageProviderFactory {
26
+ private static instance;
27
+ private currentProvider;
28
+ private currentConfig;
29
+ private isInitializing;
30
+ private initializationPromise;
31
+ /**
32
+ * Get singleton instance
33
+ */
34
+ static getInstance(): StorageProviderFactory;
35
+ /**
36
+ * Create and initialize a storage provider based on configuration
37
+ */
38
+ createProvider(config: FormStorageConfig): Promise<FormStorageProvider>;
39
+ /**
40
+ * Internal provider creation method
41
+ */
42
+ private doCreateProvider;
43
+ /**
44
+ * Type guard to check if provider supports data consistency validation
45
+ */
46
+ private isDataConsistencyProvider;
47
+ /**
48
+ * Check if the current configuration is compatible with a new config
49
+ */
50
+ private isConfigCompatible;
51
+ /**
52
+ * Create a filesystem provider based on environment
53
+ * Uses dynamic import for FilesystemStorageProvider to avoid bundling node:fs in client code
54
+ */
55
+ private createFilesystemProvider;
56
+ /**
57
+ * Create a database provider - always uses PgLiteSyncProvider for local-first approach
58
+ * Database connection is mandatory - no offline-only mode
59
+ */
60
+ private createDatabaseProvider;
61
+ /**
62
+ * Get the current provider
63
+ */
64
+ getCurrentProvider(): FormStorageProvider | null;
65
+ /**
66
+ * Get the current provider with data consistency capabilities
67
+ */
68
+ getCurrentDataConsistencyProvider(): DataConsistencyProvider | null;
69
+ /**
70
+ * Get capabilities of the current provider for UI components
71
+ */
72
+ getProviderCapabilities(): ProviderCapabilities | null;
73
+ /**
74
+ * Create a provider without caching it (useful for testing or migration)
75
+ */
76
+ static createStandaloneProvider(config: FormStorageConfig): Promise<FormStorageProvider>;
77
+ }
@@ -0,0 +1,157 @@
1
+ import { CreateProjectRequest, FormMetadata, FormStorageConfig, FormStorageProvider, StorageResult } from './types';
2
+ /**
3
+ * Capabilities of the current environment
4
+ */
5
+ interface EnvironmentCapabilities {
6
+ /** Whether File System Access API is available */
7
+ hasFileSystemAccess: boolean;
8
+ /** Whether we're in a secure context (required for File System Access API) */
9
+ isSecureContext: boolean;
10
+ /** Whether we're in development mode */
11
+ isDevelopment: boolean;
12
+ /** Primary storage method to use */
13
+ primaryMethod: "file-system-access" | "localstorage-download";
14
+ }
15
+ export declare class ZeroConfigFilesystemStorageProvider implements FormStorageProvider {
16
+ private config;
17
+ private capabilities;
18
+ private directoryHandle;
19
+ private userMessage;
20
+ constructor();
21
+ /**
22
+ * Detect what filesystem capabilities are available in this environment
23
+ */
24
+ private detectEnvironmentCapabilities;
25
+ /**
26
+ * Generate user-friendly message about current capabilities
27
+ */
28
+ private generateUserMessage;
29
+ initialize(config: FormStorageConfig): Promise<void>;
30
+ /**
31
+ * Check if localStorage is available and working
32
+ */
33
+ private ensureLocalStorageAvailable;
34
+ /**
35
+ * Request directory access for File System Access API
36
+ * @param userInitiated - Whether this request is user-initiated (required for SecurityError handling)
37
+ */
38
+ private requestDirectoryAccess;
39
+ listForms(): Promise<StorageResult<FormMetadata[]>>;
40
+ /**
41
+ * List forms from server/filesystem via HTTP (for existing files)
42
+ */
43
+ private listFormsFromServer;
44
+ /**
45
+ * Discover forms by trying common project/form combinations
46
+ */
47
+ private discoverFormsFromServer;
48
+ /**
49
+ * Process forms from a manifest file
50
+ */
51
+ private processManifestForms;
52
+ /**
53
+ * Merge forms lists, with server forms taking priority over local storage
54
+ */
55
+ private mergeFormsLists;
56
+ /**
57
+ * List forms using LocalStorage
58
+ */
59
+ private listFormsLocalStorage;
60
+ loadForm(projectId: string, wizardId: string): Promise<StorageResult<Record<string, unknown>>>;
61
+ /**
62
+ * Load form using File System Access API
63
+ */
64
+ private loadFormFileSystemAccess;
65
+ /**
66
+ * Load form using HTTP from the server filesystem
67
+ */
68
+ private loadFormHttp;
69
+ /**
70
+ * Load form using LocalStorage
71
+ */
72
+ private loadFormLocalStorage;
73
+ saveForm(projectId: string, wizardId: string, config: Record<string, unknown>): Promise<StorageResult>;
74
+ /**
75
+ * Save form using File System Access API
76
+ */
77
+ private saveFormFileSystemAccess;
78
+ /**
79
+ * Save form using HTTP to the server filesystem
80
+ */
81
+ private saveFormHttp;
82
+ /**
83
+ * Delete form using HTTP DELETE request
84
+ */
85
+ private deleteFormHttp;
86
+ /**
87
+ * Save form using LocalStorage with automatic download
88
+ */
89
+ private saveFormLocalStorage;
90
+ /**
91
+ * Download form as a file (backup for localStorage method)
92
+ */
93
+ private downloadFormAsFile;
94
+ createProject(request: CreateProjectRequest): Promise<StorageResult>;
95
+ /**
96
+ * Create project using File System Access API
97
+ */
98
+ private createProjectFileSystemAccess;
99
+ /**
100
+ * Create project using HTTP to the server filesystem
101
+ */
102
+ private createProjectHttp;
103
+ /**
104
+ * Create project using LocalStorage (no-op since directories don't exist)
105
+ */
106
+ private createProjectLocalStorage;
107
+ deleteForm(projectId: string, wizardId: string): Promise<StorageResult>;
108
+ /**
109
+ * Delete form using File System Access API
110
+ */
111
+ private deleteFormFileSystemAccess;
112
+ /**
113
+ * Delete form using LocalStorage
114
+ */
115
+ private deleteFormLocalStorage;
116
+ /**
117
+ * Delete an entire project and all its forms
118
+ */
119
+ deleteProject(projectId: string): Promise<StorageResult>;
120
+ /**
121
+ * Delete project using HTTP DELETE request
122
+ */
123
+ private deleteProjectHttp;
124
+ /**
125
+ * Delete project using File System Access API
126
+ */
127
+ private deleteProjectFileSystemAccess;
128
+ /**
129
+ * Delete project using LocalStorage (removes all forms in project)
130
+ */
131
+ private deleteProjectLocalStorage;
132
+ getType(): string;
133
+ /**
134
+ * Manually enable filesystem access (user-initiated)
135
+ */
136
+ enableFilesystemAccess(): Promise<{
137
+ success: boolean;
138
+ error?: string;
139
+ }>;
140
+ /**
141
+ * Get current capabilities and user message
142
+ */
143
+ getCapabilities(): {
144
+ capabilities: EnvironmentCapabilities;
145
+ userMessage: string;
146
+ hasDirectoryAccess: boolean;
147
+ canUpgradeToFilesystem: boolean;
148
+ };
149
+ /**
150
+ * Export all forms as a downloadable backup
151
+ */
152
+ exportFormsBackup(): Promise<StorageResult<{
153
+ fileName: string;
154
+ count: number;
155
+ }>>;
156
+ }
157
+ export {};