@flipdish/portal-library 1.0.74 → 1.0.76
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/7cb5b036a5bc98d2.gif +0 -0
- package/dist/assets/images/fd-loader.gif.cjs.js +2 -0
- package/dist/assets/images/fd-loader.gif.cjs.js.map +1 -0
- package/dist/assets/images/fd-loader.gif.js +2 -0
- package/dist/assets/images/fd-loader.gif.js.map +1 -0
- package/dist/components/custom-hooks/useMicroFrontendAttributes.cjs.js +1 -1
- package/dist/components/custom-hooks/useMicroFrontendAttributes.cjs.js.map +1 -1
- package/dist/components/custom-hooks/useMicroFrontendAttributes.d.ts +2 -1
- package/dist/components/custom-hooks/useMicroFrontendAttributes.js +1 -1
- package/dist/components/custom-hooks/useMicroFrontendAttributes.js.map +1 -1
- package/dist/components/custom-hooks/useRenderValidText.cjs.js +1 -1
- package/dist/components/custom-hooks/useRenderValidText.cjs.js.map +1 -1
- package/dist/components/custom-hooks/useRenderValidText.d.ts +5 -4
- package/dist/components/custom-hooks/useRenderValidText.js +1 -1
- package/dist/components/custom-hooks/useRenderValidText.js.map +1 -1
- package/dist/components/index.cjs.js +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +1 -1
- package/dist/components/renderUtilities/renderUtilities.cjs.js +1 -1
- package/dist/components/renderUtilities/renderUtilities.cjs.js.map +1 -1
- package/dist/components/renderUtilities/renderUtilities.js +1 -1
- package/dist/components/renderUtilities/renderUtilities.js.map +1 -1
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.cjs.js +1 -1
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.cjs.js.map +1 -1
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.js +1 -1
- package/dist/components/ui/FDErrorBoundary/FDErrorBoundary.js.map +1 -1
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.cjs.js +2 -0
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.cjs.js.map +1 -0
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.d.ts +10 -0
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.js +2 -0
- package/dist/components/ui/FlipdishLogoLoader/FlipdishLogoLoader.js.map +1 -0
- package/dist/components/ui/Form/FormItemLayout.cjs.js.map +1 -1
- package/dist/components/ui/Form/FormItemLayout.js.map +1 -1
- package/dist/components/ui/Form/GenericAutocompleteField.cjs.js +1 -1
- package/dist/components/ui/Form/GenericAutocompleteField.cjs.js.map +1 -1
- package/dist/components/ui/Form/GenericAutocompleteField.js +1 -1
- package/dist/components/ui/Form/GenericAutocompleteField.js.map +1 -1
- package/dist/components/ui/Form/GenericFormContainer.cjs.js +1 -1
- package/dist/components/ui/Form/GenericFormContainer.cjs.js.map +1 -1
- package/dist/components/ui/Form/GenericFormContainer.js +1 -1
- package/dist/components/ui/Form/GenericFormContainer.js.map +1 -1
- package/dist/components/ui/Form/GenericTextField.cjs.js +1 -1
- package/dist/components/ui/Form/GenericTextField.cjs.js.map +1 -1
- package/dist/components/ui/Form/GenericTextField.js +1 -1
- package/dist/components/ui/Form/GenericTextField.js.map +1 -1
- package/dist/components/ui/Form/utilities/formValidation.cjs.js.map +1 -1
- package/dist/components/ui/Form/utilities/formValidation.js.map +1 -1
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.cjs.js +2 -0
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.cjs.js.map +1 -0
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.d.ts +22 -0
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.js +2 -0
- package/dist/components/ui/GenericDatePickerField/GenericDateFieldBase.js.map +1 -0
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.cjs.js +1 -1
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.cjs.js.map +1 -1
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.d.ts +3 -17
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.js +1 -1
- package/dist/components/ui/GenericDatePickerField/GenericDatePickerField.js.map +1 -1
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.cjs.js +1 -1
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.cjs.js.map +1 -1
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.d.ts +3 -17
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.js +1 -1
- package/dist/components/ui/GenericDateTimePickerField/GenericDateTimePickerField.js.map +1 -1
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.cjs.js +1 -1
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.cjs.js.map +1 -1
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.js +1 -1
- package/dist/components/ui/GenericRadioButtons/GenericRadioButtons.js.map +1 -1
- package/dist/components/ui/GenericTableBody/GenericTableBody.cjs.js +1 -1
- package/dist/components/ui/GenericTableBody/GenericTableBody.cjs.js.map +1 -1
- package/dist/components/ui/GenericTableBody/GenericTableBody.js +1 -1
- package/dist/components/ui/GenericTableBody/GenericTableBody.js.map +1 -1
- package/dist/components/ui/GenericTableBodyRow/GenericTableBodyRow.cjs.js +1 -1
- package/dist/components/ui/GenericTableBodyRow/GenericTableBodyRow.cjs.js.map +1 -1
- package/dist/components/ui/GenericTableBodyRow/GenericTableBodyRow.js +1 -1
- package/dist/components/ui/GenericTableBodyRow/GenericTableBodyRow.js.map +1 -1
- package/dist/components/ui/PageLayout/PageLayout.cjs.js +1 -1
- package/dist/components/ui/PageLayout/PageLayout.cjs.js.map +1 -1
- package/dist/components/ui/PageLayout/PageLayout.js +1 -1
- package/dist/components/ui/PageLayout/PageLayout.js.map +1 -1
- package/dist/components/ui/Spacer/Spacer.cjs.js.map +1 -1
- package/dist/components/ui/Spacer/Spacer.js.map +1 -1
- package/dist/providers/TranslationProvider.cjs.js.map +1 -1
- package/dist/providers/TranslationProvider.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericAutocompleteField.cjs.js","sources":["../../../../src/components/ui/Form/GenericAutocompleteField.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Autocomplete from '@mui/material/Autocomplete';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\nimport { Field, type FieldProps } from 'formik';\nimport { type SyntheticEvent } from 'react';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\n\nexport type Props<T> = {\n label: string;\n fieldName: string;\n options: T[];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n validation?: (value: T | T[]) => string | undefined;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\nconst
|
|
1
|
+
{"version":3,"file":"GenericAutocompleteField.cjs.js","sources":["../../../../src/components/ui/Form/GenericAutocompleteField.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Autocomplete from '@mui/material/Autocomplete';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\nimport { Field, type FieldProps } from 'formik';\nimport { type SyntheticEvent } from 'react';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\n\nexport type Props<T> = {\n label: string;\n fieldName: string;\n options: T[];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n validation?: (value: T | T[]) => string | undefined;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\ntype AutocompleteFieldProps<T> = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n fieldName: string;\n options: T[];\n label: string;\n variant: TextFieldProps['variant'];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\nconst AutocompleteFieldComponent = <T,>({\n field,\n form,\n fieldName,\n options,\n label,\n variant,\n placeholder,\n getOptionLabel,\n isOptionEqualToValue,\n onChange,\n onInputChange,\n onScroll,\n layout = 'horizontal',\n disabled = false,\n loading = false,\n required = false,\n multiple = false,\n limitTags,\n}: AutocompleteFieldProps<T>) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <Autocomplete\n options={options}\n getOptionLabel={getOptionLabel}\n isOptionEqualToValue={isOptionEqualToValue}\n onChange={(e: SyntheticEvent, value: T[]) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(fieldName, value);\n if (onChange) {\n onChange(e, value);\n }\n }}\n onInputChange={onInputChange}\n disabled={isSubmitting || disabled}\n fullWidth\n value={field.value || (multiple ? [] : null)}\n loading={loading}\n renderInput={(params) => (\n <TextField\n {...params}\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n data-testid={`text-field-${fieldName}`}\n fullWidth\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n required={required}\n error={showError}\n helperText={helperText}\n slotProps={{\n input: {\n ...params.InputProps,\n endAdornment: (\n <>\n {loading && <CircularProgress color=\"inherit\" size={25} />}\n {params.InputProps.endAdornment}\n </>\n ),\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n />\n )}\n multiple={multiple}\n limitTags={multiple ? (limitTags ?? 2) : undefined}\n slotProps={{\n listbox: {\n onScroll,\n },\n }}\n />\n );\n};\n\nconst GenericAutocompleteField = <T,>({\n label,\n fieldName,\n options,\n placeholder,\n getOptionLabel,\n validation,\n onChange,\n onInputChange,\n isOptionEqualToValue,\n onScroll,\n layout = 'horizontal',\n variant = 'outlined',\n disabled = false,\n loading = false,\n required = false,\n multiple = false,\n limitTags = undefined,\n}: Props<T>) => {\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {(fieldProps: FieldProps) => (\n <AutocompleteFieldComponent<T>\n {...fieldProps}\n fieldName={fieldName}\n options={options}\n label={label}\n variant={variant}\n placeholder={placeholder}\n getOptionLabel={getOptionLabel}\n isOptionEqualToValue={isOptionEqualToValue}\n onChange={onChange}\n onInputChange={onInputChange}\n onScroll={onScroll}\n layout={layout}\n disabled={disabled}\n loading={loading}\n required={required}\n multiple={multiple}\n limitTags={limitTags}\n />\n )}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericAutocompleteField;\n"],"names":["AutocompleteFieldComponent","field","form","fieldName","options","label","variant","placeholder","getOptionLabel","isOptionEqualToValue","onChange","onInputChange","onScroll","layout","disabled","loading","required","multiple","limitTags","errors","touched","isSubmitting","fieldError","name","showError","helperText","useRenderValidText","value","_jsx","Autocomplete","e","setFieldValue","fullWidth","renderInput","params","TextField","undefined","style","paddingRight","error","slotProps","input","InputProps","endAdornment","_jsxs","jsxs","_Fragment","children","jsx","CircularProgress","color","size","formHelperText","textAlign","listbox","validation","renderField","Field","validate","fieldProps","Typography","component","FormItemLayout"],"mappings":"uVAmDA,MAAMA,EAA6B,EAC/BC,QACAC,OACAC,YACAC,UACAC,QACAC,UACAC,cACAC,iBACAC,uBACAC,WACAC,gBACAC,WACAC,SAAS,aACTC,YAAW,EACXC,WAAU,EACVC,YAAW,EACXC,YAAW,EACXC,gBAEA,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBnB,EACpCoB,EAAaH,EAAOlB,EAAMsB,MAC1BC,IAAcF,GAAeF,EAAQnB,EAAMsB,MAC3CE,EAAaC,EAAmB,CAClCJ,aACAE,YACAJ,UAAWA,EAAQnB,EAAMsB,MACzBI,MAAO1B,EAAM0B,QAGjB,OACIC,MAACC,EAAY,CACTzB,QAASA,EACTI,eAAgBA,EAChBC,qBAAsBA,EACtBC,SAAU,CAACoB,EAAmBH,KAE1BzB,EAAK6B,cAAc5B,EAAWwB,GAC1BjB,GACAA,EAASoB,EAAGH,EACf,EAELhB,cAAeA,EACfG,SAAUO,GAAgBP,EAC1BkB,aACAL,MAAO1B,EAAM0B,QAAUV,EAAW,GAAK,MACvCF,QAASA,EACTkB,YAAcC,GACVN,EAAAA,IAACO,EACO,IAAAD,EACJ7B,MAAmB,aAAZC,OAAyB8B,EAAY/B,EAC5CC,QAASA,EAAO,cACH,cAAcH,IAC3B6B,WACA,EAAAK,MAAO,CAAEC,aAAyB,eAAXzB,EAA0B,GAAK,GACtDN,YAAaA,QAAe6B,EAC5BpB,SAAUA,EACVuB,MAAOf,EACPC,WAAYA,EACZe,UAAW,CACPC,MAAO,IACAP,EAAOQ,WACVC,aACIC,EACKC,KAAAC,WAAA,CAAAC,SAAA,CAAAhC,GAAWa,EAACoB,IAAAC,EAAiB,CAAAC,MAAM,UAAUC,KAAM,KACnDjB,EAAOQ,WAAWC,iBAI/BS,eAAgB,CACZL,SAAU,IACVV,MAAO,CAAEgB,UAAW,aAKpCpC,SAAUA,EACVC,UAAWD,EAAYC,GAAa,OAAKkB,EACzCI,UAAW,CACPc,QAAS,CACL1C,cAId,iBAG2B,EAC7BP,QACAF,YACAC,UACAG,cACAC,iBACA+C,aACA7C,WACAC,gBACAF,uBACAG,WACAC,SAAS,aACTP,UAAU,WACVQ,YAAW,EACXC,WAAU,EACVC,YAAW,EACXC,YAAW,EACXC,gBAEA,MAAMsC,EAAc,IAEZ5B,MAAC6B,EAAAA,OAAMlC,KAAMpB,EAAWuD,SAAUH,EAAUR,SACtCY,GACE/B,MAAC5B,EAA0B,IACnB2D,EACJxD,UAAWA,EACXC,QAASA,EACTC,MAAOA,EACPC,QAASA,EACTC,YAAaA,EACbC,eAAgBA,EAChBC,qBAAsBA,EACtBC,SAAUA,EACVC,cAAeA,EACfC,SAAUA,EACVC,OAAQA,EACRC,SAAUA,EACVC,QAASA,EACTC,SAAUA,EACVC,SAAUA,EACVC,UAAWA,MAO/B,MAAe,aAAXL,EAEI+B,EAAAC,KAAAC,WAAA,CAAAC,SAAA,CACiB,aAAZzC,GACGsB,EAAAoB,IAACY,EAAU,CAACtD,QAAQ,YAAYuD,UAAU,KAAKX,MAAM,cAChDH,SAAA1C,IAGRmD,OAKN5B,EAAAoB,IAACc,EAAc,CAACzD,MAAOA,EAAQ0C,SAAAS,KAA+B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,Fragment as
|
|
1
|
+
import{jsxs as e,Fragment as o,jsx as l}from"react/jsx-runtime";import t from"@mui/material/Autocomplete";import i from"@mui/material/CircularProgress";import r from"@mui/material/TextField";import a from"@mui/material/Typography";import{Field as n}from"formik";import"react";import d from"../../custom-hooks/useRenderValidText.js";import m from"./FormItemLayout.js";const u=({field:a,form:n,fieldName:m,options:u,label:p,variant:s,placeholder:h,getOptionLabel:c,isOptionEqualToValue:g,onChange:f,onInputChange:b,onScroll:v,layout:T="horizontal",disabled:x=!1,loading:y=!1,required:C=!1,multiple:q=!1,limitTags:I})=>{const{errors:O,touched:E,isSubmitting:P}=n,V=O[a.name],L=!!V&&E[a.name],S=d({fieldError:V,showError:L,touched:!!E[a.name],value:a.value});return l(t,{options:u,getOptionLabel:c,isOptionEqualToValue:g,onChange:(e,o)=>{n.setFieldValue(m,o),f&&f(e,o)},onInputChange:b,disabled:P||x,fullWidth:!0,value:a.value||(q?[]:null),loading:y,renderInput:t=>l(r,{...t,label:"standard"===s?void 0:p,variant:s,"data-testid":`text-field-${m}`,fullWidth:!0,style:{paddingRight:"horizontal"===T?16:0},placeholder:h||void 0,required:C,error:L,helperText:S,slotProps:{input:{...t.InputProps,endAdornment:e(o,{children:[y&&l(i,{color:"inherit",size:25}),t.InputProps.endAdornment]})},formHelperText:{children:" ",style:{textAlign:"right"}}}}),multiple:q,limitTags:q?I??2:void 0,slotProps:{listbox:{onScroll:v}}})},p=({label:t,fieldName:i,options:r,placeholder:d,getOptionLabel:p,validation:s,onChange:h,onInputChange:c,isOptionEqualToValue:g,onScroll:f,layout:b="horizontal",variant:v="outlined",disabled:T=!1,loading:x=!1,required:y=!1,multiple:C=!1,limitTags:q})=>{const I=()=>l(n,{name:i,validate:s,children:e=>l(u,{...e,fieldName:i,options:r,label:t,variant:v,placeholder:d,getOptionLabel:p,isOptionEqualToValue:g,onChange:h,onInputChange:c,onScroll:f,layout:b,disabled:T,loading:x,required:y,multiple:C,limitTags:q})});return"vertical"===b?e(o,{children:["standard"===v&&l(a,{variant:"subtitle1",component:"h3",color:"textPrimary",children:t}),I()]}):l(m,{label:t,children:I()})};export{p as default};
|
|
2
2
|
//# sourceMappingURL=GenericAutocompleteField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericAutocompleteField.js","sources":["../../../../src/components/ui/Form/GenericAutocompleteField.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Autocomplete from '@mui/material/Autocomplete';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\nimport { Field, type FieldProps } from 'formik';\nimport { type SyntheticEvent } from 'react';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\n\nexport type Props<T> = {\n label: string;\n fieldName: string;\n options: T[];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n validation?: (value: T | T[]) => string | undefined;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\nconst
|
|
1
|
+
{"version":3,"file":"GenericAutocompleteField.js","sources":["../../../../src/components/ui/Form/GenericAutocompleteField.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\nimport Autocomplete from '@mui/material/Autocomplete';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport Typography from '@mui/material/Typography';\nimport { Field, type FieldProps } from 'formik';\nimport { type SyntheticEvent } from 'react';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\n\nexport type Props<T> = {\n label: string;\n fieldName: string;\n options: T[];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n validation?: (value: T | T[]) => string | undefined;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\ntype AutocompleteFieldProps<T> = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n fieldName: string;\n options: T[];\n label: string;\n variant: TextFieldProps['variant'];\n placeholder?: string;\n getOptionLabel?: (option: T) => string;\n isOptionEqualToValue?: (option: T, value: T) => boolean;\n onChange?: (e: SyntheticEvent, value: T | T[]) => void;\n onInputChange?: (e: SyntheticEvent, value: string) => void;\n onScroll?: (e: React.UIEvent<HTMLUListElement, UIEvent>) => void;\n layout?: 'horizontal' | 'vertical';\n disabled?: boolean;\n loading?: boolean;\n required?: boolean;\n multiple?: boolean;\n limitTags?: number;\n};\n\nconst AutocompleteFieldComponent = <T,>({\n field,\n form,\n fieldName,\n options,\n label,\n variant,\n placeholder,\n getOptionLabel,\n isOptionEqualToValue,\n onChange,\n onInputChange,\n onScroll,\n layout = 'horizontal',\n disabled = false,\n loading = false,\n required = false,\n multiple = false,\n limitTags,\n}: AutocompleteFieldProps<T>) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <Autocomplete\n options={options}\n getOptionLabel={getOptionLabel}\n isOptionEqualToValue={isOptionEqualToValue}\n onChange={(e: SyntheticEvent, value: T[]) => {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(fieldName, value);\n if (onChange) {\n onChange(e, value);\n }\n }}\n onInputChange={onInputChange}\n disabled={isSubmitting || disabled}\n fullWidth\n value={field.value || (multiple ? [] : null)}\n loading={loading}\n renderInput={(params) => (\n <TextField\n {...params}\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n data-testid={`text-field-${fieldName}`}\n fullWidth\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n required={required}\n error={showError}\n helperText={helperText}\n slotProps={{\n input: {\n ...params.InputProps,\n endAdornment: (\n <>\n {loading && <CircularProgress color=\"inherit\" size={25} />}\n {params.InputProps.endAdornment}\n </>\n ),\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n />\n )}\n multiple={multiple}\n limitTags={multiple ? (limitTags ?? 2) : undefined}\n slotProps={{\n listbox: {\n onScroll,\n },\n }}\n />\n );\n};\n\nconst GenericAutocompleteField = <T,>({\n label,\n fieldName,\n options,\n placeholder,\n getOptionLabel,\n validation,\n onChange,\n onInputChange,\n isOptionEqualToValue,\n onScroll,\n layout = 'horizontal',\n variant = 'outlined',\n disabled = false,\n loading = false,\n required = false,\n multiple = false,\n limitTags = undefined,\n}: Props<T>) => {\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {(fieldProps: FieldProps) => (\n <AutocompleteFieldComponent<T>\n {...fieldProps}\n fieldName={fieldName}\n options={options}\n label={label}\n variant={variant}\n placeholder={placeholder}\n getOptionLabel={getOptionLabel}\n isOptionEqualToValue={isOptionEqualToValue}\n onChange={onChange}\n onInputChange={onInputChange}\n onScroll={onScroll}\n layout={layout}\n disabled={disabled}\n loading={loading}\n required={required}\n multiple={multiple}\n limitTags={limitTags}\n />\n )}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericAutocompleteField;\n"],"names":["AutocompleteFieldComponent","field","form","fieldName","options","label","variant","placeholder","getOptionLabel","isOptionEqualToValue","onChange","onInputChange","onScroll","layout","disabled","loading","required","multiple","limitTags","errors","touched","isSubmitting","fieldError","name","showError","helperText","useRenderValidText","value","_jsx","Autocomplete","e","setFieldValue","fullWidth","renderInput","params","TextField","undefined","style","paddingRight","error","slotProps","input","InputProps","endAdornment","_jsxs","_Fragment","children","CircularProgress","color","size","formHelperText","textAlign","listbox","GenericAutocompleteField","validation","renderField","Field","validate","fieldProps","Typography","component","FormItemLayout"],"mappings":"+WAmDA,MAAMA,EAA6B,EAC/BC,QACAC,OACAC,YACAC,UACAC,QACAC,UACAC,cACAC,iBACAC,uBACAC,WACAC,gBACAC,WACAC,SAAS,aACTC,YAAW,EACXC,WAAU,EACVC,YAAW,EACXC,YAAW,EACXC,gBAEA,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBnB,EACpCoB,EAAaH,EAAOlB,EAAMsB,MAC1BC,IAAcF,GAAeF,EAAQnB,EAAMsB,MAC3CE,EAAaC,EAAmB,CAClCJ,aACAE,YACAJ,UAAWA,EAAQnB,EAAMsB,MACzBI,MAAO1B,EAAM0B,QAGjB,OACIC,EAACC,EAAY,CACTzB,QAASA,EACTI,eAAgBA,EAChBC,qBAAsBA,EACtBC,SAAU,CAACoB,EAAmBH,KAE1BzB,EAAK6B,cAAc5B,EAAWwB,GAC1BjB,GACAA,EAASoB,EAAGH,EACf,EAELhB,cAAeA,EACfG,SAAUO,GAAgBP,EAC1BkB,aACAL,MAAO1B,EAAM0B,QAAUV,EAAW,GAAK,MACvCF,QAASA,EACTkB,YAAcC,GACVN,EAACO,EACO,IAAAD,EACJ7B,MAAmB,aAAZC,OAAyB8B,EAAY/B,EAC5CC,QAASA,EAAO,cACH,cAAcH,IAC3B6B,WACA,EAAAK,MAAO,CAAEC,aAAyB,eAAXzB,EAA0B,GAAK,GACtDN,YAAaA,QAAe6B,EAC5BpB,SAAUA,EACVuB,MAAOf,EACPC,WAAYA,EACZe,UAAW,CACPC,MAAO,IACAP,EAAOQ,WACVC,aACIC,EACKC,EAAA,CAAAC,SAAA,CAAA/B,GAAWa,EAACmB,EAAiB,CAAAC,MAAM,UAAUC,KAAM,KACnDf,EAAOQ,WAAWC,iBAI/BO,eAAgB,CACZJ,SAAU,IACVT,MAAO,CAAEc,UAAW,aAKpClC,SAAUA,EACVC,UAAWD,EAAYC,GAAa,OAAKkB,EACzCI,UAAW,CACPY,QAAS,CACLxC,cAId,EAGAyC,EAA2B,EAC7BhD,QACAF,YACAC,UACAG,cACAC,iBACA8C,aACA5C,WACAC,gBACAF,uBACAG,WACAC,SAAS,aACTP,UAAU,WACVQ,YAAW,EACXC,WAAU,EACVC,YAAW,EACXC,YAAW,EACXC,gBAEA,MAAMqC,EAAc,IAEZ3B,EAAC4B,GAAMjC,KAAMpB,EAAWsD,SAAUH,EAAUR,SACtCY,GACE9B,EAAC5B,EAA0B,IACnB0D,EACJvD,UAAWA,EACXC,QAASA,EACTC,MAAOA,EACPC,QAASA,EACTC,YAAaA,EACbC,eAAgBA,EAChBC,qBAAsBA,EACtBC,SAAUA,EACVC,cAAeA,EACfC,SAAUA,EACVC,OAAQA,EACRC,SAAUA,EACVC,QAASA,EACTC,SAAUA,EACVC,SAAUA,EACVC,UAAWA,MAO/B,MAAe,aAAXL,EAEI+B,EAAAC,EAAA,CAAAC,SAAA,CACiB,aAAZxC,GACGsB,EAAC+B,EAAU,CAACrD,QAAQ,YAAYsD,UAAU,KAAKZ,MAAM,cAChDF,SAAAzC,IAGRkD,OAKN3B,EAACiC,EAAc,CAACxD,MAAOA,EAAQyC,SAAAS,KAA+B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),i=require("@mui/material/Button"),t=require("formik");module.exports=({fields:r,onSubmit:a,handleError:n,submitButtonText:u})=>{const s=r.reduce(((e,i)=>(e[i.fieldName]=i.defaultValue,e)),{});return e.jsx(t.Formik,{initialValues:s,onSubmit:async e=>{try{await a(e)}catch(e){n&&n(e)}},children:({isSubmitting:a})=>e.jsxs(t.Form,{children:[r.map(((i,t)=>e.jsx("div",{children:i.component},`field_${i.fieldName}_${t}`))),e.jsx(i,{variant:"contained",type:"submit",disabled:a,sx:{marginTop:4},"data-testid":"submit-form-button",children:u})]})})};
|
|
2
2
|
//# sourceMappingURL=GenericFormContainer.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericFormContainer.cjs.js","sources":["../../../../src/components/ui/Form/GenericFormContainer.tsx"],"sourcesContent":["import Button from '@mui/material/Button';\nimport { Form, Formik } from 'formik';\n\ntype GenericFormContainerProps = {\n fields: {\n fieldName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n defaultValue: any;\n component: React.ReactNode;\n }[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSubmit: (values: any) => Promise<void>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleError?: (error: any) => void;\n submitButtonText: string;\n};\n\nconst GenericFormContainer = ({ fields, onSubmit, handleError, submitButtonText }: GenericFormContainerProps) => {\n const initialValues = fields.reduce((acc, field) => {\n acc[field.fieldName] = field.defaultValue;\n return acc;\n }, {});\n\n return (\n <Formik\n initialValues={initialValues}\n onSubmit={async (values) => {\n try {\n await onSubmit(values);\n } catch (error) {\n if (handleError) {\n handleError(error);\n }\n }\n }}\n >\n {({ isSubmitting }) => (\n <Form>\n {fields.map((field, index) => (\n <div key={index}>{field.component}</div>\n ))}\n\n <Button variant=\"contained\" type=\"submit\" disabled={isSubmitting} sx={{ marginTop: 4 }} data-testid=\"submit-form-button\">\n {submitButtonText}\n </Button>\n </Form>\n )}\n </Formik>\n );\n};\n\nexport default GenericFormContainer;\n"],"names":["fields","onSubmit","handleError","submitButtonText","initialValues","reduce","acc","field","fieldName","defaultValue","_jsx","Formik","async","values","error","children","isSubmitting","_jsxs","jsxs","Form","map","index","
|
|
1
|
+
{"version":3,"file":"GenericFormContainer.cjs.js","sources":["../../../../src/components/ui/Form/GenericFormContainer.tsx"],"sourcesContent":["import Button from '@mui/material/Button';\nimport { Form, Formik } from 'formik';\n\ntype GenericFormContainerProps = {\n fields: {\n fieldName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n defaultValue: any;\n component: React.ReactNode;\n }[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSubmit: (values: any) => Promise<void>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleError?: (error: any) => void;\n submitButtonText: string;\n};\n\nconst GenericFormContainer = ({ fields, onSubmit, handleError, submitButtonText }: GenericFormContainerProps) => {\n const initialValues = fields.reduce((acc, field) => {\n acc[field.fieldName] = field.defaultValue;\n return acc;\n }, {});\n\n return (\n <Formik\n initialValues={initialValues}\n onSubmit={async (values) => {\n try {\n await onSubmit(values);\n } catch (error) {\n if (handleError) {\n handleError(error);\n }\n }\n }}\n >\n {({ isSubmitting }) => (\n <Form>\n {fields.map((field, index) => (\n <div key={`field_${field.fieldName}_${index}`}>{field.component}</div>\n ))}\n\n <Button variant=\"contained\" type=\"submit\" disabled={isSubmitting} sx={{ marginTop: 4 }} data-testid=\"submit-form-button\">\n {submitButtonText}\n </Button>\n </Form>\n )}\n </Formik>\n );\n};\n\nexport default GenericFormContainer;\n"],"names":["fields","onSubmit","handleError","submitButtonText","initialValues","reduce","acc","field","fieldName","defaultValue","_jsx","Formik","async","values","error","children","isSubmitting","_jsxs","jsxs","Form","map","index","component","jsx","Button","variant","type","disabled","sx","marginTop"],"mappings":"qHAiB6B,EAAGA,SAAQC,WAAUC,cAAaC,uBAC3D,MAAMC,EAAgBJ,EAAOK,QAAO,CAACC,EAAKC,KACtCD,EAAIC,EAAMC,WAAaD,EAAME,aACtBH,IACR,CAAE,GAEL,OACII,EAAAA,IAACC,EAAAA,OAAM,CACHP,cAAeA,EACfH,SAAUW,MAAOC,IACb,UACUZ,EAASY,EAClB,CAAC,MAAOC,GACDZ,GACAA,EAAYY,EAEnB,GAGJC,SAAA,EAAGC,kBACAC,EAACC,KAAAC,OACI,CAAAJ,SAAA,CAAAf,EAAOoB,KAAI,CAACb,EAAOc,IAChBX,MAAA,MAAA,CAAAK,SAAgDR,EAAMe,WAA5C,SAASf,EAAMC,aAAaa,OAG1CX,EAAAa,IAACC,EAAO,CAAAC,QAAQ,YAAYC,KAAK,SAASC,SAAUX,EAAcY,GAAI,CAAEC,UAAW,GAAG,cAAc,qBAAoBd,SACnHZ,QAKnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as t,jsxs as i}from"react/jsx-runtime";import e from"@mui/material/Button";import{Formik as r,Form as a}from"formik";const n=({fields:n,onSubmit:m,handleError:o,submitButtonText:
|
|
1
|
+
import{jsx as t,jsxs as i}from"react/jsx-runtime";import e from"@mui/material/Button";import{Formik as r,Form as a}from"formik";const n=({fields:n,onSubmit:m,handleError:o,submitButtonText:d})=>{const u=n.reduce(((t,i)=>(t[i.fieldName]=i.defaultValue,t)),{});return t(r,{initialValues:u,onSubmit:async t=>{try{await m(t)}catch(t){o&&o(t)}},children:({isSubmitting:r})=>i(a,{children:[n.map(((i,e)=>t("div",{children:i.component},`field_${i.fieldName}_${e}`))),t(e,{variant:"contained",type:"submit",disabled:r,sx:{marginTop:4},"data-testid":"submit-form-button",children:d})]})})};export{n as default};
|
|
2
2
|
//# sourceMappingURL=GenericFormContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericFormContainer.js","sources":["../../../../src/components/ui/Form/GenericFormContainer.tsx"],"sourcesContent":["import Button from '@mui/material/Button';\nimport { Form, Formik } from 'formik';\n\ntype GenericFormContainerProps = {\n fields: {\n fieldName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n defaultValue: any;\n component: React.ReactNode;\n }[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSubmit: (values: any) => Promise<void>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleError?: (error: any) => void;\n submitButtonText: string;\n};\n\nconst GenericFormContainer = ({ fields, onSubmit, handleError, submitButtonText }: GenericFormContainerProps) => {\n const initialValues = fields.reduce((acc, field) => {\n acc[field.fieldName] = field.defaultValue;\n return acc;\n }, {});\n\n return (\n <Formik\n initialValues={initialValues}\n onSubmit={async (values) => {\n try {\n await onSubmit(values);\n } catch (error) {\n if (handleError) {\n handleError(error);\n }\n }\n }}\n >\n {({ isSubmitting }) => (\n <Form>\n {fields.map((field, index) => (\n <div key={index}>{field.component}</div>\n ))}\n\n <Button variant=\"contained\" type=\"submit\" disabled={isSubmitting} sx={{ marginTop: 4 }} data-testid=\"submit-form-button\">\n {submitButtonText}\n </Button>\n </Form>\n )}\n </Formik>\n );\n};\n\nexport default GenericFormContainer;\n"],"names":["GenericFormContainer","fields","onSubmit","handleError","submitButtonText","initialValues","reduce","acc","field","fieldName","defaultValue","_jsx","Formik","async","values","error","children","isSubmitting","_jsxs","Form","map","index","component","Button","variant","type","disabled","sx","marginTop"],"mappings":"gIAiBA,MAAMA,EAAuB,EAAGC,SAAQC,WAAUC,cAAaC,uBAC3D,MAAMC,EAAgBJ,EAAOK,QAAO,CAACC,EAAKC,KACtCD,EAAIC,EAAMC,WAAaD,EAAME,aACtBH,IACR,CAAE,GAEL,OACII,EAACC,EAAM,CACHP,cAAeA,EACfH,SAAUW,MAAOC,IACb,UACUZ,EAASY,EAClB,CAAC,MAAOC,GACDZ,GACAA,EAAYY,EAEnB,GAGJC,SAAA,EAAGC,kBACAC,EAACC,
|
|
1
|
+
{"version":3,"file":"GenericFormContainer.js","sources":["../../../../src/components/ui/Form/GenericFormContainer.tsx"],"sourcesContent":["import Button from '@mui/material/Button';\nimport { Form, Formik } from 'formik';\n\ntype GenericFormContainerProps = {\n fields: {\n fieldName: string;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n defaultValue: any;\n component: React.ReactNode;\n }[];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n onSubmit: (values: any) => Promise<void>;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n handleError?: (error: any) => void;\n submitButtonText: string;\n};\n\nconst GenericFormContainer = ({ fields, onSubmit, handleError, submitButtonText }: GenericFormContainerProps) => {\n const initialValues = fields.reduce((acc, field) => {\n acc[field.fieldName] = field.defaultValue;\n return acc;\n }, {});\n\n return (\n <Formik\n initialValues={initialValues}\n onSubmit={async (values) => {\n try {\n await onSubmit(values);\n } catch (error) {\n if (handleError) {\n handleError(error);\n }\n }\n }}\n >\n {({ isSubmitting }) => (\n <Form>\n {fields.map((field, index) => (\n <div key={`field_${field.fieldName}_${index}`}>{field.component}</div>\n ))}\n\n <Button variant=\"contained\" type=\"submit\" disabled={isSubmitting} sx={{ marginTop: 4 }} data-testid=\"submit-form-button\">\n {submitButtonText}\n </Button>\n </Form>\n )}\n </Formik>\n );\n};\n\nexport default GenericFormContainer;\n"],"names":["GenericFormContainer","fields","onSubmit","handleError","submitButtonText","initialValues","reduce","acc","field","fieldName","defaultValue","_jsx","Formik","async","values","error","children","isSubmitting","_jsxs","Form","map","index","component","Button","variant","type","disabled","sx","marginTop"],"mappings":"gIAiBA,MAAMA,EAAuB,EAAGC,SAAQC,WAAUC,cAAaC,uBAC3D,MAAMC,EAAgBJ,EAAOK,QAAO,CAACC,EAAKC,KACtCD,EAAIC,EAAMC,WAAaD,EAAME,aACtBH,IACR,CAAE,GAEL,OACII,EAACC,EAAM,CACHP,cAAeA,EACfH,SAAUW,MAAOC,IACb,UACUZ,EAASY,EAClB,CAAC,MAAOC,GACDZ,GACAA,EAAYY,EAEnB,GAGJC,SAAA,EAAGC,kBACAC,EAACC,EACI,CAAAH,SAAA,CAAAf,EAAOmB,KAAI,CAACZ,EAAOa,IAChBV,EAAA,MAAA,CAAAK,SAAgDR,EAAMc,WAA5C,SAASd,EAAMC,aAAaY,OAG1CV,EAACY,EAAO,CAAAC,QAAQ,YAAYC,KAAK,SAASC,SAAUT,EAAcU,GAAI,CAAEC,UAAW,GAAG,cAAc,qBAAoBZ,SACnHZ,QAKnB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime");require("react");var
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime");require("react");var t=require("formik"),i=require("@mui/material/TextField"),r=require("../../custom-hooks/useRenderValidText.cjs.js"),a=require("./FormItemLayout.cjs.js"),l=require("@mui/material/Typography"),o=require("@mui/material/InputAdornment");const n=({field:t,form:a,fieldName:l,label:n,placeholder:d,onChange:s,multiline:u,minRows:m,maxRows:h,layout:p="horizontal",variant:c="standard",disabled:v=!1,required:x=!1,showHelperTextWhenValid:g=!1,startIcon:f,endIcon:j,value:w,type:y="text"})=>{const{errors:b,touched:q,isSubmitting:R}=a,I=b[t.name],T=!!I&&q[t.name],C=r({fieldError:I,showError:T,touched:!!q[t.name],value:t.value});return e.jsx(i,{label:"standard"===c?void 0:n,variant:c,value:w??t.value,"data-testid":`text-field-${l??n.toLowerCase().replace(/\s+/g,"-")}`,autoComplete:"off",fullWidth:!0,multiline:u,minRows:m??(u?3:void 0),maxRows:h??(u?10:void 0),style:{paddingRight:"horizontal"===p?16:0},placeholder:d||void 0,disabled:R||v,required:x,error:T,helperText:T||g?C:void 0,onChange:e=>{"number"===y&&isNaN(Number(e.target.value))||(a.setFieldValue(l,e.target.value),s&&s(e))},slotProps:{htmlInput:{style:{paddingTop:"outlined"!==c?0:void 0,height:"1.1876em"}},formHelperText:{children:" ",style:{textAlign:"right"}}},InputProps:{startAdornment:f?e.jsx(o,{position:"start",children:f}):void 0,endAdornment:j?e.jsx(o,{position:"end",children:j}):void 0}})};module.exports=({label:r,fieldName:d,placeholder:s,validation:u,onChange:m,multiline:h,minRows:p,maxRows:c,layout:v="horizontal",variant:x="standard",disabled:g=!1,required:f=!1,showHelperTextWhenValid:j=!1,startIcon:w,endIcon:y,value:b,type:q="text"})=>{const R=!!d,I=()=>R?e.jsx(t.Field,{name:d,validate:u,children:t=>e.jsx(n,{...t,fieldName:d,label:r,placeholder:s,onChange:m,multiline:h,minRows:p,maxRows:c,layout:v,variant:x,disabled:g,required:f,showHelperTextWhenValid:j,startIcon:w,endIcon:y,value:b,type:q})}):e.jsx(i,{label:"standard"===x?void 0:r,variant:x,value:b,"data-testid":`text-field-${d??r.toLowerCase().replace(/\s+/g,"-")}`,autoComplete:"off",fullWidth:!0,multiline:h,minRows:p??(h?3:void 0),maxRows:c??(h?10:void 0),style:{paddingRight:"horizontal"===v?16:0},placeholder:s||void 0,disabled:g,required:f,onChange:m,slotProps:{htmlInput:{style:{paddingTop:"outlined"!==x?0:void 0,height:"1.1876em"}},formHelperText:{children:" ",style:{textAlign:"right"}}},InputProps:{startAdornment:w?e.jsx(o,{position:"start",children:w}):void 0,endAdornment:y?e.jsx(o,{position:"end",children:y}):void 0}});return"vertical"===v?e.jsxs(e.Fragment,{children:["standard"===x&&e.jsx(l,{variant:"subtitle1",component:"h3",color:"textPrimary",children:r}),I()]}):e.jsx(a,{label:r,children:I()})};
|
|
2
2
|
//# sourceMappingURL=GenericTextField.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericTextField.cjs.js","sources":["../../../../src/components/ui/Form/GenericTextField.tsx"],"sourcesContent":["import { type ChangeEvent, type ReactNode } from 'react';\n\nimport { type FieldProps, Field } from 'formik';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\n\ntype Props = {\n label: string;\n fieldName?: string;\n placeholder?: string;\n validation?: (value: string) => string | undefined;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\nconst GenericTextField = ({\n label,\n fieldName = undefined,\n placeholder,\n validation,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon = undefined,\n endIcon = undefined,\n value,\n type = 'text',\n}: Props) => {\n const useFormik = !!fieldName;\n\n const renderField = (\n formikValue?: string,\n isSubmitting?: boolean,\n showError?: boolean,\n helperText?: string | ReactNode,\n setFieldValue?: (name: string, value: string) => void,\n ) => {\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value ?? formikValue}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder ? placeholder : undefined}\n disabled={isSubmitting || disabled}\n required={required}\n error={showError}\n helperText={showError ? helperText : showHelperTextWhenValid ? helperText : undefined}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (type === 'number' && isNaN(Number(e.target.value))) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n setFieldValue && setFieldValue(fieldName, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n };\n\n const renderFormikField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return renderField(field.value as string, isSubmitting, showError, helperText, form.setFieldValue);\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {useFormik ? renderFormikField() : renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{useFormik ? renderFormikField() : renderField()}</FormItemLayout>;\n};\n\nexport default GenericTextField;\n"],"names":["label","fieldName","placeholder","validation","onChange","multiline","minRows","maxRows","layout","variant","disabled","required","showHelperTextWhenValid","startIcon","endIcon","value","type","useFormik","renderField","formikValue","isSubmitting","showError","helperText","setFieldValue","_jsx","TextField","undefined","toLowerCase","replace","autoComplete","fullWidth","style","paddingRight","error","e","isNaN","Number","target","slotProps","htmlInput","paddingTop","height","formHelperText","children","textAlign","InputProps","startAdornment","InputAdornment","position","endAdornment","renderFormikField","Field","name","validate","field","form","errors","touched","fieldError","useRenderValidText","_jsxs","_Fragment","Typography","component","color","FormItemLayout"],"mappings":"4TA6ByB,EACrBA,QACAC,YACAC,cACAC,aACAC,WACAC,YACAC,UACAC,UACAC,SAAS,aACTC,UAAU,WACVC,YAAW,EACXC,YAAW,EACXC,2BAA0B,EAC1BC,YACAC,UACAC,QACAC,OAAO,WAEP,MAAMC,IAAchB,EAEdiB,EAAc,CAChBC,EACAC,EACAC,EACAC,EACAC,IAGIC,EAAAA,IAACC,EAAS,CACNzB,MAAmB,aAAZS,OAAyBiB,EAAY1B,EAC5CS,QAASA,EACTM,MAAOA,GAASI,EACH,cAAA,cAAclB,GAAaD,EAAM2B,cAAcC,QAAQ,OAAQ,OAC5EC,aAAa,MACbC,aACAzB,UAAWA,EACXC,QAASA,IAAYD,EAAY,OAAIqB,GACrCnB,QAASA,IAAYF,EAAY,QAAKqB,GACtCK,MAAO,CAAEC,aAAyB,eAAXxB,EAA0B,GAAK,GACtDN,YAAaA,QAA4BwB,EACzChB,SAAUU,GAAgBV,EAC1BC,SAAUA,EACVsB,MAAOZ,EACPC,WAAYD,GAAyBT,EAAbU,OAAoDI,EAC5EtB,SAAW8B,IACM,WAATlB,GAAqBmB,MAAMC,OAAOF,EAAEG,OAAOtB,UAK/CQ,GAAiBA,EAActB,EAAWiC,EAAEG,OAAOtB,OAC/CX,GACAA,EAAS8B,GACZ,EAELI,UAAW,CACPC,UAAW,CACPR,MAAO,CACHS,WAAwB,aAAZ/B,EAAyB,OAAIiB,EACzCe,OAAQ,aAGhBC,eAAgB,CACZC,SAAU,IACVZ,MAAO,CAAEa,UAAW,WAG5BC,WAAY,CACRC,eAAgBjC,EAAYW,MAACuB,EAAc,CAACC,SAAS,QAASL,SAAA9B,SAA8Ba,EAC5FuB,aAAcnC,EAAUU,MAACuB,EAAc,CAACC,SAAS,MAAOL,SAAA7B,SAA4BY,KAM9FwB,EAAoB,IAElB1B,MAAC2B,EAAAA,OAAMC,KAAMnD,EAAWoD,SAAUlD,EAAUwC,SACvC,EAAGW,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOrC,aAAEA,GAAiBmC,EACpCG,EAAaF,EAAOF,EAAMF,MAC1B/B,IAAcqC,GAAeD,EAAQH,EAAMF,MAC3C9B,EAAaqC,EAAmB,CAClCD,aACArC,YACAoC,UAAWA,EAAQH,EAAMF,MACzBrC,MAAOuC,EAAMvC,QAIjB,OAAOG,EAAYoC,EAAMvC,MAAiBK,EAAcC,EAAWC,EAAYiC,EAAKhC,cAAc,IAMlH,MAAe,aAAXf,EAEIoD,OACKC,EAAAA,SAAA,CAAAlB,SAAA,CAAY,aAAZlC,GACGe,MAACsC,EAAU,CAACrD,QAAQ,YAAYsD,UAAU,KAAKC,MAAM,uBAChDhE,IAGRiB,EAAYiC,IAAsBhC,OAKxCM,MAACyC,EAAc,CAACjE,MAAOA,WAAQiB,EAAYiC,IAAsBhC,KAA+B"}
|
|
1
|
+
{"version":3,"file":"GenericTextField.cjs.js","sources":["../../../../src/components/ui/Form/GenericTextField.tsx"],"sourcesContent":["import { type ChangeEvent } from 'react';\n\nimport { type FieldProps, Field } from 'formik';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\n\ntype Props = {\n label: string;\n fieldName?: string;\n placeholder?: string;\n validation?: (value: string) => string | undefined;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\ntype TextFieldComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n fieldName: string;\n label: string;\n placeholder?: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\nconst TextFieldComponent = ({\n field,\n form,\n fieldName,\n label,\n placeholder,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon,\n endIcon,\n value,\n type = 'text',\n}: TextFieldComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value ?? field.value}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n disabled={isSubmitting || disabled}\n required={required}\n error={showError}\n helperText={(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (type === 'number' && isNaN(Number(e.target.value))) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(fieldName, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n};\n\nconst GenericTextField = ({\n label,\n fieldName = undefined,\n placeholder,\n validation,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon = undefined,\n endIcon = undefined,\n value,\n type = 'text',\n}: Props) => {\n const useFormik = !!fieldName;\n\n const renderField = () => {\n if (!useFormik) {\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n disabled={disabled}\n required={required}\n onChange={onChange}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n }\n\n return (\n <Field name={fieldName} validate={validation}>\n {(fieldProps: FieldProps) => (\n <TextFieldComponent\n {...fieldProps}\n fieldName={fieldName}\n label={label}\n placeholder={placeholder}\n onChange={onChange}\n multiline={multiline}\n minRows={minRows}\n maxRows={maxRows}\n layout={layout}\n variant={variant}\n disabled={disabled}\n required={required}\n showHelperTextWhenValid={showHelperTextWhenValid}\n startIcon={startIcon}\n endIcon={endIcon}\n value={value}\n type={type}\n />\n )}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericTextField;\n"],"names":["TextFieldComponent","field","form","fieldName","label","placeholder","onChange","multiline","minRows","maxRows","layout","variant","disabled","required","showHelperTextWhenValid","startIcon","endIcon","value","type","errors","touched","isSubmitting","fieldError","name","showError","helperText","useRenderValidText","_jsx","jsx","TextField","undefined","toLowerCase","replace","autoComplete","fullWidth","style","paddingRight","error","e","isNaN","Number","target","setFieldValue","slotProps","htmlInput","paddingTop","height","formHelperText","children","textAlign","InputProps","startAdornment","InputAdornment","position","endAdornment","validation","useFormik","renderField","Field","validate","fieldProps","_jsxs","jsxs","_Fragment","Typography","component","color","FormItemLayout"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,Fragment as t,jsx as
|
|
1
|
+
import{jsxs as e,Fragment as t,jsx as o}from"react/jsx-runtime";import"react";import{Field as i}from"formik";import r from"@mui/material/TextField";import a from"../../custom-hooks/useRenderValidText.js";import l from"./FormItemLayout.js";import n from"@mui/material/Typography";import d from"@mui/material/InputAdornment";const s=({field:e,form:t,fieldName:i,label:l,placeholder:n,onChange:s,multiline:m,minRows:u,maxRows:h,layout:p="horizontal",variant:c="standard",disabled:v=!1,required:f=!1,showHelperTextWhenValid:g=!1,startIcon:x,endIcon:w,value:y,type:b="text"})=>{const{errors:R,touched:I,isSubmitting:T}=t,C=R[e.name],A=!!C&&I[e.name],N=a({fieldError:C,showError:A,touched:!!I[e.name],value:e.value});return o(r,{label:"standard"===c?void 0:l,variant:c,value:y??e.value,"data-testid":`text-field-${i??l.toLowerCase().replace(/\s+/g,"-")}`,autoComplete:"off",fullWidth:!0,multiline:m,minRows:u??(m?3:void 0),maxRows:h??(m?10:void 0),style:{paddingRight:"horizontal"===p?16:0},placeholder:n||void 0,disabled:T||v,required:f,error:A,helperText:A||g?N:void 0,onChange:e=>{"number"===b&&isNaN(Number(e.target.value))||(t.setFieldValue(i,e.target.value),s&&s(e))},slotProps:{htmlInput:{style:{paddingTop:"outlined"!==c?0:void 0,height:"1.1876em"}},formHelperText:{children:" ",style:{textAlign:"right"}}},InputProps:{startAdornment:x?o(d,{position:"start",children:x}):void 0,endAdornment:w?o(d,{position:"end",children:w}):void 0}})},m=({label:a,fieldName:m,placeholder:u,validation:h,onChange:p,multiline:c,minRows:v,maxRows:f,layout:g="horizontal",variant:x="standard",disabled:w=!1,required:y=!1,showHelperTextWhenValid:b=!1,startIcon:R,endIcon:I,value:T,type:C="text"})=>{const A=!!m,N=()=>A?o(i,{name:m,validate:h,children:e=>o(s,{...e,fieldName:m,label:a,placeholder:u,onChange:p,multiline:c,minRows:v,maxRows:f,layout:g,variant:x,disabled:w,required:y,showHelperTextWhenValid:b,startIcon:R,endIcon:I,value:T,type:C})}):o(r,{label:"standard"===x?void 0:a,variant:x,value:T,"data-testid":`text-field-${m??a.toLowerCase().replace(/\s+/g,"-")}`,autoComplete:"off",fullWidth:!0,multiline:c,minRows:v??(c?3:void 0),maxRows:f??(c?10:void 0),style:{paddingRight:"horizontal"===g?16:0},placeholder:u||void 0,disabled:w,required:y,onChange:p,slotProps:{htmlInput:{style:{paddingTop:"outlined"!==x?0:void 0,height:"1.1876em"}},formHelperText:{children:" ",style:{textAlign:"right"}}},InputProps:{startAdornment:R?o(d,{position:"start",children:R}):void 0,endAdornment:I?o(d,{position:"end",children:I}):void 0}});return"vertical"===g?e(t,{children:["standard"===x&&o(n,{variant:"subtitle1",component:"h3",color:"textPrimary",children:a}),N()]}):o(l,{label:a,children:N()})};export{m as default};
|
|
2
2
|
//# sourceMappingURL=GenericTextField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericTextField.js","sources":["../../../../src/components/ui/Form/GenericTextField.tsx"],"sourcesContent":["import { type ChangeEvent, type ReactNode } from 'react';\n\nimport { type FieldProps, Field } from 'formik';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\n\ntype Props = {\n label: string;\n fieldName?: string;\n placeholder?: string;\n validation?: (value: string) => string | undefined;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\nconst GenericTextField = ({\n label,\n fieldName = undefined,\n placeholder,\n validation,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon = undefined,\n endIcon = undefined,\n value,\n type = 'text',\n}: Props) => {\n const useFormik = !!fieldName;\n\n const renderField = (\n formikValue?: string,\n isSubmitting?: boolean,\n showError?: boolean,\n helperText?: string | ReactNode,\n setFieldValue?: (name: string, value: string) => void,\n ) => {\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value ?? formikValue}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder ? placeholder : undefined}\n disabled={isSubmitting || disabled}\n required={required}\n error={showError}\n helperText={showError ? helperText : showHelperTextWhenValid ? helperText : undefined}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (type === 'number' && isNaN(Number(e.target.value))) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n setFieldValue && setFieldValue(fieldName, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n };\n\n const renderFormikField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n return renderField(field.value as string, isSubmitting, showError, helperText, form.setFieldValue);\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {useFormik ? renderFormikField() : renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{useFormik ? renderFormikField() : renderField()}</FormItemLayout>;\n};\n\nexport default GenericTextField;\n"],"names":["GenericTextField","label","fieldName","placeholder","validation","onChange","multiline","minRows","maxRows","layout","variant","disabled","required","showHelperTextWhenValid","startIcon","endIcon","value","type","useFormik","renderField","formikValue","isSubmitting","showError","helperText","setFieldValue","_jsx","TextField","undefined","toLowerCase","replace","autoComplete","fullWidth","style","paddingRight","error","e","isNaN","Number","target","slotProps","htmlInput","paddingTop","height","formHelperText","children","textAlign","InputProps","startAdornment","InputAdornment","position","endAdornment","renderFormikField","Field","name","validate","field","form","errors","touched","fieldError","useRenderValidText","_jsxs","_Fragment","Typography","component","color","FormItemLayout"],"mappings":"mUA6BM,MAAAA,EAAmB,EACrBC,QACAC,YACAC,cACAC,aACAC,WACAC,YACAC,UACAC,UACAC,SAAS,aACTC,UAAU,WACVC,YAAW,EACXC,YAAW,EACXC,2BAA0B,EAC1BC,YACAC,UACAC,QACAC,OAAO,WAEP,MAAMC,IAAchB,EAEdiB,EAAc,CAChBC,EACAC,EACAC,EACAC,EACAC,IAGIC,EAACC,EAAS,CACNzB,MAAmB,aAAZS,OAAyBiB,EAAY1B,EAC5CS,QAASA,EACTM,MAAOA,GAASI,EACH,cAAA,cAAclB,GAAaD,EAAM2B,cAAcC,QAAQ,OAAQ,OAC5EC,aAAa,MACbC,aACAzB,UAAWA,EACXC,QAASA,IAAYD,EAAY,OAAIqB,GACrCnB,QAASA,IAAYF,EAAY,QAAKqB,GACtCK,MAAO,CAAEC,aAAyB,eAAXxB,EAA0B,GAAK,GACtDN,YAAaA,QAA4BwB,EACzChB,SAAUU,GAAgBV,EAC1BC,SAAUA,EACVsB,MAAOZ,EACPC,WAAYD,GAAyBT,EAAbU,OAAoDI,EAC5EtB,SAAW8B,IACM,WAATlB,GAAqBmB,MAAMC,OAAOF,EAAEG,OAAOtB,UAK/CQ,GAAiBA,EAActB,EAAWiC,EAAEG,OAAOtB,OAC/CX,GACAA,EAAS8B,GACZ,EAELI,UAAW,CACPC,UAAW,CACPR,MAAO,CACHS,WAAwB,aAAZ/B,EAAyB,OAAIiB,EACzCe,OAAQ,aAGhBC,eAAgB,CACZC,SAAU,IACVZ,MAAO,CAAEa,UAAW,WAG5BC,WAAY,CACRC,eAAgBjC,EAAYW,EAACuB,EAAc,CAACC,SAAS,QAASL,SAAA9B,SAA8Ba,EAC5FuB,aAAcnC,EAAUU,EAACuB,EAAc,CAACC,SAAS,MAAOL,SAAA7B,SAA4BY,KAM9FwB,EAAoB,IAElB1B,EAAC2B,GAAMC,KAAMnD,EAAWoD,SAAUlD,EAAUwC,SACvC,EAAGW,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOrC,aAAEA,GAAiBmC,EACpCG,EAAaF,EAAOF,EAAMF,MAC1B/B,IAAcqC,GAAeD,EAAQH,EAAMF,MAC3C9B,EAAaqC,EAAmB,CAClCD,aACArC,YACAoC,UAAWA,EAAQH,EAAMF,MACzBrC,MAAOuC,EAAMvC,QAIjB,OAAOG,EAAYoC,EAAMvC,MAAiBK,EAAcC,EAAWC,EAAYiC,EAAKhC,cAAc,IAMlH,MAAe,aAAXf,EAEIoD,EACKC,EAAA,CAAAlB,SAAA,CAAY,aAAZlC,GACGe,EAACsC,EAAU,CAACrD,QAAQ,YAAYsD,UAAU,KAAKC,MAAM,uBAChDhE,IAGRiB,EAAYiC,IAAsBhC,OAKxCM,EAACyC,EAAc,CAACjE,MAAOA,WAAQiB,EAAYiC,IAAsBhC,KAA+B"}
|
|
1
|
+
{"version":3,"file":"GenericTextField.js","sources":["../../../../src/components/ui/Form/GenericTextField.tsx"],"sourcesContent":["import { type ChangeEvent } from 'react';\n\nimport { type FieldProps, Field } from 'formik';\nimport TextField, { type TextFieldProps } from '@mui/material/TextField';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport FormItemLayout from './FormItemLayout';\nimport Typography from '@mui/material/Typography';\nimport InputAdornment from '@mui/material/InputAdornment';\n\ntype Props = {\n label: string;\n fieldName?: string;\n placeholder?: string;\n validation?: (value: string) => string | undefined;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\ntype TextFieldComponentProps = {\n field: FieldProps['field'];\n form: FieldProps['form'];\n fieldName: string;\n label: string;\n placeholder?: string;\n onChange?: (e: ChangeEvent<HTMLInputElement>) => void;\n multiline?: boolean;\n minRows?: number;\n maxRows?: number;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldProps['variant'];\n disabled?: boolean;\n required?: boolean;\n showHelperTextWhenValid?: boolean;\n startIcon?: React.ReactNode;\n endIcon?: React.ReactNode;\n value?: string;\n type?: 'number' | 'text';\n};\n\nconst TextFieldComponent = ({\n field,\n form,\n fieldName,\n label,\n placeholder,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon,\n endIcon,\n value,\n type = 'text',\n}: TextFieldComponentProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value ?? field.value}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n disabled={isSubmitting || disabled}\n required={required}\n error={showError}\n helperText={(() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })()}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (type === 'number' && isNaN(Number(e.target.value))) {\n return;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(fieldName, e.target.value);\n if (onChange) {\n onChange(e);\n }\n }}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n};\n\nconst GenericTextField = ({\n label,\n fieldName = undefined,\n placeholder,\n validation,\n onChange,\n multiline,\n minRows,\n maxRows,\n layout = 'horizontal',\n variant = 'standard',\n disabled = false,\n required = false,\n showHelperTextWhenValid = false,\n startIcon = undefined,\n endIcon = undefined,\n value,\n type = 'text',\n}: Props) => {\n const useFormik = !!fieldName;\n\n const renderField = () => {\n if (!useFormik) {\n return (\n <TextField\n label={variant === 'standard' ? undefined : label}\n variant={variant}\n value={value}\n data-testid={`text-field-${fieldName ?? label.toLowerCase().replace(/\\s+/g, '-')}`}\n autoComplete=\"off\"\n fullWidth\n multiline={multiline}\n minRows={minRows ?? (multiline ? 3 : undefined)}\n maxRows={maxRows ?? (multiline ? 10 : undefined)}\n style={{ paddingRight: layout === 'horizontal' ? 16 : 0 }}\n placeholder={placeholder || undefined}\n disabled={disabled}\n required={required}\n onChange={onChange}\n slotProps={{\n htmlInput: {\n style: {\n paddingTop: variant !== 'outlined' ? 0 : undefined,\n height: '1.1876em',\n },\n },\n formHelperText: {\n children: ' ', // reserves line height for error message\n style: { textAlign: 'right' },\n },\n }}\n InputProps={{\n startAdornment: startIcon ? <InputAdornment position=\"start\">{startIcon}</InputAdornment> : undefined,\n endAdornment: endIcon ? <InputAdornment position=\"end\">{endIcon}</InputAdornment> : undefined,\n }}\n />\n );\n }\n\n return (\n <Field name={fieldName} validate={validation}>\n {(fieldProps: FieldProps) => (\n <TextFieldComponent\n {...fieldProps}\n fieldName={fieldName}\n label={label}\n placeholder={placeholder}\n onChange={onChange}\n multiline={multiline}\n minRows={minRows}\n maxRows={maxRows}\n layout={layout}\n variant={variant}\n disabled={disabled}\n required={required}\n showHelperTextWhenValid={showHelperTextWhenValid}\n startIcon={startIcon}\n endIcon={endIcon}\n value={value}\n type={type}\n />\n )}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericTextField;\n"],"names":["TextFieldComponent","field","form","fieldName","label","placeholder","onChange","multiline","minRows","maxRows","layout","variant","disabled","required","showHelperTextWhenValid","startIcon","endIcon","value","type","errors","touched","isSubmitting","fieldError","name","showError","helperText","useRenderValidText","_jsx","TextField","undefined","toLowerCase","replace","autoComplete","fullWidth","style","paddingRight","error","e","isNaN","Number","target","setFieldValue","slotProps","htmlInput","paddingTop","height","formHelperText","children","textAlign","InputProps","startAdornment","InputAdornment","position","endAdornment","GenericTextField","validation","useFormik","renderField","Field","validate","fieldProps","_jsxs","_Fragment","Typography","component","color","FormItemLayout"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formValidation.cjs.js","sources":["../../../../../src/components/ui/Form/utilities/formValidation.tsx"],"sourcesContent":["export const formikValidate = {\n Required: (value: string): TranslationId | undefined => {\n if (value.length === 0) {\n return 'Required';\n }\n
|
|
1
|
+
{"version":3,"file":"formValidation.cjs.js","sources":["../../../../../src/components/ui/Form/utilities/formValidation.tsx"],"sourcesContent":["export const formikValidate = {\n Required: (value: string): TranslationId | undefined => {\n if (value.length === 0) {\n return 'Required';\n }\n },\n AtLeastOneSelected: (value: Array<string | number>): TranslationId | undefined => {\n if (value.length === 0) {\n return 'Required';\n }\n },\n};\n"],"names":["Required","value","length","AtLeastOneSelected"],"mappings":"oCAA8B,CAC1BA,SAAWC,IACP,GAAqB,IAAjBA,EAAMC,OACN,MAAO,UACV,EAELC,mBAAqBF,IACjB,GAAqB,IAAjBA,EAAMC,OACN,MAAO,UACV"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formValidation.js","sources":["../../../../../src/components/ui/Form/utilities/formValidation.tsx"],"sourcesContent":["export const formikValidate = {\n Required: (value: string): TranslationId | undefined => {\n if (value.length === 0) {\n return 'Required';\n }\n
|
|
1
|
+
{"version":3,"file":"formValidation.js","sources":["../../../../../src/components/ui/Form/utilities/formValidation.tsx"],"sourcesContent":["export const formikValidate = {\n Required: (value: string): TranslationId | undefined => {\n if (value.length === 0) {\n return 'Required';\n }\n },\n AtLeastOneSelected: (value: Array<string | number>): TranslationId | undefined => {\n if (value.length === 0) {\n return 'Required';\n }\n },\n};\n"],"names":["formikValidate","Required","value","length","AtLeastOneSelected"],"mappings":"AAAa,MAAAA,EAAiB,CAC1BC,SAAWC,IACP,GAAqB,IAAjBA,EAAMC,OACN,MAAO,UACV,EAELC,mBAAqBF,IACjB,GAAqB,IAAjBA,EAAMC,OACN,MAAO,UACV"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("formik"),i=require("../Form/FormItemLayout.cjs.js"),a=require("@mui/material/styles");require("@mui/material/TextField");var t=require("@mui/material/Box"),l=require("@mui/material/Typography"),s=require("../../custom-hooks/useRenderValidText.cjs.js"),o=require("moment");require("@mui/x-date-pickers/DatePicker"),require("@mui/x-date-pickers/DateTimePicker");const n=a.styled("div")((({theme:e})=>({marginTop:e.spacing(2),"& > div":{width:"100%"}})));module.exports=({label:d,fieldName:u,description:m,validation:c,variant:h="standard",layout:x,onChange:p,disabled:v=!1,disablePast:j=!1,disablefuture:b=!1,placeholder:g,showHelperTextWhenValid:q=!1,pickerComponent:y})=>{const F=a.useTheme(),T=()=>e.jsx(r.Field,{name:u,validate:c,children:({field:r,form:i})=>{const{errors:a,touched:c,isSubmitting:T}=i,k=a[r.name],P=!!k&&c[r.name],f=s({fieldError:k,showError:P,touched:!!c[r.name],value:r.value});return e.jsxs(t,{sx:{paddingRight:"horizontal"===x?"16px":0},children:[e.jsx(n,{children:e.jsx(y,{label:"standard"===h?void 0:d,value:o.isMoment(r.value)?r.value:o(r.value),onChange:e=>{const a=o.isMoment(e)?e:o(e);i.setFieldValue(r.name,a),p&&p(a)},name:u,slotProps:{textField:{variant:h,placeholder:g,error:P,helperText:P||q?f:void 0,FormHelperTextProps:{children:" ",style:{textAlign:"right"}}}},disabled:T||v,disablePast:j,disableFuture:b})}),m&&e.jsx(l,{variant:"caption",sx:{color:F.palette.text.secondary},children:m})]})}});return"vertical"===x?e.jsxs(e.Fragment,{children:["standard"===h&&e.jsx(l,{variant:"subtitle1",component:"h3",color:"textPrimary",children:d}),T()]}):e.jsx(i,{label:d,children:T()})};
|
|
2
|
+
//# sourceMappingURL=GenericDateFieldBase.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericDateFieldBase.cjs.js","sources":["../../../../src/components/ui/GenericDatePickerField/GenericDateFieldBase.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { type TextFieldVariants } from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport moment from 'moment';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst StyledPickerBase = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n '& > div': {\n width: '100%',\n },\n}));\n\nexport type GenericDateFieldBaseProps = {\n label: string;\n placeholder?: string;\n fieldName: string;\n description?: string;\n validation?: (value: string) => string | undefined;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldVariants;\n disabled?: boolean;\n disablePast?: boolean;\n disablefuture?: boolean;\n onChange?: (dateTime: moment.Moment) => void;\n showHelperTextWhenValid?: boolean;\n pickerComponent: typeof DatePicker | typeof DateTimePicker;\n};\n\nconst GenericDateFieldBase = ({\n label,\n fieldName,\n description,\n validation,\n variant = 'standard',\n layout,\n onChange,\n disabled = false,\n disablePast = false,\n disablefuture = false,\n placeholder = undefined,\n showHelperTextWhenValid = false,\n pickerComponent: PickerComponent,\n}: GenericDateFieldBaseProps) => {\n const theme = useTheme();\n\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <StyledPickerBase>\n <PickerComponent\n label={variant === 'standard' ? undefined : label}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n value={moment.isMoment(field.value) ? field.value : moment(field.value)}\n onChange={(value) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const momentValue = moment.isMoment(value) ? value : moment(value);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, momentValue);\n if (onChange) {\n onChange(momentValue);\n }\n }}\n name={fieldName}\n slotProps={{\n textField: {\n variant,\n placeholder,\n error: showError,\n helperText: (() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })(),\n FormHelperTextProps: {\n children: ' ',\n style: { textAlign: 'right' },\n },\n },\n }}\n disabled={isSubmitting || disabled}\n disablePast={disablePast}\n disableFuture={disablefuture}\n />\n </StyledPickerBase>\n {description && (\n <Typography variant=\"caption\" sx={{ color: theme.palette.text.secondary }}>\n {description}\n </Typography>\n )}\n </Box>\n );\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericDateFieldBase;\n"],"names":["StyledPickerBase","styled","theme","marginTop","spacing","width","label","fieldName","description","validation","variant","layout","onChange","disabled","disablePast","disablefuture","placeholder","showHelperTextWhenValid","pickerComponent","PickerComponent","useTheme","renderField","_jsx","Field","name","validate","children","field","form","errors","touched","isSubmitting","fieldError","showError","helperText","useRenderValidText","value","_jsxs","jsxs","Box","sx","paddingRight","undefined","moment","isMoment","momentValue","setFieldValue","slotProps","textField","error","FormHelperTextProps","style","textAlign","disableFuture","Typography","color","palette","text","secondary","_Fragment","jsx","component","FormItemLayout"],"mappings":"maAWA,MAAMA,EAAmBC,EAAAA,OAAO,MAAPA,EAAc,EAAGC,YAAa,CACnDC,UAAWD,EAAME,QAAQ,GACzB,UAAW,CACPC,MAAO,2BAoBc,EACzBC,QACAC,YACAC,cACAC,aACAC,UAAU,WACVC,SACAC,WACAC,YAAW,EACXC,eAAc,EACdC,iBAAgB,EAChBC,cACAC,2BAA0B,EAC1BC,gBAAiBC,MAEjB,MAAMjB,EAAQkB,EAAAA,WAERC,EAAc,IAEZC,MAACC,EAAAA,OAAMC,KAAMjB,EAAWkB,SAAUhB,EAAUiB,SACvC,EAAGC,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBH,EACpCI,EAAaH,EAAOF,EAAMH,MAC1BS,IAAcD,GAAeF,EAAQH,EAAMH,MAC3CU,EAAaC,EAAmB,CAClCH,aACAC,YACAH,UAAWA,EAAQH,EAAMH,MACzBY,MAAOT,EAAMS,QAGjB,OACIC,EAACC,KAAAC,GAAIC,GAAI,CAAEC,aAAyB,eAAX9B,EAA0B,OAAS,GAAGe,SAAA,CAC3DJ,EAAAA,IAACtB,EAAgB,CAAA0B,SACbJ,MAACH,EAAe,CACZb,MAAmB,aAAZI,OAAyBgC,EAAYpC,EAE5C8B,MAAOO,EAAOC,SAASjB,EAAMS,OAAST,EAAMS,MAAQO,EAAOhB,EAAMS,OACjExB,SAAWwB,IAEP,MAAMS,EAAcF,EAAOC,SAASR,GAASA,EAAQO,EAAOP,GAE5DR,EAAKkB,cAAcnB,EAAMH,KAAMqB,GAC3BjC,GACAA,EAASiC,EACZ,EAELrB,KAAMjB,EACNwC,UAAW,CACPC,UAAW,CACPtC,UACAM,cACAiC,MAAOhB,EACPC,WACQD,GACAhB,EADkBiB,OACtB,EAGJgB,oBAAqB,CACjBxB,SAAU,IACVyB,MAAO,CAAEC,UAAW,YAIhCvC,SAAUkB,GAAgBlB,EAC1BC,YAAaA,EACbuC,cAAetC,MAGtBP,GACGc,EAAAA,IAACgC,EAAU,CAAC5C,QAAQ,UAAU8B,GAAI,CAAEe,MAAOrD,EAAMsD,QAAQC,KAAKC,WAAWhC,SACpElB,MAIf,IAMlB,MAAe,aAAXG,EAEI0B,EAAAC,KAAAqB,WAAA,CAAAjC,SAAA,CACiB,aAAZhB,GACGY,EAAAsC,IAACN,EAAU,CAAC5C,QAAQ,YAAYmD,UAAU,KAAKN,MAAM,cAChD7B,SAAApB,IAGRe,OAKNC,EAAAsC,IAACE,EAAc,CAACxD,MAAOA,EAAQoB,SAAAL,KAA+B"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TextFieldVariants } from '@mui/material/TextField';
|
|
2
|
+
import moment from 'moment';
|
|
3
|
+
import { DatePicker } from '@mui/x-date-pickers/DatePicker';
|
|
4
|
+
import { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';
|
|
5
|
+
|
|
6
|
+
type GenericDateFieldBaseProps = {
|
|
7
|
+
label: string;
|
|
8
|
+
placeholder?: string;
|
|
9
|
+
fieldName: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
validation?: (value: string) => string | undefined;
|
|
12
|
+
layout?: 'horizontal' | 'vertical';
|
|
13
|
+
variant?: TextFieldVariants;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
disablePast?: boolean;
|
|
16
|
+
disablefuture?: boolean;
|
|
17
|
+
onChange?: (dateTime: moment.Moment) => void;
|
|
18
|
+
showHelperTextWhenValid?: boolean;
|
|
19
|
+
pickerComponent: typeof DatePicker | typeof DateTimePicker;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export type { GenericDateFieldBaseProps };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as e,Fragment as r,jsx as t}from"react/jsx-runtime";import{Field as i}from"formik";import a from"../Form/FormItemLayout.js";import{styled as o,useTheme as l}from"@mui/material/styles";import"@mui/material/TextField";import m from"@mui/material/Box";import n from"@mui/material/Typography";import d from"../../custom-hooks/useRenderValidText.js";import s from"moment";import"@mui/x-date-pickers/DatePicker";import"@mui/x-date-pickers/DateTimePicker";const p=o("div")((({theme:e})=>({marginTop:e.spacing(2),"& > div":{width:"100%"}}))),c=({label:o,fieldName:c,description:u,validation:h,variant:v="standard",layout:x,onChange:f,disabled:b=!1,disablePast:g=!1,disablefuture:y=!1,placeholder:T,showHelperTextWhenValid:k=!1,pickerComponent:F})=>{const P=l(),j=()=>t(i,{name:c,validate:h,children:({field:r,form:i})=>{const{errors:a,touched:l,isSubmitting:h}=i,j=a[r.name],w=!!j&&l[r.name],C=d({fieldError:j,showError:w,touched:!!l[r.name],value:r.value});return e(m,{sx:{paddingRight:"horizontal"===x?"16px":0},children:[t(p,{children:t(F,{label:"standard"===v?void 0:o,value:s.isMoment(r.value)?r.value:s(r.value),onChange:e=>{const t=s.isMoment(e)?e:s(e);i.setFieldValue(r.name,t),f&&f(t)},name:c,slotProps:{textField:{variant:v,placeholder:T,error:w,helperText:w||k?C:void 0,FormHelperTextProps:{children:" ",style:{textAlign:"right"}}}},disabled:h||b,disablePast:g,disableFuture:y})}),u&&t(n,{variant:"caption",sx:{color:P.palette.text.secondary},children:u})]})}});return"vertical"===x?e(r,{children:["standard"===v&&t(n,{variant:"subtitle1",component:"h3",color:"textPrimary",children:o}),j()]}):t(a,{label:o,children:j()})};export{c as default};
|
|
2
|
+
//# sourceMappingURL=GenericDateFieldBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericDateFieldBase.js","sources":["../../../../src/components/ui/GenericDatePickerField/GenericDateFieldBase.tsx"],"sourcesContent":["import { type FieldProps, Field } from 'formik';\nimport FormItemLayout from '../Form/FormItemLayout';\nimport { styled, useTheme } from '@mui/material/styles';\nimport { type TextFieldVariants } from '@mui/material/TextField';\nimport Box from '@mui/material/Box';\nimport Typography from '@mui/material/Typography';\nimport useRenderValidText from '../../custom-hooks/useRenderValidText';\nimport moment from 'moment';\nimport { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport { DateTimePicker } from '@mui/x-date-pickers/DateTimePicker';\n\nconst StyledPickerBase = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n '& > div': {\n width: '100%',\n },\n}));\n\nexport type GenericDateFieldBaseProps = {\n label: string;\n placeholder?: string;\n fieldName: string;\n description?: string;\n validation?: (value: string) => string | undefined;\n layout?: 'horizontal' | 'vertical';\n variant?: TextFieldVariants;\n disabled?: boolean;\n disablePast?: boolean;\n disablefuture?: boolean;\n onChange?: (dateTime: moment.Moment) => void;\n showHelperTextWhenValid?: boolean;\n pickerComponent: typeof DatePicker | typeof DateTimePicker;\n};\n\nconst GenericDateFieldBase = ({\n label,\n fieldName,\n description,\n validation,\n variant = 'standard',\n layout,\n onChange,\n disabled = false,\n disablePast = false,\n disablefuture = false,\n placeholder = undefined,\n showHelperTextWhenValid = false,\n pickerComponent: PickerComponent,\n}: GenericDateFieldBaseProps) => {\n const theme = useTheme();\n\n const renderField = () => {\n return (\n <Field name={fieldName} validate={validation}>\n {({ field, form }: FieldProps) => {\n const { errors, touched, isSubmitting } = form;\n const fieldError = errors[field.name] as string | undefined;\n const showError = !!fieldError && (touched[field.name] as boolean | undefined);\n const helperText = useRenderValidText({\n fieldError,\n showError,\n touched: !!touched[field.name],\n value: field.value,\n });\n\n return (\n <Box sx={{ paddingRight: layout === 'horizontal' ? '16px' : 0 }}>\n <StyledPickerBase>\n <PickerComponent\n label={variant === 'standard' ? undefined : label}\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n value={moment.isMoment(field.value) ? field.value : moment(field.value)}\n onChange={(value) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n const momentValue = moment.isMoment(value) ? value : moment(value);\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n form.setFieldValue(field.name, momentValue);\n if (onChange) {\n onChange(momentValue);\n }\n }}\n name={fieldName}\n slotProps={{\n textField: {\n variant,\n placeholder,\n error: showError,\n helperText: (() => {\n if (showError) return helperText;\n if (showHelperTextWhenValid) return helperText;\n return undefined;\n })(),\n FormHelperTextProps: {\n children: ' ',\n style: { textAlign: 'right' },\n },\n },\n }}\n disabled={isSubmitting || disabled}\n disablePast={disablePast}\n disableFuture={disablefuture}\n />\n </StyledPickerBase>\n {description && (\n <Typography variant=\"caption\" sx={{ color: theme.palette.text.secondary }}>\n {description}\n </Typography>\n )}\n </Box>\n );\n }}\n </Field>\n );\n };\n\n if (layout === 'vertical') {\n return (\n <>\n {variant === 'standard' && (\n <Typography variant=\"subtitle1\" component=\"h3\" color=\"textPrimary\">\n {label}\n </Typography>\n )}\n {renderField()}\n </>\n );\n }\n\n return <FormItemLayout label={label}>{renderField()}</FormItemLayout>;\n};\n\nexport default GenericDateFieldBase;\n"],"names":["StyledPickerBase","styled","theme","marginTop","spacing","width","GenericDateFieldBase","label","fieldName","description","validation","variant","layout","onChange","disabled","disablePast","disablefuture","placeholder","showHelperTextWhenValid","pickerComponent","PickerComponent","useTheme","renderField","_jsx","Field","name","validate","children","field","form","errors","touched","isSubmitting","fieldError","showError","helperText","useRenderValidText","value","_jsxs","Box","sx","paddingRight","undefined","moment","isMoment","momentValue","setFieldValue","slotProps","textField","error","FormHelperTextProps","style","textAlign","disableFuture","Typography","color","palette","text","secondary","_Fragment","component","FormItemLayout"],"mappings":"6cAWA,MAAMA,EAAmBC,EAAO,MAAPA,EAAc,EAAGC,YAAa,CACnDC,UAAWD,EAAME,QAAQ,GACzB,UAAW,CACPC,MAAO,YAoBTC,EAAuB,EACzBC,QACAC,YACAC,cACAC,aACAC,UAAU,WACVC,SACAC,WACAC,YAAW,EACXC,eAAc,EACdC,iBAAgB,EAChBC,cACAC,2BAA0B,EAC1BC,gBAAiBC,MAEjB,MAAMlB,EAAQmB,IAERC,EAAc,IAEZC,EAACC,GAAMC,KAAMjB,EAAWkB,SAAUhB,EAAUiB,SACvC,EAAGC,QAAOC,WACP,MAAMC,OAAEA,EAAMC,QAAEA,EAAOC,aAAEA,GAAiBH,EACpCI,EAAaH,EAAOF,EAAMH,MAC1BS,IAAcD,GAAeF,EAAQH,EAAMH,MAC3CU,EAAaC,EAAmB,CAClCH,aACAC,YACAH,UAAWA,EAAQH,EAAMH,MACzBY,MAAOT,EAAMS,QAGjB,OACIC,EAACC,GAAIC,GAAI,CAAEC,aAAyB,eAAX7B,EAA0B,OAAS,GAAGe,SAAA,CAC3DJ,EAACvB,EAAgB,CAAA2B,SACbJ,EAACH,EAAe,CACZb,MAAmB,aAAZI,OAAyB+B,EAAYnC,EAE5C8B,MAAOM,EAAOC,SAAShB,EAAMS,OAAST,EAAMS,MAAQM,EAAOf,EAAMS,OACjExB,SAAWwB,IAEP,MAAMQ,EAAcF,EAAOC,SAASP,GAASA,EAAQM,EAAON,GAE5DR,EAAKiB,cAAclB,EAAMH,KAAMoB,GAC3BhC,GACAA,EAASgC,EACZ,EAELpB,KAAMjB,EACNuC,UAAW,CACPC,UAAW,CACPrC,UACAM,cACAgC,MAAOf,EACPC,WACQD,GACAhB,EADkBiB,OACtB,EAGJe,oBAAqB,CACjBvB,SAAU,IACVwB,MAAO,CAAEC,UAAW,YAIhCtC,SAAUkB,GAAgBlB,EAC1BC,YAAaA,EACbsC,cAAerC,MAGtBP,GACGc,EAAC+B,EAAU,CAAC3C,QAAQ,UAAU6B,GAAI,CAAEe,MAAOrD,EAAMsD,QAAQC,KAAKC,WAAW/B,SACpElB,MAIf,IAMlB,MAAe,aAAXG,EAEI0B,EAAAqB,EAAA,CAAAhC,SAAA,CACiB,aAAZhB,GACGY,EAAC+B,EAAU,CAAC3C,QAAQ,YAAYiD,UAAU,KAAKL,MAAM,cAChD5B,SAAApB,IAGRe,OAKNC,EAACsC,EAAc,CAACtD,MAAOA,EAAQoB,SAAAL,KAA+B"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/x-date-pickers/DatePicker"),i=require("./GenericDateFieldBase.cjs.js");module.exports=t=>e.jsx(i,{...t,pickerComponent:r.DatePicker});
|
|
2
2
|
//# sourceMappingURL=GenericDatePickerField.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericDatePickerField.cjs.js","sources":["../../../../src/components/ui/GenericDatePickerField/GenericDatePickerField.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"GenericDatePickerField.cjs.js","sources":["../../../../src/components/ui/GenericDatePickerField/GenericDatePickerField.tsx"],"sourcesContent":["import { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from './GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDatePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DatePicker} />;\n};\n\nexport default GenericDatePickerField;\n"],"names":["props","_jsx","GenericDateFieldBase","pickerComponent","DatePicker"],"mappings":"sJAKgCA,GACrBC,EAAAA,IAACC,EAAyB,IAAAF,EAAOG,gBAAiBC,EAAUA"}
|
|
@@ -1,21 +1,7 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import {
|
|
3
|
-
import moment from 'moment';
|
|
2
|
+
import { GenericDateFieldBaseProps } from './GenericDateFieldBase.js';
|
|
4
3
|
|
|
5
|
-
type Props =
|
|
6
|
-
|
|
7
|
-
placeholder?: string;
|
|
8
|
-
fieldName: string;
|
|
9
|
-
description?: string;
|
|
10
|
-
validation?: (value: string) => string | undefined;
|
|
11
|
-
layout?: 'horizontal' | 'vertical';
|
|
12
|
-
variant?: TextFieldVariants;
|
|
13
|
-
disabled?: boolean;
|
|
14
|
-
disablePast?: boolean;
|
|
15
|
-
disablefuture?: boolean;
|
|
16
|
-
onChange?: (dateTime: moment.Moment) => void;
|
|
17
|
-
showHelperTextWhenValid?: boolean;
|
|
18
|
-
};
|
|
19
|
-
declare const GenericDatePickerField: ({ label, fieldName, description, validation, variant, layout, onChange, disabled, disablePast, disablefuture, placeholder, showHelperTextWhenValid, }: Props) => react_jsx_runtime.JSX.Element;
|
|
4
|
+
type Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;
|
|
5
|
+
declare const GenericDatePickerField: (props: Props) => react_jsx_runtime.JSX.Element;
|
|
20
6
|
|
|
21
7
|
export { GenericDatePickerField as default };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{DatePicker as r}from"@mui/x-date-pickers/DatePicker";import t from"./GenericDateFieldBase.js";const i=i=>e(t,{...i,pickerComponent:r});export{i as default};
|
|
2
2
|
//# sourceMappingURL=GenericDatePickerField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenericDatePickerField.js","sources":["../../../../src/components/ui/GenericDatePickerField/GenericDatePickerField.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"GenericDatePickerField.js","sources":["../../../../src/components/ui/GenericDatePickerField/GenericDatePickerField.tsx"],"sourcesContent":["import { DatePicker } from '@mui/x-date-pickers/DatePicker';\nimport GenericDateFieldBase, { type GenericDateFieldBaseProps } from './GenericDateFieldBase';\n\ntype Props = Omit<GenericDateFieldBaseProps, 'pickerComponent'>;\n\nconst GenericDatePickerField = (props: Props) => {\n return <GenericDateFieldBase {...props} pickerComponent={DatePicker} />;\n};\n\nexport default GenericDatePickerField;\n"],"names":["GenericDatePickerField","props","_jsx","GenericDateFieldBase","pickerComponent","DatePicker"],"mappings":"6IAKA,MAAMA,EAA0BC,GACrBC,EAACC,EAAyB,IAAAF,EAAOG,gBAAiBC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var e=require("react/jsx-runtime"),r=require("
|
|
1
|
+
"use strict";var e=require("react/jsx-runtime"),r=require("@mui/x-date-pickers/DateTimePicker"),i=require("../GenericDatePickerField/GenericDateFieldBase.cjs.js");module.exports=t=>e.jsx(i,{...t,pickerComponent:r.DateTimePicker});
|
|
2
2
|
//# sourceMappingURL=GenericDateTimePickerField.cjs.js.map
|