@form-eng/react-aria 1.5.2 → 1.6.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 +1 -1
- package/dist/index.d.mts +49 -3
- package/dist/index.d.ts +49 -3
- package/dist/index.js +537 -25
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +517 -21
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/components/ReadOnlyText.tsx","../src/helpers.ts","../src/fields/Textbox.tsx","../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/Textarea.tsx","../src/components/StatusMessage.tsx","../src/fields/RadioGroup.tsx","../src/fields/CheckboxGroup.tsx","../src/fields/readonly/ReadOnly.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 Textarea } from \"./fields/Textarea\";\nexport { default as RadioGroup } from \"./fields/RadioGroup\";\nexport { default as CheckboxGroup } from \"./fields/CheckboxGroup\";\n\n// Read-only fields\nexport { default as ReadOnly } from \"./fields/readonly/ReadOnly\";\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// Registry\nexport { createReactAriaFieldRegistry } from \"./registry\";\n\n// Helpers\nexport { GetFieldDataTestId, getFieldState, formatDateTime } from \"./helpers\";\n","import 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, ellipsifyTextCharacters } = props;\n const cutoff = (ellipsifyTextCharacters || 0) - 3;\n\n const displayValue = value\n ? ellipsifyTextCharacters && value.length > ellipsifyTextCharacters\n ? `${value.substring(0, cutoff)}...`\n : value\n : \"-\";\n\n return (\n <span\n id={`${fieldName}-read-only`}\n className=\"df-read-only-text\"\n data-field-type=\"ReadOnlyText\"\n title={value}\n >\n {displayValue}\n </span>\n );\n};\n\nexport default ReadOnlyText;\n","// Re-export shared field utilities from core\nexport {\n GetFieldDataTestId,\n getFieldState,\n formatDateTime,\n DocumentLinksStrings,\n convertBooleanToYesOrNoText,\n isNull,\n} from \"@form-eng/core/adapter-utils\";\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { TextField, Input } from \"react-aria-components\";\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 if (readOnly) {\n return (\n <ReadOnlyText\n fieldName={fieldName}\n value={value as string}\n ellipsifyTextCharacters={config?.ellipsifyTextCharacters}\n />\n );\n }\n\n return (\n <TextField\n className=\"df-textbox\"\n value={(value as string) ?? \"\"}\n onChange={(val) => setFieldValue(fieldName, val, false, 3000)}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"Textbox\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Input\n autoComplete=\"off\"\n placeholder={placeholder ?? config?.placeHolder}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n </TextField>\n );\n};\n\nexport default Textbox;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { isNull } from \"../helpers\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { NumberField, Input } from \"react-aria-components\";\n\nconst NumberFieldComponent = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={String(value)} />;\n }\n\n return (\n <NumberField\n className=\"df-number\"\n value={!isNull(value) ? (value as number) : undefined}\n onChange={(num) => {\n if (!isNaN(num)) {\n setFieldValue(fieldName, num, false, 1500);\n }\n }}\n isInvalid={!!error}\n isRequired={required}\n formatOptions={{ useGrouping: false }}\n data-field-type=\"Number\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Input\n autoComplete=\"off\"\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n </NumberField>\n );\n};\n\nexport default NumberFieldComponent;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { convertBooleanToYesOrNoText } from \"../helpers\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Switch } from \"react-aria-components\";\n\nconst Toggle = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, label, setFieldValue } = props;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={convertBooleanToYesOrNoText(value as boolean)} />;\n }\n\n return (\n <Switch\n className=\"df-toggle\"\n isSelected={!!value}\n onChange={(checked) => setFieldValue(fieldName, checked)}\n data-field-type=\"Toggle\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <span className=\"df-toggle__label\">{label}</span>\n </Switch>\n );\n};\n\nexport default Toggle;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Select, SelectValue, Button, Popover, ListBox, ListBoxItem } from \"react-aria-components\";\nimport type { Key } from \"react-aria-components\";\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, options, placeholder, setFieldValue } = props;\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 const selectedLabel = options?.find(o => String(o.value) === String(value))?.label;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={selectedLabel ?? (value as string)} />;\n }\n\n return (\n <Select\n className=\"df-dropdown\"\n selectedKey={(value as string) || null}\n onSelectionChange={(key: Key) => setFieldValue(fieldName, String(key))}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"Dropdown\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Button\n className=\"df-dropdown__trigger\"\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <SelectValue>{placeholder ?? config?.placeHolder ?? \"\"}</SelectValue>\n <span className=\"df-dropdown__icon\" aria-hidden=\"true\">▼</span>\n </Button>\n <Popover className=\"df-dropdown__popover\">\n <ListBox className=\"df-dropdown__listbox\">\n {options?.map(option => (\n <ListBoxItem\n key={String(option.value)}\n id={String(option.value)}\n className=\"df-dropdown__item\"\n isDisabled={option.disabled}\n >\n {option.label}\n </ListBoxItem>\n ))}\n </ListBox>\n </Popover>\n </Select>\n );\n};\n\nexport default Dropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst MultiSelect = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const selectedValues = (value as string[]) ?? [];\n\n const onChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n const selected = Array.from(event.target.selectedOptions, opt => opt.value);\n setFieldValue(fieldName, selected, false, 1500);\n };\n\n if (readOnly) {\n return selectedValues.length > 0 ? (\n <ul\n className=\"df-multiselect-readonly\"\n data-field-type=\"MultiSelect\"\n data-field-state=\"readonly\"\n >\n {selectedValues.map((v, i) => (\n <li key={i}>{v}</li>\n ))}\n </ul>\n ) : (\n <span className=\"df-read-only-text\">-</span>\n );\n }\n\n return (\n <select\n multiple\n className=\"df-multiselect\"\n value={selectedValues}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-field-type=\"MultiSelect\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {options?.map(option => (\n <option key={String(option.value)} value={String(option.value)} disabled={option.disabled}>\n {option.label}\n </option>\n ))}\n </select>\n );\n};\n\nexport default MultiSelect;\n","import { IFieldProps, FormStrings } from \"@form-eng/core\";\nimport React from \"react\";\nimport { GetFieldDataTestId, getFieldState, 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 onClear = () => {\n setFieldValue(fieldName, null);\n };\n\n const dateInputValue = value ? new Date(value as string).toISOString().split(\"T\")[0] : \"\";\n\n if (readOnly) {\n return value ? (\n <time\n className=\"df-read-only-date\"\n dateTime={value as string}\n data-field-type=\"DateControl\"\n data-field-state=\"readonly\"\n >\n {formatDateTime(value as string, { hideTimestamp: true })}\n </time>\n ) : (\n <span className=\"df-read-only-text\">-</span>\n );\n }\n\n return (\n <div\n className=\"df-date-control\"\n data-field-type=\"DateControl\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <input\n type=\"date\"\n className=\"df-date-control__input\"\n value={dateInputValue}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n <button\n type=\"button\"\n className=\"df-date-control__clear\"\n onClick={onClear}\n title={FormStrings.clickToClear}\n aria-label={`${fieldName} ${FormStrings.clear}`}\n >\n ×\n </button>\n </div>\n );\n};\n\nexport default DateControl;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Slider as AriaSlider, SliderTrack, SliderThumb, SliderOutput } from \"react-aria-components\";\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 if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={String(value)} />;\n }\n\n return (\n <AriaSlider\n className=\"df-slider\"\n value={(value as number) ?? 0}\n onChange={(num) => setFieldValue(fieldName, num)}\n maxValue={config?.max}\n minValue={config?.min}\n step={config?.step}\n data-field-type=\"Slider\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <SliderTrack className=\"df-slider__track\">\n <SliderThumb className=\"df-slider__thumb\" />\n </SliderTrack>\n <SliderOutput className=\"df-slider__value\" />\n </AriaSlider>\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 React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Select, SelectValue, Button, Popover, ListBox, ListBoxItem } from \"react-aria-components\";\nimport type { Key } from \"react-aria-components\";\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 if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={value as string} />;\n }\n\n return (\n <Select\n className=\"df-simple-dropdown\"\n selectedKey={(value as string) || null}\n onSelectionChange={(key: Key) => setFieldValue(fieldName, String(key))}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"SimpleDropdown\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Button\n className=\"df-simple-dropdown__trigger\"\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <SelectValue>{placeholder ?? config?.placeHolder ?? \"\"}</SelectValue>\n <span className=\"df-simple-dropdown__icon\" aria-hidden=\"true\">▼</span>\n </Button>\n <Popover className=\"df-simple-dropdown__popover\">\n <ListBox className=\"df-simple-dropdown__listbox\">\n {simpleOptions.map(option => (\n <ListBoxItem key={option} id={option} className=\"df-simple-dropdown__item\">\n {option}\n </ListBoxItem>\n ))}\n </ListBox>\n </Popover>\n </Select>\n );\n};\n\nexport default SimpleDropdown;\n","import { IFieldProps, FormStrings } from \"@form-eng/core\";\nimport React, { useState } from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { StatusMessage } from \"../components/StatusMessage\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { TextField, TextArea } from \"react-aria-components\";\n\ninterface ITextareaProps {\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 Textarea = (props: IFieldProps<ITextareaProps>) => {\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 [confirmVisible, setConfirmVisible] = useState(false);\n const dialogRef = React.useRef<HTMLDialogElement>(null);\n const confirmRef = React.useRef<HTMLDialogElement>(null);\n\n const onExpand = () => {\n setModalVisible(true);\n setModalValue(value ? `${value}` : \"\");\n dialogRef.current?.showModal();\n };\n\n const onSave = () => {\n setFieldValue(fieldName, modalValue, false);\n setConfirmVisible(false);\n setModalVisible(false);\n dialogRef.current?.close();\n confirmRef.current?.close();\n config?.saveCallback?.();\n };\n\n const onCancel = () => {\n if (confirmVisible) {\n setConfirmVisible(false);\n setModalVisible(false);\n dialogRef.current?.close();\n confirmRef.current?.close();\n } else if (modalValue !== value) {\n setConfirmVisible(true);\n confirmRef.current?.showModal();\n } else {\n setModalVisible(false);\n dialogRef.current?.close();\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\n className=\"df-textarea\"\n data-field-type=\"Textarea\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <TextField\n className=\"df-textarea__field\"\n value={modalVisible ? `${modalValue}` : value ? `${value}` : \"\"}\n onChange={(val) => {\n modalVisible ? setModalValue(val) : setFieldValue(fieldName, val, false, 3000);\n }}\n isInvalid={!!error}\n isRequired={required}\n >\n <TextArea\n className=\"df-textarea__input\"\n autoComplete=\"off\"\n rows={config?.numberOfRows ?? 4}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n </TextField>\n <button\n type=\"button\"\n className=\"df-textarea__expand\"\n onClick={onExpand}\n aria-label={FormStrings.openExpandedTextEditor}\n >\n {FormStrings.expand}\n </button>\n </div>\n\n <dialog ref={dialogRef} className=\"df-textarea-dialog\" aria-label={`${label} editor`}>\n <header className=\"df-textarea-dialog__header\">\n <h2 className=\"df-textarea-dialog__title\">\n {label}{required && <span className=\"df-required-indicator\"> *</span>}\n </h2>\n <button\n type=\"button\"\n className=\"df-textarea-dialog__close\"\n onClick={onCancel}\n aria-label={FormStrings.closeExpandedTextEditor}\n >\n ×\n </button>\n </header>\n <div className=\"df-textarea-dialog__body\">\n <textarea\n className=\"df-textarea-dialog__input\"\n autoComplete=\"off\"\n value={modalVisible ? `${modalValue}` : value ? `${value}` : \"\"}\n onChange={(e) => setModalValue(e.target.value)}\n rows={12}\n aria-invalid={!!error}\n />\n </div>\n <footer className=\"df-textarea-dialog__footer\">\n {config?.renderExtraModalFooter && <div>{config.renderExtraModalFooter()}</div>}\n {(savePending || saving) && (\n <StatusMessage savePending={!error ? savePending : undefined} saving={saving} error={error} />\n )}\n <button type=\"button\" className=\"df-btn df-btn--secondary\" onClick={onCancel}>\n {FormStrings.cancel}\n </button>\n <button\n type=\"button\"\n className=\"df-btn df-btn--primary\"\n onClick={onSave}\n disabled={!config?.saveCallback && modalValue === (value as string)}\n data-testid={`${programName}-${entityType}-${entityId}-save-note`}\n >\n {FormStrings.save}\n </button>\n </footer>\n </dialog>\n\n <dialog ref={confirmRef} className=\"df-confirm-dialog\">\n <h2>{FormStrings.unsavedChanges}</h2>\n <p>{FormStrings.saveChangesTo(label)}</p>\n <footer className=\"df-confirm-dialog__footer\">\n <button type=\"button\" className=\"df-btn df-btn--secondary\" onClick={onCancel}>\n {FormStrings.dontSave}\n </button>\n <button type=\"button\" className=\"df-btn df-btn--primary\" onClick={onSave}>\n {FormStrings.save}\n </button>\n </footer>\n </dialog>\n </>\n );\n};\n\nexport default Textarea;\n","import { FormStrings } from \"@form-eng/core\";\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=\"df-status-message\" data-field-type=\"StatusMessage\">\n {error ? (\n <span className=\"df-status-error\" id={id} role=\"alert\">\n {error.message || \"Error\"}\n </span>\n ) : savePending ? (\n <span className=\"df-status-warning\" id={id} role=\"alert\">\n {FormStrings.autoSavePending} ({errorCount} {FormStrings.remaining})\n </span>\n ) : saving ? (\n <span className=\"df-status-saving\" id={id} role=\"status\">\n {FormStrings.saving}\n </span>\n ) : null}\n </div>\n );\n};\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { RadioGroup as AriaRadioGroup, Radio } from \"react-aria-components\";\n\nconst RadioGroup = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n if (readOnly) {\n const label = options?.find(o => String(o.value) === String(value))?.label ?? (value as string);\n return <ReadOnlyText fieldName={fieldName} value={label} />;\n }\n\n return (\n <AriaRadioGroup\n className=\"df-radio-group\"\n value={(value as string) ?? \"\"}\n onChange={(val) => setFieldValue(fieldName, val)}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"RadioGroup\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {options?.map(option => (\n <Radio\n key={String(option.value)}\n value={String(option.value)}\n className=\"df-radio-group__option\"\n isDisabled={option.disabled}\n >\n {option.label}\n </Radio>\n ))}\n </AriaRadioGroup>\n );\n};\n\nexport default RadioGroup;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { CheckboxGroup as AriaCheckboxGroup, Checkbox } from \"react-aria-components\";\n\nconst CheckboxGroup = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const selected = Array.isArray(value) ? (value as string[]) : [];\n\n if (readOnly) {\n const labels = options\n ?.filter(o => selected.includes(String(o.value)))\n .map(o => o.label)\n .join(\", \");\n return <ReadOnlyText fieldName={fieldName} value={labels ?? \"\"} />;\n }\n\n return (\n <AriaCheckboxGroup\n className=\"df-checkbox-group\"\n value={selected}\n onChange={(vals) => setFieldValue(fieldName, vals)}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"CheckboxGroup\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {options?.map(option => (\n <Checkbox\n key={String(option.value)}\n value={String(option.value)}\n className=\"df-checkbox-group__option\"\n isDisabled={option.disabled}\n >\n {option.label}\n </Checkbox>\n ))}\n </AriaCheckboxGroup>\n );\n};\n\nexport default CheckboxGroup;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText, IReadOnlyFieldProps } from \"../../components/ReadOnlyText\";\n\nconst ReadOnly = (props: IFieldProps<IReadOnlyFieldProps>) => {\n const { fieldName, value, config } = props;\n return <ReadOnlyText fieldName={fieldName} value={value as string} {...config} />;\n};\n\nexport default ReadOnly;\n","import { FormConstants } from \"@form-eng/core\";\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 const count = loadingShimmerCount || FormConstants.loadingShimmerCount;\n const height = loadingFieldShimmerHeight || FormConstants.loadingFieldShimmerHeight;\n\n return (\n <div\n className={`df-form-loading ${inPanel ? \"df-form-loading--panel\" : \"\"}`}\n data-field-type=\"FormLoading\"\n role=\"status\"\n aria-label=\"Loading form\"\n >\n {[...Array(count)].map((_, i) => (\n <div key={`df-loading-${i}`} className=\"df-form-loading__field\">\n {!hideTitleShimmer && (\n <div className=\"df-skeleton df-skeleton--label\" style={{ width: \"33%\" }} />\n )}\n <div className=\"df-skeleton df-skeleton--input\" style={{ height: `${height}px` }} />\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 NumberField 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 Textarea from \"./fields/Textarea\";\nimport RadioGroup from \"./fields/RadioGroup\";\nimport CheckboxGroup from \"./fields/CheckboxGroup\";\nimport ReadOnly from \"./fields/readonly/ReadOnly\";\nimport React from \"react\";\n\n/** Creates the default React Aria Components field registry for use with InjectedFieldProvider */\nexport function createReactAriaFieldRegistry(): Dictionary<React.JSX.Element> {\n return {\n [ComponentTypes.Textbox]: React.createElement(Textbox),\n [ComponentTypes.Number]: React.createElement(NumberField),\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.Textarea]: React.createElement(Textarea),\n [ComponentTypes.RadioGroup]: React.createElement(RadioGroup),\n [ComponentTypes.CheckboxGroup]: React.createElement(CheckboxGroup),\n [ComponentTypes.ReadOnly]: React.createElement(ReadOnly),\n };\n}\n"],"mappings":"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","names":["import_jsx_runtime","import_react_aria_components","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","AriaSlider","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","import_core","import_react","import_core","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","React","import_react_aria_components","import_jsx_runtime","AriaRadioGroup","import_react_aria_components","import_jsx_runtime","AriaCheckboxGroup","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_react","React"]}
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/components/ReadOnlyText.tsx","../src/helpers.ts","../src/fields/Textbox.tsx","../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/Textarea.tsx","../src/components/StatusMessage.tsx","../src/fields/RadioGroup.tsx","../src/fields/CheckboxGroup.tsx","../src/fields/Rating.tsx","../src/fields/Autocomplete.tsx","../src/fields/DateTime.tsx","../src/fields/DateRange.tsx","../src/fields/PhoneInput.tsx","../src/fields/FileUpload.tsx","../src/fields/ColorPicker.tsx","../src/fields/MultiSelectSearch.tsx","../src/fields/StatusDropdown.tsx","../src/fields/DocumentLinks.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 Textarea } from \"./fields/Textarea\";\nexport { default as RadioGroup } from \"./fields/RadioGroup\";\nexport { default as CheckboxGroup } from \"./fields/CheckboxGroup\";\nexport { default as Rating } from \"./fields/Rating\";\nexport { default as Autocomplete } from \"./fields/Autocomplete\";\nexport { default as DateTime } from \"./fields/DateTime\";\nexport { default as DateRange } from \"./fields/DateRange\";\nexport { default as PhoneInput } from \"./fields/PhoneInput\";\nexport { default as FileUpload } from \"./fields/FileUpload\";\nexport { default as ColorPicker } from \"./fields/ColorPicker\";\nexport { default as MultiSelectSearch } from \"./fields/MultiSelectSearch\";\nexport { default as StatusDropdown } from \"./fields/StatusDropdown\";\nexport { default as DocumentLinks } from \"./fields/DocumentLinks\";\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// Registry\nexport { createReactAriaFieldRegistry } from \"./registry\";\n\n// Helpers\nexport { GetFieldDataTestId, getFieldState, formatDateTime, DocumentLinksStrings } from \"./helpers\";\n","import 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, ellipsifyTextCharacters } = props;\n const cutoff = (ellipsifyTextCharacters || 0) - 3;\n\n const displayValue = value\n ? ellipsifyTextCharacters && value.length > ellipsifyTextCharacters\n ? `${value.substring(0, cutoff)}...`\n : value\n : \"-\";\n\n return (\n <span\n id={`${fieldName}-read-only`}\n className=\"df-read-only-text\"\n data-field-type=\"ReadOnlyText\"\n title={value}\n >\n {displayValue}\n </span>\n );\n};\n\nexport default ReadOnlyText;\n","// Re-export shared field utilities from core\nexport {\n GetFieldDataTestId,\n getFieldState,\n formatDateTime,\n DocumentLinksStrings,\n convertBooleanToYesOrNoText,\n isNull,\n} from \"@form-eng/core/adapter-utils\";\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { TextField, Input } from \"react-aria-components\";\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 if (readOnly) {\n return (\n <ReadOnlyText\n fieldName={fieldName}\n value={value as string}\n ellipsifyTextCharacters={config?.ellipsifyTextCharacters}\n />\n );\n }\n\n return (\n <TextField\n className=\"df-textbox\"\n value={(value as string) ?? \"\"}\n onChange={(val) => setFieldValue(fieldName, val, false, 3000)}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"Textbox\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Input\n autoComplete=\"off\"\n placeholder={placeholder ?? config?.placeHolder}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n </TextField>\n );\n};\n\nexport default Textbox;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { isNull } from \"../helpers\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { NumberField, Input } from \"react-aria-components\";\n\nconst NumberFieldComponent = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={String(value)} />;\n }\n\n return (\n <NumberField\n className=\"df-number\"\n value={!isNull(value) ? (value as number) : undefined}\n onChange={(num) => {\n if (!isNaN(num)) {\n setFieldValue(fieldName, num, false, 1500);\n }\n }}\n isInvalid={!!error}\n isRequired={required}\n formatOptions={{ useGrouping: false }}\n data-field-type=\"Number\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Input\n autoComplete=\"off\"\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n </NumberField>\n );\n};\n\nexport default NumberFieldComponent;\n","import { IFieldProps } from \"@form-eng/core\";\nimport { convertBooleanToYesOrNoText } from \"../helpers\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Switch } from \"react-aria-components\";\n\nconst Toggle = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, label, setFieldValue } = props;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={convertBooleanToYesOrNoText(value as boolean)} />;\n }\n\n return (\n <Switch\n className=\"df-toggle\"\n isSelected={!!value}\n onChange={(checked) => setFieldValue(fieldName, checked)}\n data-field-type=\"Toggle\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <span className=\"df-toggle__label\">{label}</span>\n </Switch>\n );\n};\n\nexport default Toggle;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Select, SelectValue, Button, Popover, ListBox, ListBoxItem } from \"react-aria-components\";\nimport type { Key } from \"react-aria-components\";\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, options, placeholder, setFieldValue } = props;\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 const selectedLabel = options?.find(o => String(o.value) === String(value))?.label;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={selectedLabel ?? (value as string)} />;\n }\n\n return (\n <Select\n className=\"df-dropdown\"\n selectedKey={(value as string) || null}\n onSelectionChange={(key: Key) => setFieldValue(fieldName, String(key))}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"Dropdown\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Button\n className=\"df-dropdown__trigger\"\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <SelectValue>{placeholder ?? config?.placeHolder ?? \"\"}</SelectValue>\n <span className=\"df-dropdown__icon\" aria-hidden=\"true\">▼</span>\n </Button>\n <Popover className=\"df-dropdown__popover\">\n <ListBox className=\"df-dropdown__listbox\">\n {options?.map(option => (\n <ListBoxItem\n key={String(option.value)}\n id={String(option.value)}\n className=\"df-dropdown__item\"\n isDisabled={option.disabled}\n >\n {option.label}\n </ListBoxItem>\n ))}\n </ListBox>\n </Popover>\n </Select>\n );\n};\n\nexport default Dropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst MultiSelect = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const selectedValues = (value as string[]) ?? [];\n\n const onChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n const selected = Array.from(event.target.selectedOptions, opt => opt.value);\n setFieldValue(fieldName, selected, false, 1500);\n };\n\n if (readOnly) {\n return selectedValues.length > 0 ? (\n <ul\n className=\"df-multiselect-readonly\"\n data-field-type=\"MultiSelect\"\n data-field-state=\"readonly\"\n >\n {selectedValues.map((v, i) => (\n <li key={i}>{v}</li>\n ))}\n </ul>\n ) : (\n <span className=\"df-read-only-text\">-</span>\n );\n }\n\n return (\n <select\n multiple\n className=\"df-multiselect\"\n value={selectedValues}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-field-type=\"MultiSelect\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {options?.map(option => (\n <option key={String(option.value)} value={String(option.value)} disabled={option.disabled}>\n {option.label}\n </option>\n ))}\n </select>\n );\n};\n\nexport default MultiSelect;\n","import { IFieldProps, FormStrings } from \"@form-eng/core\";\nimport React from \"react\";\nimport { GetFieldDataTestId, getFieldState, 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 onClear = () => {\n setFieldValue(fieldName, null);\n };\n\n const dateInputValue = value ? new Date(value as string).toISOString().split(\"T\")[0] : \"\";\n\n if (readOnly) {\n return value ? (\n <time\n className=\"df-read-only-date\"\n dateTime={value as string}\n data-field-type=\"DateControl\"\n data-field-state=\"readonly\"\n >\n {formatDateTime(value as string, { hideTimestamp: true })}\n </time>\n ) : (\n <span className=\"df-read-only-text\">-</span>\n );\n }\n\n return (\n <div\n className=\"df-date-control\"\n data-field-type=\"DateControl\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <input\n type=\"date\"\n className=\"df-date-control__input\"\n value={dateInputValue}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n <button\n type=\"button\"\n className=\"df-date-control__clear\"\n onClick={onClear}\n title={FormStrings.clickToClear}\n aria-label={`${fieldName} ${FormStrings.clear}`}\n >\n ×\n </button>\n </div>\n );\n};\n\nexport default DateControl;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Slider as AriaSlider, SliderTrack, SliderThumb, SliderOutput } from \"react-aria-components\";\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 if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={String(value)} />;\n }\n\n return (\n <AriaSlider\n className=\"df-slider\"\n value={(value as number) ?? 0}\n onChange={(num) => setFieldValue(fieldName, num)}\n maxValue={config?.max}\n minValue={config?.min}\n step={config?.step}\n data-field-type=\"Slider\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <SliderTrack className=\"df-slider__track\">\n <SliderThumb className=\"df-slider__thumb\" />\n </SliderTrack>\n <SliderOutput className=\"df-slider__value\" />\n </AriaSlider>\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 React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { Select, SelectValue, Button, Popover, ListBox, ListBoxItem } from \"react-aria-components\";\nimport type { Key } from \"react-aria-components\";\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 if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={value as string} />;\n }\n\n return (\n <Select\n className=\"df-simple-dropdown\"\n selectedKey={(value as string) || null}\n onSelectionChange={(key: Key) => setFieldValue(fieldName, String(key))}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"SimpleDropdown\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <Button\n className=\"df-simple-dropdown__trigger\"\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <SelectValue>{placeholder ?? config?.placeHolder ?? \"\"}</SelectValue>\n <span className=\"df-simple-dropdown__icon\" aria-hidden=\"true\">▼</span>\n </Button>\n <Popover className=\"df-simple-dropdown__popover\">\n <ListBox className=\"df-simple-dropdown__listbox\">\n {simpleOptions.map(option => (\n <ListBoxItem key={option} id={option} className=\"df-simple-dropdown__item\">\n {option}\n </ListBoxItem>\n ))}\n </ListBox>\n </Popover>\n </Select>\n );\n};\n\nexport default SimpleDropdown;\n","import { IFieldProps, FormStrings } from \"@form-eng/core\";\nimport React, { useState } from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { StatusMessage } from \"../components/StatusMessage\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { TextField, TextArea } from \"react-aria-components\";\n\ninterface ITextareaProps {\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 Textarea = (props: IFieldProps<ITextareaProps>) => {\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 [confirmVisible, setConfirmVisible] = useState(false);\n const dialogRef = React.useRef<HTMLDialogElement>(null);\n const confirmRef = React.useRef<HTMLDialogElement>(null);\n\n const onExpand = () => {\n setModalVisible(true);\n setModalValue(value ? `${value}` : \"\");\n dialogRef.current?.showModal();\n };\n\n const onSave = () => {\n setFieldValue(fieldName, modalValue, false);\n setConfirmVisible(false);\n setModalVisible(false);\n dialogRef.current?.close();\n confirmRef.current?.close();\n config?.saveCallback?.();\n };\n\n const onCancel = () => {\n if (confirmVisible) {\n setConfirmVisible(false);\n setModalVisible(false);\n dialogRef.current?.close();\n confirmRef.current?.close();\n } else if (modalValue !== value) {\n setConfirmVisible(true);\n confirmRef.current?.showModal();\n } else {\n setModalVisible(false);\n dialogRef.current?.close();\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\n className=\"df-textarea\"\n data-field-type=\"Textarea\"\n data-field-state={getFieldState({ error, required, readOnly })}\n >\n <TextField\n className=\"df-textarea__field\"\n value={modalVisible ? `${modalValue}` : value ? `${value}` : \"\"}\n onChange={(val) => {\n modalVisible ? setModalValue(val) : setFieldValue(fieldName, val, false, 3000);\n }}\n isInvalid={!!error}\n isRequired={required}\n >\n <TextArea\n className=\"df-textarea__input\"\n autoComplete=\"off\"\n rows={config?.numberOfRows ?? 4}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n </TextField>\n <button\n type=\"button\"\n className=\"df-textarea__expand\"\n onClick={onExpand}\n aria-label={FormStrings.openExpandedTextEditor}\n >\n {FormStrings.expand}\n </button>\n </div>\n\n <dialog ref={dialogRef} className=\"df-textarea-dialog\" aria-label={`${label} editor`}>\n <header className=\"df-textarea-dialog__header\">\n <h2 className=\"df-textarea-dialog__title\">\n {label}{required && <span className=\"df-required-indicator\"> *</span>}\n </h2>\n <button\n type=\"button\"\n className=\"df-textarea-dialog__close\"\n onClick={onCancel}\n aria-label={FormStrings.closeExpandedTextEditor}\n >\n ×\n </button>\n </header>\n <div className=\"df-textarea-dialog__body\">\n <textarea\n className=\"df-textarea-dialog__input\"\n autoComplete=\"off\"\n value={modalVisible ? `${modalValue}` : value ? `${value}` : \"\"}\n onChange={(e) => setModalValue(e.target.value)}\n rows={12}\n aria-invalid={!!error}\n />\n </div>\n <footer className=\"df-textarea-dialog__footer\">\n {config?.renderExtraModalFooter && <div>{config.renderExtraModalFooter()}</div>}\n {(savePending || saving) && (\n <StatusMessage savePending={!error ? savePending : undefined} saving={saving} error={error} />\n )}\n <button type=\"button\" className=\"df-btn df-btn--secondary\" onClick={onCancel}>\n {FormStrings.cancel}\n </button>\n <button\n type=\"button\"\n className=\"df-btn df-btn--primary\"\n onClick={onSave}\n disabled={!config?.saveCallback && modalValue === (value as string)}\n data-testid={`${programName}-${entityType}-${entityId}-save-note`}\n >\n {FormStrings.save}\n </button>\n </footer>\n </dialog>\n\n <dialog ref={confirmRef} className=\"df-confirm-dialog\">\n <h2>{FormStrings.unsavedChanges}</h2>\n <p>{FormStrings.saveChangesTo(label)}</p>\n <footer className=\"df-confirm-dialog__footer\">\n <button type=\"button\" className=\"df-btn df-btn--secondary\" onClick={onCancel}>\n {FormStrings.dontSave}\n </button>\n <button type=\"button\" className=\"df-btn df-btn--primary\" onClick={onSave}>\n {FormStrings.save}\n </button>\n </footer>\n </dialog>\n </>\n );\n};\n\nexport default Textarea;\n","import { FormStrings } from \"@form-eng/core\";\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=\"df-status-message\" data-field-type=\"StatusMessage\">\n {error ? (\n <span className=\"df-status-error\" id={id} role=\"alert\">\n {error.message || \"Error\"}\n </span>\n ) : savePending ? (\n <span className=\"df-status-warning\" id={id} role=\"alert\">\n {FormStrings.autoSavePending} ({errorCount} {FormStrings.remaining})\n </span>\n ) : saving ? (\n <span className=\"df-status-saving\" id={id} role=\"status\">\n {FormStrings.saving}\n </span>\n ) : null}\n </div>\n );\n};\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { RadioGroup as AriaRadioGroup, Radio } from \"react-aria-components\";\n\nconst RadioGroup = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n if (readOnly) {\n const label = options?.find(o => String(o.value) === String(value))?.label ?? (value as string);\n return <ReadOnlyText fieldName={fieldName} value={label} />;\n }\n\n return (\n <AriaRadioGroup\n className=\"df-radio-group\"\n value={(value as string) ?? \"\"}\n onChange={(val) => setFieldValue(fieldName, val)}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"RadioGroup\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {options?.map(option => (\n <Radio\n key={String(option.value)}\n value={String(option.value)}\n className=\"df-radio-group__option\"\n isDisabled={option.disabled}\n >\n {option.label}\n </Radio>\n ))}\n </AriaRadioGroup>\n );\n};\n\nexport default RadioGroup;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { CheckboxGroup as AriaCheckboxGroup, Checkbox } from \"react-aria-components\";\n\nconst CheckboxGroup = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n\n const selected = Array.isArray(value) ? (value as string[]) : [];\n\n if (readOnly) {\n const labels = options\n ?.filter(o => selected.includes(String(o.value)))\n .map(o => o.label)\n .join(\", \");\n return <ReadOnlyText fieldName={fieldName} value={labels ?? \"\"} />;\n }\n\n return (\n <AriaCheckboxGroup\n className=\"df-checkbox-group\"\n value={selected}\n onChange={(vals) => setFieldValue(fieldName, vals)}\n isInvalid={!!error}\n isRequired={required}\n data-field-type=\"CheckboxGroup\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {options?.map(option => (\n <Checkbox\n key={String(option.value)}\n value={String(option.value)}\n className=\"df-checkbox-group__option\"\n isDisabled={option.disabled}\n >\n {option.label}\n </Checkbox>\n ))}\n </AriaCheckboxGroup>\n );\n};\n\nexport default CheckboxGroup;\n","import { IFieldProps, IRatingConfig } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst Rating = (props: IFieldProps<IRatingConfig>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, config, setFieldValue } = props;\n\n const max = config?.max ?? 5;\n const rating = (value as number) ?? 0;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={String(rating)} />;\n }\n\n const stars = Array.from({ length: max }, (_, i) => i + 1);\n\n return (\n <div\n className=\"df-rating\"\n role=\"radiogroup\"\n aria-label={`Rating, ${rating} of ${max}`}\n aria-invalid={!!error}\n aria-required={required}\n data-field-type=\"Rating\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n {stars.map(star => (\n <label key={star} className=\"df-rating__star-label\">\n <input\n type=\"radio\"\n className=\"df-rating__input\"\n name={fieldName}\n value={String(star)}\n checked={rating === star}\n onChange={() => setFieldValue(fieldName, star)}\n aria-label={`${star} star${star !== 1 ? \"s\" : \"\"}`}\n />\n <span className={`df-rating__star${star <= rating ? \" df-rating__star--filled\" : \"\"}`} aria-hidden=\"true\">\n {star <= rating ? \"★\" : \"☆\"}\n </span>\n </label>\n ))}\n </div>\n );\n};\n\nexport default Rating;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\nimport { ComboBox, Input, Button, Popover, ListBox, ListBoxItem } from \"react-aria-components\";\n\nconst Autocomplete = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, placeholder, options, setFieldValue } = props;\n\n const selectedLabel = options?.find(o => String(o.value) === String(value))?.label ?? (value as string) ?? \"\";\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={selectedLabel} />;\n }\n\n return (\n <ComboBox\n className=\"df-autocomplete\"\n aria-label={fieldName}\n defaultInputValue={selectedLabel}\n onSelectionChange={(key) => {\n if (key !== null) setFieldValue(fieldName, String(key));\n }}\n onInputChange={(text) => {\n const match = options?.find(o => o.label.toLowerCase() === text.toLowerCase());\n setFieldValue(fieldName, match ? String(match.value) : text);\n }}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n isRequired={required}\n isInvalid={!!error}\n >\n <Input className=\"df-autocomplete__input\" placeholder={placeholder} />\n <Button className=\"df-autocomplete__button\">▼</Button>\n <Popover>\n <ListBox className=\"df-autocomplete__listbox\">\n {options?.map(option => (\n <ListBoxItem key={String(option.value)} id={String(option.value)}>\n {option.label}\n </ListBoxItem>\n ))}\n </ListBox>\n </Popover>\n </ComboBox>\n );\n};\n\nexport default Autocomplete;\n","import { IFieldProps, IDateTimeConfig, formatDateTimeValue } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst DateTime = (props: IFieldProps<IDateTimeConfig>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, config, setFieldValue } = props;\n\n const minDateTime = config?.minDateTime;\n const maxDateTime = config?.maxDateTime;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={formatDateTimeValue(value)} />;\n }\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(fieldName, event.target.value || null);\n };\n\n return (\n <input\n type=\"datetime-local\"\n className=\"df-date-time\"\n data-field-type=\"DateTime\"\n data-field-state={getFieldState({ error, required, readOnly })}\n value={(value as string) ?? \"\"}\n min={minDateTime}\n max={maxDateTime}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default DateTime;\n","import { IFieldProps, IDateRangeConfig, IDateRangeValue, formatDateRange } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst DateRange = (props: IFieldProps<IDateRangeConfig>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, config, setFieldValue } = props;\n\n const rangeValue = (value as IDateRangeValue | null) ?? { start: \"\", end: \"\" };\n const minDate = config?.minDate;\n const maxDate = config?.maxDate;\n\n const rangeError =\n rangeValue.start && rangeValue.end && rangeValue.start > rangeValue.end\n ? \"Start date must be on or before end date.\"\n : undefined;\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={formatDateRange(value)} />;\n }\n\n const onStartChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(fieldName, { ...rangeValue, start: event.target.value });\n };\n\n const onEndChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(fieldName, { ...rangeValue, end: event.target.value });\n };\n\n return (\n <div\n className=\"fe-date-range\"\n data-field-type=\"DateRange\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <div className=\"fe-date-range__inputs\">\n <div className=\"fe-date-range__from\">\n <label htmlFor={`${fieldName}-start`} className=\"fe-date-range__label\">From</label>\n <input\n id={`${fieldName}-start`}\n type=\"date\"\n className=\"fe-date-range__input fe-date-range__input--start\"\n value={rangeValue.start}\n min={minDate}\n max={rangeValue.end || maxDate}\n onChange={onStartChange}\n aria-invalid={!!error}\n aria-required={required}\n aria-label=\"Start date\"\n />\n </div>\n <div className=\"fe-date-range__to\">\n <label htmlFor={`${fieldName}-end`} className=\"fe-date-range__label\">To</label>\n <input\n id={`${fieldName}-end`}\n type=\"date\"\n className=\"fe-date-range__input fe-date-range__input--end\"\n value={rangeValue.end}\n min={rangeValue.start || minDate}\n max={maxDate}\n onChange={onEndChange}\n aria-label=\"End date\"\n />\n </div>\n </div>\n {rangeError && (\n <span className=\"fe-date-range__range-error\" role=\"alert\">{rangeError}</span>\n )}\n </div>\n );\n};\n\nexport default DateRange;\n","import { IFieldProps, IPhoneInputConfig, extractDigits, formatPhone } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst PhoneInput = (props: IFieldProps<IPhoneInputConfig>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, config, setFieldValue } = props;\n\n const format = config?.format ?? \"us\";\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={(value as string) ?? \"\"} />;\n }\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const digits = extractDigits(event.target.value);\n const formatted = formatPhone(digits, format);\n setFieldValue(fieldName, formatted);\n };\n\n return (\n <input\n type=\"tel\"\n className=\"fe-phone-input\"\n data-field-type=\"PhoneInput\"\n data-field-state={getFieldState({ error, required, readOnly })}\n value={(value as string) ?? \"\"}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n />\n );\n};\n\nexport default PhoneInput;\n","import { IFieldProps, IFileUploadConfig, MAX_FILE_SIZE_MB_DEFAULT, getFileNames } from \"@form-eng/core\";\nimport React, { useRef } from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst FileUpload = (props: IFieldProps<IFileUploadConfig>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, config, setFieldValue } = props;\n const inputRef = useRef<HTMLInputElement>(null);\n\n const multiple = config?.multiple ?? false;\n const accept = config?.accept;\n const maxSizeMb = config?.maxSizeMb ?? MAX_FILE_SIZE_MB_DEFAULT;\n const maxSizeBytes = maxSizeMb * 1024 * 1024;\n\n const [sizeError, setSizeError] = React.useState<string | undefined>(undefined);\n\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={getFileNames(value)} />;\n }\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const files = event.target.files;\n if (!files || files.length === 0) {\n setFieldValue(fieldName, null);\n setSizeError(undefined);\n return;\n }\n const oversized = Array.from(files).find(f => f.size > maxSizeBytes);\n if (oversized) {\n setSizeError(`\"${oversized.name}\" exceeds the ${maxSizeMb} MB size limit.`);\n event.target.value = \"\";\n setFieldValue(fieldName, null);\n return;\n }\n setSizeError(undefined);\n setFieldValue(fieldName, multiple ? Array.from(files) : files[0]);\n };\n\n const fileNames = getFileNames(value);\n\n return (\n <div\n className=\"fe-file-upload\"\n data-field-type=\"FileUpload\"\n data-field-state={getFieldState({ error, required, readOnly })}\n data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}\n >\n <input\n ref={inputRef}\n type=\"file\"\n className=\"fe-file-upload__input\"\n multiple={multiple}\n accept={accept}\n onChange={onChange}\n aria-invalid={!!error}\n aria-required={required}\n style={{ display: \"none\" }}\n aria-hidden=\"true\"\n />\n <button\n type=\"button\"\n className=\"fe-file-upload__button\"\n onClick={() => inputRef.current?.click()}\n >\n {fileNames ? \"Change file\" : \"Choose file\"}\n </button>\n {fileNames && (\n <span className=\"fe-file-upload__filenames\">{fileNames}</span>\n )}\n {sizeError && (\n <span className=\"fe-file-upload__size-error\" role=\"alert\">{sizeError}</span>\n )}\n </div>\n );\n};\n\nexport default FileUpload;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst ColorPicker = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n const color = (value as string) ?? \"#000000\";\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setFieldValue(fieldName, event.target.value);\n };\n if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={color} />;\n }\n return (\n <div className=\"fe-color-picker\" data-field-type=\"ColorPicker\" data-field-state={getFieldState({ error, required, readOnly })} style={{ display: \"flex\", alignItems: \"center\", gap: \"8px\" }}>\n <input type=\"color\" className=\"fe-color-picker__input\" value={color} onChange={onChange} aria-invalid={!!error} aria-required={required} data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)} />\n <span className=\"fe-color-picker__value\">{color}</span>\n </div>\n );\n};\nexport default ColorPicker;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React, { useState, useMemo } from \"react\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nconst MultiSelectSearch = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, options, setFieldValue } = props;\n const [searchTerm, setSearchTerm] = useState(\"\");\n const selectedValues = (value as string[]) ?? [];\n const filteredOptions = useMemo(() => {\n if (!searchTerm) return options ?? [];\n const lower = searchTerm.toLowerCase();\n return (options ?? []).filter(o => o.label.toLowerCase().includes(lower));\n }, [options, searchTerm]);\n const onCheckChange = (optionValue: string, checked: boolean) => {\n const updated = checked ? [...selectedValues, optionValue] : selectedValues.filter(v => v !== optionValue);\n setFieldValue(fieldName, updated, false, 3000);\n };\n if (readOnly) {\n return selectedValues.length > 0 ? (\n <ul className=\"fe-multi-select-search-readonly\" data-field-type=\"MultiSelectSearch\" data-field-state=\"readonly\">\n {selectedValues.map((v, i) => (<li key={i}>{v}</li>))}\n </ul>\n ) : (<span className=\"fe-read-only-text\">-</span>);\n }\n return (\n <div className=\"fe-multi-select-search\" data-field-type=\"MultiSelectSearch\" data-field-state={getFieldState({ error, required, readOnly })} data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}>\n <input type=\"search\" className=\"fe-multi-select-search__input\" placeholder=\"Search...\" value={searchTerm} onChange={e => setSearchTerm(e.target.value)} aria-label={`Search options for ${fieldName}`} />\n <fieldset className=\"fe-multi-select-search__options\" aria-invalid={!!error} aria-required={required}>\n <legend className=\"fe-sr-only\">Options</legend>\n {filteredOptions.map(option => {\n const optVal = String(option.value);\n const isChecked = selectedValues.includes(optVal);\n return (\n <label key={optVal} className=\"fe-multi-select-search__option\">\n <input type=\"checkbox\" checked={isChecked} disabled={option.disabled} onChange={e => onCheckChange(optVal, e.target.checked)} />\n <span>{option.label}</span>\n </label>\n );\n })}\n </fieldset>\n </div>\n );\n};\nexport default MultiSelectSearch;\n","import { IFieldProps, Dictionary } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText } from \"../components/ReadOnlyText\";\nimport { GetFieldDataTestId, getFieldState } from \"../helpers\";\n\nexport interface IStatusDropdownProps {\n placeHolder?: string;\n statusColors?: Dictionary<string>;\n}\n\nconst StatusDropdown = (props: IFieldProps<IStatusDropdownProps>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, config, options, placeholder, setFieldValue } = props;\n const onChange = (event: React.ChangeEvent<HTMLSelectElement>) => {\n setFieldValue(fieldName, event.target.value);\n };\n const statusColor = config?.statusColors?.[value as string];\n if (readOnly) {\n return (\n <div className=\"fe-status-dropdown fe-status-dropdown--readonly\" data-field-type=\"StatusDropdown\" data-field-state=\"readonly\">\n {statusColor && (<span className=\"fe-status-dropdown__indicator\" style={{ backgroundColor: statusColor }} aria-hidden=\"true\" />)}\n <ReadOnlyText fieldName={fieldName} value={value as string} />\n </div>\n );\n }\n return (\n <div className=\"fe-status-dropdown\" data-field-type=\"StatusDropdown\" data-field-state={getFieldState({ error, required, readOnly })}>\n {statusColor && (<span className=\"fe-status-dropdown__indicator\" style={{ backgroundColor: statusColor }} aria-hidden=\"true\" />)}\n <select className=\"fe-status-dropdown__select\" value={(value as string) ?? \"\"} onChange={onChange} aria-invalid={!!error} aria-required={required} data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}>\n <option value=\"\">{placeholder ?? config?.placeHolder ?? \"\"}</option>\n {options?.map(option => (<option key={String(option.value)} value={String(option.value)} disabled={option.disabled}>{option.label}</option>))}\n </select>\n </div>\n );\n};\nexport default StatusDropdown;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React, { useState } from \"react\";\nimport { useFormContext } from \"react-hook-form\";\nimport { GetFieldDataTestId, getFieldState, DocumentLinksStrings } from \"../helpers\";\n\nexport interface IDocumentLink {\n url: string;\n title?: string;\n}\n\nconst DocumentLinks = (props: IFieldProps<{}>) => {\n const { fieldName, programName, entityType, entityId, value, readOnly, error, required, setFieldValue } = props;\n const { watch } = useFormContext();\n const documentLinks: IDocumentLink[] = watch(`${fieldName}` as const) ?? [];\n const [newUrl, setNewUrl] = useState(\"\");\n const [newText, setNewText] = useState(\"\");\n const onAddLink = () => {\n if (!newUrl) return;\n const link: IDocumentLink = { url: newUrl, title: newText || newUrl };\n setFieldValue(fieldName, [...documentLinks, link]);\n setNewUrl(\"\");\n setNewText(\"\");\n };\n const onDeleteLink = (index: number) => {\n const updated = [...documentLinks];\n updated.splice(index, 1);\n setFieldValue(fieldName, updated);\n };\n if (readOnly) {\n return (\n <ul className=\"fe-document-links fe-document-links--readonly\" data-field-type=\"DocumentLinks\" data-field-state=\"readonly\">\n {(value as IDocumentLink[])?.map((link, i) => (\n <li key={i} className=\"fe-document-links__item\">\n <a href={link.url} target=\"_blank\" rel=\"noopener noreferrer\">{link.title || link.url}</a>\n </li>\n ))}\n </ul>\n );\n }\n return (\n <div className=\"fe-document-links\" data-field-type=\"DocumentLinks\" data-field-state={getFieldState({ error, required, readOnly })} data-testid={GetFieldDataTestId(fieldName, programName, entityType, entityId)}>\n <ul className=\"fe-document-links__list\">\n {documentLinks.map((link, i) => (\n <li key={i} className=\"fe-document-links__item\">\n <a href={link.url} target=\"_blank\" rel=\"noopener noreferrer\">{link.title || link.url}</a>\n <button type=\"button\" className=\"fe-document-links__delete\" onClick={() => onDeleteLink(i)} aria-label={`${DocumentLinksStrings.deleteLink}: ${link.title || link.url}`}>×</button>\n </li>\n ))}\n </ul>\n <div className=\"fe-document-links__add\">\n <input type=\"url\" className=\"fe-document-links__url-input\" placeholder=\"URL\" value={newUrl} onChange={e => setNewUrl(e.target.value)} aria-label={DocumentLinksStrings.link} />\n <input type=\"text\" className=\"fe-document-links__text-input\" placeholder=\"Label (optional)\" value={newText} onChange={e => setNewText(e.target.value)} aria-label=\"Link label\" />\n <button type=\"button\" className=\"fe-btn fe-btn--secondary\" onClick={onAddLink} disabled={!newUrl}>\n {documentLinks.length > 0 ? DocumentLinksStrings.addAnotherLink : DocumentLinksStrings.addLink}\n </button>\n </div>\n </div>\n );\n};\nexport default DocumentLinks;\n","import { IFieldProps } from \"@form-eng/core\";\nimport React from \"react\";\nimport { ReadOnlyText, IReadOnlyFieldProps } from \"../../components/ReadOnlyText\";\n\nconst ReadOnly = (props: IFieldProps<IReadOnlyFieldProps>) => {\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\";\n\nconst ReadOnlyArray = (props: IFieldProps<{}>) => {\n const { fieldName, value } = props;\n const items = (value as string[]) ?? [];\n if (items.length === 0) {\n return <span className=\"fe-read-only-text\" data-field-type=\"ReadOnlyArray\">-</span>;\n }\n return (\n <ul className=\"fe-read-only-array\" data-field-type=\"ReadOnlyArray\" data-field-state=\"readonly\" id={`${fieldName}-read-only`}>\n {items.map((v, i) => (<li key={i}>{v}</li>))}\n </ul>\n );\n};\nexport default ReadOnlyArray;\n","import { IFieldProps } from \"@form-eng/core\";\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 if (!value) {\n return <span className=\"fe-read-only-text\" data-field-type=\"ReadOnlyDateTime\">-</span>;\n }\n return (\n <time className=\"fe-read-only-date-time\" dateTime={value as string} data-field-type=\"ReadOnlyDateTime\" data-field-state=\"readonly\">\n {formatDateTime(value as string, { hideTimestamp: config?.hidetimeStamp })}\n </time>\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 React.useEffect(() => {\n const formValues = getValues();\n if (!isEmpty(dependencyFields)) {\n let totalCount = 0;\n (dependencyFields as string[]).map(fn => { totalCount += Number(formValues[fn]) || 0; });\n setValue(totalCount);\n }\n }, [formState]);\n if (!fieldName) return null;\n return (\n <span data-field-type=\"ReadOnlyCumulativeNumber\" data-field-state=\"readonly\">\n <ReadOnlyText fieldName={fieldName} value={String(value)} {...config} />\n </span>\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 className=\"fe-read-only-rich-text\" data-field-type=\"ReadOnlyRichText\" data-field-state=\"readonly\" dangerouslySetInnerHTML={{ __html: value as string || \"\" }} />\n );\n};\nexport default ReadOnlyRichText;\n","import { IFieldProps } from \"@form-eng/core\";\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 className={`fe-read-only-with-button ${config?.containerClassName ?? \"\"}`} data-field-type=\"ReadOnlyWithButton\" data-field-state=\"readonly\">\n <ReadOnlyText fieldName={fieldName} value={`${value}`} />\n {config?.buttonText && (\n <button type=\"button\" className=\"fe-btn fe-btn--secondary\" onClick={config.onButtonClick}>{config.buttonText}</button>\n )}\n </div>\n );\n};\nexport default ReadOnlyWithButton;\n","import { FormConstants } from \"@form-eng/core\";\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 const count = loadingShimmerCount || FormConstants.loadingShimmerCount;\n const height = loadingFieldShimmerHeight || FormConstants.loadingFieldShimmerHeight;\n\n return (\n <div\n className={`df-form-loading ${inPanel ? \"df-form-loading--panel\" : \"\"}`}\n data-field-type=\"FormLoading\"\n role=\"status\"\n aria-label=\"Loading form\"\n >\n {[...Array(count)].map((_, i) => (\n <div key={`df-loading-${i}`} className=\"df-form-loading__field\">\n {!hideTitleShimmer && (\n <div className=\"df-skeleton df-skeleton--label\" style={{ width: \"33%\" }} />\n )}\n <div className=\"df-skeleton df-skeleton--input\" style={{ height: `${height}px` }} />\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 NumberField 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 Textarea from \"./fields/Textarea\";\nimport RadioGroup from \"./fields/RadioGroup\";\nimport CheckboxGroup from \"./fields/CheckboxGroup\";\nimport RatingField from \"./fields/Rating\";\nimport AutocompleteField from \"./fields/Autocomplete\";\nimport DateTimeField from \"./fields/DateTime\";\nimport DateRange from \"./fields/DateRange\";\nimport PhoneInput from \"./fields/PhoneInput\";\nimport FileUploadField from \"./fields/FileUpload\";\nimport ReadOnly from \"./fields/readonly/ReadOnly\";\nimport ColorPicker from \"./fields/ColorPicker\";\nimport MultiSelectSearchField from \"./fields/MultiSelectSearch\";\nimport StatusDropdown from \"./fields/StatusDropdown\";\nimport DocumentLinks from \"./fields/DocumentLinks\";\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 React Aria Components field registry for use with InjectedFieldProvider */\nexport function createReactAriaFieldRegistry(): Dictionary<React.JSX.Element> {\n return {\n [ComponentTypes.Textbox]: React.createElement(Textbox),\n [ComponentTypes.Number]: React.createElement(NumberField),\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.Textarea]: React.createElement(Textarea),\n [ComponentTypes.RadioGroup]: React.createElement(RadioGroup),\n [ComponentTypes.CheckboxGroup]: React.createElement(CheckboxGroup),\n [ComponentTypes.Rating]: React.createElement(RatingField),\n [ComponentTypes.Autocomplete]: React.createElement(AutocompleteField),\n [ComponentTypes.DateTime]: React.createElement(DateTimeField),\n [ComponentTypes.DateRange]: React.createElement(DateRange),\n [ComponentTypes.PhoneInput]: React.createElement(PhoneInput),\n [ComponentTypes.FileUpload]: React.createElement(FileUploadField),\n [ComponentTypes.ReadOnly]: React.createElement(ReadOnly),\n [ComponentTypes.ColorPicker]: React.createElement(ColorPicker),\n [ComponentTypes.MultiSelectSearch]: React.createElement(MultiSelectSearchField),\n [ComponentTypes.StatusDropdown]: React.createElement(StatusDropdown),\n [ComponentTypes.DocumentLinks]: React.createElement(DocumentLinks),\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_jsx_runtime","import_react_aria_components","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","AriaSlider","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","import_core","import_react","import_core","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","React","import_react_aria_components","import_jsx_runtime","AriaRadioGroup","import_react_aria_components","import_jsx_runtime","AriaCheckboxGroup","import_jsx_runtime","import_react_aria_components","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_react","import_jsx_runtime","React","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","import_react","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_core","import_react","import_react_hook_form","import_jsx_runtime","React","import_jsx_runtime","import_jsx_runtime","import_core","import_jsx_runtime","import_core","import_react","React"]}
|