@form-eng/mui 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +138 -0
- package/dist/index.d.mts +141 -0
- package/dist/index.d.ts +141 -0
- package/dist/index.js +1036 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +995 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/fields/Textbox.tsx","../src/components/ReadOnlyText.tsx","../src/helpers.ts","../src/fields/Number.tsx","../src/fields/Toggle.tsx","../src/fields/Dropdown.tsx","../src/fields/MultiSelect.tsx","../src/fields/DateControl.tsx","../src/fields/Slider.tsx","../src/fields/DynamicFragment.tsx","../src/fields/SimpleDropdown.tsx","../src/fields/MultiSelectSearch.tsx","../src/fields/PopOutEditor.tsx","../src/components/StatusMessage.tsx","../src/fields/DocumentLinks.tsx","../src/fields/StatusDropdown.tsx","../src/fields/readonly/ReadOnly.tsx","../src/fields/readonly/ReadOnlyArray.tsx","../src/fields/readonly/ReadOnlyDateTime.tsx","../src/fields/readonly/ReadOnlyCumulativeNumber.tsx","../src/fields/readonly/ReadOnlyRichText.tsx","../src/fields/readonly/ReadOnlyWithButton.tsx","../src/components/FormLoading.tsx","../src/registry.ts"],"sourcesContent":["// Field components\nexport { default as Textbox } from \"./fields/Textbox\";\nexport { default as Number } from \"./fields/Number\";\nexport { default as Toggle } from \"./fields/Toggle\";\nexport { default as Dropdown } from \"./fields/Dropdown\";\nexport { default as MultiSelect } from \"./fields/MultiSelect\";\nexport { default as DateControl } from \"./fields/DateControl\";\nexport { default as Slider } from \"./fields/Slider\";\nexport { default as DynamicFragment } from \"./fields/DynamicFragment\";\nexport { default as SimpleDropdown } from \"./fields/SimpleDropdown\";\nexport { default as MultiSelectSearch } from \"./fields/MultiSelectSearch\";\nexport { default as PopOutEditor } from \"./fields/PopOutEditor\";\nexport { default as DocumentLinks } from \"./fields/DocumentLinks\";\nexport { default as StatusDropdown } from \"./fields/StatusDropdown\";\n\n// Read-only fields\nexport { default as ReadOnly } from \"./fields/readonly/ReadOnly\";\nexport { default as ReadOnlyArray } from \"./fields/readonly/ReadOnlyArray\";\nexport { default as ReadOnlyDateTime } from \"./fields/readonly/ReadOnlyDateTime\";\nexport { default as ReadOnlyCumulativeNumber } from \"./fields/readonly/ReadOnlyCumulativeNumber\";\nexport { default as ReadOnlyRichText } from \"./fields/readonly/ReadOnlyRichText\";\nexport { default as ReadOnlyWithButton } from \"./fields/readonly/ReadOnlyWithButton\";\n\n// Supporting components\nexport { ReadOnlyText } from \"./components/ReadOnlyText\";\nexport type { IReadOnlyFieldProps } from \"./components/ReadOnlyText\";\nexport { StatusMessage } from \"./components/StatusMessage\";\nexport { FormLoading } from \"./components/FormLoading\";\n\n// Document link types\nexport type { IDocumentLink } from \"./fields/DocumentLinks\";\n\n// Registry\nexport { createMuiFieldRegistry } from \"./registry\";\n\n// Helpers\nexport { FieldClassName, GetFieldDataTestId, formatDateTime, DocumentLinksStrings } from \"./helpers\";\n\n","import { IFieldProps } from \"@form-eng/core\";\nimport { TextField } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface ITextboxProps {\n ellipsifyTextCharacters?: number;\n placeHolder?: string;\n multiline?: boolean;\n}\n\nconst Textbox = (props: IFieldProps<ITextboxProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, setFieldValue } = props;\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(fieldName, event.target.value, false, 3000);\n };\n\n return readOnly ? (\n <ReadOnlyText\n fieldName={fieldName}\n value={value as string}\n ellipsifyTextCharacters={config?.ellipsifyTextCharacters}\n />\n ) : (\n <TextField\n className={FieldClassName(\"hook-textbox\", error)}\n autoComplete=\"off\"\n value={(value as string) ?? \"\"}\n onChange={onChange}\n size=\"small\"\n fullWidth\n error={!!error}\n required={required}\n placeholder={placeholder ?? config?.placeHolder}\n helperText={error?.message}\n inputProps={{\n \"data-testid\": GetFieldDataTestId(fieldName, programName, entityType, entityId),\n }}\n />\n );\n};\n\nexport default Textbox;\n","import { Typography } from \"@mui/material\";\nimport React from \"react\";\n\nexport interface IReadOnlyFieldProps {\n readonly value?: string;\n readonly fieldName?: string;\n readonly labelClassName?: string;\n readonly valueClassName?: string;\n readonly showControlOnSide?: boolean;\n readonly containerClassName?: string;\n readonly ellipsifyTextCharacters?: number;\n}\n\nexport const ReadOnlyText: React.FunctionComponent<IReadOnlyFieldProps> = (props: IReadOnlyFieldProps) => {\n const { value, fieldName, valueClassName, showControlOnSide, containerClassName, ellipsifyTextCharacters } = props;\n const classNameValue = valueClassName === undefined ? \"read-only-field\" : valueClassName;\n const cutoff = (ellipsifyTextCharacters || 0) - 3;\n\n return (\n <div className={`${showControlOnSide ? \"flexBox\" : \"\"} ${containerClassName ?? \"\"}`}>\n <Typography\n variant=\"body2\"\n id={`${fieldName}-read-only`}\n className={classNameValue}\n title={value}\n component=\"span\"\n >\n {value ? (\n <>\n {ellipsifyTextCharacters && value.length > ellipsifyTextCharacters\n ? `${value.substring(0, cutoff)}...`\n : value}\n </>\n ) : (\n <>-</>\n )}\n </Typography>\n </div>\n );\n};\n\nexport default ReadOnlyText;\n","import { FieldError } from \"react-hook-form\";\n\nexport const FieldClassName = (className: string, error?: FieldError): string => {\n return error ? `${className} error` : className;\n};\n\nexport const GetFieldDataTestId = (\n fieldName: string,\n programName?: string,\n entityType?: string,\n entityId?: string\n): string => {\n return `${programName}-${entityType}-${entityId}-${fieldName}`;\n};\n\nexport function formatDateTime(dateStr: string, options?: { hideTimestamp?: boolean }): string {\n if (!dateStr) return \"\";\n const date = new Date(dateStr);\n if (isNaN(date.getTime())) return dateStr;\n if (options?.hideTimestamp) {\n return date.toLocaleDateString(undefined, { year: \"numeric\", month: \"short\", day: \"numeric\" });\n }\n return date.toLocaleString(undefined, { year: \"numeric\", month: \"short\", day: \"numeric\", hour: \"2-digit\", minute: \"2-digit\" });\n}\n\nexport const DocumentLinksStrings = {\n link: \"Link\",\n addLink: \"Add Link\",\n addAnotherLink: \"Add Another Link\",\n deleteLink: \"Delete Link\",\n confirmDeleteLink: \"Are you sure you want to delete\",\n delete: \"Delete\",\n cancel: \"Cancel\",\n saveChanges: \"Save Changes\",\n save: \"Save\",\n};\n","import { IFieldProps, isNull } from \"@form-eng/core\";\nimport { TextField } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\nconst NumberField = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const number = Number(event.target.value);\n if (!isNaN(number)) {\n setFieldValue(fieldName, number, false, 1500);\n }\n };\n\n return readOnly ? (\n <ReadOnlyText fieldName={fieldName} value={String(value)} />\n ) : (\n <TextField\n className={FieldClassName(\"hook-number\", error)}\n autoComplete=\"off\"\n type=\"number\"\n value={!isNull(value) ? String(value) : \"\"}\n onChange={onChange}\n size=\"small\"\n fullWidth\n error={!!error}\n required={required}\n helperText={error?.message}\n inputProps={{\n \"data-testid\": GetFieldDataTestId(fieldName, programName, entityType, entityId),\n }}\n />\n );\n};\n\nexport default NumberField;\n","import { IFieldProps, convertBooleanToYesOrNoText } from \"@form-eng/core\";\nimport { Switch, FormControlLabel } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId } from \"../helpers\";\n\nconst Toggle = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n\n const onChange = (_: React.ChangeEvent<HTMLInputElement>, checked: boolean) => {\n setFieldValue(fieldName, checked);\n };\n\n return readOnly ? (\n <ReadOnlyText fieldName={fieldName} value={convertBooleanToYesOrNoText(value as boolean)} />\n ) : (\n <FormControlLabel\n className=\"hook-toggle\"\n control={\n <Switch\n checked={value as boolean}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n }\n label=\"\"\n />\n );\n};\n\nexport default Toggle;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { FormControl, Select, MenuItem } from \"@mui/material\";\nimport type { SelectChangeEvent } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface IDropdownProps {\n placeHolder?: string;\n setDefaultKeyIfOnlyOneOption?: boolean;\n}\n\nconst Dropdown = (props: IFieldProps<IDropdownProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, options, setFieldValue } = props;\n\n const onChange = (event: SelectChangeEvent<string>) => {\n setFieldValue(fieldName, event.target.value);\n };\n\n React.useEffect(() => {\n if (!value && !readOnly && config?.setDefaultKeyIfOnlyOneOption && options?.length === 1) {\n setFieldValue(fieldName, String(options[0].value));\n }\n }, [options]);\n\n return readOnly ? (\n <ReadOnlyText fieldName={fieldName} value={value as string} />\n ) : (\n <FormControl fullWidth size=\"small\" error={!!error} required={required}>\n <Select\n className={FieldClassName(\"hook-dropdown\", error)}\n value={value ? String(value) : \"\"}\n onChange={onChange}\n displayEmpty\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {!value && (placeholder ?? config?.placeHolder) && (\n <MenuItem value=\"\" disabled>{placeholder ?? config?.placeHolder}</MenuItem>\n )}\n {options?.map(option => (\n <MenuItem key={String(option.value)} value={String(option.value)} disabled={option.disabled}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n\nexport default Dropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { FormControl, Select, MenuItem, Chip, Box } from \"@mui/material\";\nimport type { SelectChangeEvent } from \"@mui/material\";\nimport React from \"react\";\nimport { useFormContext } from \"react-hook-form\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\nconst MultiSelect = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const { watch } = useFormContext();\n const selectedOptions = (watch(`${fieldName}` as const) as string[]) ?? [];\n\n const onChange = (event: SelectChangeEvent<string[]>) => {\n const newValue = event.target.value;\n setFieldValue(fieldName, typeof newValue === \"string\" ? newValue.split(\",\") : newValue, false, 1500);\n };\n\n return readOnly ? (\n <>\n {value && (value as string[]).length > 0 ? (\n <Box className=\"hook-multi-select-read-only\" sx={{ display: \"flex\", flexWrap: \"wrap\", gap: 0.5 }}>\n {(value as string[]).map(v => (\n <Chip key={v} label={v} size=\"small\" />\n ))}\n </Box>\n ) : null}\n </>\n ) : (\n <FormControl fullWidth size=\"small\" error={!!error} required={required}>\n <Select\n className={FieldClassName(\"hook-multi-select\", error)}\n multiple\n value={selectedOptions}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n renderValue={(selected) => (\n <Box sx={{ display: \"flex\", flexWrap: \"wrap\", gap: 0.5 }}>\n {(selected as string[]).map((val) => (\n <Chip key={val} label={val} size=\"small\" />\n ))}\n </Box>\n )}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {options?.map(option => (\n <MenuItem key={String(option.value)} value={String(option.value)} disabled={option.disabled}>\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n\nexport default MultiSelect;\n","import { IFieldProps, FormStrings } from \"@form-eng/core\";\nimport { TextField, IconButton } from \"@mui/material\";\nimport React from \"react\";\nimport { FieldClassName, GetFieldDataTestId, formatDateTime } from \"../helpers\";\n\nconst DateControl = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const date = new Date(event.target.value);\n if (!isNaN(date.getTime())) {\n setFieldValue(fieldName, date.toISOString());\n }\n };\n\n const onClearDate = () => {\n setFieldValue(fieldName, null);\n };\n\n const dateInputValue = value ? new Date(value as string).toISOString().split(\"T\")[0] : \"\";\n\n return readOnly ? (\n <>\n {value ? (\n <span className=\"hook-read-only-date\">{formatDateTime(value as string, { hideTimestamp: true })}</span>\n ) : (\n <>-</>\n )}\n </>\n ) : (\n <div className=\"hook-date-control-container\" style={{ display: \"flex\", alignItems: \"center\", gap: \"4px\" }}>\n <TextField\n className={FieldClassName(\"hook-date-control\", error)}\n type=\"date\"\n value={dateInputValue}\n onChange={onChange}\n size=\"small\"\n fullWidth\n error={!!error}\n required={required}\n helperText={error?.message}\n InputLabelProps={{ shrink: true }}\n inputProps={{\n \"data-testid\": GetFieldDataTestId(fieldName, programName, entityType, entityId),\n }}\n />\n <IconButton\n size=\"small\"\n onClick={onClearDate}\n title={FormStrings.clickToClear}\n aria-label={`${fieldName} ${FormStrings.clear}`}\n >\n ✕\n </IconButton>\n </div>\n );\n};\n\nexport default DateControl;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Slider as MuiSlider } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface ISliderProps {\n max?: number;\n min?: number;\n step?: number;\n}\n\nconst Slider = (props: IFieldProps<ISliderProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, setFieldValue } = props;\n\n const onChange = (_: Event, newValue: number | number[]) => {\n setFieldValue(fieldName, newValue as number);\n };\n\n return readOnly ? (\n <ReadOnlyText fieldName={fieldName} value={String(value)} />\n ) : (\n <MuiSlider\n className={FieldClassName(\"hook-slider\", error)}\n value={(value as number) ?? 0}\n onChange={onChange}\n max={config?.max}\n min={config?.min}\n step={config?.step}\n valueLabelDisplay=\"auto\"\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default Slider;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\n\nconst DynamicFragment = (props: IFieldProps<{}>) => {\n const { value } = props;\n return <input type=\"hidden\" value={value as string} />;\n};\n\nexport default DynamicFragment;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { FormControl, Select, MenuItem } from \"@mui/material\";\nimport type { SelectChangeEvent } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface ISimpleDropdownProps {\n dropdownOptions?: string[];\n placeHolder?: string;\n}\n\nconst SimpleDropdown = (props: IFieldProps<ISimpleDropdownProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, config, error, required, placeholder, setFieldValue } = props;\n\n const simpleOptions = config?.dropdownOptions ?? [];\n\n const onChange = (event: SelectChangeEvent<string>) => {\n setFieldValue(fieldName, event.target.value);\n };\n\n return readOnly ? (\n <ReadOnlyText fieldName={fieldName} value={value as string} />\n ) : (\n <FormControl fullWidth size=\"small\" error={!!error} required={required}>\n <Select\n className={FieldClassName(\"hook-dropdown\", error)}\n value={(value as string) ?? \"\"}\n onChange={onChange}\n displayEmpty\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {!value && (placeholder ?? config?.placeHolder) && (\n <MenuItem value=\"\" disabled>{placeholder ?? config?.placeHolder}</MenuItem>\n )}\n {simpleOptions.map(option => (\n <MenuItem key={option} value={option}>{option}</MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n};\n\nexport default SimpleDropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Autocomplete, TextField, Chip, Box } from \"@mui/material\";\nimport React from \"react\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\nconst MultiSelectSearch = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options: dropdownOptions, setFieldValue } = props;\n\n const selectedValues = (value as string[]) ?? [];\n\n const mappedOptions = dropdownOptions?.map(o => ({\n value: String(o.value),\n label: o.label,\n disabled: !!o.disabled,\n })) ?? [];\n\n const onChange = (_: unknown, newValue: { value: string; label: string; disabled: boolean }[]) => {\n setFieldValue(fieldName, newValue.map(v => v.value), false, 3000);\n };\n\n return readOnly ? (\n <>\n {value && (value as string[]).length > 0 ? (\n <Box className=\"hook-multi-select-search-read-only\" sx={{ display: \"flex\", flexWrap: \"wrap\", gap: 0.5 }}>\n {(value as string[]).map(v => (\n <Chip key={v} label={v} size=\"small\" />\n ))}\n </Box>\n ) : null}\n </>\n ) : (\n <Autocomplete\n className={FieldClassName(\"hook-multi-select-search\", error)}\n multiple\n freeSolo\n aria-required={required}\n options={mappedOptions}\n getOptionLabel={(option) => typeof option === \"string\" ? option : option.label}\n getOptionDisabled={(option) => typeof option === \"string\" ? false : !!option.disabled}\n value={mappedOptions.filter(o => selectedValues.includes(o.value))}\n onChange={onChange}\n renderTags={(tagValue, getTagProps) =>\n tagValue.map((option, index) => (\n <Chip\n size=\"small\"\n label={typeof option === \"string\" ? option : option.label}\n {...getTagProps({ index })}\n key={typeof option === \"string\" ? option : option.value}\n />\n ))\n }\n renderInput={(params) => (\n <TextField\n {...params}\n size=\"small\"\n error={!!error}\n required={required}\n helperText={error?.message}\n inputProps={{\n ...params.inputProps,\n \"data-testid\": GetFieldDataTestId(fieldName, programName, entityType, entityId),\n }}\n />\n )}\n />\n );\n};\n\nexport default MultiSelectSearch;\n","import { IFieldProps, FormStrings } from \"@form-eng/core\";\nimport {\n TextField, Button, Dialog, DialogTitle, DialogContent, DialogActions, IconButton,\n} from \"@mui/material\";\nimport React, { useState } from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { StatusMessage } from \"../components/StatusMessage\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\ninterface IPopOutEditorProps {\n autoAdjustHeight?: boolean;\n numberOfRows?: number;\n ellipsifyTextCharacters?: number;\n additionalInfo?: string;\n maxLimit?: number;\n saveCallback?: () => void;\n renderExtraModalFooter?: () => React.ReactNode;\n}\n\nconst PopOutEditor = (props: IFieldProps<IPopOutEditorProps>) => {\n const {\n error, fieldName, programName, entityType, entityId, config, readOnly,\n required, savePending, saving, value, label, setFieldValue\n } = props;\n\n const [modalValue, setModalValue] = useState<string>();\n const [modalVisible, setModalVisible] = useState(false);\n const [dialogVisible, setDialogVisible] = useState(false);\n\n const onChange = (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n const newValue = event.target.value;\n modalVisible ? setModalValue(newValue) : setFieldValue(fieldName, newValue, false, 3000);\n };\n\n const onExpandButtonClick = () => {\n setModalVisible(true);\n setModalValue(value ? `${value}` : \"\");\n };\n\n const onSaveButtonClick = () => {\n setFieldValue(fieldName, modalValue, false);\n setDialogVisible(false);\n setModalVisible(false);\n config?.saveCallback?.();\n };\n\n const onCancelButtonClick = () => {\n if (dialogVisible) {\n setDialogVisible(false);\n setModalVisible(false);\n } else if (modalValue !== value) {\n setDialogVisible(true);\n } else {\n setModalVisible(false);\n }\n };\n\n if (readOnly) {\n return (\n <ReadOnlyText\n fieldName={fieldName}\n value={value ? `${value}` : \"\"}\n ellipsifyTextCharacters={config?.ellipsifyTextCharacters}\n />\n );\n }\n\n return (\n <>\n <div className=\"hook-textarea\">\n <TextField\n className={FieldClassName(\"hook-text-area\", error)}\n autoComplete=\"off\"\n multiline\n rows={config?.numberOfRows ?? 4}\n value={modalVisible ? `${modalValue}` : value ? `${value}` : \"\"}\n onChange={onChange}\n size=\"small\"\n fullWidth\n error={!!error}\n helperText={error?.message}\n inputProps={{\n \"data-testid\": GetFieldDataTestId(fieldName, programName, entityType, entityId),\n }}\n />\n <Button\n className=\"expand-button\"\n variant=\"outlined\"\n size=\"small\"\n onClick={onExpandButtonClick}\n aria-label={FormStrings.openExpandedTextEditor}\n sx={{ mt: 1 }}\n >\n {FormStrings.expand}\n </Button>\n </div>\n\n <Dialog\n open={modalVisible}\n onClose={onCancelButtonClick}\n maxWidth=\"md\"\n fullWidth\n >\n <DialogTitle sx={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\" }}>\n <span>\n {label}{required && <span className=\"required-indicator\"> *</span>}\n </span>\n <IconButton\n size=\"small\"\n onClick={onCancelButtonClick}\n aria-label={FormStrings.closeExpandedTextEditor}\n >\n ✕\n </IconButton>\n </DialogTitle>\n <DialogContent>\n <TextField\n className={FieldClassName(\"hook-text-area\", error)}\n autoComplete=\"off\"\n multiline\n rows={12}\n value={modalVisible ? `${modalValue}` : value ? `${value}` : \"\"}\n onChange={onChange}\n fullWidth\n error={!!error}\n sx={{ mt: 1 }}\n />\n </DialogContent>\n <DialogActions>\n {config?.renderExtraModalFooter && <div className=\"custom-footer\">{config.renderExtraModalFooter()}</div>}\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n {(savePending || saving) && (\n <StatusMessage savePending={!error ? savePending : undefined} saving={saving} error={error} />\n )}\n </div>\n <Button variant=\"outlined\" onClick={onCancelButtonClick}>{FormStrings.cancel}</Button>\n <Button\n variant=\"contained\"\n onClick={onSaveButtonClick}\n disabled={!config?.saveCallback && modalValue === (value as string)}\n data-testid={`${programName}-${entityType}-${entityId}-save-note`}\n >\n {FormStrings.save}\n </Button>\n </DialogActions>\n </Dialog>\n\n <Dialog open={dialogVisible} onClose={() => setDialogVisible(false)}>\n <DialogTitle>{FormStrings.unsavedChanges}</DialogTitle>\n <DialogContent>{FormStrings.saveChangesTo(label)}</DialogContent>\n <DialogActions>\n <Button variant=\"outlined\" onClick={onCancelButtonClick}>{FormStrings.dontSave}</Button>\n <Button variant=\"contained\" onClick={onSaveButtonClick}>{FormStrings.save}</Button>\n </DialogActions>\n </Dialog>\n </>\n );\n};\n\nexport default PopOutEditor;\n","import { FormStrings } from \"@form-eng/core\";\nimport { CircularProgress } from \"@mui/material\";\nimport React from \"react\";\nimport { FieldError } from \"react-hook-form\";\n\ninterface IStatusMessageProps {\n id?: string;\n readonly error?: FieldError;\n readonly errorCount?: number;\n readonly savePending?: boolean;\n readonly saving?: boolean;\n}\n\nexport const StatusMessage: React.FunctionComponent<IStatusMessageProps> = (props: IStatusMessageProps) => {\n const { id, error, errorCount, savePending, saving } = props;\n return (\n <div className=\"message\">\n {error ? (\n <>\n <span className=\"error-icon\" style={{ color: \"#d32f2f\", fontSize: \"16px\" }}>⚠</span>\n <span className=\"error-message\" id={id} role=\"alert\">\n {error.message || \"Error\"}\n </span>\n </>\n ) : savePending ? (\n <>\n <span className=\"warning-icon\" style={{ color: \"#ed6c02\", fontSize: \"16px\" }}>⚠</span>\n <span className=\"warning-message\" id={id} role=\"alert\">\n {FormStrings.autoSavePending} ({errorCount} {FormStrings.remaining})\n </span>\n </>\n ) : saving ? (\n <>\n <CircularProgress size={16} />\n <span className=\"save-message\" id={id} role=\"alert\">\n {FormStrings.saving}\n </span>\n </>\n ) : null}\n </div>\n );\n};\n","import { IFieldProps, FormStrings, FormConstants } from \"@form-eng/core\";\nimport {\n Button, IconButton, TextField, Dialog, DialogTitle, DialogContent, DialogActions,\n List, ListItem, ListItemText, Tooltip, Typography,\n} from \"@mui/material\";\nimport React from \"react\";\nimport { Controller, useForm, useFormContext } from \"react-hook-form\";\nimport { FieldClassName, GetFieldDataTestId, DocumentLinksStrings } from \"../helpers\";\n\nexport interface IDocumentLink {\n title: string;\n url: string;\n}\n\ninterface IDocumentLinkItemProps {\n fieldName: string;\n programName?: string;\n entityType?: string;\n entityId?: string;\n readOnly?: boolean;\n index?: number;\n title?: string;\n url?: string;\n addNewLink?: boolean;\n saveLinks: (newLink: IDocumentLink, addNewLink?: boolean, index?: number) => void;\n onCancelAddLink?: () => void;\n onConfirmDeleteLink?: (index: number) => void;\n}\n\nconst DocumentLinkItem = (props: IDocumentLinkItemProps) => {\n const {\n fieldName, programName, entityType, entityId, readOnly, index, title, url, addNewLink,\n saveLinks, onCancelAddLink, onConfirmDeleteLink\n } = props;\n const { confirm, cancel, linkTitleLabel, linkUrlLabel, add, edit, deleteLabel } = FormStrings;\n\n const [editingLink, setEditingLink] = React.useState<boolean>(false);\n\n const { control, handleSubmit, setValue, reset, trigger } = useForm({\n mode: \"onChange\",\n defaultValues: { title: addNewLink ? \"\" : title, url: addNewLink ? \"\" : url }\n });\n\n const onSubmit = (data: { title: string; url: string }) => {\n saveLinks({ title: data.title, url: data.url }, addNewLink, index);\n setEditingLink(false);\n };\n\n React.useEffect(() => {\n setEditingLink(addNewLink);\n }, [title, url, addNewLink]);\n\n const onLinkTitleChange = (e: React.ChangeEvent<HTMLInputElement>) => { setValue(\"title\", e.target.value); trigger(\"title\"); };\n const onLinkUrlChange = (e: React.ChangeEvent<HTMLInputElement>) => { setValue(\"url\", e.target.value); trigger(\"url\"); };\n const onEditDocumentLink = () => setEditingLink(true);\n const onCancelFormChanges = () => { reset(); setEditingLink(false); onCancelAddLink?.(); };\n const onDelete = () => onConfirmDeleteLink(index);\n\n return editingLink ? (\n <div className=\"editing-link\">\n <form onSubmit={handleSubmit(onSubmit)}>\n <div className=\"header\" style={{ display: \"flex\", justifyContent: \"space-between\", alignItems: \"center\", marginBottom: \"8px\" }}>\n <Typography variant=\"subtitle2\">\n {addNewLink ? add : edit} {DocumentLinksStrings.link}\n </Typography>\n <div style={{ display: \"flex\", gap: \"4px\" }}>\n <IconButton size=\"small\" aria-label={confirm} onClick={handleSubmit(onSubmit)}>✓</IconButton>\n <IconButton size=\"small\" aria-label={cancel} onClick={onCancelFormChanges}>✕</IconButton>\n </div>\n </div>\n <Controller name=\"title\" control={control} rules={{ required: { value: true, message: FormStrings.required } }}\n render={({ field, fieldState: { error } }) => (\n <div style={{ marginBottom: \"8px\" }}>\n <TextField\n label={linkTitleLabel}\n value={field.value}\n onChange={onLinkTitleChange}\n required\n size=\"small\"\n fullWidth\n error={!!error}\n helperText={error?.message}\n inputProps={{\n \"data-testid\": `${GetFieldDataTestId(fieldName, programName, entityType, entityId)}-link-title`,\n }}\n />\n </div>\n )} />\n <Controller name=\"url\" control={control}\n rules={{\n required: { value: true, message: FormStrings.required },\n pattern: { value: FormConstants.urlRegex, message: FormStrings.urlRequired }\n }}\n render={({ field, fieldState: { error } }) => (\n <div style={{ marginBottom: \"8px\" }}>\n <TextField\n label={linkUrlLabel}\n value={field.value}\n onChange={onLinkUrlChange}\n required\n size=\"small\"\n fullWidth\n error={!!error}\n helperText={error?.message}\n inputProps={{\n \"data-testid\": `${GetFieldDataTestId(fieldName, programName, entityType, entityId)}-link-url`,\n }}\n />\n </div>\n )} />\n </form>\n </div>\n ) : addNewLink ? null : (\n <ListItem\n className=\"document-link-item\"\n disableGutters\n secondaryAction={\n !readOnly ? (\n <div style={{ display: \"flex\", gap: \"2px\" }}>\n <Tooltip title={edit}><IconButton size=\"small\" aria-label={edit} onClick={onEditDocumentLink}>✎</IconButton></Tooltip>\n <Tooltip title={deleteLabel}><IconButton size=\"small\" aria-label={deleteLabel} onClick={onDelete}>🗑</IconButton></Tooltip>\n </div>\n ) : undefined\n }\n >\n <ListItemText\n primary={\n <a className=\"link\" href={url} target=\"_blank\" rel=\"noopener noreferrer\">{title}</a>\n }\n />\n </ListItem>\n );\n};\n\nconst DocumentLinks = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, setFieldValue } = props;\n\n const { watch } = useFormContext();\n const documentLinks = watch(`${fieldName}` as const);\n\n const [addNewLink, setAddNewLink] = React.useState<boolean>(false);\n const [deleteLinkIndex, setDeleteLinkIndex] = React.useState<number | undefined>(undefined);\n\n const onUpdateLinks = (newLink: IDocumentLink, addNew?: boolean, index?: number) => {\n let newDocumentLinks: IDocumentLink[] = [];\n if (addNew && !documentLinks) {\n newDocumentLinks = [newLink];\n } else if (addNew) {\n newDocumentLinks = [...documentLinks, newLink];\n } else {\n newDocumentLinks = [...documentLinks];\n newDocumentLinks[index] = newLink;\n }\n setFieldValue(fieldName, newDocumentLinks);\n };\n\n const onDeleteLink = (index: number) => {\n const newDocumentLinks = [...documentLinks];\n newDocumentLinks.splice(index, 1);\n setFieldValue(fieldName, newDocumentLinks);\n };\n\n const onAddNewLink = () => setAddNewLink(true);\n const onCancelAddLink = () => setAddNewLink(false);\n const onConfirmDeleteLink = (index: number) => setDeleteLinkIndex(index);\n const onCloseDeleteDialog = () => setDeleteLinkIndex(undefined);\n const commitDeleteLink = () => { onDeleteLink(deleteLinkIndex); setDeleteLinkIndex(undefined); };\n const saveLinks = (newLink: IDocumentLink, addNew?: boolean, index?: number) => { onUpdateLinks(newLink, addNew, index); setAddNewLink(false); };\n\n const links = value as IDocumentLink[];\n\n return (\n <div className={FieldClassName(\"hook-document-links\", readOnly ? undefined : error)}>\n <List disablePadding>\n {links?.length > 0 ? links.map((link, index) => (\n <DocumentLinkItem\n key={`${link.url}-${index}`} fieldName={fieldName} programName={programName}\n entityType={entityType} entityId={entityId} index={index} title={link.title}\n url={link.url} saveLinks={saveLinks} onConfirmDeleteLink={onConfirmDeleteLink} readOnly={readOnly}\n />\n )) : null}\n </List>\n {addNewLink ? (\n <DocumentLinkItem fieldName={fieldName} programName={programName} entityType={entityType} entityId={entityId}\n addNewLink saveLinks={saveLinks} onCancelAddLink={onCancelAddLink} />\n ) : !readOnly ? (\n <div className=\"add-link\" style={{ marginTop: \"8px\" }}>\n <Tooltip title={DocumentLinksStrings.addAnotherLink}>\n <Button\n variant=\"outlined\"\n size=\"small\"\n onClick={onAddNewLink}\n data-testid={`${GetFieldDataTestId(fieldName, programName, entityType, entityId)}-add-link`}\n >\n {links?.length > 0 ? DocumentLinksStrings.addAnotherLink : DocumentLinksStrings.addLink}\n </Button>\n </Tooltip>\n </div>\n ) : null}\n\n <Dialog open={deleteLinkIndex !== undefined} onClose={onCloseDeleteDialog}>\n <DialogTitle>{DocumentLinksStrings.deleteLink}</DialogTitle>\n <DialogContent>\n {`${DocumentLinksStrings.confirmDeleteLink} ${links?.[deleteLinkIndex]?.title || \"\"}?`}\n </DialogContent>\n <DialogActions>\n <Button variant=\"outlined\" onClick={onCloseDeleteDialog}>{DocumentLinksStrings.cancel}</Button>\n <Button variant=\"contained\" onClick={commitDeleteLink}>{DocumentLinksStrings.delete}</Button>\n </DialogActions>\n </Dialog>\n </div>\n );\n};\n\nexport default DocumentLinks;\n","import { IFieldProps, Dictionary } from \"@form-eng/core\";\nimport { FormControl, Select, MenuItem, Chip } from \"@mui/material\";\nimport type { SelectChangeEvent } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { FieldClassName, GetFieldDataTestId } from \"../helpers\";\n\nexport interface IStatusDropdownProps {\n placeHolder?: string;\n statusColors?: Dictionary<string>;\n}\n\nconst StatusDot = ({ color }: { color?: string }) => (\n <span\n className=\"status-color\"\n style={{\n display: \"inline-block\",\n backgroundColor: color || \"transparent\",\n width: \"12px\",\n height: \"12px\",\n borderRadius: \"50%\",\n flexShrink: 0,\n marginRight: \"8px\",\n }}\n />\n);\n\nconst StatusDropdown = (props: IFieldProps<IStatusDropdownProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, config, options, setFieldValue } = props;\n\n const statusColors = (config?.statusColors ?? {}) as Dictionary<string>;\n\n const onChange = (event: SelectChangeEvent<string>) => {\n setFieldValue(fieldName, event.target.value);\n };\n\n return readOnly ? (\n <div className=\"hook-read-only-status-dropdown\" style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <StatusDot color={statusColors && value ? statusColors[value as string] : undefined} />\n <ReadOnlyText fieldName={fieldName} value={value as string} />\n </div>\n ) : (\n <div className={FieldClassName(\"hook-status-dropdown\", error)} style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <StatusDot color={statusColors && value ? statusColors[value as string] : undefined} />\n <FormControl fullWidth size=\"small\" error={!!error}>\n <Select\n value={value ? String(value) : \"\"}\n onChange={onChange}\n displayEmpty\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n renderValue={(selected) => {\n const option = options?.find(o => String(o.value) === selected);\n return option?.label ?? \"\";\n }}\n >\n {options?.map(option => (\n <MenuItem key={String(option.value)} value={String(option.value)} disabled={option.disabled}>\n <StatusDot color={statusColors[String(option.value)]} />\n {option.label}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n </div>\n );\n};\n\nexport default StatusDropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText, IReadOnlyFieldProps } from \"../../components/ReadOnlyText\";\n\ninterface IReadOnlyProps extends IReadOnlyFieldProps {}\n\nconst ReadOnly = (props: IFieldProps<IReadOnlyProps>) => {\n const { fieldName, value, config } = props;\n return <ReadOnlyText fieldName={fieldName} value={value as string} {...config} />;\n};\n\nexport default ReadOnly;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText, IReadOnlyFieldProps } from \"../../components/ReadOnlyText\";\n\nconst ReadOnlyArray = (props: IFieldProps<IReadOnlyFieldProps>) => {\n const { fieldName, value, config } = props;\n return (\n <>\n {(value as string[])?.map((v, i) => (\n <ReadOnlyText key={i} fieldName={fieldName} value={v} {...config} />\n ))}\n </>\n );\n};\n\nexport default ReadOnlyArray;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Typography } from \"@mui/material\";\nimport React from \"react\";\nimport { formatDateTime } from \"../../helpers\";\n\ninterface IReadOnlyDateTimeProps {\n isListView?: boolean;\n hidetimeStamp?: boolean;\n}\n\nconst ReadOnlyDateTime = (props: IFieldProps<IReadOnlyDateTimeProps>) => {\n const { config, value } = props;\n return (\n <>{value ? (\n <Typography variant=\"body2\" className=\"hook-read-only-date-time\" component=\"span\">\n {formatDateTime(value as string, { hideTimestamp: config?.hidetimeStamp })}\n </Typography>\n ) : <>-</>}</>\n );\n};\n\nexport default ReadOnlyDateTime;\n","import { IFieldProps, isEmpty } from \"@form-eng/core\";\nimport React from \"react\";\nimport { useFormContext } from \"react-hook-form\";\nimport { ReadOnlyText, IReadOnlyFieldProps } from \"../../components/ReadOnlyText\";\n\ninterface IReadOnlyCumulativeNumberProps extends IReadOnlyFieldProps {\n dependencyFields?: string[];\n}\n\nconst ReadOnlyCumulativeNumber = (props: IFieldProps<IReadOnlyCumulativeNumberProps>) => {\n const { fieldName, config } = props;\n const { formState, getValues } = useFormContext();\n const [value, setValue] = React.useState<number>();\n const { dependencyFields } = config || {};\n\n React.useEffect(() => {\n const formValues = getValues();\n if (!isEmpty(dependencyFields)) {\n let totalCount = 0;\n (dependencyFields as string[]).map(fn => {\n totalCount += Number(formValues[fn]) || 0;\n });\n setValue(totalCount);\n }\n }, [formState]);\n\n return fieldName ? <ReadOnlyText fieldName={fieldName} value={String(value)} {...config} /> : <></>;\n};\n\nexport default ReadOnlyCumulativeNumber;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\n\nconst ReadOnlyRichText = (props: IFieldProps<{}>) => {\n const { value } = props;\n return (\n <div\n className=\"hook-read-only-rich-text-editor\"\n dangerouslySetInnerHTML={{ __html: value as string || \"\" }}\n />\n );\n};\n\nexport default ReadOnlyRichText;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { Button } from \"@mui/material\";\nimport React from \"react\";\nimport { ReadOnlyText, IReadOnlyFieldProps } from \"../../components/ReadOnlyText\";\n\ninterface IReadOnlyWithButtonProps extends IReadOnlyFieldProps {\n containerClassName?: string;\n buttonText?: string;\n onButtonClick?: () => void;\n}\n\nconst ReadOnlyWithButton = (props: IFieldProps<IReadOnlyWithButtonProps>) => {\n const { fieldName, value, config } = props;\n return (\n <div style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }} className={config?.containerClassName}>\n <ReadOnlyText fieldName={fieldName} value={`${value}`} />\n {config?.buttonText && (\n <Button variant=\"outlined\" size=\"small\" onClick={config.onButtonClick}>\n {config.buttonText}\n </Button>\n )}\n </div>\n );\n};\n\nexport default ReadOnlyWithButton;\n","import { FormConstants } from \"@form-eng/core\";\nimport { Skeleton } from \"@mui/material\";\nimport React from \"react\";\n\ninterface IFormLoadingProps {\n loadingShimmerCount?: number;\n loadingFieldShimmerHeight?: number;\n inPanel?: boolean;\n hideTitleShimmer?: boolean;\n}\n\nexport const FormLoading = (props: IFormLoadingProps) => {\n const { loadingShimmerCount, loadingFieldShimmerHeight, inPanel, hideTitleShimmer } = props;\n return (\n <div className={`fe-loading ${inPanel ? \"in-panel\" : \"\"}`}>\n {[...Array(loadingShimmerCount || FormConstants.loadingShimmerCount)].map((_, i) => (\n <div key={`fe-loading-${i}`} className=\"form-field-loading\" style={{ marginBottom: \"16px\" }}>\n {!hideTitleShimmer && <Skeleton variant=\"text\" width=\"33%\" />}\n <Skeleton\n variant=\"rectangular\"\n height={loadingFieldShimmerHeight || FormConstants.loadingFieldShimmerHeight}\n />\n </div>\n ))}\n </div>\n );\n};\n\nexport default FormLoading;\n","import { ComponentTypes, Dictionary } from \"@form-eng/core\";\nimport Textbox from \"./fields/Textbox\";\nimport Number from \"./fields/Number\";\nimport Toggle from \"./fields/Toggle\";\nimport Dropdown from \"./fields/Dropdown\";\nimport MultiSelect from \"./fields/MultiSelect\";\nimport DateControl from \"./fields/DateControl\";\nimport Slider from \"./fields/Slider\";\nimport DynamicFragment from \"./fields/DynamicFragment\";\nimport SimpleDropdown from \"./fields/SimpleDropdown\";\nimport MultiSelectSearch from \"./fields/MultiSelectSearch\";\nimport PopOutEditor from \"./fields/PopOutEditor\";\nimport DocumentLinks from \"./fields/DocumentLinks\";\nimport StatusDropdown from \"./fields/StatusDropdown\";\nimport ReadOnly from \"./fields/readonly/ReadOnly\";\nimport ReadOnlyArray from \"./fields/readonly/ReadOnlyArray\";\nimport ReadOnlyDateTime from \"./fields/readonly/ReadOnlyDateTime\";\nimport ReadOnlyCumulativeNumber from \"./fields/readonly/ReadOnlyCumulativeNumber\";\nimport ReadOnlyRichText from \"./fields/readonly/ReadOnlyRichText\";\nimport ReadOnlyWithButton from \"./fields/readonly/ReadOnlyWithButton\";\nimport React from \"react\";\n\n/** Creates the default Material UI field registry for use with InjectedFieldProvider */\nexport function createMuiFieldRegistry(): Dictionary<React.JSX.Element> {\n return {\n [ComponentTypes.Textbox]: React.createElement(Textbox),\n [ComponentTypes.Number]: React.createElement(Number),\n [ComponentTypes.Toggle]: React.createElement(Toggle),\n [ComponentTypes.Dropdown]: React.createElement(Dropdown),\n [ComponentTypes.MultiSelect]: React.createElement(MultiSelect),\n [ComponentTypes.DateControl]: React.createElement(DateControl),\n [ComponentTypes.Slider]: React.createElement(Slider),\n [ComponentTypes.Fragment]: React.createElement(DynamicFragment),\n [ComponentTypes.SimpleDropdown]: React.createElement(SimpleDropdown),\n [ComponentTypes.MultiSelectSearch]: React.createElement(MultiSelectSearch),\n [ComponentTypes.Textarea]: React.createElement(PopOutEditor),\n [ComponentTypes.DocumentLinks]: React.createElement(DocumentLinks),\n [ComponentTypes.StatusDropdown]: React.createElement(StatusDropdown),\n [ComponentTypes.ReadOnly]: React.createElement(ReadOnly),\n [ComponentTypes.ReadOnlyArray]: React.createElement(ReadOnlyArray),\n [ComponentTypes.ReadOnlyDateTime]: React.createElement(ReadOnlyDateTime),\n [ComponentTypes.ReadOnlyCumulativeNumber]: React.createElement(ReadOnlyCumulativeNumber),\n [ComponentTypes.ReadOnlyRichText]: React.createElement(ReadOnlyRichText),\n [ComponentTypes.ReadOnlyWithButton]: React.createElement(ReadOnlyWithButton),\n };\n}\n"],"mappings":"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","names":["import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_core","import_material","import_jsx_runtime","import_material","import_jsx_runtime","React","import_material","import_jsx_runtime","import_core","import_material","import_jsx_runtime","import_material","import_jsx_runtime","MuiSlider","import_jsx_runtime","import_material","import_jsx_runtime","import_material","import_jsx_runtime","import_react","import_core","import_material","import_react","import_core","import_material","import_jsx_runtime","import_jsx_runtime","import_core","import_material","import_react","import_react_hook_form","import_jsx_runtime","React","import_material","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_material","import_jsx_runtime","import_core","import_react","import_react_hook_form","import_jsx_runtime","React","import_jsx_runtime","import_material","import_jsx_runtime","import_core","import_material","import_jsx_runtime","import_core","import_react","React"]}
|