@uipath/apollo-wind 0.7.2-pr188.4865fad

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 (254) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +188 -0
  3. package/dist/components/forms/data-fetcher.cjs +250 -0
  4. package/dist/components/forms/data-fetcher.d.ts +173 -0
  5. package/dist/components/forms/data-fetcher.js +207 -0
  6. package/dist/components/forms/demo-mocks.cjs +1031 -0
  7. package/dist/components/forms/demo-mocks.d.ts +10 -0
  8. package/dist/components/forms/demo-mocks.js +997 -0
  9. package/dist/components/forms/field-renderer.cjs +595 -0
  10. package/dist/components/forms/field-renderer.d.ts +14 -0
  11. package/dist/components/forms/field-renderer.js +561 -0
  12. package/dist/components/forms/form-designer.cjs +2314 -0
  13. package/dist/components/forms/form-designer.d.ts +1 -0
  14. package/dist/components/forms/form-designer.js +2280 -0
  15. package/dist/components/forms/form-examples.cjs +962 -0
  16. package/dist/components/forms/form-examples.d.ts +46 -0
  17. package/dist/components/forms/form-examples.js +907 -0
  18. package/dist/components/forms/form-plugins.cjs +225 -0
  19. package/dist/components/forms/form-plugins.d.ts +11 -0
  20. package/dist/components/forms/form-plugins.js +176 -0
  21. package/dist/components/forms/form-schema.cjs +56 -0
  22. package/dist/components/forms/form-schema.d.ts +324 -0
  23. package/dist/components/forms/form-schema.js +13 -0
  24. package/dist/components/forms/form-state-viewer.cjs +498 -0
  25. package/dist/components/forms/form-state-viewer.d.ts +15 -0
  26. package/dist/components/forms/form-state-viewer.js +464 -0
  27. package/dist/components/forms/index.cjs +103 -0
  28. package/dist/components/forms/index.d.ts +13 -0
  29. package/dist/components/forms/index.js +9 -0
  30. package/dist/components/forms/metadata-form.cjs +400 -0
  31. package/dist/components/forms/metadata-form.d.ts +16 -0
  32. package/dist/components/forms/metadata-form.js +366 -0
  33. package/dist/components/forms/rules-engine.cjs +343 -0
  34. package/dist/components/forms/rules-engine.d.ts +99 -0
  35. package/dist/components/forms/rules-engine.js +293 -0
  36. package/dist/components/forms/schema-serializer.cjs +250 -0
  37. package/dist/components/forms/schema-serializer.d.ts +27 -0
  38. package/dist/components/forms/schema-serializer.js +213 -0
  39. package/dist/components/forms/schema-viewer.cjs +157 -0
  40. package/dist/components/forms/schema-viewer.d.ts +29 -0
  41. package/dist/components/forms/schema-viewer.js +117 -0
  42. package/dist/components/forms/validation-converter.cjs +154 -0
  43. package/dist/components/forms/validation-converter.d.ts +42 -0
  44. package/dist/components/forms/validation-converter.js +114 -0
  45. package/dist/components/ui/accordion.cjs +82 -0
  46. package/dist/components/ui/accordion.d.ts +7 -0
  47. package/dist/components/ui/accordion.js +39 -0
  48. package/dist/components/ui/alert-dialog.cjs +126 -0
  49. package/dist/components/ui/alert-dialog.d.ts +20 -0
  50. package/dist/components/ui/alert-dialog.js +62 -0
  51. package/dist/components/ui/alert.cjs +77 -0
  52. package/dist/components/ui/alert.d.ts +8 -0
  53. package/dist/components/ui/alert.js +37 -0
  54. package/dist/components/ui/aspect-ratio.cjs +38 -0
  55. package/dist/components/ui/aspect-ratio.d.ts +3 -0
  56. package/dist/components/ui/aspect-ratio.js +4 -0
  57. package/dist/components/ui/avatar.cjs +63 -0
  58. package/dist/components/ui/avatar.d.ts +6 -0
  59. package/dist/components/ui/avatar.js +23 -0
  60. package/dist/components/ui/badge.cjs +63 -0
  61. package/dist/components/ui/badge.d.ts +9 -0
  62. package/dist/components/ui/badge.js +26 -0
  63. package/dist/components/ui/breadcrumb.cjs +118 -0
  64. package/dist/components/ui/breadcrumb.d.ts +19 -0
  65. package/dist/components/ui/breadcrumb.js +66 -0
  66. package/dist/components/ui/button-group.cjs +68 -0
  67. package/dist/components/ui/button-group.d.ts +14 -0
  68. package/dist/components/ui/button-group.js +28 -0
  69. package/dist/components/ui/button.cjs +78 -0
  70. package/dist/components/ui/button.d.ts +11 -0
  71. package/dist/components/ui/button.js +41 -0
  72. package/dist/components/ui/calendar.cjs +144 -0
  73. package/dist/components/ui/calendar.d.ts +8 -0
  74. package/dist/components/ui/calendar.js +107 -0
  75. package/dist/components/ui/card.cjs +89 -0
  76. package/dist/components/ui/card.d.ts +8 -0
  77. package/dist/components/ui/card.js +40 -0
  78. package/dist/components/ui/checkbox.cjs +52 -0
  79. package/dist/components/ui/checkbox.d.ts +6 -0
  80. package/dist/components/ui/checkbox.js +18 -0
  81. package/dist/components/ui/collapsible.cjs +45 -0
  82. package/dist/components/ui/collapsible.d.ts +5 -0
  83. package/dist/components/ui/collapsible.js +5 -0
  84. package/dist/components/ui/combobox.cjs +102 -0
  85. package/dist/components/ui/combobox.d.ts +15 -0
  86. package/dist/components/ui/combobox.js +68 -0
  87. package/dist/components/ui/command.cjs +131 -0
  88. package/dist/components/ui/command.d.ts +80 -0
  89. package/dist/components/ui/command.js +73 -0
  90. package/dist/components/ui/context-menu.cjs +173 -0
  91. package/dist/components/ui/context-menu.d.ts +27 -0
  92. package/dist/components/ui/context-menu.js +97 -0
  93. package/dist/components/ui/data-table.cjs +292 -0
  94. package/dist/components/ui/data-table.d.ts +23 -0
  95. package/dist/components/ui/data-table.js +252 -0
  96. package/dist/components/ui/date-picker.cjs +118 -0
  97. package/dist/components/ui/date-picker.d.ts +21 -0
  98. package/dist/components/ui/date-picker.js +81 -0
  99. package/dist/components/ui/datetime-picker.cjs +154 -0
  100. package/dist/components/ui/datetime-picker.d.ts +9 -0
  101. package/dist/components/ui/datetime-picker.js +120 -0
  102. package/dist/components/ui/dialog.cjs +159 -0
  103. package/dist/components/ui/dialog.d.ts +15 -0
  104. package/dist/components/ui/dialog.js +98 -0
  105. package/dist/components/ui/drawer.cjs +116 -0
  106. package/dist/components/ui/drawer.d.ts +18 -0
  107. package/dist/components/ui/drawer.js +55 -0
  108. package/dist/components/ui/dropdown-menu.cjs +174 -0
  109. package/dist/components/ui/dropdown-menu.d.ts +27 -0
  110. package/dist/components/ui/dropdown-menu.js +98 -0
  111. package/dist/components/ui/editable-cell.cjs +256 -0
  112. package/dist/components/ui/editable-cell.d.ts +24 -0
  113. package/dist/components/ui/editable-cell.js +219 -0
  114. package/dist/components/ui/empty-state.cjs +73 -0
  115. package/dist/components/ui/empty-state.d.ts +16 -0
  116. package/dist/components/ui/empty-state.js +39 -0
  117. package/dist/components/ui/file-upload.cjs +236 -0
  118. package/dist/components/ui/file-upload.d.ts +10 -0
  119. package/dist/components/ui/file-upload.js +202 -0
  120. package/dist/components/ui/hover-card.cjs +55 -0
  121. package/dist/components/ui/hover-card.d.ts +6 -0
  122. package/dist/components/ui/hover-card.js +15 -0
  123. package/dist/components/ui/index.cjs +546 -0
  124. package/dist/components/ui/index.d.ts +55 -0
  125. package/dist/components/ui/index.js +55 -0
  126. package/dist/components/ui/input.cjs +45 -0
  127. package/dist/components/ui/input.d.ts +5 -0
  128. package/dist/components/ui/input.js +11 -0
  129. package/dist/components/ui/label.cjs +47 -0
  130. package/dist/components/ui/label.d.ts +7 -0
  131. package/dist/components/ui/label.js +13 -0
  132. package/dist/components/ui/layout/column.cjs +84 -0
  133. package/dist/components/ui/layout/column.d.ts +21 -0
  134. package/dist/components/ui/layout/column.js +50 -0
  135. package/dist/components/ui/layout/grid.cjs +101 -0
  136. package/dist/components/ui/layout/grid.d.ts +22 -0
  137. package/dist/components/ui/layout/grid.js +67 -0
  138. package/dist/components/ui/layout/index.cjs +44 -0
  139. package/dist/components/ui/layout/index.d.ts +7 -0
  140. package/dist/components/ui/layout/index.js +4 -0
  141. package/dist/components/ui/layout/row.cjs +84 -0
  142. package/dist/components/ui/layout/row.d.ts +21 -0
  143. package/dist/components/ui/layout/row.js +50 -0
  144. package/dist/components/ui/layout/types.cjs +18 -0
  145. package/dist/components/ui/layout/types.d.ts +149 -0
  146. package/dist/components/ui/layout/types.js +0 -0
  147. package/dist/components/ui/layout/utils.cjs +324 -0
  148. package/dist/components/ui/layout/utils.d.ts +76 -0
  149. package/dist/components/ui/layout/utils.js +239 -0
  150. package/dist/components/ui/menubar.cjs +210 -0
  151. package/dist/components/ui/menubar.d.ts +28 -0
  152. package/dist/components/ui/menubar.js +131 -0
  153. package/dist/components/ui/multi-select.cjs +187 -0
  154. package/dist/components/ui/multi-select.d.ts +18 -0
  155. package/dist/components/ui/multi-select.js +153 -0
  156. package/dist/components/ui/navigation-menu.cjs +122 -0
  157. package/dist/components/ui/navigation-menu.d.ts +12 -0
  158. package/dist/components/ui/navigation-menu.js +64 -0
  159. package/dist/components/ui/pagination.cjs +131 -0
  160. package/dist/components/ui/pagination.d.ts +28 -0
  161. package/dist/components/ui/pagination.js +79 -0
  162. package/dist/components/ui/popover.cjs +61 -0
  163. package/dist/components/ui/popover.d.ts +7 -0
  164. package/dist/components/ui/popover.js +18 -0
  165. package/dist/components/ui/progress.cjs +51 -0
  166. package/dist/components/ui/progress.d.ts +4 -0
  167. package/dist/components/ui/progress.js +17 -0
  168. package/dist/components/ui/radio-group.cjs +61 -0
  169. package/dist/components/ui/radio-group.d.ts +5 -0
  170. package/dist/components/ui/radio-group.js +24 -0
  171. package/dist/components/ui/resizable.cjs +60 -0
  172. package/dist/components/ui/resizable.d.ts +23 -0
  173. package/dist/components/ui/resizable.js +20 -0
  174. package/dist/components/ui/scroll-area.cjs +67 -0
  175. package/dist/components/ui/scroll-area.d.ts +5 -0
  176. package/dist/components/ui/scroll-area.js +30 -0
  177. package/dist/components/ui/search.cjs +153 -0
  178. package/dist/components/ui/search.d.ts +19 -0
  179. package/dist/components/ui/search.js +116 -0
  180. package/dist/components/ui/select.cjs +151 -0
  181. package/dist/components/ui/select.d.ts +13 -0
  182. package/dist/components/ui/select.js +90 -0
  183. package/dist/components/ui/separator.cjs +47 -0
  184. package/dist/components/ui/separator.d.ts +4 -0
  185. package/dist/components/ui/separator.js +13 -0
  186. package/dist/components/ui/sheet.cjs +142 -0
  187. package/dist/components/ui/sheet.d.ts +25 -0
  188. package/dist/components/ui/sheet.js +81 -0
  189. package/dist/components/ui/skeleton.cjs +43 -0
  190. package/dist/components/ui/skeleton.d.ts +2 -0
  191. package/dist/components/ui/skeleton.js +9 -0
  192. package/dist/components/ui/slider.cjs +63 -0
  193. package/dist/components/ui/slider.d.ts +4 -0
  194. package/dist/components/ui/slider.js +29 -0
  195. package/dist/components/ui/sonner.cjs +76 -0
  196. package/dist/components/ui/sonner.d.ts +4 -0
  197. package/dist/components/ui/sonner.js +39 -0
  198. package/dist/components/ui/spinner.cjs +78 -0
  199. package/dist/components/ui/spinner.d.ts +11 -0
  200. package/dist/components/ui/spinner.js +41 -0
  201. package/dist/components/ui/stats-card.cjs +102 -0
  202. package/dist/components/ui/stats-card.d.ts +15 -0
  203. package/dist/components/ui/stats-card.js +68 -0
  204. package/dist/components/ui/stepper.cjs +99 -0
  205. package/dist/components/ui/stepper.d.ts +14 -0
  206. package/dist/components/ui/stepper.js +65 -0
  207. package/dist/components/ui/switch.cjs +48 -0
  208. package/dist/components/ui/switch.d.ts +4 -0
  209. package/dist/components/ui/switch.js +14 -0
  210. package/dist/components/ui/table.cjs +110 -0
  211. package/dist/components/ui/table.d.ts +10 -0
  212. package/dist/components/ui/table.js +55 -0
  213. package/dist/components/ui/tabs.cjs +67 -0
  214. package/dist/components/ui/tabs.d.ts +7 -0
  215. package/dist/components/ui/tabs.js +24 -0
  216. package/dist/components/ui/textarea.cjs +44 -0
  217. package/dist/components/ui/textarea.d.ts +4 -0
  218. package/dist/components/ui/textarea.js +10 -0
  219. package/dist/components/ui/toggle-group.cjs +73 -0
  220. package/dist/components/ui/toggle-group.d.ts +12 -0
  221. package/dist/components/ui/toggle-group.js +36 -0
  222. package/dist/components/ui/toggle.cjs +71 -0
  223. package/dist/components/ui/toggle.d.ts +12 -0
  224. package/dist/components/ui/toggle.js +34 -0
  225. package/dist/components/ui/tooltip.cjs +58 -0
  226. package/dist/components/ui/tooltip.d.ts +7 -0
  227. package/dist/components/ui/tooltip.js +15 -0
  228. package/dist/examples/admin-layout-example.d.ts +92 -0
  229. package/dist/examples/app-shell-example.d.ts +52 -0
  230. package/dist/examples/dashboard-example.d.ts +11 -0
  231. package/dist/examples/data-management-example.d.ts +1 -0
  232. package/dist/examples/flow-editor-layout-example.d.ts +22 -0
  233. package/dist/examples/flow-start-example.d.ts +30 -0
  234. package/dist/examples/form-builder-example.d.ts +1 -0
  235. package/dist/examples/new-project-example.d.ts +30 -0
  236. package/dist/examples/settings-example.d.ts +1 -0
  237. package/dist/examples/vscode-example.d.ts +80 -0
  238. package/dist/index.cjs +830 -0
  239. package/dist/index.d.ts +86 -0
  240. package/dist/index.js +67 -0
  241. package/dist/lib/index.cjs +42 -0
  242. package/dist/lib/index.d.ts +1 -0
  243. package/dist/lib/index.js +2 -0
  244. package/dist/lib/utils.cjs +70 -0
  245. package/dist/lib/utils.d.ts +14 -0
  246. package/dist/lib/utils.js +30 -0
  247. package/dist/postcss.config.export.cjs +43 -0
  248. package/dist/postcss.config.export.js +9 -0
  249. package/dist/styles.css +6868 -0
  250. package/dist/tailwind.css +239 -0
  251. package/dist/tailwind.preset.cjs +77 -0
  252. package/dist/tailwind.preset.js +43 -0
  253. package/package.json +157 -0
  254. package/postcss.config.export.js +9 -0
