@micromerce/formbuilder-react 1.0.658 → 1.0.661
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/dist/assets/icons/error/Error.js +6 -0
- package/dist/assets/icons/error/Error.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +37 -0
- package/dist/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/components/Checkbox/Checkbox.module.scss +10 -0
- package/dist/components/Checkbox/index.js +2 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/ControlWrapper/ControlWrapper.js +37 -0
- package/dist/components/ControlWrapper/ControlWrapper.js.map +1 -0
- package/dist/components/ControlWrapper/index.js +2 -0
- package/dist/components/ControlWrapper/index.js.map +1 -0
- package/dist/components/DateRangeGroup/DateRangeGroup.js +69 -0
- package/dist/components/DateRangeGroup/DateRangeGroup.js.map +1 -0
- package/dist/components/DateRangeGroup/DateRangeGroup.styles.js +59 -0
- package/dist/components/DateRangeGroup/DateRangeGroup.styles.js.map +1 -0
- package/dist/components/DateRangeGroup/components/CalendarModal.js +90 -0
- package/dist/components/DateRangeGroup/components/CalendarModal.js.map +1 -0
- package/dist/components/DateRangeGroup/index.js +2 -0
- package/dist/components/DateRangeGroup/index.js.map +1 -0
- package/dist/components/ErrorBoundary/ErrorBoundary.js +22 -0
- package/dist/components/ErrorBoundary/ErrorBoundary.js.map +1 -0
- package/dist/components/FileUploader/FileUploader.js +30 -0
- package/dist/components/FileUploader/FileUploader.js.map +1 -0
- package/dist/components/FileUploader/index.js +2 -0
- package/dist/components/FileUploader/index.js.map +1 -0
- package/dist/components/FormBuilder/FormBuilder.js +74 -0
- package/dist/components/FormBuilder/FormBuilder.js.map +1 -0
- package/dist/components/FormBuilder/FormBuilder.module.scss +94 -0
- package/dist/components/FormBuilder/index.js +2 -0
- package/dist/components/FormBuilder/index.js.map +1 -0
- package/dist/components/FormBuilder/utils/extractFormControlValues/extractFormControlValues.js +50 -0
- package/dist/components/FormBuilder/utils/extractFormControlValues/extractFormControlValues.js.map +1 -0
- package/dist/components/FormBuilder/utils/extractFormControlValues/index.js +2 -0
- package/dist/components/FormBuilder/utils/extractFormControlValues/index.js.map +1 -0
- package/dist/components/FormBuilder/utils/jsonToUrlEncoded/index.js +2 -0
- package/dist/components/FormBuilder/utils/jsonToUrlEncoded/index.js.map +1 -0
- package/dist/components/FormBuilder/utils/jsonToUrlEncoded/jsonToUrlEncoded.js +15 -0
- package/dist/components/FormBuilder/utils/jsonToUrlEncoded/jsonToUrlEncoded.js.map +1 -0
- package/dist/components/FormFooter/FormFooter.js +46 -0
- package/dist/components/FormFooter/FormFooter.js.map +1 -0
- package/dist/components/FormFooter/FormFooter.module.scss +65 -0
- package/dist/components/FormFooter/components/Switch.js +15 -0
- package/dist/components/FormFooter/components/Switch.js.map +1 -0
- package/dist/components/FormFooter/index.js +2 -0
- package/dist/components/FormFooter/index.js.map +1 -0
- package/dist/components/FormGroup/FormGroup.js +18 -0
- package/dist/components/FormGroup/FormGroup.js.map +1 -0
- package/dist/components/FormGroup/FormGroup.module.scss +69 -0
- package/dist/components/FormGroup/index.js +2 -0
- package/dist/components/FormGroup/index.js.map +1 -0
- package/dist/components/FormList/FormList.js +66 -0
- package/dist/components/FormList/FormList.js.map +1 -0
- package/dist/components/FormList/FormList.module.scss +173 -0
- package/dist/components/FormList/index.js +2 -0
- package/dist/components/FormList/index.js.map +1 -0
- package/dist/components/GeneralFormGroup/GeneralFormGroup.js +4 -0
- package/dist/components/GeneralFormGroup/GeneralFormGroup.js.map +1 -0
- package/dist/components/GeneralFormGroup/index.js +2 -0
- package/dist/components/GeneralFormGroup/index.js.map +1 -0
- package/dist/components/Group/Group.js +32 -0
- package/dist/components/Group/Group.js.map +1 -0
- package/dist/components/Group/Group.module.scss +28 -0
- package/dist/components/Group/index.js +2 -0
- package/dist/components/Group/index.js.map +1 -0
- package/dist/components/Input/Input.js +57 -0
- package/dist/components/Input/Input.js.map +1 -0
- package/dist/components/Input/Input.module.scss +3 -0
- package/dist/components/Input/index.js +2 -0
- package/dist/components/Input/index.js.map +1 -0
- package/dist/components/Input/input.styles.js +24 -0
- package/dist/components/Input/input.styles.js.map +1 -0
- package/dist/components/InputFreeSolo/InputFreeSolo.js +67 -0
- package/dist/components/InputFreeSolo/InputFreeSolo.js.map +1 -0
- package/dist/components/InputFreeSolo/InputFreeSolo.module.scss +29 -0
- package/dist/components/InputFreeSolo/index.js +2 -0
- package/dist/components/InputFreeSolo/index.js.map +1 -0
- package/dist/components/MrnInput/MrnInput.js +64 -0
- package/dist/components/MrnInput/MrnInput.js.map +1 -0
- package/dist/components/MrnInput/MrnInput.module.scss +31 -0
- package/dist/components/MrnInput/hooks/useMrn.js +92 -0
- package/dist/components/MrnInput/hooks/useMrn.js.map +1 -0
- package/dist/components/MrnInput/index.js +2 -0
- package/dist/components/MrnInput/index.js.map +1 -0
- package/dist/components/MrnInput/services/fetchMrn.js +30 -0
- package/dist/components/MrnInput/services/fetchMrn.js.map +1 -0
- package/dist/components/MrnInput/ui-helper/Link/Link.js +15 -0
- package/dist/components/MrnInput/ui-helper/Link/Link.js.map +1 -0
- package/dist/components/MrnInput/utils/mrnUtils/mrnUtils.js +35 -0
- package/dist/components/MrnInput/utils/mrnUtils/mrnUtils.js.map +1 -0
- package/dist/components/MrnInput/utils/resolveMrnLinks/resolveMrnLink.js +11 -0
- package/dist/components/MrnInput/utils/resolveMrnLinks/resolveMrnLink.js.map +1 -0
- package/dist/components/MrnInput/utils/resolveNestedQueryLink/resolveNestedQueryLink.js +19 -0
- package/dist/components/MrnInput/utils/resolveNestedQueryLink/resolveNestedQueryLink.js.map +1 -0
- package/dist/components/MrnInput/utils/urlSearchParam/urlSearchParam.js +8 -0
- package/dist/components/MrnInput/utils/urlSearchParam/urlSearchParam.js.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.js +61 -0
- package/dist/components/MultiSelect/MultiSelect.js.map +1 -0
- package/dist/components/MultiSelect/MultiSelect.module.scss +13 -0
- package/dist/components/MultiSelect/index.js +2 -0
- package/dist/components/MultiSelect/index.js.map +1 -0
- package/dist/components/MultiSelect/utils/extractSelectedOptionValues/extractSelectedOptionValues.js +21 -0
- package/dist/components/MultiSelect/utils/extractSelectedOptionValues/extractSelectedOptionValues.js.map +1 -0
- package/dist/components/MultiSelect/utils/extractSelectedOptionValues/index.js +2 -0
- package/dist/components/MultiSelect/utils/extractSelectedOptionValues/index.js.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.js +21 -0
- package/dist/components/PasswordInput/PasswordInput.js.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.module.scss +26 -0
- package/dist/components/PasswordInput/index.js +2 -0
- package/dist/components/PasswordInput/index.js.map +1 -0
- package/dist/components/QueryControl/QueryControl.js +95 -0
- package/dist/components/QueryControl/QueryControl.js.map +1 -0
- package/dist/components/QueryControl/data/defaultControls.js +95 -0
- package/dist/components/QueryControl/data/defaultControls.js.map +1 -0
- package/dist/components/QueryControl/index.js +2 -0
- package/dist/components/QueryControl/index.js.map +1 -0
- package/dist/components/QueryControl/ui-helper/Wrapper/QueryControlWrapper.js +8 -0
- package/dist/components/QueryControl/ui-helper/Wrapper/QueryControlWrapper.js.map +1 -0
- package/dist/components/QueryControl/ui-helper/Wrapper/QueryControlWrapper.styles.js +14 -0
- package/dist/components/QueryControl/ui-helper/Wrapper/QueryControlWrapper.styles.js.map +1 -0
- package/dist/components/QueryControl/ui-helper/Wrapper/index.js +2 -0
- package/dist/components/QueryControl/ui-helper/Wrapper/index.js.map +1 -0
- package/dist/components/QueryControl/utils/allControlsHidden/allControlsHidden.js +39 -0
- package/dist/components/QueryControl/utils/allControlsHidden/allControlsHidden.js.map +1 -0
- package/dist/components/QueryControl/utils/allControlsHidden/index.js +2 -0
- package/dist/components/QueryControl/utils/allControlsHidden/index.js.map +1 -0
- package/dist/components/QueryControl/utils/getMatchingControls.js +19 -0
- package/dist/components/QueryControl/utils/getMatchingControls.js.map +1 -0
- package/dist/components/QueryControl/utils/hasExpertControl/hasExpertControl.js +38 -0
- package/dist/components/QueryControl/utils/hasExpertControl/hasExpertControl.js.map +1 -0
- package/dist/components/QueryControl/utils/hasExpertControl/index.js +2 -0
- package/dist/components/QueryControl/utils/hasExpertControl/index.js.map +1 -0
- package/dist/components/QueryControl/utils/hideGroup/hideGroup.js +9 -0
- package/dist/components/QueryControl/utils/hideGroup/hideGroup.js.map +1 -0
- package/dist/components/QueryControl/utils/hideGroup/index.js +2 -0
- package/dist/components/QueryControl/utils/hideGroup/index.js.map +1 -0
- package/dist/components/Select/Select.js +67 -0
- package/dist/components/Select/Select.js.map +1 -0
- package/dist/components/Select/Select.module.scss +15 -0
- package/dist/components/Select/index.js +2 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/Select/utils/getSelectedOption.js +8 -0
- package/dist/components/Select/utils/getSelectedOption.js.map +1 -0
- package/dist/components/Textarea/Textarea.js +55 -0
- package/dist/components/Textarea/Textarea.js.map +1 -0
- package/dist/components/Textarea/Textarea.module.scss +14 -0
- package/dist/components/Textarea/Textarea.types.js +2 -0
- package/dist/components/Textarea/Textarea.types.js.map +1 -0
- package/dist/components/Textarea/aiWrapper/aiAction.js +21 -0
- package/dist/components/Textarea/aiWrapper/aiAction.js.map +1 -0
- package/dist/components/Textarea/aiWrapper/aiLayout.js +21 -0
- package/dist/components/Textarea/aiWrapper/aiLayout.js.map +1 -0
- package/dist/components/Textarea/aiWrapper/index.js +29 -0
- package/dist/components/Textarea/aiWrapper/index.js.map +1 -0
- package/dist/components/Textarea/aiWrapper/useAi.js +74 -0
- package/dist/components/Textarea/aiWrapper/useAi.js.map +1 -0
- package/dist/components/Textarea/editors/Default.js +26 -0
- package/dist/components/Textarea/editors/Default.js.map +1 -0
- package/dist/components/Textarea/editors/Html.js +9 -0
- package/dist/components/Textarea/editors/Html.js.map +1 -0
- package/dist/components/Textarea/editors/Json.js +9 -0
- package/dist/components/Textarea/editors/Json.js.map +1 -0
- package/dist/components/Textarea/editors/Markdown.js +20 -0
- package/dist/components/Textarea/editors/Markdown.js.map +1 -0
- package/dist/components/Textarea/editors/Richtext.js +13 -0
- package/dist/components/Textarea/editors/Richtext.js.map +1 -0
- package/dist/components/Textarea/index.js +2 -0
- package/dist/components/Textarea/index.js.map +1 -0
- package/dist/components/addressGroup/AddressGroup.js +39 -0
- package/dist/components/addressGroup/AddressGroup.js.map +1 -0
- package/dist/components/addressGroup/AddressGroup.module.scss +72 -0
- package/dist/components/addressGroup/index.js +2 -0
- package/dist/components/addressGroup/index.js.map +1 -0
- package/dist/components/addressGroup/utils/Countries.js +1249 -0
- package/dist/components/addressGroup/utils/Countries.js.map +1 -0
- package/dist/components/states/error/index.js +15 -0
- package/dist/components/states/error/index.js.map +1 -0
- package/dist/context/FormData.js +109 -0
- package/dist/context/FormData.js.map +1 -0
- package/dist/hooks/useDependent/enhanced/useInputDependent/useInputDependent.js +36 -0
- package/dist/hooks/useDependent/enhanced/useInputDependent/useInputDependent.js.map +1 -0
- package/dist/hooks/useDependent/enhanced/useOptionsGenerator/useOptionsGenerator.js +16 -0
- package/dist/hooks/useDependent/enhanced/useOptionsGenerator/useOptionsGenerator.js.map +1 -0
- package/dist/hooks/useDependent/useDependent.js +86 -0
- package/dist/hooks/useDependent/useDependent.js.map +1 -0
- package/dist/hooks/useValueGenerator/useValueGenerator.js +99 -0
- package/dist/hooks/useValueGenerator/useValueGenerator.js.map +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/index.js +17 -0
- package/dist/index.js.map +1 -0
- package/dist/styles/Hidden.styles.js +16 -0
- package/dist/styles/Hidden.styles.js.map +1 -0
- package/dist/styles/Skeleton.js +40 -0
- package/dist/styles/Skeleton.js.map +1 -0
- package/dist/styles/Textfield.styles.js +34 -0
- package/dist/styles/Textfield.styles.js.map +1 -0
- package/dist/styles/formControl.module.scss +59 -0
- package/dist/testutils.js +22 -0
- package/dist/testutils.js.map +1 -0
- package/dist/types/controlProps.js +2 -0
- package/dist/types/controlProps.js.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -0
- package/dist/ui/menu/hooks/useMenu.js +41 -0
- package/dist/ui/menu/hooks/useMenu.js.map +1 -0
- package/dist/ui/menu/index.js +13 -0
- package/dist/ui/menu/index.js.map +1 -0
- package/dist/ui/menu/test/createControl.js +30 -0
- package/dist/ui/menu/test/createControl.js.map +1 -0
- package/dist/ui/menu/utils/detemineSubmenuTabs/index.js +82 -0
- package/dist/ui/menu/utils/detemineSubmenuTabs/index.js.map +1 -0
- package/dist/ui-helper/HeaderCollapseButton/index.js +9 -0
- package/dist/ui-helper/HeaderCollapseButton/index.js.map +1 -0
- package/dist/ui-helper/notifications/Error.js +77 -0
- package/dist/ui-helper/notifications/Error.js.map +1 -0
- package/dist/ui-helper/notifications/images/background.js +7 -0
- package/dist/ui-helper/notifications/images/background.js.map +1 -0
- package/dist/ui-helper/notifications/images/spinner.js +6 -0
- package/dist/ui-helper/notifications/images/spinner.js.map +1 -0
- package/dist/ui-helper/notifications/images/under-improvement.js +6 -0
- package/dist/ui-helper/notifications/images/under-improvement.js.map +1 -0
- package/dist/utils/findFormControlError/index.js +24 -0
- package/dist/utils/findFormControlError/index.js.map +1 -0
- package/dist/utils/hasGroupRequiredFieldsWithValues/index.js +22 -0
- package/dist/utils/hasGroupRequiredFieldsWithValues/index.js.map +1 -0
- package/package.json +2 -4
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
const Error = () => {
|
|
3
|
+
return (_jsx("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M8.1 11.7H9.9V13.5H8.1V11.7ZM8.1 4.5H9.9V9.9H8.1V4.5ZM8.991 0C4.023 0 0 4.032 0 9C0 13.968 4.023 18 8.991 18C13.968 18 18 13.968 18 9C18 4.032 13.968 0 8.991 0ZM9 16.2C5.022 16.2 1.8 12.978 1.8 9C1.8 5.022 5.022 1.8 9 1.8C12.978 1.8 16.2 5.022 16.2 9C16.2 12.978 12.978 16.2 9 16.2Z", fill: "#B01F14" }) }));
|
|
4
|
+
};
|
|
5
|
+
export default Error;
|
|
6
|
+
//# sourceMappingURL=Error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../../src/assets/icons/error/Error.tsx"],"names":[],"mappings":";AAEA,MAAM,KAAK,GAAG,GAAG,EAAE;IACjB,OAAO,CACL,cACE,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,OAAO,EAAC,WAAW,EACnB,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B,YAElC,eACE,CAAC,EAAC,4RAA4R,EAC9R,IAAI,EAAC,SAAS,GACd,GACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Checkbox from "@mui/material/Checkbox";
|
|
3
|
+
import omit from "lodash/omit";
|
|
4
|
+
import { useEffect, } from "react";
|
|
5
|
+
import * as formControlStyles from "../../styles/formControl.module.scss";
|
|
6
|
+
import * as styles from "./Checkbox.module.scss";
|
|
7
|
+
const EnhancedCheckbox = ({ onChangeValue, ...props }) => {
|
|
8
|
+
const { control, id, objectPathId } = props;
|
|
9
|
+
const { selected = false } = control;
|
|
10
|
+
const value = control.value || "on";
|
|
11
|
+
const currObjectPathId = objectPathId || id;
|
|
12
|
+
//* set default value on first render -> add unit test when wrapper component is available
|
|
13
|
+
useEffect(() => {
|
|
14
|
+
onChangeValue({ value: control.selected ? value : "" });
|
|
15
|
+
}, []);
|
|
16
|
+
const onClick = () => {
|
|
17
|
+
onChangeValue({
|
|
18
|
+
selected: !control.selected,
|
|
19
|
+
value: !control.selected ? value : "",
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
const inputProps = Object.assign(omit(props, ["objectPathId", "checked", "control", "displayName", "error"]), {
|
|
23
|
+
name: currObjectPathId,
|
|
24
|
+
value: value,
|
|
25
|
+
type: control.control,
|
|
26
|
+
role: control.control,
|
|
27
|
+
});
|
|
28
|
+
return (_jsx(Checkbox, { className: `${formControlStyles["form-control"]} ${styles["checkbox-container"]}`, id: currObjectPathId, color: "default", checked: selected, readOnly: control["custom-attributes"]?.readOnly, onClick: onClick, inputProps: inputProps, sx: {
|
|
29
|
+
marginLeft: "-11px",
|
|
30
|
+
color: "rgba(0,0,0,0.54)",
|
|
31
|
+
"&:checked": {
|
|
32
|
+
color: "rgba(0,0,0,0.54)",
|
|
33
|
+
},
|
|
34
|
+
} }));
|
|
35
|
+
};
|
|
36
|
+
export default EnhancedCheckbox;
|
|
37
|
+
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAC9C,OAAO,IAAI,MAAM,aAAa,CAAC;AAC/B,OAAc,EAGZ,SAAS,GACV,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,iBAAiB,MAAM,sCAAsC,CAAC;AAE1E,OAAO,KAAK,MAAM,MAAM,wBAAwB,CAAC;AAajD,MAAM,gBAAgB,GAAG,CAAC,EAAE,aAAa,EAAE,GAAG,KAAK,EAAU,EAAE,EAAE;IAC/D,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAC5C,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IAEpC,MAAM,gBAAgB,GAAG,YAAY,IAAI,EAAE,CAAC;IAE5C,0FAA0F;IAC1F,SAAS,CAAC,GAAG,EAAE;QACb,aAAa,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,aAAa,CAAC;YACZ,QAAQ,EAAE,CAAC,OAAO,CAAC,QAAQ;YAC3B,KAAK,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;SACtC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAC9B,IAAI,CAAC,KAAK,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC,EAC3E;QACE,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,OAAO,CAAC,OAAO;QACrB,IAAI,EAAE,OAAO,CAAC,OAAO;KACtB,CACF,CAAC;IAEF,OAAO,CACL,KAAC,QAAQ,IACP,SAAS,EAAE,GAAG,iBAAiB,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,oBAAoB,CAAC,EAAE,EACjF,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAC,SAAS,EACf,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,OAAO,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAChD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,EAAE,EAAE;YACF,UAAU,EAAE,OAAO;YACnB,KAAK,EAAE,kBAAkB;YACzB,WAAW,EAAE;gBACX,KAAK,EAAE,kBAAkB;aAC1B;SACF,GACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/Checkbox/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import mergeWith from "lodash/mergeWith";
|
|
3
|
+
import { useContext } from "react";
|
|
4
|
+
import { FormDataContext } from "../../context/FormData";
|
|
5
|
+
import FormGroup from "../FormGroup";
|
|
6
|
+
const Wrapper = ({ Control, config, isExpert, hideLabel = false, controlProps, }) => {
|
|
7
|
+
const { control, id, objectPathId, groupIsRequired } = config;
|
|
8
|
+
const { error, displayName, required } = control;
|
|
9
|
+
const { updateControl } = useContext(FormDataContext);
|
|
10
|
+
const handleOnChange = (newProperties, customizer) => {
|
|
11
|
+
const mergeProps = {
|
|
12
|
+
hasChanged: true,
|
|
13
|
+
...newProperties,
|
|
14
|
+
};
|
|
15
|
+
updateControl(objectPathId || id, mergeWith({}, control, mergeProps, customizer));
|
|
16
|
+
};
|
|
17
|
+
const formGroupProps = {
|
|
18
|
+
id,
|
|
19
|
+
objectPathId,
|
|
20
|
+
error: error?.message,
|
|
21
|
+
displayName,
|
|
22
|
+
hideLabel,
|
|
23
|
+
isExpert,
|
|
24
|
+
required: groupIsRequired ? required : false,
|
|
25
|
+
};
|
|
26
|
+
const enhancedConfig = {
|
|
27
|
+
objectPathId,
|
|
28
|
+
id,
|
|
29
|
+
control: {
|
|
30
|
+
...control,
|
|
31
|
+
required: groupIsRequired ? required : false,
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
return (_jsx(FormGroup, { controlProps: controlProps, ...formGroupProps, children: _jsx(Control, { controlProps: controlProps, onChangeValue: handleOnChange, ...enhancedConfig }) }));
|
|
35
|
+
};
|
|
36
|
+
export default Wrapper;
|
|
37
|
+
//# sourceMappingURL=ControlWrapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ControlWrapper.js","sourceRoot":"","sources":["../../../src/components/ControlWrapper/ControlWrapper.tsx"],"names":[],"mappings":";AAAA,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,SAAS,MAAM,cAAc,CAAC;AAYrC,MAAM,OAAO,GAAG,CAAC,EACf,OAAO,EACP,MAAM,EACN,QAAQ,EACR,SAAS,GAAG,KAAK,EACjB,YAAY,GACE,EAAE,EAAE;IAClB,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,MAAM,CAAC;IAC9D,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAEjD,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAEtD,MAAM,cAAc,GAAG,CACrB,aAAgC,EAChC,UAAkC,EAClC,EAAE;QACF,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE,IAAI;YAChB,GAAG,aAAa;SACjB,CAAC;QACF,aAAa,CACX,YAAY,IAAI,EAAE,EAClB,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,CAAC,CAC/C,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,EAAE;QACF,YAAY;QACZ,KAAK,EAAE,KAAK,EAAE,OAAO;QACrB,WAAW;QACX,SAAS;QACT,QAAQ;QACR,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;KAC7C,CAAC;IAEF,MAAM,cAAc,GAAG;QACrB,YAAY;QACZ,EAAE;QACF,OAAO,EAAE;YACP,GAAG,OAAO;YACV,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;SAC7C;KACF,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,IAAC,YAAY,EAAE,YAAY,KAAM,cAAc,YACvD,KAAC,OAAO,IACN,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,cAAc,KACzB,cAAc,GAClB,GACQ,CACb,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/ControlWrapper/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import Menu from "@mui/material/Menu";
|
|
3
|
+
import mergeWith from "lodash/mergeWith";
|
|
4
|
+
import { useContext, useState } from "react";
|
|
5
|
+
import { FormDataContext } from "../../context/FormData";
|
|
6
|
+
import * as formModalStyles from "../../styles/formControl.module.scss";
|
|
7
|
+
import Input from "../Input";
|
|
8
|
+
import { StyledDateRangeGroupContainer, Styledlabel, } from "./DateRangeGroup.styles";
|
|
9
|
+
import CalendarModal from "./components/CalendarModal";
|
|
10
|
+
const DateRangeGroup = ({ controlProps, ...props }) => {
|
|
11
|
+
const { id, control, objectPathId } = props;
|
|
12
|
+
const { displayName, controls } = control;
|
|
13
|
+
const [anchorEl, setAnchorEl] = useState(null);
|
|
14
|
+
const open = Boolean(anchorEl);
|
|
15
|
+
const currObjectPathId = objectPathId || id;
|
|
16
|
+
const { from, to } = controls;
|
|
17
|
+
const { updateControl } = useContext(FormDataContext);
|
|
18
|
+
const DateToString = (date) => {
|
|
19
|
+
const year = date.toLocaleString("default", { year: "numeric" });
|
|
20
|
+
const month = date.toLocaleString("default", { month: "2-digit" });
|
|
21
|
+
const day = date.toLocaleString("default", { day: "2-digit" });
|
|
22
|
+
return year + "-" + month + "-" + day;
|
|
23
|
+
};
|
|
24
|
+
const fromControlConfig = {
|
|
25
|
+
id,
|
|
26
|
+
objectPathId: `${currObjectPathId}.controls.from`,
|
|
27
|
+
control: from,
|
|
28
|
+
hasClearButton: true,
|
|
29
|
+
};
|
|
30
|
+
const handleFromInputChange = (newProperties, customizer) => {
|
|
31
|
+
updateControl(fromControlConfig.objectPathId || id, mergeWith({}, fromControlConfig.control, newProperties, customizer));
|
|
32
|
+
};
|
|
33
|
+
const toControlConfig = {
|
|
34
|
+
id,
|
|
35
|
+
objectPathId: `${currObjectPathId}.controls.to`,
|
|
36
|
+
control: to,
|
|
37
|
+
hasClearButton: true,
|
|
38
|
+
};
|
|
39
|
+
const isRequired = fromControlConfig.control?.required || toControlConfig.control?.required;
|
|
40
|
+
const handleToInputChange = (newProperties, customizer) => {
|
|
41
|
+
updateControl(toControlConfig.objectPathId || id, mergeWith({}, toControlConfig.control, newProperties, customizer));
|
|
42
|
+
};
|
|
43
|
+
const handleDateChange = (date, keepModalState) => {
|
|
44
|
+
handleFromInputChange({ value: DateToString(date.startDate) });
|
|
45
|
+
handleToInputChange({ value: DateToString(date.endDate) });
|
|
46
|
+
!keepModalState && setAnchorEl(null);
|
|
47
|
+
};
|
|
48
|
+
const handleCalendarOpen = (e) => {
|
|
49
|
+
e.preventDefault();
|
|
50
|
+
setAnchorEl(e.currentTarget);
|
|
51
|
+
};
|
|
52
|
+
const handleClearFromInput = () => {
|
|
53
|
+
handleFromInputChange({ value: "" });
|
|
54
|
+
};
|
|
55
|
+
const handleClearToInput = () => {
|
|
56
|
+
handleToInputChange({ value: "" });
|
|
57
|
+
};
|
|
58
|
+
const calendarModalConfig = {
|
|
59
|
+
handleDateChange,
|
|
60
|
+
from: fromControlConfig.control.value,
|
|
61
|
+
to: toControlConfig.control.value,
|
|
62
|
+
};
|
|
63
|
+
const controlWrapperStyle = controlProps?.controlWrapperProps?.style ?? {};
|
|
64
|
+
const controlWrapperLabelStyle = controlProps?.controlWrapperProps?.label?.style ?? {};
|
|
65
|
+
const controlWrapperContainerStyle = controlProps?.controlWrapperProps?.container?.style ?? {};
|
|
66
|
+
return (_jsxs(StyledDateRangeGroupContainer, { "data-testid": "dateRangeGroup__Container", style: controlWrapperStyle, children: [_jsxs(Styledlabel, { "data-testid": "dateRangeGroup__displayName", style: controlWrapperLabelStyle, children: [displayName, isRequired && " *"] }), _jsxs("div", { className: formModalStyles.daterangequerycontainer, style: controlWrapperContainerStyle, children: [_jsx(Input, { controlProps: controlProps, "data-testid": "dateRangeGroup__inputFrom", onClearCallback: handleClearFromInput, onClick: handleCalendarOpen, onChangeValue: handleFromInputChange, ...fromControlConfig }), _jsx(Input, { controlProps: controlProps, "data-testid": "dateRangeGroup__inputTo", onClearCallback: handleClearToInput, onClick: handleCalendarOpen, onChangeValue: handleToInputChange, ...toControlConfig }), _jsx(Menu, { anchorEl: anchorEl, open: open, onClose: () => setAnchorEl(null), anchorOrigin: { vertical: "bottom", horizontal: "left" }, "data-testid": "dateRangeGroup__calendarModal", children: _jsx(CalendarModal, { ...calendarModalConfig }) })] })] }));
|
|
67
|
+
};
|
|
68
|
+
export default DateRangeGroup;
|
|
69
|
+
//# sourceMappingURL=DateRangeGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateRangeGroup.js","sourceRoot":"","sources":["../../../src/components/DateRangeGroup/DateRangeGroup.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import styled from "styled-components";
|
|
2
|
+
import Input from "../Input";
|
|
3
|
+
export const StyledDateRangeGroupContainer = styled.div `
|
|
4
|
+
position: relative;
|
|
5
|
+
font-size: 14px;
|
|
6
|
+
font-weight: 400;
|
|
7
|
+
box-sizing: border-box;
|
|
8
|
+
display: flex;
|
|
9
|
+
justify-content: space-between;
|
|
10
|
+
gap: 10px;
|
|
11
|
+
padding: 10px 0;
|
|
12
|
+
margin-bottom: -10px;
|
|
13
|
+
@media screen and (max-width: 767px) {
|
|
14
|
+
flex-direction: column;
|
|
15
|
+
gap: 5px;
|
|
16
|
+
}
|
|
17
|
+
container-type: inline-size;
|
|
18
|
+
`;
|
|
19
|
+
export const Styledlabel = styled.label `
|
|
20
|
+
font-size: 14px;
|
|
21
|
+
font-weight: 400;
|
|
22
|
+
width: 200px;
|
|
23
|
+
text-align: right;
|
|
24
|
+
flex-shrink: 0;
|
|
25
|
+
margin: 0 !important;
|
|
26
|
+
padding-top: 9px;
|
|
27
|
+
font-size: 14px;
|
|
28
|
+
@media screen and (max-width: 767px) {
|
|
29
|
+
text-align: left;
|
|
30
|
+
}
|
|
31
|
+
`;
|
|
32
|
+
export const StyledInput = styled(Input) `
|
|
33
|
+
font-size: 14px;
|
|
34
|
+
font-weight: 400;
|
|
35
|
+
box-sizing: border-box;
|
|
36
|
+
padding: 6px 12px;
|
|
37
|
+
width: 40%;
|
|
38
|
+
outline: none;
|
|
39
|
+
border: 1px solid #ccc;
|
|
40
|
+
font-size: 14px;
|
|
41
|
+
color: #555;
|
|
42
|
+
box-shadow: none !important;
|
|
43
|
+
border-radius: 4px;
|
|
44
|
+
&:hover,
|
|
45
|
+
&:focus {
|
|
46
|
+
border: 1px solid rgba(0, 0, 0, 0.87);
|
|
47
|
+
}
|
|
48
|
+
&::-moz-placeholder {
|
|
49
|
+
color: #999;
|
|
50
|
+
opacity: 1;
|
|
51
|
+
}
|
|
52
|
+
&:-ms-input-placeholder {
|
|
53
|
+
color: #999;
|
|
54
|
+
}
|
|
55
|
+
&::-webkit-input-placeholder {
|
|
56
|
+
color: #999;
|
|
57
|
+
}
|
|
58
|
+
`;
|
|
59
|
+
//# sourceMappingURL=DateRangeGroup.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DateRangeGroup.styles.js","sourceRoot":"","sources":["../../../src/components/DateRangeGroup/DateRangeGroup.styles.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,KAAK,MAAM,UAAU,CAAC;AAE7B,MAAM,CAAC,MAAM,6BAA6B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;CAetD,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;;;;;;;;;;;;CAYtC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BvC,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import CheckCircleIcon from "@mui/icons-material/CheckCircle";
|
|
3
|
+
import Button from "@mui/material/Button";
|
|
4
|
+
import { useEffect, useState } from "react";
|
|
5
|
+
import { DateRange, DefinedRange } from "react-date-range";
|
|
6
|
+
import "react-date-range/dist/styles.css";
|
|
7
|
+
import "react-date-range/dist/theme/default.css";
|
|
8
|
+
const CalendarModal = ({ handleDateChange, from, to }) => {
|
|
9
|
+
const [state, setState] = useState([
|
|
10
|
+
{
|
|
11
|
+
startDate: new Date(),
|
|
12
|
+
endDate: new Date(),
|
|
13
|
+
key: "selection",
|
|
14
|
+
},
|
|
15
|
+
]);
|
|
16
|
+
const [isMobile, setMobile] = useState(window.matchMedia("(max-width: 615px)").matches);
|
|
17
|
+
const [isSmallerCalender, setSmallerCalender] = useState(window.matchMedia("(max-width: 1200px)").matches);
|
|
18
|
+
const handleMobile = () => {
|
|
19
|
+
const onlyOne = window.matchMedia("(max-width: 1200px)").matches;
|
|
20
|
+
onlyOne !== isSmallerCalender && setSmallerCalender(onlyOne);
|
|
21
|
+
const matchMedia = window.matchMedia("(max-width: 615px)").matches;
|
|
22
|
+
matchMedia !== isMobile && setMobile(matchMedia);
|
|
23
|
+
};
|
|
24
|
+
window.addEventListener("resize", handleMobile);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
let fromArr = [];
|
|
27
|
+
let toArr = [];
|
|
28
|
+
if (from)
|
|
29
|
+
fromArr = from.split("-");
|
|
30
|
+
if (to)
|
|
31
|
+
toArr = to.split("-");
|
|
32
|
+
const newStartDate = from
|
|
33
|
+
? new Date(Number(fromArr[0]), Number(fromArr[1]) - 1, Number(fromArr[2]))
|
|
34
|
+
: new Date();
|
|
35
|
+
const newEndDate = to
|
|
36
|
+
? new Date(Number(toArr[0]), Number(toArr[1]) - 1, Number(toArr[2]))
|
|
37
|
+
: newStartDate;
|
|
38
|
+
setState([
|
|
39
|
+
{
|
|
40
|
+
startDate: newStartDate,
|
|
41
|
+
endDate: newEndDate,
|
|
42
|
+
key: "selection",
|
|
43
|
+
},
|
|
44
|
+
]);
|
|
45
|
+
}, [from, to]);
|
|
46
|
+
const handleCalendarLogic = (selection, keepModalState) => {
|
|
47
|
+
setState(selection);
|
|
48
|
+
if (selection[0].startDate !== selection[0].endDate) {
|
|
49
|
+
handleDateChange(selection[0], keepModalState);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const handleClose = () => {
|
|
53
|
+
handleDateChange(state[0]);
|
|
54
|
+
};
|
|
55
|
+
return (_jsx("div", { children: isMobile ? (_jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [_jsx(DateRange, { onChange: (item) => handleCalendarLogic([item.selection]), moveRangeOnFirstSelection: false, ranges: state, direction: "horizontal" }), _jsxs(Button, { variant: "contained", size: "medium", sx: {
|
|
56
|
+
display: "flex",
|
|
57
|
+
alignItems: "center",
|
|
58
|
+
alignSelf: "flex-end",
|
|
59
|
+
marginRight: "16px",
|
|
60
|
+
marginBottom: "16px",
|
|
61
|
+
gap: "8px",
|
|
62
|
+
width: "fit-content",
|
|
63
|
+
backgroundColor: "#4A96D2",
|
|
64
|
+
boxShadow: "none",
|
|
65
|
+
"&:hover": {
|
|
66
|
+
backgroundColor: "#0B5BA6",
|
|
67
|
+
boxShadow: "none",
|
|
68
|
+
},
|
|
69
|
+
}, onClick: handleClose, children: [_jsx("p", { style: {
|
|
70
|
+
all: "unset",
|
|
71
|
+
}, children: "CONFIRM" }), _jsx(CheckCircleIcon, { style: { color: "white", width: "20px", height: "20px" } })] })] })) : (_jsxs("div", { style: { display: "flex", flexDirection: "column" }, children: [_jsxs("div", { style: { display: "flex" }, children: [_jsx(DefinedRange, { ranges: state, onChange: (item) => handleCalendarLogic([item.selection], true) }), _jsx(DateRange, { ranges: state, onChange: (item) => handleCalendarLogic([item.selection]), showDateDisplay: false, direction: "horizontal", months: isSmallerCalender ? 1 : 2, "data-testid": "date-range-picker" })] }), _jsxs(Button, { variant: "contained", size: "medium", sx: {
|
|
72
|
+
display: "flex",
|
|
73
|
+
alignItems: "center",
|
|
74
|
+
alignSelf: "flex-end",
|
|
75
|
+
marginRight: "16px",
|
|
76
|
+
marginBottom: "16px",
|
|
77
|
+
gap: "8px",
|
|
78
|
+
width: "fit-content",
|
|
79
|
+
backgroundColor: "#4A96D2",
|
|
80
|
+
boxShadow: "none",
|
|
81
|
+
"&:hover": {
|
|
82
|
+
backgroundColor: "#0B5BA6",
|
|
83
|
+
boxShadow: "none",
|
|
84
|
+
},
|
|
85
|
+
}, onClick: handleClose, children: [_jsx("p", { style: {
|
|
86
|
+
all: "unset",
|
|
87
|
+
}, children: "CONFIRM" }), _jsx(CheckCircleIcon, { style: { color: "white", width: "20px", height: "20px" } })] })] })) }));
|
|
88
|
+
};
|
|
89
|
+
export default CalendarModal;
|
|
90
|
+
//# sourceMappingURL=CalendarModal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CalendarModal.js","sourceRoot":"","sources":["../../../../src/components/DateRangeGroup/components/CalendarModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/DateRangeGroup/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Component } from "react";
|
|
3
|
+
import { StyledQueryControlWrapper } from "../QueryControl/ui-helper/Wrapper/QueryControlWrapper.styles";
|
|
4
|
+
class ErrorBoundary extends Component {
|
|
5
|
+
state = {
|
|
6
|
+
hasError: false,
|
|
7
|
+
};
|
|
8
|
+
static getDerivedStateFromError(_) {
|
|
9
|
+
return { hasError: true };
|
|
10
|
+
}
|
|
11
|
+
componentDidCatch(error, errorInfo) {
|
|
12
|
+
console.error("Uncaught error:", error, errorInfo);
|
|
13
|
+
}
|
|
14
|
+
render() {
|
|
15
|
+
if (this.state.hasError) {
|
|
16
|
+
return (_jsx(StyledQueryControlWrapper, { children: _jsx("p", { style: { paddingLeft: 205 }, children: "Ein Fehler ist aufgetreten, bitte erneut versuchen" }) }));
|
|
17
|
+
}
|
|
18
|
+
return this.props.children;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
export default ErrorBoundary;
|
|
22
|
+
//# sourceMappingURL=ErrorBoundary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorBoundary.js","sourceRoot":"","sources":["../../../src/components/ErrorBoundary/ErrorBoundary.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,8DAA8D,CAAC;AAUzG,MAAM,aAAc,SAAQ,SAAuB;IAC1C,KAAK,GAAU;QACpB,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEK,MAAM,CAAC,wBAAwB,CAAC,CAAQ;QAC7C,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IAC5B,CAAC;IAEM,iBAAiB,CAAC,KAAY,EAAE,SAAoB;QACzD,OAAO,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAEM,MAAM;QACX,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,CACL,KAAC,yBAAyB,cACxB,YAAG,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,EAAE,mEAE1B,GACsB,CAC7B,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;CACF;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { FileUploader as FileUploaderComponent, } from "@micromerce/media-fileuploader";
|
|
3
|
+
import { useContext } from "react";
|
|
4
|
+
import { FormDataContext } from "../../context/FormData";
|
|
5
|
+
const FileUploader = ({ ...props }) => {
|
|
6
|
+
const { control, onChangeValue } = props;
|
|
7
|
+
const { "custom-attributes": customAttributes, error, value } = control;
|
|
8
|
+
const { fileUploaderConfig } = useContext(FormDataContext);
|
|
9
|
+
if (!fileUploaderConfig) {
|
|
10
|
+
throw new Error("fileUploaderConfig Prop is not defined");
|
|
11
|
+
}
|
|
12
|
+
const { info, endpoints, language, previewUrl, authorizationHeader } = fileUploaderConfig;
|
|
13
|
+
const fileUploaderProps = {
|
|
14
|
+
value,
|
|
15
|
+
info,
|
|
16
|
+
error: error?.message,
|
|
17
|
+
tags: customAttributes?.tags,
|
|
18
|
+
type: customAttributes?.media,
|
|
19
|
+
readOnly: customAttributes?.readonly,
|
|
20
|
+
mode: "stateful",
|
|
21
|
+
endpoints,
|
|
22
|
+
language,
|
|
23
|
+
onUploadSuccess: (v) => onChangeValue({ value: v, error: "" }),
|
|
24
|
+
previewUrl,
|
|
25
|
+
authorizationHeader,
|
|
26
|
+
};
|
|
27
|
+
return (_jsx("div", { "data-testid": "fileuploader__widget", children: _jsx(FileUploaderComponent, { ...fileUploaderProps }) }));
|
|
28
|
+
};
|
|
29
|
+
export default FileUploader;
|
|
30
|
+
//# sourceMappingURL=FileUploader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUploader.js","sourceRoot":"","sources":["../../../src/components/FileUploader/FileUploader.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,YAAY,IAAI,qBAAqB,GAEtC,MAAM,gCAAgC,CAAC;AACxC,OAAc,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAUzD,MAAM,YAAY,GAAG,CAAC,EAAE,GAAG,KAAK,EAAU,EAAE,EAAE;IAC5C,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IACzC,MAAM,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IACxE,MAAM,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IAE3D,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,mBAAmB,EAAE,GAClE,kBAAkB,CAAC;IAErB,MAAM,iBAAiB,GAAkB;QACvC,KAAK;QACL,IAAI;QACJ,KAAK,EAAE,KAAK,EAAE,OAAO;QACrB,IAAI,EAAE,gBAAgB,EAAE,IAAI;QAC5B,IAAI,EAAE,gBAAgB,EAAE,KAAK;QAC7B,QAAQ,EAAE,gBAAgB,EAAE,QAAQ;QACpC,IAAI,EAAE,UAAU;QAChB,SAAS;QACT,QAAQ;QACR,eAAe,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACtE,UAAU;QACV,mBAAmB;KACpB,CAAC;IAEF,OAAO,CACL,6BAAiB,sBAAsB,YACrC,KAAC,qBAAqB,OAAK,iBAAiB,GAAI,GAC5C,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FileUploader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { ThemeProvider, createTheme } from "@mui/material";
|
|
3
|
+
import cx from "classnames";
|
|
4
|
+
import React, { forwardRef, useContext, useEffect, useRef, useState, } from "react";
|
|
5
|
+
import { FormDataContext, FormDataProvider } from "../../context/FormData";
|
|
6
|
+
import Menu from "../../ui/menu";
|
|
7
|
+
import useMenu from "../../ui/menu/hooks/useMenu";
|
|
8
|
+
import FormFooter from "../FormFooter/";
|
|
9
|
+
import QueryControl from "../QueryControl";
|
|
10
|
+
import * as styles from "./FormBuilder.module.scss";
|
|
11
|
+
import extractFormControlValues from "./utils/extractFormControlValues";
|
|
12
|
+
import jsonToUrlEncoded from "./utils/jsonToUrlEncoded";
|
|
13
|
+
const FormBuilder = ({ config, controlProps, fileUploaderConfig, iconType, state, resolveUrl, onSubmit, postGenAiMessage, }) => {
|
|
14
|
+
const { items, error, method } = config;
|
|
15
|
+
const [formError, setFormError] = useState(error?.message);
|
|
16
|
+
const [formState, setFormState] = useState(state || "");
|
|
17
|
+
const [formSubmitted, setFormSubmitted] = useState(false);
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
//* Reset formSubmitted when items change, because the form submission is async.
|
|
20
|
+
//* This useEffect prevents the race condition where formSubmitted is triggered before items are updated.
|
|
21
|
+
if (formSubmitted)
|
|
22
|
+
setFormSubmitted(false);
|
|
23
|
+
}, [items]);
|
|
24
|
+
const formRef = useRef(null);
|
|
25
|
+
const toggleFormSubmitted = () => setFormSubmitted(true);
|
|
26
|
+
if (!config) {
|
|
27
|
+
console.log("form config missing");
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!items) {
|
|
31
|
+
console.log("Items have to be defined in form config");
|
|
32
|
+
}
|
|
33
|
+
const onSubmitForm = async (controls) => {
|
|
34
|
+
if (!formRef.current.checkValidity()) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
setFormState("processing");
|
|
38
|
+
const formValues = extractFormControlValues(controls);
|
|
39
|
+
const urlEncodedFormValues = jsonToUrlEncoded(formValues);
|
|
40
|
+
onSubmit(urlEncodedFormValues, formValues)
|
|
41
|
+
.then(() => {
|
|
42
|
+
setFormState("success");
|
|
43
|
+
toggleFormSubmitted();
|
|
44
|
+
})
|
|
45
|
+
.catch((error) => {
|
|
46
|
+
console.error("error submitting form", error);
|
|
47
|
+
setFormError(`${error.message}`);
|
|
48
|
+
setFormState("error");
|
|
49
|
+
toggleFormSubmitted();
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
return (_jsx(FormDataProvider, { controls: items, fileUploaderConfig: fileUploaderConfig, resolveUrl: resolveUrl, postGenAiMessage: postGenAiMessage, children: _jsxs(ThemeProvider, { theme: createTheme({
|
|
53
|
+
components: {
|
|
54
|
+
MuiPaper: {
|
|
55
|
+
styleOverrides: {
|
|
56
|
+
root: {
|
|
57
|
+
fontFamily: controlProps?.formProps?.style?.fontFamily || "Roboto",
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
}), children: [_jsx(Form, { method: method, ref: formRef, state: formState, controlProps: controlProps, formSubmitted: formSubmitted }), _jsx(FormFooter, { controlProps: controlProps, error: formError, iconType: iconType, loading: formState === "processing", onSubmit: onSubmitForm })] }) }));
|
|
63
|
+
};
|
|
64
|
+
export const Form = forwardRef(({ state, method, formSubmitted, controlProps }, ref) => {
|
|
65
|
+
const { formControls, isExpertMode } = useContext(FormDataContext);
|
|
66
|
+
const { activeFormControls, activeMenuItemIndex, controlGroups, hasSubmenu, menuItems, setActiveMenuItemIndex, } = useMenu(formControls, formSubmitted, isExpertMode);
|
|
67
|
+
return (_jsxs("form", { ref: ref, className: cx(styles["form-builder-container"], { [styles.hasSubmenu]: hasSubmenu }, state), id: "form-horizontal xhtmlInstantForm", "data-testid": "form-horizontal xhtmlInstantForm", role: "form", method: method, style: controlProps?.formProps?.style, onSubmit: (e) => e.preventDefault(), children: [hasSubmenu && (_jsx(Menu, { menuItems: menuItems, activeMenuItemIndex: activeMenuItemIndex, onActiveMenuItemIndex: setActiveMenuItemIndex, children: controlGroups &&
|
|
68
|
+
activeFormControls &&
|
|
69
|
+
Object.entries(activeFormControls).map(([key, value]) => (_jsx(React.Fragment, { children: _jsx(QueryControl, { formControl: value, id: key, controlProps: controlProps }, key) }, key))) })), !hasSubmenu && (_jsx(_Fragment, { children: formControls &&
|
|
70
|
+
Object.entries(formControls).map(([key, value]) => (_jsx(React.Fragment, { children: _jsx(QueryControl, { formControl: value, id: key, controlProps: controlProps }, key) }, key))) }))] }));
|
|
71
|
+
});
|
|
72
|
+
Form.displayName = "Form";
|
|
73
|
+
export default FormBuilder;
|
|
74
|
+
//# sourceMappingURL=FormBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormBuilder.js","sourceRoot":"","sources":["../../../src/components/FormBuilder/FormBuilder.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
.hasSubmenu {
|
|
2
|
+
padding: 0 !important;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.form-builder-container {
|
|
6
|
+
font-family: 'Roboto', sans-serif;
|
|
7
|
+
background-color: white;
|
|
8
|
+
z-index: 9;
|
|
9
|
+
padding: 0 20px;
|
|
10
|
+
|
|
11
|
+
@media screen and (max-width: 767px) {
|
|
12
|
+
padding: 0 40px;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
*:not(i) {
|
|
16
|
+
font-family: inherit;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.required-message {
|
|
20
|
+
display: block;
|
|
21
|
+
font-size: 12px;
|
|
22
|
+
padding-top: 15px;
|
|
23
|
+
padding-bottom: 10px;
|
|
24
|
+
color: rgba(0,0,0,.54);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.xhtml-form-button {
|
|
28
|
+
min-width: 40px;
|
|
29
|
+
width: fit-content;
|
|
30
|
+
color: #4a95d0;
|
|
31
|
+
background-color: #fff;
|
|
32
|
+
|
|
33
|
+
padding: 3px 8px 3px 5px;
|
|
34
|
+
box-sizing: border-box;
|
|
35
|
+
transition: background-color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, box-shadow 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, border 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms, color 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
|
36
|
+
font-size: 14px;
|
|
37
|
+
font-weight: 400;
|
|
38
|
+
border-radius: 4px;
|
|
39
|
+
border: 1px solid #4a95d0;
|
|
40
|
+
|
|
41
|
+
cursor: pointer;
|
|
42
|
+
margin: 0;
|
|
43
|
+
margin-bottom: 2px;
|
|
44
|
+
display: inline-flex;
|
|
45
|
+
outline: 0;
|
|
46
|
+
position: relative;
|
|
47
|
+
align-items: center;
|
|
48
|
+
user-select: none;
|
|
49
|
+
vertical-align: middle;
|
|
50
|
+
-moz-appearance: none;
|
|
51
|
+
justify-content: center;
|
|
52
|
+
text-decoration: none;
|
|
53
|
+
-webkit-appearance: none;
|
|
54
|
+
-webkit-tap-highlight-color: transparent;
|
|
55
|
+
|
|
56
|
+
svg {
|
|
57
|
+
fill: #4a95d0;
|
|
58
|
+
transition: fill 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&:hover {
|
|
62
|
+
color: #fff;
|
|
63
|
+
background-color: #4a95d0;
|
|
64
|
+
svg {
|
|
65
|
+
fill: #fff;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
&.remove-item {
|
|
70
|
+
width: 40px;
|
|
71
|
+
height: 40px;
|
|
72
|
+
padding: 0;
|
|
73
|
+
background: transparent;
|
|
74
|
+
box-shadow: none;
|
|
75
|
+
margin-top: -5px !important;
|
|
76
|
+
svg {
|
|
77
|
+
font-size: 16px;
|
|
78
|
+
padding: 0 2px;
|
|
79
|
+
fill: rgba(0,0,0,.54);
|
|
80
|
+
transition: fill 250ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
|
|
81
|
+
}
|
|
82
|
+
&:hover {
|
|
83
|
+
background: #F0F0F0;
|
|
84
|
+
svg {
|
|
85
|
+
fill: #EB5757;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
@media screen and (min-width: 768px) {
|
|
89
|
+
margin-top: 10px !important;
|
|
90
|
+
margin-left: -30px;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/FormBuilder/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC"}
|