@bgroup/wise-form 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -0
- package/dist/components/ui/Checkbox.d.ts +14 -0
- package/dist/components/ui/Checkbox.d.ts.map +1 -0
- package/dist/components/ui/Checkbox.js +43 -0
- package/dist/components/ui/Checkbox.js.map +1 -0
- package/dist/components/ui/CheckboxGroup.d.ts +15 -0
- package/dist/components/ui/CheckboxGroup.d.ts.map +1 -0
- package/dist/components/ui/CheckboxGroup.js +33 -0
- package/dist/components/ui/CheckboxGroup.js.map +1 -0
- package/dist/components/ui/Input.d.ts +14 -0
- package/dist/components/ui/Input.d.ts.map +1 -0
- package/dist/components/ui/Input.js +49 -0
- package/dist/components/ui/Input.js.map +1 -0
- package/dist/components/ui/Radio.d.ts +14 -0
- package/dist/components/ui/Radio.d.ts.map +1 -0
- package/dist/components/ui/Radio.js +43 -0
- package/dist/components/ui/Radio.js.map +1 -0
- package/dist/components/ui/Select.d.ts +18 -0
- package/dist/components/ui/Select.d.ts.map +1 -0
- package/dist/components/ui/Select.js +44 -0
- package/dist/components/ui/Select.js.map +1 -0
- package/dist/components/ui/Textarea.d.ts +13 -0
- package/dist/components/ui/Textarea.d.ts.map +1 -0
- package/dist/components/ui/Textarea.js +42 -0
- package/dist/components/ui/Textarea.js.map +1 -0
- package/dist/components/ui/index.d.ts +13 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/index.js +7 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/form/index.d.ts +10 -0
- package/dist/form/index.d.ts.map +1 -0
- package/dist/form/index.js +5 -0
- package/dist/form/index.js.map +1 -0
- package/dist/form/interfaces/field-container.d.ts +8 -0
- package/dist/form/interfaces/field-container.d.ts.map +1 -0
- package/dist/form/interfaces/field-container.js +2 -0
- package/dist/form/interfaces/field-container.js.map +1 -0
- package/dist/form/interfaces/interfaces.d.ts +8 -0
- package/dist/form/interfaces/interfaces.d.ts.map +1 -0
- package/dist/form/interfaces/interfaces.js +2 -0
- package/dist/form/interfaces/interfaces.js.map +1 -0
- package/dist/form/interfaces/settings.d.ts +10 -0
- package/dist/form/interfaces/settings.d.ts.map +1 -0
- package/dist/form/interfaces/settings.js +2 -0
- package/dist/form/interfaces/settings.js.map +1 -0
- package/dist/form/interfaces/template.d.ts +6 -0
- package/dist/form/interfaces/template.d.ts.map +1 -0
- package/dist/form/interfaces/template.js +2 -0
- package/dist/form/interfaces/template.js.map +1 -0
- package/dist/form/interfaces/wise-form-specs.d.ts +9 -0
- package/dist/form/interfaces/wise-form-specs.d.ts.map +1 -0
- package/dist/form/interfaces/wise-form-specs.js +2 -0
- package/dist/form/interfaces/wise-form-specs.js.map +1 -0
- package/dist/form/view/components/containers/index.d.ts +3 -0
- package/dist/form/view/components/containers/index.d.ts.map +1 -0
- package/dist/form/view/components/containers/index.js +12 -0
- package/dist/form/view/components/containers/index.js.map +1 -0
- package/dist/form/view/components/error.d.ts +5 -0
- package/dist/form/view/components/error.d.ts.map +1 -0
- package/dist/form/view/components/error.js +8 -0
- package/dist/form/view/components/error.js.map +1 -0
- package/dist/form/view/components/field/container.d.ts +5 -0
- package/dist/form/view/components/field/container.d.ts.map +1 -0
- package/dist/form/view/components/field/container.js +5 -0
- package/dist/form/view/components/field/container.js.map +1 -0
- package/dist/form/view/components/field/index.d.ts +18 -0
- package/dist/form/view/components/field/index.d.ts.map +1 -0
- package/dist/form/view/components/field/index.js +89 -0
- package/dist/form/view/components/field/index.js.map +1 -0
- package/dist/form/view/components/field/selection.d.ts +2 -0
- package/dist/form/view/components/field/selection.d.ts.map +1 -0
- package/dist/form/view/components/field/selection.js +35 -0
- package/dist/form/view/components/field/selection.js.map +1 -0
- package/dist/form/view/components/field/use-field.d.ts +4 -0
- package/dist/form/view/components/field/use-field.d.ts.map +1 -0
- package/dist/form/view/components/field/use-field.js +41 -0
- package/dist/form/view/components/field/use-field.js.map +1 -0
- package/dist/form/view/components/rows/row-container.d.ts +18 -0
- package/dist/form/view/components/rows/row-container.d.ts.map +1 -0
- package/dist/form/view/components/rows/row-container.js +89 -0
- package/dist/form/view/components/rows/row-container.js.map +1 -0
- package/dist/form/view/components/rows/wrapper.d.ts +12 -0
- package/dist/form/view/components/rows/wrapper.d.ts.map +1 -0
- package/dist/form/view/components/rows/wrapper.js +27 -0
- package/dist/form/view/components/rows/wrapper.js.map +1 -0
- package/dist/form/view/components/wrapped-form.d.ts +6 -0
- package/dist/form/view/components/wrapped-form.d.ts.map +1 -0
- package/dist/form/view/components/wrapped-form.js +26 -0
- package/dist/form/view/components/wrapped-form.js.map +1 -0
- package/dist/form/view/context.d.ts +23 -0
- package/dist/form/view/context.d.ts.map +1 -0
- package/dist/form/view/context.js +7 -0
- package/dist/form/view/context.js.map +1 -0
- package/dist/form/view/hooks/use-model.d.ts +10 -0
- package/dist/form/view/hooks/use-model.d.ts.map +1 -0
- package/dist/form/view/hooks/use-model.js +31 -0
- package/dist/form/view/hooks/use-model.js.map +1 -0
- package/dist/form/view/hooks/use-template.d.ts +14 -0
- package/dist/form/view/hooks/use-template.d.ts.map +1 -0
- package/dist/form/view/hooks/use-template.js +57 -0
- package/dist/form/view/hooks/use-template.js.map +1 -0
- package/dist/form/view/hooks/use-types.d.ts +2 -0
- package/dist/form/view/hooks/use-types.d.ts.map +1 -0
- package/dist/form/view/hooks/use-types.js +19 -0
- package/dist/form/view/hooks/use-types.js.map +1 -0
- package/dist/form/view/index.d.ts +3 -0
- package/dist/form/view/index.d.ts.map +1 -0
- package/dist/form/view/index.js +38 -0
- package/dist/form/view/index.js.map +1 -0
- package/dist/formulas/helpers/condition-types.d.ts +5 -0
- package/dist/formulas/helpers/condition-types.d.ts.map +1 -0
- package/dist/formulas/helpers/condition-types.js +5 -0
- package/dist/formulas/helpers/condition-types.js.map +1 -0
- package/dist/formulas/helpers/evaluations.d.ts +15 -0
- package/dist/formulas/helpers/evaluations.d.ts.map +1 -0
- package/dist/formulas/helpers/evaluations.js +44 -0
- package/dist/formulas/helpers/evaluations.js.map +1 -0
- package/dist/formulas/helpers/formula.d.ts +6 -0
- package/dist/formulas/helpers/formula.d.ts.map +1 -0
- package/dist/formulas/helpers/formula.js +26 -0
- package/dist/formulas/helpers/formula.js.map +1 -0
- package/dist/formulas/helpers/lexer.d.ts +10 -0
- package/dist/formulas/helpers/lexer.d.ts.map +1 -0
- package/dist/formulas/helpers/lexer.js +73 -0
- package/dist/formulas/helpers/lexer.js.map +1 -0
- package/dist/formulas/helpers/parser.d.ts +24 -0
- package/dist/formulas/helpers/parser.d.ts.map +1 -0
- package/dist/formulas/helpers/parser.js +48 -0
- package/dist/formulas/helpers/parser.js.map +1 -0
- package/dist/formulas/helpers/token.d.ts +14 -0
- package/dist/formulas/helpers/token.d.ts.map +1 -0
- package/dist/formulas/helpers/token.js +14 -0
- package/dist/formulas/helpers/token.js.map +1 -0
- package/dist/formulas/index.d.ts +59 -0
- package/dist/formulas/index.d.ts.map +1 -0
- package/dist/formulas/index.js +186 -0
- package/dist/formulas/index.js.map +1 -0
- package/dist/formulas/types/formulas.d.ts +68 -0
- package/dist/formulas/types/formulas.d.ts.map +1 -0
- package/dist/formulas/types/formulas.js +2 -0
- package/dist/formulas/types/formulas.js.map +1 -0
- package/dist/formulas/types/index.d.ts +5 -0
- package/dist/formulas/types/index.d.ts.map +1 -0
- package/dist/formulas/types/index.js +2 -0
- package/dist/formulas/types/index.js.map +1 -0
- package/dist/formulas/variants/array-formula.d.ts +24 -0
- package/dist/formulas/variants/array-formula.d.ts.map +1 -0
- package/dist/formulas/variants/array-formula.js +142 -0
- package/dist/formulas/variants/array-formula.js.map +1 -0
- package/dist/formulas/variants/base.d.ts +6 -0
- package/dist/formulas/variants/base.d.ts.map +1 -0
- package/dist/formulas/variants/base.js +3 -0
- package/dist/formulas/variants/base.js.map +1 -0
- package/dist/formulas/variants/basic.d.ts +18 -0
- package/dist/formulas/variants/basic.d.ts.map +1 -0
- package/dist/formulas/variants/basic.js +128 -0
- package/dist/formulas/variants/basic.js.map +1 -0
- package/dist/formulas/variants/comparison.d.ts +25 -0
- package/dist/formulas/variants/comparison.d.ts.map +1 -0
- package/dist/formulas/variants/comparison.js +153 -0
- package/dist/formulas/variants/comparison.js.map +1 -0
- package/dist/formulas/variants/conditional.d.ts +18 -0
- package/dist/formulas/variants/conditional.d.ts.map +1 -0
- package/dist/formulas/variants/conditional.js +183 -0
- package/dist/formulas/variants/conditional.js.map +1 -0
- package/dist/formulas/variants/iterative-array.d.ts +20 -0
- package/dist/formulas/variants/iterative-array.d.ts.map +1 -0
- package/dist/formulas/variants/iterative-array.js +155 -0
- package/dist/formulas/variants/iterative-array.js.map +1 -0
- package/dist/formulas/variants/per-value.d.ts +20 -0
- package/dist/formulas/variants/per-value.d.ts.map +1 -0
- package/dist/formulas/variants/per-value.js +154 -0
- package/dist/formulas/variants/per-value.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -0
- package/dist/models/base.d.ts +55 -0
- package/dist/models/base.d.ts.map +1 -0
- package/dist/models/base.js +146 -0
- package/dist/models/base.js.map +1 -0
- package/dist/models/callback-manager.d.ts +7 -0
- package/dist/models/callback-manager.d.ts.map +1 -0
- package/dist/models/callback-manager.js +89 -0
- package/dist/models/callback-manager.js.map +1 -0
- package/dist/models/field.d.ts +121 -0
- package/dist/models/field.d.ts.map +1 -0
- package/dist/models/field.js +374 -0
- package/dist/models/field.js.map +1 -0
- package/dist/models/index.d.ts +13 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +7 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/model.d.ts +37 -0
- package/dist/models/model.d.ts.map +1 -0
- package/dist/models/model.js +245 -0
- package/dist/models/model.js.map +1 -0
- package/dist/models/plugins/base.d.ts +9 -0
- package/dist/models/plugins/base.d.ts.map +1 -0
- package/dist/models/plugins/base.js +3 -0
- package/dist/models/plugins/base.js.map +1 -0
- package/dist/models/plugins/formula.d.ts +18 -0
- package/dist/models/plugins/formula.d.ts.map +1 -0
- package/dist/models/plugins/formula.js +82 -0
- package/dist/models/plugins/formula.js.map +1 -0
- package/dist/models/plugins/index.d.ts +11 -0
- package/dist/models/plugins/index.d.ts.map +1 -0
- package/dist/models/plugins/index.js +52 -0
- package/dist/models/plugins/index.js.map +1 -0
- package/dist/models/plugins/plugins.d.ts +7 -0
- package/dist/models/plugins/plugins.d.ts.map +1 -0
- package/dist/models/plugins/plugins.js +7 -0
- package/dist/models/plugins/plugins.js.map +1 -0
- package/dist/models/types/base-wise-model.d.ts +7 -0
- package/dist/models/types/base-wise-model.d.ts.map +1 -0
- package/dist/models/types/base-wise-model.js +2 -0
- package/dist/models/types/base-wise-model.js.map +1 -0
- package/dist/models/types/callbacks.d.ts +19 -0
- package/dist/models/types/callbacks.d.ts.map +1 -0
- package/dist/models/types/callbacks.js +2 -0
- package/dist/models/types/callbacks.js.map +1 -0
- package/dist/models/types/disabled.d.ts +8 -0
- package/dist/models/types/disabled.d.ts.map +1 -0
- package/dist/models/types/disabled.js +2 -0
- package/dist/models/types/disabled.js.map +1 -0
- package/dist/models/types/form-field.d.ts +25 -0
- package/dist/models/types/form-field.d.ts.map +1 -0
- package/dist/models/types/form-field.js +2 -0
- package/dist/models/types/form-field.js.map +1 -0
- package/dist/models/types/model.d.ts +13 -0
- package/dist/models/types/model.d.ts.map +1 -0
- package/dist/models/types/model.js +2 -0
- package/dist/models/types/model.js.map +1 -0
- package/dist/models/types/plugins.d.ts +13 -0
- package/dist/models/types/plugins.d.ts.map +1 -0
- package/dist/models/types/plugins.js +2 -0
- package/dist/models/types/plugins.js.map +1 -0
- package/dist/models/types/wrapped-form-model-props.d.ts +11 -0
- package/dist/models/types/wrapped-form-model-props.d.ts.map +1 -0
- package/dist/models/types/wrapped-form-model-props.js +2 -0
- package/dist/models/types/wrapped-form-model-props.js.map +1 -0
- package/dist/models/wrapper.d.ts +30 -0
- package/dist/models/wrapper.d.ts.map +1 -0
- package/dist/models/wrapper.js +213 -0
- package/dist/models/wrapper.js.map +1 -0
- package/dist/settings/index.d.ts +7 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +26 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/utils/pending-promise.d.ts +6 -0
- package/dist/utils/pending-promise.d.ts.map +1 -0
- package/dist/utils/pending-promise.js +24 -0
- package/dist/utils/pending-promise.js.map +1 -0
- package/package.json +38 -0
- package/src/components/ui/Checkbox.tsx +68 -0
- package/src/components/ui/CheckboxGroup.tsx +60 -0
- package/src/components/ui/Input.tsx +72 -0
- package/src/components/ui/Radio.tsx +68 -0
- package/src/components/ui/Select.tsx +73 -0
- package/src/components/ui/Textarea.tsx +63 -0
- package/src/components/ui/index.ts +14 -0
- package/src/form/index.ts +11 -0
- package/src/form/interfaces/field-container.ts +9 -0
- package/src/form/interfaces/interfaces.ts +12 -0
- package/src/form/interfaces/settings.ts +11 -0
- package/src/form/interfaces/template.ts +7 -0
- package/src/form/interfaces/wise-form-specs.ts +10 -0
- package/src/form/styles.css +40 -0
- package/src/form/view/components/containers/index.tsx +18 -0
- package/src/form/view/components/error.tsx +9 -0
- package/src/form/view/components/field/container.tsx +6 -0
- package/src/form/view/components/field/index.tsx +107 -0
- package/src/form/view/components/field/selection.tsx +39 -0
- package/src/form/view/components/field/use-field.tsx +49 -0
- package/src/form/view/components/rows/row-container.tsx +96 -0
- package/src/form/view/components/rows/wrapper.tsx +28 -0
- package/src/form/view/components/wrapped-form.tsx +32 -0
- package/src/form/view/context.tsx +26 -0
- package/src/form/view/hooks/use-model.ts +37 -0
- package/src/form/view/hooks/use-template.tsx +64 -0
- package/src/form/view/hooks/use-types.ts +21 -0
- package/src/form/view/index.tsx +48 -0
- package/src/formulas/helpers/condition-types.ts +5 -0
- package/src/formulas/helpers/evaluations.ts +48 -0
- package/src/formulas/helpers/formula.ts +27 -0
- package/src/formulas/helpers/lexer.ts +82 -0
- package/src/formulas/helpers/parser.ts +55 -0
- package/src/formulas/helpers/token.ts +22 -0
- package/src/formulas/index.ts +198 -0
- package/src/formulas/types/formulas.ts +72 -0
- package/src/formulas/types/index.ts +5 -0
- package/src/formulas/variants/array-formula.ts +138 -0
- package/src/formulas/variants/base.ts +6 -0
- package/src/formulas/variants/basic.ts +141 -0
- package/src/formulas/variants/comparison.ts +156 -0
- package/src/formulas/variants/conditional.ts +208 -0
- package/src/formulas/variants/iterative-array.ts +152 -0
- package/src/formulas/variants/per-value.ts +152 -0
- package/src/index.ts +6 -0
- package/src/models/base.ts +164 -0
- package/src/models/callback-manager.ts +102 -0
- package/src/models/field.ts +426 -0
- package/src/models/index.ts +14 -0
- package/src/models/model.ts +260 -0
- package/src/models/plugins/base.ts +11 -0
- package/src/models/plugins/formula.ts +80 -0
- package/src/models/plugins/index.ts +48 -0
- package/src/models/plugins/plugins.ts +8 -0
- package/src/models/types/base-wise-model.ts +7 -0
- package/src/models/types/callbacks.ts +23 -0
- package/src/models/types/disabled.ts +8 -0
- package/src/models/types/form-field.ts +22 -0
- package/src/models/types/model.ts +14 -0
- package/src/models/types/plugins.ts +15 -0
- package/src/models/types/wrapped-form-model-props.ts +9 -0
- package/src/models/wrapper.ts +242 -0
- package/src/settings/index.ts +11 -0
- package/src/utils/pending-promise.ts +29 -0
- package/tsconfig.json +39 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FormModel } from '@bgroup/wise-form/models';
|
|
2
|
+
import { IFormSettings } from './settings';
|
|
3
|
+
export interface IWiseFormSpecs {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
settings?: IFormSettings;
|
|
6
|
+
model?: FormModel;
|
|
7
|
+
types?: Record<string, React.ReactNode>;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=wise-form-specs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wise-form-specs.d.ts","sourceRoot":"","sources":["../../../src/form/interfaces/wise-form-specs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;CACxC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wise-form-specs.js","sourceRoot":"","sources":["../../../src/form/interfaces/wise-form-specs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/view/components/containers/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,wBAAgB,UAAU,wBAYzB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useWiseFormContext } from "../../context";
|
|
3
|
+
import { RowFieldContainer } from "../rows/row-container";
|
|
4
|
+
export function Containers() {
|
|
5
|
+
const { rows, model, template: { styles }, } = useWiseFormContext();
|
|
6
|
+
const fields = [...model.fields.values()];
|
|
7
|
+
return rows.map((num, index) => {
|
|
8
|
+
const items = fields.splice(0, num[0]); // Type assertion needed due to TypeScript strictness
|
|
9
|
+
return React.createElement(RowFieldContainer, { model: model, template: num, items: items, key: `rf-row--${index}.${num}`, styles: styles });
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/form/view/components/containers/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAExD,MAAM,UAAU,UAAU;IACzB,MAAM,EACL,IAAI,EACJ,KAAK,EACL,QAAQ,EAAE,EAAC,MAAM,EAAC,GAClB,GAAG,kBAAkB,EAAE,CAAC;IAEzB,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,qDAAqD;QACpG,OAAO,oBAAC,iBAAiB,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAI,CAAC;IACzH,CAAC,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/form/view/components/error.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE;;CAAA,qBAKtC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../../../src/form/view/components/error.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,aAAa,CAAC,EAAE,KAAK,EAAE;IACtC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,6BAAK,SAAS,EAAC,8BAA8B,IAAE,KAAK,CAAO,CAAC;AACpE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../../../src/form/view/components/field/container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,qBAAqB,CAAC,EAAE,QAAQ,EAAE;;CAAA,qBAEjD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"container.js","sourceRoot":"","sources":["../../../../../src/form/view/components/field/container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,qBAAqB,CAAC,EAAE,QAAQ,EAAE;IACjD,OAAO,6BAAK,SAAS,EAAC,oBAAoB,IAAE,QAAQ,CAAO,CAAC;AAC7D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { FormModel, WrappedFormModel, FormField } from "../../../../models";
|
|
3
|
+
type WiseFormFieldControlProps = {
|
|
4
|
+
field: FormField | WrappedFormModel;
|
|
5
|
+
index: number;
|
|
6
|
+
model: FormModel | WrappedFormModel;
|
|
7
|
+
hidden?: boolean;
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
*
|
|
11
|
+
* @param props.field WiseForm Json config
|
|
12
|
+
* @param props.index Index of the field
|
|
13
|
+
* @param props.model Field or Wrapper Model.
|
|
14
|
+
* @returns
|
|
15
|
+
*/
|
|
16
|
+
export declare const Control: ({ field, index, model, hidden }: WiseFormFieldControlProps) => React.JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/form/view/components/field/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAGjF,KAAK,yBAAyB,GAAG;IAChC,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AACF;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,iCAAiC,yBAAyB,sBAoFjF,CAAC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Input, Textarea } from "../../../../components/ui";
|
|
3
|
+
import { SelectionField } from "./selection";
|
|
4
|
+
import { ControlFieldContainer } from "./container";
|
|
5
|
+
import { useWiseFormContext } from "../../context";
|
|
6
|
+
import { useField } from "./use-field";
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param props.field WiseForm Json config
|
|
10
|
+
* @param props.index Index of the field
|
|
11
|
+
* @param props.model Field or Wrapper Model.
|
|
12
|
+
* @returns
|
|
13
|
+
*/
|
|
14
|
+
export const Control = ({ field, index, model, hidden }) => {
|
|
15
|
+
const { formTypes } = useWiseFormContext();
|
|
16
|
+
const fieldItem = field; // Using any to access dynamic properties
|
|
17
|
+
// Early return if field doesn't have a name (except for wrapper types and special types)
|
|
18
|
+
const specialTypes = ['wrapper', 'hr', 'button'];
|
|
19
|
+
const fieldType = fieldItem?.type;
|
|
20
|
+
const fieldName = fieldItem?.name;
|
|
21
|
+
if (!fieldName && !specialTypes.includes(fieldType)) {
|
|
22
|
+
console.warn('You need to provide a name to get a field in form', model.name || 'unknown');
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
const { attrs } = useField(model, fieldItem);
|
|
26
|
+
// Estado reactivo para el valor de hidden del campo
|
|
27
|
+
const [isHidden, setIsHidden] = React.useState(() => {
|
|
28
|
+
if (hidden !== undefined)
|
|
29
|
+
return hidden;
|
|
30
|
+
if (!fieldName)
|
|
31
|
+
return false;
|
|
32
|
+
const fieldModel = model.getField(fieldName);
|
|
33
|
+
if (fieldModel) {
|
|
34
|
+
const properties = fieldModel.getProperties();
|
|
35
|
+
return properties.hidden ?? false;
|
|
36
|
+
}
|
|
37
|
+
return fieldItem.hidden ?? false;
|
|
38
|
+
});
|
|
39
|
+
// Suscribirse a los cambios del modelo del campo
|
|
40
|
+
React.useEffect(() => {
|
|
41
|
+
if (!fieldName)
|
|
42
|
+
return;
|
|
43
|
+
const fieldModel = model.getField(fieldName);
|
|
44
|
+
if (!fieldModel)
|
|
45
|
+
return;
|
|
46
|
+
const onChange = () => {
|
|
47
|
+
const properties = fieldModel.getProperties();
|
|
48
|
+
setIsHidden(properties.hidden ?? false);
|
|
49
|
+
};
|
|
50
|
+
fieldModel.on('change', onChange);
|
|
51
|
+
return () => {
|
|
52
|
+
fieldModel.off('change', onChange);
|
|
53
|
+
};
|
|
54
|
+
}, [model, fieldName]);
|
|
55
|
+
if (isHidden)
|
|
56
|
+
return null;
|
|
57
|
+
const types = {
|
|
58
|
+
...{
|
|
59
|
+
checkbox: SelectionField,
|
|
60
|
+
radio: SelectionField,
|
|
61
|
+
select: SelectionField,
|
|
62
|
+
textarea: Textarea,
|
|
63
|
+
text: Input,
|
|
64
|
+
password: Input,
|
|
65
|
+
default: Input,
|
|
66
|
+
},
|
|
67
|
+
...formTypes,
|
|
68
|
+
};
|
|
69
|
+
const ControlComponent = types[fieldType] ?? types.default;
|
|
70
|
+
// Merge field properties with attrs to ensure custom components receive all necessary props
|
|
71
|
+
const fieldModel = fieldName ? model.getField(fieldName) : null;
|
|
72
|
+
const fieldProperties = fieldModel ? fieldModel.getProperties() : {};
|
|
73
|
+
// Also include original field item properties (like options, label, etc.)
|
|
74
|
+
const fieldItemProps = { ...fieldItem };
|
|
75
|
+
// Remove internal properties that shouldn't be passed to components
|
|
76
|
+
delete fieldItemProps.name;
|
|
77
|
+
delete fieldItemProps.type;
|
|
78
|
+
// Filter out non-HTML attributes from fieldProperties to prevent React warnings
|
|
79
|
+
const invalidAttributes = ['processing', 'processed', 'properties', 'specs', 'hidden', 'identifier'];
|
|
80
|
+
const filteredFieldProperties = Object.keys(fieldProperties).reduce((acc, key) => {
|
|
81
|
+
if (!invalidAttributes.includes(key)) {
|
|
82
|
+
acc[key] = fieldProperties[key];
|
|
83
|
+
}
|
|
84
|
+
return acc;
|
|
85
|
+
}, {});
|
|
86
|
+
return (React.createElement(ControlFieldContainer, null,
|
|
87
|
+
React.createElement(ControlComponent, { ...attrs, ...fieldItemProps, ...filteredFieldProperties })));
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/form/view/components/field/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../../../../src/form/view/components/field/selection.tsx"],"names":[],"mappings":"AAKA,wBAAgB,cAAc,CAAC,KAAK,KAAA,OAgCnC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Checkbox, CheckboxGroup, Radio, Select } from '../../../../components/ui';
|
|
3
|
+
import { ErrorRenderer } from '../error';
|
|
4
|
+
import { useWiseFormContext } from '../../context';
|
|
5
|
+
export function SelectionField(props) {
|
|
6
|
+
if (!props.options)
|
|
7
|
+
return React.createElement(ErrorRenderer, { error: `the field does not have options, field: ${props.name}` });
|
|
8
|
+
const { name } = useWiseFormContext();
|
|
9
|
+
const types = {
|
|
10
|
+
checkbox: Checkbox,
|
|
11
|
+
radio: Radio,
|
|
12
|
+
select: SelectionField,
|
|
13
|
+
};
|
|
14
|
+
if (!types.hasOwnProperty(props.type))
|
|
15
|
+
return React.createElement(ErrorRenderer, { error: 'the props type is not supported' });
|
|
16
|
+
const Control = types[props.type];
|
|
17
|
+
// Filter out non-HTML attributes before passing to Select
|
|
18
|
+
const invalidAttributes = ['processing', 'processed', 'properties', 'specs', 'hidden', 'identifier'];
|
|
19
|
+
const filteredProps = Object.keys(props).reduce((acc, key) => {
|
|
20
|
+
if (!invalidAttributes.includes(key)) {
|
|
21
|
+
acc[key] = props[key];
|
|
22
|
+
}
|
|
23
|
+
return acc;
|
|
24
|
+
}, {});
|
|
25
|
+
if (props.type === 'select')
|
|
26
|
+
return React.createElement(Select, { ...filteredProps });
|
|
27
|
+
if (props.type === 'checkbox')
|
|
28
|
+
return React.createElement(CheckboxGroup, { ...filteredProps });
|
|
29
|
+
const output = props.options.map((option, key) => {
|
|
30
|
+
const attributes = { ...option, name: props.name };
|
|
31
|
+
return React.createElement(Control, { ...attributes, key: `${name}.${props.name}.${key}` });
|
|
32
|
+
});
|
|
33
|
+
return output;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selection.js","sourceRoot":"","sources":["../../../../../src/form/view/components/field/selection.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,UAAU,cAAc,CAAC,KAAK;IACnC,IAAI,CAAC,KAAK,CAAC,OAAO;QAAE,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAE,2CAA2C,KAAK,CAAC,IAAI,EAAE,GAAI,CAAC;IAE7G,MAAM,EAAE,IAAI,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG;QACb,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,cAAc;KACtB,CAAC;IAEF,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC;QAAE,OAAO,oBAAC,aAAa,IAAC,KAAK,EAAC,iCAAiC,GAAG,CAAC;IACxG,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,0DAA0D;IAC1D,MAAM,iBAAiB,GAAG,CAAC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IACrG,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC5D,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,GAAG,CAAC;IACZ,CAAC,EAAE,EAAS,CAAC,CAAC;IAEd,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,oBAAC,MAAM,OAAK,aAAa,GAAI,CAAC;IAElE,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;QAAE,OAAO,oBAAC,aAAa,OAAK,aAAa,GAAI,CAAC;IAE3E,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAChD,MAAM,UAAU,GAAG,EAAE,GAAG,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACnD,OAAO,oBAAC,OAAO,OAAK,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI,IAAI,KAAK,CAAC,IAAI,IAAI,GAAG,EAAE,GAAI,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-field.d.ts","sourceRoot":"","sources":["../../../../../src/form/view/components/field/use-field.tsx"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA;;EA4CpC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useWiseFormContext } from '../../context';
|
|
3
|
+
export function useField(model, field) {
|
|
4
|
+
// Early return if field doesn't have a name
|
|
5
|
+
if (!field?.name) {
|
|
6
|
+
return { attrs: {} };
|
|
7
|
+
}
|
|
8
|
+
const fieldModel = model.getField(field.name);
|
|
9
|
+
const { values } = useWiseFormContext();
|
|
10
|
+
const value = fieldModel?.value ?? values[field.name];
|
|
11
|
+
const [attributes, setAttributes] = React.useState(fieldModel?.attributes || {});
|
|
12
|
+
const onChange = field.name ? (event) => {
|
|
13
|
+
if (event && event.target) {
|
|
14
|
+
model.setField(field.name, event.target.value);
|
|
15
|
+
}
|
|
16
|
+
} : undefined;
|
|
17
|
+
React.useEffect(() => {
|
|
18
|
+
if (!fieldModel || !field.name)
|
|
19
|
+
return;
|
|
20
|
+
const onChange = () => {
|
|
21
|
+
setAttributes({ ...fieldModel.attributes, disabled: fieldModel.disabled });
|
|
22
|
+
};
|
|
23
|
+
fieldModel.on('change', onChange);
|
|
24
|
+
const cleanUp = () => {
|
|
25
|
+
fieldModel.off('change', onChange);
|
|
26
|
+
fieldModel.cleanUp();
|
|
27
|
+
};
|
|
28
|
+
return cleanUp;
|
|
29
|
+
}, [fieldModel?.name, field.name]);
|
|
30
|
+
/**
|
|
31
|
+
* It's necessary to change the field spread.
|
|
32
|
+
*/
|
|
33
|
+
const attrs = {
|
|
34
|
+
value,
|
|
35
|
+
...attributes,
|
|
36
|
+
...(onChange && { onChange }),
|
|
37
|
+
disabled: fieldModel?.disabled ?? false
|
|
38
|
+
};
|
|
39
|
+
return { attrs };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=use-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-field.js","sourceRoot":"","sources":["../../../../../src/form/view/components/field/use-field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,UAAU,QAAQ,CAAC,KAAK,EAAE,KAAK;IACpC,4CAA4C;IAC5C,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAE9C,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC,CAAC;IAEjF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3B,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;IACF,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACpB,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO;QAEvC,MAAM,QAAQ,GAAG,GAAG,EAAE;YACrB,aAAa,CAAC,EAAE,GAAG,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5E,CAAC,CAAC;QACF,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,GAAG,EAAE;YACpB,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACnC,UAAU,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC,CAAC;QACF,OAAO,OAAO,CAAC;IAChB,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnC;;OAEG;IAEH,MAAM,KAAK,GAAG;QACb,KAAK;QACL,GAAG,UAAU;QACb,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC7B,QAAQ,EAAE,UAAU,EAAE,QAAQ,IAAI,KAAK;KACvC,CAAC;IAEF,OAAO,EAAE,KAAK,EAAE,CAAC;AAClB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { IFieldContainer } from "../../../interfaces/field-container";
|
|
3
|
+
/**
|
|
4
|
+
* Represents a container for form fields within a row, organizing them according to a specified grid style.
|
|
5
|
+
* This component is used to group form fields dynamically based on the `template` property, allowing for
|
|
6
|
+
* a flexible layout structure within the form. It supports wrapping fields in a div with a CSS grid layout
|
|
7
|
+
* to align items as specified by the `template` and `styles` provided.
|
|
8
|
+
*
|
|
9
|
+
* @param {Object} props The properties passed to the RowFieldContainer component.
|
|
10
|
+
* @param {[number, string]} props.template A tuple where the first element is the total number of fields in the row,
|
|
11
|
+
* and the second element is a string representing the CSS grid template for the layout of these fields.
|
|
12
|
+
* @param {WiseFormField[]} props.items An array of form field configurations that will be rendered within this row.
|
|
13
|
+
* @param {any} [props.styles] Optional styles to be applied to the row container, allowing for further customization.
|
|
14
|
+
* @param
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
export declare function RowFieldContainer({ template: [totalFields, gridStyle], items, styles, model }: IFieldContainer): React.JSX.Element;
|
|
18
|
+
//# sourceMappingURL=row-container.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-container.d.ts","sourceRoot":"","sources":["../../../../../src/form/view/components/rows/row-container.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAGtE;;;;;;;;;;;;;EAaE;AACF,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,eAAe,qBA0E9G"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Control } from "../field";
|
|
3
|
+
import { FormSectionWrapper } from "./wrapper";
|
|
4
|
+
/**
|
|
5
|
+
* Represents a container for form fields within a row, organizing them according to a specified grid style.
|
|
6
|
+
* This component is used to group form fields dynamically based on the `template` property, allowing for
|
|
7
|
+
* a flexible layout structure within the form. It supports wrapping fields in a div with a CSS grid layout
|
|
8
|
+
* to align items as specified by the `template` and `styles` provided.
|
|
9
|
+
*
|
|
10
|
+
* @param {Object} props The properties passed to the RowFieldContainer component.
|
|
11
|
+
* @param {[number, string]} props.template A tuple where the first element is the total number of fields in the row,
|
|
12
|
+
* and the second element is a string representing the CSS grid template for the layout of these fields.
|
|
13
|
+
* @param {WiseFormField[]} props.items An array of form field configurations that will be rendered within this row.
|
|
14
|
+
* @param {any} [props.styles] Optional styles to be applied to the row container, allowing for further customization.
|
|
15
|
+
* @param
|
|
16
|
+
*
|
|
17
|
+
*/
|
|
18
|
+
export function RowFieldContainer({ template: [totalFields, gridStyle], items, styles, model }) {
|
|
19
|
+
// Estado para rastrear los valores de hidden de cada campo de forma reactiva
|
|
20
|
+
const [fieldHiddenStates, setFieldHiddenStates] = React.useState(() => {
|
|
21
|
+
const initialStates = {};
|
|
22
|
+
items.forEach((field) => {
|
|
23
|
+
const fieldItem = field; // Using any to access dynamic properties
|
|
24
|
+
const fieldName = fieldItem?.name;
|
|
25
|
+
if (fieldName) {
|
|
26
|
+
const fieldModel = model.getField(fieldName);
|
|
27
|
+
if (fieldModel) {
|
|
28
|
+
const properties = fieldModel.getProperties();
|
|
29
|
+
initialStates[fieldName] = properties.hidden ?? false;
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
initialStates[fieldName] = fieldItem.hidden ?? false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
return initialStates;
|
|
37
|
+
});
|
|
38
|
+
// Suscribirse a los cambios de cada campo
|
|
39
|
+
React.useEffect(() => {
|
|
40
|
+
const listeners = [];
|
|
41
|
+
items.forEach((field) => {
|
|
42
|
+
const fieldItem = field; // Using any to access dynamic properties
|
|
43
|
+
const fieldName = fieldItem?.name;
|
|
44
|
+
const fieldType = fieldItem?.type;
|
|
45
|
+
if (!fieldName || fieldType === "wrapper")
|
|
46
|
+
return;
|
|
47
|
+
const fieldModel = model.getField(fieldName);
|
|
48
|
+
if (!fieldModel)
|
|
49
|
+
return;
|
|
50
|
+
const onChange = () => {
|
|
51
|
+
const properties = fieldModel.getProperties();
|
|
52
|
+
setFieldHiddenStates((prev) => ({
|
|
53
|
+
...prev,
|
|
54
|
+
[fieldName]: properties.hidden ?? false,
|
|
55
|
+
}));
|
|
56
|
+
};
|
|
57
|
+
fieldModel.on('change', onChange);
|
|
58
|
+
listeners.push(() => fieldModel.off('change', onChange));
|
|
59
|
+
});
|
|
60
|
+
return () => {
|
|
61
|
+
listeners.forEach((cleanup) => cleanup());
|
|
62
|
+
};
|
|
63
|
+
}, [items, model]);
|
|
64
|
+
let hidden = false;
|
|
65
|
+
const output = items.reduce((acc, field, index) => {
|
|
66
|
+
const fieldItem = field; // Using any to access dynamic properties
|
|
67
|
+
const fieldType = fieldItem?.type;
|
|
68
|
+
if (fieldType === "wrapper") {
|
|
69
|
+
const fieldModel = model.getField(fieldItem?.name);
|
|
70
|
+
const wrapperHidden = fieldModel ? fieldModel.getProperties().hidden ?? false : false;
|
|
71
|
+
if (wrapperHidden)
|
|
72
|
+
hidden = true;
|
|
73
|
+
acc.push(React.createElement(FormSectionWrapper, { key: `rf-row__item--${index}`, data: fieldItem, model: model }));
|
|
74
|
+
return acc;
|
|
75
|
+
}
|
|
76
|
+
const fieldName = fieldItem?.name;
|
|
77
|
+
const isHidden = fieldName ? (fieldHiddenStates[fieldName] ?? fieldItem.hidden ?? false) : false;
|
|
78
|
+
if (!isHidden) {
|
|
79
|
+
acc.push(React.createElement(Control, { index: index, model: model, field: fieldItem, key: `rf-row__item--${index}`, hidden: isHidden }));
|
|
80
|
+
}
|
|
81
|
+
return acc;
|
|
82
|
+
}, []);
|
|
83
|
+
const attrs = { className: `rf-fields-container`, style: {} };
|
|
84
|
+
attrs.style = { gridTemplateColumns: `${gridStyle}`, ...styles };
|
|
85
|
+
if (hidden)
|
|
86
|
+
return null;
|
|
87
|
+
return React.createElement("div", { ...attrs }, output);
|
|
88
|
+
}
|
|
89
|
+
//# sourceMappingURL=row-container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row-container.js","sourceRoot":"","sources":["../../../../../src/form/view/components/rows/row-container.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param data {WrappedFormModel}
|
|
5
|
+
* @param model {FormModel} parent.
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare function FormSectionWrapper({ data, model }: {
|
|
9
|
+
data: any;
|
|
10
|
+
model: any;
|
|
11
|
+
}): React.JSX.Element;
|
|
12
|
+
//# sourceMappingURL=wrapper.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapper.d.ts","sourceRoot":"","sources":["../../../../../src/form/view/components/rows/wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC;;;CAAA,qBAkB/C"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { useWiseFormContext } from "../../context";
|
|
3
|
+
/**
|
|
4
|
+
*
|
|
5
|
+
* @param data {WrappedFormModel}
|
|
6
|
+
* @param model {FormModel} parent.
|
|
7
|
+
* @returns
|
|
8
|
+
*/
|
|
9
|
+
export function FormSectionWrapper({ data, model }) {
|
|
10
|
+
const { formTypes } = useWiseFormContext();
|
|
11
|
+
const types = {
|
|
12
|
+
...formTypes,
|
|
13
|
+
};
|
|
14
|
+
if (!data.control)
|
|
15
|
+
throw new Error("Wrapper must have a control");
|
|
16
|
+
if (!data.name) {
|
|
17
|
+
console.error("Wrapper must have a name", data);
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
if (data?.hidden)
|
|
21
|
+
return null;
|
|
22
|
+
const wrapperModel = model?.getField(data.name);
|
|
23
|
+
const Control = types[data.control];
|
|
24
|
+
// data = wrapperModel ? { ...data, ...wrapperModel.getProperties() } : data;
|
|
25
|
+
return React.createElement(Control, { model: wrapperModel });
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=wrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapper.js","sourceRoot":"","sources":["../../../../../src/form/view/components/rows/wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC;IAC/C,MAAM,EAAC,SAAS,EAAC,GAAG,kBAAkB,EAAE,CAAC;IAEzC,MAAM,KAAK,GAAG;QACb,GAAG,SAAS;KACZ,CAAC;IAEF,IAAI,CAAC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAClE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IACb,CAAC;IACD,IAAI,IAAI,EAAE,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,YAAY,GAAG,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpC,6EAA6E;IAC7E,OAAO,oBAAC,OAAO,IAAC,KAAK,EAAE,YAAY,GAAI,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapped-form.d.ts","sourceRoot":"","sources":["../../../../src/form/view/components/wrapped-form.tsx"],"names":[],"mappings":"AAKA,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;;;;CAAA,GAAG,GAAG,CAAC,OAAO,CAyBlE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { WrappedWiseFormContext, useWiseFormContext } from '../context';
|
|
3
|
+
import { RowFieldContainer } from './rows/row-container';
|
|
4
|
+
import { useTemplate } from '../hooks/use-template';
|
|
5
|
+
export function WrappedForm({ children, name, types }) {
|
|
6
|
+
const { model: parent } = useWiseFormContext();
|
|
7
|
+
const wrapper = parent.wrappers.get(name);
|
|
8
|
+
const model = wrapper;
|
|
9
|
+
const template = useTemplate(model.settings);
|
|
10
|
+
const fields = [...model.settings.fields];
|
|
11
|
+
const Containers = template.items.map((num, index) => {
|
|
12
|
+
const items = fields.splice(0, num[0]);
|
|
13
|
+
return React.createElement(RowFieldContainer, { template: num, model: model, items: items, key: `rf-row--${index}.${num}` });
|
|
14
|
+
});
|
|
15
|
+
const value = {
|
|
16
|
+
model,
|
|
17
|
+
name,
|
|
18
|
+
template,
|
|
19
|
+
formTypes: types ?? {},
|
|
20
|
+
parent,
|
|
21
|
+
};
|
|
22
|
+
return (React.createElement(WrappedWiseFormContext.Provider, { value: value },
|
|
23
|
+
Containers,
|
|
24
|
+
children));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=wrapped-form.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wrapped-form.js","sourceRoot":"","sources":["../../../../src/form/view/components/wrapped-form.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE;IACpD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,kBAAkB,EAAE,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,KAAK,GAAG,OAAO,CAAC;IACtB,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,OAAO,oBAAC,iBAAiB,IAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,WAAW,KAAK,IAAI,GAAG,EAAE,GAAI,CAAC;IACzG,CAAC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG;QACb,KAAK;QACL,IAAI;QACJ,QAAQ;QACR,SAAS,EAAE,KAAK,IAAI,EAAE;QACtB,MAAM;KACN,CAAC;IAEF,OAAO,CACN,oBAAC,sBAAsB,CAAC,QAAQ,IAAC,KAAK,EAAE,KAAK;QAC3C,UAAU;QACV,QAAQ,CACwB,CAClC,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FormModel, WrappedFormModel } from '@bgroup/wise-form/models';
|
|
3
|
+
export interface IFormContext {
|
|
4
|
+
model?: FormModel | WrappedFormModel;
|
|
5
|
+
name?: string;
|
|
6
|
+
values?: Record<string, any>;
|
|
7
|
+
items?: any;
|
|
8
|
+
rows?: [number, string][];
|
|
9
|
+
template?: {
|
|
10
|
+
type: string;
|
|
11
|
+
styles: any;
|
|
12
|
+
items: any[];
|
|
13
|
+
};
|
|
14
|
+
formTypes?: Record<string, React.ElementType>;
|
|
15
|
+
}
|
|
16
|
+
export interface IWrappedFormContext extends IFormContext {
|
|
17
|
+
parent: IFormContext;
|
|
18
|
+
}
|
|
19
|
+
export declare const WiseFormContext: React.Context<IFormContext>;
|
|
20
|
+
export declare const useWiseFormContext: () => IFormContext;
|
|
21
|
+
export declare const WrappedWiseFormContext: React.Context<IFormContext>;
|
|
22
|
+
export declare const useWrappedWiseFormContext: () => IFormContext;
|
|
23
|
+
//# sourceMappingURL=context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/form/view/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,MAAM,WAAW,YAAY;IAC5B,KAAK,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACV,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,GAAG,CAAC;QACZ,KAAK,EAAE,GAAG,EAAE,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAC9C;AAED,MAAM,WAAW,mBAAoB,SAAQ,YAAY;IACxD,MAAM,EAAE,YAAY,CAAC;CACrB;AAED,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAC1D,eAAO,MAAM,kBAAkB,oBAA0C,CAAC;AAE1E,eAAO,MAAM,sBAAsB,6BAA6B,CAAC;AACjE,eAAO,MAAM,yBAAyB,oBAAiD,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
const value = {};
|
|
3
|
+
export const WiseFormContext = React.createContext(value);
|
|
4
|
+
export const useWiseFormContext = () => React.useContext(WiseFormContext);
|
|
5
|
+
export const WrappedWiseFormContext = React.createContext(value);
|
|
6
|
+
export const useWrappedWiseFormContext = () => React.useContext(WrappedWiseFormContext);
|
|
7
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../src/form/view/context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAmB1B,MAAM,KAAK,GAAiB,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1D,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { FormModel } from '@bgroup/wise-form/models';
|
|
2
|
+
export declare function useModel(settings: any, form?: FormModel): {
|
|
3
|
+
ready: boolean;
|
|
4
|
+
model: FormModel;
|
|
5
|
+
values: Record<string, any>;
|
|
6
|
+
type: string;
|
|
7
|
+
styles: {};
|
|
8
|
+
items: any;
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=use-model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-model.d.ts","sourceRoot":"","sources":["../../../../src/form/view/hooks/use-model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAGrD,wBAAgB,QAAQ,CAAC,QAAQ,KAAA,EAAE,IAAI,CAAC,EAAE,SAAS;;;;;;;EAgClD"}
|