@@ -0,0 +1,595 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ FormFieldRenderer: ()=>FormFieldRenderer
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const external_react_namespaceObject = require("react");
31
+ const external_react_hook_form_namespaceObject = require("react-hook-form");
32
+ const external_form_schema_cjs_namespaceObject = require("./form-schema.cjs");
33
+ const external_rules_engine_cjs_namespaceObject = require("./rules-engine.cjs");
34
+ const external_data_fetcher_cjs_namespaceObject = require("./data-fetcher.cjs");
35
+ const input_cjs_namespaceObject = require("../ui/input.cjs");
36
+ const textarea_cjs_namespaceObject = require("../ui/textarea.cjs");
37
+ const select_cjs_namespaceObject = require("../ui/select.cjs");
38
+ const multi_select_cjs_namespaceObject = require("../ui/multi-select.cjs");
39
+ const checkbox_cjs_namespaceObject = require("../ui/checkbox.cjs");
40
+ const switch_cjs_namespaceObject = require("../ui/switch.cjs");
41
+ const radio_group_cjs_namespaceObject = require("../ui/radio-group.cjs");
42
+ const slider_cjs_namespaceObject = require("../ui/slider.cjs");
43
+ const label_cjs_namespaceObject = require("../ui/label.cjs");
44
+ const date_picker_cjs_namespaceObject = require("../ui/date-picker.cjs");
45
+ const datetime_picker_cjs_namespaceObject = require("../ui/datetime-picker.cjs");
46
+ const file_upload_cjs_namespaceObject = require("../ui/file-upload.cjs");
47
+ const index_cjs_namespaceObject = require("../../lib/index.cjs");
48
+ function FormFieldRenderer({ field, context, customComponents, disabled: formDisabled = false }) {
49
+ const { control, watch, getValues } = (0, external_react_hook_form_namespaceObject.useFormContext)();
50
+ const contextRef = (0, external_react_namespaceObject.useRef)(context);
51
+ contextRef.current = context;
52
+ const getInitialVisibility = ()=>{
53
+ if (!field.rules || 0 === field.rules.length) return true;
54
+ const hasShowRule = field.rules.some((rule)=>rule.effects?.visible === true);
55
+ const hasHideRule = field.rules.some((rule)=>rule.effects?.visible === false);
56
+ if (!hasShowRule && !hasHideRule) return true;
57
+ const allValues = getValues();
58
+ const ruleResult = external_rules_engine_cjs_namespaceObject.RulesEngine.applyRules(field.rules, allValues, context);
59
+ if (void 0 !== ruleResult.visible) return ruleResult.visible;
60
+ return !hasShowRule;
61
+ };
62
+ const getInitialRequired = ()=>{
63
+ const staticRequired = field.validation?.required ?? false;
64
+ if (!field.rules || 0 === field.rules.length) return staticRequired;
65
+ const allValues = getValues();
66
+ const ruleResult = external_rules_engine_cjs_namespaceObject.RulesEngine.applyRules(field.rules, allValues, context);
67
+ return ruleResult.required ?? staticRequired;
68
+ };
69
+ const [fieldState, setFieldState] = (0, external_react_namespaceObject.useState)({
70
+ visible: getInitialVisibility(),
71
+ disabled: false,
72
+ required: getInitialRequired(),
73
+ options: (0, external_form_schema_cjs_namespaceObject.hasOptions)(field) ? field.options || [] : []
74
+ });
75
+ const dependentFields = (0, external_react_namespaceObject.useMemo)(()=>{
76
+ if (!field.rules || 0 === field.rules.length) return [];
77
+ const fields = new Set();
78
+ field.rules.forEach((rule)=>{
79
+ rule.conditions?.forEach((condition)=>{
80
+ if ('when' in condition && condition.when) fields.add(condition.when);
81
+ });
82
+ });
83
+ return Array.from(fields);
84
+ }, [
85
+ field.rules
86
+ ]);
87
+ const dataSourceDependentFields = (0, external_react_namespaceObject.useMemo)(()=>{
88
+ if (!field.dataSource) return [];
89
+ const fields = new Set();
90
+ if ('params' in field.dataSource && field.dataSource.params) Object.values(field.dataSource.params).forEach((value)=>{
91
+ if ('string' == typeof value && value.startsWith('$')) fields.add(value.slice(1));
92
+ });
93
+ if ('computed' === field.dataSource.type && 'dependency' in field.dataSource) field.dataSource.dependency.forEach((dep)=>fields.add(dep));
94
+ return Array.from(fields);
95
+ }, [
96
+ field.dataSource
97
+ ]);
98
+ const watchedDataSourceValues = watch(dataSourceDependentFields);
99
+ const watchedRuleDependentValues = watch(dependentFields);
100
+ (0, external_react_namespaceObject.useEffect)(()=>{
101
+ if (!field.rules || 0 === field.rules.length) return;
102
+ const allValues = getValues();
103
+ const ruleResult = external_rules_engine_cjs_namespaceObject.RulesEngine.applyRules(field.rules, allValues, contextRef.current);
104
+ const hasShowRule = field.rules.some((rule)=>rule.effects?.visible === true);
105
+ const hasHideRule = field.rules.some((rule)=>rule.effects?.visible === false);
106
+ const hasRequiredRule = field.rules.some((rule)=>rule.effects?.required !== void 0);
107
+ const hasDisabledRule = field.rules.some((rule)=>rule.effects?.disabled !== void 0);
108
+ const newState = {};
109
+ if (void 0 !== ruleResult.visible) newState.visible = ruleResult.visible;
110
+ else if (hasShowRule || hasHideRule) newState.visible = !hasShowRule;
111
+ if (void 0 !== ruleResult.required) newState.required = ruleResult.required;
112
+ else if (hasRequiredRule) {
113
+ const hasUnconditionalRequired = field.rules.some((rule)=>rule.effects?.required === true && 0 === rule.conditions.length);
114
+ newState.required = hasUnconditionalRequired || (field.validation?.required ?? false);
115
+ }
116
+ if (void 0 !== ruleResult.disabled) newState.disabled = ruleResult.disabled;
117
+ else if (hasDisabledRule) newState.disabled = false;
118
+ setFieldState((prev)=>{
119
+ const nextState = {
120
+ ...prev,
121
+ ...newState
122
+ };
123
+ if ((0, index_cjs_namespaceObject.deepEqual)(prev, nextState)) return prev;
124
+ return nextState;
125
+ });
126
+ }, [
127
+ field.rules,
128
+ field.validation?.required,
129
+ getValues,
130
+ watchedRuleDependentValues
131
+ ]);
132
+ (0, external_react_namespaceObject.useEffect)(()=>{
133
+ if (field.dataSource) return;
134
+ if (!(0, external_form_schema_cjs_namespaceObject.hasOptions)(field)) return;
135
+ const inlineOptions = field.options || [];
136
+ setFieldState((prev)=>{
137
+ if ((0, index_cjs_namespaceObject.deepEqual)(prev.options, inlineOptions)) return prev;
138
+ return {
139
+ ...prev,
140
+ options: inlineOptions
141
+ };
142
+ });
143
+ }, [
144
+ field
145
+ ]);
146
+ (0, external_react_namespaceObject.useEffect)(()=>{
147
+ if (!field.dataSource) return;
148
+ const fetchOptions = async ()=>{
149
+ try {
150
+ const allValues = getValues();
151
+ const data = await external_data_fetcher_cjs_namespaceObject.DataFetcher.fetch(field.dataSource, allValues);
152
+ setFieldState((prev)=>{
153
+ if ((0, index_cjs_namespaceObject.deepEqual)(prev.options, data)) return prev;
154
+ return {
155
+ ...prev,
156
+ options: data
157
+ };
158
+ });
159
+ } catch (error) {
160
+ console.error(`Failed to fetch options for ${field.name}:`, error);
161
+ }
162
+ };
163
+ fetchOptions();
164
+ }, [
165
+ field.dataSource,
166
+ field.name,
167
+ getValues,
168
+ watchedDataSourceValues
169
+ ]);
170
+ if (!fieldState.visible) return null;
171
+ const gridSpan = field.grid?.span || 1;
172
+ const gridStyle = {
173
+ gridColumn: `span ${gridSpan}`
174
+ };
175
+ if ((0, external_form_schema_cjs_namespaceObject.isCustomField)(field) && customComponents[field.component]) {
176
+ const CustomComponent = customComponents[field.component];
177
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
178
+ style: gridStyle,
179
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_hook_form_namespaceObject.Controller, {
180
+ name: field.name,
181
+ control: control,
182
+ defaultValue: field.defaultValue,
183
+ render: ({ field: formField, fieldState: { error } })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(CustomComponent, {
184
+ ...formField,
185
+ ...field.componentProps,
186
+ field: field,
187
+ disabled: formDisabled || fieldState.disabled,
188
+ required: fieldState.required,
189
+ error: error?.message
190
+ })
191
+ })
192
+ });
193
+ }
194
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
195
+ style: gridStyle,
196
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_react_hook_form_namespaceObject.Controller, {
197
+ name: field.name,
198
+ control: control,
199
+ defaultValue: field.defaultValue,
200
+ render: ({ field: formField, fieldState: { error } })=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FieldByType, {
201
+ field: field,
202
+ formField: formField,
203
+ error: error?.message,
204
+ disabled: formDisabled || fieldState.disabled,
205
+ required: fieldState.required,
206
+ options: fieldState.options
207
+ })
208
+ })
209
+ });
210
+ }
211
+ function FieldByType({ field, formField, error, disabled, required, options }) {
212
+ switch(field.type){
213
+ case 'text':
214
+ case 'email':
215
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
216
+ children: [
217
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
218
+ required: required,
219
+ children: field.label
220
+ }),
221
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(input_cjs_namespaceObject.Input, {
222
+ value: formField.value,
223
+ onChange: (e)=>formField.onChange(e.target.value),
224
+ onBlur: formField.onBlur,
225
+ name: formField.name,
226
+ ref: formField.ref,
227
+ type: field.type,
228
+ placeholder: field.placeholder,
229
+ disabled: disabled,
230
+ "aria-label": field.ariaLabel
231
+ }),
232
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
233
+ children: field.description
234
+ }),
235
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
236
+ children: error
237
+ })
238
+ ]
239
+ });
240
+ case 'number':
241
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
242
+ children: [
243
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
244
+ required: required,
245
+ children: field.label
246
+ }),
247
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(input_cjs_namespaceObject.Input, {
248
+ value: formField.value,
249
+ onBlur: formField.onBlur,
250
+ name: formField.name,
251
+ ref: formField.ref,
252
+ type: "number",
253
+ min: field.min,
254
+ max: field.max,
255
+ step: field.step,
256
+ placeholder: field.placeholder,
257
+ disabled: disabled,
258
+ onChange: (e)=>formField.onChange(parseFloat(e.target.value))
259
+ }),
260
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
261
+ children: field.description
262
+ }),
263
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
264
+ children: error
265
+ })
266
+ ]
267
+ });
268
+ case 'textarea':
269
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
270
+ children: [
271
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
272
+ required: required,
273
+ children: field.label
274
+ }),
275
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(textarea_cjs_namespaceObject.Textarea, {
276
+ value: formField.value,
277
+ onChange: (e)=>formField.onChange(e.target.value),
278
+ onBlur: formField.onBlur,
279
+ name: formField.name,
280
+ ref: formField.ref,
281
+ placeholder: field.placeholder,
282
+ disabled: disabled,
283
+ rows: field.rows || 4
284
+ }),
285
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
286
+ children: field.description
287
+ }),
288
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
289
+ children: error
290
+ })
291
+ ]
292
+ });
293
+ case 'select':
294
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
295
+ children: [
296
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
297
+ required: required,
298
+ children: field.label
299
+ }),
300
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(select_cjs_namespaceObject.Select, {
301
+ value: formField.value,
302
+ onValueChange: formField.onChange,
303
+ disabled: disabled,
304
+ children: [
305
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(select_cjs_namespaceObject.SelectTrigger, {
306
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(select_cjs_namespaceObject.SelectValue, {
307
+ placeholder: field.placeholder || 'Select...'
308
+ })
309
+ }),
310
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(select_cjs_namespaceObject.SelectContent, {
311
+ children: options.map((option)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(select_cjs_namespaceObject.SelectItem, {
312
+ value: String(option.value),
313
+ disabled: 'disabled' in option ? Boolean(option.disabled) : false,
314
+ children: option.label
315
+ }, String(option.value)))
316
+ })
317
+ ]
318
+ }),
319
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
320
+ children: field.description
321
+ }),
322
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
323
+ children: error
324
+ })
325
+ ]
326
+ });
327
+ case 'multiselect':
328
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
329
+ children: [
330
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
331
+ required: required,
332
+ children: field.label
333
+ }),
334
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(multi_select_cjs_namespaceObject.MultiSelect, {
335
+ selected: formField.value || [],
336
+ onChange: formField.onChange,
337
+ options: options.map((opt)=>({
338
+ label: opt.label,
339
+ value: String(opt.value)
340
+ })),
341
+ disabled: disabled,
342
+ placeholder: field.placeholder || 'Select items...',
343
+ emptyMessage: "No items found.",
344
+ searchPlaceholder: "Search...",
345
+ maxSelected: field.maxSelected
346
+ }),
347
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
348
+ children: field.description
349
+ }),
350
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
351
+ children: error
352
+ })
353
+ ]
354
+ });
355
+ case 'checkbox':
356
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
357
+ children: [
358
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
359
+ className: "flex items-start space-x-2",
360
+ children: [
361
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(checkbox_cjs_namespaceObject.Checkbox, {
362
+ checked: true === formField.value,
363
+ onCheckedChange: (checked)=>formField.onChange(true === checked),
364
+ disabled: disabled,
365
+ id: field.name
366
+ }),
367
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
368
+ className: "space-y-1 leading-none",
369
+ children: [
370
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
371
+ htmlFor: field.name,
372
+ className: "font-normal",
373
+ children: field.label
374
+ }),
375
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
376
+ children: field.description
377
+ })
378
+ ]
379
+ })
380
+ ]
381
+ }),
382
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
383
+ children: error
384
+ })
385
+ ]
386
+ });
387
+ case 'switch':
388
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
389
+ children: [
390
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
391
+ className: "flex items-center justify-between",
392
+ children: [
393
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
394
+ className: "space-y-0.5",
395
+ children: [
396
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
397
+ children: field.label
398
+ }),
399
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
400
+ children: field.description
401
+ })
402
+ ]
403
+ }),
404
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(switch_cjs_namespaceObject.Switch, {
405
+ checked: true === formField.value,
406
+ onCheckedChange: (checked)=>formField.onChange(true === checked),
407
+ disabled: disabled
408
+ })
409
+ ]
410
+ }),
411
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
412
+ children: error
413
+ })
414
+ ]
415
+ });
416
+ case 'radio':
417
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
418
+ children: [
419
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
420
+ required: required,
421
+ children: field.label
422
+ }),
423
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(radio_group_cjs_namespaceObject.RadioGroup, {
424
+ value: formField.value,
425
+ onValueChange: formField.onChange,
426
+ disabled: disabled,
427
+ children: options.map((option)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
428
+ className: "flex items-center space-x-2",
429
+ children: [
430
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(radio_group_cjs_namespaceObject.RadioGroupItem, {
431
+ value: String(option.value),
432
+ id: `${field.name}-${option.value}`,
433
+ disabled: 'disabled' in option ? Boolean(option.disabled) : false
434
+ }),
435
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(label_cjs_namespaceObject.Label, {
436
+ htmlFor: `${field.name}-${option.value}`,
437
+ children: option.label
438
+ })
439
+ ]
440
+ }, String(option.value)))
441
+ }),
442
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
443
+ children: field.description
444
+ }),
445
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
446
+ children: error
447
+ })
448
+ ]
449
+ });
450
+ case 'slider':
451
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
452
+ children: [
453
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
454
+ className: "flex justify-between",
455
+ children: [
456
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
457
+ required: required,
458
+ children: field.label
459
+ }),
460
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
461
+ className: "text-sm text-muted-foreground",
462
+ children: formField.value
463
+ })
464
+ ]
465
+ }),
466
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(slider_cjs_namespaceObject.Slider, {
467
+ value: [
468
+ formField.value
469
+ ],
470
+ onValueChange: (values)=>formField.onChange(values[0]),
471
+ min: field.min || 0,
472
+ max: field.max || 100,
473
+ step: field.step || 1,
474
+ disabled: disabled
475
+ }),
476
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
477
+ children: field.description
478
+ }),
479
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
480
+ children: error
481
+ })
482
+ ]
483
+ });
484
+ case 'date':
485
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
486
+ children: [
487
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
488
+ required: required,
489
+ children: field.label
490
+ }),
491
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(date_picker_cjs_namespaceObject.DatePicker, {
492
+ value: formField.value,
493
+ onValueChange: formField.onChange,
494
+ disabled: disabled,
495
+ placeholder: field.placeholder
496
+ }),
497
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
498
+ children: field.description
499
+ }),
500
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
501
+ children: error
502
+ })
503
+ ]
504
+ });
505
+ case 'datetime':
506
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
507
+ children: [
508
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
509
+ required: required,
510
+ children: field.label
511
+ }),
512
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(datetime_picker_cjs_namespaceObject.DateTimePicker, {
513
+ value: formField.value,
514
+ onValueChange: formField.onChange,
515
+ disabled: disabled,
516
+ placeholder: field.placeholder,
517
+ use12Hour: field.use12Hour
518
+ }),
519
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
520
+ children: field.description
521
+ }),
522
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
523
+ children: error
524
+ })
525
+ ]
526
+ });
527
+ case 'file':
528
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(FormField, {
529
+ children: [
530
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormLabel, {
531
+ required: required,
532
+ children: field.label
533
+ }),
534
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(file_upload_cjs_namespaceObject.FileUpload, {
535
+ accept: field.accept,
536
+ multiple: field.multiple,
537
+ disabled: disabled,
538
+ maxSize: field.maxSize,
539
+ showPreview: field.showPreview,
540
+ onFilesChange: (files)=>{
541
+ formField.onChange(field.multiple ? files : files[0]);
542
+ }
543
+ }),
544
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormDescription, {
545
+ children: field.description
546
+ }),
547
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(FormError, {
548
+ children: error
549
+ })
550
+ ]
551
+ });
552
+ default:
553
+ return null;
554
+ }
555
+ }
556
+ function FormField({ children, className = '' }) {
557
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
558
+ className: (0, index_cjs_namespaceObject.cn)('space-y-2', className),
559
+ children: children
560
+ });
561
+ }
562
+ function FormLabel({ children, required, htmlFor, className = '' }) {
563
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(label_cjs_namespaceObject.Label, {
564
+ htmlFor: htmlFor,
565
+ className: className,
566
+ children: [
567
+ children,
568
+ required && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
569
+ className: "text-destructive ml-1",
570
+ children: "*"
571
+ })
572
+ ]
573
+ });
574
+ }
575
+ function FormDescription({ children }) {
576
+ if (!children) return null;
577
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("p", {
578
+ className: "text-sm text-muted-foreground",
579
+ children: children
580
+ });
581
+ }
582
+ function FormError({ children }) {
583
+ if (!children) return null;
584
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("p", {
585
+ className: "text-sm text-destructive",
586
+ children: children
587
+ });
588
+ }
589
+ exports.FormFieldRenderer = __webpack_exports__.FormFieldRenderer;
590
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
591
+ "FormFieldRenderer"
592
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
593
+ Object.defineProperty(exports, '__esModule', {
594
+ value: true
595
+ });
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ import type { FieldMetadata, FormContext, CustomFieldComponentProps } from './form-schema';
3
+ /**
4
+ * Field Renderer - Connects metadata to actual UI components
5
+ * Integrates with shadcn/ui components from apollo-wind
6
+ */
7
+ interface FormFieldRendererProps {
8
+ field: FieldMetadata;
9
+ context: FormContext;
10
+ customComponents: Record<string, React.ComponentType<CustomFieldComponentProps>>;
11
+ disabled?: boolean;
12
+ }
13
+ export declare function FormFieldRenderer({ field, context, customComponents, disabled: formDisabled, }: FormFieldRendererProps): import("react/jsx-runtime").JSX.Element | null;
14
+ export {};