@bigbinary/neeto-commons-frontend 3.0.6 → 3.0.7
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/{constants.cjs.js → cjs/constants/index.js} +11 -10
- package/cjs/constants/index.js.map +1 -0
- package/cjs/cypress-utils/commands.js +276 -0
- package/cjs/cypress-utils/commands.js.map +1 -0
- package/cjs/cypress-utils/constants/index.js +14 -0
- package/cjs/cypress-utils/constants/index.js.map +1 -0
- package/cjs/cypress-utils/constants/routes.js +40 -0
- package/cjs/cypress-utils/constants/routes.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/common.js +103 -0
- package/cjs/cypress-utils/constants/selectors/common.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/editor.js +29 -0
- package/cjs/cypress-utils/constants/selectors/editor.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/ipRestriction.js +19 -0
- package/cjs/cypress-utils/constants/selectors/ipRestriction.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/login.js +21 -0
- package/cjs/cypress-utils/constants/selectors/login.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/member.js +65 -0
- package/cjs/cypress-utils/constants/selectors/member.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/navigation.js +28 -0
- package/cjs/cypress-utils/constants/selectors/navigation.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/roles.js +24 -0
- package/cjs/cypress-utils/constants/selectors/roles.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/signUp.js +23 -0
- package/cjs/cypress-utils/constants/selectors/signUp.js.map +1 -0
- package/cjs/cypress-utils/constants/selectors/tags.js +31 -0
- package/cjs/cypress-utils/constants/selectors/tags.js.map +1 -0
- package/cjs/cypress-utils/constants/texts/common.js +40 -0
- package/cjs/cypress-utils/constants/texts/common.js.map +1 -0
- package/cjs/cypress-utils/constants/texts/member.js +68 -0
- package/cjs/cypress-utils/constants/texts/member.js.map +1 -0
- package/cjs/cypress-utils/constants/texts/navigation.js +24 -0
- package/cjs/cypress-utils/constants/texts/navigation.js.map +1 -0
- package/cjs/cypress-utils/constants/texts/roles.js +25 -0
- package/cjs/cypress-utils/constants/texts/roles.js.map +1 -0
- package/cjs/cypress-utils/constants/texts/signUp.js +14 -0
- package/cjs/cypress-utils/constants/texts/signUp.js.map +1 -0
- package/cjs/cypress-utils/constants/texts/tags.js +28 -0
- package/cjs/cypress-utils/constants/texts/tags.js.map +1 -0
- package/cjs/cypress-utils/fixtures/fake.js +177 -0
- package/cjs/cypress-utils/fixtures/fake.js.map +1 -0
- package/cjs/cypress-utils/index.js +226 -0
- package/cjs/cypress-utils/index.js.map +1 -0
- package/cjs/cypress-utils/utils/authentication.js +45 -0
- package/cjs/cypress-utils/utils/authentication.js.map +1 -0
- package/cjs/cypress-utils/utils/common.js +92 -0
- package/cjs/cypress-utils/utils/common.js.map +1 -0
- package/cjs/cypress-utils/utils/date.js +28 -0
- package/cjs/cypress-utils/utils/date.js.map +1 -0
- package/cjs/cypress-utils/utils/email.js +165 -0
- package/cjs/cypress-utils/utils/email.js.map +1 -0
- package/cjs/cypress-utils/utils/member.js +352 -0
- package/cjs/cypress-utils/utils/member.js.map +1 -0
- package/cjs/cypress-utils/utils/navigation.js +208 -0
- package/cjs/cypress-utils/utils/navigation.js.map +1 -0
- package/cjs/cypress-utils/utils/organization.js +109 -0
- package/cjs/cypress-utils/utils/organization.js.map +1 -0
- package/cjs/cypress-utils/utils/validation.js +17 -0
- package/cjs/cypress-utils/utils/validation.js.map +1 -0
- package/cjs/initializers/axios/index.js +199 -0
- package/cjs/initializers/axios/index.js.map +1 -0
- package/cjs/initializers/axios/paramsSerializer.js +27 -0
- package/cjs/initializers/axios/paramsSerializer.js.map +1 -0
- package/cjs/initializers/constants.js +17 -0
- package/cjs/initializers/constants.js.map +1 -0
- package/cjs/initializers/globalProps.js +15 -0
- package/cjs/initializers/globalProps.js.map +1 -0
- package/cjs/initializers/i18n.js +68 -0
- package/cjs/initializers/i18n.js.map +1 -0
- package/cjs/initializers/index.js +51 -0
- package/cjs/initializers/index.js.map +1 -0
- package/cjs/initializers/logger.js +17 -0
- package/cjs/initializers/logger.js.map +1 -0
- package/cjs/initializers/reactDevTools.js +26 -0
- package/cjs/initializers/reactDevTools.js.map +1 -0
- package/cjs/initializers/utils/customFormatters.js +43 -0
- package/cjs/initializers/utils/customFormatters.js.map +1 -0
- package/cjs/initializers/utils/customPostProcessors.js +21 -0
- package/cjs/initializers/utils/customPostProcessors.js.map +1 -0
- package/cjs/initializers/utils.js +37 -0
- package/cjs/initializers/utils.js.map +1 -0
- package/cjs/react-utils/BrowserPushNotifications/devices.js +26 -0
- package/cjs/react-utils/BrowserPushNotifications/devices.js.map +1 -0
- package/cjs/react-utils/BrowserPushNotifications/index.js +19 -0
- package/cjs/react-utils/BrowserPushNotifications/index.js.map +1 -0
- package/cjs/react-utils/BrowserPushNotifications/pushHelper.js +116 -0
- package/cjs/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -0
- package/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js +146 -0
- package/cjs/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js +153 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js.map +1 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/constants.js +9 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/constants.js.map +1 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/index.js +59 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/index.js.map +1 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/utils.js +17 -0
- package/cjs/react-utils/HoneybadgerErrorBoundary/utils.js.map +1 -0
- package/cjs/react-utils/PrivateRoute.js +80 -0
- package/cjs/react-utils/PrivateRoute.js.map +1 -0
- package/cjs/react-utils/constants/constants.js +11 -0
- package/cjs/react-utils/constants/constants.js.map +1 -0
- package/cjs/react-utils/constants/index.js +28 -0
- package/cjs/react-utils/constants/index.js.map +1 -0
- package/cjs/react-utils/constants/query.js +11 -0
- package/cjs/react-utils/constants/query.js.map +1 -0
- package/cjs/react-utils/index.js +242 -0
- package/cjs/react-utils/index.js.map +1 -0
- package/cjs/react-utils/metaClick.js +16 -0
- package/cjs/react-utils/metaClick.js.map +1 -0
- package/cjs/react-utils/useDebounce.js +28 -0
- package/cjs/react-utils/useDebounce.js.map +1 -0
- package/cjs/react-utils/useDisplayErrorPage.js +23 -0
- package/cjs/react-utils/useDisplayErrorPage.js.map +1 -0
- package/cjs/react-utils/useFetchNeetoApps/apis/neeto_apps.js +17 -0
- package/cjs/react-utils/useFetchNeetoApps/apis/neeto_apps.js.map +1 -0
- package/cjs/react-utils/useFetchNeetoApps/index.js +14 -0
- package/cjs/react-utils/useFetchNeetoApps/index.js.map +1 -0
- package/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +27 -0
- package/cjs/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -0
- package/cjs/react-utils/useFieldSubmit.js +33 -0
- package/cjs/react-utils/useFieldSubmit.js.map +1 -0
- package/cjs/react-utils/useFuncDebounce.js +27 -0
- package/cjs/react-utils/useFuncDebounce.js.map +1 -0
- package/cjs/react-utils/useHotKeys/constants.js +36 -0
- package/cjs/react-utils/useHotKeys/constants.js.map +1 -0
- package/cjs/react-utils/useHotKeys/index.js +14 -0
- package/cjs/react-utils/useHotKeys/index.js.map +1 -0
- package/cjs/react-utils/useHotKeys/useHotKeys.js +65 -0
- package/cjs/react-utils/useHotKeys/useHotKeys.js.map +1 -0
- package/cjs/react-utils/useHotKeys/utils.js +37 -0
- package/cjs/react-utils/useHotKeys/utils.js.map +1 -0
- package/cjs/react-utils/useIsElementVisibleInDom/index.js +14 -0
- package/cjs/react-utils/useIsElementVisibleInDom/index.js.map +1 -0
- package/cjs/react-utils/useIsElementVisibleInDom/useForceUpdate.js +23 -0
- package/cjs/react-utils/useIsElementVisibleInDom/useForceUpdate.js.map +1 -0
- package/cjs/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js +34 -0
- package/cjs/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js.map +1 -0
- package/cjs/react-utils/useKeyboardShortcutsPaneState.js +36 -0
- package/cjs/react-utils/useKeyboardShortcutsPaneState.js.map +1 -0
- package/cjs/react-utils/useLocalStorage.js +39 -0
- package/cjs/react-utils/useLocalStorage.js.map +1 -0
- package/cjs/react-utils/useMutationWithInvalidation.js +33 -0
- package/cjs/react-utils/useMutationWithInvalidation.js.map +1 -0
- package/cjs/react-utils/useOnClickOutside.js +32 -0
- package/cjs/react-utils/useOnClickOutside.js.map +1 -0
- package/cjs/react-utils/usePersistedQuery.js +59 -0
- package/cjs/react-utils/usePersistedQuery.js.map +1 -0
- package/cjs/react-utils/usePrevious.js +17 -0
- package/cjs/react-utils/usePrevious.js.map +1 -0
- package/cjs/react-utils/useQueryParams.js +15 -0
- package/cjs/react-utils/useQueryParams.js.map +1 -0
- package/cjs/react-utils/useRegisterNavigationCheckpoint.js +43 -0
- package/cjs/react-utils/useRegisterNavigationCheckpoint.js.map +1 -0
- package/cjs/react-utils/useStateWithDependency.js +23 -0
- package/cjs/react-utils/useStateWithDependency.js.map +1 -0
- package/cjs/react-utils/useTimer.js +51 -0
- package/cjs/react-utils/useTimer.js.map +1 -0
- package/cjs/react-utils/useUpdateEffect.js +21 -0
- package/cjs/react-utils/useUpdateEffect.js.map +1 -0
- package/cjs/react-utils/withImmutableActions.js +29 -0
- package/cjs/react-utils/withImmutableActions.js.map +1 -0
- package/cjs/react-utils/withT.js +14 -0
- package/cjs/react-utils/withT.js.map +1 -0
- package/cjs/react-utils/withTitle.js +44 -0
- package/cjs/react-utils/withTitle.js.map +1 -0
- package/cjs/utils/axios.js +17 -0
- package/cjs/utils/axios.js.map +1 -0
- package/cjs/utils/createSubscription.js +22 -0
- package/cjs/utils/createSubscription.js.map +1 -0
- package/cjs/utils/currencyFormat.js +50 -0
- package/cjs/utils/currencyFormat.js.map +1 -0
- package/cjs/utils/datetime.js +69 -0
- package/cjs/utils/datetime.js.map +1 -0
- package/cjs/utils/general.js +193 -0
- package/cjs/utils/general.js.map +1 -0
- package/cjs/utils/index.js +72 -0
- package/cjs/utils/index.js.map +1 -0
- package/cjs/utils/permissions.js +25 -0
- package/cjs/utils/permissions.js.map +1 -0
- package/configs/scripts/getPkgTranslations.js +1 -1
- package/configs/scripts/jsdoc-builder/constants.mjs +1 -1
- package/configs/scripts/jsdoc-builder/index.mjs +1 -1
- package/configs/webpack/rules.js +2 -1
- package/constants/index.js +13 -0
- package/constants/index.js.map +1 -0
- package/cypress-utils/commands.js +268 -0
- package/cypress-utils/commands.js.map +1 -0
- package/cypress-utils/constants/index.js +7 -0
- package/cypress-utils/constants/index.js.map +1 -0
- package/cypress-utils/constants/routes.js +33 -0
- package/cypress-utils/constants/routes.js.map +1 -0
- package/cypress-utils/constants/selectors/common.js +94 -0
- package/cypress-utils/constants/selectors/common.js.map +1 -0
- package/cypress-utils/constants/selectors/editor.js +22 -0
- package/cypress-utils/constants/selectors/editor.js.map +1 -0
- package/cypress-utils/constants/selectors/ipRestriction.js +12 -0
- package/cypress-utils/constants/selectors/ipRestriction.js.map +1 -0
- package/cypress-utils/constants/selectors/login.js +14 -0
- package/cypress-utils/constants/selectors/login.js.map +1 -0
- package/cypress-utils/constants/selectors/member.js +56 -0
- package/cypress-utils/constants/selectors/member.js.map +1 -0
- package/cypress-utils/constants/selectors/navigation.js +20 -0
- package/cypress-utils/constants/selectors/navigation.js.map +1 -0
- package/cypress-utils/constants/selectors/roles.js +17 -0
- package/cypress-utils/constants/selectors/roles.js.map +1 -0
- package/cypress-utils/constants/selectors/signUp.js +16 -0
- package/cypress-utils/constants/selectors/signUp.js.map +1 -0
- package/cypress-utils/constants/selectors/tags.js +23 -0
- package/cypress-utils/constants/selectors/tags.js.map +1 -0
- package/cypress-utils/constants/texts/common.js +33 -0
- package/cypress-utils/constants/texts/common.js.map +1 -0
- package/cypress-utils/constants/texts/member.js +59 -0
- package/cypress-utils/constants/texts/member.js.map +1 -0
- package/cypress-utils/constants/texts/navigation.js +16 -0
- package/cypress-utils/constants/texts/navigation.js.map +1 -0
- package/cypress-utils/constants/texts/roles.js +18 -0
- package/cypress-utils/constants/texts/roles.js.map +1 -0
- package/cypress-utils/constants/texts/signUp.js +7 -0
- package/cypress-utils/constants/texts/signUp.js.map +1 -0
- package/cypress-utils/constants/texts/tags.js +21 -0
- package/cypress-utils/constants/texts/tags.js.map +1 -0
- package/cypress-utils/fixtures/fake.js +171 -0
- package/cypress-utils/fixtures/fake.js.map +1 -0
- package/cypress-utils/index.js +21 -0
- package/cypress-utils/index.js.map +1 -0
- package/cypress-utils/utils/authentication.js +38 -0
- package/cypress-utils/utils/authentication.js.map +1 -0
- package/cypress-utils/utils/common.js +75 -0
- package/cypress-utils/utils/common.js.map +1 -0
- package/cypress-utils/utils/date.js +20 -0
- package/cypress-utils/utils/date.js.map +1 -0
- package/cypress-utils/utils/email.js +156 -0
- package/cypress-utils/utils/email.js.map +1 -0
- package/cypress-utils/utils/member.js +344 -0
- package/cypress-utils/utils/member.js.map +1 -0
- package/cypress-utils/utils/navigation.js +200 -0
- package/cypress-utils/utils/navigation.js.map +1 -0
- package/cypress-utils/utils/organization.js +102 -0
- package/cypress-utils/utils/organization.js.map +1 -0
- package/cypress-utils/utils/validation.js +10 -0
- package/cypress-utils/utils/validation.js.map +1 -0
- package/initializers/axios/index.js +192 -0
- package/initializers/axios/index.js.map +1 -0
- package/initializers/axios/paramsSerializer.js +18 -0
- package/initializers/axios/paramsSerializer.js.map +1 -0
- package/initializers/constants.js +8 -0
- package/initializers/constants.js.map +1 -0
- package/initializers/globalProps.js +8 -0
- package/initializers/globalProps.js.map +1 -0
- package/initializers/i18n.js +61 -0
- package/initializers/i18n.js.map +1 -0
- package/initializers/index.js +28 -0
- package/initializers/index.js.map +1 -0
- package/initializers/logger.js +10 -0
- package/initializers/logger.js.map +1 -0
- package/initializers/reactDevTools.js +19 -0
- package/initializers/reactDevTools.js.map +1 -0
- package/initializers/utils/customFormatters.js +34 -0
- package/initializers/utils/customFormatters.js.map +1 -0
- package/initializers/utils/customPostProcessors.js +14 -0
- package/initializers/utils/customPostProcessors.js.map +1 -0
- package/initializers/utils.js +29 -0
- package/initializers/utils.js.map +1 -0
- package/package.json +51 -158
- package/pure.d.ts +384 -0
- package/react-utils/BrowserPushNotifications/devices.js +18 -0
- package/react-utils/BrowserPushNotifications/devices.js.map +1 -0
- package/react-utils/BrowserPushNotifications/index.js +1 -0
- package/react-utils/BrowserPushNotifications/index.js.map +1 -0
- package/react-utils/BrowserPushNotifications/pushHelper.js +107 -0
- package/react-utils/BrowserPushNotifications/pushHelper.js.map +1 -0
- package/react-utils/BrowserPushNotifications/registerServiceWorker.js +137 -0
- package/react-utils/BrowserPushNotifications/registerServiceWorker.js.map +1 -0
- package/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js +144 -0
- package/react-utils/HoneybadgerErrorBoundary/FallbackComponent.js.map +1 -0
- package/react-utils/HoneybadgerErrorBoundary/constants.js +1 -0
- package/react-utils/HoneybadgerErrorBoundary/constants.js.map +1 -0
- package/react-utils/HoneybadgerErrorBoundary/index.js +52 -0
- package/react-utils/HoneybadgerErrorBoundary/index.js.map +1 -0
- package/react-utils/HoneybadgerErrorBoundary/utils.js +9 -0
- package/react-utils/HoneybadgerErrorBoundary/utils.js.map +1 -0
- package/react-utils/PrivateRoute.js +72 -0
- package/react-utils/PrivateRoute.js.map +1 -0
- package/react-utils/constants/constants.js +3 -0
- package/react-utils/constants/constants.js.map +1 -0
- package/react-utils/constants/index.js +3 -0
- package/react-utils/constants/index.js.map +1 -0
- package/react-utils/constants/query.js +4 -0
- package/react-utils/constants/query.js.map +1 -0
- package/react-utils/index.js +33 -0
- package/react-utils/index.js.map +1 -0
- package/react-utils/metaClick.js +8 -0
- package/react-utils/metaClick.js.map +1 -0
- package/react-utils/useDebounce.js +20 -0
- package/react-utils/useDebounce.js.map +1 -0
- package/react-utils/useDisplayErrorPage.js +15 -0
- package/react-utils/useDisplayErrorPage.js.map +1 -0
- package/react-utils/useFetchNeetoApps/apis/neeto_apps.js +9 -0
- package/react-utils/useFetchNeetoApps/apis/neeto_apps.js.map +1 -0
- package/react-utils/useFetchNeetoApps/index.js +1 -0
- package/react-utils/useFetchNeetoApps/index.js.map +1 -0
- package/react-utils/useFetchNeetoApps/useFetchNeetoApps.js +19 -0
- package/react-utils/useFetchNeetoApps/useFetchNeetoApps.js.map +1 -0
- package/react-utils/useFieldSubmit.js +26 -0
- package/react-utils/useFieldSubmit.js.map +1 -0
- package/react-utils/useFuncDebounce.js +20 -0
- package/react-utils/useFuncDebounce.js.map +1 -0
- package/react-utils/useHotKeys/constants.js +25 -0
- package/react-utils/useHotKeys/constants.js.map +1 -0
- package/react-utils/useHotKeys/index.js +1 -0
- package/react-utils/useHotKeys/index.js.map +1 -0
- package/react-utils/useHotKeys/useHotKeys.js +57 -0
- package/react-utils/useHotKeys/useHotKeys.js.map +1 -0
- package/react-utils/useHotKeys/utils.js +29 -0
- package/react-utils/useHotKeys/utils.js.map +1 -0
- package/react-utils/useIsElementVisibleInDom/index.js +1 -0
- package/react-utils/useIsElementVisibleInDom/index.js.map +1 -0
- package/react-utils/useIsElementVisibleInDom/useForceUpdate.js +15 -0
- package/react-utils/useIsElementVisibleInDom/useForceUpdate.js.map +1 -0
- package/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js +26 -0
- package/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js.map +1 -0
- package/react-utils/useKeyboardShortcutsPaneState.js +29 -0
- package/react-utils/useKeyboardShortcutsPaneState.js.map +1 -0
- package/react-utils/useLocalStorage.js +31 -0
- package/react-utils/useLocalStorage.js.map +1 -0
- package/react-utils/useMutationWithInvalidation.js +25 -0
- package/react-utils/useMutationWithInvalidation.js.map +1 -0
- package/react-utils/useOnClickOutside.js +25 -0
- package/react-utils/useOnClickOutside.js.map +1 -0
- package/react-utils/usePersistedQuery.js +51 -0
- package/react-utils/usePersistedQuery.js.map +1 -0
- package/react-utils/usePrevious.js +10 -0
- package/react-utils/usePrevious.js.map +1 -0
- package/react-utils/useQueryParams.js +8 -0
- package/react-utils/useQueryParams.js.map +1 -0
- package/react-utils/useRegisterNavigationCheckpoint.js +35 -0
- package/react-utils/useRegisterNavigationCheckpoint.js.map +1 -0
- package/react-utils/useStateWithDependency.js +15 -0
- package/react-utils/useStateWithDependency.js.map +1 -0
- package/react-utils/useTimer.js +43 -0
- package/react-utils/useTimer.js.map +1 -0
- package/react-utils/useUpdateEffect.js +14 -0
- package/react-utils/useUpdateEffect.js.map +1 -0
- package/react-utils/withImmutableActions.js +22 -0
- package/react-utils/withImmutableActions.js.map +1 -0
- package/react-utils/withT.js +7 -0
- package/react-utils/withT.js.map +1 -0
- package/react-utils/withTitle.js +36 -0
- package/react-utils/withTitle.js.map +1 -0
- package/react-utils.d.ts +14 -2
- package/utils/axios.js +10 -0
- package/utils/axios.js.map +1 -0
- package/utils/createSubscription.js +15 -0
- package/utils/createSubscription.js.map +1 -0
- package/utils/currencyFormat.js +42 -0
- package/utils/currencyFormat.js.map +1 -0
- package/utils/datetime.js +60 -0
- package/utils/datetime.js.map +1 -0
- package/utils/general.js +172 -0
- package/utils/general.js.map +1 -0
- package/utils/index.js +7 -0
- package/utils/index.js.map +1 -0
- package/utils/permissions.js +16 -0
- package/utils/permissions.js.map +1 -0
- package/utils.d.ts +18 -2
- package/README.md +0 -173
- package/constants.cjs.js.map +0 -1
- package/constants.js +0 -15
- package/constants.js.map +0 -1
- package/cypress-utils.cjs.js +0 -1819
- package/cypress-utils.cjs.js.map +0 -1
- package/cypress-utils.js +0 -1773
- package/cypress-utils.js.map +0 -1
- package/initializers.cjs.js +0 -2648
- package/initializers.cjs.js.map +0 -1
- package/initializers.js +0 -2634
- package/initializers.js.map +0 -1
- package/react-utils.cjs.js +0 -4915
- package/react-utils.cjs.js.map +0 -1
- package/react-utils.js +0 -4860
- package/react-utils.js.map +0 -1
- package/utils.cjs.js +0 -1280
- package/utils.cjs.js.map +0 -1
- package/utils.js +0 -1248
- package/utils.js.map +0 -1
- /package/{src/translations → translations}/en.json +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"query.js","names":["QUERY_KEYS","NEETO_APPS_LIST"],"sources":["../../../src/react-utils/constants/query.js"],"sourcesContent":["export const QUERY_KEYS = { NEETO_APPS_LIST: \"neeto-apps-list\" };\n"],"mappings":"AAAA,OAAO,IAAMA,UAAU,GAAG;EAAEC,eAAe,EAAE;AAAkB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// components
|
|
2
|
+
export { default as HoneybadgerErrorBoundary } from "./HoneybadgerErrorBoundary";
|
|
3
|
+
export { default as PrivateRoute } from "./PrivateRoute";
|
|
4
|
+
|
|
5
|
+
// hooks
|
|
6
|
+
export { default as useDebounce } from "./useDebounce";
|
|
7
|
+
export * from "./useDisplayErrorPage";
|
|
8
|
+
export { default as useDisplayErrorPage } from "./useDisplayErrorPage";
|
|
9
|
+
export { default as useFetchNeetoApps } from "./useFetchNeetoApps";
|
|
10
|
+
export { default as useFieldSubmit } from "./useFieldSubmit";
|
|
11
|
+
export { default as useFuncDebounce } from "./useFuncDebounce";
|
|
12
|
+
export { default as useHotKeys } from "./useHotKeys";
|
|
13
|
+
export { default as useIsElementVisibleInDom } from "./useIsElementVisibleInDom";
|
|
14
|
+
export { default as useKeyboardShortcutsPaneState } from "./useKeyboardShortcutsPaneState";
|
|
15
|
+
export { default as useLocalStorage } from "./useLocalStorage";
|
|
16
|
+
export { default as useMutationWithInvalidation } from "./useMutationWithInvalidation";
|
|
17
|
+
export { default as useOnClickOutside } from "./useOnClickOutside";
|
|
18
|
+
export { default as usePersistedQuery } from "./usePersistedQuery";
|
|
19
|
+
export { default as usePrevious } from "./usePrevious";
|
|
20
|
+
export { default as useQueryParams } from "./useQueryParams";
|
|
21
|
+
export * from "./useRegisterNavigationCheckpoint";
|
|
22
|
+
export { default as useRegisterNavigationCheckpoint } from "./useRegisterNavigationCheckpoint";
|
|
23
|
+
export { default as useStateWithDependency } from "./useStateWithDependency";
|
|
24
|
+
export { default as useTimer } from "./useTimer";
|
|
25
|
+
export { default as useUpdateEffect } from "./useUpdateEffect";
|
|
26
|
+
|
|
27
|
+
// utils
|
|
28
|
+
export * from "./BrowserPushNotifications";
|
|
29
|
+
export * from "./metaClick";
|
|
30
|
+
export { default as withImmutableActions } from "./withImmutableActions";
|
|
31
|
+
export { default as withT } from "./withT";
|
|
32
|
+
export { default as withTitle } from "./withTitle";
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default","HoneybadgerErrorBoundary","PrivateRoute","useDebounce","useDisplayErrorPage","useFetchNeetoApps","useFieldSubmit","useFuncDebounce","useHotKeys","useIsElementVisibleInDom","useKeyboardShortcutsPaneState","useLocalStorage","useMutationWithInvalidation","useOnClickOutside","usePersistedQuery","usePrevious","useQueryParams","useRegisterNavigationCheckpoint","useStateWithDependency","useTimer","useUpdateEffect","withImmutableActions","withT","withTitle"],"sources":["../../src/react-utils/index.js"],"sourcesContent":["// components\nexport { default as HoneybadgerErrorBoundary } from \"./HoneybadgerErrorBoundary\";\nexport { default as PrivateRoute } from \"./PrivateRoute\";\n\n// hooks\nexport { default as useDebounce } from \"./useDebounce\";\nexport * from \"./useDisplayErrorPage\";\nexport { default as useDisplayErrorPage } from \"./useDisplayErrorPage\";\nexport { default as useFetchNeetoApps } from \"./useFetchNeetoApps\";\nexport { default as useFieldSubmit } from \"./useFieldSubmit\";\nexport { default as useFuncDebounce } from \"./useFuncDebounce\";\nexport { default as useHotKeys } from \"./useHotKeys\";\nexport { default as useIsElementVisibleInDom } from \"./useIsElementVisibleInDom\";\nexport { default as useKeyboardShortcutsPaneState } from \"./useKeyboardShortcutsPaneState\";\nexport { default as useLocalStorage } from \"./useLocalStorage\";\nexport { default as useMutationWithInvalidation } from \"./useMutationWithInvalidation\";\nexport { default as useOnClickOutside } from \"./useOnClickOutside\";\nexport { default as usePersistedQuery } from \"./usePersistedQuery\";\nexport { default as usePrevious } from \"./usePrevious\";\nexport { default as useQueryParams } from \"./useQueryParams\";\nexport * from \"./useRegisterNavigationCheckpoint\";\nexport { default as useRegisterNavigationCheckpoint } from \"./useRegisterNavigationCheckpoint\";\nexport { default as useStateWithDependency } from \"./useStateWithDependency\";\nexport { default as useTimer } from \"./useTimer\";\nexport { default as useUpdateEffect } from \"./useUpdateEffect\";\n\n// utils\nexport * from \"./BrowserPushNotifications\";\nexport * from \"./metaClick\";\nexport { default as withImmutableActions } from \"./withImmutableActions\";\nexport { default as withT } from \"./withT\";\nexport { default as withTitle } from \"./withTitle\";\n"],"mappings":"AAAA;AACA,SAASA,OAAO,IAAIC,wBAAwB;AAC5C,SAASD,OAAO,IAAIE,YAAY;;AAEhC;AACA,SAASF,OAAO,IAAIG,WAAW;AAC/B;AACA,SAASH,OAAO,IAAII,mBAAmB;AACvC,SAASJ,OAAO,IAAIK,iBAAiB;AACrC,SAASL,OAAO,IAAIM,cAAc;AAClC,SAASN,OAAO,IAAIO,eAAe;AACnC,SAASP,OAAO,IAAIQ,UAAU;AAC9B,SAASR,OAAO,IAAIS,wBAAwB;AAC5C,SAAST,OAAO,IAAIU,6BAA6B;AACjD,SAASV,OAAO,IAAIW,eAAe;AACnC,SAASX,OAAO,IAAIY,2BAA2B;AAC/C,SAASZ,OAAO,IAAIa,iBAAiB;AACrC,SAASb,OAAO,IAAIc,iBAAiB;AACrC,SAASd,OAAO,IAAIe,WAAW;AAC/B,SAASf,OAAO,IAAIgB,cAAc;AAClC;AACA,SAAShB,OAAO,IAAIiB,+BAA+B;AACnD,SAASjB,OAAO,IAAIkB,sBAAsB;AAC1C,SAASlB,OAAO,IAAImB,QAAQ;AAC5B,SAASnB,OAAO,IAAIoB,eAAe;;AAEnC;AACA;AACA;AACA,SAASpB,OAAO,IAAIqB,oBAAoB;AACxC,SAASrB,OAAO,IAAIsB,KAAK;AACzB,SAAStB,OAAO,IAAIuB,SAAS"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { curry } from "ramda";
|
|
2
|
+
export var handleMetaClick = curry(function (history, params, event) {
|
|
3
|
+
return isMetaKeyPressed(event) ? window.open(params.pathname || params, "_blank") : history.push(params);
|
|
4
|
+
});
|
|
5
|
+
export var isMetaKeyPressed = function isMetaKeyPressed(event) {
|
|
6
|
+
return !!(event !== null && event !== void 0 && event.ctrlKey || event !== null && event !== void 0 && event.metaKey);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=metaClick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"metaClick.js","names":["curry","handleMetaClick","history","params","event","isMetaKeyPressed","window","open","pathname","push","ctrlKey","metaKey"],"sources":["../../src/react-utils/metaClick.js"],"sourcesContent":["import { curry } from \"ramda\";\n\nexport const handleMetaClick = curry((history, params, event) =>\n isMetaKeyPressed(event)\n ? window.open(params.pathname || params, \"_blank\")\n : history.push(params)\n);\n\nexport const isMetaKeyPressed = event => !!(event?.ctrlKey || event?.metaKey);\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,OAAO;AAE7B,OAAO,IAAMC,eAAe,GAAGD,KAAK,CAAC,UAACE,OAAO,EAAEC,MAAM,EAAEC,KAAK;EAAA,OAC1DC,gBAAgB,CAACD,KAAK,CAAC,GACnBE,MAAM,CAACC,IAAI,CAACJ,MAAM,CAACK,QAAQ,IAAIL,MAAM,EAAE,QAAQ,CAAC,GAChDD,OAAO,CAACO,IAAI,CAACN,MAAM,CAAC;AAAA,EACzB;AAED,OAAO,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGD,KAAK;EAAA,OAAI,CAAC,EAAEA,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEM,OAAO,IAAIN,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEO,OAAO,CAAC;AAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
|
+
var useDebounce = function useDebounce(value) {
|
|
4
|
+
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 350;
|
|
5
|
+
var _useState = useState(value),
|
|
6
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
7
|
+
debouncedValue = _useState2[0],
|
|
8
|
+
setDebouncedValue = _useState2[1];
|
|
9
|
+
useEffect(function () {
|
|
10
|
+
var handler = setTimeout(function () {
|
|
11
|
+
setDebouncedValue(value);
|
|
12
|
+
}, delay);
|
|
13
|
+
return function () {
|
|
14
|
+
clearTimeout(handler);
|
|
15
|
+
};
|
|
16
|
+
}, [value]);
|
|
17
|
+
return debouncedValue;
|
|
18
|
+
};
|
|
19
|
+
export default useDebounce;
|
|
20
|
+
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.js","names":["useState","useEffect","useDebounce","value","delay","arguments","length","undefined","_useState","_useState2","_slicedToArray","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"sources":["../../src/react-utils/useDebounce.js"],"sourcesContent":["import { useState, useEffect } from \"react\";\n\nconst useDebounce = (value, delay = 350) => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value]);\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAE3C,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAIC,KAAK,EAAkB;EAAA,IAAhBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EACrC,IAAAG,SAAA,GAA4CR,QAAQ,CAACG,KAAK,CAAC;IAAAM,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAApDG,cAAc,GAAAF,UAAA;IAAEG,iBAAiB,GAAAH,UAAA;EAExCR,SAAS,CAAC,YAAM;IACd,IAAMY,OAAO,GAAGC,UAAU,CAAC,YAAM;MAC/BF,iBAAiB,CAACT,KAAK,CAAC;IAC1B,CAAC,EAAEC,KAAK,CAAC;IAET,OAAO,YAAM;MACXW,YAAY,CAACF,OAAO,CAAC;IACvB,CAAC;EACH,CAAC,EAAE,CAACV,KAAK,CAAC,CAAC;EAEX,OAAOQ,cAAc;AACvB,CAAC;AAED,eAAeT,WAAW"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { prop } from "ramda";
|
|
2
|
+
import { create } from "zustand";
|
|
3
|
+
var useDisplayErrorPage = function useDisplayErrorPage() {
|
|
4
|
+
return useErrorDisplayStore(prop("showErrorPage"));
|
|
5
|
+
};
|
|
6
|
+
export var useErrorDisplayStore = create(function () {
|
|
7
|
+
return {
|
|
8
|
+
showErrorPage: false,
|
|
9
|
+
statusCode: 404,
|
|
10
|
+
failedApiUrl: "",
|
|
11
|
+
failedApiPath: ""
|
|
12
|
+
};
|
|
13
|
+
});
|
|
14
|
+
export default useDisplayErrorPage;
|
|
15
|
+
//# sourceMappingURL=useDisplayErrorPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDisplayErrorPage.js","names":["prop","create","useDisplayErrorPage","useErrorDisplayStore","showErrorPage","statusCode","failedApiUrl","failedApiPath"],"sources":["../../src/react-utils/useDisplayErrorPage.js"],"sourcesContent":["import { prop } from \"ramda\";\nimport { create } from \"zustand\";\n\nconst useDisplayErrorPage = () => useErrorDisplayStore(prop(\"showErrorPage\"));\n\nexport const useErrorDisplayStore = create(() => ({\n showErrorPage: false,\n statusCode: 404,\n failedApiUrl: \"\",\n failedApiPath: \"\",\n}));\n\nexport default useDisplayErrorPage;\n"],"mappings":"AAAA,SAASA,IAAI,QAAQ,OAAO;AAC5B,SAASC,MAAM,QAAQ,SAAS;AAEhC,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA;EAAA,OAASC,oBAAoB,CAACH,IAAI,CAAC,eAAe,CAAC,CAAC;AAAA;AAE7E,OAAO,IAAMG,oBAAoB,GAAGF,MAAM,CAAC;EAAA,OAAO;IAChDG,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,GAAG;IACfC,YAAY,EAAE,EAAE;IAChBC,aAAa,EAAE;EACjB,CAAC;AAAA,CAAC,CAAC;AAEH,eAAeL,mBAAmB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"neeto_apps.js","names":["axios","fetch","get","neetoAppsApi"],"sources":["../../../../src/react-utils/useFetchNeetoApps/apis/neeto_apps.js"],"sourcesContent":["import axios from \"axios\";\n\nconst fetch = () => axios.get(\"/api/v1/neeto_apps\");\n\nconst neetoAppsApi = { fetch };\n\nexport default neetoAppsApi;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,IAAMC,KAAK,GAAG,SAARA,KAAKA,CAAA;EAAA,OAASD,KAAK,CAACE,GAAG,CAAC,oBAAoB,CAAC;AAAA;AAEnD,IAAMC,YAAY,GAAG;EAAEF,KAAK,EAALA;AAAM,CAAC;AAE9B,eAAeE,YAAY"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./useFetchNeetoApps";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../src/react-utils/useFetchNeetoApps/index.js"],"sourcesContent":["export { default } from \"./useFetchNeetoApps\";\n"],"mappings":"AAAA,SAASA,OAAO"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
import { isNotPresent } from "@bigbinary/neeto-cist";
|
|
5
|
+
import { usePersistedQuery } from "@bigbinary/neeto-commons-frontend/react-utils";
|
|
6
|
+
import neetoAppsApi from "./apis/neeto_apps";
|
|
7
|
+
import { NEETO_APPS_LIST_STALE_TIME } from "../constants";
|
|
8
|
+
import { QUERY_KEYS } from "../constants/query";
|
|
9
|
+
var useFetchNeetoApps = function useFetchNeetoApps(options) {
|
|
10
|
+
var _globalProps$user;
|
|
11
|
+
var scopedQueryKey = "".concat(QUERY_KEYS.NEETO_APPS_LIST, "-").concat((_globalProps$user = globalProps.user) === null || _globalProps$user === void 0 ? void 0 : _globalProps$user.id);
|
|
12
|
+
var neetoApps = usePersistedQuery.getCache(scopedQueryKey);
|
|
13
|
+
return usePersistedQuery(scopedQueryKey, neetoAppsApi.fetch, _objectSpread({
|
|
14
|
+
staleTime: NEETO_APPS_LIST_STALE_TIME,
|
|
15
|
+
enabled: isNotPresent(neetoApps === null || neetoApps === void 0 ? void 0 : neetoApps.data)
|
|
16
|
+
}, options));
|
|
17
|
+
};
|
|
18
|
+
export default useFetchNeetoApps;
|
|
19
|
+
//# sourceMappingURL=useFetchNeetoApps.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFetchNeetoApps.js","names":["isNotPresent","usePersistedQuery","neetoAppsApi","NEETO_APPS_LIST_STALE_TIME","QUERY_KEYS","useFetchNeetoApps","options","_globalProps$user","scopedQueryKey","concat","NEETO_APPS_LIST","globalProps","user","id","neetoApps","getCache","fetch","_objectSpread","staleTime","enabled","data"],"sources":["../../../src/react-utils/useFetchNeetoApps/useFetchNeetoApps.js"],"sourcesContent":["import { isNotPresent } from \"neetocist\";\nimport { usePersistedQuery } from \"neetocommons/react-utils\";\n\nimport neetoAppsApi from \"./apis/neeto_apps\";\n\nimport { NEETO_APPS_LIST_STALE_TIME } from \"../constants\";\nimport { QUERY_KEYS } from \"../constants/query\";\n\nconst useFetchNeetoApps = options => {\n const scopedQueryKey = `${QUERY_KEYS.NEETO_APPS_LIST}-${globalProps.user?.id}`;\n\n const neetoApps = usePersistedQuery.getCache(scopedQueryKey);\n\n return usePersistedQuery(scopedQueryKey, neetoAppsApi.fetch, {\n staleTime: NEETO_APPS_LIST_STALE_TIME,\n enabled: isNotPresent(neetoApps?.data),\n ...options,\n });\n};\n\nexport default useFetchNeetoApps;\n"],"mappings":";;;AAAA,SAASA,YAAY;AACrB,SAASC,iBAAiB;AAE1B,OAAOC,YAAY;AAEnB,SAASC,0BAA0B;AACnC,SAASC,UAAU;AAEnB,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGC,OAAO,EAAI;EAAA,IAAAC,iBAAA;EACnC,IAAMC,cAAc,MAAAC,MAAA,CAAML,UAAU,CAACM,eAAe,OAAAD,MAAA,EAAAF,iBAAA,GAAII,WAAW,CAACC,IAAI,cAAAL,iBAAA,uBAAhBA,iBAAA,CAAkBM,EAAE,CAAE;EAE9E,IAAMC,SAAS,GAAGb,iBAAiB,CAACc,QAAQ,CAACP,cAAc,CAAC;EAE5D,OAAOP,iBAAiB,CAACO,cAAc,EAAEN,YAAY,CAACc,KAAK,EAAAC,aAAA;IACzDC,SAAS,EAAEf,0BAA0B;IACrCgB,OAAO,EAAEnB,YAAY,CAACc,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEM,IAAI;EAAC,GACnCd,OAAO,EACV;AACJ,CAAC;AAED,eAAeD,iBAAiB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
2
|
+
var useFieldSubmit = function useFieldSubmit(onSubmit) {
|
|
3
|
+
/** @type {{ current: HTMLInputElement & HTMLTextAreaElement }} */
|
|
4
|
+
// @ts-ignore
|
|
5
|
+
var ref = useRef(null);
|
|
6
|
+
var keyDownHandler = useCallback(function (event) {
|
|
7
|
+
if (event.key !== "Enter") return;
|
|
8
|
+
if (event.shiftKey) {
|
|
9
|
+
event.stopPropagation();
|
|
10
|
+
} else {
|
|
11
|
+
onSubmit();
|
|
12
|
+
event.preventDefault();
|
|
13
|
+
}
|
|
14
|
+
}, []);
|
|
15
|
+
useEffect(function () {
|
|
16
|
+
var element = ref.current;
|
|
17
|
+
if (!element) return undefined;
|
|
18
|
+
element.addEventListener("keydown", keyDownHandler);
|
|
19
|
+
return function () {
|
|
20
|
+
return element.removeEventListener("keydown", keyDownHandler);
|
|
21
|
+
};
|
|
22
|
+
}, []);
|
|
23
|
+
return ref;
|
|
24
|
+
};
|
|
25
|
+
export default useFieldSubmit;
|
|
26
|
+
//# sourceMappingURL=useFieldSubmit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFieldSubmit.js","names":["useCallback","useEffect","useRef","useFieldSubmit","onSubmit","ref","keyDownHandler","event","key","shiftKey","stopPropagation","preventDefault","element","current","undefined","addEventListener","removeEventListener"],"sources":["../../src/react-utils/useFieldSubmit.js"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\n\nconst useFieldSubmit = onSubmit => {\n /** @type {{ current: HTMLInputElement & HTMLTextAreaElement }} */\n // @ts-ignore\n const ref = useRef(null);\n\n const keyDownHandler = useCallback(event => {\n if (event.key !== \"Enter\") return;\n\n if (event.shiftKey) {\n event.stopPropagation();\n } else {\n onSubmit();\n event.preventDefault();\n }\n }, []);\n\n useEffect(() => {\n const element = ref.current;\n if (!element) return undefined;\n\n element.addEventListener(\"keydown\", keyDownHandler);\n\n return () => element.removeEventListener(\"keydown\", keyDownHandler);\n }, []);\n\n return ref;\n};\n\nexport default useFieldSubmit;\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEtD,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,QAAQ,EAAI;EACjC;EACA;EACA,IAAMC,GAAG,GAAGH,MAAM,CAAC,IAAI,CAAC;EAExB,IAAMI,cAAc,GAAGN,WAAW,CAAC,UAAAO,KAAK,EAAI;IAC1C,IAAIA,KAAK,CAACC,GAAG,KAAK,OAAO,EAAE;IAE3B,IAAID,KAAK,CAACE,QAAQ,EAAE;MAClBF,KAAK,CAACG,eAAe,EAAE;IACzB,CAAC,MAAM;MACLN,QAAQ,EAAE;MACVG,KAAK,CAACI,cAAc,EAAE;IACxB;EACF,CAAC,EAAE,EAAE,CAAC;EAENV,SAAS,CAAC,YAAM;IACd,IAAMW,OAAO,GAAGP,GAAG,CAACQ,OAAO;IAC3B,IAAI,CAACD,OAAO,EAAE,OAAOE,SAAS;IAE9BF,OAAO,CAACG,gBAAgB,CAAC,SAAS,EAAET,cAAc,CAAC;IAEnD,OAAO;MAAA,OAAMM,OAAO,CAACI,mBAAmB,CAAC,SAAS,EAAEV,cAAc,CAAC;IAAA;EACrE,CAAC,EAAE,EAAE,CAAC;EAEN,OAAOD,GAAG;AACZ,CAAC;AAED,eAAeF,cAAc"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
2
|
+
var useFuncDebounce = function useFuncDebounce(func) {
|
|
3
|
+
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 350;
|
|
4
|
+
var timer = useRef(null);
|
|
5
|
+
var debouncedFunc = function debouncedFunc() {
|
|
6
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
7
|
+
args[_key] = arguments[_key];
|
|
8
|
+
}
|
|
9
|
+
clearTimeout(timer.current);
|
|
10
|
+
timer.current = setTimeout(function () {
|
|
11
|
+
return func.apply(void 0, args);
|
|
12
|
+
}, delay);
|
|
13
|
+
};
|
|
14
|
+
debouncedFunc.cancel = function () {
|
|
15
|
+
return clearTimeout(timer.current);
|
|
16
|
+
};
|
|
17
|
+
return debouncedFunc;
|
|
18
|
+
};
|
|
19
|
+
export default useFuncDebounce;
|
|
20
|
+
//# sourceMappingURL=useFuncDebounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFuncDebounce.js","names":["useRef","useFuncDebounce","func","delay","arguments","length","undefined","timer","debouncedFunc","_len","args","Array","_key","clearTimeout","current","setTimeout","apply","cancel"],"sources":["../../src/react-utils/useFuncDebounce.js"],"sourcesContent":["import { useRef } from \"react\";\n\nconst useFuncDebounce = (func, delay = 350) => {\n const timer = useRef(null);\n const debouncedFunc = (...args) => {\n clearTimeout(timer.current);\n timer.current = setTimeout(() => func(...args), delay);\n };\n debouncedFunc.cancel = () => clearTimeout(timer.current);\n\n return debouncedFunc;\n};\n\nexport default useFuncDebounce;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,OAAO;AAE9B,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAI,EAAkB;EAAA,IAAhBC,KAAK,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,GAAG;EACxC,IAAMG,KAAK,GAAGP,MAAM,CAAC,IAAI,CAAC;EAC1B,IAAMQ,aAAa,GAAG,SAAhBA,aAAaA,CAAA,EAAgB;IAAA,SAAAC,IAAA,GAAAL,SAAA,CAAAC,MAAA,EAATK,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAR,SAAA,CAAAQ,IAAA;IAAA;IAC5BC,YAAY,CAACN,KAAK,CAACO,OAAO,CAAC;IAC3BP,KAAK,CAACO,OAAO,GAAGC,UAAU,CAAC;MAAA,OAAMb,IAAI,CAAAc,KAAA,SAAIN,IAAI,CAAC;IAAA,GAAEP,KAAK,CAAC;EACxD,CAAC;EACDK,aAAa,CAACS,MAAM,GAAG;IAAA,OAAMJ,YAAY,CAACN,KAAK,CAACO,OAAO,CAAC;EAAA;EAExD,OAAON,aAAa;AACtB,CAAC;AAED,eAAeP,eAAe"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export var MODES = {
|
|
2
|
+
"default": "default",
|
|
3
|
+
global: "global",
|
|
4
|
+
scoped: "scoped"
|
|
5
|
+
};
|
|
6
|
+
export var DEFAULT_CONFIG = {
|
|
7
|
+
mode: MODES["default"],
|
|
8
|
+
unbindOnUnmount: true,
|
|
9
|
+
enabled: true
|
|
10
|
+
};
|
|
11
|
+
export var MAC_TO_WINDOWS_KEYS_MAP = {
|
|
12
|
+
option: "alt",
|
|
13
|
+
command: "ctrl",
|
|
14
|
+
"return": "enter",
|
|
15
|
+
"delete": "backspace"
|
|
16
|
+
};
|
|
17
|
+
export var OS = {
|
|
18
|
+
mac: "OS X",
|
|
19
|
+
windows: "Windows"
|
|
20
|
+
};
|
|
21
|
+
export var KEY_NAMES = {
|
|
22
|
+
"delete": "delete",
|
|
23
|
+
backspace: "backspace"
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","names":["MODES","global","scoped","DEFAULT_CONFIG","mode","unbindOnUnmount","enabled","MAC_TO_WINDOWS_KEYS_MAP","option","command","OS","mac","windows","KEY_NAMES","backspace"],"sources":["../../../src/react-utils/useHotKeys/constants.js"],"sourcesContent":["export const MODES = {\n default: \"default\",\n global: \"global\",\n scoped: \"scoped\",\n};\n\nexport const DEFAULT_CONFIG = {\n mode: MODES.default,\n unbindOnUnmount: true,\n enabled: true,\n};\n\nexport const MAC_TO_WINDOWS_KEYS_MAP = {\n option: \"alt\",\n command: \"ctrl\",\n return: \"enter\",\n delete: \"backspace\",\n};\n\nexport const OS = { mac: \"OS X\", windows: \"Windows\" };\n\nexport const KEY_NAMES = { delete: \"delete\", backspace: \"backspace\" };\n"],"mappings":"AAAA,OAAO,IAAMA,KAAK,GAAG;EACnB,WAAS,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,MAAM,EAAE;AACV,CAAC;AAED,OAAO,IAAMC,cAAc,GAAG;EAC5BC,IAAI,EAAEJ,KAAK,WAAQ;EACnBK,eAAe,EAAE,IAAI;EACrBC,OAAO,EAAE;AACX,CAAC;AAED,OAAO,IAAMC,uBAAuB,GAAG;EACrCC,MAAM,EAAE,KAAK;EACbC,OAAO,EAAE,MAAM;EACf,UAAQ,OAAO;EACf,UAAQ;AACV,CAAC;AAED,OAAO,IAAMC,EAAE,GAAG;EAAEC,GAAG,EAAE,MAAM;EAAEC,OAAO,EAAE;AAAU,CAAC;AAErD,OAAO,IAAMC,SAAS,GAAG;EAAE,UAAQ,QAAQ;EAAEC,SAAS,EAAE;AAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./useHotKeys";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../src/react-utils/useHotKeys/index.js"],"sourcesContent":["export { default } from \"./useHotKeys\";\n"],"mappings":"AAAA,SAASA,OAAO"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
|
+
import Mousetrap from "mousetrap";
|
|
3
|
+
import "mousetrap-global-bind";
|
|
4
|
+
import { mergeLeft } from "ramda";
|
|
5
|
+
import { DEFAULT_CONFIG, MODES } from "./constants";
|
|
6
|
+
import { convertHotkeyToUsersPlatform } from "./utils";
|
|
7
|
+
var useHotKeys = function useHotKeys(hotkey, handler, userConfig) {
|
|
8
|
+
var ref = useRef(null);
|
|
9
|
+
var convertedHotkey = convertHotkeyToUsersPlatform(hotkey);
|
|
10
|
+
var config = mergeLeft(userConfig, DEFAULT_CONFIG);
|
|
11
|
+
if (!handler) {
|
|
12
|
+
throw new Error("You must provide a handler function to useHotKeys");
|
|
13
|
+
}
|
|
14
|
+
useEffect(function () {
|
|
15
|
+
if (!config.enabled) return undefined;
|
|
16
|
+
var mousetrapInstance = bindHotKey({
|
|
17
|
+
mode: config.mode,
|
|
18
|
+
hotkey: convertedHotkey,
|
|
19
|
+
handler: handler,
|
|
20
|
+
ref: ref
|
|
21
|
+
});
|
|
22
|
+
return function () {
|
|
23
|
+
unBindHotKey({
|
|
24
|
+
mousetrapInstance: mousetrapInstance,
|
|
25
|
+
mode: config.mode,
|
|
26
|
+
hotkey: convertedHotkey
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}, [handler, config.mode, convertedHotkey, config]);
|
|
30
|
+
return config.mode === MODES.scoped ? ref : null;
|
|
31
|
+
};
|
|
32
|
+
var bindHotKey = function bindHotKey(_ref) {
|
|
33
|
+
var mode = _ref.mode,
|
|
34
|
+
hotkey = _ref.hotkey,
|
|
35
|
+
handler = _ref.handler,
|
|
36
|
+
ref = _ref.ref;
|
|
37
|
+
var mousetrapInstance;
|
|
38
|
+
switch (mode) {
|
|
39
|
+
case MODES.global:
|
|
40
|
+
Mousetrap.bindGlobal(hotkey, handler);
|
|
41
|
+
break;
|
|
42
|
+
case MODES.scoped:
|
|
43
|
+
mousetrapInstance = Mousetrap(ref.current).bind(hotkey, handler);
|
|
44
|
+
break;
|
|
45
|
+
default:
|
|
46
|
+
mousetrapInstance = Mousetrap.bind(hotkey, handler);
|
|
47
|
+
}
|
|
48
|
+
return mousetrapInstance;
|
|
49
|
+
};
|
|
50
|
+
var unBindHotKey = function unBindHotKey(_ref2) {
|
|
51
|
+
var mousetrapInstance = _ref2.mousetrapInstance,
|
|
52
|
+
mode = _ref2.mode,
|
|
53
|
+
hotkey = _ref2.hotkey;
|
|
54
|
+
return mode === MODES.global ? Mousetrap.unbindGlobal(hotkey) : mousetrapInstance === null || mousetrapInstance === void 0 ? void 0 : mousetrapInstance.unbind(hotkey);
|
|
55
|
+
};
|
|
56
|
+
export default useHotKeys;
|
|
57
|
+
//# sourceMappingURL=useHotKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHotKeys.js","names":["useEffect","useRef","Mousetrap","mergeLeft","DEFAULT_CONFIG","MODES","convertHotkeyToUsersPlatform","useHotKeys","hotkey","handler","userConfig","ref","convertedHotkey","config","Error","enabled","undefined","mousetrapInstance","bindHotKey","mode","unBindHotKey","scoped","_ref","global","bindGlobal","current","bind","_ref2","unbindGlobal","unbind"],"sources":["../../../src/react-utils/useHotKeys/useHotKeys.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nimport Mousetrap from \"mousetrap\";\nimport \"mousetrap-global-bind\";\nimport { mergeLeft } from \"ramda\";\n\nimport { DEFAULT_CONFIG, MODES } from \"./constants\";\nimport { convertHotkeyToUsersPlatform } from \"./utils\";\n\nconst useHotKeys = (hotkey, handler, userConfig) => {\n const ref = useRef(null);\n const convertedHotkey = convertHotkeyToUsersPlatform(hotkey);\n const config = mergeLeft(userConfig, DEFAULT_CONFIG);\n\n if (!handler) {\n throw new Error(\"You must provide a handler function to useHotKeys\");\n }\n\n useEffect(() => {\n if (!config.enabled) return undefined;\n\n const mousetrapInstance = bindHotKey({\n mode: config.mode,\n hotkey: convertedHotkey,\n handler,\n ref,\n });\n\n return () => {\n unBindHotKey({\n mousetrapInstance,\n mode: config.mode,\n hotkey: convertedHotkey,\n });\n };\n }, [handler, config.mode, convertedHotkey, config]);\n\n return config.mode === MODES.scoped ? ref : null;\n};\n\nconst bindHotKey = ({ mode, hotkey, handler, ref }) => {\n let mousetrapInstance;\n\n switch (mode) {\n case MODES.global:\n Mousetrap.bindGlobal(hotkey, handler);\n break;\n case MODES.scoped:\n mousetrapInstance = Mousetrap(ref.current).bind(hotkey, handler);\n break;\n default:\n mousetrapInstance = Mousetrap.bind(hotkey, handler);\n }\n\n return mousetrapInstance;\n};\n\nconst unBindHotKey = ({ mousetrapInstance, mode, hotkey }) =>\n mode === MODES.global\n ? Mousetrap.unbindGlobal(hotkey)\n : mousetrapInstance?.unbind(hotkey);\n\nexport default useHotKeys;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,OAAOC,SAAS,MAAM,WAAW;AACjC,OAAO,uBAAuB;AAC9B,SAASC,SAAS,QAAQ,OAAO;AAEjC,SAASC,cAAc,EAAEC,KAAK;AAC9B,SAASC,4BAA4B;AAErC,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAIC,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAK;EAClD,IAAMC,GAAG,GAAGV,MAAM,CAAC,IAAI,CAAC;EACxB,IAAMW,eAAe,GAAGN,4BAA4B,CAACE,MAAM,CAAC;EAC5D,IAAMK,MAAM,GAAGV,SAAS,CAACO,UAAU,EAAEN,cAAc,CAAC;EAEpD,IAAI,CAACK,OAAO,EAAE;IACZ,MAAM,IAAIK,KAAK,CAAC,mDAAmD,CAAC;EACtE;EAEAd,SAAS,CAAC,YAAM;IACd,IAAI,CAACa,MAAM,CAACE,OAAO,EAAE,OAAOC,SAAS;IAErC,IAAMC,iBAAiB,GAAGC,UAAU,CAAC;MACnCC,IAAI,EAAEN,MAAM,CAACM,IAAI;MACjBX,MAAM,EAAEI,eAAe;MACvBH,OAAO,EAAPA,OAAO;MACPE,GAAG,EAAHA;IACF,CAAC,CAAC;IAEF,OAAO,YAAM;MACXS,YAAY,CAAC;QACXH,iBAAiB,EAAjBA,iBAAiB;QACjBE,IAAI,EAAEN,MAAM,CAACM,IAAI;QACjBX,MAAM,EAAEI;MACV,CAAC,CAAC;IACJ,CAAC;EACH,CAAC,EAAE,CAACH,OAAO,EAAEI,MAAM,CAACM,IAAI,EAAEP,eAAe,EAAEC,MAAM,CAAC,CAAC;EAEnD,OAAOA,MAAM,CAACM,IAAI,KAAKd,KAAK,CAACgB,MAAM,GAAGV,GAAG,GAAG,IAAI;AAClD,CAAC;AAED,IAAMO,UAAU,GAAG,SAAbA,UAAUA,CAAAI,IAAA,EAAuC;EAAA,IAAjCH,IAAI,GAAAG,IAAA,CAAJH,IAAI;IAAEX,MAAM,GAAAc,IAAA,CAANd,MAAM;IAAEC,OAAO,GAAAa,IAAA,CAAPb,OAAO;IAAEE,GAAG,GAAAW,IAAA,CAAHX,GAAG;EAC9C,IAAIM,iBAAiB;EAErB,QAAQE,IAAI;IACV,KAAKd,KAAK,CAACkB,MAAM;MACfrB,SAAS,CAACsB,UAAU,CAAChB,MAAM,EAAEC,OAAO,CAAC;MACrC;IACF,KAAKJ,KAAK,CAACgB,MAAM;MACfJ,iBAAiB,GAAGf,SAAS,CAACS,GAAG,CAACc,OAAO,CAAC,CAACC,IAAI,CAAClB,MAAM,EAAEC,OAAO,CAAC;MAChE;IACF;MACEQ,iBAAiB,GAAGf,SAAS,CAACwB,IAAI,CAAClB,MAAM,EAAEC,OAAO,CAAC;EAAC;EAGxD,OAAOQ,iBAAiB;AAC1B,CAAC;AAED,IAAMG,YAAY,GAAG,SAAfA,YAAYA,CAAAO,KAAA;EAAA,IAAMV,iBAAiB,GAAAU,KAAA,CAAjBV,iBAAiB;IAAEE,IAAI,GAAAQ,KAAA,CAAJR,IAAI;IAAEX,MAAM,GAAAmB,KAAA,CAANnB,MAAM;EAAA,OACrDW,IAAI,KAAKd,KAAK,CAACkB,MAAM,GACjBrB,SAAS,CAAC0B,YAAY,CAACpB,MAAM,CAAC,GAC9BS,iBAAiB,aAAjBA,iBAAiB,uBAAjBA,iBAAiB,CAAEY,MAAM,CAACrB,MAAM,CAAC;AAAA;AAEvC,eAAeD,UAAU"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import platform from "platform";
|
|
3
|
+
import { toPairs } from "ramda";
|
|
4
|
+
import { MAC_TO_WINDOWS_KEYS_MAP, OS, KEY_NAMES } from "./constants";
|
|
5
|
+
var isMultipleHotkey = function isMultipleHotkey(hotkey) {
|
|
6
|
+
return Array.isArray(hotkey);
|
|
7
|
+
};
|
|
8
|
+
var replaceKeys = function replaceKeys(hotkey, keyName, replaceWith) {
|
|
9
|
+
return isMultipleHotkey(hotkey) ? hotkey.map(function (item) {
|
|
10
|
+
return item.replaceAll(keyName, replaceWith);
|
|
11
|
+
}) : hotkey.replaceAll(keyName, replaceWith);
|
|
12
|
+
};
|
|
13
|
+
var convertHotKeyToWindows = function convertHotKeyToWindows(hotkey) {
|
|
14
|
+
toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(function (_ref) {
|
|
15
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
16
|
+
macKey = _ref2[0],
|
|
17
|
+
windowsKey = _ref2[1];
|
|
18
|
+
hotkey = replaceKeys(hotkey, macKey, windowsKey);
|
|
19
|
+
});
|
|
20
|
+
return hotkey;
|
|
21
|
+
};
|
|
22
|
+
export var convertHotkeyToUsersPlatform = function convertHotkeyToUsersPlatform(hotkey) {
|
|
23
|
+
var _platformInfo$os, _platformInfo$os$fami;
|
|
24
|
+
var platformInfo = platform.parse(navigator.userAgent);
|
|
25
|
+
var isOSX = (_platformInfo$os = platformInfo.os) === null || _platformInfo$os === void 0 ? void 0 : (_platformInfo$os$fami = _platformInfo$os.family) === null || _platformInfo$os$fami === void 0 ? void 0 : _platformInfo$os$fami.includes(OS.mac);
|
|
26
|
+
if (isOSX) return replaceKeys(hotkey, KEY_NAMES["delete"], KEY_NAMES.backspace);
|
|
27
|
+
return convertHotKeyToWindows(hotkey);
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","names":["platform","toPairs","MAC_TO_WINDOWS_KEYS_MAP","OS","KEY_NAMES","isMultipleHotkey","hotkey","Array","isArray","replaceKeys","keyName","replaceWith","map","item","replaceAll","convertHotKeyToWindows","forEach","_ref","_ref2","_slicedToArray","macKey","windowsKey","convertHotkeyToUsersPlatform","_platformInfo$os","_platformInfo$os$fami","platformInfo","parse","navigator","userAgent","isOSX","os","family","includes","mac","backspace"],"sources":["../../../src/react-utils/useHotKeys/utils.js"],"sourcesContent":["import platform from \"platform\";\nimport { toPairs } from \"ramda\";\n\nimport { MAC_TO_WINDOWS_KEYS_MAP, OS, KEY_NAMES } from \"./constants\";\n\nconst isMultipleHotkey = hotkey => Array.isArray(hotkey);\n\nconst replaceKeys = (hotkey, keyName, replaceWith) =>\n isMultipleHotkey(hotkey)\n ? hotkey.map(item => item.replaceAll(keyName, replaceWith))\n : hotkey.replaceAll(keyName, replaceWith);\n\nconst convertHotKeyToWindows = hotkey => {\n toPairs(MAC_TO_WINDOWS_KEYS_MAP).forEach(([macKey, windowsKey]) => {\n hotkey = replaceKeys(hotkey, macKey, windowsKey);\n });\n\n return hotkey;\n};\n\nexport const convertHotkeyToUsersPlatform = hotkey => {\n const platformInfo = platform.parse(navigator.userAgent);\n const isOSX = platformInfo.os?.family?.includes(OS.mac);\n if (isOSX) return replaceKeys(hotkey, KEY_NAMES.delete, KEY_NAMES.backspace);\n\n return convertHotKeyToWindows(hotkey);\n};\n"],"mappings":";AAAA,OAAOA,QAAQ,MAAM,UAAU;AAC/B,SAASC,OAAO,QAAQ,OAAO;AAE/B,SAASC,uBAAuB,EAAEC,EAAE,EAAEC,SAAS;AAE/C,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGC,MAAM;EAAA,OAAIC,KAAK,CAACC,OAAO,CAACF,MAAM,CAAC;AAAA;AAExD,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIH,MAAM,EAAEI,OAAO,EAAEC,WAAW;EAAA,OAC/CN,gBAAgB,CAACC,MAAM,CAAC,GACpBA,MAAM,CAACM,GAAG,CAAC,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACC,UAAU,CAACJ,OAAO,EAAEC,WAAW,CAAC;EAAA,EAAC,GACzDL,MAAM,CAACQ,UAAU,CAACJ,OAAO,EAAEC,WAAW,CAAC;AAAA;AAE7C,IAAMI,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAGT,MAAM,EAAI;EACvCL,OAAO,CAACC,uBAAuB,CAAC,CAACc,OAAO,CAAC,UAAAC,IAAA,EAA0B;IAAA,IAAAC,KAAA,GAAAC,cAAA,CAAAF,IAAA;MAAxBG,MAAM,GAAAF,KAAA;MAAEG,UAAU,GAAAH,KAAA;IAC3DZ,MAAM,GAAGG,WAAW,CAACH,MAAM,EAAEc,MAAM,EAAEC,UAAU,CAAC;EAClD,CAAC,CAAC;EAEF,OAAOf,MAAM;AACf,CAAC;AAED,OAAO,IAAMgB,4BAA4B,GAAG,SAA/BA,4BAA4BA,CAAGhB,MAAM,EAAI;EAAA,IAAAiB,gBAAA,EAAAC,qBAAA;EACpD,IAAMC,YAAY,GAAGzB,QAAQ,CAAC0B,KAAK,CAACC,SAAS,CAACC,SAAS,CAAC;EACxD,IAAMC,KAAK,IAAAN,gBAAA,GAAGE,YAAY,CAACK,EAAE,cAAAP,gBAAA,wBAAAC,qBAAA,GAAfD,gBAAA,CAAiBQ,MAAM,cAAAP,qBAAA,uBAAvBA,qBAAA,CAAyBQ,QAAQ,CAAC7B,EAAE,CAAC8B,GAAG,CAAC;EACvD,IAAIJ,KAAK,EAAE,OAAOpB,WAAW,CAACH,MAAM,EAAEF,SAAS,UAAO,EAAEA,SAAS,CAAC8B,SAAS,CAAC;EAE5E,OAAOnB,sBAAsB,CAACT,MAAM,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from "./useIsElementVisibleInDom";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["default"],"sources":["../../../src/react-utils/useIsElementVisibleInDom/index.js"],"sourcesContent":["export { default } from \"./useIsElementVisibleInDom\";\n"],"mappings":"AAAA,SAASA,OAAO"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
var useForceUpdate = function useForceUpdate() {
|
|
4
|
+
// eslint-disable-next-line react/hook-use-state
|
|
5
|
+
var _useState = useState(0),
|
|
6
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
7
|
+
setValue = _useState2[1];
|
|
8
|
+
return function () {
|
|
9
|
+
return setValue(function (value) {
|
|
10
|
+
return value + 1;
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
export default useForceUpdate;
|
|
15
|
+
//# sourceMappingURL=useForceUpdate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useForceUpdate.js","names":["useState","useForceUpdate","_useState","_useState2","_slicedToArray","setValue","value"],"sources":["../../../src/react-utils/useIsElementVisibleInDom/useForceUpdate.js"],"sourcesContent":["import { useState } from \"react\";\n\nconst useForceUpdate = () => {\n // eslint-disable-next-line react/hook-use-state\n const [, setValue] = useState(0);\n\n return () => setValue(value => value + 1);\n};\n\nexport default useForceUpdate;\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAA,EAAS;EAC3B;EACA,IAAAC,SAAA,GAAqBF,QAAQ,CAAC,CAAC,CAAC;IAAAG,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAvBG,QAAQ,GAAAF,UAAA;EAEjB,OAAO;IAAA,OAAME,QAAQ,CAAC,UAAAC,KAAK;MAAA,OAAIA,KAAK,GAAG,CAAC;IAAA,EAAC;EAAA;AAC3C,CAAC;AAED,eAAeL,cAAc"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import useForceUpdate from "./useForceUpdate";
|
|
4
|
+
var useIsElementVisibleInDom = function useIsElementVisibleInDom(target) {
|
|
5
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
|
|
6
|
+
var _useState = useState(false),
|
|
7
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
8
|
+
isIntersecting = _useState2[0],
|
|
9
|
+
setIsIntersecting = _useState2[1];
|
|
10
|
+
var forceUpdate = useForceUpdate();
|
|
11
|
+
useEffect(function () {
|
|
12
|
+
if (!target) return forceUpdate();
|
|
13
|
+
var observer = new IntersectionObserver(function (_ref) {
|
|
14
|
+
var _ref2 = _slicedToArray(_ref, 1),
|
|
15
|
+
entry = _ref2[0];
|
|
16
|
+
return setIsIntersecting(entry.isIntersecting);
|
|
17
|
+
}, options);
|
|
18
|
+
observer.observe(target);
|
|
19
|
+
return function () {
|
|
20
|
+
return observer.unobserve(target);
|
|
21
|
+
};
|
|
22
|
+
}, [target, options]);
|
|
23
|
+
return isIntersecting;
|
|
24
|
+
};
|
|
25
|
+
export default useIsElementVisibleInDom;
|
|
26
|
+
//# sourceMappingURL=useIsElementVisibleInDom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useIsElementVisibleInDom.js","names":["useEffect","useState","useForceUpdate","useIsElementVisibleInDom","target","options","arguments","length","undefined","_useState","_useState2","_slicedToArray","isIntersecting","setIsIntersecting","forceUpdate","observer","IntersectionObserver","_ref","_ref2","entry","observe","unobserve"],"sources":["../../../src/react-utils/useIsElementVisibleInDom/useIsElementVisibleInDom.js"],"sourcesContent":["import { useEffect, useState } from \"react\";\n\nimport useForceUpdate from \"./useForceUpdate\";\n\nconst useIsElementVisibleInDom = (target, options = undefined) => {\n const [isIntersecting, setIsIntersecting] = useState(false);\n const forceUpdate = useForceUpdate();\n\n useEffect(() => {\n if (!target) return forceUpdate();\n\n const observer = new IntersectionObserver(\n ([entry]) => setIsIntersecting(entry.isIntersecting),\n options\n );\n observer.observe(target);\n\n return () => observer.unobserve(target);\n }, [target, options]);\n\n return isIntersecting;\n};\n\nexport default useIsElementVisibleInDom;\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE3C,OAAOC,cAAc;AAErB,IAAMC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIC,MAAM,EAA0B;EAAA,IAAxBC,OAAO,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGE,SAAS;EAC3D,IAAAC,SAAA,GAA4CR,QAAQ,CAAC,KAAK,CAAC;IAAAS,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAApDG,cAAc,GAAAF,UAAA;IAAEG,iBAAiB,GAAAH,UAAA;EACxC,IAAMI,WAAW,GAAGZ,cAAc,EAAE;EAEpCF,SAAS,CAAC,YAAM;IACd,IAAI,CAACI,MAAM,EAAE,OAAOU,WAAW,EAAE;IAEjC,IAAMC,QAAQ,GAAG,IAAIC,oBAAoB,CACvC,UAAAC,IAAA;MAAA,IAAAC,KAAA,GAAAP,cAAA,CAAAM,IAAA;QAAEE,KAAK,GAAAD,KAAA;MAAA,OAAML,iBAAiB,CAACM,KAAK,CAACP,cAAc,CAAC;IAAA,GACpDP,OAAO,CACR;IACDU,QAAQ,CAACK,OAAO,CAAChB,MAAM,CAAC;IAExB,OAAO;MAAA,OAAMW,QAAQ,CAACM,SAAS,CAACjB,MAAM,CAAC;IAAA;EACzC,CAAC,EAAE,CAACA,MAAM,EAAEC,OAAO,CAAC,CAAC;EAErB,OAAOO,cAAc;AACvB,CAAC;AAED,eAAeT,wBAAwB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { create } from "zustand";
|
|
2
|
+
import { shallow } from "zustand/shallow";
|
|
3
|
+
var useKeyboardShortcutsStore = create(function (set) {
|
|
4
|
+
return {
|
|
5
|
+
isOpen: false,
|
|
6
|
+
setIsOpen: function setIsOpen(arg) {
|
|
7
|
+
if (typeof arg === "function") {
|
|
8
|
+
set(function (state) {
|
|
9
|
+
return {
|
|
10
|
+
isOpen: arg(state.isOpen)
|
|
11
|
+
};
|
|
12
|
+
});
|
|
13
|
+
} else {
|
|
14
|
+
set({
|
|
15
|
+
isOpen: arg
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
});
|
|
21
|
+
var useKeyboardShortcutsPaneState = function useKeyboardShortcutsPaneState() {
|
|
22
|
+
return useKeyboardShortcutsStore(function (_ref) {
|
|
23
|
+
var isOpen = _ref.isOpen,
|
|
24
|
+
setIsOpen = _ref.setIsOpen;
|
|
25
|
+
return [isOpen, setIsOpen];
|
|
26
|
+
}, shallow);
|
|
27
|
+
};
|
|
28
|
+
export default useKeyboardShortcutsPaneState;
|
|
29
|
+
//# sourceMappingURL=useKeyboardShortcutsPaneState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useKeyboardShortcutsPaneState.js","names":["create","shallow","useKeyboardShortcutsStore","set","isOpen","setIsOpen","arg","state","useKeyboardShortcutsPaneState","_ref"],"sources":["../../src/react-utils/useKeyboardShortcutsPaneState.js"],"sourcesContent":["import { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nconst useKeyboardShortcutsStore = create(set => ({\n isOpen: false,\n\n setIsOpen: arg => {\n if (typeof arg === \"function\") {\n set(state => ({ isOpen: arg(state.isOpen) }));\n } else {\n set({ isOpen: arg });\n }\n },\n}));\n\nconst useKeyboardShortcutsPaneState = () =>\n useKeyboardShortcutsStore(\n ({ isOpen, setIsOpen }) => [isOpen, setIsOpen],\n shallow\n );\n\nexport default useKeyboardShortcutsPaneState;\n"],"mappings":"AAAA,SAASA,MAAM,QAAQ,SAAS;AAChC,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,IAAMC,yBAAyB,GAAGF,MAAM,CAAC,UAAAG,GAAG;EAAA,OAAK;IAC/CC,MAAM,EAAE,KAAK;IAEbC,SAAS,EAAE,SAAAA,UAAAC,GAAG,EAAI;MAChB,IAAI,OAAOA,GAAG,KAAK,UAAU,EAAE;QAC7BH,GAAG,CAAC,UAAAI,KAAK;UAAA,OAAK;YAAEH,MAAM,EAAEE,GAAG,CAACC,KAAK,CAACH,MAAM;UAAE,CAAC;QAAA,CAAC,CAAC;MAC/C,CAAC,MAAM;QACLD,GAAG,CAAC;UAAEC,MAAM,EAAEE;QAAI,CAAC,CAAC;MACtB;IACF;EACF,CAAC;AAAA,CAAC,CAAC;AAEH,IAAME,6BAA6B,GAAG,SAAhCA,6BAA6BA,CAAA;EAAA,OACjCN,yBAAyB,CACvB,UAAAO,IAAA;IAAA,IAAGL,MAAM,GAAAK,IAAA,CAANL,MAAM;MAAEC,SAAS,GAAAI,IAAA,CAATJ,SAAS;IAAA,OAAO,CAACD,MAAM,EAAEC,SAAS,CAAC;EAAA,GAC9CJ,OAAO,CACR;AAAA;AAEH,eAAeO,6BAA6B"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { isNil } from "ramda";
|
|
4
|
+
var getStorageValue = function getStorageValue(key, defaultValue) {
|
|
5
|
+
try {
|
|
6
|
+
var storedValue = localStorage.getItem(key);
|
|
7
|
+
return storedValue ? JSON.parse(storedValue) : defaultValue;
|
|
8
|
+
} catch (error) {
|
|
9
|
+
logger.error(error);
|
|
10
|
+
return defaultValue;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
var useLocalStorage = function useLocalStorage(key, defaultValue) {
|
|
14
|
+
var _useState = useState(function () {
|
|
15
|
+
return getStorageValue(key, defaultValue);
|
|
16
|
+
}),
|
|
17
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
18
|
+
storedValue = _useState2[0],
|
|
19
|
+
setStoredValue = _useState2[1];
|
|
20
|
+
var setValue = function setValue(value) {
|
|
21
|
+
if (isNil(value)) {
|
|
22
|
+
localStorage.removeItem(key);
|
|
23
|
+
} else {
|
|
24
|
+
localStorage.setItem(key, JSON.stringify(value));
|
|
25
|
+
}
|
|
26
|
+
setStoredValue(value);
|
|
27
|
+
};
|
|
28
|
+
return [storedValue, setValue];
|
|
29
|
+
};
|
|
30
|
+
export default useLocalStorage;
|
|
31
|
+
//# sourceMappingURL=useLocalStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLocalStorage.js","names":["useState","isNil","getStorageValue","key","defaultValue","storedValue","localStorage","getItem","JSON","parse","error","logger","useLocalStorage","_useState","_useState2","_slicedToArray","setStoredValue","setValue","value","removeItem","setItem","stringify"],"sources":["../../src/react-utils/useLocalStorage.js"],"sourcesContent":["import { useState } from \"react\";\n\nimport { isNil } from \"ramda\";\n\nconst getStorageValue = (key, defaultValue) => {\n try {\n const storedValue = localStorage.getItem(key);\n\n return storedValue ? JSON.parse(storedValue) : defaultValue;\n } catch (error) {\n logger.error(error);\n\n return defaultValue;\n }\n};\n\nconst useLocalStorage = (key, defaultValue) => {\n const [storedValue, setStoredValue] = useState(() =>\n getStorageValue(key, defaultValue)\n );\n\n const setValue = value => {\n if (isNil(value)) {\n localStorage.removeItem(key);\n } else {\n localStorage.setItem(key, JSON.stringify(value));\n }\n setStoredValue(value);\n };\n\n return [storedValue, setValue];\n};\n\nexport default useLocalStorage;\n"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,OAAO;AAEhC,SAASC,KAAK,QAAQ,OAAO;AAE7B,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAI;IACF,IAAMC,WAAW,GAAGC,YAAY,CAACC,OAAO,CAACJ,GAAG,CAAC;IAE7C,OAAOE,WAAW,GAAGG,IAAI,CAACC,KAAK,CAACJ,WAAW,CAAC,GAAGD,YAAY;EAC7D,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdC,MAAM,CAACD,KAAK,CAACA,KAAK,CAAC;IAEnB,OAAON,YAAY;EACrB;AACF,CAAC;AAED,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAIT,GAAG,EAAEC,YAAY,EAAK;EAC7C,IAAAS,SAAA,GAAsCb,QAAQ,CAAC;MAAA,OAC7CE,eAAe,CAACC,GAAG,EAAEC,YAAY,CAAC;IAAA,EACnC;IAAAU,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAFMR,WAAW,GAAAS,UAAA;IAAEE,cAAc,GAAAF,UAAA;EAIlC,IAAMG,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,KAAK,EAAI;IACxB,IAAIjB,KAAK,CAACiB,KAAK,CAAC,EAAE;MAChBZ,YAAY,CAACa,UAAU,CAAChB,GAAG,CAAC;IAC9B,CAAC,MAAM;MACLG,YAAY,CAACc,OAAO,CAACjB,GAAG,EAAEK,IAAI,CAACa,SAAS,CAACH,KAAK,CAAC,CAAC;IAClD;IACAF,cAAc,CAACE,KAAK,CAAC;EACvB,CAAC;EAED,OAAO,CAACb,WAAW,EAAEY,QAAQ,CAAC;AAChC,CAAC;AAED,eAAeL,eAAe"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["keysToInvalidate"],
|
|
4
|
+
_excluded2 = ["onSuccess"];
|
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
+
import { useQueryClient, useMutation } from "react-query";
|
|
8
|
+
var useMutationWithInvalidation = function useMutationWithInvalidation(mutationFn, _ref) {
|
|
9
|
+
var keysToInvalidate = _ref.keysToInvalidate,
|
|
10
|
+
options = _objectWithoutProperties(_ref, _excluded);
|
|
11
|
+
var queryClient = useQueryClient();
|
|
12
|
+
var _onSuccess = options.onSuccess,
|
|
13
|
+
otherOptions = _objectWithoutProperties(options, _excluded2);
|
|
14
|
+
return useMutation(mutationFn, _objectSpread({
|
|
15
|
+
onSuccess: function onSuccess(data, variables, context) {
|
|
16
|
+
keysToInvalidate.forEach(function (key) {
|
|
17
|
+
var keyToInvalidate = typeof key === "function" ? key(data, variables, context) : key;
|
|
18
|
+
queryClient.invalidateQueries(keyToInvalidate);
|
|
19
|
+
});
|
|
20
|
+
_onSuccess === null || _onSuccess === void 0 ? void 0 : _onSuccess(data, variables, context);
|
|
21
|
+
}
|
|
22
|
+
}, otherOptions));
|
|
23
|
+
};
|
|
24
|
+
export default useMutationWithInvalidation;
|
|
25
|
+
//# sourceMappingURL=useMutationWithInvalidation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMutationWithInvalidation.js","names":["useQueryClient","useMutation","useMutationWithInvalidation","mutationFn","_ref","keysToInvalidate","options","_objectWithoutProperties","_excluded","queryClient","onSuccess","otherOptions","_excluded2","_objectSpread","data","variables","context","forEach","key","keyToInvalidate","invalidateQueries"],"sources":["../../src/react-utils/useMutationWithInvalidation.js"],"sourcesContent":["import { useQueryClient, useMutation } from \"react-query\";\n\nconst useMutationWithInvalidation = (\n mutationFn,\n { keysToInvalidate, ...options }\n) => {\n const queryClient = useQueryClient();\n const { onSuccess, ...otherOptions } = options;\n\n return useMutation(mutationFn, {\n onSuccess: (data, variables, context) => {\n keysToInvalidate.forEach(key => {\n const keyToInvalidate =\n typeof key === \"function\" ? key(data, variables, context) : key;\n queryClient.invalidateQueries(keyToInvalidate);\n });\n onSuccess?.(data, variables, context);\n },\n ...otherOptions,\n });\n};\n\nexport default useMutationWithInvalidation;\n"],"mappings":";;;;;;AAAA,SAASA,cAAc,EAAEC,WAAW,QAAQ,aAAa;AAEzD,IAAMC,2BAA2B,GAAG,SAA9BA,2BAA2BA,CAC/BC,UAAU,EAAAC,IAAA,EAEP;EAAA,IADDC,gBAAgB,GAAAD,IAAA,CAAhBC,gBAAgB;IAAKC,OAAO,GAAAC,wBAAA,CAAAH,IAAA,EAAAI,SAAA;EAE9B,IAAMC,WAAW,GAAGT,cAAc,EAAE;EACpC,IAAQU,UAAS,GAAsBJ,OAAO,CAAtCI,SAAS;IAAKC,YAAY,GAAAJ,wBAAA,CAAKD,OAAO,EAAAM,UAAA;EAE9C,OAAOX,WAAW,CAACE,UAAU,EAAAU,aAAA;IAC3BH,SAAS,EAAE,SAAAA,UAACI,IAAI,EAAEC,SAAS,EAAEC,OAAO,EAAK;MACvCX,gBAAgB,CAACY,OAAO,CAAC,UAAAC,GAAG,EAAI;QAC9B,IAAMC,eAAe,GACnB,OAAOD,GAAG,KAAK,UAAU,GAAGA,GAAG,CAACJ,IAAI,EAAEC,SAAS,EAAEC,OAAO,CAAC,GAAGE,GAAG;QACjET,WAAW,CAACW,iBAAiB,CAACD,eAAe,CAAC;MAChD,CAAC,CAAC;MACFT,UAAS,aAATA,UAAS,uBAATA,UAAS,CAAGI,IAAI,EAAEC,SAAS,EAAEC,OAAO,CAAC;IACvC;EAAC,GACEL,YAAY,EACf;AACJ,CAAC;AAED,eAAeT,2BAA2B"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useEffect } from "react";
|
|
2
|
+
var useOnClickOutside = function useOnClickOutside(ref, handler) {
|
|
3
|
+
var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},
|
|
4
|
+
_ref$enabled = _ref.enabled,
|
|
5
|
+
enabled = _ref$enabled === void 0 ? true : _ref$enabled;
|
|
6
|
+
useEffect(function () {
|
|
7
|
+
var listener = function listener(event) {
|
|
8
|
+
// Do nothing if clicking ref's element or descendent elements
|
|
9
|
+
if (!ref.current || ref.current.contains(event.target)) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
handler(event);
|
|
13
|
+
};
|
|
14
|
+
if (enabled) {
|
|
15
|
+
document.addEventListener("mousedown", listener);
|
|
16
|
+
document.addEventListener("touchstart", listener);
|
|
17
|
+
}
|
|
18
|
+
return function () {
|
|
19
|
+
document.removeEventListener("mousedown", listener);
|
|
20
|
+
document.removeEventListener("touchstart", listener);
|
|
21
|
+
};
|
|
22
|
+
}, [handler, enabled]);
|
|
23
|
+
};
|
|
24
|
+
export default useOnClickOutside;
|
|
25
|
+
//# sourceMappingURL=useOnClickOutside.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useOnClickOutside.js","names":["useEffect","useOnClickOutside","ref","handler","_ref","arguments","length","undefined","_ref$enabled","enabled","listener","event","current","contains","target","document","addEventListener","removeEventListener"],"sources":["../../src/react-utils/useOnClickOutside.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nconst useOnClickOutside = (ref, handler, { enabled = true } = {}) => {\n useEffect(() => {\n const listener = event => {\n // Do nothing if clicking ref's element or descendent elements\n if (!ref.current || ref.current.contains(event.target)) {\n return;\n }\n handler(event);\n };\n\n if (enabled) {\n document.addEventListener(\"mousedown\", listener);\n document.addEventListener(\"touchstart\", listener);\n }\n\n return () => {\n document.removeEventListener(\"mousedown\", listener);\n document.removeEventListener(\"touchstart\", listener);\n };\n }, [handler, enabled]);\n};\n\nexport default useOnClickOutside;\n"],"mappings":"AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,GAAG,EAAEC,OAAO,EAA8B;EAAA,IAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAP,CAAC,CAAC;IAAAG,YAAA,GAAAJ,IAAA,CAArBK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;EACvDR,SAAS,CAAC,YAAM;IACd,IAAMU,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,KAAK,EAAI;MACxB;MACA,IAAI,CAACT,GAAG,CAACU,OAAO,IAAIV,GAAG,CAACU,OAAO,CAACC,QAAQ,CAACF,KAAK,CAACG,MAAM,CAAC,EAAE;QACtD;MACF;MACAX,OAAO,CAACQ,KAAK,CAAC;IAChB,CAAC;IAED,IAAIF,OAAO,EAAE;MACXM,QAAQ,CAACC,gBAAgB,CAAC,WAAW,EAAEN,QAAQ,CAAC;MAChDK,QAAQ,CAACC,gBAAgB,CAAC,YAAY,EAAEN,QAAQ,CAAC;IACnD;IAEA,OAAO,YAAM;MACXK,QAAQ,CAACE,mBAAmB,CAAC,WAAW,EAAEP,QAAQ,CAAC;MACnDK,QAAQ,CAACE,mBAAmB,CAAC,YAAY,EAAEP,QAAQ,CAAC;IACtD,CAAC;EACH,CAAC,EAAE,CAACP,OAAO,EAAEM,OAAO,CAAC,CAAC;AACxB,CAAC;AAED,eAAeR,iBAAiB"}
|