@onepercentio/one-ui 0.8.5-beta.1 → 0.8.5-beta.11
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/WebpackConfigs/email-templates.js +35 -3
- package/cypress/support/component-index.html +4 -0
- package/dist/assets/styles/variables.scss +1 -0
- package/dist/components/AdaptiveContainer/AdaptiveContainer.d.ts +8 -1
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js +36 -15
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js.map +1 -1
- package/dist/components/AdaptiveContainer/AdaptiveContainer.module.scss +1 -1
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.d.ts +17 -10
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +10 -5
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js.map +1 -1
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.module.scss +21 -24
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js +5 -3
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js.map +1 -1
- package/dist/components/Button/Button.d.ts +2 -2
- package/dist/components/Button/Button.js.map +1 -1
- package/dist/components/Collapsable/Collapsable.d.ts +11 -1
- package/dist/components/Collapsable/Collapsable.js +17 -4
- package/dist/components/Collapsable/Collapsable.js.map +1 -1
- package/dist/components/EmailInput/EmailInput.d.ts +2 -2
- package/dist/components/FadeIn/FadeIn.d.ts +1 -0
- package/dist/components/FadeIn/FadeIn.js +14 -2
- package/dist/components/FadeIn/FadeIn.js.map +1 -1
- package/dist/components/InfinityScroll/InfinityScroll.d.ts +7 -0
- package/dist/components/InfinityScroll/InfinityScroll.js +39 -22
- package/dist/components/InfinityScroll/InfinityScroll.js.map +1 -1
- package/dist/components/Input/Input.d.ts +1 -1
- package/dist/components/Loader/Loader.d.ts +3 -2
- package/dist/components/Loader/Loader.js +14 -2
- package/dist/components/Loader/Loader.js.map +1 -1
- package/dist/components/OrderableList/OrderableList.d.ts +13 -3
- package/dist/components/OrderableList/OrderableList.js +71 -14
- package/dist/components/OrderableList/OrderableList.js.map +1 -1
- package/dist/components/OrderableList/OrderableList.module.scss +15 -0
- package/dist/components/PaginationIndicator/PaginationIndicator.d.ts +28 -0
- package/dist/components/PaginationIndicator/PaginationIndicator.js +139 -0
- package/dist/components/PaginationIndicator/PaginationIndicator.js.map +1 -0
- package/dist/components/PaginationIndicator/PaginationIndicator.module.scss +48 -0
- package/dist/components/PaginationIndicator/index.d.ts +1 -0
- package/dist/components/PaginationIndicator/index.js +9 -0
- package/dist/components/PaginationIndicator/index.js.map +1 -0
- package/dist/components/PasswordInput/PasswordInput.d.ts +1 -1
- package/dist/components/Select/Select.d.ts +3 -1
- package/dist/components/Select/Select.js +2 -2
- package/dist/components/Select/Select.js.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts +3 -1
- package/dist/components/Tabs/Tabs.js +17 -9
- package/dist/components/Tabs/Tabs.js.map +1 -1
- package/dist/components/Tabs/Tabs.module.scss +0 -1
- package/dist/components/Text/Text.d.ts +3 -3
- package/dist/components/Text/Text.js +4 -4
- package/dist/components/Text/Text.js.map +1 -1
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js.map +1 -1
- package/dist/context/AsyncProcessQueue.js +9 -13
- package/dist/context/AsyncProcessQueue.js.map +1 -1
- package/dist/context/OneUIProvider.d.ts +10 -1
- package/dist/context/OneUIProvider.js +1 -1
- package/dist/context/OneUIProvider.js.map +1 -1
- package/dist/hooks/ui/useBreakpoint.d.ts +5 -0
- package/dist/hooks/ui/useBreakpoint.js +25 -0
- package/dist/hooks/ui/useBreakpoint.js.map +1 -0
- package/dist/hooks/ui/usePaginationControls.d.ts +14 -0
- package/dist/hooks/ui/usePaginationControls.js +92 -0
- package/dist/hooks/ui/usePaginationControls.js.map +1 -0
- package/dist/hooks/ui/usePaginationControls.module.scss +16 -0
- package/dist/hooks/useAsyncControl.d.ts +4 -1
- package/dist/hooks/useAsyncControl.js +3 -1
- package/dist/hooks/useAsyncControl.js.map +1 -1
- package/dist/hooks/useContainedRepositioning.d.ts +3 -1
- package/dist/hooks/useContainedRepositioning.js +13 -10
- package/dist/hooks/useContainedRepositioning.js.map +1 -1
- package/dist/hooks/useElementFit.d.ts +2 -2
- package/dist/hooks/useElementFit.js.map +1 -1
- package/dist/hooks/useFreeze.d.ts +1 -1
- package/dist/hooks/useHero.d.ts +13 -0
- package/dist/hooks/useHero.js +97 -0
- package/dist/hooks/useHero.js.map +1 -0
- package/dist/hooks/useMergeRefs.d.ts +5 -0
- package/dist/hooks/useMergeRefs.js +15 -0
- package/dist/hooks/useMergeRefs.js.map +1 -0
- package/dist/hooks/usePagination.d.ts +5 -4
- package/dist/hooks/usePagination.js +22 -15
- package/dist/hooks/usePagination.js.map +1 -1
- package/dist/hooks/usePaginationControls.d.ts +5 -0
- package/dist/hooks/usePaginationControls.js +8 -0
- package/dist/hooks/usePaginationControls.js.map +1 -0
- package/dist/models/GenericContract.d.ts +1 -1
- package/dist/types.d.ts +1 -2
- package/dist/types.js +0 -1
- package/dist/types.js.map +1 -1
- package/package.json +8 -16
- package/src/types.ts +85 -0
- package/tsconfig.json +108 -0
- package/WebpackConfigs/__snapshots__/email-templates.test.js.snap +0 -9
- package/WebpackConfigs/email-templates.test.js +0 -53
- package/WebpackConfigs/loaders/css-var-removal.test.ts +0 -17
- package/dist/__test__/analytics.d.ts +0 -3
- package/dist/__test__/analytics.js +0 -20
- package/dist/__test__/analytics.js.map +0 -1
- package/dist/__test__/firestore.d.ts +0 -2
- package/dist/__test__/firestore.js +0 -26
- package/dist/__test__/firestore.js.map +0 -1
- package/dist/__test__/utils.d.ts +0 -16
- package/dist/__test__/utils.js +0 -164
- package/dist/__test__/utils.js.map +0 -1
- package/dist/components/AdaptiveButton/AdaptiveButton.stories.d.ts +0 -18
- package/dist/components/AdaptiveButton/AdaptiveButton.stories.js +0 -82
- package/dist/components/AdaptiveButton/AdaptiveButton.stories.js.map +0 -1
- package/dist/components/AdaptiveContainer/AdaptiveContainer.stories.d.ts +0 -17
- package/dist/components/AdaptiveContainer/AdaptiveContainer.stories.js +0 -82
- package/dist/components/AdaptiveContainer/AdaptiveContainer.stories.js.map +0 -1
- package/dist/components/AdaptiveDialog/AdaptiveDialog.stories.d.ts +0 -20
- package/dist/components/AdaptiveDialog/AdaptiveDialog.stories.js +0 -94
- package/dist/components/AdaptiveDialog/AdaptiveDialog.stories.js.map +0 -1
- package/dist/components/AdaptiveDialog/AdaptiveDialog.test.d.ts +0 -1
- package/dist/components/AdaptiveDialog/AdaptiveDialog.test.js +0 -15
- package/dist/components/AdaptiveDialog/AdaptiveDialog.test.js.map +0 -1
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.stories.d.ts +0 -19
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.stories.js +0 -21
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.stories.js.map +0 -1
- package/dist/components/AnchoredTooltip/AnchoredTooltip.stories.d.ts +0 -16
- package/dist/components/AnchoredTooltip/AnchoredTooltip.stories.js +0 -86
- package/dist/components/AnchoredTooltip/AnchoredTooltip.stories.js.map +0 -1
- package/dist/components/AnchoredTooltip/AnchoredTooltip.test.d.ts +0 -1
- package/dist/components/AnchoredTooltip/AnchoredTooltip.test.js +0 -20
- package/dist/components/AnchoredTooltip/AnchoredTooltip.test.js.map +0 -1
- package/dist/components/AnimatedEntrance/AnimatedEntrance.stories.d.ts +0 -14
- package/dist/components/AnimatedEntrance/AnimatedEntrance.stories.js +0 -67
- package/dist/components/AnimatedEntrance/AnimatedEntrance.stories.js.map +0 -1
- package/dist/components/AsyncWrapper/AsyncWrapper.stories.d.ts +0 -18
- package/dist/components/AsyncWrapper/AsyncWrapper.stories.js +0 -34
- package/dist/components/AsyncWrapper/AsyncWrapper.stories.js.map +0 -1
- package/dist/components/AsyncWrapper/AsyncWrapper.test.d.ts +0 -1
- package/dist/components/AsyncWrapper/AsyncWrapper.test.js +0 -19
- package/dist/components/AsyncWrapper/AsyncWrapper.test.js.map +0 -1
- package/dist/components/Avatar/Avatar.stories.d.ts +0 -14
- package/dist/components/Avatar/Avatar.stories.js +0 -19
- package/dist/components/Avatar/Avatar.stories.js.map +0 -1
- package/dist/components/Avatar/Avatar.test.d.ts +0 -1
- package/dist/components/Avatar/Avatar.test.js +0 -36
- package/dist/components/Avatar/Avatar.test.js.map +0 -1
- package/dist/components/BucketFill/BucketFill.stories.d.ts +0 -17
- package/dist/components/BucketFill/BucketFill.stories.js +0 -141
- package/dist/components/BucketFill/BucketFill.stories.js.map +0 -1
- package/dist/components/BucketFill/BucketFill.stories.module.scss +0 -3
- package/dist/components/Button/Button.stories.d.ts +0 -9
- package/dist/components/Button/Button.stories.js +0 -58
- package/dist/components/Button/Button.stories.js.map +0 -1
- package/dist/components/Button/Button.test.d.ts +0 -1
- package/dist/components/Button/Button.test.js +0 -15
- package/dist/components/Button/Button.test.js.map +0 -1
- package/dist/components/Card/Card.stories.d.ts +0 -15
- package/dist/components/Card/Card.stories.js +0 -16
- package/dist/components/Card/Card.stories.js.map +0 -1
- package/dist/components/CheckBox/CheckBox.stories.d.ts +0 -20
- package/dist/components/CheckBox/CheckBox.stories.js +0 -53
- package/dist/components/CheckBox/CheckBox.stories.js.map +0 -1
- package/dist/components/Collapsable/Collapsable.stories.d.ts +0 -39
- package/dist/components/Collapsable/Collapsable.stories.js +0 -28
- package/dist/components/Collapsable/Collapsable.stories.js.map +0 -1
- package/dist/components/Countdown/Countdown.stories.d.ts +0 -14
- package/dist/components/Countdown/Countdown.stories.js +0 -55
- package/dist/components/Countdown/Countdown.stories.js.map +0 -1
- package/dist/components/Divider/Divider.stories.d.ts +0 -7
- package/dist/components/Divider/Divider.stories.js +0 -15
- package/dist/components/Divider/Divider.stories.js.map +0 -1
- package/dist/components/EmailInput/EmailInput.stories.d.ts +0 -28
- package/dist/components/EmailInput/EmailInput.stories.js +0 -15
- package/dist/components/EmailInput/EmailInput.stories.js.map +0 -1
- package/dist/components/EmailInput/EmailInput.test.d.ts +0 -1
- package/dist/components/EmailInput/EmailInput.test.js +0 -77
- package/dist/components/EmailInput/EmailInput.test.js.map +0 -1
- package/dist/components/FadeIn/FadeIn.stories.d.ts +0 -24
- package/dist/components/FadeIn/FadeIn.stories.js +0 -16
- package/dist/components/FadeIn/FadeIn.stories.js.map +0 -1
- package/dist/components/FadeIn/FadeIn.test.d.ts +0 -1
- package/dist/components/FadeIn/FadeIn.test.js +0 -22
- package/dist/components/FadeIn/FadeIn.test.js.map +0 -1
- package/dist/components/FileInput/FileInput.stories.d.ts +0 -19
- package/dist/components/FileInput/FileInput.stories.js +0 -59
- package/dist/components/FileInput/FileInput.stories.js.map +0 -1
- package/dist/components/FlowController/FlowController.stories.d.ts +0 -43
- package/dist/components/FlowController/FlowController.stories.js +0 -101
- package/dist/components/FlowController/FlowController.stories.js.map +0 -1
- package/dist/components/FlowController/FlowController.test.d.ts +0 -1
- package/dist/components/FlowController/FlowController.test.js +0 -166
- package/dist/components/FlowController/FlowController.test.js.map +0 -1
- package/dist/components/Form/Form.stories.d.ts +0 -13
- package/dist/components/Form/Form.stories.js +0 -36
- package/dist/components/Form/Form.stories.js.map +0 -1
- package/dist/components/Freeze/Freeze.stories.d.ts +0 -7
- package/dist/components/Freeze/Freeze.stories.js +0 -56
- package/dist/components/Freeze/Freeze.stories.js.map +0 -1
- package/dist/components/Freeze/Freeze.test.d.ts +0 -1
- package/dist/components/Freeze/Freeze.test.js +0 -15
- package/dist/components/Freeze/Freeze.test.js.map +0 -1
- package/dist/components/Header/Header.stories.d.ts +0 -28
- package/dist/components/Header/Header.stories.js +0 -41
- package/dist/components/Header/Header.stories.js.map +0 -1
- package/dist/components/Header/Header.test.d.ts +0 -1
- package/dist/components/Header/Header.test.js +0 -100
- package/dist/components/Header/Header.test.js.map +0 -1
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.stories.d.ts +0 -14
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.stories.js +0 -16
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.stories.js.map +0 -1
- package/dist/components/InfinityScroll/InfinityScroll.stories.d.ts +0 -23
- package/dist/components/InfinityScroll/InfinityScroll.stories.js +0 -54
- package/dist/components/InfinityScroll/InfinityScroll.stories.js.map +0 -1
- package/dist/components/InfinityScroll/InfinityScroll.test.d.ts +0 -1
- package/dist/components/InfinityScroll/InfinityScroll.test.js +0 -189
- package/dist/components/InfinityScroll/InfinityScroll.test.js.map +0 -1
- package/dist/components/Input/Input.stories.d.ts +0 -24
- package/dist/components/Input/Input.stories.js +0 -21
- package/dist/components/Input/Input.stories.js.map +0 -1
- package/dist/components/Input/Input.test.d.ts +0 -1
- package/dist/components/Input/Input.test.js +0 -58
- package/dist/components/Input/Input.test.js.map +0 -1
- package/dist/components/InstantCounter/InstantCounter.stories.d.ts +0 -41
- package/dist/components/InstantCounter/InstantCounter.stories.js +0 -61
- package/dist/components/InstantCounter/InstantCounter.stories.js.map +0 -1
- package/dist/components/InstantCounter/InstantCounter.test.d.ts +0 -1
- package/dist/components/InstantCounter/InstantCounter.test.js +0 -50
- package/dist/components/InstantCounter/InstantCounter.test.js.map +0 -1
- package/dist/components/LinkToId/LinkToId.stories.d.ts +0 -7
- package/dist/components/LinkToId/LinkToId.stories.js +0 -15
- package/dist/components/LinkToId/LinkToId.stories.js.map +0 -1
- package/dist/components/LinkToId/LinkToId.test.d.ts +0 -1
- package/dist/components/LinkToId/LinkToId.test.js +0 -12
- package/dist/components/LinkToId/LinkToId.test.js.map +0 -1
- package/dist/components/Loader/Loader.stories.d.ts +0 -12
- package/dist/components/Loader/Loader.stories.js +0 -16
- package/dist/components/Loader/Loader.stories.js.map +0 -1
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.stories.d.ts +0 -7
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.stories.js +0 -15
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.stories.js.map +0 -1
- package/dist/components/MainGrid/MainGrid.stories.d.ts +0 -14
- package/dist/components/MainGrid/MainGrid.stories.js +0 -70
- package/dist/components/MainGrid/MainGrid.stories.js.map +0 -1
- package/dist/components/MainGrid/MainGrid.test.d.ts +0 -1
- package/dist/components/MainGrid/MainGrid.test.js +0 -18
- package/dist/components/MainGrid/MainGrid.test.js.map +0 -1
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.stories.d.ts +0 -21
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.stories.js +0 -74
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.stories.js.map +0 -1
- package/dist/components/Notification/Notification.stories.d.ts +0 -15
- package/dist/components/Notification/Notification.stories.js +0 -19
- package/dist/components/Notification/Notification.stories.js.map +0 -1
- package/dist/components/OrderableList/OrderableList.stories.d.ts +0 -14
- package/dist/components/OrderableList/OrderableList.stories.js +0 -77
- package/dist/components/OrderableList/OrderableList.stories.js.map +0 -1
- package/dist/components/Parallax/Parallax.stories.d.ts +0 -32
- package/dist/components/Parallax/Parallax.stories.js +0 -23
- package/dist/components/Parallax/Parallax.stories.js.map +0 -1
- package/dist/components/Parallax/Parallax.test.d.ts +0 -1
- package/dist/components/Parallax/Parallax.test.js +0 -22
- package/dist/components/Parallax/Parallax.test.js.map +0 -1
- package/dist/components/PasswordInput/PasswordInput.stories.d.ts +0 -45
- package/dist/components/PasswordInput/PasswordInput.stories.js +0 -22
- package/dist/components/PasswordInput/PasswordInput.stories.js.map +0 -1
- package/dist/components/PasswordInput/PasswordInput.test.d.ts +0 -1
- package/dist/components/PasswordInput/PasswordInput.test.js +0 -157
- package/dist/components/PasswordInput/PasswordInput.test.js.map +0 -1
- package/dist/components/PixelatedScan/PixelatedScan.stories.d.ts +0 -15
- package/dist/components/PixelatedScan/PixelatedScan.stories.js +0 -40
- package/dist/components/PixelatedScan/PixelatedScan.stories.js.map +0 -1
- package/dist/components/Portal/Portal.stories.d.ts +0 -7
- package/dist/components/Portal/Portal.stories.js +0 -15
- package/dist/components/Portal/Portal.stories.js.map +0 -1
- package/dist/components/ProgressBar/ProgressBar.stories.d.ts +0 -14
- package/dist/components/ProgressBar/ProgressBar.stories.js +0 -52
- package/dist/components/ProgressBar/ProgressBar.stories.js.map +0 -1
- package/dist/components/ProgressTexts/ProgressTexts.stories.d.ts +0 -24
- package/dist/components/ProgressTexts/ProgressTexts.stories.js +0 -90
- package/dist/components/ProgressTexts/ProgressTexts.stories.js.map +0 -1
- package/dist/components/ProgressTexts/ProgressTexts.test.d.ts +0 -1
- package/dist/components/ProgressTexts/ProgressTexts.test.js +0 -52
- package/dist/components/ProgressTexts/ProgressTexts.test.js.map +0 -1
- package/dist/components/SectionContainer/SectionContainer.stories.d.ts +0 -14
- package/dist/components/SectionContainer/SectionContainer.stories.js +0 -15
- package/dist/components/SectionContainer/SectionContainer.stories.js.map +0 -1
- package/dist/components/Select/Select.stories.d.ts +0 -56
- package/dist/components/Select/Select.stories.js +0 -34
- package/dist/components/Select/Select.stories.js.map +0 -1
- package/dist/components/Select/Select.test.d.ts +0 -1
- package/dist/components/Select/Select.test.js +0 -12
- package/dist/components/Select/Select.test.js.map +0 -1
- package/dist/components/Spacing/Spacing.stories.d.ts +0 -7
- package/dist/components/Spacing/Spacing.stories.js +0 -35
- package/dist/components/Spacing/Spacing.stories.js.map +0 -1
- package/dist/components/Table/Table.stories.d.ts +0 -15
- package/dist/components/Table/Table.stories.js +0 -88
- package/dist/components/Table/Table.stories.js.map +0 -1
- package/dist/components/Table/Table.test.d.ts +0 -1
- package/dist/components/Table/Table.test.js +0 -35
- package/dist/components/Table/Table.test.js.map +0 -1
- package/dist/components/Tabs/Tabs.stories.d.ts +0 -17
- package/dist/components/Tabs/Tabs.stories.js +0 -57
- package/dist/components/Tabs/Tabs.stories.js.map +0 -1
- package/dist/components/Tabs/Tabs.test.d.ts +0 -1
- package/dist/components/Tabs/Tabs.test.js +0 -39
- package/dist/components/Tabs/Tabs.test.js.map +0 -1
- package/dist/components/Text/Text.stories.d.ts +0 -7
- package/dist/components/Text/Text.stories.js +0 -43
- package/dist/components/Text/Text.stories.js.map +0 -1
- package/dist/components/Text/Text.test.d.ts +0 -1
- package/dist/components/Text/Text.test.js +0 -12
- package/dist/components/Text/Text.test.js.map +0 -1
- package/dist/components/Transition/Transition.stories.d.ts +0 -10
- package/dist/components/Transition/Transition.stories.js +0 -29
- package/dist/components/Transition/Transition.stories.js.map +0 -1
- package/dist/components/Transition/Transition.test.d.ts +0 -1
- package/dist/components/Transition/Transition.test.js +0 -55
- package/dist/components/Transition/Transition.test.js.map +0 -1
- package/dist/components/UncontrolledTransition/UncontrolledTransition.stories.d.ts +0 -33
- package/dist/components/UncontrolledTransition/UncontrolledTransition.stories.js +0 -225
- package/dist/components/UncontrolledTransition/UncontrolledTransition.stories.js.map +0 -1
- package/dist/components/UncontrolledTransition/UncontrolledTransition.stories.module.scss +0 -66
- package/dist/components/UncontrolledTransition/UncontrolledTransition.test.d.ts +0 -1
- package/dist/components/UncontrolledTransition/UncontrolledTransition.test.js +0 -135
- package/dist/components/UncontrolledTransition/UncontrolledTransition.test.js.map +0 -1
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.stories.d.ts +0 -70
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.stories.js +0 -65
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.stories.js.map +0 -1
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.test.d.ts +0 -1
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.test.js +0 -137
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.test.js.map +0 -1
- package/dist/context/__mocks__/OneUIProvider.d.ts +0 -74
- package/dist/context/__mocks__/OneUIProvider.js +0 -13
- package/dist/context/__mocks__/OneUIProvider.js.map +0 -1
- package/dist/hooks/usePooling.test.d.ts +0 -1
- package/dist/hooks/usePooling.test.js +0 -104
- package/dist/hooks/usePooling.test.js.map +0 -1
- package/scripts/start-emulator.js +0 -48
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.usePaginationControlsTestIds = void 0;
|
|
30
|
+
const throttle_1 = __importDefault(require("lodash/throttle"));
|
|
31
|
+
const react_1 = __importStar(require("react"));
|
|
32
|
+
const FadeIn_1 = __importDefault(require("../../components/FadeIn"));
|
|
33
|
+
const OneUIProvider_1 = require("../../context/OneUIProvider");
|
|
34
|
+
const usePaginationControls_module_scss_1 = __importDefault(require("./usePaginationControls.module.scss"));
|
|
35
|
+
/**
|
|
36
|
+
* This hook handles the display of pagination controls for the user to move to another page
|
|
37
|
+
*/
|
|
38
|
+
function usePaginationControls(containerRef, { snapToPage, } = {}) {
|
|
39
|
+
const [[leftControl, rightControl], setControls] = (0, react_1.useState)([false, false]);
|
|
40
|
+
const LeftControl = (0, OneUIProvider_1.useOneUIConfig)("hook.ui.usePaginationControls.LeftControl");
|
|
41
|
+
const RightControl = (0, OneUIProvider_1.useOneUIConfig)("hook.ui.usePaginationControls.RightControl");
|
|
42
|
+
const className = (0, OneUIProvider_1.useOneUIConfig)("hook.ui.usePaginationControls.className", "");
|
|
43
|
+
function move(direction) {
|
|
44
|
+
return () => {
|
|
45
|
+
const rest = containerRef.current.scrollLeft % containerRef.current.clientWidth;
|
|
46
|
+
const snapOffset = snapToPage
|
|
47
|
+
? direction === "l"
|
|
48
|
+
? rest
|
|
49
|
+
? containerRef.current.clientWidth - rest
|
|
50
|
+
: 0
|
|
51
|
+
: rest
|
|
52
|
+
: 0;
|
|
53
|
+
containerRef.current.scrollBy({
|
|
54
|
+
left: (containerRef.current.clientWidth - snapOffset) *
|
|
55
|
+
(direction === "l" ? -1 : 1),
|
|
56
|
+
behavior: "smooth",
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function checkControlsRequirement() {
|
|
61
|
+
const el = containerRef.current;
|
|
62
|
+
const shouldHaveAnyControl = el.scrollWidth > el.clientWidth;
|
|
63
|
+
if (!shouldHaveAnyControl)
|
|
64
|
+
setControls([false, false]);
|
|
65
|
+
else {
|
|
66
|
+
const shouldHaveRightControl = el.scrollLeft < el.scrollWidth - el.clientWidth;
|
|
67
|
+
const shouldHaveLeftControl = el.scrollLeft > 0;
|
|
68
|
+
setControls([shouldHaveLeftControl, shouldHaveRightControl]);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
(0, react_1.useEffect)(() => {
|
|
72
|
+
const el = containerRef.current;
|
|
73
|
+
const throttledCheck = (0, throttle_1.default)(checkControlsRequirement, 1000 / 4);
|
|
74
|
+
checkControlsRequirement();
|
|
75
|
+
el.addEventListener("scroll", throttledCheck);
|
|
76
|
+
return () => el.removeEventListener("scroll", throttledCheck);
|
|
77
|
+
}, []);
|
|
78
|
+
return {
|
|
79
|
+
controls: [
|
|
80
|
+
react_1.default.createElement(FadeIn_1.default, { active: leftControl, className: `${usePaginationControls_module_scss_1.default.left} ${usePaginationControls_module_scss_1.default.control} ${className}`, "data-testid": usePaginationControlsTestIds.LEFT_CONTROL, onClick: move("l") }, leftControl && react_1.default.createElement(LeftControl, null)),
|
|
81
|
+
react_1.default.createElement(FadeIn_1.default, { active: rightControl, className: `${usePaginationControls_module_scss_1.default.right} ${usePaginationControls_module_scss_1.default.control} ${className}`, "data-testid": usePaginationControlsTestIds.RIGHT_CONTROL, onClick: move("r") }, rightControl && react_1.default.createElement(RightControl, null)),
|
|
82
|
+
],
|
|
83
|
+
checkControlsRequirement,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
exports.default = usePaginationControls;
|
|
87
|
+
var usePaginationControlsTestIds;
|
|
88
|
+
(function (usePaginationControlsTestIds) {
|
|
89
|
+
usePaginationControlsTestIds["LEFT_CONTROL"] = "page-l";
|
|
90
|
+
usePaginationControlsTestIds["RIGHT_CONTROL"] = "page-r";
|
|
91
|
+
})(usePaginationControlsTestIds = exports.usePaginationControlsTestIds || (exports.usePaginationControlsTestIds = {}));
|
|
92
|
+
//# sourceMappingURL=usePaginationControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePaginationControls.js","sourceRoot":"","sources":["../../../src/hooks/ui/usePaginationControls.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
import { Primitive } from "type-fest";
|
|
3
|
+
export default function useAsyncControl<E = any, F extends {
|
|
4
|
+
[f: string]: ((...args: any[]) => Promise<any>) | Object | Primitive;
|
|
5
|
+
} = {}>(functionsToWrap?: F): {
|
|
3
6
|
process: (asyncFn: () => Promise<any>) => Promise<any>;
|
|
4
7
|
loading: boolean;
|
|
5
8
|
error: Error | E | undefined;
|
|
@@ -33,7 +33,9 @@ function useAsyncControl(functionsToWrap) {
|
|
|
33
33
|
error,
|
|
34
34
|
setError,
|
|
35
35
|
setLoading }, Object.entries(functionsToWrap || {}).reduce((r, [k, func]) => {
|
|
36
|
-
return Object.assign(Object.assign({}, r), { [k]: typeof func === "function"
|
|
36
|
+
return Object.assign(Object.assign({}, r), { [k]: typeof func === "function"
|
|
37
|
+
? (...args) => _process(() => func(...args))
|
|
38
|
+
: func });
|
|
37
39
|
}, {}));
|
|
38
40
|
}
|
|
39
41
|
exports.default = useAsyncControl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAsyncControl.js","sourceRoot":"","sources":["../../src/hooks/useAsyncControl.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAA8C;AAG9C,SAAwB,eAAe,
|
|
1
|
+
{"version":3,"file":"useAsyncControl.js","sourceRoot":"","sources":["../../src/hooks/useAsyncControl.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,iCAA8C;AAG9C,SAAwB,eAAe,CAKrC,eAAmB;IACnB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,IAAA,gBAAQ,GAAa,CAAC;IAChD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,IAAA,gBAAQ,EAAU,KAAK,CAAC,CAAC;IAEvD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EAAC,CAAO,OAA2B,EAAE,EAAE;QACjE,IAAI;YACF,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,QAAQ,CAAC,SAAS,CAAC,CAAC;YACpB,OAAO,MAAM,OAAO,EAAE,CAAC;SACxB;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa;gBAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7D,QAAQ,CAAC,CAAM,CAAC,CAAC;YACjB,MAAM,CAAC,CAAC;SACT;gBAAS;YACR,UAAU,CAAC,KAAK,CAAC,CAAC;SACnB;IACH,CAAC,CAAA,EAAE,EAAE,CAAC,CAAC;IAEP,uBACE,OAAO,EAAE,QAAQ,EACjB,OAAO;QACP,KAAK;QACL,QAAQ;QACR,UAAU,IACN,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE;QAChE,uCACK,CAAC,KACJ,CAAC,CAAC,CAAC,EACD,OAAO,IAAI,KAAK,UAAU;gBACxB,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAE,IAAY,CAAC,GAAG,IAAI,CAAC,CAAC;gBAC5D,CAAC,CAAC,IAAI,IACV;IACJ,CAAC,EAAE,EAAO,CAAO,EACjB;AACJ,CAAC;AAvCD,kCAuCC"}
|
|
@@ -3,11 +3,13 @@
|
|
|
3
3
|
* This hook takes an html and checks if its outside its parent
|
|
4
4
|
* If it is, it should move it so it can be totally visible inside the container
|
|
5
5
|
*/
|
|
6
|
-
export default function useContainedRepositioning(focused: boolean, getParent: (el: HTMLElement) => HTMLElement, { offset, scale }?: {
|
|
6
|
+
export default function useContainedRepositioning(focused: boolean, getParent: (el: HTMLElement) => HTMLElement, { offset, scale, offsetLimit, }?: {
|
|
7
7
|
/** The offset the element will be moved by from the closest bound */
|
|
8
8
|
offset?: number;
|
|
9
9
|
/** The scaled element width to be considered. usefull for when the focused element will change size */
|
|
10
10
|
scale?: number;
|
|
11
|
+
/** Limit offset */
|
|
12
|
+
offsetLimit?: number;
|
|
11
13
|
}): {
|
|
12
14
|
elementToCheck: import("react").RefObject<HTMLDivElement>;
|
|
13
15
|
};
|
|
@@ -9,7 +9,7 @@ const react_1 = require("react");
|
|
|
9
9
|
* This hook takes an html and checks if its outside its parent
|
|
10
10
|
* If it is, it should move it so it can be totally visible inside the container
|
|
11
11
|
*/
|
|
12
|
-
function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1 } = {}) {
|
|
12
|
+
function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1, offsetLimit = Number.POSITIVE_INFINITY, } = {}) {
|
|
13
13
|
const elementToCheck = (0, react_1.useRef)(null);
|
|
14
14
|
(0, react_1.useEffect)(() => {
|
|
15
15
|
const el = elementToCheck.current;
|
|
@@ -32,19 +32,23 @@ function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1
|
|
|
32
32
|
const offsetOfScale = (elWidth - curr.clientWidth) / 2;
|
|
33
33
|
const cardLimit = curr.offsetLeft - offsetOfScale + alreadyRight + elWidth;
|
|
34
34
|
const exceedingSpace = cardLimit - limitOffset;
|
|
35
|
-
const offsetLeft = curr.offsetLeft -
|
|
35
|
+
const offsetLeft = curr.offsetLeft -
|
|
36
|
+
offsetOfScale +
|
|
37
|
+
alreadyRight -
|
|
38
|
+
relativeParent.scrollLeft;
|
|
36
39
|
const isOverflowedRight = exceedingSpace > 0;
|
|
37
40
|
const isOverflowedLeft = offsetLeft < 0;
|
|
38
|
-
const limit =
|
|
41
|
+
const limit = exceedingSpace + -offsetLeft;
|
|
39
42
|
if (isOverflowedRight) {
|
|
40
|
-
|
|
43
|
+
const val = Math.min(exceedingSpace - -Math.min(Math.abs(limit / 2), offset), offsetLimit);
|
|
44
|
+
curr.style.right = `${val}px`;
|
|
41
45
|
}
|
|
42
|
-
;
|
|
43
46
|
if (isOverflowedLeft) {
|
|
44
|
-
|
|
47
|
+
const val = Math.max(offsetLeft - Math.min(Math.abs(limit) / 2, offset), -offsetLimit);
|
|
48
|
+
curr.style.right = `${val}px`;
|
|
45
49
|
}
|
|
46
50
|
if (isOverflowedLeft || isOverflowedRight) {
|
|
47
|
-
curr.style.zIndex =
|
|
51
|
+
curr.style.zIndex = "1000";
|
|
48
52
|
}
|
|
49
53
|
}, 50);
|
|
50
54
|
reposition();
|
|
@@ -56,9 +60,8 @@ function useContainedRepositioning(focused, getParent, { offset = 16, scale = 1
|
|
|
56
60
|
el.style.right = `0px`;
|
|
57
61
|
const restore = ({ propertyName, currentTarget }) => {
|
|
58
62
|
const targetTransformation = window.getComputedStyle(currentTarget).right;
|
|
59
|
-
if (propertyName === "right" &&
|
|
60
|
-
|
|
61
|
-
curr.style.zIndex = '';
|
|
63
|
+
if (propertyName === "right" && targetTransformation === "0px") {
|
|
64
|
+
curr.style.zIndex = "";
|
|
62
65
|
el.removeEventListener("transitionend", restore);
|
|
63
66
|
}
|
|
64
67
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useContainedRepositioning.js","sourceRoot":"","sources":["../../src/hooks/useContainedRepositioning.ts"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AACvC,iCAA0C;AAE1C;;;GAGG;AACH,SAAwB,yBAAyB,
|
|
1
|
+
{"version":3,"file":"useContainedRepositioning.js","sourceRoot":"","sources":["../../src/hooks/useContainedRepositioning.ts"],"names":[],"mappings":";;;;;AAAA,+DAAuC;AACvC,iCAA0C;AAE1C;;;GAGG;AACH,SAAwB,yBAAyB,CAC/C,OAAgB,EAChB,SAA2C,EAC3C,EACE,MAAM,GAAG,EAAE,EACX,KAAK,GAAG,CAAC,EACT,WAAW,GAAG,MAAM,CAAC,iBAAiB,MAUpC,EAAE;IAEN,MAAM,cAAc,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACpD,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC;QAClC,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;YAC1C,IAAI,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,QAAQ,KAAK,UAAU;gBACrD,MAAM,IAAI,KAAK,CACb,mEAAmE,CACpE,CAAC;YACJ,IAAI,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,QAAQ,KAAK,UAAU;gBACjE,MAAM,IAAI,KAAK,CACb,uGAAuG,CACxG,CAAC;SACL;QAED,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACzB,MAAM,UAAU,GAAG,IAAA,kBAAQ,EAAC,GAAG,EAAE;gBAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;gBAChE,MAAM,WAAW,GACf,cAAc,CAAC,UAAU,GAAG,cAAc,CAAC,WAAW,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gBACzC,MAAM,aAAa,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACvD,MAAM,SAAS,GACb,IAAI,CAAC,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,OAAO,CAAC;gBAC3D,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,CAAC;gBAC/C,MAAM,UAAU,GACd,IAAI,CAAC,UAAU;oBACf,aAAa;oBACb,YAAY;oBACZ,cAAc,CAAC,UAAU,CAAC;gBAC5B,MAAM,iBAAiB,GAAG,cAAc,GAAG,CAAC,CAAC;gBAC7C,MAAM,gBAAgB,GAAG,UAAU,GAAG,CAAC,CAAC;gBACxC,MAAM,KAAK,GAAG,cAAc,GAAG,CAAC,UAAU,CAAC;gBAE3C,IAAI,iBAAiB,EAAE;oBACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,cAAc,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,EACvD,WAAW,CACZ,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;iBAC/B;gBACD,IAAI,gBAAgB,EAAE;oBACpB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAClB,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,EAClD,CAAC,WAAW,CACb,CAAC;oBACF,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC;iBAC/B;gBACD,IAAI,gBAAgB,IAAI,iBAAiB,EAAE;oBACzC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;iBAC5B;YACH,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,UAAU,EAAE,CAAC;YACb,UAAU,CAAC,KAAK,EAAE,CAAC;YAEnB,cAAc,CAAC,gBAAgB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;YACtD,OAAO,GAAG,EAAE;gBACV,UAAU,CAAC,MAAM,EAAE,CAAC;gBACpB,cAAc,CAAC,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;gBACzD,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;gBACvB,MAAM,OAAO,GAAG,CAAC,EAAE,YAAY,EAAE,aAAa,EAAmB,EAAE,EAAE;oBACnE,MAAM,oBAAoB,GAAG,MAAM,CAAC,gBAAgB,CAClD,aAA+B,CAChC,CAAC,KAAK,CAAC;oBACR,IAAI,YAAY,KAAK,OAAO,IAAI,oBAAoB,KAAK,KAAK,EAAE;wBAC9D,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC;wBACvB,EAAE,CAAC,mBAAmB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;qBAClD;gBACH,CAAC,CAAC;gBACF,EAAE,CAAC,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;YAChD,CAAC,CAAC;SACH;IACH,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO;QACL,cAAc;KACf,CAAC;AACJ,CAAC;AApGD,4CAoGC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from "react";
|
|
2
2
|
/**
|
|
3
3
|
* This hook receives a base width of an element and returns how much items fit **vertically** inside the referenced html element
|
|
4
4
|
*
|
|
@@ -8,5 +8,5 @@ export default function useElementFit(baseWidth: number, baseHeight?: number): {
|
|
|
8
8
|
/** The amount of items that are able to fit in the available width */
|
|
9
9
|
itemsToShow?: number;
|
|
10
10
|
/** The ref to be sent to the element that will receive the items */
|
|
11
|
-
ref:
|
|
11
|
+
ref: RefObject<HTMLDivElement>;
|
|
12
12
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useElementFit.js","sourceRoot":"","sources":["../../src/hooks/useElementFit.ts"],"names":[],"mappings":";;AAAA,iCAA6E;AAE7E;;;;GAIG;AACH,SAAwB,aAAa,CAAC,SAAiB,EAAE,UAAmB;IAOxE,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACzC,SAAS,kBAAkB;;QACvB,SAAS,WAAW;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,UAAU,KAAK,SAAS;gBACxC,OAAO,CAAC,CAAC;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAQ,CAAC,YAAY,GAAG,UAAU,CAAC,CAAA;QAC5D,CAAC;QACD,IAAK,MAAc,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,KAAI,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"useElementFit.js","sourceRoot":"","sources":["../../src/hooks/useElementFit.ts"],"names":[],"mappings":";;AAAA,iCAA6E;AAE7E;;;;GAIG;AACH,SAAwB,aAAa,CAAC,SAAiB,EAAE,UAAmB;IAOxE,MAAM,GAAG,GAAG,IAAA,cAAM,EAAiB,IAAI,CAAC,CAAC;IACzC,SAAS,kBAAkB;;QACvB,SAAS,WAAW;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,UAAU,KAAK,SAAS;gBACxC,OAAO,CAAC,CAAC;YACb,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAQ,CAAC,YAAY,GAAG,UAAU,CAAC,CAAA;QAC5D,CAAC;QACD,IAAK,MAAc,CAAC,SAAS;YAAE,OAAO,CAAC,CAAC;QAExC,MAAM,KAAK,GAAG,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,WAAW,KAAI,MAAM,CAAC,cAAe,CAAC,KAAK,CAAC;QACvE,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAE9D,OAAO,kBAAkB,GAAG,WAAW,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,IAAA,gBAAQ,EAAE,MAAc,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1F,IAAA,iBAAS,EAAC,GAAG,EAAE;QACX,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACrC,SAAS,QAAQ;YACb,cAAc,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC5C,OAAO,GAAG,EAAE;YACR,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO;QACH,WAAW;QACX,GAAG;KACN,CAAA;AACL,CAAC;AArCD,gCAqCC"}
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* This hook pipes a data and when it is set to a falsy value ("", undefined, null, 0),
|
|
3
3
|
* it returns the previous valid value
|
|
4
4
|
*/
|
|
5
|
-
export default function useFreeze<T>(something: T): T | null;
|
|
5
|
+
export default function useFreeze<T>(something: T): NonNullable<T> | null;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { CSSProperties } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* This hook implements the logic for a hero animation between 2 elements
|
|
4
|
+
*/
|
|
5
|
+
export default function useHero(id: string, propsToTransition?: Omit<keyof CSSProperties, "width" | "height" | "top" | "left">[], events?: {
|
|
6
|
+
/** Returns if the element should be heroed */
|
|
7
|
+
onHeroDetect?: (el: HTMLDivElement) => boolean;
|
|
8
|
+
onHeroEnd?: () => void;
|
|
9
|
+
onHeroStart?: (clone: HTMLDivElement) => void;
|
|
10
|
+
}): {
|
|
11
|
+
heroRef: import("react").RefObject<HTMLDivElement>;
|
|
12
|
+
getHerosOnScreen: () => HTMLDivElement[];
|
|
13
|
+
};
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
const ID = (id) => `${id}-hero`;
|
|
5
|
+
/**
|
|
6
|
+
* This hook implements the logic for a hero animation between 2 elements
|
|
7
|
+
*/
|
|
8
|
+
function useHero(id, propsToTransition = [], events = {}) {
|
|
9
|
+
const heroRef = (0, react_1.useRef)(null);
|
|
10
|
+
(0, react_1.useEffect)(() => {
|
|
11
|
+
heroRef.current.setAttribute("data-hero", id);
|
|
12
|
+
}, [id]);
|
|
13
|
+
const getHerosOnScreen = (0, react_1.useCallback)(() => {
|
|
14
|
+
const otherElements = Array.from(document.querySelectorAll(`[data-hero="${id}"]`));
|
|
15
|
+
return otherElements;
|
|
16
|
+
}, [id]);
|
|
17
|
+
(0, react_1.useEffect)(() => {
|
|
18
|
+
const allPropsToTransition = [
|
|
19
|
+
"width",
|
|
20
|
+
"height",
|
|
21
|
+
"top",
|
|
22
|
+
"left",
|
|
23
|
+
...propsToTransition,
|
|
24
|
+
];
|
|
25
|
+
const otherElements = getHerosOnScreen().filter(events.onHeroDetect || (() => true));
|
|
26
|
+
if (process.env.NODE_ENV === "development" && otherElements.length > 2)
|
|
27
|
+
console.warn("There are too many elements to transition to, I will transition to the first I find", otherElements);
|
|
28
|
+
const otherElement = otherElements.find((el) => el !== heroRef.current);
|
|
29
|
+
if (otherElement) {
|
|
30
|
+
const oldClone = document.querySelector(`[data-hero-clone="${ID(id)}"]`);
|
|
31
|
+
const clone = (oldClone ||
|
|
32
|
+
otherElement.cloneNode(true));
|
|
33
|
+
// Clean up thos properties that can cause confusion since it's a clone
|
|
34
|
+
clone.style.visibility = "";
|
|
35
|
+
clone.removeAttribute("data-hero");
|
|
36
|
+
clone.setAttribute("data-hero-clone", ID(id));
|
|
37
|
+
// Since a transition is now triggering from the old element, he cannot be considered for other transitions
|
|
38
|
+
otherElement.removeAttribute("data-hero");
|
|
39
|
+
/**
|
|
40
|
+
*
|
|
41
|
+
* @param el
|
|
42
|
+
* @returns Returns if it will move
|
|
43
|
+
*/
|
|
44
|
+
function setCloneToCoordinates(el) {
|
|
45
|
+
const coordinates = el.getBoundingClientRect();
|
|
46
|
+
const currentCoordinates = clone.getBoundingClientRect();
|
|
47
|
+
const willNotMove = coordinates.top === currentCoordinates.top &&
|
|
48
|
+
coordinates.left === currentCoordinates.left &&
|
|
49
|
+
coordinates.width === currentCoordinates.width &&
|
|
50
|
+
coordinates.height === currentCoordinates.height;
|
|
51
|
+
clone.style.position = "fixed";
|
|
52
|
+
clone.style.top = `${coordinates.top}px`;
|
|
53
|
+
clone.style.left = `${coordinates.left}px`;
|
|
54
|
+
clone.style.width = `${coordinates.width}px`;
|
|
55
|
+
clone.style.height = `${coordinates.height}px`;
|
|
56
|
+
return !willNotMove;
|
|
57
|
+
}
|
|
58
|
+
if (!oldClone) {
|
|
59
|
+
setCloneToCoordinates(otherElement);
|
|
60
|
+
document.body.appendChild(clone);
|
|
61
|
+
}
|
|
62
|
+
heroRef.current.style.visibility = "hidden";
|
|
63
|
+
otherElement.style.visibility = "hidden";
|
|
64
|
+
clone.style.transition = `${allPropsToTransition
|
|
65
|
+
.map((prop) => `${prop} var(--animation--speed-fast, 250ms) ease-out`)
|
|
66
|
+
.join(", ")}`;
|
|
67
|
+
setTimeout(() => {
|
|
68
|
+
const cleanup = () => {
|
|
69
|
+
if (events.onHeroEnd)
|
|
70
|
+
events.onHeroEnd();
|
|
71
|
+
clone.remove();
|
|
72
|
+
el.style.visibility = "";
|
|
73
|
+
};
|
|
74
|
+
if (events.onHeroStart)
|
|
75
|
+
events.onHeroStart(clone);
|
|
76
|
+
if (!heroRef.current)
|
|
77
|
+
return;
|
|
78
|
+
const el = heroRef.current;
|
|
79
|
+
const willMove = setCloneToCoordinates(el);
|
|
80
|
+
if (!willMove)
|
|
81
|
+
cleanup();
|
|
82
|
+
else {
|
|
83
|
+
for (let propToTransition of propsToTransition)
|
|
84
|
+
clone.style[propToTransition] =
|
|
85
|
+
el.style[propToTransition];
|
|
86
|
+
clone.addEventListener("transitionend", ({ target, currentTarget }) => {
|
|
87
|
+
if (target === currentTarget)
|
|
88
|
+
cleanup();
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}, 0);
|
|
92
|
+
}
|
|
93
|
+
}, []);
|
|
94
|
+
return { heroRef, getHerosOnScreen };
|
|
95
|
+
}
|
|
96
|
+
exports.default = useHero;
|
|
97
|
+
//# sourceMappingURL=useHero.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHero.js","sourceRoot":"","sources":["../../src/hooks/useHero.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const react_1 = require("react");
|
|
4
|
+
/**
|
|
5
|
+
* This function exists so we can work with multiple refs as a single one
|
|
6
|
+
*/
|
|
7
|
+
function useMergeRefs(mainRef, ...otherRefs) {
|
|
8
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
9
|
+
for (let ref of otherRefs)
|
|
10
|
+
ref.current = mainRef.current;
|
|
11
|
+
}, []);
|
|
12
|
+
return mainRef;
|
|
13
|
+
}
|
|
14
|
+
exports.default = useMergeRefs;
|
|
15
|
+
//# sourceMappingURL=useMergeRefs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMergeRefs.js","sourceRoot":"","sources":["../../src/hooks/useMergeRefs.ts"],"names":[],"mappings":";;AAAA,iCAA2D;AAE3D;;GAEG;AACH,SAAwB,YAAY,CAClC,OAAU,EACV,GAAG,SAAc;IAEjB,IAAA,uBAAe,EAAC,GAAG,EAAE;QACnB,KAAK,IAAI,GAAG,IAAI,SAAS;YAAE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC3D,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,OAAO,CAAC;AACjB,CAAC;AARD,+BAQC"}
|
|
@@ -19,11 +19,12 @@ export declare type Paginable<I extends any, A extends any[] = [], E extends any
|
|
|
19
19
|
/**
|
|
20
20
|
* This returns a ref to be bound to an elements so it can be able to detect when a pagination whould occur
|
|
21
21
|
*/
|
|
22
|
-
export declare function useContainerPagination(cb: () => void): {
|
|
22
|
+
export declare function useContainerPagination(cb: () => void, direction?: "h" | "v"): {
|
|
23
23
|
scrollableRef: import("react").RefObject<HTMLDivElement>;
|
|
24
|
-
customOptionsRef: import("react").MutableRefObject<(() =>
|
|
25
|
-
offsetBottom
|
|
26
|
-
|
|
24
|
+
customOptionsRef: import("react").MutableRefObject<(() => {
|
|
25
|
+
offsetBottom?: number;
|
|
26
|
+
offsetLeft?: number;
|
|
27
|
+
}) | undefined>;
|
|
27
28
|
};
|
|
28
29
|
/**
|
|
29
30
|
* This function receives an amount of local instances and paginates it
|
|
@@ -33,15 +33,12 @@ function usePagination(request, paginationId = () => "default") {
|
|
|
33
33
|
const [items, setItems] = (0, react_1.useState)();
|
|
34
34
|
const _a = (0, useAsyncControl_1.default)(), { process } = _a, control = __rest(_a, ["process"]);
|
|
35
35
|
function updateItems(cb) {
|
|
36
|
-
setItems(prev => [prev[0], cb(), prev[2]]);
|
|
36
|
+
setItems((prev) => [prev[0], cb(), prev[2]]);
|
|
37
37
|
}
|
|
38
38
|
const _requestPage = (0, react_1.useCallback)(function (page, ...args) {
|
|
39
|
-
var _a;
|
|
40
39
|
const id = paginationId(...args);
|
|
41
|
-
if ((_a = paginationData[id]) === null || _a === void 0 ? void 0 : _a.finished)
|
|
42
|
-
return;
|
|
43
40
|
process(() => __awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const result = yield request(page, (items === null || items === void 0 ? void 0 : items[0]) === id ? items === null || items === void 0 ? void 0 : items[1] : undefined, ...args);
|
|
41
|
+
const result = yield request(page, (items === null || items === void 0 ? void 0 : items[0]) === id && page !== 0 ? items === null || items === void 0 ? void 0 : items[1] : undefined, ...args);
|
|
45
42
|
paginationData[id] = {
|
|
46
43
|
finished: result.finished,
|
|
47
44
|
totalItems: result.totalItems,
|
|
@@ -57,20 +54,22 @@ function usePagination(request, paginationId = () => "default") {
|
|
|
57
54
|
}, [items, request]);
|
|
58
55
|
return {
|
|
59
56
|
updateItems,
|
|
60
|
-
getNextPage: (...args) =>
|
|
57
|
+
getNextPage: (...args) => {
|
|
58
|
+
_requestPage(((items === null || items === void 0 ? void 0 : items[2]) || 0) + 1, ...args);
|
|
59
|
+
},
|
|
61
60
|
getPage: _requestPage,
|
|
62
61
|
totalItems: (...args) => { var _a; return (_a = paginationData[paginationId(...args)]) === null || _a === void 0 ? void 0 : _a.totalItems; },
|
|
63
62
|
loading: control.loading,
|
|
64
63
|
error: control.error,
|
|
65
64
|
items: items === null || items === void 0 ? void 0 : items[1],
|
|
66
|
-
setError: control.setError
|
|
65
|
+
setError: control.setError,
|
|
67
66
|
};
|
|
68
67
|
}
|
|
69
68
|
exports.default = usePagination;
|
|
70
69
|
/**
|
|
71
70
|
* This returns a ref to be bound to an elements so it can be able to detect when a pagination whould occur
|
|
72
71
|
*/
|
|
73
|
-
function useContainerPagination(cb) {
|
|
72
|
+
function useContainerPagination(cb, direction = "v") {
|
|
74
73
|
const scrollableRef = (0, react_1.useRef)(null);
|
|
75
74
|
const customOptionsRef = (0, react_1.useRef)();
|
|
76
75
|
(0, react_1.useEffect)(() => {
|
|
@@ -78,22 +77,30 @@ function useContainerPagination(cb) {
|
|
|
78
77
|
const scrollElement = el.scrollingElement || el;
|
|
79
78
|
const calculateIfReachedLimit = (0, throttle_1.default)(() => {
|
|
80
79
|
var _a;
|
|
81
|
-
const
|
|
82
|
-
const offsetLimit =
|
|
83
|
-
|
|
80
|
+
const { offsetBottom = 0, offsetLeft = 0 } = ((_a = customOptionsRef.current) === null || _a === void 0 ? void 0 : _a.call(customOptionsRef)) || {};
|
|
81
|
+
const offsetLimit = direction === "v"
|
|
82
|
+
? scrollElement.scrollHeight -
|
|
83
|
+
offsetBottom -
|
|
84
|
+
scrollElement.clientHeight * 0.6
|
|
85
|
+
: scrollElement.scrollWidth -
|
|
86
|
+
offsetLeft -
|
|
87
|
+
scrollElement.clientWidth * 0.6;
|
|
88
|
+
const offset = direction === "v"
|
|
89
|
+
? scrollElement.clientHeight + scrollElement.scrollTop
|
|
90
|
+
: scrollElement.clientWidth + scrollElement.scrollLeft;
|
|
84
91
|
if (offset >= offsetLimit) {
|
|
85
92
|
cb();
|
|
86
93
|
}
|
|
87
94
|
}, 250, {
|
|
88
95
|
leading: false,
|
|
89
|
-
trailing: true
|
|
96
|
+
trailing: true,
|
|
90
97
|
});
|
|
91
98
|
el.addEventListener("scroll", calculateIfReachedLimit);
|
|
92
|
-
return () => el.removeEventListener(
|
|
99
|
+
return () => el.removeEventListener("scroll", calculateIfReachedLimit);
|
|
93
100
|
}, [cb]);
|
|
94
101
|
return {
|
|
95
102
|
scrollableRef,
|
|
96
|
-
customOptionsRef
|
|
103
|
+
customOptionsRef,
|
|
97
104
|
};
|
|
98
105
|
}
|
|
99
106
|
exports.useContainerPagination = useContainerPagination;
|
|
@@ -108,7 +115,7 @@ function useLocalPagination(items, pageSize) {
|
|
|
108
115
|
return Promise.resolve({
|
|
109
116
|
finished: newArray.length === items.length,
|
|
110
117
|
totalItems: items.length,
|
|
111
|
-
items: newArray
|
|
118
|
+
items: newArray,
|
|
112
119
|
});
|
|
113
120
|
}, [pageSize, items]);
|
|
114
121
|
const pagination = usePagination(cb, () => `${instanceID}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"usePagination.js","sourceRoot":"","sources":["../../src/hooks/usePagination.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* This hook handles the display of pagination controls for the user to move to another page
|
|
5
|
+
*/
|
|
6
|
+
function usePaginationControls(containerRef) { }
|
|
7
|
+
exports.default = usePaginationControls;
|
|
8
|
+
//# sourceMappingURL=usePaginationControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePaginationControls.js","sourceRoot":"","sources":["../../src/hooks/usePaginationControls.ts"],"names":[],"mappings":";;AAEA;;GAEG;AACH,SAAwB,qBAAqB,CAC3C,YAAuC,IACtC,CAAC;AAFJ,wCAEI"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Contract, ContractOptions, EventData, PastEventOptions } from "web3-eth-contract";
|
|
2
|
-
export declare type AllABIs =
|
|
2
|
+
export declare type AllABIs = readonly any[];
|
|
3
3
|
declare type ExtractMethods<A extends AllABIs[number]> = A extends {
|
|
4
4
|
type: "function";
|
|
5
5
|
} ? A["name"] : never;
|
package/dist/types.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference path="../index.d.ts" />
|
|
2
1
|
declare type PrependNextNum<A extends Array<unknown>> = A['length'] extends infer T ? ((t: T, ...a: A) => void) extends ((...x: infer X) => void) ? X : never : never;
|
|
3
2
|
declare type EnumerateInternal<A extends Array<unknown>, N extends number> = {
|
|
4
3
|
0: A;
|
|
@@ -22,7 +21,7 @@ export declare type BasicContext<T extends object> = {
|
|
|
22
21
|
export declare type DistributiveOmit<T, K extends keyof any> = T extends any ? Omit<T, K> : never;
|
|
23
22
|
declare global {
|
|
24
23
|
interface Window {
|
|
25
|
-
ethereum:
|
|
24
|
+
ethereum: import("@metamask/providers").MetaMaskInpageProvider | undefined;
|
|
26
25
|
PRERENDER: boolean;
|
|
27
26
|
Cypress: any;
|
|
28
27
|
}
|
package/dist/types.js
CHANGED
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|