@canonical/react-ds-core-form 0.9.0-experimental.5 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/dist/esm/ui/Field/Field.js +14 -6
- package/dist/esm/ui/Field/Field.js.map +1 -1
- package/dist/esm/ui/Field/common/Description/Description.js +2 -2
- package/dist/esm/ui/Field/common/Description/Description.js.map +1 -1
- package/dist/esm/ui/Field/common/Description/styles.css +1 -1
- package/dist/esm/ui/Field/common/Error/Error.js +12 -0
- package/dist/esm/ui/Field/common/Error/Error.js.map +1 -0
- package/dist/esm/ui/Field/common/Error/index.js +4 -0
- package/dist/esm/ui/Field/common/Error/index.js.map +1 -0
- package/dist/esm/ui/Field/common/Error/styles.css +5 -0
- package/dist/esm/ui/Field/common/Error/types.js +2 -0
- package/dist/esm/ui/Field/common/Error/types.js.map +1 -0
- package/dist/esm/ui/Field/common/Label/Label.js +8 -4
- package/dist/esm/ui/Field/common/Label/Label.js.map +1 -1
- package/dist/esm/ui/Field/common/Label/styles.css +2 -4
- package/dist/esm/ui/Field/common/Wrapper/InvisibleWrapper.js +26 -0
- package/dist/esm/ui/Field/common/Wrapper/InvisibleWrapper.js.map +1 -0
- package/dist/esm/ui/Field/common/Wrapper/Wrapper.js +24 -4
- package/dist/esm/ui/Field/common/Wrapper/Wrapper.js.map +1 -1
- package/dist/esm/ui/Field/common/Wrapper/hooks/index.js +2 -0
- package/dist/esm/ui/Field/common/Wrapper/hooks/index.js.map +1 -0
- package/dist/esm/ui/Field/common/Wrapper/hooks/useFieldWrapper.js +42 -0
- package/dist/esm/ui/Field/common/Wrapper/hooks/useFieldWrapper.js.map +1 -0
- package/dist/esm/ui/Field/common/Wrapper/index.js +2 -0
- package/dist/esm/ui/Field/common/Wrapper/index.js.map +1 -1
- package/dist/esm/ui/Field/common/Wrapper/messages.js +4 -0
- package/dist/esm/ui/Field/common/Wrapper/messages.js.map +1 -0
- package/dist/esm/ui/Field/common/Wrapper/styles.css +11 -3
- package/dist/esm/ui/Field/common/Wrapper/withConditionalDisplay.js +20 -0
- package/dist/esm/ui/Field/common/Wrapper/withConditionalDisplay.js.map +1 -0
- package/dist/esm/ui/Field/common/Wrapper/withWrapper.js +28 -1
- package/dist/esm/ui/Field/common/Wrapper/withWrapper.js.map +1 -1
- package/dist/esm/ui/Field/common/index.js +1 -0
- package/dist/esm/ui/Field/common/index.js.map +1 -1
- package/dist/esm/ui/Field/constants.js +2 -0
- package/dist/esm/ui/Field/constants.js.map +1 -0
- package/dist/esm/ui/Field/hooks/index.js +4 -0
- package/dist/esm/ui/Field/hooks/index.js.map +1 -0
- package/dist/esm/ui/Field/hooks/useFieldAriaProperties.js +37 -0
- package/dist/esm/ui/Field/hooks/useFieldAriaProperties.js.map +1 -0
- package/dist/esm/ui/Field/hooks/useFieldError.js +28 -0
- package/dist/esm/ui/Field/hooks/useFieldError.js.map +1 -0
- package/dist/esm/ui/Field/hooks/useOptionAriaProperties.js +30 -0
- package/dist/esm/ui/Field/hooks/useOptionAriaProperties.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Checkbox/Checkbox.js +7 -4
- package/dist/esm/ui/Field/inputs/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/ui/Field/inputs/Checkbox/styles.css +1 -1
- package/dist/esm/ui/Field/inputs/Combobox/Combobox.js +21 -0
- package/dist/esm/ui/Field/inputs/Combobox/Combobox.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/MultipleCombobox.js +82 -0
- package/dist/esm/ui/Field/inputs/Combobox/MultipleCombobox.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/SingleCombobox.js +81 -0
- package/dist/esm/ui/Field/inputs/Combobox/SingleCombobox.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/List/List.js +35 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/List/List.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/List/index.js +4 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/List/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/List/styles.css +7 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/List/types.js +2 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/List/types.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/ResetButton/ResetButton.js +14 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/ResetButton/ResetButton.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/ResetButton/index.js +4 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/ResetButton/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/ResetButton/styles.css +7 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/ResetButton/types.js +2 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/ResetButton/types.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/index.js +3 -0
- package/dist/esm/ui/Field/inputs/Combobox/common/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/constants.js +2 -0
- package/dist/esm/ui/Field/inputs/Combobox/constants.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/index.js +4 -0
- package/dist/esm/ui/Field/inputs/Combobox/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/messages.js +5 -0
- package/dist/esm/ui/Field/inputs/Combobox/messages.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/styles.css +7 -0
- package/dist/esm/ui/Field/inputs/Combobox/types.js +2 -0
- package/dist/esm/ui/Field/inputs/Combobox/types.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/convertItemToString.js +5 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/convertItemToString.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/convertValueToItem.js +6 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/convertValueToItem.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/filterItems.js +6 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/filterItems.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/index.js +5 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/mergeRefs.js +12 -0
- package/dist/esm/ui/Field/inputs/Combobox/utils/mergeRefs.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Hidden/Hidden.js +14 -0
- package/dist/esm/ui/Field/inputs/Hidden/Hidden.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Hidden/index.js +4 -0
- package/dist/esm/ui/Field/inputs/Hidden/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Hidden/types.js +2 -0
- package/dist/esm/ui/Field/inputs/Hidden/types.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Range/Range.js +16 -0
- package/dist/esm/ui/Field/inputs/Range/Range.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Range/index.js +4 -0
- package/dist/esm/ui/Field/inputs/Range/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Range/styles.css +7 -0
- package/dist/esm/ui/Field/inputs/Range/types.js +2 -0
- package/dist/esm/ui/Field/inputs/Range/types.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Select/Select.js +18 -0
- package/dist/esm/ui/Field/inputs/Select/Select.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Select/index.js +4 -0
- package/dist/esm/ui/Field/inputs/Select/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Select/styles.css +4 -0
- package/dist/esm/ui/Field/inputs/Select/types.js +2 -0
- package/dist/esm/ui/Field/inputs/Select/types.js.map +1 -0
- package/dist/esm/ui/Field/inputs/SimpleChoices/SimpleChoices.js +28 -0
- package/dist/esm/ui/Field/inputs/SimpleChoices/SimpleChoices.js.map +1 -0
- package/dist/esm/ui/Field/inputs/SimpleChoices/index.js +4 -0
- package/dist/esm/ui/Field/inputs/SimpleChoices/index.js.map +1 -0
- package/dist/esm/ui/Field/inputs/SimpleChoices/styles.css +10 -0
- package/dist/esm/ui/Field/inputs/SimpleChoices/types.js +2 -0
- package/dist/esm/ui/Field/inputs/SimpleChoices/types.js.map +1 -0
- package/dist/esm/ui/Field/inputs/Text/Text.js +8 -5
- package/dist/esm/ui/Field/inputs/Text/Text.js.map +1 -1
- package/dist/esm/ui/Field/inputs/Text/styles.css +6 -3
- package/dist/esm/ui/Field/inputs/Textarea/Textarea.js +9 -4
- package/dist/esm/ui/Field/inputs/Textarea/Textarea.js.map +1 -1
- package/dist/esm/ui/Field/inputs/Textarea/styles.css +2 -5
- package/dist/esm/ui/Field/inputs/index.js +5 -0
- package/dist/esm/ui/Field/inputs/index.js.map +1 -1
- package/dist/esm/ui/Field/types.js +1 -18
- package/dist/esm/ui/Field/types.js.map +1 -1
- package/dist/esm/ui/Form/index.js +4 -0
- package/dist/esm/ui/Form/index.js.map +1 -0
- package/dist/esm/ui/Form/types.js +2 -0
- package/dist/esm/ui/Form/types.js.map +1 -0
- package/dist/esm/ui/constants.js +12 -0
- package/dist/esm/ui/constants.js.map +1 -0
- package/dist/esm/ui/index.js +2 -27
- package/dist/esm/ui/index.js.map +1 -1
- package/dist/esm/ui/middleware/addRESTOptions.js +44 -0
- package/dist/esm/ui/middleware/addRESTOptions.js.map +1 -0
- package/dist/esm/ui/middleware/addRESTValidation.js +38 -0
- package/dist/esm/ui/middleware/addRESTValidation.js.map +1 -0
- package/dist/esm/ui/middleware/index.js +3 -0
- package/dist/esm/ui/middleware/index.js.map +1 -0
- package/dist/types/ui/Field/Field.d.ts +1 -5
- package/dist/types/ui/Field/Field.d.ts.map +1 -1
- package/dist/types/ui/Field/common/Description/Description.d.ts.map +1 -1
- package/dist/types/ui/Field/common/Error/Error.d.ts +10 -0
- package/dist/types/ui/Field/common/Error/Error.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Error/index.d.ts +3 -0
- package/dist/types/ui/Field/common/Error/index.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Error/types.d.ts +8 -0
- package/dist/types/ui/Field/common/Error/types.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Label/Label.d.ts +1 -1
- package/dist/types/ui/Field/common/Label/Label.d.ts.map +1 -1
- package/dist/types/ui/Field/common/Label/types.d.ts +9 -0
- package/dist/types/ui/Field/common/Label/types.d.ts.map +1 -1
- package/dist/types/ui/Field/common/Wrapper/InvisibleWrapper.d.ts +13 -0
- package/dist/types/ui/Field/common/Wrapper/InvisibleWrapper.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Wrapper/Wrapper.d.ts +2 -2
- package/dist/types/ui/Field/common/Wrapper/Wrapper.d.ts.map +1 -1
- package/dist/types/ui/Field/common/Wrapper/hooks/index.d.ts +2 -0
- package/dist/types/ui/Field/common/Wrapper/hooks/index.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Wrapper/hooks/useFieldWrapper.d.ts +498 -0
- package/dist/types/ui/Field/common/Wrapper/hooks/useFieldWrapper.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Wrapper/index.d.ts +2 -0
- package/dist/types/ui/Field/common/Wrapper/index.d.ts.map +1 -1
- package/dist/types/ui/Field/common/Wrapper/messages.d.ts +5 -0
- package/dist/types/ui/Field/common/Wrapper/messages.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Wrapper/types.d.ts +1 -7
- package/dist/types/ui/Field/common/Wrapper/types.d.ts.map +1 -1
- package/dist/types/ui/Field/common/Wrapper/withConditionalDisplay.d.ts +6 -0
- package/dist/types/ui/Field/common/Wrapper/withConditionalDisplay.d.ts.map +1 -0
- package/dist/types/ui/Field/common/Wrapper/withWrapper.d.ts +7 -1
- package/dist/types/ui/Field/common/Wrapper/withWrapper.d.ts.map +1 -1
- package/dist/types/ui/Field/common/index.d.ts +1 -0
- package/dist/types/ui/Field/common/index.d.ts.map +1 -1
- package/dist/types/ui/Field/constants.d.ts +2 -0
- package/dist/types/ui/Field/constants.d.ts.map +1 -0
- package/dist/types/ui/Field/hooks/index.d.ts +4 -0
- package/dist/types/ui/Field/hooks/index.d.ts.map +1 -0
- package/dist/types/ui/Field/hooks/useFieldAriaProperties.d.ts +27 -0
- package/dist/types/ui/Field/hooks/useFieldAriaProperties.d.ts.map +1 -0
- package/dist/types/ui/Field/hooks/useFieldError.d.ts +4 -0
- package/dist/types/ui/Field/hooks/useFieldError.d.ts.map +1 -0
- package/dist/types/ui/Field/hooks/useOptionAriaProperties.d.ts +19 -0
- package/dist/types/ui/Field/hooks/useOptionAriaProperties.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Checkbox/Checkbox.d.ts +329 -6
- package/dist/types/ui/Field/inputs/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/types/ui/Field/inputs/Checkbox/types.d.ts +4 -3
- package/dist/types/ui/Field/inputs/Checkbox/types.d.ts.map +1 -1
- package/dist/types/ui/Field/inputs/Combobox/Combobox.d.ts +43 -0
- package/dist/types/ui/Field/inputs/Combobox/Combobox.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/MultipleCombobox.d.ts +13 -0
- package/dist/types/ui/Field/inputs/Combobox/MultipleCombobox.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/SingleCombobox.d.ts +12 -0
- package/dist/types/ui/Field/inputs/Combobox/SingleCombobox.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/common/List/List.d.ts +10 -0
- package/dist/types/ui/Field/inputs/Combobox/common/List/List.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/common/List/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Combobox/common/List/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/common/List/types.d.ts +18 -0
- package/dist/types/ui/Field/inputs/Combobox/common/List/types.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/common/ResetButton/ResetButton.d.ts +10 -0
- package/dist/types/ui/Field/inputs/Combobox/common/ResetButton/ResetButton.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/common/ResetButton/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Combobox/common/ResetButton/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/common/ResetButton/types.d.ts +12 -0
- package/dist/types/ui/Field/inputs/Combobox/common/ResetButton/types.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/common/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Combobox/common/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/constants.d.ts +2 -0
- package/dist/types/ui/Field/inputs/Combobox/constants.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Combobox/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/messages.d.ts +6 -0
- package/dist/types/ui/Field/inputs/Combobox/messages.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/types.d.ts +23 -0
- package/dist/types/ui/Field/inputs/Combobox/types.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/convertItemToString.d.ts +4 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/convertItemToString.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/convertValueToItem.d.ts +4 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/convertValueToItem.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/filterItems.d.ts +4 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/filterItems.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/index.d.ts +5 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/mergeRefs.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Combobox/utils/mergeRefs.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Hidden/Hidden.d.ts +332 -0
- package/dist/types/ui/Field/inputs/Hidden/Hidden.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Hidden/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Hidden/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Hidden/types.d.ts +5 -0
- package/dist/types/ui/Field/inputs/Hidden/types.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Range/Range.d.ts +333 -0
- package/dist/types/ui/Field/inputs/Range/Range.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Range/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Range/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Range/types.d.ts +8 -0
- package/dist/types/ui/Field/inputs/Range/types.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Select/Select.d.ts +312 -0
- package/dist/types/ui/Field/inputs/Select/Select.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Select/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/Select/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Select/types.d.ts +5 -0
- package/dist/types/ui/Field/inputs/Select/types.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/SimpleChoices/SimpleChoices.d.ts +35 -0
- package/dist/types/ui/Field/inputs/SimpleChoices/SimpleChoices.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/SimpleChoices/index.d.ts +3 -0
- package/dist/types/ui/Field/inputs/SimpleChoices/index.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/SimpleChoices/types.d.ts +20 -0
- package/dist/types/ui/Field/inputs/SimpleChoices/types.d.ts.map +1 -0
- package/dist/types/ui/Field/inputs/Text/Text.d.ts +333 -2
- package/dist/types/ui/Field/inputs/Text/Text.d.ts.map +1 -1
- package/dist/types/ui/Field/inputs/Text/types.d.ts +10 -4
- package/dist/types/ui/Field/inputs/Text/types.d.ts.map +1 -1
- package/dist/types/ui/Field/inputs/Textarea/Textarea.d.ts +313 -6
- package/dist/types/ui/Field/inputs/Textarea/Textarea.d.ts.map +1 -1
- package/dist/types/ui/Field/inputs/Textarea/types.d.ts +4 -3
- package/dist/types/ui/Field/inputs/Textarea/types.d.ts.map +1 -1
- package/dist/types/ui/Field/inputs/index.d.ts +6 -0
- package/dist/types/ui/Field/inputs/index.d.ts.map +1 -1
- package/dist/types/ui/Field/inputs/types.d.ts +1 -8
- package/dist/types/ui/Field/inputs/types.d.ts.map +1 -1
- package/dist/types/ui/Field/types.d.ts +68 -21
- package/dist/types/ui/Field/types.d.ts.map +1 -1
- package/dist/types/ui/Form/index.d.ts +2 -0
- package/dist/types/ui/Form/index.d.ts.map +1 -0
- package/dist/types/ui/Form/types.d.ts +8 -0
- package/dist/types/ui/Form/types.d.ts.map +1 -0
- package/dist/types/ui/constants.d.ts +10 -0
- package/dist/types/ui/constants.d.ts.map +1 -0
- package/dist/types/ui/index.d.ts +2 -0
- package/dist/types/ui/index.d.ts.map +1 -1
- package/dist/types/ui/middleware/addRESTOptions.d.ts +9 -0
- package/dist/types/ui/middleware/addRESTOptions.d.ts.map +1 -0
- package/dist/types/ui/middleware/addRESTValidation.d.ts +12 -0
- package/dist/types/ui/middleware/addRESTValidation.d.ts.map +1 -0
- package/dist/types/ui/middleware/index.d.ts +3 -0
- package/dist/types/ui/middleware/index.d.ts.map +1 -0
- package/package.json +33 -25
@@ -0,0 +1,28 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { useFormContext } from "react-hook-form";
|
3
|
+
import withWrapper from "../../common/Wrapper/withWrapper.js";
|
4
|
+
import { useOptionAriaProperties } from "../../hooks/index.js";
|
5
|
+
import "./styles.css";
|
6
|
+
const componentCssClassName = "ds form-simple-choices";
|
7
|
+
const optionClassName = "option";
|
8
|
+
const Option = ({ name, type, value, label, register, registerProps, disabled, }) => {
|
9
|
+
const ariaProps = useOptionAriaProperties(name, value);
|
10
|
+
return (_jsxs("div", { className: [optionClassName, "grid", disabled && "disabled"]
|
11
|
+
.filter(Boolean)
|
12
|
+
.join(" "), children: [_jsx("input", { value: value, disabled: disabled || false, type: type, ...register(name, registerProps), ...ariaProps.input }), _jsx("label", { ...ariaProps.label, children: label })] }, value));
|
13
|
+
};
|
14
|
+
/**
|
15
|
+
* description of the SimpleChoices component
|
16
|
+
* @returns {React.ReactElement} - Rendered SimpleChoices
|
17
|
+
*/
|
18
|
+
const SimpleChoices = ({ id, className, style, name, isMultiple = false, disabled = false, options, registerProps, }) => {
|
19
|
+
const { register } = useFormContext();
|
20
|
+
const type = isMultiple ? "checkbox" : "radio";
|
21
|
+
return (
|
22
|
+
// Open for discussion, shall we use a fieldset or a div?
|
23
|
+
_jsx("fieldset", { id: id, style: style, className: [componentCssClassName, className].filter(Boolean).join(" "), children: options.map((option) => (_jsx(Option, { name: name, type: type, register: register, registerProps: registerProps, value: option.value, label: option.label, disabled: disabled || Boolean(option.disabled) }, option.value))) }));
|
24
|
+
};
|
25
|
+
export default withWrapper(
|
26
|
+
// We mock the label to be a legend, as the "true" label is rendered by the individual options
|
27
|
+
SimpleChoices, { mockLabel: true });
|
28
|
+
//# sourceMappingURL=SimpleChoices.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"SimpleChoices.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/SimpleChoices/SimpleChoices.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAG/D,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AACvD,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,MAAM,MAAM,GAAG,CAAC,EACd,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,KAAK,EACL,QAAQ,EACR,aAAa,EACb,QAAQ,GACI,EAAsB,EAAE;IACpC,MAAM,SAAS,GAAG,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACvD,OAAO,CACL,eACE,SAAS,EAAE,CAAC,eAAe,EAAE,MAAM,EAAE,QAAQ,IAAI,UAAU,CAAC;aACzD,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,aAGZ,gBACE,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,IAAI,KAAK,EAC3B,IAAI,EAAE,IAAI,KACN,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,KAC7B,SAAS,CAAC,KAAK,GACnB,EAEF,mBAAW,SAAS,CAAC,KAAK,YAAG,KAAK,GAAS,KAVtC,KAAK,CAWN,CACP,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,aAAa,GAAG,CAAC,EACrB,EAAE,EACF,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,GAAG,KAAK,EAClB,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,aAAa,GACM,EAAsB,EAAE;IAC3C,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IAEtC,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC;IAE/C,OAAO;IACL,yDAAyD;IACzD,mBACE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAEtE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CACvB,KAAC,MAAM,IAEL,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,aAAa,EAC5B,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,QAAQ,EAAE,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAPzC,MAAM,CAAC,KAAK,CAQjB,CACH,CAAC,GACO,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW;AACxB,8FAA8F;AAC9F,aAAa,EACb,EAAE,SAAS,EAAE,IAAI,EAAE,CACpB,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/SimpleChoices/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,cAAc,YAAY,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/SimpleChoices/types.ts"],"names":[],"mappings":""}
|
@@ -1,14 +1,17 @@
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { useFormContext } from "react-hook-form";
|
3
|
+
import withWrapper from "../../common/Wrapper/withWrapper.js";
|
3
4
|
import "./styles.css";
|
4
|
-
|
5
|
+
import { mixins } from "../../../constants.js";
|
6
|
+
const componentCssClassName = "ds form-text";
|
5
7
|
/**
|
6
8
|
* description of the Text component
|
7
9
|
* @returns {React.ReactElement} - Rendered Text
|
8
10
|
*/
|
9
|
-
const Text = ({ id, className, style, inputType = "text", name, registerProps,
|
11
|
+
const Text = ({ id, className, style, inputType = "text", name, prefix, suffix, registerProps, ...otherProps // Should only be native input props
|
12
|
+
}) => {
|
10
13
|
const { register } = useFormContext();
|
11
|
-
return (
|
14
|
+
return (_jsxs("div", { id: id, style: style, className: [componentCssClassName, className].filter(Boolean).join(" "), children: [prefix && _jsx("span", { className: "prefix", children: prefix }), _jsx("input", { type: inputType, className: mixins.FormInput, ...otherProps, ...register(name, registerProps) }), suffix && _jsx("span", { className: "suffix", children: suffix })] }));
|
12
15
|
};
|
13
|
-
export default Text;
|
16
|
+
export default withWrapper(Text);
|
14
17
|
//# sourceMappingURL=Text.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/Text/Text.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;
|
1
|
+
{"version":3,"file":"Text.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/Text/Text.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAE9D,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,qBAAqB,GAAG,cAAc,CAAC;AAE7C;;;GAGG;AACH,MAAM,IAAI,GAAG,CAAC,EACZ,EAAE,EACF,SAAS,EACT,KAAK,EACL,SAAS,GAAG,MAAM,EAClB,IAAI,EACJ,MAAM,EACN,MAAM,EACN,aAAa,EACb,GAAG,UAAU,CAAC,oCAAoC;EACxC,EAAsB,EAAE;IAClC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IACtC,OAAO,CACL,eACE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAEtE,MAAM,IAAI,eAAM,SAAS,EAAC,QAAQ,YAAE,MAAM,GAAQ,EACnD,gBACE,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,MAAM,CAAC,SAAS,KACvB,UAAU,KACV,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,GACjC,EACD,MAAM,IAAI,eAAM,SAAS,EAAC,QAAQ,YAAE,MAAM,GAAQ,IAC/C,CACP,CAAC;AACJ,CAAC,CAAC;AAIF,eAAe,WAAW,CAAY,IAAI,CAAC,CAAC"}
|
@@ -1,14 +1,19 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import { useFormContext } from "react-hook-form";
|
3
3
|
import "./styles.css";
|
4
|
-
|
4
|
+
import { mixins } from "../../../constants.js";
|
5
|
+
import withWrapper from "../../common/Wrapper/withWrapper.js";
|
6
|
+
const componentCssClassName = "ds form-textarea";
|
5
7
|
/**
|
6
8
|
* description of the Textarea component
|
7
9
|
* @returns {React.ReactElement} - Rendered Textarea
|
8
10
|
*/
|
9
|
-
const Textarea = ({ id, className, style, name, registerProps,
|
11
|
+
const Textarea = ({ id, className, style, name, registerProps, ...otherProps // Should only be native input props
|
12
|
+
}) => {
|
10
13
|
const { register } = useFormContext();
|
11
|
-
return (_jsx("textarea", { id: id, style: style, className: [componentCssClassName, className]
|
14
|
+
return (_jsx("textarea", { id: id, style: style, className: [mixins.FormInput, componentCssClassName, className]
|
15
|
+
.filter(Boolean)
|
16
|
+
.join(" "), ...otherProps, ...register(name, registerProps) }));
|
12
17
|
};
|
13
|
-
export default Textarea;
|
18
|
+
export default withWrapper(Textarea);
|
14
19
|
//# sourceMappingURL=Textarea.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/Textarea/Textarea.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/Textarea/Textarea.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,WAAW,MAAM,qCAAqC,CAAC;AAE9D,MAAM,qBAAqB,GAAG,kBAAkB,CAAC;AAEjD;;;GAGG;AACH,MAAM,QAAQ,GAAG,CAAC,EAChB,EAAE,EACF,SAAS,EACT,KAAK,EACL,IAAI,EACJ,aAAa,EACb,GAAG,UAAU,CAAC,oCAAoC;EACpC,EAAsB,EAAE;IACtC,MAAM,EAAE,QAAQ,EAAE,GAAG,cAAc,EAAE,CAAC;IACtC,OAAO,CACL,mBACE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,MAAM,CAAC,SAAS,EAAE,qBAAqB,EAAE,SAAS,CAAC;aAC5D,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,KACR,UAAU,KACV,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,GACjC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAgB,QAAQ,CAAC,CAAC"}
|
@@ -1,4 +1,9 @@
|
|
1
1
|
export * from "./Textarea/index.js";
|
2
2
|
export * from "./Text/index.js";
|
3
3
|
export * from "./Checkbox/index.js";
|
4
|
+
export * from "./Range/index.js";
|
5
|
+
export * from "./Select/index.js";
|
6
|
+
export * from "./SimpleChoices/index.js";
|
7
|
+
export * from "./Combobox/index.js";
|
8
|
+
export * from "./Hidden/index.js";
|
4
9
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/Field/inputs/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,qBAAqB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/Field/inputs/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AAEpC,cAAc,iBAAiB,CAAC;AAEhC,cAAc,qBAAqB,CAAC;AAIpC,cAAc,kBAAkB,CAAC;AAEjC,cAAc,mBAAmB,CAAC;AAElC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,qBAAqB,CAAC;AAEpC,cAAc,mBAAmB,CAAC"}
|
@@ -1,19 +1,2 @@
|
|
1
|
-
export
|
2
|
-
(function (InputType) {
|
3
|
-
InputType["Text"] = "text";
|
4
|
-
InputType["Password"] = "password";
|
5
|
-
InputType["Email"] = "email";
|
6
|
-
InputType["Number"] = "number";
|
7
|
-
InputType["Tel"] = "tel";
|
8
|
-
InputType["Url"] = "url";
|
9
|
-
InputType["Textarea"] = "textarea";
|
10
|
-
InputType["Custom"] = "custom";
|
11
|
-
InputType["Checkbox"] = "checkbox";
|
12
|
-
// Date = "date",
|
13
|
-
// Time = "time",
|
14
|
-
// DatetimeLocal = "datetime-local",
|
15
|
-
// Month = "month",
|
16
|
-
// Week = "week",
|
17
|
-
// Color = "color",
|
18
|
-
})(InputType || (InputType = {}));
|
1
|
+
export {};
|
19
2
|
//# sourceMappingURL=types.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/Field/types.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/Field/types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/Form/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,+CAA+C;AAC/C,cAAc,YAAY,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/ui/Form/types.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
export var states;
|
2
|
+
(function (states) {
|
3
|
+
states["Danger"] = "danger";
|
4
|
+
states["Success"] = "success";
|
5
|
+
states["Idle"] = "idle";
|
6
|
+
states["Disabled"] = "disabled";
|
7
|
+
})(states || (states = {}));
|
8
|
+
export var mixins;
|
9
|
+
(function (mixins) {
|
10
|
+
mixins["FormInput"] = "form-input";
|
11
|
+
})(mixins || (mixins = {}));
|
12
|
+
//# sourceMappingURL=constants.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/ui/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,MAKX;AALD,WAAY,MAAM;IAChB,2BAAiB,CAAA;IACjB,6BAAmB,CAAA;IACnB,uBAAa,CAAA;IACb,+BAAqB,CAAA;AACvB,CAAC,EALW,MAAM,KAAN,MAAM,QAKjB;AAED,MAAM,CAAN,IAAY,MAEX;AAFD,WAAY,MAAM;IAChB,kCAAwB,CAAA;AAC1B,CAAC,EAFW,MAAM,KAAN,MAAM,QAEjB"}
|
package/dist/esm/ui/index.js
CHANGED
@@ -1,29 +1,4 @@
|
|
1
1
|
export * from "./Field/index.js";
|
2
|
-
|
3
|
-
|
4
|
-
/common/Label
|
5
|
-
/common/Description
|
6
|
-
(/common/ErrorMessage)
|
7
|
-
|
8
|
-
|
9
|
-
/inputs/Input|Text > Wrapper around html
|
10
|
-
/inputs/Textarea
|
11
|
-
/inputs/Checkbox
|
12
|
-
/inputs/Select
|
13
|
-
|
14
|
-
/middleware/addRestValidation
|
15
|
-
/middleware/addEditable
|
16
|
-
/middleware/addConditionalDisplay
|
17
|
-
|
18
|
-
/wrapper/Wrapper.js
|
19
|
-
/wrapper/withWrapper.js so that "export default withWrapper(Input)" works
|
20
|
-
|
21
|
-
/field/Field (!!!! This is the core of the API. We should be able to do fieldMap.map((field) => <Field {...field} />) and have it work)
|
22
|
-
Field switched between Input, Textarea, Checkbox, Select based on type
|
23
|
-
|
24
|
-
|
25
|
-
"Fieldsets"
|
26
|
-
/inputs/SimpleChoices (list of radio buttons or checkboxes if multiple=true)
|
27
|
-
|
28
|
-
*/
|
2
|
+
export * from "./Form/index.js";
|
3
|
+
export * from "./middleware/index.js";
|
29
4
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/ui/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
@@ -0,0 +1,44 @@
|
|
1
|
+
import { createElement, useEffect, useState } from "react";
|
2
|
+
function addRESTFieldOptions(url, options = {}) {
|
3
|
+
const { method = "GET", headers = {}, transformData = (data) => data, } = options;
|
4
|
+
return (WrappedComponent) => {
|
5
|
+
return function ExtendedComponent(props) {
|
6
|
+
const [optionsData, setOptionsData] = useState([]);
|
7
|
+
const [loading, setLoading] = useState(true);
|
8
|
+
const [error, setError] = useState(null);
|
9
|
+
useEffect(() => {
|
10
|
+
fetch(url, {
|
11
|
+
method,
|
12
|
+
headers,
|
13
|
+
})
|
14
|
+
.then((response) => {
|
15
|
+
if (!response.ok) {
|
16
|
+
throw new Error("Failed to fetch options");
|
17
|
+
}
|
18
|
+
return response.json();
|
19
|
+
})
|
20
|
+
.then((data) => {
|
21
|
+
const transformed = transformData(data);
|
22
|
+
setOptionsData(transformed);
|
23
|
+
setLoading(false);
|
24
|
+
})
|
25
|
+
.catch((err) => {
|
26
|
+
setError(err.message);
|
27
|
+
setLoading(false);
|
28
|
+
});
|
29
|
+
}, [url]);
|
30
|
+
if (loading) {
|
31
|
+
return createElement("div", null, "Loading options...");
|
32
|
+
}
|
33
|
+
if (error) {
|
34
|
+
return createElement("div", null, `Error: ${error}`);
|
35
|
+
}
|
36
|
+
return createElement(WrappedComponent, {
|
37
|
+
...props,
|
38
|
+
options: optionsData,
|
39
|
+
});
|
40
|
+
};
|
41
|
+
};
|
42
|
+
}
|
43
|
+
export default addRESTFieldOptions;
|
44
|
+
//# sourceMappingURL=addRESTOptions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"addRESTOptions.js","sourceRoot":"","sources":["../../../../src/ui/middleware/addRESTOptions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAU3D,SAAS,mBAAmB,CAC1B,GAAW,EACX,UAA+B,EAAE;IAGjC,MAAM,EACJ,MAAM,GAAG,KAAK,EACd,OAAO,GAAG,EAAE,EACZ,aAAa,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAC/B,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,gBAAgB,EAAE,EAAE;QAC1B,OAAO,SAAS,iBAAiB,CAAC,KAAK;YACrC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;YAC7D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC7C,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;YAExD,SAAS,CAAC,GAAG,EAAE;gBACb,KAAK,CAAC,GAAG,EAAE;oBACT,MAAM;oBACN,OAAO;iBACR,CAAC;qBACC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACjB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;oBAC7C,CAAC;oBACD,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACzB,CAAC,CAAC;qBACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;oBACb,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;oBACxC,cAAc,CAAC,WAAW,CAAC,CAAC;oBAC5B,UAAU,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACb,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBACtB,UAAU,CAAC,KAAK,CAAC,CAAC;gBACpB,CAAC,CAAC,CAAC;YACP,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAEV,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAC1D,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,OAAO,aAAa,CAAC,gBAAgB,EAAE;gBACrC,GAAG,KAAK;gBACR,OAAO,EAAE,WAAW;aACrB,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,mBAAmB,CAAC"}
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { debounce } from "@canonical/utils";
|
2
|
+
import { createElement, useCallback, useEffect } from "react";
|
3
|
+
import { useFormContext } from "react-hook-form";
|
4
|
+
function addRESTFieldValidation(url, options = {}) {
|
5
|
+
const { method = "POST", headers = { "Content-Type": "application/json" }, bodyFormatter = (value) => ({ value }), errorExtractor = async () => "Validation failed", minLength = 3, debounceWait = 300, } = options;
|
6
|
+
return (WrappedComponent) => {
|
7
|
+
return function ExtendedComponent(props) {
|
8
|
+
const { name } = props;
|
9
|
+
const { setError, clearErrors, watch } = useFormContext();
|
10
|
+
const value = watch(name);
|
11
|
+
const debouncedFetch = useCallback(debounce(async (val) => {
|
12
|
+
const response = await fetch(url, {
|
13
|
+
method,
|
14
|
+
headers,
|
15
|
+
body: JSON.stringify(bodyFormatter(val)),
|
16
|
+
});
|
17
|
+
if (!response.ok) {
|
18
|
+
const errorMessage = await errorExtractor(response);
|
19
|
+
setError(name, { type: "manual", message: errorMessage });
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
clearErrors(name);
|
23
|
+
}
|
24
|
+
}, debounceWait), []);
|
25
|
+
useEffect(() => {
|
26
|
+
if (value && value.length >= minLength) {
|
27
|
+
debouncedFetch(value);
|
28
|
+
}
|
29
|
+
else {
|
30
|
+
clearErrors(name);
|
31
|
+
}
|
32
|
+
}, [value, debouncedFetch, name, clearErrors]);
|
33
|
+
return createElement(WrappedComponent, props);
|
34
|
+
};
|
35
|
+
};
|
36
|
+
}
|
37
|
+
export default addRESTFieldValidation;
|
38
|
+
//# sourceMappingURL=addRESTValidation.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"addRESTValidation.js","sourceRoot":"","sources":["../../../../src/ui/middleware/addRESTValidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAajD,SAAS,sBAAsB,CAC7B,GAAW,EACX,UAA6B,EAAE;IAG/B,MAAM,EACJ,MAAM,GAAG,MAAM,EACf,OAAO,GAAG,EAAE,cAAc,EAAE,kBAAkB,EAAE,EAChD,aAAa,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EACtC,cAAc,GAAG,KAAK,IAAI,EAAE,CAAC,mBAAmB,EAChD,SAAS,GAAG,CAAC,EACb,YAAY,GAAG,GAAG,GACnB,GAAG,OAAO,CAAC;IAEZ,OAAO,CAAC,gBAAgB,EAAE,EAAE;QAC1B,OAAO,SAAS,iBAAiB,CAAC,KAAK;YACrC,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YACvB,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAE1B,MAAM,cAAc,GAAG,WAAW,CAChC,QAAQ,CAAC,KAAK,EAAE,GAAW,EAAE,EAAE;gBAC7B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;oBAChC,MAAM;oBACN,OAAO;oBACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;iBACzC,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,YAAY,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;oBACpD,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;gBAC5D,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC,EAAE,YAAY,CAAC,EAChB,EAAE,CACH,CAAC;YAEF,SAAS,CAAC,GAAG,EAAE;gBACb,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;oBACvC,cAAc,CAAC,KAAK,CAAC,CAAC;gBACxB,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,IAAI,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;YAE/C,OAAO,aAAa,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AAED,eAAe,sBAAsB,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/middleware/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
|
@@ -1,13 +1,9 @@
|
|
1
1
|
import type React from "react";
|
2
|
-
import { InputType } from "./types.js";
|
3
2
|
import type { FieldProps } from "./types.js";
|
4
3
|
/**
|
5
4
|
* description of the Field component
|
6
5
|
* @returns {React.ReactElement} - Rendered Field
|
7
6
|
*/
|
8
|
-
declare const Field: {
|
9
|
-
({ inputType, CustomComponent, ...props }: FieldProps): React.ReactElement;
|
10
|
-
types: typeof InputType;
|
11
|
-
};
|
7
|
+
declare const Field: ({ inputType, CustomComponent, ...props }: FieldProps) => React.ReactElement;
|
12
8
|
export default Field;
|
13
9
|
//# sourceMappingURL=Field.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../../src/ui/Field/Field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../../src/ui/Field/Field.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAE7C;;;GAGG;AACH,QAAA,MAAM,KAAK,GAAI,0CAIZ,UAAU,KAAG,KAAK,CAAC,YAsBrB,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Description.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Description/Description.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,cAAc,CAAC;AAItB;;;GAGG;AACH,QAAA,MAAM,WAAW,
|
1
|
+
{"version":3,"file":"Description.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Description/Description.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACnD,OAAO,cAAc,CAAC;AAItB;;;GAGG;AACH,QAAA,MAAM,WAAW,GAAI,qCAKlB,gBAAgB,KAAG,KAAK,CAAC,YAU3B,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
import type React from "react";
|
2
|
+
import type { ErrorProps } from "./types.js";
|
3
|
+
import "./styles.css";
|
4
|
+
/**
|
5
|
+
* description of the Error component
|
6
|
+
* @returns {React.ReactElement} - Rendered Error
|
7
|
+
*/
|
8
|
+
declare const FieldError: ({ id, children, className, style, }: ErrorProps) => React.ReactElement;
|
9
|
+
export default FieldError;
|
10
|
+
//# sourceMappingURL=Error.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Error.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Error/Error.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,cAAc,CAAC;AAItB;;;GAGG;AACH,QAAA,MAAM,UAAU,GAAI,qCAKjB,UAAU,KAAG,KAAK,CAAC,YAWrB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Error/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,cAAc,YAAY,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Error/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,UAAU;IAEzB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CAC7B"}
|
@@ -5,6 +5,6 @@ import "./styles.css";
|
|
5
5
|
* description of the Label component
|
6
6
|
* @returns {React.ReactElement} - Rendered Label
|
7
7
|
*/
|
8
|
-
declare const Label: ({ id, children, className, style, }: LabelProps) => React.ReactElement;
|
8
|
+
declare const Label: ({ id, children, className, style, name, isOptional, messages, htmlFor, tag: Element, }: LabelProps) => React.ReactElement;
|
9
9
|
export default Label;
|
10
10
|
//# sourceMappingURL=Label.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Label/Label.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"Label.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Label/Label.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,cAAc,CAAC;AAStB;;;GAGG;AACH,QAAA,MAAM,KAAK,GAAI,wFAUZ,UAAU,KAAG,KAAK,CAAC,YAYrB,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
@@ -1,8 +1,17 @@
|
|
1
1
|
import type React from "react";
|
2
|
+
import type { JSX } from "react";
|
3
|
+
export interface LabelMessages {
|
4
|
+
optional: () => string;
|
5
|
+
}
|
2
6
|
export interface LabelProps {
|
3
7
|
id?: string;
|
4
8
|
className?: string;
|
5
9
|
children?: React.ReactNode;
|
6
10
|
style?: React.CSSProperties;
|
11
|
+
name: string;
|
12
|
+
htmlFor?: string;
|
13
|
+
isOptional?: boolean;
|
14
|
+
messages?: LabelMessages;
|
15
|
+
tag?: keyof JSX.IntrinsicElements;
|
7
16
|
}
|
8
17
|
//# sourceMappingURL=types.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Label/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Label/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,MAAM,WAAW,aAAa;IAE5B,QAAQ,EAAE,MAAM,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IAEzB,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAE5B,IAAI,EAAE,MAAM,CAAC;IAEb,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,QAAQ,CAAC,EAAE,aAAa,CAAC;IAEzB,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,iBAAiB,CAAC;CACnC"}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import type React from "react";
|
2
|
+
import type { BaseInputProps, WrapperProps } from "../../types.js";
|
3
|
+
/**
|
4
|
+
* InvisibleWrapper component for hidden form inputs.
|
5
|
+
* It wraps the specified input component and handles form registration
|
6
|
+
* without rendering visible elements like labels or error messages.
|
7
|
+
*
|
8
|
+
* @param {WrapperProps<ComponentProps>} props - Component props including the Component to wrap and form-related props.
|
9
|
+
* @returns {React.ReactElement} - Rendered wrapped component.
|
10
|
+
*/
|
11
|
+
declare const InvisibleWrapper: <ComponentProps extends BaseInputProps>({ name, Component, registerProps: userRegisterProps, nestedRegisterProps, unregisterOnUnmount, ...otherProps }: WrapperProps<ComponentProps>) => React.ReactElement;
|
12
|
+
export default InvisibleWrapper;
|
13
|
+
//# sourceMappingURL=InvisibleWrapper.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"InvisibleWrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/InvisibleWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAGnE;;;;;;;GAOG;AACH,QAAA,MAAM,gBAAgB,GAAI,cAAc,SAAS,cAAc,EAAE,gHAO9D,YAAY,CAAC,cAAc,CAAC,KAAG,KAAK,CAAC,YAevC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
@@ -1,10 +1,10 @@
|
|
1
1
|
import type React from "react";
|
2
|
-
import type { WrapperProps } from "
|
2
|
+
import type { BaseInputProps, WrapperProps } from "../../types.js";
|
3
3
|
import "./styles.css";
|
4
4
|
/**
|
5
5
|
* description of the Wrapper component
|
6
6
|
* @returns {React.ReactElement} - Rendered Wrapper
|
7
7
|
*/
|
8
|
-
declare const Wrapper: ({ id,
|
8
|
+
declare const Wrapper: <ComponentProps extends BaseInputProps>({ id, className, style, name, Component, description, label, isOptional, registerProps: userRegisterProps, nestedRegisterProps, unregisterOnUnmount, mockLabel, ...otherProps }: WrapperProps<ComponentProps>) => React.ReactElement;
|
9
9
|
export default Wrapper;
|
10
10
|
//# sourceMappingURL=Wrapper.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/Wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"Wrapper.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/Wrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnE,OAAO,cAAc,CAAC;AAOtB;;;GAGG;AACH,QAAA,MAAM,OAAO,GAAI,cAAc,SAAS,cAAc,EAAE,iLAgBrD,YAAY,CAAC,cAAc,CAAC,KAAG,KAAK,CAAC,YAkDvC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/ui/Field/common/Wrapper/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|