@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,120 @@
|
|
|
1
|
+
import type { ControllerFieldState, FieldError, FieldErrors, FieldPath, FieldValues, RegisterOptions, ValidateResult } from 'react-hook-form';
|
|
2
|
+
import type { FormItemProps, FormValidateStatus, FormProps } from './interface';
|
|
3
|
+
/**
|
|
4
|
+
* Converts a 12-column grid span to a CSS percentage width string.
|
|
5
|
+
*
|
|
6
|
+
* @param col - Grid column count (0–12). Values are clamped to the valid range.
|
|
7
|
+
* @returns A CSS percentage string (e.g. `"25%"`), or `undefined` when `col` is `null`/`undefined`.
|
|
8
|
+
*/
|
|
9
|
+
export declare const toPercent: (col?: number) => string | undefined;
|
|
10
|
+
/**
|
|
11
|
+
* Type guard that narrows an unknown value to a `FieldError`-like object.
|
|
12
|
+
*
|
|
13
|
+
* `isFieldError` assumes `react-hook-form` places `type` on leaf errors,
|
|
14
|
+
* and `getFirstErrorPath` relies on that to stop descending once a leaf is found.
|
|
15
|
+
* If RHF changes this contract, tighten this predicate (e.g. require `message`/`ref`
|
|
16
|
+
* or another stricter leaf-shape check) to avoid false positives on nested containers.
|
|
17
|
+
*
|
|
18
|
+
* Checks for the presence of `type`, `message`, or `ref` properties which
|
|
19
|
+
* are characteristic of `react-hook-form` field errors.
|
|
20
|
+
*
|
|
21
|
+
* @param value - The value to check.
|
|
22
|
+
* @returns `true` if the value is a `FieldError`-like object.
|
|
23
|
+
*/
|
|
24
|
+
export declare const isFieldError: (value: unknown) => value is FieldError;
|
|
25
|
+
/**
|
|
26
|
+
* Walks a nested `FieldErrors` tree (depth-first) and returns the dot-path
|
|
27
|
+
* of the first error encountered.
|
|
28
|
+
*
|
|
29
|
+
* Handles plain objects, arrays (e.g. field arrays), and deeply nested structures.
|
|
30
|
+
*
|
|
31
|
+
* @param errors - The `FieldErrors` object from `react-hook-form`.
|
|
32
|
+
* @returns The dot-separated path (e.g. `"items.0.name"`) or `null` if no error is found.
|
|
33
|
+
*/
|
|
34
|
+
export declare const getFirstErrorPath: (errors: FieldErrors) => string | null;
|
|
35
|
+
/**
|
|
36
|
+
* Escapes a string for safe use inside a CSS attribute selector.
|
|
37
|
+
*
|
|
38
|
+
* Uses `CSS.escape` when available, with a regex fallback for SSR or
|
|
39
|
+
* environments without native support (e.g. nested field names like `"address.city"`).
|
|
40
|
+
*
|
|
41
|
+
* @param value - The raw attribute value to escape.
|
|
42
|
+
* @returns The escaped string safe for `querySelector`.
|
|
43
|
+
*/
|
|
44
|
+
export declare const escapeAttr: (value: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* Scrolls the viewport to the first invalid field identified by `name`.
|
|
47
|
+
*
|
|
48
|
+
* Looks up the element using either the standard `name` attribute or the
|
|
49
|
+
* `data-form-item-name` data attribute. Supports custom scroll behavior
|
|
50
|
+
* via the `options` parameter.
|
|
51
|
+
*
|
|
52
|
+
* @param name - The field name (path) to scroll to.
|
|
53
|
+
* @param options - Scroll configuration from `FormProps['scrollToFirstError']`.
|
|
54
|
+
*/
|
|
55
|
+
export declare const scrollToField: (name: string, options?: FormProps["scrollToFirstError"]) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Resolves the effective validation status for a form field.
|
|
58
|
+
*
|
|
59
|
+
* An explicit `validateStatus` prop takes priority. Otherwise the status is
|
|
60
|
+
* derived from the `fieldState` provided by `react-hook-form`'s Controller.
|
|
61
|
+
*
|
|
62
|
+
* @param explicit - An explicit status override from props.
|
|
63
|
+
* @param fieldState - The Controller field state containing `error` and `isValidating`.
|
|
64
|
+
* @returns The resolved `FormValidateStatus`, or `undefined` if no status applies.
|
|
65
|
+
*/
|
|
66
|
+
export declare const resolveStatus: (explicit?: FormValidateStatus, fieldState?: Pick<ControllerFieldState, "error" | "isValidating">) => FormValidateStatus | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* Normalizes a `validateTrigger` prop into a consistent array form.
|
|
69
|
+
*
|
|
70
|
+
* @param value - A single trigger string, an array, or `undefined`.
|
|
71
|
+
* @returns An array of trigger modes (e.g. `['onChange', 'onBlur']`), or an empty array.
|
|
72
|
+
*/
|
|
73
|
+
export declare const normalizeValidateTrigger: (value?: FormItemProps<FieldValues>["validateTrigger"]) => ("onBlur" | "onChange")[];
|
|
74
|
+
/**
|
|
75
|
+
* Maps a `FormValidateStatus` to boolean props suitable for Input-like components.
|
|
76
|
+
*
|
|
77
|
+
* @param status - The current validation status.
|
|
78
|
+
* @returns An object with `invalid: true`, `success: true`, or an empty object.
|
|
79
|
+
*/
|
|
80
|
+
export declare const getStatusProps: (status?: FormValidateStatus) => {
|
|
81
|
+
invalid: boolean;
|
|
82
|
+
success?: undefined;
|
|
83
|
+
} | {
|
|
84
|
+
success: boolean;
|
|
85
|
+
invalid?: undefined;
|
|
86
|
+
} | {
|
|
87
|
+
invalid?: undefined;
|
|
88
|
+
success?: undefined;
|
|
89
|
+
};
|
|
90
|
+
/**
|
|
91
|
+
* Performs a shallow comparison of two arrays using `Object.is` for each element.
|
|
92
|
+
*
|
|
93
|
+
* @param a - First array.
|
|
94
|
+
* @param b - Second array.
|
|
95
|
+
* @returns `true` if both arrays have the same length and identical elements by reference.
|
|
96
|
+
*/
|
|
97
|
+
export declare const shallowEqualArray: (a: unknown[], b: unknown[]) => boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Normalizes a custom `ValidateResult` to be compatible with `react-hook-form`.
|
|
100
|
+
*
|
|
101
|
+
* RHF treats `null` as a truthy error value, so this converts `null` to `true` (valid).
|
|
102
|
+
*
|
|
103
|
+
* @param result - The raw validation result.
|
|
104
|
+
* @returns The normalized result (`true` for valid, or an error string/boolean).
|
|
105
|
+
*/
|
|
106
|
+
export declare const normalizeValidateResult: (result: ValidateResult) => ValidateResult;
|
|
107
|
+
/**
|
|
108
|
+
* Wraps a multi-validator record to honor `validateFirst` sequencing.
|
|
109
|
+
*
|
|
110
|
+
* When `mode` is `true`, validators run **sequentially** and stop at the first error.
|
|
111
|
+
* When `mode` is `'parallel'`, all validators run concurrently and the first error found is returned.
|
|
112
|
+
* When `mode` is falsy or `validate` is a single function, the original value is returned unchanged.
|
|
113
|
+
*
|
|
114
|
+
* @template TValues - The shape of the form values.
|
|
115
|
+
* @template TName - The field path type.
|
|
116
|
+
* @param validate - The validator or record of validators from `RegisterOptions`.
|
|
117
|
+
* @param mode - The `validateFirst` mode.
|
|
118
|
+
* @returns A wrapped validator function, or the original value when no wrapping is needed.
|
|
119
|
+
*/
|
|
120
|
+
export declare const wrapValidate: <TValues extends FieldValues, TName extends FieldPath<TValues>>(validate: NonNullable<RegisterOptions<TValues, TName>["validate"]>, mode?: FormItemProps<TValues>["validateFirst"]) => NonNullable<RegisterOptions<TValues, TName>["validate"]>;
|
|
@@ -0,0 +1,290 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.wrapValidate = exports.toPercent = exports.shallowEqualArray = exports.scrollToField = exports.resolveStatus = exports.normalizeValidateTrigger = exports.normalizeValidateResult = exports.isFieldError = exports.getStatusProps = exports.getFirstErrorPath = exports.escapeAttr = void 0;
|
|
8
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
+
var _constants = require("./constants");
|
|
11
|
+
var __awaiter = void 0 && (void 0).__awaiter || function (thisArg, _arguments, P, generator) {
|
|
12
|
+
function adopt(value) {
|
|
13
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
14
|
+
resolve(value);
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) {
|
|
19
|
+
try {
|
|
20
|
+
step(generator.next(value));
|
|
21
|
+
} catch (e) {
|
|
22
|
+
reject(e);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
function rejected(value) {
|
|
26
|
+
try {
|
|
27
|
+
step(generator["throw"](value));
|
|
28
|
+
} catch (e) {
|
|
29
|
+
reject(e);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function step(result) {
|
|
33
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
34
|
+
}
|
|
35
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Converts a 12-column grid span to a CSS percentage width string.
|
|
40
|
+
*
|
|
41
|
+
* @param col - Grid column count (0–12). Values are clamped to the valid range.
|
|
42
|
+
* @returns A CSS percentage string (e.g. `"25%"`), or `undefined` when `col` is `null`/`undefined`.
|
|
43
|
+
*/
|
|
44
|
+
var toPercent = exports.toPercent = function toPercent(col) {
|
|
45
|
+
if (col == null) return undefined;
|
|
46
|
+
return "".concat(Math.max(_constants.GRID_MIN, Math.min(_constants.GRID_COLUMNS, col)) / _constants.GRID_COLUMNS * _constants.PERCENT, "%");
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Type guard that narrows an unknown value to a `FieldError`-like object.
|
|
50
|
+
*
|
|
51
|
+
* `isFieldError` assumes `react-hook-form` places `type` on leaf errors,
|
|
52
|
+
* and `getFirstErrorPath` relies on that to stop descending once a leaf is found.
|
|
53
|
+
* If RHF changes this contract, tighten this predicate (e.g. require `message`/`ref`
|
|
54
|
+
* or another stricter leaf-shape check) to avoid false positives on nested containers.
|
|
55
|
+
*
|
|
56
|
+
* Checks for the presence of `type`, `message`, or `ref` properties which
|
|
57
|
+
* are characteristic of `react-hook-form` field errors.
|
|
58
|
+
*
|
|
59
|
+
* @param value - The value to check.
|
|
60
|
+
* @returns `true` if the value is a `FieldError`-like object.
|
|
61
|
+
*/
|
|
62
|
+
var isFieldError = exports.isFieldError = function isFieldError(value) {
|
|
63
|
+
if (!value || (0, _typeof2["default"])(value) !== 'object') return false;
|
|
64
|
+
return 'type' in value || 'message' in value || 'ref' in value;
|
|
65
|
+
};
|
|
66
|
+
/**
|
|
67
|
+
* Walks a nested `FieldErrors` tree (depth-first) and returns the dot-path
|
|
68
|
+
* of the first error encountered.
|
|
69
|
+
*
|
|
70
|
+
* Handles plain objects, arrays (e.g. field arrays), and deeply nested structures.
|
|
71
|
+
*
|
|
72
|
+
* @param errors - The `FieldErrors` object from `react-hook-form`.
|
|
73
|
+
* @returns The dot-separated path (e.g. `"items.0.name"`) or `null` if no error is found.
|
|
74
|
+
*/
|
|
75
|
+
var _getFirstErrorPath = exports.getFirstErrorPath = function getFirstErrorPath(errors) {
|
|
76
|
+
for (var _i = 0, _Object$keys = Object.keys(errors); _i < _Object$keys.length; _i++) {
|
|
77
|
+
var key = _Object$keys[_i];
|
|
78
|
+
var value = errors[key];
|
|
79
|
+
if (!value) continue;
|
|
80
|
+
if (isFieldError(value)) return key;
|
|
81
|
+
if (Array.isArray(value)) {
|
|
82
|
+
for (var i = 0; i < value.length; i += 1) {
|
|
83
|
+
var item = value[i];
|
|
84
|
+
if (!item) continue;
|
|
85
|
+
if (isFieldError(item)) return "".concat(key, ".").concat(i);
|
|
86
|
+
if (item && (0, _typeof2["default"])(item) === 'object') {
|
|
87
|
+
var child = _getFirstErrorPath(item);
|
|
88
|
+
if (child) return "".concat(key, ".").concat(i, ".").concat(child);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
} else if ((0, _typeof2["default"])(value) === 'object') {
|
|
92
|
+
var _child = _getFirstErrorPath(value);
|
|
93
|
+
if (_child) return "".concat(key, ".").concat(_child);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Escapes a string for safe use inside a CSS attribute selector.
|
|
100
|
+
*
|
|
101
|
+
* Uses `CSS.escape` when available, with a regex fallback for SSR or
|
|
102
|
+
* environments without native support (e.g. nested field names like `"address.city"`).
|
|
103
|
+
*
|
|
104
|
+
* @param value - The raw attribute value to escape.
|
|
105
|
+
* @returns The escaped string safe for `querySelector`.
|
|
106
|
+
*/
|
|
107
|
+
var escapeAttr = exports.escapeAttr = function escapeAttr(value) {
|
|
108
|
+
return typeof CSS !== 'undefined' && CSS.escape ? CSS.escape(value) : value.replace(/([^\w-])/g, '\\$1');
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Scrolls the viewport to the first invalid field identified by `name`.
|
|
112
|
+
*
|
|
113
|
+
* Looks up the element using either the standard `name` attribute or the
|
|
114
|
+
* `data-form-item-name` data attribute. Supports custom scroll behavior
|
|
115
|
+
* via the `options` parameter.
|
|
116
|
+
*
|
|
117
|
+
* @param name - The field name (path) to scroll to.
|
|
118
|
+
* @param options - Scroll configuration from `FormProps['scrollToFirstError']`.
|
|
119
|
+
*/
|
|
120
|
+
var scrollToField = exports.scrollToField = function scrollToField(name, options) {
|
|
121
|
+
var _a, _b, _c;
|
|
122
|
+
if (typeof document === 'undefined') return;
|
|
123
|
+
var config = (0, _typeof2["default"])(options) === 'object' ? options : {};
|
|
124
|
+
var attrName = escapeAttr(name);
|
|
125
|
+
var selectorByName = "[".concat(_constants.SELECTOR_NAME_ATTR, "=\"").concat(attrName, "\"]");
|
|
126
|
+
var selectorByData = "[".concat(_constants.SELECTOR_DATA_FORM_ITEM_ATTR, "=\"").concat(attrName, "\"]");
|
|
127
|
+
var el = document.querySelector(selectorByName) || document.querySelector(selectorByData);
|
|
128
|
+
if (!el) return;
|
|
129
|
+
var behavior = (_a = config.behavior) !== null && _a !== void 0 ? _a : _constants.DEFAULT_SCROLL_BEHAVIOR;
|
|
130
|
+
if (typeof config.offset === 'number') {
|
|
131
|
+
var rect = el.getBoundingClientRect();
|
|
132
|
+
window.scrollTo({
|
|
133
|
+
top: rect.top + window.scrollY - config.offset,
|
|
134
|
+
behavior: behavior
|
|
135
|
+
});
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
el.scrollIntoView({
|
|
139
|
+
behavior: behavior,
|
|
140
|
+
block: (_b = config.block) !== null && _b !== void 0 ? _b : _constants.DEFAULT_SCROLL_BLOCK,
|
|
141
|
+
inline: (_c = config.inline) !== null && _c !== void 0 ? _c : _constants.DEFAULT_SCROLL_INLINE
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
/**
|
|
145
|
+
* Resolves the effective validation status for a form field.
|
|
146
|
+
*
|
|
147
|
+
* An explicit `validateStatus` prop takes priority. Otherwise the status is
|
|
148
|
+
* derived from the `fieldState` provided by `react-hook-form`'s Controller.
|
|
149
|
+
*
|
|
150
|
+
* @param explicit - An explicit status override from props.
|
|
151
|
+
* @param fieldState - The Controller field state containing `error` and `isValidating`.
|
|
152
|
+
* @returns The resolved `FormValidateStatus`, or `undefined` if no status applies.
|
|
153
|
+
*/
|
|
154
|
+
var resolveStatus = exports.resolveStatus = function resolveStatus(explicit, fieldState) {
|
|
155
|
+
if (explicit) return explicit;
|
|
156
|
+
if (fieldState === null || fieldState === void 0 ? void 0 : fieldState.isValidating) return _constants.STATUS_VALIDATING;
|
|
157
|
+
if (fieldState === null || fieldState === void 0 ? void 0 : fieldState.error) return _constants.STATUS_ERROR;
|
|
158
|
+
return undefined;
|
|
159
|
+
};
|
|
160
|
+
/**
|
|
161
|
+
* Normalizes a `validateTrigger` prop into a consistent array form.
|
|
162
|
+
*
|
|
163
|
+
* @param value - A single trigger string, an array, or `undefined`.
|
|
164
|
+
* @returns An array of trigger modes (e.g. `['onChange', 'onBlur']`), or an empty array.
|
|
165
|
+
*/
|
|
166
|
+
var normalizeValidateTrigger = exports.normalizeValidateTrigger = function normalizeValidateTrigger(value) {
|
|
167
|
+
if (!value) return [];
|
|
168
|
+
return Array.isArray(value) ? value : [value];
|
|
169
|
+
};
|
|
170
|
+
/**
|
|
171
|
+
* Maps a `FormValidateStatus` to boolean props suitable for Input-like components.
|
|
172
|
+
*
|
|
173
|
+
* @param status - The current validation status.
|
|
174
|
+
* @returns An object with `invalid: true`, `success: true`, or an empty object.
|
|
175
|
+
*/
|
|
176
|
+
var getStatusProps = exports.getStatusProps = function getStatusProps(status) {
|
|
177
|
+
return status === _constants.STATUS_ERROR ? {
|
|
178
|
+
invalid: true
|
|
179
|
+
} : status === _constants.STATUS_SUCCESS ? {
|
|
180
|
+
success: true
|
|
181
|
+
} : {};
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* Performs a shallow comparison of two arrays using `Object.is` for each element.
|
|
185
|
+
*
|
|
186
|
+
* @param a - First array.
|
|
187
|
+
* @param b - Second array.
|
|
188
|
+
* @returns `true` if both arrays have the same length and identical elements by reference.
|
|
189
|
+
*/
|
|
190
|
+
var shallowEqualArray = exports.shallowEqualArray = function shallowEqualArray(a, b) {
|
|
191
|
+
return a.length === b.length && a.every(function (v, i) {
|
|
192
|
+
return Object.is(v, b[i]);
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
/**
|
|
196
|
+
* Normalizes a custom `ValidateResult` to be compatible with `react-hook-form`.
|
|
197
|
+
*
|
|
198
|
+
* RHF treats `null` as a truthy error value, so this converts `null` to `true` (valid).
|
|
199
|
+
*
|
|
200
|
+
* @param result - The raw validation result.
|
|
201
|
+
* @returns The normalized result (`true` for valid, or an error string/boolean).
|
|
202
|
+
*/
|
|
203
|
+
var normalizeValidateResult = exports.normalizeValidateResult = function normalizeValidateResult(result) {
|
|
204
|
+
return result === null ? true : result;
|
|
205
|
+
};
|
|
206
|
+
/**
|
|
207
|
+
* Wraps a multi-validator record to honor `validateFirst` sequencing.
|
|
208
|
+
*
|
|
209
|
+
* When `mode` is `true`, validators run **sequentially** and stop at the first error.
|
|
210
|
+
* When `mode` is `'parallel'`, all validators run concurrently and the first error found is returned.
|
|
211
|
+
* When `mode` is falsy or `validate` is a single function, the original value is returned unchanged.
|
|
212
|
+
*
|
|
213
|
+
* @template TValues - The shape of the form values.
|
|
214
|
+
* @template TName - The field path type.
|
|
215
|
+
* @param validate - The validator or record of validators from `RegisterOptions`.
|
|
216
|
+
* @param mode - The `validateFirst` mode.
|
|
217
|
+
* @returns A wrapped validator function, or the original value when no wrapping is needed.
|
|
218
|
+
*/
|
|
219
|
+
var wrapValidate = exports.wrapValidate = function wrapValidate(validate, mode) {
|
|
220
|
+
if (!validate || !mode || typeof validate === 'function') return validate;
|
|
221
|
+
var validators = Object.values(validate);
|
|
222
|
+
return function (value, values) {
|
|
223
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
224
|
+
var results, hit, _i2, _validators, fn, result;
|
|
225
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
226
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
227
|
+
case 0:
|
|
228
|
+
if (!(mode === _constants.VALIDATE_PARALLEL)) {
|
|
229
|
+
_context2.next = 6;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
_context2.next = 3;
|
|
233
|
+
return Promise.all(validators.map(function (fn) {
|
|
234
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
235
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
236
|
+
while (1) switch (_context.prev = _context.next) {
|
|
237
|
+
case 0:
|
|
238
|
+
_context.t0 = normalizeValidateResult;
|
|
239
|
+
_context.next = 3;
|
|
240
|
+
return Promise.resolve(fn(value, values));
|
|
241
|
+
case 3:
|
|
242
|
+
_context.t1 = _context.sent;
|
|
243
|
+
return _context.abrupt("return", (0, _context.t0)(_context.t1));
|
|
244
|
+
case 5:
|
|
245
|
+
case "end":
|
|
246
|
+
return _context.stop();
|
|
247
|
+
}
|
|
248
|
+
}, _callee);
|
|
249
|
+
}));
|
|
250
|
+
}));
|
|
251
|
+
case 3:
|
|
252
|
+
results = _context2.sent;
|
|
253
|
+
hit = results.find(function (result) {
|
|
254
|
+
return result !== true && result !== undefined;
|
|
255
|
+
});
|
|
256
|
+
return _context2.abrupt("return", hit !== null && hit !== void 0 ? hit : true);
|
|
257
|
+
case 6:
|
|
258
|
+
_i2 = 0, _validators = validators;
|
|
259
|
+
case 7:
|
|
260
|
+
if (!(_i2 < _validators.length)) {
|
|
261
|
+
_context2.next = 19;
|
|
262
|
+
break;
|
|
263
|
+
}
|
|
264
|
+
fn = _validators[_i2];
|
|
265
|
+
_context2.t0 = normalizeValidateResult;
|
|
266
|
+
_context2.next = 12;
|
|
267
|
+
return fn(value, values);
|
|
268
|
+
case 12:
|
|
269
|
+
_context2.t1 = _context2.sent;
|
|
270
|
+
result = (0, _context2.t0)(_context2.t1);
|
|
271
|
+
if (!(result !== true && result !== undefined)) {
|
|
272
|
+
_context2.next = 16;
|
|
273
|
+
break;
|
|
274
|
+
}
|
|
275
|
+
return _context2.abrupt("return", result);
|
|
276
|
+
case 16:
|
|
277
|
+
_i2++;
|
|
278
|
+
_context2.next = 7;
|
|
279
|
+
break;
|
|
280
|
+
case 19:
|
|
281
|
+
return _context2.abrupt("return", true);
|
|
282
|
+
case 20:
|
|
283
|
+
case "end":
|
|
284
|
+
return _context2.stop();
|
|
285
|
+
}
|
|
286
|
+
}, _callee2);
|
|
287
|
+
}));
|
|
288
|
+
};
|
|
289
|
+
};
|
|
290
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9oZWxwZXIudHMiLCJjb21wb25lbnRzL0Zvcm0vaGVscGVyLmpzIl0sIm5hbWVzIjpbIl9jb25zdGFudHMiLCJyZXF1aXJlIiwiX19hd2FpdGVyIiwidGhpc0FyZyIsIl9hcmd1bWVudHMiLCJQIiwiZ2VuZXJhdG9yIiwiYWRvcHQiLCJ2YWx1ZSIsInJlc29sdmUiLCJQcm9taXNlIiwicmVqZWN0IiwiZnVsZmlsbGVkIiwic3RlcCIsIm5leHQiLCJlIiwicmVqZWN0ZWQiLCJyZXN1bHQiLCJkb25lIiwidGhlbiIsImFwcGx5IiwidG9QZXJjZW50IiwiZXhwb3J0cyIsImNvbCIsInVuZGVmaW5lZCIsImNvbmNhdCIsIk1hdGgiLCJtYXgiLCJHUklEX01JTiIsIm1pbiIsIkdSSURfQ09MVU1OUyIsIlBFUkNFTlQiLCJpc0ZpZWxkRXJyb3IiLCJfdHlwZW9mMiIsImdldEZpcnN0RXJyb3JQYXRoIiwiZXJyb3JzIiwiX2kiLCJfT2JqZWN0JGtleXMiLCJPYmplY3QiLCJrZXlzIiwibGVuZ3RoIiwia2V5IiwiQXJyYXkiLCJpc0FycmF5IiwiaSIsIml0ZW0iLCJjaGlsZCIsImVzY2FwZUF0dHIiLCJDU1MiLCJlc2NhcGUiLCJyZXBsYWNlIiwic2Nyb2xsVG9GaWVsZCIsIm5hbWUiLCJvcHRpb25zIiwiX2EiLCJfYiIsIl9jIiwiZG9jdW1lbnQiLCJjb25maWciLCJhdHRyTmFtZSIsInNlbGVjdG9yQnlOYW1lIiwiU0VMRUNUT1JfTkFNRV9BVFRSIiwic2VsZWN0b3JCeURhdGEiLCJTRUxFQ1RPUl9EQVRBX0ZPUk1fSVRFTV9BVFRSIiwiZWwiLCJxdWVyeVNlbGVjdG9yIiwiYmVoYXZpb3IiLCJERUZBVUxUX1NDUk9MTF9CRUhBVklPUiIsIm9mZnNldCIsInJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ3aW5kb3ciLCJzY3JvbGxUbyIsInRvcCIsInNjcm9sbFkiLCJzY3JvbGxJbnRvVmlldyIsImJsb2NrIiwiREVGQVVMVF9TQ1JPTExfQkxPQ0siLCJpbmxpbmUiLCJERUZBVUxUX1NDUk9MTF9JTkxJTkUiLCJyZXNvbHZlU3RhdHVzIiwiZXhwbGljaXQiLCJmaWVsZFN0YXRlIiwiaXNWYWxpZGF0aW5nIiwiU1RBVFVTX1ZBTElEQVRJTkciLCJlcnJvciIsIlNUQVRVU19FUlJPUiIsIm5vcm1hbGl6ZVZhbGlkYXRlVHJpZ2dlciIsImdldFN0YXR1c1Byb3BzIiwic3RhdHVzIiwiaW52YWxpZCIsIlNUQVRVU19TVUNDRVNTIiwic3VjY2VzcyIsInNoYWxsb3dFcXVhbEFycmF5IiwiYSIsImIiLCJldmVyeSIsInYiLCJpcyIsIm5vcm1hbGl6ZVZhbGlkYXRlUmVzdWx0Iiwid3JhcFZhbGlkYXRlIiwidmFsaWRhdGUiLCJtb2RlIiwidmFsaWRhdG9ycyIsInZhbHVlcyIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlMiIsInJlc3VsdHMiLCJoaXQiLCJfaTIiLCJfdmFsaWRhdG9ycyIsImZuIiwid3JhcCIsIl9jYWxsZWUyJCIsIl9jb250ZXh0MiIsInByZXYiLCJWQUxJREFURV9QQVJBTExFTCIsImFsbCIsIm1hcCIsIl9jYWxsZWUiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwidDAiLCJ0MSIsInNlbnQiLCJhYnJ1cHQiLCJzdG9wIiwiZmluZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBWUEsSUFBQUEsVUFBQSxHQUFBQyxPQUFBO0FDWkEsSUFBSUMsU0FBUyxHQUFJLFVBQVEsU0FBS0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FBSyxHQUFHLElBQUlILENBQUMsQ0FBQyxVQUFVSSxPQUFPLEVBQUU7TUFBRUEsT0FBTyxDQUFDRCxLQUFLLENBQUM7SUFBRSxDQUFDLENBQUM7RUFBRTtFQUMzRyxPQUFPLEtB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QUFBLEdBQUFULFNBQUEsQ0FBQVUsSUFBQTtZQUQxRTVHLE1BQU0sT0FBQWtHLFNBQUEsQ0FBQVEsRUFBQSxFQUFBUixTQUFBLENBQUFTLEVBQUE7WUFBQSxNQUdSM0csTUFBTSxLQUFLLElBQUksSUFBSUEsTUFBTSxLQUFLTyxTQUFTO2NBQUEyRixTQUFBLENBQUFyRyxJQUFBO2NBQUE7WUFBQTtZQUFBLE9BQUFxRyxTQUFBLENBQUFXLE1BQUEsV0FBUzdHLE1BQU07VUFBQTtZQUFBNkYsR0FBQTtZQUFBSyxTQUFBLENBQUFyRyxJQUFBO1lBQUE7VUFBQTtZQUFBLE9BQUFxRyxTQUFBLENBQUFXLE1BQUEsV0FFckQsSUFBSTtVQUFBO1VBQUE7WUFBQSxPQUFBWCxTQUFBLENBQUFZLElBQUE7UUFBQTtNQUFBLEdBQUFwQixRQUFBO0lBQUEsQ0FDWixFQUFBO0VBQUE7QUFDSCxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvRm9ybS9oZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6W251bGwsInZhciBfX2F3YWl0ZXIgPSAodGhpcyAmJiB0aGlzLl9fYXdhaXRlcikgfHwgZnVuY3Rpb24gKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICAgIGZ1bmN0aW9uIGFkb3B0KHZhbHVlKSB7IHJldHVybiB2YWx1ZSBpbnN0YW5jZW9mIFAgPyB2YWx1ZSA6IG5ldyBQKGZ1bmN0aW9uIChyZXNvbHZlKSB7IHJlc29sdmUodmFsdWUpOyB9KTsgfVxuICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiBzdGVwKHJlc3VsdCkgeyByZXN1bHQuZG9uZSA/IHJlc29sdmUocmVzdWx0LnZhbHVlKSA6IGFkb3B0KHJlc3VsdC52YWx1ZSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTsgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgfSk7XG59O1xuaW1wb3J0IHsgREVGQVVMVF9TQ1JPTExfQkVIQVZJT1IsIERFRkFVTFRfU0NST0xMX0JMT0NLLCBERUZBVUxUX1NDUk9MTF9JTkxJTkUsIEdSSURfQ09MVU1OUywgR1JJRF9NSU4sIFBFUkNFTlQsIFNFTEVDVE9SX0RBVEFfRk9STV9JVEVNX0FUVFIsIFNFTEVDVE9SX05BTUVfQVRUUiwgU1RBVFVTX0VSUk9SLCBTVEFUVVNfU1VDQ0VTUywgU1RBVFVTX1ZBTElEQVRJTkcsIFZBTElEQVRFX1BBUkFMTEVMIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuLyoqXG4gKiBDb252ZXJ0cyBhIDEyLWNvbHVtbiBncmlkIHNwYW4gdG8gYSBDU1MgcGVyY2VudGFnZSB3aWR0aCBzdHJpbmcuXG4gKlxuICogQHBhcmFtIGNvbCAtIEdyaWQgY29sdW1uIGNvdW50ICgw4oCTMTIpLiBWYWx1ZXMgYXJlIGNsYW1wZWQgdG8gdGhlIHZhbGlkIHJhbmdlLlxuICogQHJldHVybnMgQSBDU1MgcGVyY2VudGFnZSBzdHJpbmcgKGUuZy4gYFwiMjUlXCJgKSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBgY29sYCBpcyBgbnVsbGAvYHVuZGVmaW5lZGAuXG4gKi9cbmV4cG9ydCBjb25zdCB0b1BlcmNlbnQgPSAoY29sKSA9PiB7XG4gICAgaWYgKGNvbCA9PSBudWxsKVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIHJldHVybiBgJHsoTWF0aC5tYXgoR1JJRF9NSU4sIE1hdGgubWluKEdSSURfQ09MVU1OUywgY29sKSkgLyBHUklEX0NPTFVNTlMpICogUEVSQ0VOVH0lYDtcbn07XG4vKipcbiAqIFR5cGUgZ3VhcmQgdGhhdCBuYXJyb3dzIGFuIHVua25vd24gdmFsdWUgdG8gYSBgRmllbGRFcnJvcmAtbGlrZSBvYmplY3QuXG4gKlxuICogYGlzRmllbGRFcnJvcmAgYXNzdW1lcyBgcmVhY3QtaG9vay1mb3JtYCBwbGFjZXMgYHR5cGVgIG9uIGxlYWYgZXJyb3JzLFxuICogYW5kIGBnZXRGaXJzdEVycm9yUGF0aGAgcmVsaWVzIG9uIHRoYXQgdG8gc3RvcCBkZXNjZW5kaW5nIG9uY2UgYSBsZWFmIGlzIGZvdW5kLlxuICogSWYgUkhGIGNoYW5nZXMgdGhpcyBjb250cmFjdCwgdGlnaHRlbiB0aGlzIHByZWRpY2F0ZSAoZS5nLiByZXF1aXJlIGBtZXNzYWdlYC9gcmVmYFxuICogb3IgYW5vdGhlciBzdHJpY3RlciBsZWFmLXNoYXBlIGNoZWNrKSB0byBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMgb24gbmVzdGVkIGNvbnRhaW5lcnMuXG4gKlxuICogQ2hlY2tzIGZvciB0aGUgcHJlc2VuY2Ugb2YgYHR5cGVgLCBgbWVzc2FnZWAsIG9yIGByZWZgIHByb3BlcnRpZXMgd2hpY2hcbiAqIGFyZSBjaGFyYWN0ZXJpc3RpYyBvZiBgcmVhY3QtaG9vay1mb3JtYCBmaWVsZCBlcnJvcnMuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZSBpcyBhIGBGaWVsZEVycm9yYC1saWtlIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRmllbGRFcnJvciA9ICh2YWx1ZSkgPT4ge1xuICAgIGlmICghdmFsdWUgfHwgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0JylcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiAndHlwZScgaW4gdmFsdWUgfHwgJ21lc3NhZ2UnIGluIHZhbHVlIHx8ICdyZWYnIGluIHZhbHVlO1xufTtcbi8qKlxuICogV2Fsa3MgYSBuZXN0ZWQgYEZpZWxkRXJyb3JzYCB0cmVlIChkZXB0aC1maXJzdCkgYW5kIHJldHVybnMgdGhlIGRvdC1wYXRoXG4gKiBvZiB0aGUgZmlyc3QgZXJyb3IgZW5jb3VudGVyZWQuXG4gKlxuICogSGFuZGxlcyBwbGFpbiBvYmplY3RzLCBhcnJheXMgKGUuZy4gZmllbGQgYXJyYXlzKSwgYW5kIGRlZXBseSBuZXN0ZWQgc3RydWN0dXJlcy5cbiAqXG4gKiBAcGFyYW0gZXJyb3JzIC0gVGhlIGBGaWVsZEVycm9yc2Agb2JqZWN0IGZyb20gYHJlYWN0LWhvb2stZm9ybWAuXG4gKiBAcmV0dXJucyBUaGUgZG90LXNlcGFyYXRlZCBwYXRoIChlLmcuIGBcIml0ZW1zLjAubmFtZVwiYCkgb3IgYG51bGxgIGlmIG5vIGVycm9yIGlzIGZvdW5kLlxuICovXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RFcnJvclBhdGggPSAoZXJyb3JzKSA9PiB7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoZXJyb3JzKSkge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IGVycm9yc1trZXldO1xuICAgICAgICBpZiAoIXZhbHVlKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIGlmIChpc0ZpZWxkRXJyb3IodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuIGtleTtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHZhbHVlLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaXRlbSA9IHZhbHVlW2ldO1xuICAgICAgICAgICAgICAgIGlmICghaXRlbSlcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgaWYgKGlzRmllbGRFcnJvcihpdGVtKSlcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGAke2tleX0uJHtpfWA7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0gJiYgdHlwZW9mIGl0ZW0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoaWxkID0gZ2V0Rmlyc3RFcnJvclBhdGgoaXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZClcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBgJHtrZXl9LiR7aX0uJHtjaGlsZH1gO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCBjaGlsZCA9IGdldEZpcnN0RXJyb3JQYXRoKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChjaGlsZClcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7a2V5fS4ke2NoaWxkfWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59O1xuLyoqXG4gKiBFc2NhcGVzIGEgc3RyaW5nIGZvciBzYWZlIHVzZSBpbnNpZGUgYSBDU1MgYXR0cmlidXRlIHNlbGVjdG9yLlxuICpcbiAqIFVzZXMgYENTUy5lc2NhcGVgIHdoZW4gYXZhaWxhYmxlLCB3aXRoIGEgcmVnZXggZmFsbGJhY2sgZm9yIFNTUiBvclxuICogZW52aXJvbm1lbnRzIHdpdGhvdXQgbmF0aXZlIHN1cHBvcnQgKGUuZy4gbmVzdGVkIGZpZWxkIG5hbWVzIGxpa2UgYFwiYWRkcmVzcy5jaXR5XCJgKS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgcmF3IGF0dHJpYnV0ZSB2YWx1ZSB0byBlc2NhcGUuXG4gKiBAcmV0dXJucyBUaGUgZXNjYXBlZCBzdHJpbmcgc2FmZSBmb3IgYHF1ZXJ5U2VsZWN0b3JgLlxuICovXG5leHBvcnQgY29uc3QgZXNjYXBlQXR0ciA9ICh2YWx1ZSkgPT4gdHlwZW9mIENTUyAhPT0gJ3VuZGVmaW5lZCcgJiYgQ1NTLmVzY2FwZVxuICAgID8gQ1NTLmVzY2FwZSh2YWx1ZSlcbiAgICA6IHZhbHVlLnJlcGxhY2UoLyhbXlxcdy1dKS9nLCAnXFxcXCQxJyk7XG4vKipcbiAqIFNjcm9sbHMgdGhlIHZpZXdwb3J0IHRvIHRoZSBmaXJzdCBpbnZhbGlkIGZpZWxkIGlkZW50aWZpZWQgYnkgYG5hbWVgLlxuICpcbiAqIExvb2tzIHVwIHRoZSBlbGVtZW50IHVzaW5nIGVpdGhlciB0aGUgc3RhbmRhcmQgYG5hbWVgIGF0dHJpYnV0ZSBvciB0aGVcbiAqIGBkYXRhLWZvcm0taXRlbS1uYW1lYCBkYXRhIGF0dHJpYnV0ZS4gU3VwcG9ydHMgY3VzdG9tIHNjcm9sbCBiZWhhdmlvclxuICogdmlhIHRoZSBgb3B0aW9uc2AgcGFyYW1ldGVyLlxuICpcbiAqIEBwYXJhbSBuYW1lIC0gVGhlIGZpZWxkIG5hbWUgKHBhdGgpIHRvIHNjcm9sbCB0by5cbiAqIEBwYXJhbSBvcHRpb25zIC0gU2Nyb2xsIGNvbmZpZ3VyYXRpb24gZnJvbSBgRm9ybVByb3BzWydzY3JvbGxUb0ZpcnN0RXJyb3InXWAuXG4gKi9cbmV4cG9ydCBjb25zdCBzY3JvbGxUb0ZpZWxkID0gKG5hbWUsIG9wdGlvbnMpID0+IHtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJylcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IGNvbmZpZyA9IHR5cGVvZiBvcHRpb25zID09PSAnb2JqZWN0JyA/IG9wdGlvbnMgOiB7fTtcbiAgICBjb25zdCBhdHRyTmFtZSA9IGVzY2FwZUF0dHIobmFtZSk7XG4gICAgY29uc3Qgc2VsZWN0b3JCeU5hbWUgPSBgWyR7U0VMRUNUT1JfTkFNRV9BVFRSfT1cIiR7YXR0ck5hbWV9XCJdYDtcbiAgICBjb25zdCBzZWxlY3RvckJ5RGF0YSA9IGBbJHtTRUxFQ1RPUl9EQVRBX0ZPUk1fSVRFTV9BVFRSfT1cIiR7YXR0ck5hbWV9XCJdYDtcbiAgICBjb25zdCBlbCA9IChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yQnlOYW1lKSB8fCBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yQnlEYXRhKSk7XG4gICAgaWYgKCFlbClcbiAgICAgICAgcmV0dXJuO1xuICAgIGNvbnN0IGJlaGF2aW9yID0gKF9hID0gY29uZmlnLmJlaGF2aW9yKSAhPT0gbnVsbCAmJiBfYSAhPT0gdm9pZCAwID8gX2EgOiBERUZBVUxUX1NDUk9MTF9CRUhBVklPUjtcbiAgICBpZiAodHlwZW9mIGNvbmZpZy5vZmZzZXQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGNvbnN0IHJlY3QgPSBlbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgd2luZG93LnNjcm9sbFRvKHtcbiAgICAgICAgICAgIHRvcDogcmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWSAtIGNvbmZpZy5vZmZzZXQsXG4gICAgICAgICAgICBiZWhhdmlvcixcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZWwuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICBiZWhhdmlvcixcbiAgICAgICAgYmxvY2s6IChfYiA9IGNvbmZpZy5ibG9jaykgIT09IG51bGwgJiYgX2IgIT09IHZvaWQgMCA/IF9iIDogREVGQVVMVF9TQ1JPTExfQkxPQ0ssXG4gICAgICAgIGlubGluZTogKF9jID0gY29uZmlnLmlubGluZSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogREVGQVVMVF9TQ1JPTExfSU5MSU5FLFxuICAgIH0pO1xufTtcbi8qKlxuICogUmVzb2x2ZXMgdGhlIGVmZmVjdGl2ZSB2YWxpZGF0aW9uIHN0YXR1cyBmb3IgYSBmb3JtIGZpZWxkLlxuICpcbiAqIEFuIGV4cGxpY2l0IGB2YWxpZGF0ZVN0YXR1c2AgcHJvcCB0YWtlcyBwcmlvcml0eS4gT3RoZXJ3aXNlIHRoZSBzdGF0dXMgaXNcbiAqIGRlcml2ZWQgZnJvbSB0aGUgYGZpZWxkU3RhdGVgIHByb3ZpZGVkIGJ5IGByZWFjdC1ob29rLWZvcm1gJ3MgQ29udHJvbGxlci5cbiAqXG4gKiBAcGFyYW0gZXhwbGljaXQgLSBBbiBleHBsaWNpdCBzdGF0dXMgb3ZlcnJpZGUgZnJvbSBwcm9wcy5cbiAqIEBwYXJhbSBmaWVsZFN0YXRlIC0gVGhlIENvbnRyb2xsZXIgZmllbGQgc3RhdGUgY29udGFpbmluZyBgZXJyb3JgIGFuZCBgaXNWYWxpZGF0aW5nYC5cbiAqIEByZXR1cm5zIFRoZSByZXNvbHZlZCBgRm9ybVZhbGlkYXRlU3RhdHVzYCwgb3IgYHVuZGVmaW5lZGAgaWYgbm8gc3RhdHVzIGFwcGxpZXMuXG4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlU3RhdHVzID0gKGV4cGxpY2l0LCBmaWVsZFN0YXRlKSA9PiB7XG4gICAgaWYgKGV4cGxpY2l0KVxuICAgICAgICByZXR1cm4gZXhwbGljaXQ7XG4gICAgaWYgKGZpZWxkU3RhdGUgPT09IG51bGwgfHwgZmllbGRTdGF0ZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZmllbGRTdGF0ZS5pc1ZhbGlkYXRpbmcpXG4gICAgICAgIHJldHVybiBTVEFUVVNfVkFMSURBVElORztcbiAgICBpZiAoZmllbGRTdGF0ZSA9PT0gbnVsbCB8fCBmaWVsZFN0YXRlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBmaWVsZFN0YXRlLmVycm9yKVxuICAgICAgICByZXR1cm4gU1RBVFVTX0VSUk9SO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuLyoqXG4gKiBOb3JtYWxpemVzIGEgYHZhbGlkYXRlVHJpZ2dlcmAgcHJvcCBpbnRvIGEgY29uc2lzdGVudCBhcnJheSBmb3JtLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIEEgc2luZ2xlIHRyaWdnZXIgc3RyaW5nLCBhbiBhcnJheSwgb3IgYHVuZGVmaW5lZGAuXG4gKiBAcmV0dXJucyBBbiBhcnJheSBvZiB0cmlnZ2VyIG1vZGVzIChlLmcuIGBbJ29uQ2hhbmdlJywgJ29uQmx1ciddYCksIG9yIGFuIGVtcHR5IGFycmF5LlxuICovXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplVmFsaWRhdGVUcmlnZ2VyID0gKHZhbHVlKSA9PiB7XG4gICAgaWYgKCF2YWx1ZSlcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbn07XG4vKipcbiAqIE1hcHMgYSBgRm9ybVZhbGlkYXRlU3RhdHVzYCB0byBib29sZWFuIHByb3BzIHN1aXRhYmxlIGZvciBJbnB1dC1saWtlIGNvbXBvbmVudHMuXG4gKlxuICogQHBhcmFtIHN0YXR1cyAtIFRoZSBjdXJyZW50IHZhbGlkYXRpb24gc3RhdHVzLlxuICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYGludmFsaWQ6IHRydWVgLCBgc3VjY2VzczogdHJ1ZWAsIG9yIGFuIGVtcHR5IG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFN0YXR1c1Byb3BzID0gKHN0YXR1cykgPT4gKHN0YXR1cyA9PT0gU1RBVFVTX0VSUk9SXG4gICAgPyB7IGludmFsaWQ6IHRydWUgfVxuICAgIDogc3RhdHVzID09PSBTVEFUVVNfU1VDQ0VTU1xuICAgICAgICA/IHsgc3VjY2VzczogdHJ1ZSB9XG4gICAgICAgIDoge30pO1xuLyoqXG4gKiBQZXJmb3JtcyBhIHNoYWxsb3cgY29tcGFyaXNvbiBvZiB0d28gYXJyYXlzIHVzaW5nIGBPYmplY3QuaXNgIGZvciBlYWNoIGVsZW1lbnQuXG4gKlxuICogQHBhcmFtIGEgLSBGaXJzdCBhcnJheS5cbiAqIEBwYXJhbSBiIC0gU2Vjb25kIGFycmF5LlxuICogQHJldHVybnMgYHRydWVgIGlmIGJvdGggYXJyYXlzIGhhdmUgdGhlIHNhbWUgbGVuZ3RoIGFuZCBpZGVudGljYWwgZWxlbWVudHMgYnkgcmVmZXJlbmNlLlxuICovXG5leHBvcnQgY29uc3Qgc2hhbGxvd0VxdWFsQXJyYXkgPSAoYSwgYikgPT4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIGEuZXZlcnkoKHYsIGkpID0+IE9iamVjdC5pcyh2LCBiW2ldKSk7XG4vKipcbiAqIE5vcm1hbGl6ZXMgYSBjdXN0b20gYFZhbGlkYXRlUmVzdWx0YCB0byBiZSBjb21wYXRpYmxlIHdpdGggYHJlYWN0LWhvb2stZm9ybWAuXG4gKlxuICogUkhGIHRyZWF0cyBgbnVsbGAgYXMgYSB0cnV0aHkgZXJyb3IgdmFsdWUsIHNvIHRoaXMgY29udmVydHMgYG51bGxgIHRvIGB0cnVlYCAodmFsaWQpLlxuICpcbiAqIEBwYXJhbSByZXN1bHQgLSBUaGUgcmF3IHZhbGlkYXRpb24gcmVzdWx0LlxuICogQHJldHVybnMgVGhlIG5vcm1hbGl6ZWQgcmVzdWx0IChgdHJ1ZWAgZm9yIHZhbGlkLCBvciBhbiBlcnJvciBzdHJpbmcvYm9vbGVhbikuXG4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVWYWxpZGF0ZVJlc3VsdCA9IChyZXN1bHQpID0+IChyZXN1bHQgPT09IG51bGwgPyB0cnVlIDogcmVzdWx0KTtcbi8qKlxuICogV3JhcHMgYSBtdWx0aS12YWxpZGF0b3IgcmVjb3JkIHRvIGhvbm9yIGB2YWxpZGF0ZUZpcnN0YCBzZXF1ZW5jaW5nLlxuICpcbiAqIFdoZW4gYG1vZGVgIGlzIGB0cnVlYCwgdmFsaWRhdG9ycyBydW4gKipzZXF1ZW50aWFsbHkqKiBhbmQgc3RvcCBhdCB0aGUgZmlyc3QgZXJyb3IuXG4gKiBXaGVuIGBtb2RlYCBpcyBgJ3BhcmFsbGVsJ2AsIGFsbCB2YWxpZGF0b3JzIHJ1biBjb25jdXJyZW50bHkgYW5kIHRoZSBmaXJzdCBlcnJvciBmb3VuZCBpcyByZXR1cm5lZC5cbiAqIFdoZW4gYG1vZGVgIGlzIGZhbHN5IG9yIGB2YWxpZGF0ZWAgaXMgYSBzaW5nbGUgZnVuY3Rpb24sIHRoZSBvcmlnaW5hbCB2YWx1ZSBpcyByZXR1cm5lZCB1bmNoYW5nZWQuXG4gKlxuICogQHRlbXBsYXRlIFRWYWx1ZXMgLSBUaGUgc2hhcGUgb2YgdGhlIGZvcm0gdmFsdWVzLlxuICogQHRlbXBsYXRlIFROYW1lIC0gVGhlIGZpZWxkIHBhdGggdHlwZS5cbiAqIEBwYXJhbSB2YWxpZGF0ZSAtIFRoZSB2YWxpZGF0b3Igb3IgcmVjb3JkIG9mIHZhbGlkYXRvcnMgZnJvbSBgUmVnaXN0ZXJPcHRpb25zYC5cbiAqIEBwYXJhbSBtb2RlIC0gVGhlIGB2YWxpZGF0ZUZpcnN0YCBtb2RlLlxuICogQHJldHVybnMgQSB3cmFwcGVkIHZhbGlkYXRvciBmdW5jdGlvbiwgb3IgdGhlIG9yaWdpbmFsIHZhbHVlIHdoZW4gbm8gd3JhcHBpbmcgaXMgbmVlZGVkLlxuICovXG5leHBvcnQgY29uc3Qgd3JhcFZhbGlkYXRlID0gKHZhbGlkYXRlLCBtb2RlKSA9PiB7XG4gICAgaWYgKCF2YWxpZGF0ZSB8fCAhbW9kZSB8fCB0eXBlb2YgdmFsaWRhdGUgPT09ICdmdW5jdGlvbicpXG4gICAgICAgIHJldHVybiB2YWxpZGF0ZTtcbiAgICBjb25zdCB2YWxpZGF0b3JzID0gT2JqZWN0LnZhbHVlcyh2YWxpZGF0ZSk7XG4gICAgcmV0dXJuICh2YWx1ZSwgdmFsdWVzKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgaWYgKG1vZGUgPT09IFZBTElEQVRFX1BBUkFMTEVMKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHRzID0geWllbGQgUHJvbWlzZS5hbGwodmFsaWRhdG9ycy5tYXAoKGZuKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbm9ybWFsaXplVmFsaWRhdGVSZXN1bHQoeWllbGQgUHJvbWlzZS5yZXNvbHZlKGZuKHZhbHVlLCB2YWx1ZXMpKSk7XG4gICAgICAgICAgICB9KSkpO1xuICAgICAgICAgICAgY29uc3QgaGl0ID0gcmVzdWx0cy5maW5kKHJlc3VsdCA9PiByZXN1bHQgIT09IHRydWUgJiYgcmVzdWx0ICE9PSB1bmRlZmluZWQpO1xuICAgICAgICAgICAgcmV0dXJuIGhpdCAhPT0gbnVsbCAmJiBoaXQgIT09IHZvaWQgMCA/IGhpdCA6IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBmbiBvZiB2YWxpZGF0b3JzKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBub3JtYWxpemVWYWxpZGF0ZVJlc3VsdCh5aWVsZCBmbih2YWx1ZSwgdmFsdWVzKSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0ICE9PSB0cnVlICYmIHJlc3VsdCAhPT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG59OyJdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module Form
|
|
3
|
+
*
|
|
4
|
+
* Form components built on top of `react-hook-form` with layout management,
|
|
5
|
+
* validation triggers, scroll-to-error, and value-change subscriptions.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* import { Form, FormItem } from '@1money/react-ui';
|
|
10
|
+
*
|
|
11
|
+
* <Form defaultValues={{ name: '' }} onFinish={handleSubmit}>
|
|
12
|
+
* <FormItem name="name" label="Name" rules={{ required: true }}>
|
|
13
|
+
* <Input />
|
|
14
|
+
* </FormItem>
|
|
15
|
+
* </Form>
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
18
|
+
export { Form, default } from './Form';
|
|
19
|
+
export { FormItem } from './FormItem';
|
|
20
|
+
export * from './interface';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
var _exportNames = {
|
|
8
|
+
Form: true,
|
|
9
|
+
FormItem: true
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "Form", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
get: function get() {
|
|
14
|
+
return _Form.Form;
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "FormItem", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function get() {
|
|
20
|
+
return _FormItem.FormItem;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports, "default", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
get: function get() {
|
|
26
|
+
return _Form["default"];
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
var _Form = _interopRequireWildcard(require("./Form"));
|
|
30
|
+
var _FormItem = require("./FormItem");
|
|
31
|
+
var _interface = require("./interface");
|
|
32
|
+
Object.keys(_interface).forEach(function (key) {
|
|
33
|
+
if (key === "default" || key === "__esModule") return;
|
|
34
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
35
|
+
if (key in exports && exports[key] === _interface[key]) return;
|
|
36
|
+
Object.defineProperty(exports, key, {
|
|
37
|
+
enumerable: true,
|
|
38
|
+
get: function get() {
|
|
39
|
+
return _interface[key];
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
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); }
|
|
44
|
+
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; }
|
|
45
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvRm9ybS9pbmRleC50cyJdLCJuYW1lcyI6WyJfRm9ybSIsIl9pbnRlcm9wUmVxdWlyZVdpbGRjYXJkIiwicmVxdWlyZSIsIl9Gb3JtSXRlbSIsIl9pbnRlcmZhY2UiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIl9leHBvcnROYW1lcyIsImV4cG9ydHMiLCJkZWZpbmVQcm9wZXJ0eSIsImVudW1lcmFibGUiLCJnZXQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJlIiwiV2Vha01hcCIsInIiLCJ0IiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJoYXMiLCJuIiwiX19wcm90b19fIiwiYSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsInUiLCJpIiwic2V0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUJBLElBQUFBLEtBQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFNBQUEsR0FBQUQsT0FBQTtBQUVBLElBQUFFLFVBQUEsR0FBQUYsT0FBQTtBQUFBRyxNQUFBLENBQUFDLElBQUEsQ0FBQUYsVUFBQSxFQUFBRyxPQUFBLFdBQUFDLEdBQUE7RUFBQSxJQUFBQSxHQUFBLGtCQUFBQSxHQUFBO0VBQUEsSUFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBQyxZQUFBLEVBQUFKLEdBQUE7RUFBQSxJQUFBQSxHQUFBLElBQUFLLE9BQUEsSUFBQUEsT0FBQSxDQUFBTCxHQUFBLE1BQUFKLFVBQUEsQ0FBQUksR0FBQTtFQUFBSCxNQUFBLENBQUFTLGNBQUEsQ0FBQUQsT0FBQSxFQUFBTCxHQUFBO0lBQUFPLFVBQUE7SUFBQUMsR0FBQSxXQUFBQSxJQUFBO01BQUEsT0FBQVosVUFBQSxDQUFBSSxHQUFBO0lBQUE7RUFBQTtBQUFBO0FBQTRCLFNBQUFTLHlCQUFBQyxDQUFBLDZCQUFBQyxPQUFBLG1CQUFBQyxDQUFBLE9BQUFELE9BQUEsSUFBQUUsQ0FBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxDQUFBLFdBQUFBLENBQUEsR0FBQUcsQ0FBQSxHQUFBRCxDQUFBLEtBQUFGLENBQUE7QUFBQSxTQUFBakIsd0JBQUFpQixDQUFBLEVBQUFFLENBQUEsU0FBQUEsQ0FBQSxJQUFBRixDQUFBLElBQUFBLENBQUEsQ0FBQUksVUFBQSxTQUFBSixDQUFBLGVBQUFBLENBQUEsZ0JBQUFLLE9BQUEsQ0FBQUwsQ0FBQSwwQkFBQUEsQ0FBQSxzQkFBQUEsQ0FBQSxRQUFBRyxDQUFBLEdBQUFKLHdCQUFBLENBQUFHLENBQUEsT0FBQUMsQ0FBQSxJQUFBQSxDQUFBLENBQUFHLEdBQUEsQ0FBQU4sQ0FBQSxVQUFBRyxDQUFBLENBQUFMLEdBQUEsQ0FBQUUsQ0FBQSxPQUFBTyxDQUFBLEtBQUFDLFNBQUEsVUFBQUMsQ0FBQSxHQUFBdEIsTUFBQSxDQUFBUyxjQUFBLElBQUFULE1BQUEsQ0FBQXVCLHdCQUFBLFdBQUFDLENBQUEsSUFBQVgsQ0FBQSxvQkFBQVcsQ0FBQSxPQUFBbkIsY0FBQSxDQUFBQyxJQUFBLENBQUFPLENBQUEsRUFBQVcsQ0FBQSxTQUFBQyxDQUFBLEdBQUFILENBQUEsR0FBQXRCLE1BQUEsQ0FBQXVCLHdCQUFBLENBQUFWLENBQUEsRUFBQVcsQ0FBQSxVQUFBQyxDQUFBLEtBQUFBLENBQUEsQ0FBQWQsR0FBQSxJQUFBYyxDQUFBLENBQUFDLEdBQUEsSUFBQTFCLE1BQUEsQ0FBQVMsY0FBQSxDQUFBVyxDQUFBLEVBQUFJLENBQUEsRUFBQUMsQ0FBQSxJQUFBTCxDQUFBLENBQUFJLENBQUEsSUFBQVgsQ0FBQSxDQUFBVyxDQUFBLFlBQUFKLENBQUEsY0FBQVAsQ0FBQSxFQUFBRyxDQUFBLElBQUFBLENBQUEsQ0FBQVUsR0FBQSxDQUFBYixDQUFBLEVBQUFPLENBQUEsR0FBQUEsQ0FBQSIsImZpbGUiOiJjb21wb25lbnRzL0Zvcm0vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|