@form-eng/react-aria 1.5.0 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +9 -2
package/dist/index.js
CHANGED
|
@@ -180,8 +180,9 @@ var Dropdown = (props) => {
|
|
|
180
180
|
setFieldValue(fieldName, String(options[0].value));
|
|
181
181
|
}
|
|
182
182
|
}, [options]);
|
|
183
|
+
const selectedLabel = options?.find((o) => String(o.value) === String(value))?.label;
|
|
183
184
|
if (readOnly) {
|
|
184
|
-
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ReadOnlyText, { fieldName, value });
|
|
185
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(ReadOnlyText, { fieldName, value: selectedLabel ?? value });
|
|
185
186
|
}
|
|
186
187
|
return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
187
188
|
import_react_aria_components4.Select,
|
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 if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={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/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"]}
|
package/dist/index.mjs
CHANGED
|
@@ -133,8 +133,9 @@ var Dropdown = (props) => {
|
|
|
133
133
|
setFieldValue(fieldName, String(options[0].value));
|
|
134
134
|
}
|
|
135
135
|
}, [options]);
|
|
136
|
+
const selectedLabel = options?.find((o) => String(o.value) === String(value))?.label;
|
|
136
137
|
if (readOnly) {
|
|
137
|
-
return /* @__PURE__ */ jsx5(ReadOnlyText, { fieldName, value });
|
|
138
|
+
return /* @__PURE__ */ jsx5(ReadOnlyText, { fieldName, value: selectedLabel ?? value });
|
|
138
139
|
}
|
|
139
140
|
return /* @__PURE__ */ jsxs(
|
|
140
141
|
Select,
|
package/dist/index.mjs.map
CHANGED
|
@@ -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 if (readOnly) {\n return <ReadOnlyText fieldName={fieldName} value={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":["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/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\">▼</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":["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"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@form-eng/react-aria",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.3",
|
|
4
4
|
"description": "React Aria Components field implementations for @form-eng/core",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -22,7 +22,14 @@
|
|
|
22
22
|
"react-hook-form",
|
|
23
23
|
"form-builder",
|
|
24
24
|
"field-components",
|
|
25
|
-
"business-forms"
|
|
25
|
+
"business-forms",
|
|
26
|
+
"rules-engine",
|
|
27
|
+
"config-driven",
|
|
28
|
+
"conditional-fields",
|
|
29
|
+
"form-validation",
|
|
30
|
+
"typescript",
|
|
31
|
+
"form-engine",
|
|
32
|
+
"wai-aria"
|
|
26
33
|
],
|
|
27
34
|
"main": "dist/index.js",
|
|
28
35
|
"module": "dist/index.mjs",
|