@form-eng/react-aria 1.5.3 → 1.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../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":["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\">&#9660;</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 &times;\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\">&#9660;</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 &times;\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":["jsx","Input","jsx","jsx","jsx","jsx","jsx","jsxs","jsx","jsxs","jsx","Select","SelectValue","Button","Popover","ListBox","ListBoxItem","jsx","jsxs","FormStrings","React","FormStrings","jsx","jsxs","TextField","jsx","jsxs","React","FormStrings","jsx","jsx","jsx","jsx","jsxs","React"]}
1
+ {"version":3,"sources":["../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":["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\">&#9660;</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 &times;\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\">&#9660;</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 &times;\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\">&#9660;</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}`}>&times;</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":["jsx","Input","jsx","jsx","jsx","jsx","jsx","jsxs","jsx","jsxs","jsx","Select","SelectValue","Button","Popover","ListBox","ListBoxItem","jsx","jsxs","FormStrings","React","FormStrings","jsx","jsxs","TextField","jsx","jsxs","React","FormStrings","jsx","jsx","jsx","jsxs","Input","Button","Popover","ListBox","ListBoxItem","jsx","jsxs","jsx","jsx","jsxs","jsx","React","jsx","jsxs","React","jsx","jsxs","useState","jsx","jsxs","useState","jsx","jsxs","useState","jsx","jsxs","useState","jsx","jsx","jsx","React","useFormContext","jsx","useFormContext","React","jsx","jsx","jsxs","jsx","jsxs","React"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@form-eng/react-aria",
3
- "version": "1.5.3",
3
+ "version": "1.6.1",
4
4
  "description": "React Aria Components field implementations for @form-eng/core",
5
5
  "repository": {
6
6
  "type": "git",
@@ -69,5 +69,6 @@
69
69
  "typescript": "^5.9.3",
70
70
  "@types/react": "^19.2.14",
71
71
  "@types/react-dom": "^19.2.3"
72
- }
72
+ },
73
+ "deprecated": "This package has been renamed to @formosaic/react-aria. Install @formosaic/react-aria instead. See https://github.com/bghcore/formosaic"
73
74
  }