@1money/react-ui 1.15.3 → 1.17.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/AGENTS.md +393 -0
- package/es/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/es/components/CheckboxGroup/CheckboxGroup.js +94 -91
- package/es/components/CheckboxGroup/interface.d.ts +21 -15
- package/es/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/es/components/Flex/Flex.d.ts +5 -0
- package/es/components/Flex/Flex.js +50 -0
- package/es/components/Flex/constants.d.ts +41 -0
- package/es/components/Flex/constants.js +45 -0
- package/es/components/Flex/index.d.ts +5 -0
- package/es/components/Flex/index.js +6 -0
- package/es/components/Flex/interface.d.ts +13 -0
- package/es/components/Flex/interface.js +2 -0
- package/es/components/Flex/style/Flex.css +1 -0
- package/es/components/Flex/style/Flex.scss +70 -0
- package/es/components/Flex/style/css.js +2 -0
- package/es/components/Flex/style/index.d.ts +1 -0
- package/es/components/Flex/style/index.js +2 -0
- package/es/components/Form/Form.d.ts +29 -0
- package/es/components/Form/Form.js +188 -0
- package/es/components/Form/FormItem.d.ts +4 -0
- package/es/components/Form/FormItem.js +165 -0
- package/es/components/Form/FormItemContent.d.ts +18 -0
- package/es/components/Form/FormItemContent.js +146 -0
- package/es/components/Form/constants.d.ts +46 -0
- package/es/components/Form/constants.js +65 -0
- package/es/components/Form/helper.d.ts +120 -0
- package/es/components/Form/helper.js +284 -0
- package/es/components/Form/index.d.ts +20 -0
- package/es/components/Form/index.js +21 -0
- package/es/components/Form/interface.d.ts +238 -0
- package/es/components/Form/interface.js +2 -0
- package/es/components/Form/style/Form.css +1 -0
- package/es/components/Form/style/Form.scss +167 -0
- package/es/components/Form/style/css.js +2 -0
- package/es/components/Form/style/index.d.ts +1 -0
- package/es/components/Form/style/index.js +2 -0
- package/es/components/Form/useFormItemContext.d.ts +32 -0
- package/es/components/Form/useFormItemContext.js +55 -0
- package/es/components/Form/useFormItemWatch.d.ts +51 -0
- package/es/components/Form/useFormItemWatch.js +69 -0
- package/es/components/Form/useValidationTrigger.d.ts +40 -0
- package/es/components/Form/useValidationTrigger.js +74 -0
- package/es/components/Grid/Col.d.ts +5 -0
- package/es/components/Grid/Col.js +97 -0
- package/es/components/Grid/Grid.d.ts +12 -0
- package/es/components/Grid/Grid.js +12 -0
- package/es/components/Grid/Row.d.ts +5 -0
- package/es/components/Grid/Row.js +48 -0
- package/es/components/Grid/constants.d.ts +55 -0
- package/es/components/Grid/constants.js +66 -0
- package/es/components/Grid/helper.d.ts +10 -0
- package/es/components/Grid/helper.js +44 -0
- package/es/components/Grid/index.d.ts +7 -0
- package/es/components/Grid/index.js +8 -0
- package/es/components/Grid/interface.d.ts +38 -0
- package/es/components/Grid/interface.js +2 -0
- package/es/components/Grid/style/Grid.css +1 -0
- package/es/components/Grid/style/Grid.scss +196 -0
- package/es/components/Grid/style/css.js +2 -0
- package/es/components/Grid/style/index.d.ts +1 -0
- package/es/components/Grid/style/index.js +2 -0
- package/es/components/Input/Input.js +72 -74
- package/es/components/Input/interface.d.ts +9 -9
- package/es/components/InputAmount/InputAmount.js +228 -276
- package/es/components/InputAmount/helper.d.ts +46 -0
- package/es/components/InputAmount/helper.js +115 -0
- package/es/components/InputAmount/style/normal.css +1 -1
- package/es/components/InputAmount/style/normal.scss +2 -2
- package/es/components/InputAmount/style/primary.css +1 -1
- package/es/components/InputAmount/style/primary.scss +2 -2
- package/es/components/Message/style/Message.css +1 -1
- package/es/components/Message/style/Message.scss +3 -3
- package/es/components/ProForm/ProForm.d.ts +33 -0
- package/es/components/ProForm/ProForm.js +208 -0
- package/es/components/ProForm/ProFormDependency.d.ts +12 -0
- package/es/components/ProForm/ProFormDependency.js +61 -0
- package/es/components/ProForm/ProFormList.d.ts +19 -0
- package/es/components/ProForm/ProFormList.js +348 -0
- package/es/components/ProForm/Submitter.d.ts +21 -0
- package/es/components/ProForm/Submitter.js +76 -0
- package/es/components/ProForm/constants.d.ts +34 -0
- package/es/components/ProForm/constants.js +40 -0
- package/es/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckbox.js +11 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormCheckboxGroup.js +46 -0
- package/es/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormDigit.js +15 -0
- package/es/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMoney.js +10 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormMultiSelect.js +27 -0
- package/es/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormPassword.js +16 -0
- package/es/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormRadio.js +13 -0
- package/es/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSelect.js +13 -0
- package/es/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormSwitch.js +11 -0
- package/es/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormText.js +15 -0
- package/es/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/es/components/ProForm/fields/ProFormTextArea.js +16 -0
- package/es/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/es/components/ProForm/fields/createProFormField.js +200 -0
- package/es/components/ProForm/fields/index.d.ts +12 -0
- package/es/components/ProForm/fields/index.js +13 -0
- package/es/components/ProForm/index.d.ts +7 -0
- package/es/components/ProForm/index.js +7 -0
- package/es/components/ProForm/interface.d.ts +306 -0
- package/es/components/ProForm/interface.js +2 -0
- package/es/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/es/components/ProForm/layouts/DrawerForm.js +79 -0
- package/es/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/es/components/ProForm/layouts/ModalForm.js +89 -0
- package/es/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/es/components/ProForm/layouts/QueryFilter.js +132 -0
- package/es/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/es/components/ProForm/layouts/StepsForm.js +295 -0
- package/es/components/ProForm/layouts/index.d.ts +4 -0
- package/es/components/ProForm/layouts/index.js +5 -0
- package/es/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/es/components/ProForm/layouts/useOverlayForm.js +143 -0
- package/es/components/ProForm/style/ProForm.module.css +1 -0
- package/es/components/ProForm/style/ProForm.module.scss +59 -0
- package/es/components/ProForm/style/css.js +3 -0
- package/es/components/ProForm/style/index.d.ts +1 -0
- package/es/components/ProForm/style/index.js +3 -0
- package/es/components/ProForm/utils.d.ts +72 -0
- package/es/components/ProForm/utils.js +206 -0
- package/es/components/RadioGroup/RadioGroup.js +46 -23
- package/es/components/RadioGroup/interface.d.ts +3 -1
- package/es/components/Select/Select.d.ts +1 -1
- package/es/components/Select/Select.js +113 -106
- package/es/components/Select/constants.d.ts +18 -0
- package/es/components/Select/constants.js +19 -0
- package/es/components/Sidebar/Sidebar.js +21 -23
- package/es/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/es/components/Sidebar/SidebarLogo.js +33 -0
- package/es/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/es/components/Sidebar/SimplySidebar.js +18 -22
- package/es/components/Sidebar/Stepper.js +14 -14
- package/es/components/Sidebar/constants.d.ts +16 -0
- package/es/components/Sidebar/constants.js +17 -0
- package/es/components/Sidebar/style/Sidebar.css +1 -1
- package/es/components/Sidebar/style/Sidebar.scss +1 -1
- package/es/components/Sidebar/style/SimplySidebar.css +1 -1
- package/es/components/Sidebar/style/SimplySidebar.scss +1 -1
- package/es/components/Sidebar/style/Stepper.css +1 -1
- package/es/components/Sidebar/style/Stepper.scss +11 -1
- package/es/components/Space/Space.d.ts +5 -0
- package/es/components/Space/Space.js +71 -0
- package/es/components/Space/constants.d.ts +33 -0
- package/es/components/Space/constants.js +37 -0
- package/es/components/Space/index.d.ts +5 -0
- package/es/components/Space/index.js +6 -0
- package/es/components/Space/interface.d.ts +12 -0
- package/es/components/Space/interface.js +2 -0
- package/es/components/Space/style/Space.css +1 -0
- package/es/components/Space/style/Space.scss +40 -0
- package/es/components/Space/style/css.js +2 -0
- package/es/components/Space/style/index.d.ts +1 -0
- package/es/components/Space/style/index.js +2 -0
- package/es/components/Switch/Switch.js +28 -25
- package/es/components/Switch/interface.d.ts +9 -4
- package/es/components/useControlledState/index.d.ts +14 -0
- package/es/components/useControlledState/index.js +32 -0
- package/es/components/useEventCallback/index.d.ts +11 -0
- package/es/components/useEventCallback/index.js +17 -0
- package/es/components/useLayoutEffect/index.d.ts +11 -0
- package/es/components/useLayoutEffect/index.js +17 -0
- package/es/components/useLayoutState/index.d.ts +13 -0
- package/es/components/useLayoutState/index.js +71 -0
- package/es/components/useMemoizedFn/index.d.ts +12 -0
- package/es/components/useMemoizedFn/index.js +27 -0
- package/es/components/usePrevious/index.d.ts +11 -0
- package/es/components/usePrevious/index.js +19 -0
- package/es/components/useSafeState/index.d.ts +12 -0
- package/es/components/useSafeState/index.js +24 -0
- package/es/components/useSyncState/index.d.ts +14 -0
- package/es/components/useSyncState/index.js +37 -0
- package/es/components/useUpdateEffect/index.d.ts +9 -0
- package/es/components/useUpdateEffect/index.js +19 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +32 -2
- package/es/index.js +30 -1
- package/jest.setup.d.ts +1 -0
- package/jest.setup.ts +1 -0
- package/lib/components/CheckboxGroup/CheckboxGroup.d.ts +3 -3
- package/lib/components/CheckboxGroup/CheckboxGroup.js +92 -89
- package/lib/components/CheckboxGroup/interface.d.ts +21 -15
- package/lib/components/CheckboxGroup/style/CheckboxGroup.scss +0 -7
- package/lib/components/Flex/Flex.d.ts +5 -0
- package/lib/components/Flex/Flex.js +60 -0
- package/lib/components/Flex/constants.d.ts +41 -0
- package/lib/components/Flex/constants.js +51 -0
- package/lib/components/Flex/index.d.ts +5 -0
- package/lib/components/Flex/index.js +60 -0
- package/lib/components/Flex/interface.d.ts +13 -0
- package/lib/components/Flex/interface.js +6 -0
- package/lib/components/Flex/style/Flex.css +1 -0
- package/lib/components/Flex/style/Flex.scss +70 -0
- package/lib/components/Flex/style/css.js +4 -0
- package/lib/components/Flex/style/index.d.ts +1 -0
- package/lib/components/Flex/style/index.js +4 -0
- package/lib/components/Form/Form.d.ts +29 -0
- package/lib/components/Form/Form.js +199 -0
- package/lib/components/Form/FormItem.d.ts +4 -0
- package/lib/components/Form/FormItem.js +176 -0
- package/lib/components/Form/FormItemContent.d.ts +18 -0
- package/lib/components/Form/FormItemContent.js +156 -0
- package/lib/components/Form/constants.d.ts +46 -0
- package/lib/components/Form/constants.js +71 -0
- package/lib/components/Form/helper.d.ts +120 -0
- package/lib/components/Form/helper.js +290 -0
- package/lib/components/Form/index.d.ts +20 -0
- package/lib/components/Form/index.js +45 -0
- package/lib/components/Form/interface.d.ts +238 -0
- package/lib/components/Form/interface.js +6 -0
- package/lib/components/Form/style/Form.css +1 -0
- package/lib/components/Form/style/Form.scss +167 -0
- package/lib/components/Form/style/css.js +4 -0
- package/lib/components/Form/style/index.d.ts +1 -0
- package/lib/components/Form/style/index.js +4 -0
- package/lib/components/Form/useFormItemContext.d.ts +32 -0
- package/lib/components/Form/useFormItemContext.js +62 -0
- package/lib/components/Form/useFormItemWatch.d.ts +51 -0
- package/lib/components/Form/useFormItemWatch.js +76 -0
- package/lib/components/Form/useValidationTrigger.d.ts +40 -0
- package/lib/components/Form/useValidationTrigger.js +81 -0
- package/lib/components/Grid/Col.d.ts +5 -0
- package/lib/components/Grid/Col.js +107 -0
- package/lib/components/Grid/Grid.d.ts +12 -0
- package/lib/components/Grid/Grid.js +18 -0
- package/lib/components/Grid/Row.d.ts +5 -0
- package/lib/components/Grid/Row.js +58 -0
- package/lib/components/Grid/constants.d.ts +55 -0
- package/lib/components/Grid/constants.js +72 -0
- package/lib/components/Grid/helper.d.ts +10 -0
- package/lib/components/Grid/helper.js +51 -0
- package/lib/components/Grid/index.d.ts +7 -0
- package/lib/components/Grid/index.js +62 -0
- package/lib/components/Grid/interface.d.ts +38 -0
- package/lib/components/Grid/interface.js +6 -0
- package/lib/components/Grid/style/Grid.css +1 -0
- package/lib/components/Grid/style/Grid.scss +196 -0
- package/lib/components/Grid/style/css.js +4 -0
- package/lib/components/Grid/style/index.d.ts +1 -0
- package/lib/components/Grid/style/index.js +4 -0
- package/lib/components/Input/Input.js +71 -73
- package/lib/components/Input/interface.d.ts +9 -9
- package/lib/components/InputAmount/InputAmount.js +230 -278
- package/lib/components/InputAmount/helper.d.ts +46 -0
- package/lib/components/InputAmount/helper.js +122 -0
- package/lib/components/InputAmount/style/normal.css +1 -1
- package/lib/components/InputAmount/style/normal.scss +2 -2
- package/lib/components/InputAmount/style/primary.css +1 -1
- package/lib/components/InputAmount/style/primary.scss +2 -2
- package/lib/components/Message/style/Message.css +1 -1
- package/lib/components/Message/style/Message.scss +3 -3
- package/lib/components/ProForm/ProForm.d.ts +33 -0
- package/lib/components/ProForm/ProForm.js +216 -0
- package/lib/components/ProForm/ProFormDependency.d.ts +12 -0
- package/lib/components/ProForm/ProFormDependency.js +67 -0
- package/lib/components/ProForm/ProFormList.d.ts +19 -0
- package/lib/components/ProForm/ProFormList.js +355 -0
- package/lib/components/ProForm/Submitter.d.ts +21 -0
- package/lib/components/ProForm/Submitter.js +83 -0
- package/lib/components/ProForm/constants.d.ts +34 -0
- package/lib/components/ProForm/constants.js +46 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckbox.js +18 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormCheckboxGroup.js +53 -0
- package/lib/components/ProForm/fields/ProFormDigit.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormDigit.js +22 -0
- package/lib/components/ProForm/fields/ProFormMoney.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMoney.js +17 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormMultiSelect.js +34 -0
- package/lib/components/ProForm/fields/ProFormPassword.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormPassword.js +23 -0
- package/lib/components/ProForm/fields/ProFormRadio.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormRadio.js +20 -0
- package/lib/components/ProForm/fields/ProFormSelect.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSelect.js +20 -0
- package/lib/components/ProForm/fields/ProFormSwitch.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormSwitch.js +18 -0
- package/lib/components/ProForm/fields/ProFormText.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormText.js +22 -0
- package/lib/components/ProForm/fields/ProFormTextArea.d.ts +6 -0
- package/lib/components/ProForm/fields/ProFormTextArea.js +23 -0
- package/lib/components/ProForm/fields/createProFormField.d.ts +43 -0
- package/lib/components/ProForm/fields/createProFormField.js +208 -0
- package/lib/components/ProForm/fields/index.d.ts +12 -0
- package/lib/components/ProForm/fields/index.js +90 -0
- package/lib/components/ProForm/index.d.ts +7 -0
- package/lib/components/ProForm/index.js +73 -0
- package/lib/components/ProForm/interface.d.ts +306 -0
- package/lib/components/ProForm/interface.js +6 -0
- package/lib/components/ProForm/layouts/DrawerForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/DrawerForm.js +86 -0
- package/lib/components/ProForm/layouts/ModalForm.d.ts +16 -0
- package/lib/components/ProForm/layouts/ModalForm.js +96 -0
- package/lib/components/ProForm/layouts/QueryFilter.d.ts +21 -0
- package/lib/components/ProForm/layouts/QueryFilter.js +139 -0
- package/lib/components/ProForm/layouts/StepsForm.d.ts +13 -0
- package/lib/components/ProForm/layouts/StepsForm.js +302 -0
- package/lib/components/ProForm/layouts/index.d.ts +4 -0
- package/lib/components/ProForm/layouts/index.js +40 -0
- package/lib/components/ProForm/layouts/useOverlayForm.d.ts +53 -0
- package/lib/components/ProForm/layouts/useOverlayForm.js +150 -0
- package/lib/components/ProForm/style/ProForm.module.css +1 -0
- package/lib/components/ProForm/style/ProForm.module.scss +59 -0
- package/lib/components/ProForm/style/css.js +4 -0
- package/lib/components/ProForm/style/index.d.ts +1 -0
- package/lib/components/ProForm/style/index.js +4 -0
- package/lib/components/ProForm/utils.d.ts +72 -0
- package/lib/components/ProForm/utils.js +213 -0
- package/lib/components/RadioGroup/RadioGroup.js +45 -22
- package/lib/components/RadioGroup/interface.d.ts +3 -1
- package/lib/components/Select/Select.d.ts +1 -1
- package/lib/components/Select/Select.js +114 -107
- package/lib/components/Select/constants.d.ts +18 -0
- package/lib/components/Select/constants.js +25 -0
- package/lib/components/Sidebar/Sidebar.js +21 -23
- package/lib/components/Sidebar/SidebarLogo.d.ts +7 -0
- package/lib/components/Sidebar/SidebarLogo.js +39 -0
- package/lib/components/Sidebar/SimplySidebar.d.ts +2 -2
- package/lib/components/Sidebar/SimplySidebar.js +17 -21
- package/lib/components/Sidebar/Stepper.js +14 -14
- package/lib/components/Sidebar/constants.d.ts +16 -0
- package/lib/components/Sidebar/constants.js +23 -0
- package/lib/components/Sidebar/style/Sidebar.css +1 -1
- package/lib/components/Sidebar/style/Sidebar.scss +1 -1
- package/lib/components/Sidebar/style/SimplySidebar.css +1 -1
- package/lib/components/Sidebar/style/SimplySidebar.scss +1 -1
- package/lib/components/Sidebar/style/Stepper.css +1 -1
- package/lib/components/Sidebar/style/Stepper.scss +11 -1
- package/lib/components/Space/Space.d.ts +5 -0
- package/lib/components/Space/Space.js +81 -0
- package/lib/components/Space/constants.d.ts +33 -0
- package/lib/components/Space/constants.js +43 -0
- package/lib/components/Space/index.d.ts +5 -0
- package/lib/components/Space/index.js +53 -0
- package/lib/components/Space/interface.d.ts +12 -0
- package/lib/components/Space/interface.js +6 -0
- package/lib/components/Space/style/Space.css +1 -0
- package/lib/components/Space/style/Space.scss +40 -0
- package/lib/components/Space/style/css.js +4 -0
- package/lib/components/Space/style/index.d.ts +1 -0
- package/lib/components/Space/style/index.js +4 -0
- package/lib/components/Switch/Switch.js +27 -24
- package/lib/components/Switch/interface.d.ts +9 -4
- package/lib/components/useControlledState/index.d.ts +14 -0
- package/lib/components/useControlledState/index.js +39 -0
- package/lib/components/useEventCallback/index.d.ts +11 -0
- package/lib/components/useEventCallback/index.js +24 -0
- package/lib/components/useLayoutEffect/index.d.ts +11 -0
- package/lib/components/useLayoutEffect/index.js +23 -0
- package/lib/components/useLayoutState/index.d.ts +13 -0
- package/lib/components/useLayoutState/index.js +79 -0
- package/lib/components/useMemoizedFn/index.d.ts +12 -0
- package/lib/components/useMemoizedFn/index.js +33 -0
- package/lib/components/usePrevious/index.d.ts +11 -0
- package/lib/components/usePrevious/index.js +25 -0
- package/lib/components/useSafeState/index.d.ts +12 -0
- package/lib/components/useSafeState/index.js +31 -0
- package/lib/components/useSyncState/index.d.ts +14 -0
- package/lib/components/useSyncState/index.js +44 -0
- package/lib/components/useUpdateEffect/index.d.ts +9 -0
- package/lib/components/useUpdateEffect/index.js +25 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +32 -2
- package/lib/index.js +251 -1
- package/package.json +31 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FormItem = FormItem;
|
|
9
|
+
exports["default"] = void 0;
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
|
|
14
|
+
var _Typography = _interopRequireDefault(require("../Typography"));
|
|
15
|
+
var _Form = require("./Form");
|
|
16
|
+
var _constants = require("./constants");
|
|
17
|
+
var _helper = require("./helper");
|
|
18
|
+
var _FormItemContent = require("./FormItemContent");
|
|
19
|
+
var _useFormItemContext2 = require("./useFormItemContext");
|
|
20
|
+
var _useFormItemWatch2 = require("./useFormItemWatch");
|
|
21
|
+
var _useValidationTrigger2 = require("./useValidationTrigger");
|
|
22
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
23
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
24
|
+
/**
|
|
25
|
+
* Runtime type guard for render-prop children.
|
|
26
|
+
*/
|
|
27
|
+
var isRenderFnChild = function isRenderFnChild(child) {
|
|
28
|
+
return typeof child === 'function';
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Form field wrapper that bridges `react-hook-form`'s Controller with the Form
|
|
32
|
+
* layout system, validation status display, and configurable trigger behavior.
|
|
33
|
+
*
|
|
34
|
+
* When a `name` is provided, the field is registered with `react-hook-form` via
|
|
35
|
+
* a `Controller` and supports validation rules, dependencies, and status feedback.
|
|
36
|
+
* Without a `name`, it renders as a free wrapper for uncontrolled content.
|
|
37
|
+
*
|
|
38
|
+
* Supports two child patterns:
|
|
39
|
+
* - **React element**: automatically bound via `React.cloneElement` with value/onChange/onBlur.
|
|
40
|
+
* - **Render-prop function**: receives `{ field, fieldState, form, values }` for full control.
|
|
41
|
+
*
|
|
42
|
+
* @template TFieldValues - The shape of the form values.
|
|
43
|
+
* @param props - {@link FormItemProps}
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```tsx
|
|
47
|
+
* // Element child (auto-bound)
|
|
48
|
+
* <FormItem name="email" label="Email" rules={{ required: true }}>
|
|
49
|
+
* <Input placeholder="Enter email" />
|
|
50
|
+
* </FormItem>
|
|
51
|
+
*
|
|
52
|
+
* // Render-prop child
|
|
53
|
+
* <FormItem name="agree">
|
|
54
|
+
* {({ field }) => <Checkbox {...field} />}
|
|
55
|
+
* </FormItem>
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
function FormItemInner(props) {
|
|
59
|
+
var name = props.name,
|
|
60
|
+
label = props.label,
|
|
61
|
+
required = props.required,
|
|
62
|
+
rules = props.rules,
|
|
63
|
+
defaultValue = props.defaultValue,
|
|
64
|
+
help = props.help,
|
|
65
|
+
extra = props.extra,
|
|
66
|
+
validateStatus = props.validateStatus,
|
|
67
|
+
dependencies = props.dependencies,
|
|
68
|
+
watchNames = props.watchNames,
|
|
69
|
+
shouldUpdate = props.shouldUpdate,
|
|
70
|
+
validateTrigger = props.validateTrigger,
|
|
71
|
+
validateFirst = props.validateFirst,
|
|
72
|
+
validateDebounce = props.validateDebounce,
|
|
73
|
+
noStyle = props.noStyle,
|
|
74
|
+
_props$valuePropName = props.valuePropName,
|
|
75
|
+
valuePropName = _props$valuePropName === void 0 ? _constants.DEFAULT_VALUE_PROP : _props$valuePropName,
|
|
76
|
+
className = props.className,
|
|
77
|
+
labelCol = props.labelCol,
|
|
78
|
+
wrapperCol = props.wrapperCol,
|
|
79
|
+
children = props.children;
|
|
80
|
+
var classes = (0, _classnames["default"])('form-item');
|
|
81
|
+
var _useFormItemContext = (0, _useFormItemContext2.useFormItemContext)(name),
|
|
82
|
+
ctx = _useFormItemContext.ctx,
|
|
83
|
+
methods = _useFormItemContext.methods,
|
|
84
|
+
control = _useFormItemContext.control,
|
|
85
|
+
trigger = _useFormItemContext.trigger;
|
|
86
|
+
var _useFormItemWatch = (0, _useFormItemWatch2.useFormItemWatch)({
|
|
87
|
+
control: control,
|
|
88
|
+
methods: methods,
|
|
89
|
+
dependencies: dependencies,
|
|
90
|
+
watchNames: watchNames,
|
|
91
|
+
shouldUpdate: shouldUpdate,
|
|
92
|
+
name: name
|
|
93
|
+
}),
|
|
94
|
+
allValues = _useFormItemWatch.allValues,
|
|
95
|
+
depValues = _useFormItemWatch.depValues,
|
|
96
|
+
shouldRender = _useFormItemWatch.shouldRender;
|
|
97
|
+
var _useValidationTrigger = (0, _useValidationTrigger2.useValidationTrigger)({
|
|
98
|
+
name: name,
|
|
99
|
+
trigger: trigger,
|
|
100
|
+
validateTrigger: validateTrigger,
|
|
101
|
+
validateDebounce: validateDebounce,
|
|
102
|
+
dependencies: dependencies,
|
|
103
|
+
depValues: depValues
|
|
104
|
+
}),
|
|
105
|
+
withTrigger = _useValidationTrigger.withTrigger;
|
|
106
|
+
var renderFn = isRenderFnChild(children) ? children : null;
|
|
107
|
+
var isRequired = required !== null && required !== void 0 ? required : !!(rules === null || rules === void 0 ? void 0 : rules.required);
|
|
108
|
+
var showRequired = (ctx === null || ctx === void 0 ? void 0 : ctx.requiredMark) !== false;
|
|
109
|
+
var labelWidth = (0, _react.useMemo)(function () {
|
|
110
|
+
return (0, _helper.toPercent)(labelCol !== null && labelCol !== void 0 ? labelCol : ctx === null || ctx === void 0 ? void 0 : ctx.labelCol);
|
|
111
|
+
}, [labelCol, ctx === null || ctx === void 0 ? void 0 : ctx.labelCol]);
|
|
112
|
+
var wrapperWidth = (0, _react.useMemo)(function () {
|
|
113
|
+
return (0, _helper.toPercent)(wrapperCol !== null && wrapperCol !== void 0 ? wrapperCol : ctx === null || ctx === void 0 ? void 0 : ctx.wrapperCol);
|
|
114
|
+
}, [wrapperCol, ctx === null || ctx === void 0 ? void 0 : ctx.wrapperCol]);
|
|
115
|
+
var mergedRules = (0, _react.useMemo)(function () {
|
|
116
|
+
if (!(rules === null || rules === void 0 ? void 0 : rules.validate) || !validateFirst) return rules;
|
|
117
|
+
var validate = (0, _helper.wrapValidate)(rules.validate, validateFirst);
|
|
118
|
+
if (validate === rules.validate) return rules;
|
|
119
|
+
return Object.assign(Object.assign({}, rules), {
|
|
120
|
+
validate: validate
|
|
121
|
+
});
|
|
122
|
+
}, [rules, validateFirst]);
|
|
123
|
+
var contentProps = (0, _react.useMemo)(function () {
|
|
124
|
+
return {
|
|
125
|
+
name: name,
|
|
126
|
+
control: control,
|
|
127
|
+
methods: methods,
|
|
128
|
+
rules: mergedRules,
|
|
129
|
+
defaultValue: defaultValue,
|
|
130
|
+
validateStatus: validateStatus,
|
|
131
|
+
valuePropName: valuePropName,
|
|
132
|
+
help: help,
|
|
133
|
+
extra: extra,
|
|
134
|
+
ctx: ctx,
|
|
135
|
+
children: children,
|
|
136
|
+
renderFn: renderFn,
|
|
137
|
+
allValues: allValues,
|
|
138
|
+
shouldUpdate: shouldUpdate,
|
|
139
|
+
shouldRender: shouldRender,
|
|
140
|
+
withTrigger: withTrigger
|
|
141
|
+
};
|
|
142
|
+
}, [name, control, methods, mergedRules, defaultValue, validateStatus, valuePropName, help, extra, ctx, children, renderFn, allValues, shouldUpdate, shouldRender, withTrigger]);
|
|
143
|
+
if (noStyle) {
|
|
144
|
+
return (0, _jsxRuntime.jsx)(_FormItemContent.FormItemContent, Object.assign({}, contentProps));
|
|
145
|
+
}
|
|
146
|
+
var rootStyle = (0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, _constants.CSS_VAR_LABEL_WIDTH, labelWidth), _constants.CSS_VAR_WRAPPER_WIDTH, wrapperWidth);
|
|
147
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
148
|
+
className: classes('root', (0, _classnames.joinCls)(className, (ctx === null || ctx === void 0 ? void 0 : ctx.layout) && classes("layout-".concat(ctx.layout)))),
|
|
149
|
+
"data-form-item-name": name ? String(name) : undefined,
|
|
150
|
+
style: rootStyle,
|
|
151
|
+
children: [label && (0, _jsxRuntime.jsxs)("div", {
|
|
152
|
+
className: classes('label', (0, _classnames.joinCls)(showRequired && isRequired && classes('label-required'))),
|
|
153
|
+
children: [(0, _jsxRuntime.jsx)(_Typography["default"].Label, {
|
|
154
|
+
size: 's',
|
|
155
|
+
children: label
|
|
156
|
+
}), (ctx === null || ctx === void 0 ? void 0 : ctx.colon) && (0, _jsxRuntime.jsx)("span", {
|
|
157
|
+
className: classes('colon'),
|
|
158
|
+
children: ":"
|
|
159
|
+
})]
|
|
160
|
+
}), (0, _jsxRuntime.jsx)("div", {
|
|
161
|
+
className: classes('control'),
|
|
162
|
+
children: (0, _jsxRuntime.jsx)(_FormItemContent.FormItemContent, Object.assign({}, contentProps))
|
|
163
|
+
})]
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
function FormItem(props) {
|
|
167
|
+
var ctx = (0, _react.useContext)(_Form.FormContext);
|
|
168
|
+
if (ctx === null || ctx === void 0 ? void 0 : ctx.methods) {
|
|
169
|
+
return (0, _jsxRuntime.jsx)(FormItemInner, Object.assign({}, props));
|
|
170
|
+
}
|
|
171
|
+
return (0, _jsxRuntime.jsx)(_useFormItemContext2.FallbackFormProvider, {
|
|
172
|
+
children: (0, _jsxRuntime.jsx)(FormItemInner, Object.assign({}, props))
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
var _default = exports["default"] = FormItem;
|
|
176
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9Gb3JtSXRlbS5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9Gb3JtSXRlbS50c3giXSwibmFtZXMiOlsiX2pzeFJ1bnRpbWUiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2NsYXNzbmFtZXMiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsIl9UeXBvZ3JhcGh5IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Gb3JtIiwiX2NvbnN0YW50cyIsIl9oZWxwZXIiLCJfRm9ybUl0ZW1Db250ZW50IiwiX3VzZUZvcm1JdGVtQ29udGV4dDIiLCJfdXNlRm9ybUl0ZW1XYXRjaDIiLCJfdXNlVmFsaWRhdGlvblRyaWdnZXIyIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwiZSIsIldlYWtNYXAiLCJyIiwidCIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiaGFzIiwiZ2V0IiwibiIsIl9fcHJvdG9fXyIsImEiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpIiwic2V0IiwiaXNSZW5kZXJGbkNoaWxkIiwiY2hpbGQiLCJGb3JtSXRlbUlubmVyIiwicHJvcHMiLCJuYW1lIiwibGFiZWwiLCJyZXF1aXJlZCIsInJ1bGVzIiwiZGVmYXVsdFZhbHVlIiwiaGVscCIsImV4dHJhIiwidmFsaWRhdGVTdGF0dXMiLCJkZXBlbmRlbmNpZXMiLCJ3YXRjaE5hbWVzIiwic2hvdWxkVXBkYXRlIiwidmFsaWRhdGVUcmlnZ2VyIiwidmFsaWRhdGVGaXJzdCIsInZhbGlkYXRlRGVib3VuY2UiLCJub1N0eWxlIiwiX3Byb3BzJHZhbHVlUHJvcE5hbWUiLCJ2YWx1ZVByb3BOYW1lIiwiREVGQVVMVF9WQUxVRV9QUk9QIiwiY2xhc3NOYW1lIiwibGFiZWxDb2wiLCJ3cmFwcGVyQ29sIiwiY2hpbGRyZW4iLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsIl91c2VGb3JtSXRlbUNvbnRleHQiLCJ1c2VGb3JtSXRlbUNvbnRleHQiLCJjdHgiLCJtZXRob2RzIiwiY29udHJvbCIsInRyaWdnZXIiLCJfdXNlRm9ybUl0ZW1XYXRjaCIsInVzZUZvcm1JdGVtV2F0Y2giLCJhbGxWYWx1ZXMiLCJkZXBWYWx1ZXMiLCJzaG91bGRSZW5kZXIiLCJfdXNlVmFsaWRhdGlvblRyaWdnZXIiLCJ1c2VWYWxpZGF0aW9uVHJpZ2dlciIsIndpdGhUcmlnZ2VyIiwicmVuZGVyRm4iLCJpc1JlcXVpcmVkIiwic2hvd1JlcXVpcmVkIiwicmVxdWlyZWRNYXJrIiwibGFiZWxXaWR0aCIsInVzZU1lbW8iLCJ0b1BlcmNlbnQiLCJ3cmFwcGVyV2lkdGgiLCJtZXJnZWRSdWxlcyIsInZhbGlkYXRlIiwid3JhcFZhbGlkYXRlIiwiYXNzaWduIiwiY29udGVudFByb3BzIiwiX2pzeCIsIkZvcm1JdGVtQ29udGVudCIsInJvb3RTdHlsZSIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJDU1NfVkFSX0xBQkVMX1dJRFRIIiwiQ1NTX1ZBUl9XUkFQUEVSX1dJRFRIIiwiX2pzeHMiLCJqb2luQ2xzIiwibGF5b3V0IiwiY29uY2F0IiwiU3RyaW5nIiwidW5kZWZpbmVkIiwic3R5bGUiLCJUeXBvZ3JhcGh5IiwiTGFiZWwiLCJzaXplIiwiY29sb24iLCJGb3JtSXRlbSIsInVzZUNvbnRleHQiLCJGb3JtQ29udGV4dCIsIkZhbGxiYWNrRm9ybVByb3ZpZGVyIiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsV0FBQSxHQUFBQyxPQUFBO0FDQUEsSUFBQUMsTUFBQSxHQUFBRCxPQUFBO0FBQ0EsSUFBQUUsV0FBQSxHQUFBQyx1QkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQUksV0FBQSxHQUFBQyxzQkFBQSxDQUFBTCxPQUFBO0FBRUEsSUFBQU0sS0FBQSxHQUFBTixPQUFBO0FBQ0EsSUFBQU8sVUFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsT0FBQSxH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LEdBQUcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSEEsR0FBRyxDQUFFQyxPQUFPLEVBQUU7SUFDaEIsT0FBTyxJQUFBd0IsZUFBQSxFQUFDckQsYUFBYSxFQUFBVixNQUFBLENBQUE2RCxNQUFBLENBQUEsQ0FBQSxDQUFBLEVBQUtsRCxLQUFLLENBQUEsQ0FBSTtFQUNyQztFQUVBLE9BQ0UsSUFBQW9ELGVBQUEsRUFBQ29CLHlDQUFvQixFQUFBO0lBQUFsRCxRQUFBLEVBQ25CLElBQUE4QixlQUFBLEVBQUNyRCxhQUFhLEVBQUFWLE1BQUEsQ0FBQTZELE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFBS2xELEtBQUssQ0FBQTtFQUFJLENBQUEsQ0FDUDtBQUUzQjtBQUFDLElBQUF5RSxRQUFBLEdBQUFDLE9BQUEsY0FFY0wsUUFBUSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vRm9ybUl0ZW0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBqc3ggYXMgX2pzeCwganN4cyBhcyBfanN4cyB9IGZyb20gXCJyZWFjdC9qc3gtcnVudGltZVwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IFR5cG9ncmFwaHkgZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBGb3JtQ29udGV4dCB9IGZyb20gJy4vRm9ybSc7XG5pbXBvcnQgeyBDU1NfVkFSX0xBQkVMX1dJRFRILCBDU1NfVkFSX1dSQVBQRVJfV0lEVEgsIERFRkFVTFRfVkFMVUVfUFJPUCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IHRvUGVyY2VudCwgd3JhcFZhbGlkYXRlIH0gZnJvbSAnLi9oZWxwZXInO1xuaW1wb3J0IHsgRm9ybUl0ZW1Db250ZW50IH0gZnJvbSAnLi9Gb3JtSXRlbUNvbnRlbnQnO1xuaW1wb3J0IHsgRmFsbGJhY2tGb3JtUHJvdmlkZXIsIHVzZUZvcm1JdGVtQ29udGV4dCB9IGZyb20gJy4vdXNlRm9ybUl0ZW1Db250ZXh0JztcbmltcG9ydCB7IHVzZUZvcm1JdGVtV2F0Y2ggfSBmcm9tICcuL3VzZUZvcm1JdGVtV2F0Y2gnO1xuaW1wb3J0IHsgdXNlVmFsaWRhdGlvblRyaWdnZXIgfSBmcm9tICcuL3VzZVZhbGlkYXRpb25UcmlnZ2VyJztcbi8qKlxuICogUnVudGltZSB0eXBlIGd1YXJkIGZvciByZW5kZXItcHJvcCBjaGlsZHJlbi5cbiAqL1xuY29uc3QgaXNSZW5kZXJGbkNoaWxkID0gKGNoaWxkKSA9PiB0eXBlb2YgY2hpbGQgPT09ICdmdW5jdGlvbic7XG4vKipcbiAqIEZvcm0gZmllbGQgd3JhcHBlciB0aGF0IGJyaWRnZXMgYHJlYWN0LWhvb2stZm9ybWAncyBDb250cm9sbGVyIHdpdGggdGhlIEZvcm1cbiAqIGxheW91dCBzeXN0ZW0sIHZhbGlkYXRpb24gc3RhdHVzIGRpc3BsYXksIGFuZCBjb25maWd1cmFibGUgdHJpZ2dlciBiZWhhdmlvci5cbiAqXG4gKiBXaGVuIGEgYG5hbWVgIGlzIHByb3ZpZGVkLCB0aGUgZmllbGQgaXMgcmVnaXN0ZXJlZCB3aXRoIGByZWFjdC1ob29rLWZvcm1gIHZpYVxuICogYSBgQ29udHJvbGxlcmAgYW5kIHN1cHBvcnRzIHZhbGlkYXRpb24gcnVsZXMsIGRlcGVuZGVuY2llcywgYW5kIHN0YXR1cyBmZWVkYmFjay5cbiAqIFdpdGhvdXQgYSBgbmFtZWAsIGl0IHJlbmRlcnMgYXMgYSBmcmVlIHdyYXBwZXIgZm9yIHVuY29udHJvbGxlZCBjb250ZW50LlxuICpcbiAqIFN1cHBvcnRzIHR3byBjaGlsZCBwYXR0ZXJuczpcbiAqIC0gKipSZWFjdCBlbGVtZW50Kio6IGF1dG9tYXRpY2FsbHkgYm91bmQgdmlhIGBSZWFjdC5jbG9uZUVsZW1lbnRgIHdpdGggdmFsdWUvb25DaGFuZ2Uvb25CbHVyLlxuICogLSAqKlJlbmRlci1wcm9wIGZ1bmN0aW9uKio6IHJlY2VpdmVzIGB7IGZpZWxkLCBmaWVsZFN0YXRlLCBmb3JtLCB2YWx1ZXMgfWAgZm9yIGZ1bGwgY29udHJvbC5cbiAqXG4gKiBAdGVtcGxhdGUgVEZpZWxkVmFsdWVzIC0gVGhlIHNoYXBlIG9mIHRoZSBmb3JtIHZhbHVlcy5cbiAqIEBwYXJhbSBwcm9wcyAtIHtAbGluayBGb3JtSXRlbVByb3BzfVxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIC8vIEVsZW1lbnQgY2hpbGQgKGF1dG8tYm91bmQpXG4gKiA8Rm9ybUl0ZW0gbmFtZT1cImVtYWlsXCIgbGFiZWw9XCJFbWFpbFwiIHJ1bGVzPXt7IHJlcXVpcmVkOiB0cnVlIH19PlxuICogICA8SW5wdXQgcGxhY2Vob2xkZXI9XCJFbnRlciBlbWFpbFwiIC8+XG4gKiA8L0Zvcm1JdGVtPlxuICpcbiAqIC8vIFJlbmRlci1wcm9wIGNoaWxkXG4gKiA8Rm9ybUl0ZW0gbmFtZT1cImFncmVlXCI+XG4gKiAgIHsoeyBmaWVsZCB9KSA9PiA8Q2hlY2tib3ggey4uLmZpZWxkfSAvPn1cbiAqIDwvRm9ybUl0ZW0+XG4gKiBgYGBcbiAqL1xuZnVuY3Rpb24gRm9ybUl0ZW1Jbm5lcihwcm9wcykge1xuICAgIGNvbnN0IHsgbmFtZSwgbGFiZWwsIHJlcXVpcmVkLCBydWxlcywgZGVmYXVsdFZhbHVlLCBoZWxwLCBleHRyYSwgdmFsaWRhdGVTdGF0dXMsIGRlcGVuZGVuY2llcywgd2F0Y2hOYW1lcywgc2hvdWxkVXBkYXRlLCB2YWxpZGF0ZVRyaWdnZXIsIHZhbGlkYXRlRmlyc3QsIHZhbGlkYXRlRGVib3VuY2UsIG5vU3R5bGUsIHZhbHVlUHJvcE5hbWUgPSBERUZBVUxUX1ZBTFVFX1BST1AsIGNsYXNzTmFtZSwgbGFiZWxDb2wsIHdyYXBwZXJDb2wsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzbmFtZXMoJ2Zvcm0taXRlbScpO1xuICAgIGNvbnN0IHsgY3R4LCBtZXRob2RzLCBjb250cm9sLCB0cmlnZ2VyIH0gPSB1c2VGb3JtSXRlbUNvbnRleHQobmFtZSk7XG4gICAgY29uc3QgeyBhbGxWYWx1ZXMsIGRlcFZhbHVlcywgc2hvdWxkUmVuZGVyIH0gPSB1c2VGb3JtSXRlbVdhdGNoKHtcbiAgICAgICAgY29udHJvbCxcbiAgICAgICAgbWV0aG9kcyxcbiAgICAgICAgZGVwZW5kZW5jaWVzLFxuICAgICAgICB3YXRjaE5hbWVzLFxuICAgICAgICBzaG91bGRVcGRhdGUsXG4gICAgICAgIG5hbWUsXG4gICAgfSk7XG4gICAgY29uc3QgeyB3aXRoVHJpZ2dlciB9ID0gdXNlVmFsaWRhdGlvblRyaWdnZXIoe1xuICAgICAgICBuYW1lLFxuICAgICAgICB0cmlnZ2VyLFxuICAgICAgICB2YWxpZGF0ZVRyaWdnZXIsXG4gICAgICAgIHZhbGlkYXRlRGVib3VuY2UsXG4gICAgICAgIGRlcGVuZGVuY2llcyxcbiAgICAgICAgZGVwVmFsdWVzLFxuICAgIH0pO1xuICAgIGNvbnN0IHJlbmRlckZuID0gaXNSZW5kZXJGbkNoaWxkKGNoaWxkcmVuKSA/IGNoaWxkcmVuIDogbnVsbDtcbiAgICBjb25zdCBpc1JlcXVpcmVkID0gcmVxdWlyZWQgIT09IG51bGwgJiYgcmVxdWlyZWQgIT09IHZvaWQgMCA/IHJlcXVpcmVkIDogISEocnVsZXMgPT09IG51bGwgfHwgcnVsZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJ1bGVzLnJlcXVpcmVkKTtcbiAgICBjb25zdCBzaG93UmVxdWlyZWQgPSAoY3R4ID09PSBudWxsIHx8IGN0eCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3R4LnJlcXVpcmVkTWFyaykgIT09IGZhbHNlO1xuICAgIGNvbnN0IGxhYmVsV2lkdGggPSB1c2VNZW1vKCgpID0+IHRvUGVyY2VudChsYWJlbENvbCAhPT0gbnVsbCAmJiBsYWJlbENvbCAhPT0gdm9pZCAwID8gbGFiZWxDb2wgOiBjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHgubGFiZWxDb2wpLCBbbGFiZWxDb2wsIGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC5sYWJlbENvbF0pO1xuICAgIGNvbnN0IHdyYXBwZXJXaWR0aCA9IHVzZU1lbW8oKCkgPT4gdG9QZXJjZW50KHdyYXBwZXJDb2wgIT09IG51bGwgJiYgd3JhcHBlckNvbCAhPT0gdm9pZCAwID8gd3JhcHBlckNvbCA6IGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC53cmFwcGVyQ29sKSwgW3dyYXBwZXJDb2wsIGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC53cmFwcGVyQ29sXSk7XG4gICAgY29uc3QgbWVyZ2VkUnVsZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKCEocnVsZXMgPT09IG51bGwgfHwgcnVsZXMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJ1bGVzLnZhbGlkYXRlKSB8fCAhdmFsaWRhdGVGaXJzdClcbiAgICAgICAgICAgIHJldHVybiBydWxlcztcbiAgICAgICAgY29uc3QgdmFsaWRhdGUgPSB3cmFwVmFsaWRhdGUocnVsZXMudmFsaWRhdGUsIHZhbGlkYXRlRmlyc3QpO1xuICAgICAgICBpZiAodmFsaWRhdGUgPT09IHJ1bGVzLnZhbGlkYXRlKVxuICAgICAgICAgICAgcmV0dXJuIHJ1bGVzO1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBydWxlcyksIHsgdmFsaWRhdGUgfSk7XG4gICAgfSwgW3J1bGVzLCB2YWxpZGF0ZUZpcnN0XSk7XG4gICAgY29uc3QgY29udGVudFByb3BzID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgICBuYW1lLFxuICAgICAgICBjb250cm9sLFxuICAgICAgICBtZXRob2RzLFxuICAgICAgICBydWxlczogbWVyZ2VkUnVsZXMsXG4gICAgICAgIGRlZmF1bHRWYWx1ZSxcbiAgICAgICAgdmFsaWRhdGVTdGF0dXMsXG4gICAgICAgIHZhbHVlUHJvcE5hbWUsXG4gICAgICAgIGhlbHAsXG4gICAgICAgIGV4dHJhLFxuICAgICAgICBjdHgsXG4gICAgICAgIGNoaWxkcmVuLFxuICAgICAgICByZW5kZXJGbixcbiAgICAgICAgYWxsVmFsdWVzLFxuICAgICAgICBzaG91bGRVcGRhdGUsXG4gICAgICAgIHNob3VsZFJlbmRlcixcbiAgICAgICAgd2l0aFRyaWdnZXIsXG4gICAgfSksIFtcbiAgICAgICAgbmFtZSwgY29udHJvbCwgbWV0aG9kcywgbWVyZ2VkUnVsZXMsIGRlZmF1bHRWYWx1ZSwgdmFsaWRhdGVTdGF0dXMsXG4gICAgICAgIHZhbHVlUHJvcE5hbWUsIGhlbHAsIGV4dHJhLCBjdHgsIGNoaWxkcmVuLCByZW5kZXJGbiwgYWxsVmFsdWVzLFxuICAgICAgICBzaG91bGRVcGRhdGUsIHNob3VsZFJlbmRlciwgd2l0aFRyaWdnZXIsXG4gICAgXSk7XG4gICAgaWYgKG5vU3R5bGUpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goRm9ybUl0ZW1Db250ZW50LCBPYmplY3QuYXNzaWduKHt9LCBjb250ZW50UHJvcHMpKTtcbiAgICB9XG4gICAgY29uc3Qgcm9vdFN0eWxlID0ge1xuICAgICAgICBbQ1NTX1ZBUl9MQUJFTF9XSURUSF06IGxhYmVsV2lkdGgsXG4gICAgICAgIFtDU1NfVkFSX1dSQVBQRVJfV0lEVEhdOiB3cmFwcGVyV2lkdGgsXG4gICAgfTtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdyb290Jywgam9pbkNscyhjbGFzc05hbWUsIChjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHgubGF5b3V0KSAmJiBjbGFzc2VzKGBsYXlvdXQtJHtjdHgubGF5b3V0fWApKSksIFwiZGF0YS1mb3JtLWl0ZW0tbmFtZVwiOiBuYW1lID8gU3RyaW5nKG5hbWUpIDogdW5kZWZpbmVkLCBzdHlsZTogcm9vdFN0eWxlLCBjaGlsZHJlbjogW2xhYmVsICYmIChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnbGFiZWwnLCBqb2luQ2xzKHNob3dSZXF1aXJlZCAmJiBpc1JlcXVpcmVkICYmIGNsYXNzZXMoJ2xhYmVsLXJlcXVpcmVkJykpKSwgY2hpbGRyZW46IFtfanN4KFR5cG9ncmFwaHkuTGFiZWwsIHsgc2l6ZTogJ3MnLCBjaGlsZHJlbjogbGFiZWwgfSksIChjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHguY29sb24pICYmIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb2xvbicpLCBjaGlsZHJlbjogXCI6XCIgfSldIH0pKSwgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udHJvbCcpLCBjaGlsZHJlbjogX2pzeChGb3JtSXRlbUNvbnRlbnQsIE9iamVjdC5hc3NpZ24oe30sIGNvbnRlbnRQcm9wcykpIH0pXSB9KSk7XG59XG5leHBvcnQgZnVuY3Rpb24gRm9ybUl0ZW0ocHJvcHMpIHtcbiAgICBjb25zdCBjdHggPSB1c2VDb250ZXh0KEZvcm1Db250ZXh0KTtcbiAgICBpZiAoY3R4ID09PSBudWxsIHx8IGN0eCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3R4Lm1ldGhvZHMpIHtcbiAgICAgICAgcmV0dXJuIF9qc3goRm9ybUl0ZW1Jbm5lciwgT2JqZWN0LmFzc2lnbih7fSwgcHJvcHMpKTtcbiAgICB9XG4gICAgcmV0dXJuIChfanN4KEZhbGxiYWNrRm9ybVByb3ZpZGVyLCB7IGNoaWxkcmVuOiBfanN4KEZvcm1JdGVtSW5uZXIsIE9iamVjdC5hc3NpZ24oe30sIHByb3BzKSkgfSkpO1xufVxuZXhwb3J0IGRlZmF1bHQgRm9ybUl0ZW07IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { FieldValues } from 'react-hook-form';
|
|
2
|
+
import type { FormItemContentProps } from './interface';
|
|
3
|
+
/**
|
|
4
|
+
* Renders the inner content of a `<FormItem>`.
|
|
5
|
+
*
|
|
6
|
+
* Handles two branches:
|
|
7
|
+
* - **Free branch** (no `name`): renders children directly or via a render-prop,
|
|
8
|
+
* optionally gated by `shouldUpdate`.
|
|
9
|
+
* - **Controlled branch** (has `name`): wraps children in a `react-hook-form`
|
|
10
|
+
* `Controller`, injecting field bindings and validation-trigger wrappers.
|
|
11
|
+
*
|
|
12
|
+
* Both branches render their output inside a {@link MetaWrapper} for consistent
|
|
13
|
+
* help/error/extra display.
|
|
14
|
+
*
|
|
15
|
+
* @template TFieldValues - The shape of the form values.
|
|
16
|
+
* @param props - {@link FormItemContentProps}
|
|
17
|
+
*/
|
|
18
|
+
export declare function FormItemContent<TFieldValues extends FieldValues = FieldValues>({ name, control, methods, rules, defaultValue, validateStatus, valuePropName, help, extra, ctx, children, renderFn, allValues, shouldUpdate, shouldRender, withTrigger, }: FormItemContentProps<TFieldValues>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.FormItemContent = FormItemContent;
|
|
9
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _reactHookForm = require("react-hook-form");
|
|
13
|
+
var _classnames = _interopRequireWildcard(require("../../utils/classnames"));
|
|
14
|
+
var _constants = require("./constants");
|
|
15
|
+
var _helper = require("./helper");
|
|
16
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
17
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
|
|
18
|
+
var classes = (0, _classnames["default"])('form-item');
|
|
19
|
+
/**
|
|
20
|
+
* Clones a React element and injects `react-hook-form` Controller bindings
|
|
21
|
+
* (`value`, `onChange`, `onBlur`, `ref`) while preserving any existing handlers
|
|
22
|
+
* on the child element.
|
|
23
|
+
*
|
|
24
|
+
* For non-DOM (custom) components, status props (`invalid`/`success`) are also spread.
|
|
25
|
+
*
|
|
26
|
+
* @template TFieldValues - The shape of the form values.
|
|
27
|
+
* @param children - The child React node to clone.
|
|
28
|
+
* @param field - Controller field bindings from `react-hook-form`.
|
|
29
|
+
* @param status - The resolved validation status.
|
|
30
|
+
* @param statusProps - Boolean props derived from the status.
|
|
31
|
+
* @param valuePropName - The prop name used to bind the controlled value.
|
|
32
|
+
* @param ctx - Form context value for reading the `disabled` state.
|
|
33
|
+
* @returns The cloned element with injected bindings, or the original node if not a valid element.
|
|
34
|
+
*/
|
|
35
|
+
function cloneChildElement(children, field, status, statusProps, valuePropName, ctx) {
|
|
36
|
+
var _a, _b, _c;
|
|
37
|
+
if (! /*#__PURE__*/_react["default"].isValidElement(children)) return children;
|
|
38
|
+
var childElement = children;
|
|
39
|
+
var isDomElement = typeof childElement.type === 'string';
|
|
40
|
+
var childOnChange = (_a = childElement.props) === null || _a === void 0 ? void 0 : _a.onChange;
|
|
41
|
+
var childOnBlur = (_b = childElement.props) === null || _b === void 0 ? void 0 : _b.onBlur;
|
|
42
|
+
return /*#__PURE__*/_react["default"].cloneElement(childElement, Object.assign((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])((0, _defineProperty2["default"])({}, valuePropName, field.value), "onChange", function onChange() {
|
|
43
|
+
field.onChange.apply(field, arguments);
|
|
44
|
+
childOnChange === null || childOnChange === void 0 ? void 0 : childOnChange.apply(void 0, arguments);
|
|
45
|
+
}), "onBlur", function onBlur() {
|
|
46
|
+
field.onBlur();
|
|
47
|
+
childOnBlur === null || childOnBlur === void 0 ? void 0 : childOnBlur.apply(void 0, arguments);
|
|
48
|
+
}), "disabled", (ctx === null || ctx === void 0 ? void 0 : ctx.disabled) || ((_c = childElement.props) === null || _c === void 0 ? void 0 : _c.disabled)), 'aria-invalid', status === _constants.STATUS_ERROR || undefined), "ref", field.ref), isDomElement ? {} : statusProps));
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Wraps field content with help text, error messages, and extra content regions.
|
|
52
|
+
*
|
|
53
|
+
* Applies status-based CSS classes to the wrapper and renders the appropriate
|
|
54
|
+
* feedback messages below the field.
|
|
55
|
+
*/
|
|
56
|
+
function MetaWrapper(_ref) {
|
|
57
|
+
var content = _ref.content,
|
|
58
|
+
status = _ref.status,
|
|
59
|
+
errorMessage = _ref.errorMessage,
|
|
60
|
+
help = _ref.help,
|
|
61
|
+
extra = _ref.extra,
|
|
62
|
+
disabled = _ref.disabled;
|
|
63
|
+
return (0, _jsxRuntime.jsxs)("div", {
|
|
64
|
+
className: classes('content', (0, _classnames.joinCls)(status && classes("content-".concat(status)), disabled && classes('content-disabled'))),
|
|
65
|
+
children: [content, errorMessage && !help && (0, _jsxRuntime.jsx)("div", {
|
|
66
|
+
className: classes('help', classes('help-error')),
|
|
67
|
+
children: errorMessage
|
|
68
|
+
}), help && (0, _jsxRuntime.jsx)("div", {
|
|
69
|
+
className: classes('help', (0, _classnames.joinCls)(status && classes("help-".concat(status)))),
|
|
70
|
+
children: help
|
|
71
|
+
}), extra && (0, _jsxRuntime.jsx)("div", {
|
|
72
|
+
className: classes('extra'),
|
|
73
|
+
children: extra
|
|
74
|
+
})]
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Renders the inner content of a `<FormItem>`.
|
|
79
|
+
*
|
|
80
|
+
* Handles two branches:
|
|
81
|
+
* - **Free branch** (no `name`): renders children directly or via a render-prop,
|
|
82
|
+
* optionally gated by `shouldUpdate`.
|
|
83
|
+
* - **Controlled branch** (has `name`): wraps children in a `react-hook-form`
|
|
84
|
+
* `Controller`, injecting field bindings and validation-trigger wrappers.
|
|
85
|
+
*
|
|
86
|
+
* Both branches render their output inside a {@link MetaWrapper} for consistent
|
|
87
|
+
* help/error/extra display.
|
|
88
|
+
*
|
|
89
|
+
* @template TFieldValues - The shape of the form values.
|
|
90
|
+
* @param props - {@link FormItemContentProps}
|
|
91
|
+
*/
|
|
92
|
+
function FormItemContent(_ref2) {
|
|
93
|
+
var name = _ref2.name,
|
|
94
|
+
control = _ref2.control,
|
|
95
|
+
methods = _ref2.methods,
|
|
96
|
+
rules = _ref2.rules,
|
|
97
|
+
defaultValue = _ref2.defaultValue,
|
|
98
|
+
validateStatus = _ref2.validateStatus,
|
|
99
|
+
valuePropName = _ref2.valuePropName,
|
|
100
|
+
help = _ref2.help,
|
|
101
|
+
extra = _ref2.extra,
|
|
102
|
+
ctx = _ref2.ctx,
|
|
103
|
+
children = _ref2.children,
|
|
104
|
+
renderFn = _ref2.renderFn,
|
|
105
|
+
allValues = _ref2.allValues,
|
|
106
|
+
shouldUpdate = _ref2.shouldUpdate,
|
|
107
|
+
shouldRender = _ref2.shouldRender,
|
|
108
|
+
withTrigger = _ref2.withTrigger;
|
|
109
|
+
// --- Free child branch (no name) ---
|
|
110
|
+
if (!name) {
|
|
111
|
+
var freeContent = renderFn ? shouldUpdate && !shouldRender ? null : renderFn({
|
|
112
|
+
form: methods,
|
|
113
|
+
values: allValues
|
|
114
|
+
}) : children;
|
|
115
|
+
return (0, _jsxRuntime.jsx)(MetaWrapper, {
|
|
116
|
+
content: freeContent,
|
|
117
|
+
status: (0, _helper.resolveStatus)(validateStatus),
|
|
118
|
+
help: help,
|
|
119
|
+
extra: extra,
|
|
120
|
+
disabled: ctx === null || ctx === void 0 ? void 0 : ctx.disabled
|
|
121
|
+
});
|
|
122
|
+
}
|
|
123
|
+
// --- Controlled field branch (has name) ---
|
|
124
|
+
return (0, _jsxRuntime.jsx)(_reactHookForm.Controller, {
|
|
125
|
+
name: name,
|
|
126
|
+
control: control,
|
|
127
|
+
rules: rules,
|
|
128
|
+
defaultValue: defaultValue,
|
|
129
|
+
render: function render(_ref3) {
|
|
130
|
+
var field = _ref3.field,
|
|
131
|
+
fieldState = _ref3.fieldState;
|
|
132
|
+
var _a;
|
|
133
|
+
var status = (0, _helper.resolveStatus)(validateStatus, fieldState);
|
|
134
|
+
var statusProps = (0, _helper.getStatusProps)(status);
|
|
135
|
+
var patchedField = Object.assign(Object.assign(Object.assign({}, field), {
|
|
136
|
+
onChange: withTrigger(_constants.TRIGGER_CHANGE, field.onChange),
|
|
137
|
+
onBlur: withTrigger(_constants.TRIGGER_BLUR, field.onBlur)
|
|
138
|
+
}), statusProps);
|
|
139
|
+
var content = renderFn ? renderFn({
|
|
140
|
+
field: patchedField,
|
|
141
|
+
fieldState: fieldState,
|
|
142
|
+
form: methods,
|
|
143
|
+
values: allValues
|
|
144
|
+
}) : cloneChildElement(children, patchedField, status, statusProps, valuePropName, ctx);
|
|
145
|
+
return (0, _jsxRuntime.jsx)(MetaWrapper, {
|
|
146
|
+
content: content,
|
|
147
|
+
status: status,
|
|
148
|
+
errorMessage: (_a = fieldState.error) === null || _a === void 0 ? void 0 : _a.message,
|
|
149
|
+
help: help,
|
|
150
|
+
extra: extra,
|
|
151
|
+
disabled: ctx === null || ctx === void 0 ? void 0 : ctx.disabled
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvRm9ybS9Gb3JtSXRlbUNvbnRlbnQuanMiLCJjb21wb25lbnRzL3NyYy9jb21wb25lbnRzL0Zvcm0vRm9ybUl0ZW1Db250ZW50LnRzeCJdLCJuYW1lcyI6WyJfanN4UnVudGltZSIsInJlcXVpcmUiLCJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX3JlYWN0SG9va0Zvcm0iLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwiX2NvbnN0YW50cyIsIl9oZWxwZXIiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJnZXQiLCJuIiwiX19wcm90b19fIiwiYSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwidSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImkiLCJzZXQiLCJjbGFzc2VzIiwiY2xhc3NuYW1lcyIsImNsb25lQ2hpbGRFbGVtZW50IiwiY2hpbGRyZW4iLCJmaWVsZCIsInN0YXR1cyIsInN0YXR1c1Byb3BzIiwidmFsdWVQcm9wTmFtZSIsImN0eCIsIl9hIiwiX2IiLCJfYyIsIlJlYWN0IiwiaXNWYWxpZEVsZW1lbnQiLCJjaGlsZEVsZW1lbnQiLCJpc0RvbUVsZW1lbnQiLCJ0eXBlIiwiY2hpbGRPbkNoYW5nZSIsInByb3BzIiwib25DaGFuZ2UiLCJjaGlsZE9uQmx1ciIsIm9uQmx1ciIsImNsb25lRWxlbWVudCIsImFzc2lnbiIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJ2YWx1ZSIsImFwcGx5IiwiYXJndW1lbnRzIiwiZGlzYWJsZWQiLCJTVEFUVVNfRVJST1IiLCJ1bmRlZmluZWQiLCJyZWYiLCJNZXRhV3JhcHBlciIsIl9yZWYiLCJjb250ZW50IiwiZXJyb3JNZXNzYWdlIiwiaGVscCIsImV4dHJhIiwiX2pzeHMiLCJjbGFzc05hbWUiLCJqb2luQ2xzIiwiY29uY2F0IiwiX2pzeCIsIkZvcm1JdGVtQ29udGVudCIsIl9yZWYyIiwibmFtZSIsImNvbnRyb2wiLCJtZXRob2RzIiwicnVsZXMiLCJkZWZhdWx0VmFsdWUiLCJ2YWxpZGF0ZVN0YXR1cyIsInJlbmRlckZuIiwiYWxsVmFsdWVzIiwic2hvdWxkVXBkYXRlIiwic2hvdWxkUmVuZGVyIiwid2l0aFRyaWdnZXIiLCJmcmVlQ29udGVudCIsImZvcm0iLCJ2YWx1ZXMiLCJyZXNvbHZlU3RhdHVzIiwiQ29udHJvbGxlciIsInJlbmRlciIsIl9yZWYzIiwiZmllbGRTdGF0ZSIsImdldFN0YXR1c1Byb3BzIiwicGF0Y2hlZEZpZWxkIiwiVFJJR0dFUl9DSEFOR0UiLCJUUklHR0VSX0JMVVIiLCJlcnJvciIsIm1lc3NhZ2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLElBQUFBLFdBQUEsR0FBQUMsT0FBQTtBQ0FBLElBQUFDLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUMsdUJBQUEsQ0FBQUwsT0FBQTtBQUNBLElBQUFNLFVBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQVAsT0FBQTtBQUF5RCxTQUFBUSx5QkFBQUMsQ0FBQSw2QkFBQUMsT0FBQSxtQkFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBRix3QkFBQSxZQUFBQSx5QkFBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQUosd0JBQUFJLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSxnQkFBQUssT0FBQSxDQUFBTCxDQUFBLDBCQUFBQSxDQUFBLHNCQUFBQSxDQUFBLFFBQUFHLENBQUEsR0FBQUosd0JBQUEsQ0FBQUcsQ0FBQSxPQUFBQyxDQUFBLElBQUFBLENBQUEsQ0FBQUcsR0FBQSxDQUFBTixDQUFBLFVBQUFHLENBQUEsQ0FBQUksR0FBQSxDQUFBUCxDQUFBLE9BQUFRLENBQUEsS0FBQUMsU0FBQSxVQUFBQyxDQUFBLEdBQUFDLE1BQUEsQ0FBQUMsY0FBQSxJQUFBRCxNQUFBLENBQUFFLHdCQUFBLFdBQUFDLENBQUEsSUFBQWQsQ0FBQSxvQkFBQWMsQ0FBQSxPQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWhCLENBQUEsRUFBQWMsQ0FBQSxTQUFBRyxDQUFBLEdBQUFQLENBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBYixDQUFBLEVBQUFjLENBQUEsVUFBQUcsQ0FBQSxLQUFBQSxDQUFBLENBQUFWLEdBQUEsSUFBQVUsQ0FBQSxDQUFBQyxHQUFBLElBQUFQLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSixDQUFBLEVBQUFNLENBQUEsRUFBQUcsQ0FBQSxJQUFBVCxDQUFBLENBQUFNLENBQUEsSUFBQWQsQ0FBQSxDQUFBYyxDQUFBLFlBQUFOLENBQUEsY0FBQVIsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQWUsR0FBQSxDQUFBbEIsQ0FBQSxFQUFBUSxDQUFBLEdBQUFBLENBQUE7QUFJekQsSUFBTVcsT0FBTyxHQUFHLElBQUFDLHNCQUFVLEVBQUMsV0FBVyxDQUFDO0FBRXZDO0FERkE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDSUEsU0FBU0MsaUJBQWlCQSxDQUN4QkMsUUFBeUIsRUFDekJDLEtBQW1FLEVBQ25FQyxNQUFzQyxFQUN0Q0MsV0FBOEMsRUFDOUNDLGFBQXFCLEVBQ3JCQyxHQUE0QixFQUFBO0VEUjFCLElBQUlDLEVBQUUsRUFBRUMsRUFBRSxFQUFFQyxFQUFFO0VDVWhCLElBQUksZUFBQ0MsaUJBQUssQ0FBQ0MsY0FBYyxDQUFDVixRQUFRLENBQUMsRUFBRSxPQUFPQSxRQUFRO0VBQ3BELElBQU1XLFlBQVksR0FBR1gsUUFBdUQ7RUFDNUUsSUFBTVksWUFBWSxHQUFHLE9BQU9ELFlBQVksQ0FBQ0UsSUFBSSxLQUFLLFFBQVE7RUFDMUQsSUFBTUMsYUFBYSxHQUFHLENBQUFSLEVBQUEsR0FBQUssWUFBWSxDQUFDSSxLQUFLLE1BQUEsSUFBQSxJQUFBVCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRVUsUUFBc0Q7RUFDaEcsSUFBTUMsV0FBVyxHQUFHLENBQUFWLEVBQUEsR0FBQUksWUFBWSxDQUFDSSxLQUFLLE1BQUEsSUFBQSxJQUFBUixFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRVcsTUFBb0Q7RUFFNUYsb0JBQU9ULGlCQUFLLENBQUNVLFlBQVksQ0FBQ1IsWUFBWSxFQUFBdEIsTUFBQSxDQUFBK0IsTUFBQSxLQUFBQyxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQUFBLGdCQUFBLGlCQUFBQSxnQkFBQSxpQkFBQUEsZ0JBQUEsaUJBQUFBLGdCQUFBLGlCQUNuQ2pCLGFBQWEsRUFBR0gsS0FBSyxDQUFDcUIsS0FBSyxlQUNsQixTQUFWTixRQUFRQSxDQUFBLEVBQXlCO0lBQy9CZixLQUFLLENBQUNlLFFBQVEsQ0FBQU8sS0FBQSxDQUFkdEIsS0FBSyxFQUFBdUIsU0FBaUIsQ0FBQztJQUN2QlYsYUFBYSxLQUFBLElBQUEsSUFBYkEsYUFBYSxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFiQSxhQUFhLENBQUFTLEtBQUEsU0FBQUMsU0FBVSxDQUFDO0VBQzFCLENBQUMsYUFDTyxTQUFSTixNQUFNQSxDQUFBLEVBQXlCO0lBQzdCakIsS0FBSyxDQUFDaUIsTUFBTSxDQUFBLENBQUU7SUFDZEQsV0FBVyxLQUFBLElBQUEsSUFBWEEsV0FBVyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFYQSxXQUFXLENBQUFNLEtBQUEsU0FBQUMsU0FBVSxDQUFDO0VBQ3hCLENBQUMsZUFDUyxDQUFBbkIsR0FBRyxLQUFBLElBQUEsSUFBSEEsR0FBRyxLQUFBLEtBQUEsQ0FBQSxHQUFBLEtBQUEsQ0FBQSxHQUFIQSxHQUFHLENBQUVvQixRQUFRLE1BQUssQ0FBQWpCLEVBQUEsR0FBQUcsWUFBWSxDQUFDSSxLQUFLLE1BQUEsSUFBQSxJQUFBUCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRWlCLFFBQW9CLENBQUEsR0FDcEUsY0FBYyxFQUFFdkIsTUFBTSxLQUFLd0IsdUJBQVksSUFBSUMsU0FBUyxVQUMvQzFCLEtBQUssQ0FBQzJCLEdBQUcsR0FDVmhCLFlBQVksR0FBRyxDQUFBLENBQUUsR0FBR1QsV0FBWSxDQUFBLENBQ3BDO0FBQ0o7QUFFQTtBRGpCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FDbUJBLFNBQVMwQixXQUFXQSxDQUFBQyxJQUFBLEVBY25CO0VBQUEsSUFiQ0MsT0FBTyxHQUFBRCxJQUFBLENBQVBDLE9BQU87SUFDUDdCLE1BQU0sR0FBQTRCLElBQUEsQ0FBTjVCLE1BQU07SUFDTjhCLFlBQVksR0FBQUYsSUFBQSxDQUFaRSxZQUFZO0lBQ1pDLElBQUksR0FBQUgsSUFBQSxDQUFKRyxJQUFJO0lBQ0pDLEtBQUssR0FBQUosSUFBQSxDQUFMSSxLQUFLO0lBQ0xULFFBQVEsR0FBQUssSUFBQSxDQUFSTCxRQUFRO0VBU1IsT0FDRSxJQUFBVSxnQkFBQSxFQUFBLEtBQUEsRUFBQTtJQUNFQyxTQUFTLEVBQUV2QyxPQUFPLENBQUMsU0FBUyxFQUFFLElBQUF3QyxtQkFBTyxFQUNuQ25DLE1BQU0sSUFBSUwsT0FBTyxZQUFBeUMsTUFBQSxDQUFZcEMsTUFBTSxDQUFFLENBQUMsRUFDdEN1QixRQUFRLElBQUk1QixPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FDeEMsQ0FBQztJQUFBRyxRQUFBLEVBQUEsQ0FFRCtCLE9BQU8sRUFDUEMsWUFBWSxJQUFJLENBQUNDLElBQUksSUFDcEIsSUFBQU0sZUFBQSxFQUFBLEtBQUEsRUFBQTtNQUFLSCxTQUFTLEVBQUV2QyxPQUFPLENBQUMsTUFBTSxFQUFFQSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7TUFBQUcsUUFBQSxFQUFHZ0M7SUFBWSxDQUFBLENBQ3RFLEVBQ0FDLElBQUksSUFDSCxJQUFBTSxlQUFBLEVBQUEsS0FBQSxFQUFBO01BQUtILFNBQVMsRUFBRXZDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBQXdDLG1CQUFPLEVBQUNuQyxNQUFNLElBQUlMLE9BQU8sU0FBQXlDLE1BQUEsQ0FBU3BDLE1BQU0sQ0FBRSxDQUFDLENBQUMsQ0FBQztNQUFBRixRQUFBLEVBQUdpQztJQUFJLENBQUEsQ0FDckYsRUFDQUMsS0FBSyxJQUFJLElBQUFLLGVBQUEsRUFBQSxLQUFBLEVBQUE7TUFBS0gsU0FBUyxFQUFFdkMsT0FBTyxDQUFDLE9BQU8sQ0FBQztNQUFBRyxRQUFBLEVBQUdrQztJQUFLLENBQUEsQ0FBTztFQUFBLENBQUEsQ0FDckQ7QUFFVjtBQUVBO0FEaERBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUNrRE0sU0FBVU0sZUFBZUEsQ0FBQUMsS0FBQSxFQWlCTTtFQUFBLElBaEJuQ0MsSUFBSSxHQUFBRCxLQUFBLENBQUpDLElBQUk7SUFDSkMsT0FBTyxHQUFBRixLQUFBLENBQVBFLE9BQU87SUFDUEMsT0FBTyxHQUFBSCxLQUFBLENBQVBHLE9BQU87SUFDUEMsS0FBSyxHQUFBSixLQUFBLENBQUxJLEtBQUs7SUFDTEMsWUFBWSxHQUFBTCxLQUFBLENBQVpLLFlBQVk7SUFDWkMsY0FBYyxHQUFBTixLQUFBLENBQWRNLGNBQWM7SUFDZDNDLGFBQWEsR0FBQXFDLEtBQUEsQ0FBYnJDLGFBQWE7SUFDYjZCLElBQUksR0FBQVEsS0FBQSxDQUFKUixJQUFJO0lBQ0pDLEtBQUssR0FBQU8sS0FBQSxDQUFMUCxLQUFLO0lBQ0w3QixHQUFHLEdBQUFvQyxLQUFBLENBQUhwQyxHQUFHO0lBQ0hMLFFBQVEsR0FBQXlDLEtBQUEsQ0FBUnpDLFFBQVE7SUFDUmdELFFBQVEsR0FBQVAsS0FBQSxDQUFSTyxRQUFRO0lBQ1JDLFNBQVMsR0FBQVIsS0FBQSxDQUFUUSxTQUFTO0lBQ1RDLFlBQVksR0FBQVQsS0FBQSxDQUFaUyxZQUFZO0lBQ1pDLFlBQVksR0FBQVYsS0FBQSxDQUFaVSxZQUFZO0lBQ1pDLFdBQVcsR0FBQVgsS0FBQSxDQUFYVyxXQUFXO0VBRVg7RUFDQSxJQUFJLENBQUNWLElBQUksRUFBRTtJQUNULElBQU1XLFdBQVcsR0FBR0wsUUFBUSxHQUN2QkUsWUFBWSxJQUFJLENBQUNDLFlBQVksR0FBRyxJQUFJLEdBQUdILFFBQVEsQ0FBQztNQUFFTSxJQUFJLEVBQUVWLE9BQU87TUFBRVcsTUFBTSxFQUFFTjtJQUFTLENBQUUsQ0FBQyxHQUNyRmpELFFBQTRCO0lBRWpDLE9BQ0UsSUFBQXVDLGVBQUEsRUFBQ1YsV0FBVyxFQUFBO01BQ1ZFLE9BQU8sRUFBRXNCLFdBQVc7TUFDcEJuRCxNQUFNLEVBQUUsSUFBQXNELHFCQUFhLEVBQUNULGNBQWMsQ0FBQztNQUNyQ2QsSUFBSSxFQUFFQSxJQUFJO01BQ1ZDLEtBQUssRUFBRUEsS0FBSztNQUNaVCxRQUFRLEVBQUVwQixHQUFHLEtBQUEsSUFBQSxJQUFIQSxHQUFHLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUhBLEdBQUcsQ0FBRW9CO0lBQVEsQ0FBQSxDQUN2QjtFQUVOO0VBRUE7RUFDQSxPQUNFLElBQUFjLGVBQUEsRUFBQ2tCLHlCQUFVLEVBQUE7SUFDVGYsSUFBSSxFQUFFQSxJQUFJO0lBQ1ZDLE9BQU8sRUFBRUEsT0FBTztJQUNoQkUsS0FBSyxFQUFFQSxLQUFLO0lBQ1pDLFlBQVksRUFBRUEsWUFBWTtJQUMxQlksTUFBTSxFQUFFLFNBQVJBLE1BQU1BLENBQUFDLEtBQUEsRUFBNEI7TUFBQSxJQUF2QjFELEtBQUssR0FBQTBELEtBQUEsQ0FBTDFELEtBQUs7UUFBRTJELFVBQVUsR0FBQUQsS0FBQSxDQUFWQyxVQUFVO01EakZ0QixJQUFJdEQsRUFBRTtNQ2tGVixJQUFNSixNQUFNLEdBQUcsSUFBQXNELHFCQUFhLEVBQUNULGNBQWMsRUFBRWEsVUFBVSxDQUFDO01BQ3hELElBQU16RCxXQUFXLEdBQUcsSUFBQTBELHNCQUFjLEVBQUMzRCxNQUFNLENBQUM7TUFDMUMsSUFBTTRELFlBQVksR0FBQXpFLE1BQUEsQ0FBQStCLE1BQUEsQ0FBQS9CLE1BQUEsQ0FBQStCLE1BQUEsQ0FBQS9CLE1BQUEsQ0FBQStCLE1BQUEsQ0FBQSxDQUFBLENBQUEsRUFDYm5CLEtBQUssQ0FBQSxFQUFBO1FBQ1JlLFFBQVEsRUFBRW9DLFdBQVcsQ0FBQ1cseUJBQWMsRUFBRTlELEtBQUssQ0FBQ2UsUUFBUSxDQUFDO1FBQ3JERSxNQUFNLEVBQUVrQyxXQUFXLENBQUNZLHVCQUFZLEVBQUUvRCxLQUFLLENBQUNpQixNQUFNO01BQUMsQ0FBQSxDQUFBLEVBQzVDZixXQUFXLENBQ2Y7TUFFRCxJQUFNNEIsT0FBTyxHQUFHaUIsUUFBUSxHQUNwQkEsUUFBUSxDQUFDO1FBQUUvQyxLQUFLLEVBQUU2RCxZQUFZO1FBQUVGLFVBQVUsRUFBVkEsVUFBVTtRQUFFTixJQUFJLEVBQUVWLE9BQU87UUFBRVcsTUFBTSxFQUFFTjtNQUFTLENBQUUsQ0FBQyxHQUMvRWxELGlCQUFpQixDQUFDQyxRQUEyQixFQUFFOEQsWUFBWSxFQUFFNUQsTUFBTSxFQUFFQyxXQUFXLEVBQUVDLGFBQWEsRUFBRUMsR0FBRyxDQUFDO01BRXpHLE9BQ0UsSUFBQWtDLGVBQUEsRUFBQ1YsV0FBVyxFQUFBO1FBQ1ZFLE9BQU8sRUFBRUEsT0FBTztRQUNoQjdCLE1BQU0sRUFBRUEsTUFBTTtRQUNkOEIsWUFBWSxFQUFFLENBQUExQixFQUFBLEdBQUFzRCxVQUFVLENBQUNLLEtBQUssTUFBQSxJQUFBLElBQUEzRCxFQUFBLEtBQUEsS0FBQSxDQUFBLEdBQUEsS0FBQSxDQUFBLEdBQUFBLEVBQUEsQ0FBRTRELE9BQU87UUFDdkNqQyxJQUFJLEVBQUVBLElBQUk7UUFDVkMsS0FBSyxFQUFFQSxLQUFLO1FBQ1pULFFBQVEsRUFBRXBCLEdBQUcsS0FBQSxJQUFBLElBQUhBLEdBQUcsS0FBQSxLQUFBLENBQUEsR0FBQSxLQUFBLENBQUEsR0FBSEEsR0FBRyxDQUFFb0I7TUFBUSxDQUFBLENBQ3ZCO0lBRU47RUFBQyxDQUFBLENBQ0Q7QUFFTiIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vRm9ybUl0ZW1Db250ZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBDb250cm9sbGVyIH0gZnJvbSAncmVhY3QtaG9vay1mb3JtJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgY2xhc3NuYW1lcywgam9pbkNscyB9IGZyb20gJy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgU1RBVFVTX0VSUk9SLCBUUklHR0VSX0JMVVIsIFRSSUdHRVJfQ0hBTkdFIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0U3RhdHVzUHJvcHMsIHJlc29sdmVTdGF0dXMgfSBmcm9tICcuL2hlbHBlcic7XG5jb25zdCBjbGFzc2VzID0gY2xhc3NuYW1lcygnZm9ybS1pdGVtJyk7XG4vKipcbiAqIENsb25lcyBhIFJlYWN0IGVsZW1lbnQgYW5kIGluamVjdHMgYHJlYWN0LWhvb2stZm9ybWAgQ29udHJvbGxlciBiaW5kaW5nc1xuICogKGB2YWx1ZWAsIGBvbkNoYW5nZWAsIGBvbkJsdXJgLCBgcmVmYCkgd2hpbGUgcHJlc2VydmluZyBhbnkgZXhpc3RpbmcgaGFuZGxlcnNcbiAqIG9uIHRoZSBjaGlsZCBlbGVtZW50LlxuICpcbiAqIEZvciBub24tRE9NIChjdXN0b20pIGNvbXBvbmVudHMsIHN0YXR1cyBwcm9wcyAoYGludmFsaWRgL2BzdWNjZXNzYCkgYXJlIGFsc28gc3ByZWFkLlxuICpcbiAqIEB0ZW1wbGF0ZSBURmllbGRWYWx1ZXMgLSBUaGUgc2hhcGUgb2YgdGhlIGZvcm0gdmFsdWVzLlxuICogQHBhcmFtIGNoaWxkcmVuIC0gVGhlIGNoaWxkIFJlYWN0IG5vZGUgdG8gY2xvbmUuXG4gKiBAcGFyYW0gZmllbGQgLSBDb250cm9sbGVyIGZpZWxkIGJpbmRpbmdzIGZyb20gYHJlYWN0LWhvb2stZm9ybWAuXG4gKiBAcGFyYW0gc3RhdHVzIC0gVGhlIHJlc29sdmVkIHZhbGlkYXRpb24gc3RhdHVzLlxuICogQHBhcmFtIHN0YXR1c1Byb3BzIC0gQm9vbGVhbiBwcm9wcyBkZXJpdmVkIGZyb20gdGhlIHN0YXR1cy5cbiAqIEBwYXJhbSB2YWx1ZVByb3BOYW1lIC0gVGhlIHByb3AgbmFtZSB1c2VkIHRvIGJpbmQgdGhlIGNvbnRyb2xsZWQgdmFsdWUuXG4gKiBAcGFyYW0gY3R4IC0gRm9ybSBjb250ZXh0IHZhbHVlIGZvciByZWFkaW5nIHRoZSBgZGlzYWJsZWRgIHN0YXRlLlxuICogQHJldHVybnMgVGhlIGNsb25lZCBlbGVtZW50IHdpdGggaW5qZWN0ZWQgYmluZGluZ3MsIG9yIHRoZSBvcmlnaW5hbCBub2RlIGlmIG5vdCBhIHZhbGlkIGVsZW1lbnQuXG4gKi9cbmZ1bmN0aW9uIGNsb25lQ2hpbGRFbGVtZW50KGNoaWxkcmVuLCBmaWVsZCwgc3RhdHVzLCBzdGF0dXNQcm9wcywgdmFsdWVQcm9wTmFtZSwgY3R4KSB7XG4gICAgdmFyIF9hLCBfYiwgX2M7XG4gICAgaWYgKCFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZHJlbikpXG4gICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICBjb25zdCBjaGlsZEVsZW1lbnQgPSBjaGlsZHJlbjtcbiAgICBjb25zdCBpc0RvbUVsZW1lbnQgPSB0eXBlb2YgY2hpbGRFbGVtZW50LnR5cGUgPT09ICdzdHJpbmcnO1xuICAgIGNvbnN0IGNoaWxkT25DaGFuZ2UgPSAoX2EgPSBjaGlsZEVsZW1lbnQucHJvcHMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vbkNoYW5nZTtcbiAgICBjb25zdCBjaGlsZE9uQmx1ciA9IChfYiA9IGNoaWxkRWxlbWVudC5wcm9wcykgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLm9uQmx1cjtcbiAgICByZXR1cm4gUmVhY3QuY2xvbmVFbGVtZW50KGNoaWxkRWxlbWVudCwgT2JqZWN0LmFzc2lnbih7IFt2YWx1ZVByb3BOYW1lXTogZmllbGQudmFsdWUsIG9uQ2hhbmdlOiAoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgZmllbGQub25DaGFuZ2UoLi4uYXJncyk7XG4gICAgICAgICAgICBjaGlsZE9uQ2hhbmdlID09PSBudWxsIHx8IGNoaWxkT25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNoaWxkT25DaGFuZ2UoLi4uYXJncyk7XG4gICAgICAgIH0sIG9uQmx1cjogKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgIGZpZWxkLm9uQmx1cigpO1xuICAgICAgICAgICAgY2hpbGRPbkJsdXIgPT09IG51bGwgfHwgY2hpbGRPbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGNoaWxkT25CbHVyKC4uLmFyZ3MpO1xuICAgICAgICB9LCBkaXNhYmxlZDogKGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC5kaXNhYmxlZCkgfHwgKChfYyA9IGNoaWxkRWxlbWVudC5wcm9wcykgPT09IG51bGwgfHwgX2MgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9jLmRpc2FibGVkKSwgJ2FyaWEtaW52YWxpZCc6IHN0YXR1cyA9PT0gU1RBVFVTX0VSUk9SIHx8IHVuZGVmaW5lZCwgcmVmOiBmaWVsZC5yZWYgfSwgKGlzRG9tRWxlbWVudCA/IHt9IDogc3RhdHVzUHJvcHMpKSk7XG59XG4vKipcbiAqIFdyYXBzIGZpZWxkIGNvbnRlbnQgd2l0aCBoZWxwIHRleHQsIGVycm9yIG1lc3NhZ2VzLCBhbmQgZXh0cmEgY29udGVudCByZWdpb25zLlxuICpcbiAqIEFwcGxpZXMgc3RhdHVzLWJhc2VkIENTUyBjbGFzc2VzIHRvIHRoZSB3cmFwcGVyIGFuZCByZW5kZXJzIHRoZSBhcHByb3ByaWF0ZVxuICogZmVlZGJhY2sgbWVzc2FnZXMgYmVsb3cgdGhlIGZpZWxkLlxuICovXG5mdW5jdGlvbiBNZXRhV3JhcHBlcih7IGNvbnRlbnQsIHN0YXR1cywgZXJyb3JNZXNzYWdlLCBoZWxwLCBleHRyYSwgZGlzYWJsZWQsIH0pIHtcbiAgICByZXR1cm4gKF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdjb250ZW50Jywgam9pbkNscyhzdGF0dXMgJiYgY2xhc3NlcyhgY29udGVudC0ke3N0YXR1c31gKSwgZGlzYWJsZWQgJiYgY2xhc3NlcygnY29udGVudC1kaXNhYmxlZCcpKSksIGNoaWxkcmVuOiBbY29udGVudCwgZXJyb3JNZXNzYWdlICYmICFoZWxwICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdoZWxwJywgY2xhc3NlcygnaGVscC1lcnJvcicpKSwgY2hpbGRyZW46IGVycm9yTWVzc2FnZSB9KSksIGhlbHAgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2hlbHAnLCBqb2luQ2xzKHN0YXR1cyAmJiBjbGFzc2VzKGBoZWxwLSR7c3RhdHVzfWApKSksIGNoaWxkcmVuOiBoZWxwIH0pKSwgZXh0cmEgJiYgX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZXh0cmEnKSwgY2hpbGRyZW46IGV4dHJhIH0pXSB9KSk7XG59XG4vKipcbiAqIFJlbmRlcnMgdGhlIGlubmVyIGNvbnRlbnQgb2YgYSBgPEZvcm1JdGVtPmAuXG4gKlxuICogSGFuZGxlcyB0d28gYnJhbmNoZXM6XG4gKiAtICoqRnJlZSBicmFuY2gqKiAobm8gYG5hbWVgKTogcmVuZGVycyBjaGlsZHJlbiBkaXJlY3RseSBvciB2aWEgYSByZW5kZXItcHJvcCxcbiAqICAgb3B0aW9uYWxseSBnYXRlZCBieSBgc2hvdWxkVXBkYXRlYC5cbiAqIC0gKipDb250cm9sbGVkIGJyYW5jaCoqIChoYXMgYG5hbWVgKTogd3JhcHMgY2hpbGRyZW4gaW4gYSBgcmVhY3QtaG9vay1mb3JtYFxuICogICBgQ29udHJvbGxlcmAsIGluamVjdGluZyBmaWVsZCBiaW5kaW5ncyBhbmQgdmFsaWRhdGlvbi10cmlnZ2VyIHdyYXBwZXJzLlxuICpcbiAqIEJvdGggYnJhbmNoZXMgcmVuZGVyIHRoZWlyIG91dHB1dCBpbnNpZGUgYSB7QGxpbmsgTWV0YVdyYXBwZXJ9IGZvciBjb25zaXN0ZW50XG4gKiBoZWxwL2Vycm9yL2V4dHJhIGRpc3BsYXkuXG4gKlxuICogQHRlbXBsYXRlIFRGaWVsZFZhbHVlcyAtIFRoZSBzaGFwZSBvZiB0aGUgZm9ybSB2YWx1ZXMuXG4gKiBAcGFyYW0gcHJvcHMgLSB7QGxpbmsgRm9ybUl0ZW1Db250ZW50UHJvcHN9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBGb3JtSXRlbUNvbnRlbnQoeyBuYW1lLCBjb250cm9sLCBtZXRob2RzLCBydWxlcywgZGVmYXVsdFZhbHVlLCB2YWxpZGF0ZVN0YXR1cywgdmFsdWVQcm9wTmFtZSwgaGVscCwgZXh0cmEsIGN0eCwgY2hpbGRyZW4sIHJlbmRlckZuLCBhbGxWYWx1ZXMsIHNob3VsZFVwZGF0ZSwgc2hvdWxkUmVuZGVyLCB3aXRoVHJpZ2dlciwgfSkge1xuICAgIC8vIC0tLSBGcmVlIGNoaWxkIGJyYW5jaCAobm8gbmFtZSkgLS0tXG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIGNvbnN0IGZyZWVDb250ZW50ID0gcmVuZGVyRm5cbiAgICAgICAgICAgID8gKHNob3VsZFVwZGF0ZSAmJiAhc2hvdWxkUmVuZGVyID8gbnVsbCA6IHJlbmRlckZuKHsgZm9ybTogbWV0aG9kcywgdmFsdWVzOiBhbGxWYWx1ZXMgfSkpXG4gICAgICAgICAgICA6IGNoaWxkcmVuO1xuICAgICAgICByZXR1cm4gKF9qc3goTWV0YVdyYXBwZXIsIHsgY29udGVudDogZnJlZUNvbnRlbnQsIHN0YXR1czogcmVzb2x2ZVN0YXR1cyh2YWxpZGF0ZVN0YXR1cyksIGhlbHA6IGhlbHAsIGV4dHJhOiBleHRyYSwgZGlzYWJsZWQ6IGN0eCA9PT0gbnVsbCB8fCBjdHggPT09IHZvaWQgMCA/IHZvaWQgMCA6IGN0eC5kaXNhYmxlZCB9KSk7XG4gICAgfVxuICAgIC8vIC0tLSBDb250cm9sbGVkIGZpZWxkIGJyYW5jaCAoaGFzIG5hbWUpIC0tLVxuICAgIHJldHVybiAoX2pzeChDb250cm9sbGVyLCB7IG5hbWU6IG5hbWUsIGNvbnRyb2w6IGNvbnRyb2wsIHJ1bGVzOiBydWxlcywgZGVmYXVsdFZhbHVlOiBkZWZhdWx0VmFsdWUsIHJlbmRlcjogKHsgZmllbGQsIGZpZWxkU3RhdGUgfSkgPT4ge1xuICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgY29uc3Qgc3RhdHVzID0gcmVzb2x2ZVN0YXR1cyh2YWxpZGF0ZVN0YXR1cywgZmllbGRTdGF0ZSk7XG4gICAgICAgICAgICBjb25zdCBzdGF0dXNQcm9wcyA9IGdldFN0YXR1c1Byb3BzKHN0YXR1cyk7XG4gICAgICAgICAgICBjb25zdCBwYXRjaGVkRmllbGQgPSBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmllbGQpLCB7IG9uQ2hhbmdlOiB3aXRoVHJpZ2dlcihUUklHR0VSX0NIQU5HRSwgZmllbGQub25DaGFuZ2UpLCBvbkJsdXI6IHdpdGhUcmlnZ2VyKFRSSUdHRVJfQkxVUiwgZmllbGQub25CbHVyKSB9KSwgc3RhdHVzUHJvcHMpO1xuICAgICAgICAgICAgY29uc3QgY29udGVudCA9IHJlbmRlckZuXG4gICAgICAgICAgICAgICAgPyByZW5kZXJGbih7IGZpZWxkOiBwYXRjaGVkRmllbGQsIGZpZWxkU3RhdGUsIGZvcm06IG1ldGhvZHMsIHZhbHVlczogYWxsVmFsdWVzIH0pXG4gICAgICAgICAgICAgICAgOiBjbG9uZUNoaWxkRWxlbWVudChjaGlsZHJlbiwgcGF0Y2hlZEZpZWxkLCBzdGF0dXMsIHN0YXR1c1Byb3BzLCB2YWx1ZVByb3BOYW1lLCBjdHgpO1xuICAgICAgICAgICAgcmV0dXJuIChfanN4KE1ldGFXcmFwcGVyLCB7IGNvbnRlbnQ6IGNvbnRlbnQsIHN0YXR1czogc3RhdHVzLCBlcnJvck1lc3NhZ2U6IChfYSA9IGZpZWxkU3RhdGUuZXJyb3IpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5tZXNzYWdlLCBoZWxwOiBoZWxwLCBleHRyYTogZXh0cmEsIGRpc2FibGVkOiBjdHggPT09IG51bGwgfHwgY3R4ID09PSB2b2lkIDAgPyB2b2lkIDAgOiBjdHguZGlzYWJsZWQgfSkpO1xuICAgICAgICB9IH0pKTtcbn0iLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/** Default form layout direction. */
|
|
2
|
+
export declare const DEFAULT_LAYOUT: "horizontal";
|
|
3
|
+
/** Default label text alignment. */
|
|
4
|
+
export declare const DEFAULT_LABEL_ALIGN: "right";
|
|
5
|
+
/** Default label column span in the 12-column grid. */
|
|
6
|
+
export declare const DEFAULT_LABEL_COL = 3;
|
|
7
|
+
/** Default wrapper/control column span in the 12-column grid. */
|
|
8
|
+
export declare const DEFAULT_WRAPPER_COL = 9;
|
|
9
|
+
/** Default form size variant. */
|
|
10
|
+
export declare const DEFAULT_SIZE: "middle";
|
|
11
|
+
/** Default `scrollIntoView` behavior when scrolling to the first error. */
|
|
12
|
+
export declare const DEFAULT_SCROLL_BEHAVIOR: "smooth";
|
|
13
|
+
/** Default `scrollIntoView` block position. */
|
|
14
|
+
export declare const DEFAULT_SCROLL_BLOCK: "center";
|
|
15
|
+
/** Default `scrollIntoView` inline position. */
|
|
16
|
+
export declare const DEFAULT_SCROLL_INLINE: "nearest";
|
|
17
|
+
/** Standard HTML `name` attribute used for querySelector lookups. */
|
|
18
|
+
export declare const SELECTOR_NAME_ATTR = "name";
|
|
19
|
+
/** Data attribute rendered on FormItem wrappers for querySelector lookups. */
|
|
20
|
+
export declare const SELECTOR_DATA_FORM_ITEM_ATTR = "data-form-item-name";
|
|
21
|
+
/** Minimum allowed grid column value. */
|
|
22
|
+
export declare const GRID_MIN = 0;
|
|
23
|
+
/** Total number of columns in the grid system. */
|
|
24
|
+
export declare const GRID_COLUMNS = 12;
|
|
25
|
+
/** Percentage multiplier for grid-to-percent conversion. */
|
|
26
|
+
export declare const PERCENT = 100;
|
|
27
|
+
/** Minimum debounce threshold in milliseconds (values at or below are treated as immediate). */
|
|
28
|
+
export declare const DEBOUNCE_MIN = 0;
|
|
29
|
+
/** Validation status indicating an async validation is in progress. */
|
|
30
|
+
export declare const STATUS_VALIDATING: "validating";
|
|
31
|
+
/** Validation status indicating a field error. */
|
|
32
|
+
export declare const STATUS_ERROR: "error";
|
|
33
|
+
/** Validation status indicating a field passed validation. */
|
|
34
|
+
export declare const STATUS_SUCCESS: "success";
|
|
35
|
+
/** Sentinel for the parallel `validateFirst` mode. */
|
|
36
|
+
export declare const VALIDATE_PARALLEL: "parallel";
|
|
37
|
+
/** Trigger mode for change events. */
|
|
38
|
+
export declare const TRIGGER_CHANGE: "onChange";
|
|
39
|
+
/** Trigger mode for blur events. */
|
|
40
|
+
export declare const TRIGGER_BLUR: "onBlur";
|
|
41
|
+
/** CSS custom property controlling the label column width. */
|
|
42
|
+
export declare const CSS_VAR_LABEL_WIDTH = "--om-form-label-width";
|
|
43
|
+
/** CSS custom property controlling the wrapper/control column width. */
|
|
44
|
+
export declare const CSS_VAR_WRAPPER_WIDTH = "--om-form-wrapper-width";
|
|
45
|
+
/** Default prop name used to bind a controlled value to a child element. */
|
|
46
|
+
export declare const DEFAULT_VALUE_PROP: "value";
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.VALIDATE_PARALLEL = exports.TRIGGER_CHANGE = exports.TRIGGER_BLUR = exports.STATUS_VALIDATING = exports.STATUS_SUCCESS = exports.STATUS_ERROR = exports.SELECTOR_NAME_ATTR = exports.SELECTOR_DATA_FORM_ITEM_ATTR = exports.PERCENT = exports.GRID_MIN = exports.GRID_COLUMNS = exports.DEFAULT_WRAPPER_COL = exports.DEFAULT_VALUE_PROP = exports.DEFAULT_SIZE = exports.DEFAULT_SCROLL_INLINE = exports.DEFAULT_SCROLL_BLOCK = exports.DEFAULT_SCROLL_BEHAVIOR = exports.DEFAULT_LAYOUT = exports.DEFAULT_LABEL_COL = exports.DEFAULT_LABEL_ALIGN = exports.DEBOUNCE_MIN = exports.CSS_VAR_WRAPPER_WIDTH = exports.CSS_VAR_LABEL_WIDTH = void 0;
|
|
7
|
+
// ---------------------------------------------------------------------------
|
|
8
|
+
// Form layout defaults
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
/** Default form layout direction. */
|
|
11
|
+
var DEFAULT_LAYOUT = exports.DEFAULT_LAYOUT = 'horizontal';
|
|
12
|
+
/** Default label text alignment. */
|
|
13
|
+
var DEFAULT_LABEL_ALIGN = exports.DEFAULT_LABEL_ALIGN = 'right';
|
|
14
|
+
/** Default label column span in the 12-column grid. */
|
|
15
|
+
var DEFAULT_LABEL_COL = exports.DEFAULT_LABEL_COL = 3;
|
|
16
|
+
/** Default wrapper/control column span in the 12-column grid. */
|
|
17
|
+
var DEFAULT_WRAPPER_COL = exports.DEFAULT_WRAPPER_COL = 9;
|
|
18
|
+
/** Default form size variant. */
|
|
19
|
+
var DEFAULT_SIZE = exports.DEFAULT_SIZE = 'middle';
|
|
20
|
+
// ---------------------------------------------------------------------------
|
|
21
|
+
// Scroll-to-error defaults
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
/** Default `scrollIntoView` behavior when scrolling to the first error. */
|
|
24
|
+
var DEFAULT_SCROLL_BEHAVIOR = exports.DEFAULT_SCROLL_BEHAVIOR = 'smooth';
|
|
25
|
+
/** Default `scrollIntoView` block position. */
|
|
26
|
+
var DEFAULT_SCROLL_BLOCK = exports.DEFAULT_SCROLL_BLOCK = 'center';
|
|
27
|
+
/** Default `scrollIntoView` inline position. */
|
|
28
|
+
var DEFAULT_SCROLL_INLINE = exports.DEFAULT_SCROLL_INLINE = 'nearest';
|
|
29
|
+
/** Standard HTML `name` attribute used for querySelector lookups. */
|
|
30
|
+
var SELECTOR_NAME_ATTR = exports.SELECTOR_NAME_ATTR = 'name';
|
|
31
|
+
/** Data attribute rendered on FormItem wrappers for querySelector lookups. */
|
|
32
|
+
var SELECTOR_DATA_FORM_ITEM_ATTR = exports.SELECTOR_DATA_FORM_ITEM_ATTR = 'data-form-item-name';
|
|
33
|
+
// ---------------------------------------------------------------------------
|
|
34
|
+
// Grid math helpers (12-column grid)
|
|
35
|
+
// ---------------------------------------------------------------------------
|
|
36
|
+
/** Minimum allowed grid column value. */
|
|
37
|
+
var GRID_MIN = exports.GRID_MIN = 0;
|
|
38
|
+
/** Total number of columns in the grid system. */
|
|
39
|
+
var GRID_COLUMNS = exports.GRID_COLUMNS = 12;
|
|
40
|
+
/** Percentage multiplier for grid-to-percent conversion. */
|
|
41
|
+
var PERCENT = exports.PERCENT = 100;
|
|
42
|
+
// ---------------------------------------------------------------------------
|
|
43
|
+
// Validation / trigger helpers
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
/** Minimum debounce threshold in milliseconds (values at or below are treated as immediate). */
|
|
46
|
+
var DEBOUNCE_MIN = exports.DEBOUNCE_MIN = 0;
|
|
47
|
+
/** Validation status indicating an async validation is in progress. */
|
|
48
|
+
var STATUS_VALIDATING = exports.STATUS_VALIDATING = 'validating';
|
|
49
|
+
/** Validation status indicating a field error. */
|
|
50
|
+
var STATUS_ERROR = exports.STATUS_ERROR = 'error';
|
|
51
|
+
/** Validation status indicating a field passed validation. */
|
|
52
|
+
var STATUS_SUCCESS = exports.STATUS_SUCCESS = 'success';
|
|
53
|
+
/** Sentinel for the parallel `validateFirst` mode. */
|
|
54
|
+
var VALIDATE_PARALLEL = exports.VALIDATE_PARALLEL = 'parallel';
|
|
55
|
+
/** Trigger mode for change events. */
|
|
56
|
+
var TRIGGER_CHANGE = exports.TRIGGER_CHANGE = 'onChange';
|
|
57
|
+
/** Trigger mode for blur events. */
|
|
58
|
+
var TRIGGER_BLUR = exports.TRIGGER_BLUR = 'onBlur';
|
|
59
|
+
// ---------------------------------------------------------------------------
|
|
60
|
+
// CSS variable names for layout width
|
|
61
|
+
// ---------------------------------------------------------------------------
|
|
62
|
+
/** CSS custom property controlling the label column width. */
|
|
63
|
+
var CSS_VAR_LABEL_WIDTH = exports.CSS_VAR_LABEL_WIDTH = '--om-form-label-width';
|
|
64
|
+
/** CSS custom property controlling the wrapper/control column width. */
|
|
65
|
+
var CSS_VAR_WRAPPER_WIDTH = exports.CSS_VAR_WRAPPER_WIDTH = '--om-form-wrapper-width';
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// Default prop mapping for controlled inputs
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
/** Default prop name used to bind a controlled value to a child element. */
|
|
70
|
+
var DEFAULT_VALUE_PROP = exports.DEFAULT_VALUE_PROP = 'value';
|
|
71
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9jb25zdGFudHMudHMiXSwibmFtZXMiOlsiREVGQVVMVF9MQVlPVVQiLCJleHBvcnRzIiwiREVGQVVMVF9MQUJFTF9BTElHTiIsIkRFRkFVTFRfTEFCRUxfQ09MIiwiREVGQVVMVF9XUkFQUEVSX0NPTCIsIkRFRkFVTFRfU0laRSIsIkRFRkFVTFRfU0NST0xMX0JFSEFWSU9SIiwiREVGQVVMVF9TQ1JPTExfQkxPQ0siLCJERUZBVUxUX1NDUk9MTF9JTkxJTkUiLCJTRUxFQ1RPUl9OQU1FX0FUVFIiLCJTRUxFQ1RPUl9EQVRBX0ZPUk1fSVRFTV9BVFRSIiwiR1JJRF9NSU4iLCJHUklEX0NPTFVNTlMiLCJQRVJDRU5UIiwiREVCT1VOQ0VfTUlOIiwiU1RBVFVTX1ZBTElEQVRJTkciLCJTVEFUVVNfRVJST1IiLCJTVEFUVVNfU1VDQ0VTUyIsIlZBTElEQVRFX1BBUkFMTEVMIiwiVFJJR0dFUl9DSEFOR0UiLCJUUklHR0VSX0JMVVIiLCJDU1NfVkFSX0xBQkVMX1dJRFRIIiwiQ1NTX1ZBUl9XUkFQUEVSX1dJRFRIIiwiREVGQVVMVF9WQUxVRV9QUk9QIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFFQTtBQUNPLElBQU1BLGNBQWMsR0FBQUMsT0FBQSxDQUFBRCxjQUFBLEdBQUcsWUFBcUI7QUFFbkQ7QUFDTyxJQUFNRSxtQkFBbUIsR0FBQUQsT0FBQSxDQUFBQyxtQkFBQSxHQUFHLE9BQWdCO0FBRW5EO0FBQ08sSUFBTUMsaUJBQWlCLEdBQUFGLE9BQUEsQ0FBQUUsaUJBQUEsR0FBRyxDQUFDO0FBRWxDO0FBQ08sSUFBTUMsbUJBQW1CLEdBQUFILE9BQUEsQ0FBQUcsbUJBQUEsR0FBRyxDQUFDO0FBRXBDO0FBQ08sSUFBTUMsWUFBWSxHQUFBSixPQUFBLENBQUFJLFlBQUEsR0FBRyxRQUFpQjtBQUU3QztBQUNBO0FBQ0E7QUFFQTtBQUNPLElBQU1DLHVCQUF1QixHQUFBTCxPQUFBLENBQUFLLHVCQUFBLEdBQUcsUUFBaUI7QUFFeEQ7QUFDTyxJQUFNQyxvQkFBb0IsR0FBQU4sT0FBQSxDQUFBTSxvQkFBQSxHQUFHLFFBQWlCO0FBRXJEO0FBQ08sSUFBTUMscUJBQXFCLEdBQUFQLE9BQUEsQ0FBQU8scUJBQUEsR0FBRyxTQUFrQjtBQUV2RDtBQUNPLElBQU1DLGtCQUFrQixHQUFBUixPQUFBLENBQUFRLGtCQUFBLEdBQUcsTUFBTTtBQUV4QztBQUNPLElBQU1DLDRCQUE0QixHQUFBVCxPQUFBLENBQUFTLDRCQUFBLEdBQUcscUJBQXFCO0FBRWpFO0FBQ0E7QUFDQTtBQUVBO0FBQ08sSUFBTUMsUUFBUSxHQUFBVixPQUFBLENBQUFVLFFBQUEsR0FBRyxDQUFDO0FBRXpCO0FBQ08sSUFBTUMsWUFBWSxHQUFBWCxPQUFBLENBQUFXLFlBQUEsR0FBRyxFQUFFO0FBRTlCO0FBQ08sSUFBTUMsT0FBTyxHQUFBWixPQUFBLENBQUFZLE9BQUEsR0FBRyxHQUFHO0FBRTFCO0FBQ0E7QUFDQTtBQUVBO0FBQ08sSUFBTUMsWUFBWSxHQUFBYixPQUFBLENBQUFhLFlBQUEsR0FBRyxDQUFDO0FBRTdCO0FBQ08sSUFBTUMsaUJBQWlCLEdBQUFkLE9BQUEsQ0FBQWMsaUJBQUEsR0FBRyxZQUFxQjtBQUV0RDtBQUNPLElBQU1DLFlBQVksR0FBQWYsT0FBQSxDQUFBZSxZQUFBLEdBQUcsT0FBZ0I7QUFFNUM7QUFDTyxJQUFNQyxjQUFjLEdBQUFoQixPQUFBLENBQUFnQixjQUFBLEdBQUcsU0FBa0I7QUFFaEQ7QUFDTyxJQUFNQyxpQkFBaUIsR0FBQWpCLE9BQUEsQ0FBQWlCLGlCQUFBLEdBQUcsVUFBbUI7QUFFcEQ7QUFDTyxJQUFNQyxjQUFjLEdBQUFsQixPQUFBLENBQUFrQixjQUFBLEdBQUcsVUFBbUI7QUFFakQ7QUFDTyxJQUFNQyxZQUFZLEdBQUFuQixPQUFBLENBQUFtQixZQUFBLEdBQUcsUUFBaUI7QUFFN0M7QUFDQTtBQUNBO0FBRUE7QUFDTyxJQUFNQyxtQkFBbUIsR0FBQXBCLE9BQUEsQ0FBQW9CLG1CQUFBLEdBQUcsdUJBQXVCO0FBRTFEO0FBQ08sSUFBTUMscUJBQXFCLEdBQUFyQixPQUFBLENBQUFxQixxQkFBQSxHQUFHLHlCQUF5QjtBQUU5RDtBQUNBO0FBQ0E7QUFFQTtBQUNPLElBQU1DLGtCQUFrQixHQUFBdEIsT0FBQSxDQUFBc0Isa0JBQUEsR0FBRyxPQUFnQiIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vY29uc3RhbnRzLmpzIiwic291cmNlc0NvbnRlbnQiOltudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|