@onepercentio/one-ui 0.8.5-beta.1 → 0.8.5-beta.10
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 +13 -10
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +5 -2
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js.map +1 -1
- 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 +13 -3
- 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 +26 -0
- package/dist/components/PaginationIndicator/PaginationIndicator.js +131 -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 +2 -1
- package/dist/components/Tabs/Tabs.js +16 -8
- 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/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
|
@@ -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":"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"}
|
|
@@ -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":""}
|
package/package.json
CHANGED
|
@@ -1,26 +1,18 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onepercentio/one-ui",
|
|
3
|
-
"version": "0.8.5-beta.
|
|
3
|
+
"version": "0.8.5-beta.10",
|
|
4
4
|
"description": "A set of reusable components created through the development of Onepercent projects",
|
|
5
|
-
"files": [
|
|
6
|
-
"dist",
|
|
7
|
-
"WebpackConfigs",
|
|
8
|
-
"cypress/support",
|
|
9
|
-
"src/types.d.ts"
|
|
10
|
-
],
|
|
11
|
-
"bin": {
|
|
12
|
-
"start-emulator": "scripts/start-emulator.js"
|
|
13
|
-
},
|
|
14
5
|
"repository": "git@github.com:onepercentio/one-ui.git",
|
|
15
6
|
"author": "Murilo Oliveira de Araujo <muritavo@outlook.com>",
|
|
16
7
|
"license": "MIT",
|
|
17
|
-
"types": "
|
|
8
|
+
"types": "src/types.ts",
|
|
18
9
|
"devDependencies": {
|
|
19
10
|
"@babel/core": "^7.16.0",
|
|
20
11
|
"@cypress/react": "^5.12.5",
|
|
21
12
|
"@firebase/rules-unit-testing": "^2.0.2",
|
|
22
|
-
"@
|
|
23
|
-
"@muritavo/
|
|
13
|
+
"@metamask/providers": "^9.1.0",
|
|
14
|
+
"@muritavo/cypress-toolkit": "^0.8.0",
|
|
15
|
+
"@muritavo/webpack-microfrontend-scripts": "^0.0.24",
|
|
24
16
|
"@storybook/addon-actions": "^6.4.18",
|
|
25
17
|
"@storybook/addon-essentials": "^6.4.18",
|
|
26
18
|
"@storybook/addon-links": "^6.4.18",
|
|
@@ -42,7 +34,7 @@
|
|
|
42
34
|
"cpy-cli": "^3.1.1",
|
|
43
35
|
"crypto-browserify": "^3.12.0",
|
|
44
36
|
"css-loader": "^5",
|
|
45
|
-
"cypress": "^10.
|
|
37
|
+
"cypress": "^10.9.0",
|
|
46
38
|
"firebase": "^9.8.1",
|
|
47
39
|
"firebase-admin": "^10.2.0",
|
|
48
40
|
"https-browserify": "^1.0.0",
|
|
@@ -92,7 +84,7 @@
|
|
|
92
84
|
"build-storybook": "build-storybook",
|
|
93
85
|
"prebuild": "cd src",
|
|
94
86
|
"copy-css": "cpy --cwd=\"src\" \"**/*.{scss,svg}\" \"../dist\" --parents",
|
|
95
|
-
"build": "tsc && npm run copy-css
|
|
87
|
+
"build": "tsc && npm run copy-css",
|
|
96
88
|
"postbuild": "cd ..",
|
|
97
89
|
"dev": "tsc --watch",
|
|
98
90
|
"test:watch": "jest --watchAll --coverage",
|
|
@@ -117,4 +109,4 @@
|
|
|
117
109
|
"chroma-js": "^2.4.2",
|
|
118
110
|
"use-wallet": "0.13.5"
|
|
119
111
|
}
|
|
120
|
-
}
|
|
112
|
+
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
type PrependNextNum<A extends Array<unknown>> = A['length'] extends infer T ? ((t: T, ...a: A) => void) extends ((...x: infer X) => void) ? X : never : never;
|
|
2
|
+
|
|
3
|
+
type EnumerateInternal<A extends Array<unknown>, N extends number> = { 0: A, 1: EnumerateInternal<PrependNextNum<A>, N> }[N extends A['length'] ? 0 : 1];
|
|
4
|
+
|
|
5
|
+
export type Enumerate<N extends number> = EnumerateInternal<[], N> extends (infer E)[] ? E : never;
|
|
6
|
+
|
|
7
|
+
export type Range<FROM extends number, TO extends number> = Exclude<Enumerate<TO>, Enumerate<FROM>>;
|
|
8
|
+
|
|
9
|
+
export type CommonErrorCodes = "UNEXPECTED_ERROR";
|
|
10
|
+
|
|
11
|
+
type Decompose<O extends object> = O;
|
|
12
|
+
|
|
13
|
+
export type BasicContext<T extends object> = {
|
|
14
|
+
set: <P extends keyof T>(p: P, value: T[typeof p]) => void;
|
|
15
|
+
} & T;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* This is usefull for omitting props from union
|
|
19
|
+
* Check whz contestation model to see an example
|
|
20
|
+
*
|
|
21
|
+
* If different models with different properties use the native Omit<O>
|
|
22
|
+
* Their differences are also omitted generating a single model
|
|
23
|
+
*
|
|
24
|
+
* This typing solves that
|
|
25
|
+
*/
|
|
26
|
+
export type DistributiveOmit<T, K extends keyof any> = T extends any
|
|
27
|
+
? Omit<T, K>
|
|
28
|
+
: never;
|
|
29
|
+
|
|
30
|
+
declare global {
|
|
31
|
+
interface Window {
|
|
32
|
+
ethereum: import("@metamask/providers").MetaMaskInpageProvider | undefined;
|
|
33
|
+
PRERENDER: boolean;
|
|
34
|
+
Cypress: any;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
type NestedValue = unknown;
|
|
38
|
+
type FieldValues = unknown;
|
|
39
|
+
|
|
40
|
+
export declare type Primitive = null | undefined | string | number | boolean | symbol | bigint;
|
|
41
|
+
export declare type EmptyObject = {
|
|
42
|
+
[K in string | number]: never;
|
|
43
|
+
};
|
|
44
|
+
export declare type NonUndefined<T> = T extends undefined ? never : T;
|
|
45
|
+
export declare type LiteralUnion<T extends U, U extends Primitive> = T | (U & {
|
|
46
|
+
_?: never;
|
|
47
|
+
});
|
|
48
|
+
export declare type DeepPartial<T> = T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
|
|
49
|
+
[key in keyof T]: T[key];
|
|
50
|
+
} ? {
|
|
51
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
52
|
+
} : T;
|
|
53
|
+
export declare type IsAny<T> = boolean extends (T extends never ? true : false) ? true : false;
|
|
54
|
+
export declare type DeepMap<T, TValue> = {
|
|
55
|
+
[K in keyof T]?: IsAny<T[K]> extends true ? any : NonNullable<T[K]> extends NestedValue | Date | FileList | File ? TValue : NonUndefined<T[K]> extends object | null ? DeepMap<T[K], TValue> : NonUndefined<T[K]> extends Array<infer U> ? IsAny<U> extends true ? Array<any> : U extends NestedValue | Date | FileList ? Array<TValue> : U extends object ? Array<DeepMap<U, TValue>> : Array<TValue> : TValue;
|
|
56
|
+
};
|
|
57
|
+
export declare type IsFlatObject<T extends object> = Extract<Exclude<T[keyof T], NestedValue | Date | FileList>, any[] | object> extends never ? true : false;
|
|
58
|
+
declare type IsTuple<T extends ReadonlyArray<any>> = number extends T['length'] ? false : true;
|
|
59
|
+
declare type TupleKey<T extends ReadonlyArray<any>> = Exclude<keyof T, keyof any[]>;
|
|
60
|
+
declare type ArrayKey = number;
|
|
61
|
+
declare type PathImpl<K extends string | number, V> = V extends Primitive ? `${K}` : `${K}.${Path<V>}`;
|
|
62
|
+
export declare type Path<T> = T extends ReadonlyArray<infer V>
|
|
63
|
+
?
|
|
64
|
+
IsTuple<T> extends true
|
|
65
|
+
? {
|
|
66
|
+
[K in TupleKey<T>]-?: PathImpl<K & string, T[K]>;
|
|
67
|
+
}[TupleKey<T>]
|
|
68
|
+
: PathImpl<ArrayKey, V>
|
|
69
|
+
: {
|
|
70
|
+
[K in keyof T]-?: PathImpl<K & string, T[K]>;
|
|
71
|
+
}[keyof T];
|
|
72
|
+
export declare type FieldPath<TFieldValues extends FieldValues> = Path<TFieldValues>;
|
|
73
|
+
declare type ArrayPathImpl<K extends string | number, V> = V extends Primitive ? never : V extends ReadonlyArray<infer U> ? U extends Primitive ? never : `${K}` | `${K}.${ArrayPath<V>}` : `${K}.${ArrayPath<V>}`;
|
|
74
|
+
export declare type ArrayPath<T> = T extends ReadonlyArray<infer V> ? IsTuple<T> extends true ? {
|
|
75
|
+
[K in TupleKey<T>]-?: ArrayPathImpl<K & string, T[K]>;
|
|
76
|
+
}[TupleKey<T>] : ArrayPathImpl<ArrayKey, V> : {
|
|
77
|
+
[K in keyof T]-?: ArrayPathImpl<K & string, T[K]>;
|
|
78
|
+
}[keyof T];
|
|
79
|
+
export declare type FieldArrayPath<TFieldValues extends FieldValues> = ArrayPath<TFieldValues>;
|
|
80
|
+
export declare type PathValue<T, P extends Path<T> | ArrayPath<T>> = P extends `${infer K}.${infer R}` ? K extends keyof T ? R extends Path<T[K]> ? PathValue<T[K], R> : never : K extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? PathValue<V, R & Path<V>> : never : never : P extends keyof T ? T[P] : P extends `${ArrayKey}` ? T extends ReadonlyArray<infer V> ? V : never : never;
|
|
81
|
+
export declare type FieldPathValue<TFieldValues extends FieldValues, TFieldPath extends FieldPath<TFieldValues>> = PathValue<TFieldValues, TFieldPath>;
|
|
82
|
+
export declare type FieldArrayPathValue<TFieldValues extends FieldValues, TFieldArrayPath extends FieldArrayPath<TFieldValues>> = PathValue<TFieldValues, TFieldArrayPath>;
|
|
83
|
+
export declare type FieldPathValues<TFieldValues extends FieldValues, TPath extends FieldPath<TFieldValues>[] | readonly FieldPath<TFieldValues>[]> = {} & {
|
|
84
|
+
[K in keyof TPath]: FieldPathValue<TFieldValues, TPath[K] & FieldPath<TFieldValues>>;
|
|
85
|
+
};
|