@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,295 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) {
|
|
5
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
6
|
+
resolve(value);
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.next(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function rejected(value) {
|
|
18
|
+
try {
|
|
19
|
+
step(generator["throw"](value));
|
|
20
|
+
} catch (e) {
|
|
21
|
+
reject(e);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function step(result) {
|
|
25
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
26
|
+
}
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
var __rest = this && this.__rest || function (s, e) {
|
|
31
|
+
var t = {};
|
|
32
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
33
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
34
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
35
|
+
}
|
|
36
|
+
return t;
|
|
37
|
+
};
|
|
38
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
39
|
+
import { Children, isValidElement, memo, useCallback, useMemo, useRef, useState } from 'react';
|
|
40
|
+
import { joinCls } from '../../../utils/classnames';
|
|
41
|
+
import { Button } from '../../Button';
|
|
42
|
+
import useLatest from '../../useLatest';
|
|
43
|
+
import ProForm from '../ProForm';
|
|
44
|
+
import { CSS_PREFIX, DEFAULT_TEXT } from '../constants';
|
|
45
|
+
import styles from '../style/ProForm.module.scss';
|
|
46
|
+
/**
|
|
47
|
+
* Wrapper component representing an individual step inside {@link StepsForm}.
|
|
48
|
+
* Does not render its own form — its children are rendered by the parent `StepsForm`.
|
|
49
|
+
*/
|
|
50
|
+
export var StepForm = function StepForm(props) {
|
|
51
|
+
return _jsx(_Fragment, {
|
|
52
|
+
children: props.children
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
/**
|
|
56
|
+
* Picks only safe HTML div attributes (`className`, `style`, `id`, `data-*`, `aria-*`)
|
|
57
|
+
* from a props object, filtering out component-specific props.
|
|
58
|
+
*/
|
|
59
|
+
var pickHtmlDivProps = function pickHtmlDivProps(props) {
|
|
60
|
+
var result = {};
|
|
61
|
+
for (var _i = 0, _Object$keys = Object.keys(props); _i < _Object$keys.length; _i++) {
|
|
62
|
+
var key = _Object$keys[_i];
|
|
63
|
+
if (key === 'className' || key === 'style' || key === 'id' || key.startsWith('data-') || key.startsWith('aria-')) {
|
|
64
|
+
result[key] = props[key];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Multi-step wizard form that renders one step at a time, merging values
|
|
71
|
+
* from all steps and calling `onFinish` with the combined result on the final step.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```tsx
|
|
75
|
+
* <StepsForm onFinish={handleSubmit}>
|
|
76
|
+
* <StepsForm.StepForm title="Basic Info">
|
|
77
|
+
* <ProFormText name="name" label="Name" />
|
|
78
|
+
* </StepsForm.StepForm>
|
|
79
|
+
* <StepsForm.StepForm title="Details">
|
|
80
|
+
* <ProFormTextArea name="bio" label="Bio" />
|
|
81
|
+
* </StepsForm.StepForm>
|
|
82
|
+
* </StepsForm>
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
var StepsFormInner = function StepsFormInner(props) {
|
|
86
|
+
var _a;
|
|
87
|
+
var current = props.current,
|
|
88
|
+
onCurrentChange = props.onCurrentChange,
|
|
89
|
+
onFinish = props.onFinish,
|
|
90
|
+
stepsProps = props.stepsProps,
|
|
91
|
+
formProps = props.formProps,
|
|
92
|
+
submitter = props.submitter,
|
|
93
|
+
children = props.children;
|
|
94
|
+
var _useState = useState(0),
|
|
95
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
96
|
+
innerCurrent = _useState2[0],
|
|
97
|
+
setInnerCurrent = _useState2[1];
|
|
98
|
+
var _useState3 = useState({}),
|
|
99
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
100
|
+
allValues = _useState4[0],
|
|
101
|
+
setAllValues = _useState4[1];
|
|
102
|
+
var allValuesRef = useRef({});
|
|
103
|
+
/** Tracks which step index each key was last submitted from. */
|
|
104
|
+
var keyStepMapRef = useRef(new Map());
|
|
105
|
+
var stepPanelRef = useRef(null);
|
|
106
|
+
var steps = useMemo(function () {
|
|
107
|
+
return Children.toArray(children).filter(isValidElement);
|
|
108
|
+
}, [children]);
|
|
109
|
+
var mergedCurrent = typeof current === 'number' ? current : innerCurrent;
|
|
110
|
+
var mergedCurrentRef = useLatest(mergedCurrent);
|
|
111
|
+
var activeStep = steps[mergedCurrent];
|
|
112
|
+
var setCurrent = useCallback(function (nextCurrent) {
|
|
113
|
+
// When navigating backward, clear accumulated values from steps after
|
|
114
|
+
// the target so stale data doesn't persist when the user changes answers.
|
|
115
|
+
if (nextCurrent < mergedCurrentRef.current) {
|
|
116
|
+
setAllValues(function (prev) {
|
|
117
|
+
var cleaned = Object.assign({}, prev);
|
|
118
|
+
keyStepMapRef.current.forEach(function (stepIndex, key) {
|
|
119
|
+
if (stepIndex > nextCurrent) {
|
|
120
|
+
delete cleaned[key];
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
allValuesRef.current = cleaned;
|
|
124
|
+
return cleaned;
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
if (current === undefined) {
|
|
128
|
+
setInnerCurrent(nextCurrent);
|
|
129
|
+
}
|
|
130
|
+
onCurrentChange === null || onCurrentChange === void 0 ? void 0 : onCurrentChange(nextCurrent);
|
|
131
|
+
}, [current, onCurrentChange]);
|
|
132
|
+
var handleStepFinish = useCallback(function (values) {
|
|
133
|
+
return __awaiter(void 0, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
134
|
+
var _a, _b, currentStep, stepResult, _i2, _Object$keys2, key, mergedValues, isLast;
|
|
135
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
136
|
+
while (1) switch (_context.prev = _context.next) {
|
|
137
|
+
case 0:
|
|
138
|
+
currentStep = steps[mergedCurrent];
|
|
139
|
+
_context.next = 3;
|
|
140
|
+
return (_b = (_a = currentStep === null || currentStep === void 0 ? void 0 : currentStep.props) === null || _a === void 0 ? void 0 : _a.onFinish) === null || _b === void 0 ? void 0 : _b.call(_a, values);
|
|
141
|
+
case 3:
|
|
142
|
+
stepResult = _context.sent;
|
|
143
|
+
if (!(stepResult === false)) {
|
|
144
|
+
_context.next = 6;
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
return _context.abrupt("return");
|
|
148
|
+
case 6:
|
|
149
|
+
// Track which step each key was submitted from so backward navigation
|
|
150
|
+
// can selectively clear downstream step data.
|
|
151
|
+
for (_i2 = 0, _Object$keys2 = Object.keys(values); _i2 < _Object$keys2.length; _i2++) {
|
|
152
|
+
key = _Object$keys2[_i2];
|
|
153
|
+
keyStepMapRef.current.set(key, mergedCurrent);
|
|
154
|
+
}
|
|
155
|
+
mergedValues = Object.assign(Object.assign({}, allValuesRef.current), values);
|
|
156
|
+
allValuesRef.current = mergedValues;
|
|
157
|
+
setAllValues(mergedValues);
|
|
158
|
+
isLast = mergedCurrent >= steps.length - 1;
|
|
159
|
+
if (!isLast) {
|
|
160
|
+
_context.next = 15;
|
|
161
|
+
break;
|
|
162
|
+
}
|
|
163
|
+
_context.next = 14;
|
|
164
|
+
return onFinish === null || onFinish === void 0 ? void 0 : onFinish(mergedValues);
|
|
165
|
+
case 14:
|
|
166
|
+
return _context.abrupt("return");
|
|
167
|
+
case 15:
|
|
168
|
+
setCurrent(mergedCurrent + 1);
|
|
169
|
+
case 16:
|
|
170
|
+
case "end":
|
|
171
|
+
return _context.stop();
|
|
172
|
+
}
|
|
173
|
+
}, _callee);
|
|
174
|
+
}));
|
|
175
|
+
}, [mergedCurrent, onFinish, setCurrent, steps]);
|
|
176
|
+
var parentFormProps = formProps;
|
|
177
|
+
var _b = (_a = activeStep === null || activeStep === void 0 ? void 0 : activeStep.props) !== null && _a !== void 0 ? _a : {},
|
|
178
|
+
_b2 = _b,
|
|
179
|
+
title = _b2.title,
|
|
180
|
+
description = _b2.description,
|
|
181
|
+
stepProps = _b2.stepProps,
|
|
182
|
+
stepChildren = _b2.children,
|
|
183
|
+
stepFormProps = __rest(_b, ["title", "description", "stepProps", "children"]);
|
|
184
|
+
var activeStepFormProps = activeStep ? stepFormProps : undefined;
|
|
185
|
+
var stepsHtmlProps = pickHtmlDivProps(stepsProps || {});
|
|
186
|
+
var stepHtmlProps = pickHtmlDivProps(stepProps || {});
|
|
187
|
+
var mergedDefaultValues = useMemo(function () {
|
|
188
|
+
return Object.assign(Object.assign(Object.assign({}, parentFormProps === null || parentFormProps === void 0 ? void 0 : parentFormProps.defaultValues), activeStepFormProps === null || activeStepFormProps === void 0 ? void 0 : activeStepFormProps.defaultValues), allValues);
|
|
189
|
+
}, [activeStepFormProps === null || activeStepFormProps === void 0 ? void 0 : activeStepFormProps.defaultValues, allValues, parentFormProps === null || parentFormProps === void 0 ? void 0 : parentFormProps.defaultValues]);
|
|
190
|
+
var submitterConfig = submitter === false ? false : submitter || {};
|
|
191
|
+
var handlePrev = useCallback(function () {
|
|
192
|
+
var _a;
|
|
193
|
+
if (submitterConfig !== false) {
|
|
194
|
+
(_a = submitterConfig.onReset) === null || _a === void 0 ? void 0 : _a.call(submitterConfig);
|
|
195
|
+
}
|
|
196
|
+
if (mergedCurrent > 0) {
|
|
197
|
+
setCurrent(mergedCurrent - 1);
|
|
198
|
+
}
|
|
199
|
+
}, [mergedCurrent, setCurrent, submitterConfig]);
|
|
200
|
+
var handleSubmitClick = useCallback(function () {
|
|
201
|
+
var _a;
|
|
202
|
+
if (submitterConfig !== false) {
|
|
203
|
+
(_a = submitterConfig.onSubmit) === null || _a === void 0 ? void 0 : _a.call(submitterConfig);
|
|
204
|
+
}
|
|
205
|
+
}, [submitterConfig]);
|
|
206
|
+
var triggerStepSubmit = useCallback(function () {
|
|
207
|
+
var _a, _b;
|
|
208
|
+
if (submitterConfig !== false) {
|
|
209
|
+
(_a = submitterConfig.onSubmit) === null || _a === void 0 ? void 0 : _a.call(submitterConfig);
|
|
210
|
+
}
|
|
211
|
+
var formNode = (_b = stepPanelRef.current) === null || _b === void 0 ? void 0 : _b.querySelector('form');
|
|
212
|
+
if (!formNode) return;
|
|
213
|
+
if (typeof formNode.requestSubmit === 'function') {
|
|
214
|
+
formNode.requestSubmit();
|
|
215
|
+
return;
|
|
216
|
+
}
|
|
217
|
+
formNode.dispatchEvent(new Event('submit', {
|
|
218
|
+
bubbles: true,
|
|
219
|
+
cancelable: true
|
|
220
|
+
}));
|
|
221
|
+
}, [submitterConfig]);
|
|
222
|
+
var prevText = submitterConfig !== false && submitterConfig.prevText ? submitterConfig.prevText : DEFAULT_TEXT.previous;
|
|
223
|
+
var nextText = submitterConfig !== false && submitterConfig.nextText ? submitterConfig.nextText : DEFAULT_TEXT.next;
|
|
224
|
+
var submitText = submitterConfig !== false && submitterConfig.submitText ? submitterConfig.submitText : DEFAULT_TEXT.submit;
|
|
225
|
+
var isLastStep = mergedCurrent >= steps.length - 1;
|
|
226
|
+
var stepsClassNameRaw = stepsHtmlProps.className,
|
|
227
|
+
stepsRestHtml = __rest(stepsHtmlProps, ["className"]);
|
|
228
|
+
var stepClassNameRaw = stepHtmlProps.className,
|
|
229
|
+
stepRestHtml = __rest(stepHtmlProps, ["className"]);
|
|
230
|
+
var stepsClassName = typeof stepsClassNameRaw === 'string' ? stepsClassNameRaw : undefined;
|
|
231
|
+
var stepClassName = typeof stepClassNameRaw === 'string' ? stepClassNameRaw : undefined;
|
|
232
|
+
var renderedActions = useMemo(function () {
|
|
233
|
+
var _a, _b, _c, _d;
|
|
234
|
+
if (submitterConfig === false) return null;
|
|
235
|
+
var resetButtonProps = submitterConfig.resetButtonProps;
|
|
236
|
+
var submitButtonProps = submitterConfig.submitButtonProps;
|
|
237
|
+
var prevButton = mergedCurrent > 0 ? _jsx(Button, Object.assign({}, resetButtonProps, {
|
|
238
|
+
type: (_a = resetButtonProps === null || resetButtonProps === void 0 ? void 0 : resetButtonProps.type) !== null && _a !== void 0 ? _a : 'button',
|
|
239
|
+
severity: (_b = resetButtonProps === null || resetButtonProps === void 0 ? void 0 : resetButtonProps.severity) !== null && _b !== void 0 ? _b : 'secondary',
|
|
240
|
+
onClick: function onClick(event) {
|
|
241
|
+
var _a;
|
|
242
|
+
(_a = resetButtonProps === null || resetButtonProps === void 0 ? void 0 : resetButtonProps.onClick) === null || _a === void 0 ? void 0 : _a.call(resetButtonProps, event);
|
|
243
|
+
handlePrev();
|
|
244
|
+
},
|
|
245
|
+
children: prevText
|
|
246
|
+
}), 'prev') : null;
|
|
247
|
+
var nextButton = _jsx(Button, Object.assign({}, submitButtonProps, {
|
|
248
|
+
type: (_c = submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.type) !== null && _c !== void 0 ? _c : 'submit',
|
|
249
|
+
onClick: function onClick(event) {
|
|
250
|
+
var _a;
|
|
251
|
+
(_a = submitButtonProps === null || submitButtonProps === void 0 ? void 0 : submitButtonProps.onClick) === null || _a === void 0 ? void 0 : _a.call(submitButtonProps, event);
|
|
252
|
+
handleSubmitClick();
|
|
253
|
+
},
|
|
254
|
+
children: isLastStep ? submitText : nextText
|
|
255
|
+
}), 'submit');
|
|
256
|
+
var defaultDom = [prevButton, nextButton].filter(Boolean);
|
|
257
|
+
if (!submitterConfig.render) return defaultDom;
|
|
258
|
+
return submitterConfig.render({
|
|
259
|
+
form: (_d = activeStepFormProps === null || activeStepFormProps === void 0 ? void 0 : activeStepFormProps.form) !== null && _d !== void 0 ? _d : parentFormProps === null || parentFormProps === void 0 ? void 0 : parentFormProps.form,
|
|
260
|
+
submit: triggerStepSubmit,
|
|
261
|
+
reset: handlePrev
|
|
262
|
+
}, defaultDom);
|
|
263
|
+
}, [activeStepFormProps === null || activeStepFormProps === void 0 ? void 0 : activeStepFormProps.form, handlePrev, handleSubmitClick, isLastStep, mergedCurrent, nextText, parentFormProps === null || parentFormProps === void 0 ? void 0 : parentFormProps.form, prevText, submitText, submitterConfig, triggerStepSubmit]);
|
|
264
|
+
if (!activeStep) return null;
|
|
265
|
+
return _jsx("div", Object.assign({}, stepsRestHtml, {
|
|
266
|
+
className: joinCls("".concat(CSS_PREFIX, "-steps-form"), stepsClassName),
|
|
267
|
+
children: _jsxs("div", Object.assign({}, stepRestHtml, {
|
|
268
|
+
ref: stepPanelRef,
|
|
269
|
+
className: joinCls("".concat(CSS_PREFIX, "-steps-form-step"), stepClassName),
|
|
270
|
+
children: [title && _jsx("div", {
|
|
271
|
+
className: joinCls(styles['proform__steps-form-title'], "".concat(CSS_PREFIX, "-steps-form-title")),
|
|
272
|
+
children: title
|
|
273
|
+
}), description && _jsx("div", {
|
|
274
|
+
className: joinCls(styles['proform__steps-form-description'], "".concat(CSS_PREFIX, "-steps-form-description")),
|
|
275
|
+
children: description
|
|
276
|
+
}), _jsxs(ProForm, Object.assign({}, parentFormProps, activeStepFormProps, {
|
|
277
|
+
defaultValues: mergedDefaultValues,
|
|
278
|
+
submitter: false,
|
|
279
|
+
onFinish: handleStepFinish,
|
|
280
|
+
children: [stepChildren, renderedActions && _jsx("div", {
|
|
281
|
+
className: joinCls(styles['proform__steps-form-actions'], "".concat(CSS_PREFIX, "-steps-form-actions")),
|
|
282
|
+
children: renderedActions
|
|
283
|
+
})]
|
|
284
|
+
}), "step-".concat(mergedCurrent))]
|
|
285
|
+
}))
|
|
286
|
+
}));
|
|
287
|
+
};
|
|
288
|
+
StepsFormInner.displayName = 'StepsForm';
|
|
289
|
+
var StepsFormBase = /*#__PURE__*/memo(StepsFormInner);
|
|
290
|
+
// Type assertion required because memo() loses the static StepForm property type.
|
|
291
|
+
// We attach StepForm as a static property below, making this a compound component pattern.
|
|
292
|
+
export var StepsForm = StepsFormBase;
|
|
293
|
+
StepsForm.StepForm = StepForm;
|
|
294
|
+
export default StepsForm;
|
|
295
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL1N0ZXBzRm9ybS5qcyIsImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvU3RlcHNGb3JtLnRzeCJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJfX3Jlc3QiLCJzIiwidCIsInAiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJpbmRleE9mIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaSIsImxlbmd0aCIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiQ2hpbGRyZW4iLCJpc1ZhbGlkRWxlbWVudCIsIm1lbW8iLCJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsImpvaW5DbHMiLCJCdXR0b24iLCJ1c2VMYXRlc3QiLCJQcm9Gb3JtIiwiQ1NTX1BSRUZJWCIsIkRFRkFVTFRfVEVYVCIsInN0eWxlcyIsIlN0ZXBGb3JtIiwicHJvcHMiLCJjaGlsZHJlbiIsInBpY2tIdG1sRGl2UHJvcHMiLCJfaSIsIl9PYmplY3Qka2V5cyIsImtleXMiLCJrZXkiLCJzdGFydHNXaXRoIiwiU3RlcHNGb3JtSW5uZXIiLCJfYSIsImN1cnJlbnQiLCJvbkN1cnJlbnRDaGFuZ2UiLCJvbkZpbmlzaCIsInN0ZXBzUHJvcHMiLCJmb3JtUHJvcHMiLCJzdWJtaXR0ZXIiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbm5lckN1cnJlbnQiLCJzZXRJbm5lckN1cnJlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImFsbFZhbHVlcyIsInNldEFsbFZhbHVlcyIsImFsbFZhbHVlc1JlZiIsImtleVN0ZXBNYXBSZWYiLCJNYXAiLCJzdGVwUGFuZWxSZWYiLCJzdGVwcyIsInRvQXJyYXkiLCJmaWx0ZXIiLCJtZXJnZWRDdXJyZW50IiwibWVyZ2VkQ3VycmVudFJlZiIsImFjdGl2ZVN0ZXAiLCJzZXRDdXJyZW50IiwibmV4dEN1cnJlbnQiLCJwcmV2IiwiY2xlYW5lZCIsImFzc2lnbiIsImZvckVhY2giLCJzdGVwSW5kZXgiLCJ1bmRlZmluZWQiLCJoYW5kbGVTdGVwRmluaXNoIiwidmFsdWVzIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX2IiLCJjdXJyZW50U3RlcCIsInN0ZXBSZXN1bHQiLCJfaTIiLCJfT2JqZWN0JGtleXMyIiwibWVyZ2VkVmFsdWVzIiwiaXNMYXN0Iiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJzZW50IiwiYWJydXB0Iiwic2V0Iiwic3RvcCIsInBhcmVudEZvcm1Qcm9wcyIsIl9iMiIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJzdGVwUHJvcHMiLCJzdGVwQ2hpbGRyZW4iLCJzdGVwRm9ybVByb3BzIiwiYWN0aXZlU3RlcEZvcm1Qcm9wcyIsInN0ZXBzSHRtbFByb3BzIiwic3RlcEh0bWxQcm9wcyIsIm1lcmdlZERlZmF1bHRWYWx1ZXMiLCJkZWZhdWx0VmFsdWVzIiwic3VibWl0dGVyQ29uZmlnIiwiaGFuZGxlUHJldiIsIm9uUmVzZXQiLCJoYW5kbGVTdWJtaXRDbGljayIsIm9uU3VibWl0IiwidHJpZ2dlclN0ZXBTdWJtaXQiLCJmb3JtTm9kZSIsInF1ZXJ5U2VsZWN0b3IiLCJyZXF1ZXN0U3VibWl0IiwiZGlzcGF0Y2hFdmVudCIsIkV2ZW50IiwiYnViYmxlcyIsImNhbmNlbGFibGUiLCJwcmV2VGV4dCIsInByZXZpb3VzIiwibmV4dFRleHQiLCJzdWJtaXRUZXh0Iiwic3VibWl0IiwiaXNMYXN0U3RlcCIsInN0ZXBzQ2xhc3NOYW1lUmF3IiwiY2xhc3NOYW1lIiwic3RlcHNSZXN0SHRtbCIsInN0ZXBDbGFzc05hbWVSYXciLCJzdGVwUmVzdEh0bWwiLCJzdGVwc0NsYXNzTmFtZSIsInN0ZXBDbGFzc05hbWUiLCJyZW5kZXJlZEFjdGlvbnMiLCJfYyIsIl9kIiwicmVzZXRCdXR0b25Qcm9wcyIsInN1Ym1pdEJ1dHRvblByb3BzIiwicHJldkJ1dHRvbiIsInR5cGUiLCJzZXZlcml0eSIsIm9uQ2xpY2siLCJldmVudCIsIm5leHRCdXR0b24iLCJkZWZhdWx0RG9tIiwiQm9vbGVhbiIsInJlbmRlciIsImZvcm0iLCJyZXNldCIsImNvbmNhdCIsInJlZiIsImRpc3BsYXlOYW1lIiwiU3RlcHNGb3JtQmFzZSIsIlN0ZXBzRm9ybSJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxJQUFJQSxTQUFTLEdBQUksSUFBSSxJQUFJLElBQUksQ0FBQ0EsU0FBUyxJQUFLLFVBQVVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxDQUFDLEVBQUVDLFNBQVMsRUFBRTtFQUNyRixTQUFTQyxLQUFLQSxDQUFDQyxLQUFLLEVBQUU7SUFBRSxPQUFPQSxLQUFLLFlBQVlILENBQUMsR0FBR0csS0FBSyxHQUFHLElBQUlILENBQUMsQ0FBQyxVQUFVSSxPQUFPLEVBQUU7TUFBRUEsT0FBTyxDQUFDRCxLQUFLLENBQUM7SUFBRSxDQUFDLENBQUM7RUFBRTtFQUMzRyxPQUFPLEtBQUtILENBQUMsS0FBS0EsQ0FBQyxHQUFHSyxPQUFPLENBQUMsRUFBRSxVQUFVRCxPQUFPLEVBQUVFLE1BQU0sRUFBRTtJQUN2RCxTQUFTQyxTQUFTQSxDQUFDSixLQUFLLEVBQUU7TUFBRSxJQUFJO1FBQUVLLElBQUksQ0FBQ1AsU0FBUyxDQUFDUSxJQUFJLENBQUNOLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDMUYsU0FB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QUFlLElBQ2R0SCxJQUFBLENBQUEsS0FBQSxFQUFBO1VBQUtnSCxTQUFTLEVBQUV0RyxPQUFPLENBQUNNLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxLQUFBc0gsTUFBQSxDQUFLeEgsVUFBVSx3QkFBcUIsQ0FBQztVQUFBSyxRQUFBLEVBQy9GbUc7UUFBZSxDQUFBLENBRW5CO01BQUEsQ0FBQSxDQUFBLFVBQUFnQixNQUFBLENBWllwRixhQUFhLENBQUUsQ0FhcEI7SUFBQSxDQUFBLENBQUE7RUFDTixDQUFBLENBQUEsQ0FDRjtBQUVWLENBQUM7QUFFRHhCLGNBQWMsQ0FBQzhHLFdBQVcsR0FBRyxXQUFXO0FBRXhDLElBQU1DLGFBQWEsZ0JBQUdwSSxJQUFJLENBQUNxQixjQUFjLENBQUM7QUFFMUM7QUFDQTtBQUNBLE9BQU8sSUFBTWdILFNBQVMsR0FBR0QsYUFBOEM7QUFDdkVDLFNBQVMsQ0FBQ3pILFFBQVEsR0FBR0EsUUFBUTtBQUU3QixlQUFleUgsU0FBUyIsImZpbGUiOiJjb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy9TdGVwc0Zvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbnZhciBfX3Jlc3QgPSAodGhpcyAmJiB0aGlzLl9fcmVzdCkgfHwgZnVuY3Rpb24gKHMsIGUpIHtcbiAgICB2YXIgdCA9IHt9O1xuICAgIGZvciAodmFyIHAgaW4gcykgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChzLCBwKSAmJiBlLmluZGV4T2YocCkgPCAwKVxuICAgICAgICB0W3BdID0gc1twXTtcbiAgICBpZiAocyAhPSBudWxsICYmIHR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzID09PSBcImZ1bmN0aW9uXCIpXG4gICAgICAgIGZvciAodmFyIGkgPSAwLCBwID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhzKTsgaSA8IHAubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgICB0W3BbaV1dID0gc1twW2ldXTtcbiAgICAgICAgfVxuICAgIHJldHVybiB0O1xufTtcbmltcG9ydCB7IEZyYWdtZW50IGFzIF9GcmFnbWVudCwganN4IGFzIF9qc3gsIGpzeHMgYXMgX2pzeHMgfSBmcm9tIFwicmVhY3QvanN4LXJ1bnRpbWVcIjtcbmltcG9ydCB7IENoaWxkcmVuLCBpc1ZhbGlkRWxlbWVudCwgbWVtbywgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgam9pbkNscyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2NsYXNzbmFtZXMnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi4vLi4vQnV0dG9uJztcbmltcG9ydCB1c2VMYXRlc3QgZnJvbSAnLi4vLi4vdXNlTGF0ZXN0JztcbmltcG9ydCBQcm9Gb3JtIGZyb20gJy4uL1Byb0Zvcm0nO1xuaW1wb3J0IHsgQ1NTX1BSRUZJWCwgREVGQVVMVF9URVhUIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCBzdHlsZXMgZnJvbSAnLi4vc3R5bGUvUHJvRm9ybS5tb2R1bGUuc2Nzcyc7XG4vKipcbiAqIFdyYXBwZXIgY29tcG9uZW50IHJlcHJlc2VudGluZyBhbiBpbmRpdmlkdWFsIHN0ZXAgaW5zaWRlIHtAbGluayBTdGVwc0Zvcm19LlxuICogRG9lcyBub3QgcmVuZGVyIGl0cyBvd24gZm9ybSDigJQgaXRzIGNoaWxkcmVuIGFyZSByZW5kZXJlZCBieSB0aGUgcGFyZW50IGBTdGVwc0Zvcm1gLlxuICovXG5leHBvcnQgY29uc3QgU3RlcEZvcm0gPSAocHJvcHMpID0+IHtcbiAgICByZXR1cm4gX2pzeChfRnJhZ21lbnQsIHsgY2hpbGRyZW46IHByb3BzLmNoaWxkcmVuIH0pO1xufTtcbi8qKlxuICogUGlja3Mgb25seSBzYWZlIEhUTUwgZGl2IGF0dHJpYnV0ZXMgKGBjbGFzc05hbWVgLCBgc3R5bGVgLCBgaWRgLCBgZGF0YS0qYCwgYGFyaWEtKmApXG4gKiBmcm9tIGEgcHJvcHMgb2JqZWN0LCBmaWx0ZXJpbmcgb3V0IGNvbXBvbmVudC1zcGVjaWZpYyBwcm9wcy5cbiAqL1xuY29uc3QgcGlja0h0bWxEaXZQcm9wcyA9IChwcm9wcykgPT4ge1xuICAgIGNvbnN0IHJlc3VsdCA9IHt9O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHByb3BzKSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnY2xhc3NOYW1lJyB8fCBrZXkgPT09ICdzdHlsZScgfHwga2V5ID09PSAnaWQnIHx8IGtleS5zdGFydHNXaXRoKCdkYXRhLScpIHx8IGtleS5zdGFydHNXaXRoKCdhcmlhLScpKSB7XG4gICAgICAgICAgICByZXN1bHRba2V5XSA9IHByb3BzW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn07XG4vKipcbiAqIE11bHRpLXN0ZXAgd2l6YXJkIGZvcm0gdGhhdCByZW5kZXJzIG9uZSBzdGVwIGF0IGEgdGltZSwgbWVyZ2luZyB2YWx1ZXNcbiAqIGZyb20gYWxsIHN0ZXBzIGFuZCBjYWxsaW5nIGBvbkZpbmlzaGAgd2l0aCB0aGUgY29tYmluZWQgcmVzdWx0IG9uIHRoZSBmaW5hbCBzdGVwLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGB0c3hcbiAqIDxTdGVwc0Zvcm0gb25GaW5pc2g9e2hhbmRsZVN1Ym1pdH0+XG4gKiAgIDxTdGVwc0Zvcm0uU3RlcEZvcm0gdGl0bGU9XCJCYXNpYyBJbmZvXCI+XG4gKiAgICAgPFByb0Zvcm1UZXh0IG5hbWU9XCJuYW1lXCIgbGFiZWw9XCJOYW1lXCIgLz5cbiAqICAgPC9TdGVwc0Zvcm0uU3RlcEZvcm0+XG4gKiAgIDxTdGVwc0Zvcm0uU3RlcEZvcm0gdGl0bGU9XCJEZXRhaWxzXCI+XG4gKiAgICAgPFByb0Zvcm1UZXh0QXJlYSBuYW1lPVwiYmlvXCIgbGFiZWw9XCJCaW9cIiAvPlxuICogICA8L1N0ZXBzRm9ybS5TdGVwRm9ybT5cbiAqIDwvU3RlcHNGb3JtPlxuICogYGBgXG4gKi9cbmNvbnN0IFN0ZXBzRm9ybUlubmVyID0gKHByb3BzKSA9PiB7XG4gICAgdmFyIF9hO1xuICAgIGNvbnN0IHsgY3VycmVudCwgb25DdXJyZW50Q2hhbmdlLCBvbkZpbmlzaCwgc3RlcHNQcm9wcywgZm9ybVByb3BzLCBzdWJtaXR0ZXIsIGNoaWxkcmVuLCB9ID0gcHJvcHM7XG4gICAgY29uc3QgW2lubmVyQ3VycmVudCwgc2V0SW5uZXJDdXJyZW50XSA9IHVzZVN0YXRlKDApO1xuICAgIGNvbnN0IFthbGxWYWx1ZXMsIHNldEFsbFZhbHVlc10gPSB1c2VTdGF0ZSh7fSk7XG4gICAgY29uc3QgYWxsVmFsdWVzUmVmID0gdXNlUmVmKHt9KTtcbiAgICAvKiogVHJhY2tzIHdoaWNoIHN0ZXAgaW5kZXggZWFjaCBrZXkgd2FzIGxhc3Qgc3VibWl0dGVkIGZyb20uICovXG4gICAgY29uc3Qga2V5U3RlcE1hcFJlZiA9IHVzZVJlZihuZXcgTWFwKCkpO1xuICAgIGNvbnN0IHN0ZXBQYW5lbFJlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCBzdGVwcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgICAgICByZXR1cm4gQ2hpbGRyZW4udG9BcnJheShjaGlsZHJlbikuZmlsdGVyKGlzVmFsaWRFbGVtZW50KTtcbiAgICB9LCBbY2hpbGRyZW5dKTtcbiAgICBjb25zdCBtZXJnZWRDdXJyZW50ID0gdHlwZW9mIGN1cnJlbnQgPT09ICdudW1iZXInID8gY3VycmVudCA6IGlubmVyQ3VycmVudDtcbiAgICBjb25zdCBtZXJnZWRDdXJyZW50UmVmID0gdXNlTGF0ZXN0KG1lcmdlZEN1cnJlbnQpO1xuICAgIGNvbnN0IGFjdGl2ZVN0ZXAgPSBzdGVwc1ttZXJnZWRDdXJyZW50XTtcbiAgICBjb25zdCBzZXRDdXJyZW50ID0gdXNlQ2FsbGJhY2soKG5leHRDdXJyZW50KSA9PiB7XG4gICAgICAgIC8vIFdoZW4gbmF2aWdhdGluZyBiYWNrd2FyZCwgY2xlYXIgYWNjdW11bGF0ZWQgdmFsdWVzIGZyb20gc3RlcHMgYWZ0ZXJcbiAgICAgICAgLy8gdGhlIHRhcmdldCBzbyBzdGFsZSBkYXRhIGRvZXNuJ3QgcGVyc2lzdCB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgYW5zd2Vycy5cbiAgICAgICAgaWYgKG5leHRDdXJyZW50IDwgbWVyZ2VkQ3VycmVudFJlZi5jdXJyZW50KSB7XG4gICAgICAgICAgICBzZXRBbGxWYWx1ZXMocHJldiA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2xlYW5lZCA9IE9iamVjdC5hc3NpZ24oe30sIHByZXYpO1xuICAgICAgICAgICAgICAgIGtleVN0ZXBNYXBSZWYuY3VycmVudC5mb3JFYWNoKChzdGVwSW5kZXgsIGtleSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3RlcEluZGV4ID4gbmV4dEN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBjbGVhbmVkW2tleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBhbGxWYWx1ZXNSZWYuY3VycmVudCA9IGNsZWFuZWQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGNsZWFuZWQ7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY3VycmVudCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBzZXRJbm5lckN1cnJlbnQobmV4dEN1cnJlbnQpO1xuICAgICAgICB9XG4gICAgICAgIG9uQ3VycmVudENoYW5nZSA9PT0gbnVsbCB8fCBvbkN1cnJlbnRDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ3VycmVudENoYW5nZShuZXh0Q3VycmVudCk7XG4gICAgfSwgW2N1cnJlbnQsIG9uQ3VycmVudENoYW5nZV0pO1xuICAgIGNvbnN0IGhhbmRsZVN0ZXBGaW5pc2ggPSB1c2VDYWxsYmFjaygodmFsdWVzKSA9PiBfX2F3YWl0ZXIodm9pZCAwLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgY3VycmVudFN0ZXAgPSBzdGVwc1ttZXJnZWRDdXJyZW50XTtcbiAgICAgICAgY29uc3Qgc3RlcFJlc3VsdCA9IHlpZWxkICgoX2IgPSAoX2EgPSBjdXJyZW50U3RlcCA9PT0gbnVsbCB8fCBjdXJyZW50U3RlcCA9PT0gdm9pZCAwID8gdm9pZCAwIDogY3VycmVudFN0ZXAucHJvcHMpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5vbkZpbmlzaCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIHZhbHVlcykpO1xuICAgICAgICBpZiAoc3RlcFJlc3VsdCA9PT0gZmFsc2UpXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIC8vIFRyYWNrIHdoaWNoIHN0ZXAgZWFjaCBrZXkgd2FzIHN1Ym1pdHRlZCBmcm9tIHNvIGJhY2t3YXJkIG5hdmlnYXRpb25cbiAgICAgICAgLy8gY2FuIHNlbGVjdGl2ZWx5IGNsZWFyIGRvd25zdHJlYW0gc3RlcCBkYXRhLlxuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh2YWx1ZXMpKSB7XG4gICAgICAgICAgICBrZXlTdGVwTWFwUmVmLmN1cnJlbnQuc2V0KGtleSwgbWVyZ2VkQ3VycmVudCk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbWVyZ2VkVmFsdWVzID0gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBhbGxWYWx1ZXNSZWYuY3VycmVudCksIHZhbHVlcyk7XG4gICAgICAgIGFsbFZhbHVlc1JlZi5jdXJyZW50ID0gbWVyZ2VkVmFsdWVzO1xuICAgICAgICBzZXRBbGxWYWx1ZXMobWVyZ2VkVmFsdWVzKTtcbiAgICAgICAgY29uc3QgaXNMYXN0ID0gbWVyZ2VkQ3VycmVudCA+PSBzdGVwcy5sZW5ndGggLSAxO1xuICAgICAgICBpZiAoaXNMYXN0KSB7XG4gICAgICAgICAgICB5aWVsZCAob25GaW5pc2ggPT09IG51bGwgfHwgb25GaW5pc2ggPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uRmluaXNoKG1lcmdlZFZhbHVlcykpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldEN1cnJlbnQobWVyZ2VkQ3VycmVudCArIDEpO1xuICAgIH0pLCBbbWVyZ2VkQ3VycmVudCwgb25GaW5pc2gsIHNldEN1cnJlbnQsIHN0ZXBzXSk7XG4gICAgY29uc3QgcGFyZW50Rm9ybVByb3BzID0gZm9ybVByb3BzO1xuICAgIGNvbnN0IF9iID0gKChfYSA9IGFjdGl2ZVN0ZXAgPT09IG51bGwgfHwgYWN0aXZlU3RlcCA9PT0gdm9pZCAwID8gdm9pZCAwIDogYWN0aXZlU3RlcC5wcm9wcykgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDoge30pLCB7IHRpdGxlLCBkZXNjcmlwdGlvbiwgc3RlcFByb3BzLCBjaGlsZHJlbjogc3RlcENoaWxkcmVuIH0gPSBfYiwgc3RlcEZvcm1Qcm9wcyA9IF9fcmVzdChfYiwgW1widGl0bGVcIiwgXCJkZXNjcmlwdGlvblwiLCBcInN0ZXBQcm9wc1wiLCBcImNoaWxkcmVuXCJdKTtcbiAgICBjb25zdCBhY3RpdmVTdGVwRm9ybVByb3BzID0gYWN0aXZlU3RlcFxuICAgICAgICA/IHN0ZXBGb3JtUHJvcHNcbiAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc3RlcHNIdG1sUHJvcHMgPSBwaWNrSHRtbERpdlByb3BzKChzdGVwc1Byb3BzIHx8IHt9KSk7XG4gICAgY29uc3Qgc3RlcEh0bWxQcm9wcyA9IHBpY2tIdG1sRGl2UHJvcHMoKHN0ZXBQcm9wcyB8fCB7fSkpO1xuICAgIGNvbnN0IG1lcmdlZERlZmF1bHRWYWx1ZXMgPSB1c2VNZW1vKCgpID0+IChPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgcGFyZW50Rm9ybVByb3BzID09PSBudWxsIHx8IHBhcmVudEZvcm1Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyZW50Rm9ybVByb3BzLmRlZmF1bHRWYWx1ZXMpLCBhY3RpdmVTdGVwRm9ybVByb3BzID09PSBudWxsIHx8IGFjdGl2ZVN0ZXBGb3JtUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IGFjdGl2ZVN0ZXBGb3JtUHJvcHMuZGVmYXVsdFZhbHVlcyksIGFsbFZhbHVlcykpLCBbYWN0aXZlU3RlcEZvcm1Qcm9wcyA9PT0gbnVsbCB8fCBhY3RpdmVTdGVwRm9ybVByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhY3RpdmVTdGVwRm9ybVByb3BzLmRlZmF1bHRWYWx1ZXMsIGFsbFZhbHVlcywgcGFyZW50Rm9ybVByb3BzID09PSBudWxsIHx8IHBhcmVudEZvcm1Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogcGFyZW50Rm9ybVByb3BzLmRlZmF1bHRWYWx1ZXNdKTtcbiAgICBjb25zdCBzdWJtaXR0ZXJDb25maWcgPSBzdWJtaXR0ZXIgPT09IGZhbHNlID8gZmFsc2UgOiAoc3VibWl0dGVyIHx8IHt9KTtcbiAgICBjb25zdCBoYW5kbGVQcmV2ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChzdWJtaXR0ZXJDb25maWcgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAoX2EgPSBzdWJtaXR0ZXJDb25maWcub25SZXNldCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoc3VibWl0dGVyQ29uZmlnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobWVyZ2VkQ3VycmVudCA+IDApIHtcbiAgICAgICAgICAgIHNldEN1cnJlbnQobWVyZ2VkQ3VycmVudCAtIDEpO1xuICAgICAgICB9XG4gICAgfSwgW21lcmdlZEN1cnJlbnQsIHNldEN1cnJlbnQsIHN1Ym1pdHRlckNvbmZpZ10pO1xuICAgIGNvbnN0IGhhbmRsZVN1Ym1pdENsaWNrID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmIChzdWJtaXR0ZXJDb25maWcgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAoX2EgPSBzdWJtaXR0ZXJDb25maWcub25TdWJtaXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHN1Ym1pdHRlckNvbmZpZyk7XG4gICAgICAgIH1cbiAgICB9LCBbc3VibWl0dGVyQ29uZmlnXSk7XG4gICAgY29uc3QgdHJpZ2dlclN0ZXBTdWJtaXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChzdWJtaXR0ZXJDb25maWcgIT09IGZhbHNlKSB7XG4gICAgICAgICAgICAoX2EgPSBzdWJtaXR0ZXJDb25maWcub25TdWJtaXQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jYWxsKHN1Ym1pdHRlckNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZm9ybU5vZGUgPSAoX2IgPSBzdGVwUGFuZWxSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2IgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9iLnF1ZXJ5U2VsZWN0b3IoJ2Zvcm0nKTtcbiAgICAgICAgaWYgKCFmb3JtTm9kZSlcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKHR5cGVvZiBmb3JtTm9kZS5yZXF1ZXN0U3VibWl0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBmb3JtTm9kZS5yZXF1ZXN0U3VibWl0KCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZm9ybU5vZGUuZGlzcGF0Y2hFdmVudChuZXcgRXZlbnQoJ3N1Ym1pdCcsIHsgYnViYmxlczogdHJ1ZSwgY2FuY2VsYWJsZTogdHJ1ZSB9KSk7XG4gICAgfSwgW3N1Ym1pdHRlckNvbmZpZ10pO1xuICAgIGNvbnN0IHByZXZUZXh0ID0gc3VibWl0dGVyQ29uZmlnICE9PSBmYWxzZSAmJiBzdWJtaXR0ZXJDb25maWcucHJldlRleHRcbiAgICAgICAgPyBzdWJtaXR0ZXJDb25maWcucHJldlRleHRcbiAgICAgICAgOiBERUZBVUxUX1RFWFQucHJldmlvdXM7XG4gICAgY29uc3QgbmV4dFRleHQgPSBzdWJtaXR0ZXJDb25maWcgIT09IGZhbHNlICYmIHN1Ym1pdHRlckNvbmZpZy5uZXh0VGV4dFxuICAgICAgICA/IHN1Ym1pdHRlckNvbmZpZy5uZXh0VGV4dFxuICAgICAgICA6IERFRkFVTFRfVEVYVC5uZXh0O1xuICAgIGNvbnN0IHN1Ym1pdFRleHQgPSBzdWJtaXR0ZXJDb25maWcgIT09IGZhbHNlICYmIHN1Ym1pdHRlckNvbmZpZy5zdWJtaXRUZXh0XG4gICAgICAgID8gc3VibWl0dGVyQ29uZmlnLnN1Ym1pdFRleHRcbiAgICAgICAgOiBERUZBVUxUX1RFWFQuc3VibWl0O1xuICAgIGNvbnN0IGlzTGFzdFN0ZXAgPSBtZXJnZWRDdXJyZW50ID49IHN0ZXBzLmxlbmd0aCAtIDE7XG4gICAgY29uc3QgeyBjbGFzc05hbWU6IHN0ZXBzQ2xhc3NOYW1lUmF3IH0gPSBzdGVwc0h0bWxQcm9wcywgc3RlcHNSZXN0SHRtbCA9IF9fcmVzdChzdGVwc0h0bWxQcm9wcywgW1wiY2xhc3NOYW1lXCJdKTtcbiAgICBjb25zdCB7IGNsYXNzTmFtZTogc3RlcENsYXNzTmFtZVJhdyB9ID0gc3RlcEh0bWxQcm9wcywgc3RlcFJlc3RIdG1sID0gX19yZXN0KHN0ZXBIdG1sUHJvcHMsIFtcImNsYXNzTmFtZVwiXSk7XG4gICAgY29uc3Qgc3RlcHNDbGFzc05hbWUgPSB0eXBlb2Ygc3RlcHNDbGFzc05hbWVSYXcgPT09ICdzdHJpbmcnID8gc3RlcHNDbGFzc05hbWVSYXcgOiB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc3RlcENsYXNzTmFtZSA9IHR5cGVvZiBzdGVwQ2xhc3NOYW1lUmF3ID09PSAnc3RyaW5nJyA/IHN0ZXBDbGFzc05hbWVSYXcgOiB1bmRlZmluZWQ7XG4gICAgY29uc3QgcmVuZGVyZWRBY3Rpb25zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2IsIF9jLCBfZDtcbiAgICAgICAgaWYgKHN1Ym1pdHRlckNvbmZpZyA9PT0gZmFsc2UpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgcmVzZXRCdXR0b25Qcm9wcyA9IHN1Ym1pdHRlckNvbmZpZy5yZXNldEJ1dHRvblByb3BzO1xuICAgICAgICBjb25zdCBzdWJtaXRCdXR0b25Qcm9wcyA9IHN1Ym1pdHRlckNvbmZpZy5zdWJtaXRCdXR0b25Qcm9wcztcbiAgICAgICAgY29uc3QgcHJldkJ1dHRvbiA9IG1lcmdlZEN1cnJlbnQgPiAwXG4gICAgICAgICAgICA/IChfanN4KEJ1dHRvbiwgT2JqZWN0LmFzc2lnbih7fSwgcmVzZXRCdXR0b25Qcm9wcywgeyB0eXBlOiAoX2EgPSByZXNldEJ1dHRvblByb3BzID09PSBudWxsIHx8IHJlc2V0QnV0dG9uUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc2V0QnV0dG9uUHJvcHMudHlwZSkgIT09IG51bGwgJiYgX2EgIT09IHZvaWQgMCA/IF9hIDogJ2J1dHRvbicsIHNldmVyaXR5OiAoX2IgPSByZXNldEJ1dHRvblByb3BzID09PSBudWxsIHx8IHJlc2V0QnV0dG9uUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc2V0QnV0dG9uUHJvcHMuc2V2ZXJpdHkpICE9PSBudWxsICYmIF9iICE9PSB2b2lkIDAgPyBfYiA6ICdzZWNvbmRhcnknLCBvbkNsaWNrOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9hO1xuICAgICAgICAgICAgICAgICAgICAoX2EgPSByZXNldEJ1dHRvblByb3BzID09PSBudWxsIHx8IHJlc2V0QnV0dG9uUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHJlc2V0QnV0dG9uUHJvcHMub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwocmVzZXRCdXR0b25Qcm9wcywgZXZlbnQpO1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVQcmV2KCk7XG4gICAgICAgICAgICAgICAgfSwgY2hpbGRyZW46IHByZXZUZXh0IH0pLCAncHJldicpKVxuICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICBjb25zdCBuZXh0QnV0dG9uID0gKF9qc3goQnV0dG9uLCBPYmplY3QuYXNzaWduKHt9LCBzdWJtaXRCdXR0b25Qcm9wcywgeyB0eXBlOiAoX2MgPSBzdWJtaXRCdXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBzdWJtaXRCdXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3VibWl0QnV0dG9uUHJvcHMudHlwZSkgIT09IG51bGwgJiYgX2MgIT09IHZvaWQgMCA/IF9jIDogJ3N1Ym1pdCcsIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgIHZhciBfYTtcbiAgICAgICAgICAgICAgICAoX2EgPSBzdWJtaXRCdXR0b25Qcm9wcyA9PT0gbnVsbCB8fCBzdWJtaXRCdXR0b25Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogc3VibWl0QnV0dG9uUHJvcHMub25DbGljaykgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwoc3VibWl0QnV0dG9uUHJvcHMsIGV2ZW50KTtcbiAgICAgICAgICAgICAgICBoYW5kbGVTdWJtaXRDbGljaygpO1xuICAgICAgICAgICAgfSwgY2hpbGRyZW46IGlzTGFzdFN0ZXAgPyBzdWJtaXRUZXh0IDogbmV4dFRleHQgfSksICdzdWJtaXQnKSk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHREb20gPSBbcHJldkJ1dHRvbiwgbmV4dEJ1dHRvbl0uZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgICBpZiAoIXN1Ym1pdHRlckNvbmZpZy5yZW5kZXIpXG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdERvbTtcbiAgICAgICAgcmV0dXJuIHN1Ym1pdHRlckNvbmZpZy5yZW5kZXIoe1xuICAgICAgICAgICAgZm9ybTogKF9kID0gYWN0aXZlU3RlcEZvcm1Qcm9wcyA9PT0gbnVsbCB8fCBhY3RpdmVTdGVwRm9ybVByb3BzID09PSB2b2lkIDAgPyB2b2lkIDAgOiBhY3RpdmVTdGVwRm9ybVByb3BzLmZvcm0pICE9PSBudWxsICYmIF9kICE9PSB2b2lkIDAgPyBfZCA6IHBhcmVudEZvcm1Qcm9wcyA9PT0gbnVsbCB8fCBwYXJlbnRGb3JtUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmVudEZvcm1Qcm9wcy5mb3JtLFxuICAgICAgICAgICAgc3VibWl0OiB0cmlnZ2VyU3RlcFN1Ym1pdCxcbiAgICAgICAgICAgIHJlc2V0OiBoYW5kbGVQcmV2LFxuICAgICAgICB9LCBkZWZhdWx0RG9tKTtcbiAgICB9LCBbXG4gICAgICAgIGFjdGl2ZVN0ZXBGb3JtUHJvcHMgPT09IG51bGwgfHwgYWN0aXZlU3RlcEZvcm1Qcm9wcyA9PT0gdm9pZCAwID8gdm9pZCAwIDogYWN0aXZlU3RlcEZvcm1Qcm9wcy5mb3JtLFxuICAgICAgICBoYW5kbGVQcmV2LFxuICAgICAgICBoYW5kbGVTdWJtaXRDbGljayxcbiAgICAgICAgaXNMYXN0U3RlcCxcbiAgICAgICAgbWVyZ2VkQ3VycmVudCxcbiAgICAgICAgbmV4dFRleHQsXG4gICAgICAgIHBhcmVudEZvcm1Qcm9wcyA9PT0gbnVsbCB8fCBwYXJlbnRGb3JtUHJvcHMgPT09IHZvaWQgMCA/IHZvaWQgMCA6IHBhcmVudEZvcm1Qcm9wcy5mb3JtLFxuICAgICAgICBwcmV2VGV4dCxcbiAgICAgICAgc3VibWl0VGV4dCxcbiAgICAgICAgc3VibWl0dGVyQ29uZmlnLFxuICAgICAgICB0cmlnZ2VyU3RlcFN1Ym1pdCxcbiAgICBdKTtcbiAgICBpZiAoIWFjdGl2ZVN0ZXApXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHJldHVybiAoX2pzeChcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBzdGVwc1Jlc3RIdG1sLCB7IGNsYXNzTmFtZTogam9pbkNscyhgJHtDU1NfUFJFRklYfS1zdGVwcy1mb3JtYCwgc3RlcHNDbGFzc05hbWUpLCBjaGlsZHJlbjogX2pzeHMoXCJkaXZcIiwgT2JqZWN0LmFzc2lnbih7fSwgc3RlcFJlc3RIdG1sLCB7IHJlZjogc3RlcFBhbmVsUmVmLCBjbGFzc05hbWU6IGpvaW5DbHMoYCR7Q1NTX1BSRUZJWH0tc3RlcHMtZm9ybS1zdGVwYCwgc3RlcENsYXNzTmFtZSksIGNoaWxkcmVuOiBbdGl0bGUgJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoc3R5bGVzWydwcm9mb3JtX19zdGVwcy1mb3JtLXRpdGxlJ10sIGAke0NTU19QUkVGSVh9LXN0ZXBzLWZvcm0tdGl0bGVgKSwgY2hpbGRyZW46IHRpdGxlIH0pKSwgZGVzY3JpcHRpb24gJiYgKF9qc3goXCJkaXZcIiwgeyBjbGFzc05hbWU6IGpvaW5DbHMoc3R5bGVzWydwcm9mb3JtX19zdGVwcy1mb3JtLWRlc2NyaXB0aW9uJ10sIGAke0NTU19QUkVGSVh9LXN0ZXBzLWZvcm0tZGVzY3JpcHRpb25gKSwgY2hpbGRyZW46IGRlc2NyaXB0aW9uIH0pKSwgX2pzeHMoUHJvRm9ybSwgT2JqZWN0LmFzc2lnbih7fSwgcGFyZW50Rm9ybVByb3BzLCBhY3RpdmVTdGVwRm9ybVByb3BzLCB7IGRlZmF1bHRWYWx1ZXM6IG1lcmdlZERlZmF1bHRWYWx1ZXMsIHN1Ym1pdHRlcjogZmFsc2UsIG9uRmluaXNoOiBoYW5kbGVTdGVwRmluaXNoLCBjaGlsZHJlbjogW3N0ZXBDaGlsZHJlbiwgcmVuZGVyZWRBY3Rpb25zICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBqb2luQ2xzKHN0eWxlc1sncHJvZm9ybV9fc3RlcHMtZm9ybS1hY3Rpb25zJ10sIGAke0NTU19QUkVGSVh9LXN0ZXBzLWZvcm0tYWN0aW9uc2ApLCBjaGlsZHJlbjogcmVuZGVyZWRBY3Rpb25zIH0pKV0gfSksIGBzdGVwLSR7bWVyZ2VkQ3VycmVudH1gKV0gfSkpIH0pKSk7XG59O1xuU3RlcHNGb3JtSW5uZXIuZGlzcGxheU5hbWUgPSAnU3RlcHNGb3JtJztcbmNvbnN0IFN0ZXBzRm9ybUJhc2UgPSBtZW1vKFN0ZXBzRm9ybUlubmVyKTtcbi8vIFR5cGUgYXNzZXJ0aW9uIHJlcXVpcmVkIGJlY2F1c2UgbWVtbygpIGxvc2VzIHRoZSBzdGF0aWMgU3RlcEZvcm0gcHJvcGVydHkgdHlwZS5cbi8vIFdlIGF0dGFjaCBTdGVwRm9ybSBhcyBhIHN0YXRpYyBwcm9wZXJ0eSBiZWxvdywgbWFraW5nIHRoaXMgYSBjb21wb3VuZCBjb21wb25lbnQgcGF0dGVybi5cbmV4cG9ydCBjb25zdCBTdGVwc0Zvcm0gPSBTdGVwc0Zvcm1CYXNlO1xuU3RlcHNGb3JtLlN0ZXBGb3JtID0gU3RlcEZvcm07XG5leHBvcnQgZGVmYXVsdCBTdGVwc0Zvcm07IixudWxsXSwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYyJ9
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { ModalForm } from './ModalForm';
|
|
2
|
+
export { DrawerForm } from './DrawerForm';
|
|
3
|
+
export { StepsForm, StepForm } from './StepsForm';
|
|
4
|
+
export { QueryFilter } from './QueryFilter';
|
|
5
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9zcmMvY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvaW5kZXgudHMiXSwibmFtZXMiOlsiTW9kYWxGb3JtIiwiRHJhd2VyRm9ybSIsIlN0ZXBzRm9ybSIsIlN0ZXBGb3JtIiwiUXVlcnlGaWx0ZXIiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFNBQVMsUUFBUSxhQUFhO0FBQ3ZDLFNBQVNDLFVBQVUsUUFBUSxjQUFjO0FBQ3pDLFNBQVNDLFNBQVMsRUFBRUMsUUFBUSxRQUFRLGFBQWE7QUFDakQsU0FBU0MsV0FBVyxRQUFRLGVBQWUiLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6W251bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { CSSProperties, ReactElement, ReactNode } from 'react';
|
|
2
|
+
/** Configuration options for the {@link useOverlayForm} hook. */
|
|
3
|
+
interface UseOverlayFormOptions<TValues> {
|
|
4
|
+
/** Controlled open state. */
|
|
5
|
+
open?: boolean;
|
|
6
|
+
/** Callback when the open state changes. */
|
|
7
|
+
onOpenChange?: (open: boolean) => void;
|
|
8
|
+
/** Element that opens the overlay when clicked. */
|
|
9
|
+
trigger?: ReactElement;
|
|
10
|
+
/** Delay (ms) before auto-closing after submit. */
|
|
11
|
+
submitTimeout?: number;
|
|
12
|
+
/** Whether to auto-close after a successful submit. @default true */
|
|
13
|
+
autoClose?: boolean;
|
|
14
|
+
/** Whether to unmount overlay content when closed. @default true */
|
|
15
|
+
destroyOnClose?: boolean;
|
|
16
|
+
/** Overlay width. */
|
|
17
|
+
width?: string | number;
|
|
18
|
+
/** Form finish handler. Return `false` to prevent auto-close. */
|
|
19
|
+
onFinish?: (values: TValues) => void | boolean | Promise<void | boolean>;
|
|
20
|
+
/** Inline styles from the overlay component. */
|
|
21
|
+
overlayStyle?: CSSProperties;
|
|
22
|
+
/** The overlay's own `onHide` callback. */
|
|
23
|
+
onOverlayHide?: (...args: unknown[]) => void;
|
|
24
|
+
}
|
|
25
|
+
/** Return shape of {@link useOverlayForm}. */
|
|
26
|
+
export interface UseOverlayFormResult<TValues> {
|
|
27
|
+
/** Effective open state (controlled or uncontrolled). */
|
|
28
|
+
mergedOpen: boolean;
|
|
29
|
+
/** Whether overlay container should stay mounted. */
|
|
30
|
+
shouldRenderPanel: boolean;
|
|
31
|
+
/** Optional trigger element that opens the overlay. */
|
|
32
|
+
triggerNode: ReactNode;
|
|
33
|
+
/** Wrapped finish handler with optional auto-close behavior. */
|
|
34
|
+
handleFinish: (values: TValues) => Promise<void | boolean | undefined>;
|
|
35
|
+
/** Wrapped overlay hide handler. */
|
|
36
|
+
handleHide: (...args: unknown[]) => void;
|
|
37
|
+
/** Merged overlay style (base style + width override). */
|
|
38
|
+
mergedStyle: CSSProperties;
|
|
39
|
+
/** Imperative open-state setter honoring controlled mode. */
|
|
40
|
+
changeOpen: (nextOpen: boolean) => void;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Shared hook that powers both {@link ModalForm} and {@link DrawerForm}.
|
|
44
|
+
*
|
|
45
|
+
* Manages open/close state, trigger element cloning, auto-close with optional
|
|
46
|
+
* timeout after submit, and overlay visibility lifecycle.
|
|
47
|
+
*
|
|
48
|
+
* @typeParam TValues - The form values type.
|
|
49
|
+
* @param options - Configuration options.
|
|
50
|
+
* @returns An object with `mergedOpen`, `triggerNode`, `handleFinish`, `handleHide`, and more.
|
|
51
|
+
*/
|
|
52
|
+
export declare function useOverlayForm<TValues>({ open, onOpenChange, trigger, submitTimeout, autoClose, destroyOnClose, width, onFinish, overlayStyle, onOverlayHide, }: UseOverlayFormOptions<TValues>): UseOverlayFormResult<TValues>;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
+
var __awaiter = this && this.__awaiter || function (thisArg, _arguments, P, generator) {
|
|
4
|
+
function adopt(value) {
|
|
5
|
+
return value instanceof P ? value : new P(function (resolve) {
|
|
6
|
+
resolve(value);
|
|
7
|
+
});
|
|
8
|
+
}
|
|
9
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
10
|
+
function fulfilled(value) {
|
|
11
|
+
try {
|
|
12
|
+
step(generator.next(value));
|
|
13
|
+
} catch (e) {
|
|
14
|
+
reject(e);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function rejected(value) {
|
|
18
|
+
try {
|
|
19
|
+
step(generator["throw"](value));
|
|
20
|
+
} catch (e) {
|
|
21
|
+
reject(e);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function step(result) {
|
|
25
|
+
result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);
|
|
26
|
+
}
|
|
27
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
+
});
|
|
29
|
+
};
|
|
30
|
+
import { cloneElement, isValidElement, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
31
|
+
/**
|
|
32
|
+
* Shared hook that powers both {@link ModalForm} and {@link DrawerForm}.
|
|
33
|
+
*
|
|
34
|
+
* Manages open/close state, trigger element cloning, auto-close with optional
|
|
35
|
+
* timeout after submit, and overlay visibility lifecycle.
|
|
36
|
+
*
|
|
37
|
+
* @typeParam TValues - The form values type.
|
|
38
|
+
* @param options - Configuration options.
|
|
39
|
+
* @returns An object with `mergedOpen`, `triggerNode`, `handleFinish`, `handleHide`, and more.
|
|
40
|
+
*/
|
|
41
|
+
export function useOverlayForm(_ref) {
|
|
42
|
+
var _this = this;
|
|
43
|
+
var open = _ref.open,
|
|
44
|
+
onOpenChange = _ref.onOpenChange,
|
|
45
|
+
trigger = _ref.trigger,
|
|
46
|
+
submitTimeout = _ref.submitTimeout,
|
|
47
|
+
_ref$autoClose = _ref.autoClose,
|
|
48
|
+
autoClose = _ref$autoClose === void 0 ? true : _ref$autoClose,
|
|
49
|
+
_ref$destroyOnClose = _ref.destroyOnClose,
|
|
50
|
+
destroyOnClose = _ref$destroyOnClose === void 0 ? true : _ref$destroyOnClose,
|
|
51
|
+
width = _ref.width,
|
|
52
|
+
onFinish = _ref.onFinish,
|
|
53
|
+
overlayStyle = _ref.overlayStyle,
|
|
54
|
+
onOverlayHide = _ref.onOverlayHide;
|
|
55
|
+
var _useState = useState(false),
|
|
56
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
57
|
+
innerOpen = _useState2[0],
|
|
58
|
+
setInnerOpen = _useState2[1];
|
|
59
|
+
var closeTimerRef = useRef(null);
|
|
60
|
+
var onFinishRef = useRef(onFinish);
|
|
61
|
+
var mergedOpen = open !== null && open !== void 0 ? open : innerOpen;
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
onFinishRef.current = onFinish;
|
|
64
|
+
}, [onFinish]);
|
|
65
|
+
var changeOpen = useCallback(function (nextOpen) {
|
|
66
|
+
if (open === undefined) {
|
|
67
|
+
setInnerOpen(nextOpen);
|
|
68
|
+
}
|
|
69
|
+
onOpenChange === null || onOpenChange === void 0 ? void 0 : onOpenChange(nextOpen);
|
|
70
|
+
}, [open, onOpenChange]);
|
|
71
|
+
var clearCloseTimer = useCallback(function () {
|
|
72
|
+
if (!closeTimerRef.current) return;
|
|
73
|
+
clearTimeout(closeTimerRef.current);
|
|
74
|
+
closeTimerRef.current = null;
|
|
75
|
+
}, []);
|
|
76
|
+
var handleFinish = useCallback(function (values) {
|
|
77
|
+
return __awaiter(_this, void 0, void 0, /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
78
|
+
var _a, result;
|
|
79
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
80
|
+
while (1) switch (_context.prev = _context.next) {
|
|
81
|
+
case 0:
|
|
82
|
+
_context.next = 2;
|
|
83
|
+
return (_a = onFinishRef.current) === null || _a === void 0 ? void 0 : _a.call(onFinishRef, values);
|
|
84
|
+
case 2:
|
|
85
|
+
result = _context.sent;
|
|
86
|
+
if (autoClose && result !== false) {
|
|
87
|
+
clearCloseTimer();
|
|
88
|
+
if (typeof submitTimeout === 'number' && submitTimeout > 0) {
|
|
89
|
+
closeTimerRef.current = setTimeout(function () {
|
|
90
|
+
changeOpen(false);
|
|
91
|
+
closeTimerRef.current = null;
|
|
92
|
+
}, submitTimeout);
|
|
93
|
+
} else {
|
|
94
|
+
changeOpen(false);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return _context.abrupt("return", result);
|
|
98
|
+
case 5:
|
|
99
|
+
case "end":
|
|
100
|
+
return _context.stop();
|
|
101
|
+
}
|
|
102
|
+
}, _callee);
|
|
103
|
+
}));
|
|
104
|
+
}, [autoClose, changeOpen, clearCloseTimer, submitTimeout]);
|
|
105
|
+
var triggerNode = useMemo(function () {
|
|
106
|
+
if (!trigger || ! /*#__PURE__*/isValidElement(trigger)) return null;
|
|
107
|
+
return /*#__PURE__*/cloneElement(trigger, {
|
|
108
|
+
onClick: function onClick(event) {
|
|
109
|
+
var _a;
|
|
110
|
+
var triggerOnClick = (_a = trigger.props) === null || _a === void 0 ? void 0 : _a.onClick;
|
|
111
|
+
triggerOnClick === null || triggerOnClick === void 0 ? void 0 : triggerOnClick(event);
|
|
112
|
+
if (event.defaultPrevented) return;
|
|
113
|
+
changeOpen(true);
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}, [changeOpen, trigger]);
|
|
117
|
+
var handleHide = useCallback(function () {
|
|
118
|
+
clearCloseTimer();
|
|
119
|
+
onOverlayHide === null || onOverlayHide === void 0 ? void 0 : onOverlayHide.apply(void 0, arguments);
|
|
120
|
+
changeOpen(false);
|
|
121
|
+
}, [changeOpen, clearCloseTimer, onOverlayHide]);
|
|
122
|
+
var shouldRenderPanel = mergedOpen || !destroyOnClose;
|
|
123
|
+
var mergedStyle = useMemo(function () {
|
|
124
|
+
return Object.assign(Object.assign({}, overlayStyle || {}), width !== undefined ? {
|
|
125
|
+
width: width
|
|
126
|
+
} : {});
|
|
127
|
+
}, [overlayStyle, width]);
|
|
128
|
+
useEffect(function () {
|
|
129
|
+
return function () {
|
|
130
|
+
clearCloseTimer();
|
|
131
|
+
};
|
|
132
|
+
}, [clearCloseTimer]);
|
|
133
|
+
return {
|
|
134
|
+
mergedOpen: mergedOpen,
|
|
135
|
+
shouldRenderPanel: shouldRenderPanel,
|
|
136
|
+
triggerNode: triggerNode,
|
|
137
|
+
handleFinish: handleFinish,
|
|
138
|
+
handleHide: handleHide,
|
|
139
|
+
mergedStyle: mergedStyle,
|
|
140
|
+
changeOpen: changeOpen
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvUHJvRm9ybS9sYXlvdXRzL3VzZU92ZXJsYXlGb3JtLmpzIiwiY29tcG9uZW50cy9Qcm9Gb3JtL3NyYy9jb21wb25lbnRzL1Byb0Zvcm0vbGF5b3V0cy91c2VPdmVybGF5Rm9ybS50cyJdLCJuYW1lcyI6WyJfX2F3YWl0ZXIiLCJ0aGlzQXJnIiwiX2FyZ3VtZW50cyIsIlAiLCJnZW5lcmF0b3IiLCJhZG9wdCIsInZhbHVlIiwicmVzb2x2ZSIsIlByb21pc2UiLCJyZWplY3QiLCJmdWxmaWxsZWQiLCJzdGVwIiwibmV4dCIsImUiLCJyZWplY3RlZCIsInJlc3VsdCIsImRvbmUiLCJ0aGVuIiwiYXBwbHkiLCJjbG9uZUVsZW1lbnQiLCJpc1ZhbGlkRWxlbWVudCIsInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVN0YXRlIiwidXNlT3ZlcmxheUZvcm0iLCJfcmVmIiwiX3RoaXMiLCJvcGVuIiwib25PcGVuQ2hhbmdlIiwidHJpZ2dlciIsInN1Ym1pdFRpbWVvdXQiLCJfcmVmJGF1dG9DbG9zZSIsImF1dG9DbG9zZSIsIl9yZWYkZGVzdHJveU9uQ2xvc2UiLCJkZXN0cm95T25DbG9zZSIsIndpZHRoIiwib25GaW5pc2giLCJvdmVybGF5U3R5bGUiLCJvbk92ZXJsYXlIaWRlIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW5uZXJPcGVuIiwic2V0SW5uZXJPcGVuIiwiY2xvc2VUaW1lclJlZiIsIm9uRmluaXNoUmVmIiwibWVyZ2VkT3BlbiIsImN1cnJlbnQiLCJjaGFuZ2VPcGVuIiwibmV4dE9wZW4iLCJ1bmRlZmluZWQiLCJjbGVhckNsb3NlVGltZXIiLCJjbGVhclRpbWVvdXQiLCJoYW5kbGVGaW5pc2giLCJ2YWx1ZXMiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfYSIsIndyYXAiLCJfY2FsbGVlJCIsIl9jb250ZXh0IiwicHJldiIsImNhbGwiLCJzZW50Iiwic2V0VGltZW91dCIsImFicnVwdCIsInN0b3AiLCJ0cmlnZ2VyTm9kZSIsIm9uQ2xpY2siLCJldmVudCIsInRyaWdnZXJPbkNsaWNrIiwicHJvcHMiLCJkZWZhdWx0UHJldmVudGVkIiwiaGFuZGxlSGlkZSIsImFyZ3VtZW50cyIsInNob3VsZFJlbmRlclBhbmVsIiwibWVyZ2VkU3R5bGUiLCJPYmplY3QiLCJhc3NpZ24iXSwibWFwcGluZ3MiOiI7O0FBQUEsSUFBSUEsU0FBUyxHQUFJLElBQUksSUFBSSxJQUFJLENBQUNBLFNBQVMsSUFBSyxVQUFVQyxPQUFPLEVBQUVDLFVBQVUsRUFBRUMsQ0FBQyxFQUFFQyxTQUFTLEVBQUU7RUFDckYsU0FBU0MsS0FBS0EsQ0FBQ0MsS0FBSyxFQUFFO0lBQUUsT0FBT0EsS0FBSyxZQUFZSCxDQUFDLEdBQUdHLEtBQUssR0FBRyxJQUFJSCxDQUFDLENBQUMsVUFBVUksT0FBTyxFQUFFO01BQUVBLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDO0lBQUUsQ0FBQyxDQUFDO0VBQUU7RUFDM0csT0FBTyxLQUFLSCxDQUFDLEtBQUtBLENBQUMsR0FBR0ssT0FBTyxDQUFDLEVBQUUsVUFBVUQsT0FBTyxFQUFFRSxNQUFNLEVBQUU7SUFDdkQsU0FBU0MsU0FBU0EsQ0FBQ0osS0FBSyxFQUFFO01BQUUsSUFBSTtRQUFFSyxJQUFJLENBQUNQLFNBQVMsQ0FBQ1EsSUFBSSxDQUFDTixLQUFLLENBQUMsQ0FBQztNQUFFLENBQUMsQ0FBQyxPQUFPTyxDQUFDLEVBQUU7UUFBRUosTUFBTSxDQUFDSSxDQUFDLENBQUM7TUFBRTtJQUFFO0lBQzFGLFNBQVNDLFFBQVFBLENBQUNSLEtBQUssRUFBRTtNQUFFLElBQUk7UUFBRUssSUFBSSxDQUFDUCxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUNFLEtBQUssQ0FBQyxDQUFDO01BQUUsQ0FBQyxDQUFDLE9BQU9PLENBQUMsRUFBRTtRQUFFSixNQUFNLENBQUNJLENBQUMsQ0FBQztNQUFFO0lBQUU7SUFDN0YsU0FBU0YsSUFB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QUNaLGNBQWM7RUFFdkQsSUFBTTJDLFdBQVcsR0FBR3hELE9BQU8sQ0FBZ0I7SUFBQSxPQUFNeUQsTUFBQSxDQUFBQyxNQUFBLENBQUFELE1BQUEsQ0FBQUMsTUFBQSxDQUFBLENBQUEsQ0FBQSxFQUMzQzFDLFlBQVksSUFBSSxDQUFBLENBQUcsQ0FBQSxFQUNuQkYsS0FBSyxLQUFLZSxTQUFTLEdBQUc7TUFBRWYsS0FBSyxFQUFMQTtJQUFLLENBQUUsR0FBRyxDQUFBLENBQUcsQ0FBQTtFQUFBLENBQ3pDLEVBQUUsQ0FBQ0UsWUFBWSxFQUFFRixLQUFLLENBQUMsQ0FBQztFQUUxQmYsU0FBUyxDQUFDLFlBQUs7SUFDYixPQUFPLFlBQUs7TUFDVitCLGVBQWUsQ0FBQSxDQUFFO0lBQ25CLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ0EsZUFBZSxDQUFDLENBQUM7RUFFckIsT0FBTztJQUNMTCxVQUFVLEVBQVZBLFVBQVU7SUFDVjhCLGlCQUFpQixFQUFqQkEsaUJBQWlCO0lBQ2pCUixXQUFXLEVBQVhBLFdBQVc7SUFDWGYsWUFBWSxFQUFaQSxZQUFZO0lBQ1pxQixVQUFVLEVBQVZBLFVBQVU7SUFDVkcsV0FBVyxFQUFYQSxXQUFXO0lBQ1g3QixVQUFVLEVBQVZBO0VEdERBLENDdUREO0FBQ0giLCJmaWxlIjoiY29tcG9uZW50cy9Qcm9Gb3JtL2xheW91dHMvdXNlT3ZlcmxheUZvcm0uanMiLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgX19hd2FpdGVyID0gKHRoaXMgJiYgdGhpcy5fX2F3YWl0ZXIpIHx8IGZ1bmN0aW9uICh0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7IHRyeSB7IHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTsgfSBjYXRjaCAoZSkgeyByZWplY3QoZSk7IH0gfVxuICAgICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHsgcmVzdWx0LmRvbmUgPyByZXNvbHZlKHJlc3VsdC52YWx1ZSkgOiBhZG9wdChyZXN1bHQudmFsdWUpLnRoZW4oZnVsZmlsbGVkLCByZWplY3RlZCk7IH1cbiAgICAgICAgc3RlcCgoZ2VuZXJhdG9yID0gZ2VuZXJhdG9yLmFwcGx5KHRoaXNBcmcsIF9hcmd1bWVudHMgfHwgW10pKS5uZXh0KCkpO1xuICAgIH0pO1xufTtcbmltcG9ydCB7IGNsb25lRWxlbWVudCwgaXNWYWxpZEVsZW1lbnQsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG4vKipcbiAqIFNoYXJlZCBob29rIHRoYXQgcG93ZXJzIGJvdGgge0BsaW5rIE1vZGFsRm9ybX0gYW5kIHtAbGluayBEcmF3ZXJGb3JtfS5cbiAqXG4gKiBNYW5hZ2VzIG9wZW4vY2xvc2Ugc3RhdGUsIHRyaWdnZXIgZWxlbWVudCBjbG9uaW5nLCBhdXRvLWNsb3NlIHdpdGggb3B0aW9uYWxcbiAqIHRpbWVvdXQgYWZ0ZXIgc3VibWl0LCBhbmQgb3ZlcmxheSB2aXNpYmlsaXR5IGxpZmVjeWNsZS5cbiAqXG4gKiBAdHlwZVBhcmFtIFRWYWx1ZXMgLSBUaGUgZm9ybSB2YWx1ZXMgdHlwZS5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICogQHJldHVybnMgQW4gb2JqZWN0IHdpdGggYG1lcmdlZE9wZW5gLCBgdHJpZ2dlck5vZGVgLCBgaGFuZGxlRmluaXNoYCwgYGhhbmRsZUhpZGVgLCBhbmQgbW9yZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU92ZXJsYXlGb3JtKHsgb3Blbiwgb25PcGVuQ2hhbmdlLCB0cmlnZ2VyLCBzdWJtaXRUaW1lb3V0LCBhdXRvQ2xvc2UgPSB0cnVlLCBkZXN0cm95T25DbG9zZSA9IHRydWUsIHdpZHRoLCBvbkZpbmlzaCwgb3ZlcmxheVN0eWxlLCBvbk92ZXJsYXlIaWRlLCB9KSB7XG4gICAgY29uc3QgW2lubmVyT3Blbiwgc2V0SW5uZXJPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBjbG9zZVRpbWVyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IG9uRmluaXNoUmVmID0gdXNlUmVmKG9uRmluaXNoKTtcbiAgICBjb25zdCBtZXJnZWRPcGVuID0gb3BlbiAhPT0gbnVsbCAmJiBvcGVuICE9PSB2b2lkIDAgPyBvcGVuIDogaW5uZXJPcGVuO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIG9uRmluaXNoUmVmLmN1cnJlbnQgPSBvbkZpbmlzaDtcbiAgICB9LCBbb25GaW5pc2hdKTtcbiAgICBjb25zdCBjaGFuZ2VPcGVuID0gdXNlQ2FsbGJhY2soKG5leHRPcGVuKSA9PiB7XG4gICAgICAgIGlmIChvcGVuID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHNldElubmVyT3BlbihuZXh0T3Blbik7XG4gICAgICAgIH1cbiAgICAgICAgb25PcGVuQ2hhbmdlID09PSBudWxsIHx8IG9uT3BlbkNoYW5nZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25PcGVuQ2hhbmdlKG5leHRPcGVuKTtcbiAgICB9LCBbb3Blbiwgb25PcGVuQ2hhbmdlXSk7XG4gICAgY29uc3QgY2xlYXJDbG9zZVRpbWVyID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgICAgICBpZiAoIWNsb3NlVGltZXJSZWYuY3VycmVudClcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2xlYXJUaW1lb3V0KGNsb3NlVGltZXJSZWYuY3VycmVudCk7XG4gICAgICAgIGNsb3NlVGltZXJSZWYuY3VycmVudCA9IG51bGw7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGhhbmRsZUZpbmlzaCA9IHVzZUNhbGxiYWNrKCh2YWx1ZXMpID0+IF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24qICgpIHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBjb25zdCByZXN1bHQgPSB5aWVsZCAoKF9hID0gb25GaW5pc2hSZWYuY3VycmVudCkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmNhbGwob25GaW5pc2hSZWYsIHZhbHVlcykpO1xuICAgICAgICBpZiAoYXV0b0Nsb3NlICYmIHJlc3VsdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIGNsZWFyQ2xvc2VUaW1lcigpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBzdWJtaXRUaW1lb3V0ID09PSAnbnVtYmVyJyAmJiBzdWJtaXRUaW1lb3V0ID4gMCkge1xuICAgICAgICAgICAgICAgIGNsb3NlVGltZXJSZWYuY3VycmVudCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjaGFuZ2VPcGVuKGZhbHNlKTtcbiAgICAgICAgICAgICAgICAgICAgY2xvc2VUaW1lclJlZi5jdXJyZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9LCBzdWJtaXRUaW1lb3V0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNoYW5nZU9wZW4oZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSksIFthdXRvQ2xvc2UsIGNoYW5nZU9wZW4sIGNsZWFyQ2xvc2VUaW1lciwgc3VibWl0VGltZW91dF0pO1xuICAgIGNvbnN0IHRyaWdnZXJOb2RlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgICAgIGlmICghdHJpZ2dlciB8fCAhaXNWYWxpZEVsZW1lbnQodHJpZ2dlcikpXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgcmV0dXJuIGNsb25lRWxlbWVudCh0cmlnZ2VyLCB7XG4gICAgICAgICAgICBvbkNsaWNrOiAoZXZlbnQpID0+IHtcbiAgICAgICAgICAgICAgICB2YXIgX2E7XG4gICAgICAgICAgICAgICAgY29uc3QgdHJpZ2dlck9uQ2xpY2sgPSAoX2EgPSB0cmlnZ2VyLnByb3BzKSA9PT0gbnVsbCB8fCBfYSA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2Eub25DbGljaztcbiAgICAgICAgICAgICAgICB0cmlnZ2VyT25DbGljayA9PT0gbnVsbCB8fCB0cmlnZ2VyT25DbGljayA9PT0gdm9pZCAwID8gdm9pZCAwIDogdHJpZ2dlck9uQ2xpY2soZXZlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChldmVudC5kZWZhdWx0UHJldmVudGVkKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2hhbmdlT3Blbih0cnVlKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH0sIFtjaGFuZ2VPcGVuLCB0cmlnZ2VyXSk7XG4gICAgY29uc3QgaGFuZGxlSGlkZSA9IHVzZUNhbGxiYWNrKCguLi5hcmdzKSA9PiB7XG4gICAgICAgIGNsZWFyQ2xvc2VUaW1lcigpO1xuICAgICAgICBvbk92ZXJsYXlIaWRlID09PSBudWxsIHx8IG9uT3ZlcmxheUhpZGUgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uT3ZlcmxheUhpZGUoLi4uYXJncyk7XG4gICAgICAgIGNoYW5nZU9wZW4oZmFsc2UpO1xuICAgIH0sIFtjaGFuZ2VPcGVuLCBjbGVhckNsb3NlVGltZXIsIG9uT3ZlcmxheUhpZGVdKTtcbiAgICBjb25zdCBzaG91bGRSZW5kZXJQYW5lbCA9IG1lcmdlZE9wZW4gfHwgIWRlc3Ryb3lPbkNsb3NlO1xuICAgIGNvbnN0IG1lcmdlZFN0eWxlID0gdXNlTWVtbygoKSA9PiAoT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCAob3ZlcmxheVN0eWxlIHx8IHt9KSksICh3aWR0aCAhPT0gdW5kZWZpbmVkID8geyB3aWR0aCB9IDoge30pKSksIFtvdmVybGF5U3R5bGUsIHdpZHRoXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGNsZWFyQ2xvc2VUaW1lcigpO1xuICAgICAgICB9O1xuICAgIH0sIFtjbGVhckNsb3NlVGltZXJdKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBtZXJnZWRPcGVuLFxuICAgICAgICBzaG91bGRSZW5kZXJQYW5lbCxcbiAgICAgICAgdHJpZ2dlck5vZGUsXG4gICAgICAgIGhhbmRsZUZpbmlzaCxcbiAgICAgICAgaGFuZGxlSGlkZSxcbiAgICAgICAgbWVyZ2VkU3R5bGUsXG4gICAgICAgIGNoYW5nZU9wZW4sXG4gICAgfTtcbn0iLG51bGxdLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.proform__submitter{display:flex;gap:12px;margin-top:16px}.proform__drawer-form,.proform__modal-form{padding:16px;background:#fff;border:1px solid #e3e4e4;border-radius:12px}.proform__drawer-form-title,.proform__modal-form-title,.proform__steps-form-title{margin-bottom:12px;font-weight:600;font-size:16px;line-height:24px}.proform__steps-form-description{margin-bottom:12px;color:#646465;font-size:14px}.proform__query-filter-actions,.proform__steps-form-actions{display:flex;gap:8px;margin-top:16px}.proform__query-filter-split{padding-top:16px;border-top:1px solid #e3e4e4}.proform__list{display:flex;flex-direction:column;gap:12px}.proform__list-label{font-weight:600;font-size:14px}.proform__list-row-actions{display:flex;gap:8px}
|