@enerjisaformlibrary/formbuilder-react 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +83 -0
  2. package/index.cjs +6433 -0
  3. package/index.js +6365 -0
  4. package/package.json +58 -0
  5. package/types/client/src/components/form-builder/CanvasField.d.ts +15 -0
  6. package/types/client/src/components/form-builder/CanvasField.d.ts.map +1 -0
  7. package/types/client/src/components/form-builder/ComponentLibrary.d.ts +7 -0
  8. package/types/client/src/components/form-builder/ComponentLibrary.d.ts.map +1 -0
  9. package/types/client/src/components/form-builder/DragOverlayContent.d.ts +6 -0
  10. package/types/client/src/components/form-builder/DragOverlayContent.d.ts.map +1 -0
  11. package/types/client/src/components/form-builder/FormCanvas.d.ts +2 -0
  12. package/types/client/src/components/form-builder/FormCanvas.d.ts.map +1 -0
  13. package/types/client/src/components/form-builder/JsonViewerModal.d.ts +9 -0
  14. package/types/client/src/components/form-builder/JsonViewerModal.d.ts.map +1 -0
  15. package/types/client/src/components/form-builder/PropertiesPanel.d.ts +2 -0
  16. package/types/client/src/components/form-builder/PropertiesPanel.d.ts.map +1 -0
  17. package/types/client/src/components/form-builder/Toolbar.d.ts +6 -0
  18. package/types/client/src/components/form-builder/Toolbar.d.ts.map +1 -0
  19. package/types/client/src/components/ui/accordion.d.ts +8 -0
  20. package/types/client/src/components/ui/accordion.d.ts.map +1 -0
  21. package/types/client/src/components/ui/alert-dialog.d.ts +21 -0
  22. package/types/client/src/components/ui/alert-dialog.d.ts.map +1 -0
  23. package/types/client/src/components/ui/alert.d.ts +9 -0
  24. package/types/client/src/components/ui/alert.d.ts.map +1 -0
  25. package/types/client/src/components/ui/aspect-ratio.d.ts +4 -0
  26. package/types/client/src/components/ui/aspect-ratio.d.ts.map +1 -0
  27. package/types/client/src/components/ui/avatar.d.ts +7 -0
  28. package/types/client/src/components/ui/avatar.d.ts.map +1 -0
  29. package/types/client/src/components/ui/badge.d.ts +10 -0
  30. package/types/client/src/components/ui/badge.d.ts.map +1 -0
  31. package/types/client/src/components/ui/breadcrumb.d.ts +20 -0
  32. package/types/client/src/components/ui/breadcrumb.d.ts.map +1 -0
  33. package/types/client/src/components/ui/button.d.ts +12 -0
  34. package/types/client/src/components/ui/button.d.ts.map +1 -0
  35. package/types/client/src/components/ui/calendar.d.ts +9 -0
  36. package/types/client/src/components/ui/calendar.d.ts.map +1 -0
  37. package/types/client/src/components/ui/card.d.ts +9 -0
  38. package/types/client/src/components/ui/card.d.ts.map +1 -0
  39. package/types/client/src/components/ui/carousel.d.ts +19 -0
  40. package/types/client/src/components/ui/carousel.d.ts.map +1 -0
  41. package/types/client/src/components/ui/chart.d.ts +63 -0
  42. package/types/client/src/components/ui/chart.d.ts.map +1 -0
  43. package/types/client/src/components/ui/checkbox.d.ts +5 -0
  44. package/types/client/src/components/ui/checkbox.d.ts.map +1 -0
  45. package/types/client/src/components/ui/collapsible.d.ts +6 -0
  46. package/types/client/src/components/ui/collapsible.d.ts.map +1 -0
  47. package/types/client/src/components/ui/command.d.ts +81 -0
  48. package/types/client/src/components/ui/command.d.ts.map +1 -0
  49. package/types/client/src/components/ui/context-menu.d.ts +28 -0
  50. package/types/client/src/components/ui/context-menu.d.ts.map +1 -0
  51. package/types/client/src/components/ui/dialog.d.ts +20 -0
  52. package/types/client/src/components/ui/dialog.d.ts.map +1 -0
  53. package/types/client/src/components/ui/drawer.d.ts +23 -0
  54. package/types/client/src/components/ui/drawer.d.ts.map +1 -0
  55. package/types/client/src/components/ui/dropdown-menu.d.ts +28 -0
  56. package/types/client/src/components/ui/dropdown-menu.d.ts.map +1 -0
  57. package/types/client/src/components/ui/form.d.ts +24 -0
  58. package/types/client/src/components/ui/form.d.ts.map +1 -0
  59. package/types/client/src/components/ui/hover-card.d.ts +7 -0
  60. package/types/client/src/components/ui/hover-card.d.ts.map +1 -0
  61. package/types/client/src/components/ui/input-otp.d.ts +35 -0
  62. package/types/client/src/components/ui/input-otp.d.ts.map +1 -0
  63. package/types/client/src/components/ui/input.d.ts +4 -0
  64. package/types/client/src/components/ui/input.d.ts.map +1 -0
  65. package/types/client/src/components/ui/label.d.ts +6 -0
  66. package/types/client/src/components/ui/label.d.ts.map +1 -0
  67. package/types/client/src/components/ui/menubar.d.ts +29 -0
  68. package/types/client/src/components/ui/menubar.d.ts.map +1 -0
  69. package/types/client/src/components/ui/navigation-menu.d.ts +13 -0
  70. package/types/client/src/components/ui/navigation-menu.d.ts.map +1 -0
  71. package/types/client/src/components/ui/pagination.d.ts +29 -0
  72. package/types/client/src/components/ui/pagination.d.ts.map +1 -0
  73. package/types/client/src/components/ui/popover.d.ts +7 -0
  74. package/types/client/src/components/ui/popover.d.ts.map +1 -0
  75. package/types/client/src/components/ui/progress.d.ts +5 -0
  76. package/types/client/src/components/ui/progress.d.ts.map +1 -0
  77. package/types/client/src/components/ui/radio-group.d.ts +6 -0
  78. package/types/client/src/components/ui/radio-group.d.ts.map +1 -0
  79. package/types/client/src/components/ui/resizable.d.ts +24 -0
  80. package/types/client/src/components/ui/resizable.d.ts.map +1 -0
  81. package/types/client/src/components/ui/scroll-area.d.ts +6 -0
  82. package/types/client/src/components/ui/scroll-area.d.ts.map +1 -0
  83. package/types/client/src/components/ui/select.d.ts +14 -0
  84. package/types/client/src/components/ui/select.d.ts.map +1 -0
  85. package/types/client/src/components/ui/separator.d.ts +5 -0
  86. package/types/client/src/components/ui/separator.d.ts.map +1 -0
  87. package/types/client/src/components/ui/sheet.d.ts +26 -0
  88. package/types/client/src/components/ui/sheet.d.ts.map +1 -0
  89. package/types/client/src/components/ui/sidebar.d.ts +70 -0
  90. package/types/client/src/components/ui/sidebar.d.ts.map +1 -0
  91. package/types/client/src/components/ui/skeleton.d.ts +3 -0
  92. package/types/client/src/components/ui/skeleton.d.ts.map +1 -0
  93. package/types/client/src/components/ui/slider.d.ts +5 -0
  94. package/types/client/src/components/ui/slider.d.ts.map +1 -0
  95. package/types/client/src/components/ui/switch.d.ts +5 -0
  96. package/types/client/src/components/ui/switch.d.ts.map +1 -0
  97. package/types/client/src/components/ui/table.d.ts +11 -0
  98. package/types/client/src/components/ui/table.d.ts.map +1 -0
  99. package/types/client/src/components/ui/tabs.d.ts +8 -0
  100. package/types/client/src/components/ui/tabs.d.ts.map +1 -0
  101. package/types/client/src/components/ui/textarea.d.ts +4 -0
  102. package/types/client/src/components/ui/textarea.d.ts.map +1 -0
  103. package/types/client/src/components/ui/toast.d.ts +16 -0
  104. package/types/client/src/components/ui/toast.d.ts.map +1 -0
  105. package/types/client/src/components/ui/toaster.d.ts +2 -0
  106. package/types/client/src/components/ui/toaster.d.ts.map +1 -0
  107. package/types/client/src/components/ui/toggle-group.d.ts +13 -0
  108. package/types/client/src/components/ui/toggle-group.d.ts.map +1 -0
  109. package/types/client/src/components/ui/toggle.d.ts +13 -0
  110. package/types/client/src/components/ui/toggle.d.ts.map +1 -0
  111. package/types/client/src/components/ui/tooltip.d.ts +8 -0
  112. package/types/client/src/components/ui/tooltip.d.ts.map +1 -0
  113. package/types/client/src/hooks/use-mobile.d.ts +2 -0
  114. package/types/client/src/hooks/use-mobile.d.ts.map +1 -0
  115. package/types/client/src/hooks/use-toast.d.ts +45 -0
  116. package/types/client/src/hooks/use-toast.d.ts.map +1 -0
  117. package/types/client/src/lib/formbuilder/index.d.ts +10 -0
  118. package/types/client/src/lib/formbuilder/index.d.ts.map +1 -0
  119. package/types/client/src/lib/queryClient.d.ts +9 -0
  120. package/types/client/src/lib/queryClient.d.ts.map +1 -0
  121. package/types/client/src/lib/utils.d.ts +3 -0
  122. package/types/client/src/lib/utils.d.ts.map +1 -0
  123. package/types/client/src/store/formStore.d.ts +75 -0
  124. package/types/client/src/store/formStore.d.ts.map +1 -0
  125. package/types/lib/index.d.ts +10 -0
  126. package/types/lib/index.d.ts.map +1 -0
  127. package/types/shared/schema.d.ts +17303 -0
  128. package/types/shared/schema.d.ts.map +1 -0
