@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
package/README.md
CHANGED
@@ -6,3 +6,6 @@ The collection of Form Components in the DS25.
|
|
6
6
|
|
7
7
|
This package uses the same build as `ds-core` in the same folder. All comments made on the README.md file apply here.
|
8
8
|
|
9
|
+
## Notes
|
10
|
+
|
11
|
+
+ This package uses MSW to mock back-end requests - in particular related to field-level middleware. For that purpose, this package exposes a unique command, `init:msw` which populates the public folder with the service worker necessary to intercept requests with our mock API. This script only has to be run once, but is nevertheless kept on the package.json for reference.
|
@@ -1,17 +1,26 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
-
import { Checkbox, Text, Textarea } from "./inputs/index.js";
|
3
|
-
import { InputType } from "./types.js";
|
2
|
+
import { Checkbox, Combobox, Hidden, Range, Select, SimpleChoices, Text, Textarea, } from "./inputs/index.js";
|
4
3
|
/**
|
5
4
|
* description of the Field component
|
6
5
|
* @returns {React.ReactElement} - Rendered Field
|
7
6
|
*/
|
8
7
|
const Field = ({ inputType, CustomComponent, ...props }) => {
|
9
8
|
switch (inputType) {
|
10
|
-
case
|
9
|
+
case "textarea":
|
11
10
|
return _jsx(Textarea, { ...props });
|
12
|
-
case
|
11
|
+
case "checkbox":
|
13
12
|
return _jsx(Checkbox, { ...props });
|
14
|
-
case
|
13
|
+
case "range":
|
14
|
+
return _jsx(Range, { ...props });
|
15
|
+
case "select":
|
16
|
+
return _jsx(Select, { ...props });
|
17
|
+
case "simple-choices":
|
18
|
+
return _jsx(SimpleChoices, { ...props });
|
19
|
+
case "combobox":
|
20
|
+
return _jsx(Combobox, { ...props });
|
21
|
+
case "hidden":
|
22
|
+
return _jsx(Hidden, { ...props });
|
23
|
+
case "custom":
|
15
24
|
// @ts-ignore // TODO Add special type for both or none
|
16
25
|
return _jsx(CustomComponent, { ...props });
|
17
26
|
default:
|
@@ -19,5 +28,4 @@ const Field = ({ inputType, CustomComponent, ...props }) => {
|
|
19
28
|
}
|
20
29
|
};
|
21
30
|
export default Field;
|
22
|
-
Field.types = InputType;
|
23
31
|
//# sourceMappingURL=Field.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/ui/Field/Field.tsx"],"names":[],"mappings":";AAEA,OAAO,
|
1
|
+
{"version":3,"file":"Field.js","sourceRoot":"","sources":["../../../../src/ui/Field/Field.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,KAAK,EACL,MAAM,EACN,aAAa,EACb,IAAI,EACJ,QAAQ,GACT,MAAM,mBAAmB,CAAC;AAG3B;;;GAGG;AACH,MAAM,KAAK,GAAG,CAAC,EACb,SAAS,EACT,eAAe,EACf,GAAG,KAAK,EACG,EAAsB,EAAE;IACnC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,UAAU;YACb,OAAO,KAAC,QAAQ,OAAK,KAAK,GAAI,CAAC;QACjC,KAAK,UAAU;YACb,OAAO,KAAC,QAAQ,OAAK,KAAK,GAAI,CAAC;QACjC,KAAK,OAAO;YACV,OAAO,KAAC,KAAK,OAAK,KAAK,GAAI,CAAC;QAC9B,KAAK,QAAQ;YACX,OAAO,KAAC,MAAM,OAAK,KAAK,GAAI,CAAC;QAC/B,KAAK,gBAAgB;YACnB,OAAO,KAAC,aAAa,OAAK,KAAK,GAAI,CAAC;QACtC,KAAK,UAAU;YACb,OAAO,KAAC,QAAQ,OAAK,KAAK,GAAI,CAAC;QACjC,KAAK,QAAQ;YACX,OAAO,KAAC,MAAM,OAAK,KAAK,GAAI,CAAC;QAC/B,KAAK,QAAQ;YACX,uDAAuD;YACvD,OAAO,KAAC,eAAe,OAAK,KAAK,GAAI,CAAC;QACxC;YACE,OAAO,KAAC,IAAI,IAAC,SAAS,EAAE,SAAS,KAAM,KAAK,GAAI,CAAC;IACrD,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
@@ -1,12 +1,12 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import "./styles.css";
|
3
|
-
const componentCssClassName = "ds description";
|
3
|
+
const componentCssClassName = "ds form-field-description";
|
4
4
|
/**
|
5
5
|
* description of the Description component
|
6
6
|
* @returns {React.ReactElement} - Rendered Description
|
7
7
|
*/
|
8
8
|
const Description = ({ id, children, className, style, }) => {
|
9
|
-
return (_jsx("
|
9
|
+
return (_jsx("p", { id: id, style: style, className: [componentCssClassName, className].filter(Boolean).join(" "), children: children }));
|
10
10
|
};
|
11
11
|
export default Description;
|
12
12
|
//# sourceMappingURL=Description.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Description.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Description/Description.tsx"],"names":[],"mappings":";AAGA,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,
|
1
|
+
{"version":3,"file":"Description.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Description/Description.tsx"],"names":[],"mappings":";AAGA,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,2BAA2B,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,GAAG,CAAC,EACnB,EAAE,EACF,QAAQ,EACR,SAAS,EACT,KAAK,GACY,EAAsB,EAAE;IACzC,OAAO,CACL,YACE,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,QAAQ,GACP,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
@@ -0,0 +1,12 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import "./styles.css";
|
3
|
+
const componentCssClassName = "ds form-field-error";
|
4
|
+
/**
|
5
|
+
* description of the Error component
|
6
|
+
* @returns {React.ReactElement} - Rendered Error
|
7
|
+
*/
|
8
|
+
const FieldError = ({ id, children, className, style, }) => {
|
9
|
+
return (_jsx("p", { id: id, style: style, className: [componentCssClassName, className].filter(Boolean).join(" "), role: "alert", children: children }));
|
10
|
+
};
|
11
|
+
export default FieldError;
|
12
|
+
//# sourceMappingURL=Error.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"Error.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Error/Error.tsx"],"names":[],"mappings":";AAGA,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,GAAG,CAAC,EAClB,EAAE,EACF,QAAQ,EACR,SAAS,EACT,KAAK,GACM,EAAsB,EAAE;IACnC,OAAO,CACL,YACE,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,EACvE,IAAI,EAAC,OAAO,YAEX,QAAQ,GACP,CACL,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Error/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,YAAY,CAAC;AAC9C,cAAc,YAAY,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Error/types.ts"],"names":[],"mappings":""}
|
@@ -1,12 +1,16 @@
|
|
1
|
-
import {
|
1
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import "./styles.css";
|
3
|
-
const componentCssClassName = "ds label";
|
3
|
+
const componentCssClassName = "ds form-label";
|
4
|
+
/** Placeholder for internationalized messages */
|
5
|
+
const defaultMessages = {
|
6
|
+
optional: () => "optional",
|
7
|
+
};
|
4
8
|
/**
|
5
9
|
* description of the Label component
|
6
10
|
* @returns {React.ReactElement} - Rendered Label
|
7
11
|
*/
|
8
|
-
const Label = ({ id, children, className, style, }) => {
|
9
|
-
return (
|
12
|
+
const Label = ({ id, children, className, style, name, isOptional, messages = defaultMessages, htmlFor, tag: Element = "label", }) => {
|
13
|
+
return (_jsxs(Element, { id: id, style: style, htmlFor: Element === "label" ? htmlFor : undefined, className: [componentCssClassName, className].filter(Boolean).join(" "), children: [children || name, isOptional && _jsxs("span", { children: [" (", messages.optional(), ")"] })] }));
|
10
14
|
};
|
11
15
|
export default Label;
|
12
16
|
//# sourceMappingURL=Label.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Label/Label.tsx"],"names":[],"mappings":";AAGA,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,UAAU,CAAC;
|
1
|
+
{"version":3,"file":"Label.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Label/Label.tsx"],"names":[],"mappings":";AAGA,OAAO,cAAc,CAAC;AAEtB,MAAM,qBAAqB,GAAG,eAAe,CAAC;AAE9C,iDAAiD;AACjD,MAAM,eAAe,GAAG;IACtB,QAAQ,EAAE,GAAG,EAAE,CAAC,UAAU;CAC3B,CAAC;AAEF;;;GAGG;AACH,MAAM,KAAK,GAAG,CAAC,EACb,EAAE,EACF,QAAQ,EACR,SAAS,EACT,KAAK,EACL,IAAI,EACJ,UAAU,EACV,QAAQ,GAAG,eAAe,EAC1B,OAAO,EACP,GAAG,EAAE,OAAO,GAAG,OAAO,GACX,EAAsB,EAAE;IACnC,OAAO,CACL,MAAC,OAAO,IACN,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EAClD,SAAS,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAEtE,QAAQ,IAAI,IAAI,EAChB,UAAU,IAAI,iCAAS,QAAQ,CAAC,QAAQ,EAAE,SAAS,IAC5C,CACX,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import { useFieldWrapper } from "./hooks/index.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
|
+
const InvisibleWrapper = ({ name, Component, registerProps: userRegisterProps, nestedRegisterProps, unregisterOnUnmount, ...otherProps }) => {
|
12
|
+
const { registerProps, ariaProps } = useFieldWrapper(name, {
|
13
|
+
userRegisterProps,
|
14
|
+
nestedRegisterProps,
|
15
|
+
unregisterOnUnmount,
|
16
|
+
});
|
17
|
+
const componentProps = {
|
18
|
+
name,
|
19
|
+
registerProps,
|
20
|
+
...ariaProps.input,
|
21
|
+
...otherProps,
|
22
|
+
};
|
23
|
+
return _jsx(Component, { ...componentProps });
|
24
|
+
};
|
25
|
+
export default InvisibleWrapper;
|
26
|
+
//# sourceMappingURL=InvisibleWrapper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"InvisibleWrapper.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/InvisibleWrapper.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,CAAwC,EAC/D,IAAI,EACJ,SAAS,EACT,aAAa,EAAE,iBAAiB,EAChC,mBAAmB,EACnB,mBAAmB,EACnB,GAAG,UAAU,EACgB,EAAsB,EAAE;IACrD,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE;QACzD,iBAAiB;QACjB,mBAAmB;QACnB,mBAAmB;KACpB,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG;QACrB,IAAI;QACJ,aAAa;QACb,GAAG,SAAS,CAAC,KAAK;QAClB,GAAG,UAAU;KACI,CAAC;IAEpB,OAAO,KAAC,SAAS,OAAK,cAAc,GAAI,CAAC;AAC3C,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
@@ -1,12 +1,32 @@
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
+
import { useMemo } from "react";
|
2
3
|
import "./styles.css";
|
3
|
-
|
4
|
+
import { states } from "../../../constants.js";
|
5
|
+
import { Description, Error as FieldError, Label } from "../index.js";
|
6
|
+
import { useFieldWrapper } from "./hooks/index.js";
|
7
|
+
const componentCssClassName = "ds form-wrapper";
|
4
8
|
/**
|
5
9
|
* description of the Wrapper component
|
6
10
|
* @returns {React.ReactElement} - Rendered Wrapper
|
7
11
|
*/
|
8
|
-
const Wrapper = ({ id,
|
9
|
-
|
12
|
+
const Wrapper = ({ id, className, style, name, Component, description, label, isOptional, registerProps: userRegisterProps, nestedRegisterProps, unregisterOnUnmount, mockLabel = false, ...otherProps }) => {
|
13
|
+
const { fieldError, isError, ariaProps, registerProps } = useFieldWrapper(name, {
|
14
|
+
label,
|
15
|
+
isOptional,
|
16
|
+
userRegisterProps,
|
17
|
+
nestedRegisterProps,
|
18
|
+
unregisterOnUnmount,
|
19
|
+
});
|
20
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: -
|
21
|
+
const componentProps = useMemo(() => ({
|
22
|
+
name,
|
23
|
+
registerProps,
|
24
|
+
...ariaProps.input,
|
25
|
+
...otherProps,
|
26
|
+
}), [name, registerProps, ariaProps.input]);
|
27
|
+
return (_jsxs("div", { id: id, style: style, className: [componentCssClassName, className, isError && states.Danger]
|
28
|
+
.filter(Boolean)
|
29
|
+
.join(" "), children: [_jsx(Label, { name: name, isOptional: isOptional, tag: mockLabel ? "legend" : undefined, ...ariaProps.label, children: label }), _jsxs("div", { className: "payload", children: [_jsx(Description, { ...ariaProps.description, children: description }), _jsx(Component, { ...componentProps }), isError && (_jsx(FieldError, { ...ariaProps.error, children: fieldError?.message?.toString() }))] })] }));
|
10
30
|
};
|
11
31
|
export default Wrapper;
|
12
32
|
//# sourceMappingURL=Wrapper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/Wrapper.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"Wrapper.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/Wrapper.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,cAAc,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,KAAK,IAAI,UAAU,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,qBAAqB,GAAG,iBAAiB,CAAC;AAEhD;;;GAGG;AACH,MAAM,OAAO,GAAG,CAAwC,EACtD,EAAE,EACF,SAAS,EACT,KAAK,EAEL,IAAI,EACJ,SAAS,EACT,WAAW,EACX,KAAK,EACL,UAAU,EACV,aAAa,EAAE,iBAAiB,EAChC,mBAAmB,EACnB,mBAAmB,EAEnB,SAAS,GAAG,KAAK,EACjB,GAAG,UAAU,EACgB,EAAsB,EAAE;IACrD,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,eAAe,CACvE,IAAI,EACJ;QACE,KAAK;QACL,UAAU;QACV,iBAAiB;QACjB,mBAAmB;QACnB,mBAAmB;KACpB,CACF,CAAC;IAEF,6DAA6D;IAC7D,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CAAC,CAAC;QACL,IAAI;QACJ,aAAa;QACb,GAAG,SAAS,CAAC,KAAK;QAClB,GAAG,UAAU;KACd,CAAC,EACF,CAAC,IAAI,EAAE,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,CACV,CAAC;IAE/B,OAAO,CACL,eACE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,CAAC,qBAAqB,EAAE,SAAS,EAAE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC;aACpE,MAAM,CAAC,OAAO,CAAC;aACf,IAAI,CAAC,GAAG,CAAC,aAEZ,KAAC,KAAK,IACJ,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,UAAU,EACtB,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,KACjC,SAAS,CAAC,KAAK,YAElB,KAAK,GACA,EACR,eAAK,SAAS,EAAC,SAAS,aACtB,KAAC,WAAW,OAAK,SAAS,CAAC,WAAW,YAAG,WAAW,GAAe,EACnE,KAAC,SAAS,OAAK,cAAc,GAAI,EAChC,OAAO,IAAI,CACV,KAAC,UAAU,OAAK,SAAS,CAAC,KAAK,YAC5B,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,GACrB,CACd,IACG,IACF,CACP,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/ui/Field/common/Wrapper/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
@@ -0,0 +1,42 @@
|
|
1
|
+
import { useEffect, useMemo } from "react";
|
2
|
+
import { useFormContext } from "react-hook-form";
|
3
|
+
import { useFieldAriaProperties, useFieldError } from "../../../hooks/index.js";
|
4
|
+
import messages from "../messages.js";
|
5
|
+
/**
|
6
|
+
* Hook to provide field wrapper utilities
|
7
|
+
* @param name - The name of the field
|
8
|
+
* @param options - Additional options
|
9
|
+
*/
|
10
|
+
const useFieldWrapper = (name, options = {}) => {
|
11
|
+
const { label, isOptional = false, userRegisterProps = {}, nestedRegisterProps = {}, unregisterOnUnmount = true, } = options;
|
12
|
+
const fieldError = useFieldError(name);
|
13
|
+
const isError = !!fieldError;
|
14
|
+
const ariaProps = useFieldAriaProperties(name, isError);
|
15
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: Comparing the `name` suffices
|
16
|
+
const registerProps = useMemo(() => {
|
17
|
+
const props = {};
|
18
|
+
// We take advantage of the declaration of optionality to map to the required prop
|
19
|
+
if (!isOptional) {
|
20
|
+
props.required = {
|
21
|
+
value: true,
|
22
|
+
message: messages.required(label || name),
|
23
|
+
};
|
24
|
+
}
|
25
|
+
return {
|
26
|
+
...nestedRegisterProps,
|
27
|
+
...props,
|
28
|
+
...userRegisterProps,
|
29
|
+
};
|
30
|
+
}, [name]);
|
31
|
+
const { unregister } = useFormContext();
|
32
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: Comparing the `name` suffices
|
33
|
+
useEffect(() => () => (unregisterOnUnmount ? unregister(name) : undefined), [name]);
|
34
|
+
return {
|
35
|
+
fieldError,
|
36
|
+
isError,
|
37
|
+
ariaProps,
|
38
|
+
registerProps,
|
39
|
+
};
|
40
|
+
};
|
41
|
+
export default useFieldWrapper;
|
42
|
+
//# sourceMappingURL=useFieldWrapper.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useFieldWrapper.js","sourceRoot":"","sources":["../../../../../../../src/ui/Field/common/Wrapper/hooks/useFieldWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAwB,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEvE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAChF,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAUtC;;;;GAIG;AACH,MAAM,eAAe,GAAG,CACtB,IAAY,EACZ,UAAkC,EAAE,EACpC,EAAE;IACF,MAAM,EACJ,KAAK,EACL,UAAU,GAAG,KAAK,EAClB,iBAAiB,GAAG,EAAE,EACtB,mBAAmB,GAAG,EAAE,EACxB,mBAAmB,GAAG,IAAI,GAC3B,GAAG,OAAO,CAAC;IAEZ,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC;IAE7B,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAExD,yFAAyF;IACzF,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QACjC,MAAM,KAAK,GAAoB,EAAE,CAAC;QAClC,kFAAkF;QAClF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,KAAK,CAAC,QAAQ,GAAG;gBACf,KAAK,EAAE,IAAI;gBACX,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;aAC1C,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,mBAAmB;YACtB,GAAG,KAAK;YACR,GAAG,iBAAiB;SACrB,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,MAAM,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;IAExC,yFAAyF;IACzF,SAAS,CACP,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAChE,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,OAAO;QACL,UAAU;QACV,OAAO;QACP,SAAS;QACT,aAAa;KACd,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,eAAe,CAAC"}
|
@@ -1,4 +1,6 @@
|
|
1
1
|
/* @canonical/generator-ds 0.9.0-experimental.4 */
|
2
2
|
export { default as Wrapper } from "./Wrapper.js";
|
3
|
+
export { default as InvisibleWrapper } from "./InvisibleWrapper.js";
|
4
|
+
export { default as withWrapper } from "./withWrapper.js";
|
3
5
|
export * from "./types.js";
|
4
6
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,cAAc,YAAY,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/index.ts"],"names":[],"mappings":"AAAA,kDAAkD;AAClD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1D,cAAc,YAAY,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/messages.ts"],"names":[],"mappings":"AAAA,eAAe;IACb,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,GAAG,IAAI,cAAc;CAClD,CAAC"}
|
@@ -1,7 +1,15 @@
|
|
1
1
|
/* @canonical/generator-ds 0.9.0-experimental.4 */
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
.ds.form-wrapper {
|
4
|
+
display: grid;
|
5
|
+
grid-template-columns: subgrid;
|
6
|
+
grid-column: var(--wrapper-columns, 1 / -1);
|
5
7
|
|
8
|
+
.ds.form-label {
|
9
|
+
grid-column: var(--form-label-columns, 1 / -1);
|
10
|
+
}
|
11
|
+
|
12
|
+
> .payload {
|
13
|
+
grid-column: var(--form-payload-columns, 1 / -1);
|
14
|
+
}
|
6
15
|
}
|
7
|
-
*/
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import React from "react";
|
2
|
+
import { useFormContext } from "react-hook-form";
|
3
|
+
// TODO improve typing of P
|
4
|
+
const withConditionalDisplay = (WrappedComponent) => {
|
5
|
+
const ConditionalComponent = (props) => {
|
6
|
+
const { condition, ...otherProps } = props;
|
7
|
+
if (!condition)
|
8
|
+
return React.createElement(WrappedComponent, props);
|
9
|
+
const [dependencies, conditionFunction] = condition;
|
10
|
+
const { watch } = useFormContext();
|
11
|
+
const depValues = watch(dependencies);
|
12
|
+
const shouldRender = conditionFunction(depValues);
|
13
|
+
if (!shouldRender)
|
14
|
+
return null;
|
15
|
+
return React.createElement(WrappedComponent, otherProps);
|
16
|
+
};
|
17
|
+
return ConditionalComponent;
|
18
|
+
};
|
19
|
+
export default withConditionalDisplay;
|
20
|
+
//# sourceMappingURL=withConditionalDisplay.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"withConditionalDisplay.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/withConditionalDisplay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,2BAA2B;AAC3B,MAAM,sBAAsB,GAAG,CAC7B,gBAAqD,EACrD,EAAE;IACF,MAAM,oBAAoB,GAAG,CAC3B,KAAoD,EACpD,EAAE;QACF,MAAM,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,KAAK,CAAC;QAC3C,IAAI,CAAC,SAAS;YACZ,OAAO,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,KAAuB,CAAC,CAAC;QACxE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,SAAS,CAAC;QAEpD,MAAM,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClD,IAAI,CAAC,YAAY;YAAE,OAAO,IAAI,CAAC;QAC/B,OAAO,KAAK,CAAC,aAAa,CAAC,gBAAgB,EAAE,UAA4B,CAAC,CAAC;IAC7E,CAAC,CAAC;IACF,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAEF,eAAe,sBAAsB,CAAC"}
|
@@ -1,2 +1,29 @@
|
|
1
|
-
|
1
|
+
import * as React from "react";
|
2
|
+
import { useMemo } from "react";
|
3
|
+
import DefaultWrapper from "./Wrapper.js";
|
4
|
+
import withConditionalDisplay from "./withConditionalDisplay.js";
|
5
|
+
const withWrapper = (Component, options, Wrapper = DefaultWrapper) => {
|
6
|
+
const MemoizedComponent = React.memo(Component);
|
7
|
+
function WrappedComponent({ middleware = [], WrapperComponent = Wrapper, ...props }) {
|
8
|
+
// We apply the middleware to the component in reverse orderso
|
9
|
+
// so that the first middleware in the array is the first to be applied to the component
|
10
|
+
const ExtendedComponent = useMemo(() =>
|
11
|
+
// The middleware happens between the Wrapper and the Component,
|
12
|
+
// hence the return type of P
|
13
|
+
middleware
|
14
|
+
.reverse()
|
15
|
+
.reduce((AccumulatedComponent, hoc) => hoc(AccumulatedComponent), MemoizedComponent), [middleware]);
|
16
|
+
// Type casting to avoid hard to read overloads.
|
17
|
+
const finalProps = {
|
18
|
+
// Component: MemoizedComponent,
|
19
|
+
Component: ExtendedComponent,
|
20
|
+
...props,
|
21
|
+
...options,
|
22
|
+
};
|
23
|
+
// } as WrapperProps<ComponentProps>; // The typing should be ComponentWrapperProps, but it would require an overload
|
24
|
+
return React.createElement(WrapperComponent, finalProps);
|
25
|
+
}
|
26
|
+
return withConditionalDisplay(WrappedComponent);
|
27
|
+
};
|
28
|
+
export default withWrapper;
|
2
29
|
//# sourceMappingURL=withWrapper.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withWrapper.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/withWrapper.ts"],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"withWrapper.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/common/Wrapper/withWrapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAQhC,OAAO,cAAc,MAAM,cAAc,CAAC;AAC1C,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAOjE,MAAM,WAAW,GAAG,CAKlB,SAA8C,EAC9C,OAAwC,EACxC,UAA6D,cAAc,EAG3E,EAAE;IACF,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAEhD,SAAS,gBAAgB,CAAC,EACxB,UAAU,GAAG,EAAE,EACf,gBAAgB,GAAG,OAAO,EAC1B,GAAG,KAAK,EACsC;QAC9C,8DAA8D;QAC9D,wFAAwF;QAExF,MAAM,iBAAiB,GAAG,OAAO,CAC/B,GAAG,EAAE;QACH,gEAAgE;QAChE,6BAA6B;QAC7B,UAAU;aACP,OAAO,EAAE;aACT,MAAM,CACL,CAAC,oBAAoB,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,oBAAoB,CAAC,EACxD,iBAAiB,CAClB,EACL,CAAC,UAAU,CAAC,CACb,CAAC;QAEF,gDAAgD;QAChD,MAAM,UAAU,GAAG;YACjB,gCAAgC;YAChC,SAAS,EAAE,iBAAiB;YAC5B,GAAG,KAAK;YACR,GAAG,OAAO;SACX,CAAC;QACF,qHAAqH;QAErH,OAAO,KAAK,CAAC,aAAa,CACxB,gBAAgB,EAChB,UAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,OAAO,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/Field/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AAEjC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/Field/common/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AAEjC,cAAc,wBAAwB,CAAC;AAEvC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,kBAAkB,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../src/ui/Field/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC"}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/ui/Field/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAChF,OAAO,EAAE,OAAO,IAAI,uBAAuB,EAAE,MAAM,8BAA8B,CAAC"}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { useId, useMemo } from "react";
|
2
|
+
/**
|
3
|
+
* Generates common ARIA properties for form field elements including input, label, description, and error state.
|
4
|
+
* @param {string} name - The name of the field.
|
5
|
+
* @param {boolean} isError - Indicates if the field is in an error state.
|
6
|
+
* @returns An object containing ARIA attributes for input, label, description, and error state.
|
7
|
+
*/
|
8
|
+
const useFieldAriaProps = (name, isError) => {
|
9
|
+
const uniqueId = useId();
|
10
|
+
const props = useMemo(() => {
|
11
|
+
const baseId = `${uniqueId}-${name}`;
|
12
|
+
const labelId = `${baseId}-label`;
|
13
|
+
const descriptionId = `${baseId}-description`;
|
14
|
+
const errorId = `${baseId}-error`;
|
15
|
+
return {
|
16
|
+
input: {
|
17
|
+
id: baseId,
|
18
|
+
"aria-labelledby": labelId,
|
19
|
+
"aria-describedby": `${descriptionId}${isError}` ? ` ${labelId}` : "",
|
20
|
+
"aria-errormessage": isError ? errorId : undefined,
|
21
|
+
"aria-invalid": isError,
|
22
|
+
},
|
23
|
+
label: {
|
24
|
+
id: labelId,
|
25
|
+
htmlFor: baseId,
|
26
|
+
},
|
27
|
+
description: { id: descriptionId },
|
28
|
+
error: {
|
29
|
+
id: errorId,
|
30
|
+
// role: "alert",
|
31
|
+
},
|
32
|
+
};
|
33
|
+
}, [name, isError, uniqueId]);
|
34
|
+
return props;
|
35
|
+
};
|
36
|
+
export default useFieldAriaProps;
|
37
|
+
//# sourceMappingURL=useFieldAriaProperties.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useFieldAriaProperties.js","sourceRoot":"","sources":["../../../../../src/ui/Field/hooks/useFieldAriaProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;GAKG;AACH,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAE,EAAE;IAC3D,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,MAAM,QAAQ,CAAC;QAClC,MAAM,aAAa,GAAG,GAAG,MAAM,cAAc,CAAC;QAC9C,MAAM,OAAO,GAAG,GAAG,MAAM,QAAQ,CAAC;QAElC,OAAO;YACL,KAAK,EAAE;gBACL,EAAE,EAAE,MAAM;gBACV,iBAAiB,EAAE,OAAO;gBAC1B,kBAAkB,EAAE,GAAG,aAAa,GAAG,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE;gBACrE,mBAAmB,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;gBAClD,cAAc,EAAE,OAAO;aACxB;YACD,KAAK,EAAE;gBACL,EAAE,EAAE,OAAO;gBACX,OAAO,EAAE,MAAM;aAChB;YACD,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE;YAClC,KAAK,EAAE;gBACL,EAAE,EAAE,OAAO;gBACX,iBAAiB;aAClB;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { useMemo } from "react";
|
2
|
+
import { useFormState, } from "react-hook-form";
|
3
|
+
function useFieldError(name) {
|
4
|
+
const { errors } = useFormState({ name });
|
5
|
+
const fieldTree = name.split(".");
|
6
|
+
// biome-ignore lint/correctness/useExhaustiveDependencies: using a proxy
|
7
|
+
const fieldError = useMemo(() =>
|
8
|
+
// @ts-ignore TODO
|
9
|
+
fieldTree.reduce((acc, key) => {
|
10
|
+
if (acc) {
|
11
|
+
return acc[key];
|
12
|
+
}
|
13
|
+
return undefined;
|
14
|
+
}, errors), [
|
15
|
+
name, //proxy for errors
|
16
|
+
// Below, those dependencies are lazily referenced, hence the need to explicitly evaluate them
|
17
|
+
// We assume that three levels of nesting is enough for most use cases
|
18
|
+
// @ts-ignore TODO
|
19
|
+
errors[fieldTree[0]],
|
20
|
+
// @ts-ignore TODO
|
21
|
+
errors[fieldTree[0]]?.[fieldTree[1]],
|
22
|
+
// @ts-ignore TODO
|
23
|
+
errors[fieldTree[0]]?.[fieldTree[1]]?.[fieldTree[2]],
|
24
|
+
]);
|
25
|
+
return fieldError;
|
26
|
+
}
|
27
|
+
export default useFieldError;
|
28
|
+
//# sourceMappingURL=useFieldError.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useFieldError.js","sourceRoot":"","sources":["../../../../../src/ui/Field/hooks/useFieldError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAML,YAAY,GACb,MAAM,iBAAiB,CAAC;AAEzB,SAAS,aAAa,CACpB,IAAY;IAIZ,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC,EAAE,IAAI,EAAE,CAAkC,CAAC;IAE3E,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,yEAAyE;IACzE,MAAM,UAAU,GAAG,OAAO,CACxB,GAA2B,EAAE;IAC3B,kBAAkB;IAClB,SAAS,CAAC,MAAM,CAAY,CAAC,GAA8B,EAAE,GAAG,EAAE,EAAE;QAClE,IAAI,GAAG,EAAE,CAAC;YACR,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,EAAE,MAAM,CAAC,EACZ;QACE,IAAI,EAAE,kBAAkB;QACxB,8FAA8F;QAC9F,sEAAsE;QACtE,kBAAkB;QAClB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpB,kBAAkB;QAClB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACpC,kBAAkB;QAClB,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;KACrD,CACF,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,eAAe,aAAa,CAAC"}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
import { useId, useMemo } from "react";
|
2
|
+
/**
|
3
|
+
* Generates ARIA properties for a specific option in a field.
|
4
|
+
* @param {string} name - The base name of the input field.
|
5
|
+
* @param {string} optionValue - The value of the specific option.
|
6
|
+
* @returns An object containing ARIA attributes for the option.
|
7
|
+
*/
|
8
|
+
const useOptionAriaProps = (name, optionValue) => {
|
9
|
+
const uniqueId = useId();
|
10
|
+
const props = useMemo(() => {
|
11
|
+
const baseId = `${uniqueId}-${name}`;
|
12
|
+
const descriptionId = `${baseId}-description`;
|
13
|
+
const optionBaseId = `${baseId}-${optionValue}`;
|
14
|
+
const optionLabelId = `${optionBaseId}-label`;
|
15
|
+
return {
|
16
|
+
input: {
|
17
|
+
id: optionBaseId,
|
18
|
+
"aria-labelledby": optionLabelId,
|
19
|
+
"aria-describedby": descriptionId,
|
20
|
+
},
|
21
|
+
label: {
|
22
|
+
id: optionLabelId,
|
23
|
+
htmlFor: optionBaseId,
|
24
|
+
},
|
25
|
+
};
|
26
|
+
}, [name, optionValue, uniqueId]);
|
27
|
+
return props;
|
28
|
+
};
|
29
|
+
export default useOptionAriaProps;
|
30
|
+
//# sourceMappingURL=useOptionAriaProperties.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useOptionAriaProperties.js","sourceRoot":"","sources":["../../../../../src/ui/Field/hooks/useOptionAriaProperties.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAGvC;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;IACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,MAAM,MAAM,GAAG,GAAG,QAAQ,IAAI,IAAI,EAAE,CAAC;QACrC,MAAM,aAAa,GAAG,GAAG,MAAM,cAAc,CAAC;QAE9C,MAAM,YAAY,GAAG,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,GAAG,YAAY,QAAQ,CAAC;QAE9C,OAAO;YACL,KAAK,EAAE;gBACL,EAAE,EAAE,YAAY;gBAChB,iBAAiB,EAAE,aAAa;gBAChC,kBAAkB,EAAE,aAAa;aAClC;YACD,KAAK,EAAE;gBACL,EAAE,EAAE,aAAa;gBACjB,OAAO,EAAE,YAAY;aACtB;SACF,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;IAClC,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
@@ -1,14 +1,17 @@
|
|
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 withWrapper from "../../common/Wrapper/withWrapper.js";
|
5
|
+
const componentCssClassName = "ds form-checkbox";
|
5
6
|
/**
|
6
7
|
* description of the Checkbox component
|
7
8
|
* @returns {React.ReactElement} - Rendered Checkbox
|
8
9
|
*/
|
9
|
-
const Checkbox = ({ id, className, style, name, registerProps,
|
10
|
+
const Checkbox = ({ id, className, style, name, registerProps, ...otherProps // Should only be native input props
|
11
|
+
}) => {
|
10
12
|
const { register } = useFormContext();
|
11
|
-
return (_jsx("input", { id: id, style: style, type: "checkbox", className: [componentCssClassName, className].filter(Boolean).join(" "), ...register(name, registerProps) }));
|
13
|
+
return (_jsx("input", { id: id, style: style, type: "checkbox", className: [componentCssClassName, className].filter(Boolean).join(" "), ...otherProps, ...register(name, registerProps) }));
|
12
14
|
};
|
13
|
-
export default Checkbox;
|
15
|
+
// export default Checkbox;
|
16
|
+
export default withWrapper(Checkbox);
|
14
17
|
//# sourceMappingURL=Checkbox.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"Checkbox.js","sourceRoot":"","sources":["../../../../../../src/ui/Field/inputs/Checkbox/Checkbox.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,cAAc,CAAC;AACtB,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,gBACE,EAAE,EAAE,EAAE,EACN,KAAK,EAAE,KAAK,EACZ,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KACnE,UAAU,KACV,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC,GACjC,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,2BAA2B;AAC3B,eAAe,WAAW,CAAC,QAAQ,CAAC,CAAC"}
|