@bigbinary/neeto-commons-frontend 3.0.6 → 3.0.9
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/cjs/configs/babel.js +50 -0
- package/cjs/configs/eslint/globals.js +14 -0
- package/cjs/configs/eslint/helpers/index.js +74 -0
- package/cjs/configs/eslint/imports/enforced.js +29 -0
- package/cjs/configs/eslint/imports/order.js +65 -0
- package/cjs/configs/eslint/index.js +171 -0
- package/cjs/configs/eslint/overrides.js +30 -0
- package/cjs/configs/eslint/promise.js +8 -0
- package/cjs/configs/eslint/react.js +92 -0
- package/cjs/configs/nanos/eslint/imports/order.js +25 -0
- package/cjs/configs/nanos/eslint/index.js +28 -0
- package/cjs/configs/nanos/tailwind.js +11 -0
- package/cjs/configs/nanos/webpack/resolve.js +48 -0
- package/cjs/configs/nextjs/eslint/imports/order.js +25 -0
- package/cjs/configs/nextjs/eslint/index.js +22 -0
- package/cjs/configs/nextjs/webpack/resolve.js +1 -0
- package/cjs/configs/prettier.js +16 -0
- package/cjs/configs/scripts/dead-code-eliminator/constants.js +12 -0
- package/cjs/configs/scripts/dead-code-eliminator/index.js +266 -0
- package/cjs/configs/scripts/getPkgTranslations.js +45 -0
- package/cjs/configs/scripts/jsdoc-builder/constants.mjs +42 -0
- package/cjs/configs/scripts/jsdoc-builder/index.mjs +67 -0
- package/cjs/configs/scripts/jsdoc-builder/utils.mjs +219 -0
- package/cjs/configs/scripts/remove-unused-translation-keys/constants.js +11 -0
- package/cjs/configs/scripts/remove-unused-translation-keys/index.js +186 -0
- package/cjs/configs/tailwind.js +13 -0
- package/cjs/configs/webpack/helpers/customize-default-rules.js +54 -0
- package/cjs/configs/webpack/index.js +58 -0
- package/cjs/configs/webpack/resolve.js +53 -0
- package/cjs/configs/webpack/rules.js +34 -0
- package/{constants.cjs.js → cjs/constants/index.js} +11 -10
- package/cjs/constants/index.js.map +1 -0
- package/cjs/cypress-configs/initializer.js +32 -0
- package/cjs/cypress-configs/plugins.js +105 -0
- package/cjs/cypress-configs/resolve.js +17 -0
- package/cjs/cypress-configs/webpack.config.js +19 -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 +23 -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 +74 -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 +52 -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 +13 -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 +67 -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 +43 -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/translations/en.json +100 -0
- 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 → cjs}/translations/en.json +0 -0
|
@@ -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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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 { useEffect } from "react";
|
|
5
|
+
import { getFromLocalStorage } from "@bigbinary/neeto-commons-frontend/utils";
|
|
6
|
+
import { isNil } from "ramda";
|
|
7
|
+
import { useQuery } from "react-query";
|
|
8
|
+
import { QUERY_CACHE_NAME_SPACE } from "./constants";
|
|
9
|
+
var localStorageQueryCache = {
|
|
10
|
+
set: function set(key, data) {
|
|
11
|
+
var cache = localStorageQueryCache.getAll();
|
|
12
|
+
var newCache = _objectSpread(_objectSpread({}, cache), {}, _defineProperty({}, key, {
|
|
13
|
+
data: data,
|
|
14
|
+
modifiedAt: Date.now()
|
|
15
|
+
}));
|
|
16
|
+
localStorage.setItem(QUERY_CACHE_NAME_SPACE, JSON.stringify(newCache));
|
|
17
|
+
},
|
|
18
|
+
getAll: function getAll() {
|
|
19
|
+
var cache = getFromLocalStorage(QUERY_CACHE_NAME_SPACE);
|
|
20
|
+
if (!cache) return {};
|
|
21
|
+
return cache;
|
|
22
|
+
},
|
|
23
|
+
get: function get(key) {
|
|
24
|
+
return localStorageQueryCache.getAll()[key];
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
var isOutdated = function isOutdated(localCache, staleTime) {
|
|
28
|
+
if (isNil(localCache)) return true;
|
|
29
|
+
if (isNil(staleTime)) return false;
|
|
30
|
+
return localCache.modifiedAt <= Date.now() - staleTime;
|
|
31
|
+
};
|
|
32
|
+
var usePersistedQuery = function usePersistedQuery(queryKey, fetch, options) {
|
|
33
|
+
var queryResult = useQuery(queryKey, fetch, options);
|
|
34
|
+
var localCache = localStorageQueryCache.get(queryKey);
|
|
35
|
+
useEffect(function () {
|
|
36
|
+
if (!queryResult.isSuccess) return;
|
|
37
|
+
localStorageQueryCache.set(queryKey, queryResult.data);
|
|
38
|
+
}, [queryKey, queryResult.data, queryResult.isSuccess]);
|
|
39
|
+
if (isOutdated(localCache, options === null || options === void 0 ? void 0 : options.staleTime)) {
|
|
40
|
+
return _objectSpread(_objectSpread({}, queryResult), {}, {
|
|
41
|
+
isFreshLoading: queryResult.isLoading
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return _objectSpread(_objectSpread({}, queryResult), {}, {
|
|
45
|
+
data: queryResult.data || localCache.data,
|
|
46
|
+
isFreshLoading: false
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
usePersistedQuery.getCache = localStorageQueryCache.get;
|
|
50
|
+
export default usePersistedQuery;
|
|
51
|
+
//# sourceMappingURL=usePersistedQuery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePersistedQuery.js","names":["useEffect","getFromLocalStorage","isNil","useQuery","QUERY_CACHE_NAME_SPACE","localStorageQueryCache","set","key","data","cache","getAll","newCache","_objectSpread","_defineProperty","modifiedAt","Date","now","localStorage","setItem","JSON","stringify","get","isOutdated","localCache","staleTime","usePersistedQuery","queryKey","fetch","options","queryResult","isSuccess","isFreshLoading","isLoading","getCache"],"sources":["../../src/react-utils/usePersistedQuery.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { getFromLocalStorage } from \"neetocommons/utils\";\nimport { isNil } from \"ramda\";\nimport { useQuery } from \"react-query\";\n\nimport { QUERY_CACHE_NAME_SPACE } from \"./constants\";\n\nconst localStorageQueryCache = {\n set: (key, data) => {\n const cache = localStorageQueryCache.getAll();\n const newCache = { ...cache, [key]: { data, modifiedAt: Date.now() } };\n localStorage.setItem(QUERY_CACHE_NAME_SPACE, JSON.stringify(newCache));\n },\n getAll: () => {\n const cache = getFromLocalStorage(QUERY_CACHE_NAME_SPACE);\n if (!cache) return {};\n\n return cache;\n },\n get: key => localStorageQueryCache.getAll()[key],\n};\n\nconst isOutdated = (localCache, staleTime) => {\n if (isNil(localCache)) return true;\n\n if (isNil(staleTime)) return false;\n\n return localCache.modifiedAt <= Date.now() - staleTime;\n};\n\nconst usePersistedQuery = (queryKey, fetch, options) => {\n const queryResult = useQuery(queryKey, fetch, options);\n const localCache = localStorageQueryCache.get(queryKey);\n\n useEffect(() => {\n if (!queryResult.isSuccess) return;\n localStorageQueryCache.set(queryKey, queryResult.data);\n }, [queryKey, queryResult.data, queryResult.isSuccess]);\n\n if (isOutdated(localCache, options?.staleTime)) {\n return { ...queryResult, isFreshLoading: queryResult.isLoading };\n }\n\n return {\n ...queryResult,\n data: queryResult.data || localCache.data,\n isFreshLoading: false,\n };\n};\n\nusePersistedQuery.getCache = localStorageQueryCache.get;\n\nexport default usePersistedQuery;\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,mBAAmB;AAC5B,SAASC,KAAK,QAAQ,OAAO;AAC7B,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,sBAAsB;AAE/B,IAAMC,sBAAsB,GAAG;EAC7BC,GAAG,EAAE,SAAAA,IAACC,GAAG,EAAEC,IAAI,EAAK;IAClB,IAAMC,KAAK,GAAGJ,sBAAsB,CAACK,MAAM,EAAE;IAC7C,IAAMC,QAAQ,GAAAC,aAAA,CAAAA,aAAA,KAAQH,KAAK,OAAAI,eAAA,KAAGN,GAAG,EAAG;MAAEC,IAAI,EAAJA,IAAI;MAAEM,UAAU,EAAEC,IAAI,CAACC,GAAG;IAAG,CAAC,EAAE;IACtEC,YAAY,CAACC,OAAO,CAACd,sBAAsB,EAAEe,IAAI,CAACC,SAAS,CAACT,QAAQ,CAAC,CAAC;EACxE,CAAC;EACDD,MAAM,EAAE,SAAAA,OAAA,EAAM;IACZ,IAAMD,KAAK,GAAGR,mBAAmB,CAACG,sBAAsB,CAAC;IACzD,IAAI,CAACK,KAAK,EAAE,OAAO,CAAC,CAAC;IAErB,OAAOA,KAAK;EACd,CAAC;EACDY,GAAG,EAAE,SAAAA,IAAAd,GAAG;IAAA,OAAIF,sBAAsB,CAACK,MAAM,EAAE,CAACH,GAAG,CAAC;EAAA;AAClD,CAAC;AAED,IAAMe,UAAU,GAAG,SAAbA,UAAUA,CAAIC,UAAU,EAAEC,SAAS,EAAK;EAC5C,IAAItB,KAAK,CAACqB,UAAU,CAAC,EAAE,OAAO,IAAI;EAElC,IAAIrB,KAAK,CAACsB,SAAS,CAAC,EAAE,OAAO,KAAK;EAElC,OAAOD,UAAU,CAACT,UAAU,IAAIC,IAAI,CAACC,GAAG,EAAE,GAAGQ,SAAS;AACxD,CAAC;AAED,IAAMC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,QAAQ,EAAEC,KAAK,EAAEC,OAAO,EAAK;EACtD,IAAMC,WAAW,GAAG1B,QAAQ,CAACuB,QAAQ,EAAEC,KAAK,EAAEC,OAAO,CAAC;EACtD,IAAML,UAAU,GAAGlB,sBAAsB,CAACgB,GAAG,CAACK,QAAQ,CAAC;EAEvD1B,SAAS,CAAC,YAAM;IACd,IAAI,CAAC6B,WAAW,CAACC,SAAS,EAAE;IAC5BzB,sBAAsB,CAACC,GAAG,CAACoB,QAAQ,EAAEG,WAAW,CAACrB,IAAI,CAAC;EACxD,CAAC,EAAE,CAACkB,QAAQ,EAAEG,WAAW,CAACrB,IAAI,EAAEqB,WAAW,CAACC,SAAS,CAAC,CAAC;EAEvD,IAAIR,UAAU,CAACC,UAAU,EAAEK,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEJ,SAAS,CAAC,EAAE;IAC9C,OAAAZ,aAAA,CAAAA,aAAA,KAAYiB,WAAW;MAAEE,cAAc,EAAEF,WAAW,CAACG;IAAS;EAChE;EAEA,OAAApB,aAAA,CAAAA,aAAA,KACKiB,WAAW;IACdrB,IAAI,EAAEqB,WAAW,CAACrB,IAAI,IAAIe,UAAU,CAACf,IAAI;IACzCuB,cAAc,EAAE;EAAK;AAEzB,CAAC;AAEDN,iBAAiB,CAACQ,QAAQ,GAAG5B,sBAAsB,CAACgB,GAAG;AAEvD,eAAeI,iBAAiB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
|
+
var usePrevious = function usePrevious(value) {
|
|
3
|
+
var ref = useRef(value);
|
|
4
|
+
useEffect(function () {
|
|
5
|
+
ref.current = value;
|
|
6
|
+
}, [value]);
|
|
7
|
+
return ref.current;
|
|
8
|
+
};
|
|
9
|
+
export default usePrevious;
|
|
10
|
+
//# sourceMappingURL=usePrevious.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePrevious.js","names":["useEffect","useRef","usePrevious","value","ref","current"],"sources":["../../src/react-utils/usePrevious.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst usePrevious = value => {\n const ref = useRef(value);\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n\nexport default usePrevious;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAGC,KAAK,EAAI;EAC3B,IAAMC,GAAG,GAAGH,MAAM,CAACE,KAAK,CAAC;EAEzBH,SAAS,CAAC,YAAM;IACdI,GAAG,CAACC,OAAO,GAAGF,KAAK;EACrB,CAAC,EAAE,CAACA,KAAK,CAAC,CAAC;EAEX,OAAOC,GAAG,CAACC,OAAO;AACpB,CAAC;AAED,eAAeH,WAAW"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { useLocation } from "react-router-dom";
|
|
2
|
+
import { parseQueryParams } from "../utils";
|
|
3
|
+
var useQueryParams = function useQueryParams(options) {
|
|
4
|
+
var location = useLocation();
|
|
5
|
+
return parseQueryParams(location.search, options);
|
|
6
|
+
};
|
|
7
|
+
export default useQueryParams;
|
|
8
|
+
//# sourceMappingURL=useQueryParams.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQueryParams.js","names":["useLocation","parseQueryParams","useQueryParams","options","location","search"],"sources":["../../src/react-utils/useQueryParams.js"],"sourcesContent":["import { useLocation } from \"react-router-dom\";\n\nimport { parseQueryParams } from \"utils\";\n\nconst useQueryParams = options => {\n const location = useLocation();\n\n return parseQueryParams(location.search, options);\n};\n\nexport default useQueryParams;\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,kBAAkB;AAE9C,SAASC,gBAAgB;AAEzB,IAAMC,cAAc,GAAG,SAAjBA,cAAcA,CAAGC,OAAO,EAAI;EAChC,IAAMC,QAAQ,GAAGJ,WAAW,EAAE;EAE9B,OAAOC,gBAAgB,CAACG,QAAQ,CAACC,MAAM,EAAEF,OAAO,CAAC;AACnD,CAAC;AAED,eAAeD,cAAc"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { mergeDeepLeft, pick, prop } from "ramda";
|
|
4
|
+
import { create } from "zustand";
|
|
5
|
+
import { shallow } from "zustand/shallow";
|
|
6
|
+
import withImmutableActions from "./withImmutableActions";
|
|
7
|
+
|
|
8
|
+
/** @type {import("neetocommons/react-utils").ZustandStoreHook} */
|
|
9
|
+
var useCheckpointStore = create(withImmutableActions(function (set) {
|
|
10
|
+
return {
|
|
11
|
+
checkpoints: {},
|
|
12
|
+
setCheckpoint: function setCheckpoint(key, path) {
|
|
13
|
+
return set(mergeDeepLeft({
|
|
14
|
+
checkpoints: _defineProperty({}, key, path)
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
}));
|
|
19
|
+
var useRegisterNavigationCheckpoint = function useRegisterNavigationCheckpoint(key) {
|
|
20
|
+
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : window.location.pathname + window.location.search;
|
|
21
|
+
var setCheckpoint = useCheckpointStore(prop("setCheckpoint"));
|
|
22
|
+
useEffect(function () {
|
|
23
|
+
setCheckpoint(key, path);
|
|
24
|
+
}, [key, path]);
|
|
25
|
+
};
|
|
26
|
+
export var useNavigationCheckpoints = function useNavigationCheckpoints() {
|
|
27
|
+
for (var _len = arguments.length, keys = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
28
|
+
keys[_key] = arguments[_key];
|
|
29
|
+
}
|
|
30
|
+
return useCheckpointStore(function (store) {
|
|
31
|
+
return pick(keys, store.checkpoints);
|
|
32
|
+
}, shallow);
|
|
33
|
+
};
|
|
34
|
+
export default useRegisterNavigationCheckpoint;
|
|
35
|
+
//# sourceMappingURL=useRegisterNavigationCheckpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRegisterNavigationCheckpoint.js","names":["useEffect","mergeDeepLeft","pick","prop","create","shallow","withImmutableActions","useCheckpointStore","set","checkpoints","setCheckpoint","key","path","_defineProperty","useRegisterNavigationCheckpoint","arguments","length","undefined","window","location","pathname","search","useNavigationCheckpoints","_len","keys","Array","_key","store"],"sources":["../../src/react-utils/useRegisterNavigationCheckpoint.js"],"sourcesContent":["import { useEffect } from \"react\";\n\nimport { mergeDeepLeft, pick, prop } from \"ramda\";\nimport { create } from \"zustand\";\nimport { shallow } from \"zustand/shallow\";\n\nimport withImmutableActions from \"./withImmutableActions\";\n\n/** @type {import(\"neetocommons/react-utils\").ZustandStoreHook} */\nconst useCheckpointStore = create(\n withImmutableActions(set => ({\n checkpoints: {},\n setCheckpoint: (key, path) =>\n set(mergeDeepLeft({ checkpoints: { [key]: path } })),\n }))\n);\n\nconst useRegisterNavigationCheckpoint = (\n key,\n path = window.location.pathname + window.location.search\n) => {\n const setCheckpoint = useCheckpointStore(prop(\"setCheckpoint\"));\n\n useEffect(() => {\n setCheckpoint(key, path);\n }, [key, path]);\n};\n\nexport const useNavigationCheckpoints = (...keys) =>\n useCheckpointStore(store => pick(keys, store.checkpoints), shallow);\n\nexport default useRegisterNavigationCheckpoint;\n"],"mappings":";AAAA,SAASA,SAAS,QAAQ,OAAO;AAEjC,SAASC,aAAa,EAAEC,IAAI,EAAEC,IAAI,QAAQ,OAAO;AACjD,SAASC,MAAM,QAAQ,SAAS;AAChC,SAASC,OAAO,QAAQ,iBAAiB;AAEzC,OAAOC,oBAAoB;;AAE3B;AACA,IAAMC,kBAAkB,GAAGH,MAAM,CAC/BE,oBAAoB,CAAC,UAAAE,GAAG;EAAA,OAAK;IAC3BC,WAAW,EAAE,CAAC,CAAC;IACfC,aAAa,EAAE,SAAAA,cAACC,GAAG,EAAEC,IAAI;MAAA,OACvBJ,GAAG,CAACP,aAAa,CAAC;QAAEQ,WAAW,EAAAI,eAAA,KAAKF,GAAG,EAAGC,IAAI;MAAG,CAAC,CAAC,CAAC;IAAA;EACxD,CAAC;AAAA,CAAC,CAAC,CACJ;AAED,IAAME,+BAA+B,GAAG,SAAlCA,+BAA+BA,CACnCH,GAAG,EAEA;EAAA,IADHC,IAAI,GAAAG,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGG,MAAM,CAACC,QAAQ,CAACC,QAAQ,GAAGF,MAAM,CAACC,QAAQ,CAACE,MAAM;EAExD,IAAMX,aAAa,GAAGH,kBAAkB,CAACJ,IAAI,CAAC,eAAe,CAAC,CAAC;EAE/DH,SAAS,CAAC,YAAM;IACdU,aAAa,CAACC,GAAG,EAAEC,IAAI,CAAC;EAC1B,CAAC,EAAE,CAACD,GAAG,EAAEC,IAAI,CAAC,CAAC;AACjB,CAAC;AAED,OAAO,IAAMU,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAA;EAAA,SAAAC,IAAA,GAAAR,SAAA,CAAAC,MAAA,EAAOQ,IAAI,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAAJF,IAAI,CAAAE,IAAA,IAAAX,SAAA,CAAAW,IAAA;EAAA;EAAA,OAC9CnB,kBAAkB,CAAC,UAAAoB,KAAK;IAAA,OAAIzB,IAAI,CAACsB,IAAI,EAAEG,KAAK,CAAClB,WAAW,CAAC;EAAA,GAAEJ,OAAO,CAAC;AAAA;AAErE,eAAeS,+BAA+B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState, useEffect } from "react";
|
|
3
|
+
var useStateWithDependency = function useStateWithDependency(defaultValue) {
|
|
4
|
+
var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [defaultValue];
|
|
5
|
+
var _useState = useState(defaultValue),
|
|
6
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
7
|
+
value = _useState2[0],
|
|
8
|
+
setValue = _useState2[1];
|
|
9
|
+
useEffect(function () {
|
|
10
|
+
setValue(defaultValue);
|
|
11
|
+
}, dependencies);
|
|
12
|
+
return [value, setValue];
|
|
13
|
+
};
|
|
14
|
+
export default useStateWithDependency;
|
|
15
|
+
//# sourceMappingURL=useStateWithDependency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStateWithDependency.js","names":["useState","useEffect","useStateWithDependency","defaultValue","dependencies","arguments","length","undefined","_useState","_useState2","_slicedToArray","value","setValue"],"sources":["../../src/react-utils/useStateWithDependency.js"],"sourcesContent":["import { useState, useEffect } from \"react\";\n\nconst useStateWithDependency = (\n defaultValue,\n dependencies = [defaultValue]\n) => {\n const [value, setValue] = useState(defaultValue);\n\n useEffect(() => {\n setValue(defaultValue);\n }, dependencies);\n\n return [value, setValue];\n};\n\nexport default useStateWithDependency;\n"],"mappings":";AAAA,SAASA,QAAQ,EAAEC,SAAS,QAAQ,OAAO;AAE3C,IAAMC,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAC1BC,YAAY,EAET;EAAA,IADHC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,CAACF,YAAY,CAAC;EAE7B,IAAAK,SAAA,GAA0BR,QAAQ,CAACG,YAAY,CAAC;IAAAM,UAAA,GAAAC,cAAA,CAAAF,SAAA;IAAzCG,KAAK,GAAAF,UAAA;IAAEG,QAAQ,GAAAH,UAAA;EAEtBR,SAAS,CAAC,YAAM;IACdW,QAAQ,CAACT,YAAY,CAAC;EACxB,CAAC,EAAEC,YAAY,CAAC;EAEhB,OAAO,CAACO,KAAK,EAAEC,QAAQ,CAAC;AAC1B,CAAC;AAED,eAAeV,sBAAsB"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
import { useEffect, useMemo } from "react";
|
|
3
|
+
import { isEmpty, omit, prop } from "ramda";
|
|
4
|
+
import { v4 as uuid } from "uuid";
|
|
5
|
+
import { create } from "zustand";
|
|
6
|
+
var useTimerStore = create(function () {
|
|
7
|
+
return {};
|
|
8
|
+
});
|
|
9
|
+
setInterval(function () {
|
|
10
|
+
var currentState = useTimerStore.getState();
|
|
11
|
+
var nextState = {};
|
|
12
|
+
var now = Date.now();
|
|
13
|
+
for (var key in currentState) {
|
|
14
|
+
var _currentState$key = currentState[key],
|
|
15
|
+
lastUpdated = _currentState$key.lastUpdated,
|
|
16
|
+
interval = _currentState$key.interval;
|
|
17
|
+
var shouldUpdate = now - lastUpdated >= interval;
|
|
18
|
+
if (shouldUpdate) nextState[key] = {
|
|
19
|
+
lastUpdated: now,
|
|
20
|
+
interval: interval
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
if (!isEmpty(nextState)) useTimerStore.setState(nextState);
|
|
24
|
+
}, 1000);
|
|
25
|
+
var useTimer = function useTimer() {
|
|
26
|
+
var interval = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 60;
|
|
27
|
+
var key = useMemo(function () {
|
|
28
|
+
return uuid();
|
|
29
|
+
}, []);
|
|
30
|
+
useEffect(function () {
|
|
31
|
+
useTimerStore.setState(_defineProperty({}, key, {
|
|
32
|
+
lastUpdated: Date.now(),
|
|
33
|
+
interval: 1000 * interval // convert seconds to ms
|
|
34
|
+
}));
|
|
35
|
+
|
|
36
|
+
return function () {
|
|
37
|
+
return useTimerStore.setState(omit([key], useTimerStore.getState()), true);
|
|
38
|
+
};
|
|
39
|
+
}, [interval, key]);
|
|
40
|
+
return useTimerStore(prop(key));
|
|
41
|
+
};
|
|
42
|
+
export default useTimer;
|
|
43
|
+
//# sourceMappingURL=useTimer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTimer.js","names":["useEffect","useMemo","isEmpty","omit","prop","v4","uuid","create","useTimerStore","setInterval","currentState","getState","nextState","now","Date","key","_currentState$key","lastUpdated","interval","shouldUpdate","setState","useTimer","arguments","length","undefined","_defineProperty"],"sources":["../../src/react-utils/useTimer.js"],"sourcesContent":["import { useEffect, useMemo } from \"react\";\n\nimport { isEmpty, omit, prop } from \"ramda\";\nimport { v4 as uuid } from \"uuid\";\nimport { create } from \"zustand\";\n\nconst useTimerStore = create(() => ({}));\n\nsetInterval(() => {\n const currentState = useTimerStore.getState();\n const nextState = {};\n const now = Date.now();\n\n for (const key in currentState) {\n const { lastUpdated, interval } = currentState[key];\n const shouldUpdate = now - lastUpdated >= interval;\n if (shouldUpdate) nextState[key] = { lastUpdated: now, interval };\n }\n\n if (!isEmpty(nextState)) useTimerStore.setState(nextState);\n}, 1000);\n\nconst useTimer = (interval = 60) => {\n const key = useMemo(() => uuid(), []);\n\n useEffect(() => {\n useTimerStore.setState({\n [key]: {\n lastUpdated: Date.now(),\n interval: 1000 * interval, // convert seconds to ms\n },\n });\n\n return () =>\n useTimerStore.setState(omit([key], useTimerStore.getState()), true);\n }, [interval, key]);\n\n return useTimerStore(prop(key));\n};\n\nexport default useTimer;\n"],"mappings":";AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAE1C,SAASC,OAAO,EAAEC,IAAI,EAAEC,IAAI,QAAQ,OAAO;AAC3C,SAASC,EAAE,IAAIC,IAAI,QAAQ,MAAM;AACjC,SAASC,MAAM,QAAQ,SAAS;AAEhC,IAAMC,aAAa,GAAGD,MAAM,CAAC;EAAA,OAAO,CAAC,CAAC;AAAA,CAAC,CAAC;AAExCE,WAAW,CAAC,YAAM;EAChB,IAAMC,YAAY,GAAGF,aAAa,CAACG,QAAQ,EAAE;EAC7C,IAAMC,SAAS,GAAG,CAAC,CAAC;EACpB,IAAMC,GAAG,GAAGC,IAAI,CAACD,GAAG,EAAE;EAEtB,KAAK,IAAME,GAAG,IAAIL,YAAY,EAAE;IAC9B,IAAAM,iBAAA,GAAkCN,YAAY,CAACK,GAAG,CAAC;MAA3CE,WAAW,GAAAD,iBAAA,CAAXC,WAAW;MAAEC,QAAQ,GAAAF,iBAAA,CAARE,QAAQ;IAC7B,IAAMC,YAAY,GAAGN,GAAG,GAAGI,WAAW,IAAIC,QAAQ;IAClD,IAAIC,YAAY,EAAEP,SAAS,CAACG,GAAG,CAAC,GAAG;MAAEE,WAAW,EAAEJ,GAAG;MAAEK,QAAQ,EAARA;IAAS,CAAC;EACnE;EAEA,IAAI,CAAChB,OAAO,CAACU,SAAS,CAAC,EAAEJ,aAAa,CAACY,QAAQ,CAACR,SAAS,CAAC;AAC5D,CAAC,EAAE,IAAI,CAAC;AAER,IAAMS,QAAQ,GAAG,SAAXA,QAAQA,CAAA,EAAsB;EAAA,IAAlBH,QAAQ,GAAAI,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAC7B,IAAMP,GAAG,GAAGd,OAAO,CAAC;IAAA,OAAMK,IAAI,EAAE;EAAA,GAAE,EAAE,CAAC;EAErCN,SAAS,CAAC,YAAM;IACdQ,aAAa,CAACY,QAAQ,CAAAK,eAAA,KACnBV,GAAG,EAAG;MACLE,WAAW,EAAEH,IAAI,CAACD,GAAG,EAAE;MACvBK,QAAQ,EAAE,IAAI,GAAGA,QAAQ,CAAE;IAC7B,CAAC,EACD;;IAEF,OAAO;MAAA,OACLV,aAAa,CAACY,QAAQ,CAACjB,IAAI,CAAC,CAACY,GAAG,CAAC,EAAEP,aAAa,CAACG,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC;IAAA;EACvE,CAAC,EAAE,CAACO,QAAQ,EAAEH,GAAG,CAAC,CAAC;EAEnB,OAAOP,aAAa,CAACJ,IAAI,CAACW,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,eAAeM,QAAQ"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
|
+
var useUpdateEffect = function useUpdateEffect(callback) {
|
|
3
|
+
var dependencies = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
4
|
+
var isInitialMount = useRef(true);
|
|
5
|
+
useEffect(function () {
|
|
6
|
+
if (isInitialMount.current) {
|
|
7
|
+
isInitialMount.current = false;
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
callback();
|
|
11
|
+
}, dependencies);
|
|
12
|
+
};
|
|
13
|
+
export default useUpdateEffect;
|
|
14
|
+
//# sourceMappingURL=useUpdateEffect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUpdateEffect.js","names":["useEffect","useRef","useUpdateEffect","callback","dependencies","arguments","length","undefined","isInitialMount","current"],"sources":["../../src/react-utils/useUpdateEffect.js"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nconst useUpdateEffect = (callback, dependencies = []) => {\n const isInitialMount = useRef(true);\n\n useEffect(() => {\n if (isInitialMount.current) {\n isInitialMount.current = false;\n\n return;\n }\n callback();\n }, dependencies);\n};\nexport default useUpdateEffect;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAEzC,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,QAAQ,EAAwB;EAAA,IAAtBC,YAAY,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,EAAE;EAClD,IAAMG,cAAc,GAAGP,MAAM,CAAC,IAAI,CAAC;EAEnCD,SAAS,CAAC,YAAM;IACd,IAAIQ,cAAc,CAACC,OAAO,EAAE;MAC1BD,cAAc,CAACC,OAAO,GAAG,KAAK;MAE9B;IACF;IACAN,QAAQ,EAAE;EACZ,CAAC,EAAEC,YAAY,CAAC;AAClB,CAAC;AACD,eAAeF,eAAe"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isEmpty, keys } from "ramda";
|
|
2
|
+
var setWithoutModifyingActions = function setWithoutModifyingActions(set) {
|
|
3
|
+
return function (partial) {
|
|
4
|
+
return set(function (previous) {
|
|
5
|
+
if (typeof partial === "function") partial = partial(previous);
|
|
6
|
+
var overwrittenActions = keys(partial).filter(function (key) {
|
|
7
|
+
return typeof (previous === null || previous === void 0 ? void 0 : previous[key]) === "function" && partial[key] !== previous[key];
|
|
8
|
+
});
|
|
9
|
+
if (!isEmpty(overwrittenActions)) {
|
|
10
|
+
throw new Error("Actions should not be modified. Touched action(s): ".concat(overwrittenActions.join(", ")));
|
|
11
|
+
}
|
|
12
|
+
return partial;
|
|
13
|
+
}, false);
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
var withImmutableActions = function withImmutableActions(config) {
|
|
17
|
+
return function (set, get, api) {
|
|
18
|
+
return config(setWithoutModifyingActions(set), get, api);
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
export default withImmutableActions;
|
|
22
|
+
//# sourceMappingURL=withImmutableActions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"withImmutableActions.js","names":["isEmpty","keys","setWithoutModifyingActions","set","partial","previous","overwrittenActions","filter","key","Error","concat","join","withImmutableActions","config","get","api"],"sources":["../../src/react-utils/withImmutableActions.js"],"sourcesContent":["import { isEmpty, keys } from \"ramda\";\n\nconst setWithoutModifyingActions = set => partial =>\n set(previous => {\n if (typeof partial === \"function\") partial = partial(previous);\n\n const overwrittenActions = keys(partial).filter(\n key =>\n typeof previous?.[key] === \"function\" && partial[key] !== previous[key]\n );\n if (!isEmpty(overwrittenActions)) {\n throw new Error(\n `Actions should not be modified. Touched action(s): ${overwrittenActions.join(\n \", \"\n )}`\n );\n }\n\n return partial;\n }, false);\n\nconst withImmutableActions = config => (set, get, api) =>\n config(setWithoutModifyingActions(set), get, api);\n\nexport default withImmutableActions;\n"],"mappings":"AAAA,SAASA,OAAO,EAAEC,IAAI,QAAQ,OAAO;AAErC,IAAMC,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAGC,GAAG;EAAA,OAAI,UAAAC,OAAO;IAAA,OAC/CD,GAAG,CAAC,UAAAE,QAAQ,EAAI;MACd,IAAI,OAAOD,OAAO,KAAK,UAAU,EAAEA,OAAO,GAAGA,OAAO,CAACC,QAAQ,CAAC;MAE9D,IAAMC,kBAAkB,GAAGL,IAAI,CAACG,OAAO,CAAC,CAACG,MAAM,CAC7C,UAAAC,GAAG;QAAA,OACD,QAAOH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAGG,GAAG,CAAC,MAAK,UAAU,IAAIJ,OAAO,CAACI,GAAG,CAAC,KAAKH,QAAQ,CAACG,GAAG,CAAC;MAAA,EAC1E;MACD,IAAI,CAACR,OAAO,CAACM,kBAAkB,CAAC,EAAE;QAChC,MAAM,IAAIG,KAAK,uDAAAC,MAAA,CACyCJ,kBAAkB,CAACK,IAAI,CAC3E,IAAI,CACL,EACF;MACH;MAEA,OAAOP,OAAO;IAChB,CAAC,EAAE,KAAK,CAAC;EAAA;AAAA;AAEX,IAAMQ,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,MAAM;EAAA,OAAI,UAACV,GAAG,EAAEW,GAAG,EAAEC,GAAG;IAAA,OACnDF,MAAM,CAACX,0BAA0B,CAACC,GAAG,CAAC,EAAEW,GAAG,EAAEC,GAAG,CAAC;EAAA;AAAA;AAEnD,eAAeH,oBAAoB"}
|