package/README.md ADDED
@@ -0,0 +1,83 @@
1
+ # @enerjisaformlibrary/formbuilder-react
2
+
3
+ Dynamic drag-and-drop form builder React components with 20+ field types, conditional logic, multi-step forms, and custom styling.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @enerjisaformlibrary/formbuilder-react
9
+ ```
10
+
11
+ ## Peer Dependencies
12
+
13
+ This package requires the following peer dependencies:
14
+
15
+ ```bash
16
+ npm install react react-dom @dnd-kit/core @dnd-kit/sortable @dnd-kit/utilities zustand zod lucide-react nanoid framer-motion class-variance-authority clsx tailwind-merge date-fns qrcode.react
17
+ ```
18
+
19
+ ## Usage
20
+
21
+ ```tsx
22
+ import {
23
+ FormCanvas,
24
+ PropertiesPanel,
25
+ ComponentLibrary,
26
+ Toolbar,
27
+ useFormStore,
28
+ FormSchema
29
+ } from '@enerjisaformlibrary/formbuilder-react';
30
+
31
+ function FormBuilder() {
32
+ const { form, setForm } = useFormStore();
33
+
34
+ const handleSave = () => {
35
+ const formJson = JSON.stringify(form);
36
+ // Save to your database
37
+ };
38
+
39
+ return (
40
+ <div className="flex h-screen">
41
+ <ComponentLibrary />
42
+ <FormCanvas />
43
+ <PropertiesPanel />
44
+ </div>
45
+ );
46
+ }
47
+ ```
48
+
49
+ ## Features
50
+
51
+ - 20+ field types (input, textarea, dropdown, checkbox, radio, date, file, signature, rating, etc.)
52
+ - Drag-and-drop interface with dnd-kit
53
+ - Multi-step wizard forms
54
+ - Conditional logic (show/hide/enable/disable fields)
55
+ - Custom styling per field
56
+ - Form versioning
57
+ - JSON export/import
58
+ - Responsive grid system (12-column)
59
+ - Unified sizing system (compact, normal, comfortable)
60
+
61
+ ## Exports
62
+
63
+ ### Components
64
+ - `FormCanvas` - Main canvas for form editing
65
+ - `CanvasField` - Individual field renderer
66
+ - `PropertiesPanel` - Field properties editor
67
+ - `ComponentLibrary` - Draggable component palette
68
+ - `Toolbar` - Save, preview, settings toolbar
69
+ - `JsonViewerModal` - JSON export viewer
70
+
71
+ ### Store
72
+ - `useFormStore` - Zustand store for form state
73
+
74
+ ### Types
75
+ - `FormSchema` - Form schema type
76
+ - `FormField` - Field type
77
+ - `FormRow` - Row type
78
+ - `FormColumn` - Column type
79
+ - All validation and conditional logic types
80
+
81
+ ## License
82
+
83
+ MIT