@koine/react 2.0.0-beta.14 → 2.0.0-beta.16
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/Alert/Alert.js +10 -0
- package/Alert/index.d.ts +1 -1
- package/Alert/index.js +1 -0
- package/Animations/Reveal.d.ts +1 -2
- package/Animations/Reveal.js +16 -0
- package/Animations/Underline.js +5 -0
- package/Animations/index.d.ts +3 -3
- package/Animations/index.js +3 -0
- package/Animations/useReveal.d.ts +0 -21
- package/Animations/useReveal.js +42 -0
- package/Autocomplete/AutocompleteDownshift.js +1 -0
- package/Autocomplete/AutocompleteDownshiftMultiselect.js +1 -0
- package/Autocomplete/AutocompleteMui.d.ts +2 -27
- package/Autocomplete/AutocompleteMui.js +93 -0
- package/Autocomplete/AutocompleteReach.js +1 -0
- package/Autocomplete/components.d.ts +0 -5
- package/Autocomplete/components.js +26 -0
- package/Autocomplete/helpers.d.ts +1 -1
- package/Autocomplete/helpers.js +16 -0
- package/Autocomplete/index.d.ts +2 -2
- package/Autocomplete/index.js +1 -0
- package/Bg/BgColor.d.ts +1 -20
- package/Bg/BgColor.js +16 -0
- package/Bg/BgPhoto.d.ts +1 -6
- package/Bg/BgPhoto.js +16 -0
- package/Bg/BgSvg.d.ts +0 -3
- package/Bg/BgSvg.js +9 -0
- package/Bg/index.d.ts +3 -3
- package/Bg/index.js +3 -0
- package/Breadcrumbs/Breadcrumbs.d.ts +1 -1
- package/Breadcrumbs/Breadcrumbs.js +27 -0
- package/Breadcrumbs/index.d.ts +1 -1
- package/Breadcrumbs/index.js +1 -0
- package/Buttons/Button.d.ts +0 -4
- package/Buttons/Button.js +10 -0
- package/Buttons/ButtonComposite.d.ts +3 -4
- package/Buttons/ButtonComposite.js +28 -0
- package/Buttons/ButtonFab.d.ts +1 -2
- package/Buttons/ButtonFab.js +6 -0
- package/Buttons/ButtonLink.d.ts +3 -3
- package/Buttons/ButtonLink.js +11 -0
- package/Buttons/IconButton.d.ts +1 -2
- package/Buttons/IconButton.js +7 -0
- package/Buttons/index.d.ts +5 -5
- package/Buttons/index.js +5 -0
- package/Calendar/CalendarDaygridCell.d.ts +3 -4
- package/Calendar/CalendarDaygridCell.js +46 -0
- package/Calendar/CalendarDaygridNav.d.ts +2 -2
- package/Calendar/CalendarDaygridNav.js +23 -0
- package/Calendar/CalendarDaygridTable.d.ts +3 -3
- package/Calendar/CalendarDaygridTable.js +45 -0
- package/Calendar/CalendarLegend.d.ts +2 -3
- package/Calendar/CalendarLegend.js +8 -0
- package/Calendar/calendar-api-google.d.ts +1 -9
- package/Calendar/calendar-api-google.js +124 -0
- package/Calendar/index.d.ts +6 -6
- package/Calendar/index.js +6 -0
- package/Calendar/types.d.ts +0 -19
- package/Calendar/types.js +1 -0
- package/Calendar/useCalendar.d.ts +4 -19
- package/Calendar/useCalendar.js +176 -0
- package/Calendar/utils.d.ts +1 -1
- package/Calendar/utils.js +185 -0
- package/Carousel/Carousel.js +1 -0
- package/Carousel/CarouselCss.d.ts +1 -23
- package/Carousel/CarouselCss.js +19 -0
- package/Carousel/index.d.ts +1 -1
- package/Carousel/index.js +1 -0
- package/Collapsable/Collapsable.js +1 -0
- package/Collapsable/CollapsableReach.d.ts +0 -6
- package/Collapsable/CollapsableReach.js +1 -0
- package/Collapsable/index.d.ts +1 -1
- package/Collapsable/index.js +1 -0
- package/Debug/Debug.js +9 -0
- package/Debug/index.d.ts +1 -1
- package/Debug/index.js +1 -0
- package/Details/Details.d.ts +60 -66
- package/Details/Details.js +52 -0
- package/Details/index.d.ts +1 -1
- package/Details/index.js +1 -0
- package/Dialog/DialogMui.d.ts +9 -11
- package/Dialog/DialogMui.js +39 -0
- package/Dialog/css/bare.d.ts +9 -10
- package/Dialog/css/bare.js +21 -0
- package/Dialog/index.d.ts +2 -2
- package/Dialog/index.js +1 -0
- package/Dialog/m/bare.js +3 -0
- package/Dialog/m/basic.d.ts +1 -1
- package/Dialog/m/basic.js +28 -0
- package/Dialog/m/index.d.ts +1 -2
- package/Dialog/m/index.js +4 -0
- package/Dialog/sc/bare.d.ts +4 -14
- package/Dialog/sc/bare.js +31 -0
- package/Dialog/sc/framer.d.ts +1 -2
- package/Dialog/sc/framer.js +16 -0
- package/Dialog/sc/framerMaterial.js +16 -0
- package/Dialog/sc/material.d.ts +3 -4
- package/Dialog/sc/material.js +21 -0
- package/Dialog/tw/bare.d.ts +7 -22
- package/Dialog/tw/bare.js +29 -0
- package/Dialog/tw/elegant.d.ts +6 -7
- package/Dialog/tw/elegant.js +21 -0
- package/Dialog/tw/framer.d.ts +3 -4
- package/Dialog/tw/framer.js +16 -0
- package/Dialog/tw/framerMaterial.d.ts +2 -2
- package/Dialog/tw/framerMaterial.js +16 -0
- package/Dialog/tw/material.d.ts +6 -7
- package/Dialog/tw/material.js +21 -0
- package/Editor/Editor--tiptap.js +26 -0
- package/Editor/components.js +10 -0
- package/Editor/index.d.ts +1 -1
- package/Editor/index.js +1 -0
- package/FaviconTags.d.ts +0 -10
- package/FaviconTags.js +6 -0
- package/Form/Form.d.ts +1 -14
- package/Form/Form.js +60 -0
- package/Form/index.d.ts +1 -1
- package/Form/index.js +1 -0
- package/Form/sc/bare.d.ts +1 -2
- package/Form/sc/bare.js +20 -0
- package/Forms/Checkbox/Checkbox.d.ts +1 -5
- package/Forms/Checkbox/Checkbox.js +15 -0
- package/Forms/Checkbox/index.d.ts +1 -1
- package/Forms/Checkbox/index.js +1 -0
- package/Forms/Feedback/Feedback.js +9 -0
- package/Forms/Feedback/index.d.ts +1 -1
- package/Forms/Feedback/index.js +1 -0
- package/Forms/Field/Field.d.ts +1 -19
- package/Forms/Field/Field.js +25 -0
- package/Forms/Field/FieldControl.d.ts +2 -14
- package/Forms/Field/FieldControl.js +35 -0
- package/Forms/Field/FieldHint.js +4 -0
- package/Forms/Field/index.d.ts +2 -2
- package/Forms/Field/index.js +2 -0
- package/Forms/Input/Input.d.ts +1 -2
- package/Forms/Input/Input.js +16 -0
- package/Forms/Input/index.d.ts +1 -1
- package/Forms/Input/index.js +1 -0
- package/Forms/InputGroup/InputGroup.d.ts +1 -2
- package/Forms/InputGroup/InputGroup.js +15 -0
- package/Forms/InputGroup/index.d.ts +1 -1
- package/Forms/InputGroup/index.js +1 -0
- package/Forms/Label/Label.js +6 -0
- package/Forms/Label/index.d.ts +1 -1
- package/Forms/Label/index.js +1 -0
- package/Forms/Password/Password.d.ts +1 -2
- package/Forms/Password/Password.js +17 -0
- package/Forms/Password/index.d.ts +1 -1
- package/Forms/Password/index.js +1 -0
- package/Forms/Radio/Radio.d.ts +1 -2
- package/Forms/Radio/Radio.js +25 -0
- package/Forms/Radio/index.d.ts +1 -1
- package/Forms/Radio/index.js +1 -0
- package/Forms/Switch/Switch.d.ts +1 -5
- package/Forms/Switch/Switch.js +17 -0
- package/Forms/Switch/index.d.ts +1 -1
- package/Forms/Switch/index.js +1 -0
- package/Forms/Textarea/Textarea.d.ts +1 -2
- package/Forms/Textarea/Textarea.js +12 -0
- package/Forms/Textarea/TextareaRich.d.ts +1 -2
- package/Forms/Textarea/TextareaRich.js +26 -0
- package/Forms/Textarea/index.d.ts +2 -2
- package/Forms/Textarea/index.js +2 -0
- package/Forms/Toggle/Toggle-tailwind.js +1 -0
- package/Forms/Toggle/Toggle.d.ts +0 -1
- package/Forms/Toggle/Toggle.js +25 -0
- package/Forms/Toggle/index.d.ts +1 -1
- package/Forms/Toggle/index.js +1 -0
- package/Forms/Toggle/useToggle-tailwind.js +1 -0
- package/Forms/Toggle/useToggle.d.ts +1 -31
- package/Forms/Toggle/useToggle.js +85 -0
- package/Forms/antispam.d.ts +0 -20
- package/Forms/antispam.js +29 -0
- package/Forms/helpers.d.ts +0 -8
- package/Forms/helpers.js +35 -0
- package/Forms/index.d.ts +15 -15
- package/Forms/index.js +15 -0
- package/Forms/styles.d.ts +0 -6
- package/Forms/styles.js +19 -0
- package/Gauge/Gauge.d.ts +0 -1
- package/Gauge/Gauge.js +1 -0
- package/Grid/Grid.d.ts +1 -10
- package/Grid/Grid.js +52 -0
- package/Grid/index.d.ts +1 -1
- package/Grid/index.js +1 -0
- package/Hamburger/Hamburger.d.ts +0 -1
- package/Hamburger/Hamburger.js +47 -0
- package/Hamburger/index.d.ts +1 -1
- package/Hamburger/index.js +1 -0
- package/Header/index.d.ts +1 -1
- package/Header/index.js +1 -0
- package/Header/useHeader.d.ts +0 -4
- package/Header/useHeader.js +31 -0
- package/Hidden/Hidden.d.ts +1 -1
- package/Hidden/Hidden.js +10 -0
- package/Hidden/index.d.ts +1 -1
- package/Hidden/index.js +1 -0
- package/Img/index.d.ts +1 -1
- package/Img/index.js +1 -0
- package/Img/sc/bare.js +4 -0
- package/Img/types.js +1 -0
- package/Link/Link.js +4 -0
- package/Link/LinkBlank.js +15 -0
- package/Link/index.d.ts +2 -2
- package/Link/index.js +2 -0
- package/Menu/Menu.js +4 -0
- package/Menu/MenuMui.js +1 -0
- package/Menu/index.d.ts +1 -1
- package/Menu/index.js +1 -0
- package/MenuItem/MenuItem.js +4 -0
- package/MenuItem/MenuItemMui.js +1 -0
- package/MenuItem/index.d.ts +1 -1
- package/MenuItem/index.js +1 -0
- package/MenuItem/useMenuItem.js +42 -0
- package/Meta.d.ts +5 -0
- package/Meta.js +6 -0
- package/NoJs.js +7 -0
- package/Pagination/PaginationNav.d.ts +1 -9
- package/Pagination/PaginationNav.js +48 -0
- package/Pagination/PaginationResults.js +11 -0
- package/Pagination/index.d.ts +2 -2
- package/Pagination/index.js +2 -0
- package/Pill/Pill.js +7 -0
- package/Pill/index.d.ts +1 -1
- package/Pill/index.js +1 -0
- package/Progress/ProgressCircular.d.ts +1 -7
- package/Progress/ProgressCircular.js +12 -0
- package/Progress/ProgressLinear.d.ts +1 -8
- package/Progress/ProgressLinear.js +21 -0
- package/Progress/ProgressOverlay.js +23 -0
- package/Progress/index.d.ts +3 -3
- package/Progress/index.js +3 -0
- package/Rating/Rating.d.ts +0 -8
- package/Rating/Rating.js +43 -0
- package/Rating/index.d.ts +1 -4
- package/Rating/index.js +45 -0
- package/Select/SelectDownshift.d.ts +1 -1
- package/Select/SelectDownshift.js +1 -0
- package/Select/components.js +12 -0
- package/Select/index.d.ts +2 -2
- package/Select/index.js +1 -0
- package/Sidebar/Sidebar.js +23 -0
- package/Sidebar/index.d.ts +1 -1
- package/Sidebar/index.js +1 -0
- package/Spacing/Spacing.d.ts +1 -14
- package/Spacing/Spacing.js +32 -0
- package/Spacing/index.d.ts +1 -1
- package/Spacing/index.js +1 -0
- package/Sticky/Sticky.js +1 -0
- package/Sticky/StickyCss.js +6 -0
- package/Sticky/index.d.ts +1 -1
- package/Sticky/index.js +1 -0
- package/Tabs/TabsMui.d.ts +6 -7
- package/Tabs/TabsMui.js +30 -0
- package/Tabs/index.d.ts +1 -1
- package/Tabs/index.js +1 -0
- package/Tabs/sc/bare.d.ts +0 -5
- package/Tabs/sc/bare.js +1 -0
- package/Tabs/tw/bare.d.ts +5 -6
- package/Tabs/tw/bare.js +17 -0
- package/Tabs/tw/material.d.ts +2 -3
- package/Tabs/tw/material.js +19 -0
- package/Tabs/useTabs.d.ts +0 -22
- package/Tabs/useTabs.js +43 -0
- package/Typography/CopyPasteVisible.js +4 -0
- package/Typography/Native.js +14 -0
- package/Typography/ReadMore.d.ts +0 -2
- package/Typography/ReadMore.js +42 -0
- package/Typography/TextLoop.js +45 -0
- package/Typography/TypeStairs.js +42 -0
- package/Typography/index.d.ts +5 -5
- package/Typography/index.js +5 -0
- package/classed.d.ts +8 -0
- package/classed.js +43 -0
- package/{helpers/createUseMediaQueryWidth.d.ts → createUseMediaQueryWidth.d.ts} +1 -7
- package/createUseMediaQueryWidth.js +38 -0
- package/css/index.d.ts +1 -2
- package/css/index.js +1 -0
- package/{helpers/extend-component.d.ts → extendComponent.d.ts} +0 -11
- package/extendComponent.js +9 -0
- package/index.d.ts +25 -1
- package/index.js +24 -0
- package/m/MotionProvider.d.ts +0 -32
- package/m/MotionProvider.js +7 -0
- package/m/index.d.ts +1 -6
- package/m/index.js +1 -0
- package/{helpers/mergeRefs.mjs → mergeRefs.js} +4 -3
- package/package.json +609 -22
- package/sc/index.d.ts +29 -30
- package/sc/index.js +29 -0
- package/scm/index.d.ts +28 -29
- package/scm/index.js +28 -0
- package/shared/index.d.ts +7 -8
- package/shared/index.js +7 -0
- package/styles/Body.d.ts +0 -8
- package/styles/Body.js +5 -0
- package/styles/Global.d.ts +0 -13
- package/styles/Global.js +5 -0
- package/styles/index.d.ts +7 -7
- package/styles/index.js +7 -0
- package/styles/media.d.ts +1 -50
- package/styles/media.js +74 -0
- package/styles/spacing.d.ts +1 -2
- package/styles/spacing.js +45 -0
- package/styles/styled.d.ts +0 -4
- package/styles/styled.js +9 -0
- package/styles/theme--vanilla.js +46 -0
- package/styles/theme.d.ts +0 -29
- package/styles/theme.js +30 -0
- package/tw/index.d.ts +1 -2
- package/tw/index.js +1 -0
- package/twm/index.d.ts +1 -2
- package/twm/index.js +1 -0
- package/types.d.ts +3 -2
- package/types.js +1 -0
- package/{hooks/useAsyncFn.d.ts → useAsyncFn.d.ts} +1 -4
- package/useAsyncFn.js +33 -0
- package/useDateLocale.d.ts +2 -0
- package/useDateLocale.js +28 -0
- package/useFirstMountState.d.ts +2 -0
- package/useFirstMountState.js +10 -0
- package/useFixedOffset.d.ts +3 -0
- package/useFixedOffset.js +42 -0
- package/{hooks/useFocus.d.ts → useFocus.d.ts} +0 -3
- package/useFocus.js +9 -0
- package/useInterval.d.ts +2 -0
- package/useInterval.js +22 -0
- package/useIsomorphicLayoutEffect.d.ts +3 -0
- package/useIsomorphicLayoutEffect.js +6 -0
- package/useKeyUp.js +18 -0
- package/{hooks/useMeasure.d.ts → useMeasure.d.ts} +0 -5
- package/useMeasure.js +130 -0
- package/useMountedState.d.ts +2 -0
- package/useMountedState.js +13 -0
- package/useNavigateAway.d.ts +3 -0
- package/useNavigateAway.js +25 -0
- package/usePrevious.d.ts +2 -0
- package/usePrevious.js +9 -0
- package/{hooks/usePreviousRef.mjs → usePreviousRef.js} +2 -2
- package/{hooks/useScrollPosition.d.ts → useScrollPosition.d.ts} +0 -7
- package/useScrollPosition.js +61 -0
- package/useScrollThreshold.js +26 -0
- package/useScrollTo.js +22 -0
- package/{hooks/useSmoothScroll.d.ts → useSmoothScroll.d.ts} +0 -6
- package/useSmoothScroll.js +32 -0
- package/useSpinDelay.d.ts +2 -0
- package/useSpinDelay.js +38 -0
- package/{hooks/useTraceUpdate.d.ts → useTraceUpdate.d.ts} +0 -3
- package/useTraceUpdate.js +18 -0
- package/{hooks/useUpdateEffect.d.ts → useUpdateEffect.d.ts} +0 -3
- package/useUpdateEffect.js +11 -0
- package/useWindowSize.d.ts +3 -0
- package/useWindowSize.js +19 -0
- package/Alert/Alert.mjs +0 -22
- package/Alert/Alert.stories.mjs +0 -18
- package/Alert/index.mjs +0 -1
- package/Animations/Reveal.mjs +0 -43
- package/Animations/Underline.mjs +0 -15
- package/Animations/index.mjs +0 -3
- package/Animations/useReveal.mjs +0 -73
- package/Autocomplete/AutocompleteDownshift.mjs +0 -157
- package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +0 -352
- package/Autocomplete/AutocompleteMui.mjs +0 -219
- package/Autocomplete/AutocompleteReach.mjs +0 -111
- package/Autocomplete/components.mjs +0 -87
- package/Autocomplete/helpers.mjs +0 -35
- package/Autocomplete/index.mjs +0 -4
- package/Bg/BgColor.mjs +0 -42
- package/Bg/BgPhoto.mjs +0 -71
- package/Bg/BgSvg.mjs +0 -22
- package/Bg/index.mjs +0 -3
- package/Breadcrumbs/Breadcrumbs.mjs +0 -91
- package/Breadcrumbs/index.mjs +0 -1
- package/Buttons/Button.mjs +0 -78
- package/Buttons/ButtonComposite.mjs +0 -105
- package/Buttons/ButtonFab.mjs +0 -8
- package/Buttons/ButtonLink.mjs +0 -18
- package/Buttons/IconButton.mjs +0 -19
- package/Buttons/index.mjs +0 -5
- package/Calendar/CalendarDaygridCell.mjs +0 -95
- package/Calendar/CalendarDaygridNav.mjs +0 -52
- package/Calendar/CalendarDaygridTable.mjs +0 -115
- package/Calendar/CalendarLegend.mjs +0 -29
- package/Calendar/calendar-api-google.mjs +0 -99
- package/Calendar/index.mjs +0 -6
- package/Calendar/types.mjs +0 -1
- package/Calendar/useCalendar.mjs +0 -225
- package/Calendar/utils.mjs +0 -209
- package/Carousel/Carousel.mjs +0 -377
- package/Carousel/CarouselCss.mjs +0 -44
- package/Carousel/index.mjs +0 -1
- package/Collapsable/Collapsable.mjs +0 -1
- package/Collapsable/CollapsableReach.mjs +0 -250
- package/Collapsable/index.mjs +0 -1
- package/Debug/Debug.mjs +0 -23
- package/Debug/index.mjs +0 -1
- package/Details/Details.mjs +0 -90
- package/Details/Details.stories.mjs +0 -21
- package/Details/index.mjs +0 -1
- package/Dialog/DialogMui.mjs +0 -105
- package/Dialog/DialogMui.stories.mjs +0 -20
- package/Dialog/css/bare.mjs +0 -19
- package/Dialog/css/index.stories.mjs +0 -75
- package/Dialog/index.mjs +0 -1
- package/Dialog/m/bare.mjs +0 -115
- package/Dialog/m/basic.mjs +0 -31
- package/Dialog/m/index.mjs +0 -4
- package/Dialog/sc/bare.mjs +0 -54
- package/Dialog/sc/framer.mjs +0 -16
- package/Dialog/sc/framerMaterial.mjs +0 -16
- package/Dialog/sc/index.stories.mjs +0 -48
- package/Dialog/sc/material.mjs +0 -41
- package/Dialog/tw/bare.mjs +0 -29
- package/Dialog/tw/elegant.mjs +0 -18
- package/Dialog/tw/framer.mjs +0 -16
- package/Dialog/tw/framerMaterial.mjs +0 -16
- package/Dialog/tw/index.stories.mjs +0 -83
- package/Dialog/tw/material.mjs +0 -18
- package/Editor/Editor--tiptap.mjs +0 -53
- package/Editor/components.mjs +0 -28
- package/Editor/index.mjs +0 -1
- package/FaviconTags.mjs +0 -64
- package/Form/Form.mjs +0 -95
- package/Form/index.mjs +0 -1
- package/Form/sc/bare.mjs +0 -29
- package/Forms/Checkbox/Checkbox.mjs +0 -36
- package/Forms/Checkbox/index.mjs +0 -1
- package/Forms/Feedback/Feedback.mjs +0 -14
- package/Forms/Feedback/index.mjs +0 -1
- package/Forms/Field/Field.mjs +0 -50
- package/Forms/Field/FieldControl.mjs +0 -67
- package/Forms/Field/FieldHint.mjs +0 -6
- package/Forms/Field/index.mjs +0 -2
- package/Forms/Input/Input.mjs +0 -36
- package/Forms/Input/index.mjs +0 -1
- package/Forms/InputGroup/InputGroup.mjs +0 -57
- package/Forms/InputGroup/index.mjs +0 -1
- package/Forms/Label/Label.mjs +0 -24
- package/Forms/Label/index.mjs +0 -1
- package/Forms/Password/Password.mjs +0 -53
- package/Forms/Password/index.mjs +0 -1
- package/Forms/Radio/Radio.mjs +0 -57
- package/Forms/Radio/index.mjs +0 -1
- package/Forms/Switch/Switch.mjs +0 -60
- package/Forms/Switch/index.mjs +0 -1
- package/Forms/Textarea/Textarea.mjs +0 -26
- package/Forms/Textarea/TextareaRich.mjs +0 -48
- package/Forms/Textarea/index.mjs +0 -2
- package/Forms/Toggle/Toggle-tailwind.mjs +0 -98
- package/Forms/Toggle/Toggle.mjs +0 -123
- package/Forms/Toggle/index.mjs +0 -1
- package/Forms/Toggle/useToggle-tailwind.mjs +0 -201
- package/Forms/Toggle/useToggle.mjs +0 -163
- package/Forms/antispam.mjs +0 -58
- package/Forms/helpers.mjs +0 -52
- package/Forms/index.mjs +0 -16
- package/Forms/styles.mjs +0 -61
- package/Gauge/Gauge.mjs +0 -101
- package/Grid/Grid.mjs +0 -75
- package/Grid/index.mjs +0 -1
- package/Hamburger/Hamburger.mjs +0 -79
- package/Hamburger/index.mjs +0 -1
- package/Header/index.mjs +0 -1
- package/Header/useHeader.mjs +0 -36
- package/Hidden/Hidden.mjs +0 -10
- package/Hidden/index.mjs +0 -1
- package/Img/index.mjs +0 -1
- package/Img/sc/bare.mjs +0 -36
- package/Img/types.mjs +0 -1
- package/Link/Link.mjs +0 -2
- package/Link/LinkBlank.mjs +0 -32
- package/Link/index.mjs +0 -2
- package/Menu/Menu.mjs +0 -11
- package/Menu/MenuMui.mjs +0 -164
- package/Menu/index.mjs +0 -1
- package/MenuItem/MenuItem.mjs +0 -20
- package/MenuItem/MenuItemMui.mjs +0 -31
- package/MenuItem/index.mjs +0 -1
- package/MenuItem/useMenuItem.mjs +0 -78
- package/Meta/Meta.d.ts +0 -15
- package/Meta/Meta.mjs +0 -8
- package/Meta/index.d.ts +0 -2
- package/Meta/index.mjs +0 -2
- package/NoJs/NoJs.mjs +0 -10
- package/NoJs/index.d.ts +0 -2
- package/NoJs/index.mjs +0 -2
- package/Pagination/PaginationNav.mjs +0 -122
- package/Pagination/PaginationResults.mjs +0 -34
- package/Pagination/index.mjs +0 -2
- package/Pill/Pill.mjs +0 -37
- package/Pill/index.mjs +0 -1
- package/Progress/ProgressCircular.mjs +0 -53
- package/Progress/ProgressLinear.mjs +0 -44
- package/Progress/ProgressOverlay.mjs +0 -64
- package/Progress/index.mjs +0 -3
- package/README.md +0 -1
- package/Rating/Rating.mjs +0 -154
- package/Rating/index.mjs +0 -62
- package/Select/SelectDownshift.mjs +0 -37
- package/Select/components.mjs +0 -25
- package/Select/index.mjs +0 -2
- package/Sidebar/Sidebar.mjs +0 -63
- package/Sidebar/index.mjs +0 -1
- package/Spacing/Spacing.mjs +0 -55
- package/Spacing/index.mjs +0 -1
- package/Sticky/Sticky.mjs +0 -218
- package/Sticky/StickyCss.mjs +0 -10
- package/Sticky/index.mjs +0 -1
- package/Tabs/TabsMui.mjs +0 -61
- package/Tabs/TabsMui.stories.mjs +0 -20
- package/Tabs/index.mjs +0 -1
- package/Tabs/sc/bare.mjs +0 -85
- package/Tabs/sc/index.stories.mjs +0 -0
- package/Tabs/tw/bare.mjs +0 -15
- package/Tabs/tw/index.stories.mjs +0 -25
- package/Tabs/tw/material.mjs +0 -14
- package/Tabs/useTabs.mjs +0 -46
- package/Typography/CopyPasteVisible.mjs +0 -6
- package/Typography/Native.mjs +0 -47
- package/Typography/ReadMore.mjs +0 -114
- package/Typography/TextLoop.mjs +0 -90
- package/Typography/TypeStairs.mjs +0 -61
- package/Typography/index.mjs +0 -5
- package/css/index.mjs +0 -30
- package/helpers/classed.d.ts +0 -27
- package/helpers/classed.mjs +0 -65
- package/helpers/classed.stories.mjs +0 -121
- package/helpers/createUseMediaQueryWidth.mjs +0 -178
- package/helpers/extend-component.mjs +0 -13
- package/helpers/index.d.ts +0 -4
- package/helpers/index.mjs +0 -4
- package/hooks/index.d.ts +0 -20
- package/hooks/index.mjs +0 -21
- package/hooks/types.d.ts +0 -8
- package/hooks/types.mjs +0 -3
- package/hooks/useAsyncFn.mjs +0 -39
- package/hooks/useDateLocale.d.ts +0 -8
- package/hooks/useDateLocale.mjs +0 -37
- package/hooks/useFirstMountState.d.ts +0 -5
- package/hooks/useFirstMountState.mjs +0 -12
- package/hooks/useFixedOffset.d.ts +0 -12
- package/hooks/useFixedOffset.mjs +0 -56
- package/hooks/useFocus.mjs +0 -14
- package/hooks/useInterval.d.ts +0 -7
- package/hooks/useInterval.mjs +0 -29
- package/hooks/useIsomorphicLayoutEffect.d.ts +0 -6
- package/hooks/useIsomorphicLayoutEffect.mjs +0 -6
- package/hooks/useKeyUp.mjs +0 -21
- package/hooks/useMeasure.mjs +0 -174
- package/hooks/useMountedState.d.ts +0 -5
- package/hooks/useMountedState.mjs +0 -15
- package/hooks/useNavigateAway.d.ts +0 -32
- package/hooks/useNavigateAway.mjs +0 -69
- package/hooks/usePrevious.d.ts +0 -5
- package/hooks/usePrevious.mjs +0 -17
- package/hooks/useScrollPosition.mjs +0 -70
- package/hooks/useScrollThreshold.mjs +0 -33
- package/hooks/useScrollTo.mjs +0 -20
- package/hooks/useSmoothScroll.mjs +0 -35
- package/hooks/useSpinDelay.d.ts +0 -14
- package/hooks/useSpinDelay.mjs +0 -52
- package/hooks/useTraceUpdate.mjs +0 -23
- package/hooks/useUpdateEffect.mjs +0 -14
- package/hooks/useWindowSize.d.ts +0 -12
- package/hooks/useWindowSize.mjs +0 -32
- package/index.mjs +0 -4
- package/m/MotionProvider.mjs +0 -40
- package/m/index.mjs +0 -5
- package/sc/index.mjs +0 -31
- package/scm/index.mjs +0 -31
- package/shared/index.mjs +0 -43
- package/styles/Body.mjs +0 -16
- package/styles/Global.mjs +0 -49
- package/styles/index.mjs +0 -7
- package/styles/media.mjs +0 -151
- package/styles/spacing.mjs +0 -46
- package/styles/styled.mjs +0 -26
- package/styles/theme--vanilla.mjs +0 -65
- package/styles/theme.mjs +0 -38
- package/tw/index.mjs +0 -30
- package/twm/index.mjs +0 -30
- package/types.mjs +0 -1
- /package/{NoJs/NoJs.d.ts → NoJs.d.ts} +0 -0
- /package/m/{lite.mjs → lite.js} +0 -0
- /package/m/{max.mjs → max.js} +0 -0
- /package/{helpers/mergeRefs.d.ts → mergeRefs.d.ts} +0 -0
- /package/{hooks/useKeyUp.d.ts → useKeyUp.d.ts} +0 -0
- /package/{hooks/usePreviousRef.d.ts → usePreviousRef.d.ts} +0 -0
- /package/{hooks/useScrollThreshold.d.ts → useScrollThreshold.d.ts} +0 -0
- /package/{hooks/useScrollTo.d.ts → useScrollTo.d.ts} +0 -0
package/tw/index.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/bare";
|
|
1
|
+
export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/bare.js";
|
package/tw/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { KoineDialog } from "../Dialog/tw/bare.js";
|
package/twm/index.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/framer";
|
|
1
|
+
export { KoineDialog, type KoineDialogProps } from "../Dialog/tw/framer.js";
|
package/twm/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { KoineDialog } from "../Dialog/tw/framer.js";
|
package/types.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export type { KoineImgSmartWrapProps, KoineImgSmartProps } from "./Img/types";
|
|
1
|
+
export type { KoineImgSmartWrapProps, KoineImgSmartProps } from "./Img/types.js";
|
|
3
2
|
export type Translate = (i18nKey: any, query?: any, options?: any) => string;
|
|
4
3
|
export type Option = {
|
|
5
4
|
value: string;
|
|
@@ -8,3 +7,5 @@ export type Option = {
|
|
|
8
7
|
};
|
|
9
8
|
export type KoineComponentProps<BaseComponentProps, ExtendableProps> = BaseComponentProps & ExtendableProps;
|
|
10
9
|
export type KoineComponent<Props = any> = string | React.ForwardRefExoticComponent<Props> | React.ExoticComponent<Props> | React.FC<Props> | ((props: Props) => JSX.Element);
|
|
10
|
+
export type PromiseType<P extends Promise<any>> = P extends Promise<infer T> ? T : never;
|
|
11
|
+
export type FunctionReturningPromise = (...args: any[]) => Promise<any>;
|
package/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import type { FunctionReturningPromise, PromiseType } from "./types";
|
|
2
|
+
import type { FunctionReturningPromise, PromiseType } from "./types.js";
|
|
3
3
|
export type UseAsyncState<T> = {
|
|
4
4
|
loading: boolean;
|
|
5
5
|
error?: undefined;
|
|
@@ -19,8 +19,5 @@ export type UseAsyncState<T> = {
|
|
|
19
19
|
};
|
|
20
20
|
type StateFromFunctionReturningPromise<T extends FunctionReturningPromise> = UseAsyncState<PromiseType<ReturnType<T>>>;
|
|
21
21
|
export type UseAsyncFnReturn<T extends FunctionReturningPromise = FunctionReturningPromise> = [StateFromFunctionReturningPromise<T>, T];
|
|
22
|
-
/**
|
|
23
|
-
* @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useAsyncFn.ts)
|
|
24
|
-
*/
|
|
25
22
|
export declare function useAsyncFn<T extends FunctionReturningPromise>(fn: T, deps?: React.DependencyList, initialState?: StateFromFunctionReturningPromise<T>): UseAsyncFnReturn<T>;
|
|
26
23
|
export default useAsyncFn;
|
package/useAsyncFn.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { __assign } from "tslib";
|
|
2
|
+
import { useCallback, useRef, useState } from "react";
|
|
3
|
+
import { useMountedState } from "./useMountedState.js";
|
|
4
|
+
export function useAsyncFn(fn, deps, initialState) {
|
|
5
|
+
if (deps === void 0) { deps = []; }
|
|
6
|
+
if (initialState === void 0) { initialState = { loading: false }; }
|
|
7
|
+
var lastCallId = useRef(0);
|
|
8
|
+
var isMounted = useMountedState();
|
|
9
|
+
var _a = useState(initialState), state = _a[0], set = _a[1];
|
|
10
|
+
var callback = useCallback(function () {
|
|
11
|
+
var args = [];
|
|
12
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
13
|
+
args[_i] = arguments[_i];
|
|
14
|
+
}
|
|
15
|
+
var callId = ++lastCallId.current;
|
|
16
|
+
if (!state.loading) {
|
|
17
|
+
set(function (prevState) { return (__assign(__assign({}, prevState), { loading: true })); });
|
|
18
|
+
}
|
|
19
|
+
return fn.apply(void 0, args).then(function (value) {
|
|
20
|
+
isMounted() &&
|
|
21
|
+
callId === lastCallId.current &&
|
|
22
|
+
set({ value: value, loading: false });
|
|
23
|
+
return value;
|
|
24
|
+
}, function (error) {
|
|
25
|
+
isMounted() &&
|
|
26
|
+
callId === lastCallId.current &&
|
|
27
|
+
set({ error: error, loading: false });
|
|
28
|
+
return error;
|
|
29
|
+
});
|
|
30
|
+
}, deps);
|
|
31
|
+
return [state, callback];
|
|
32
|
+
}
|
|
33
|
+
export default useAsyncFn;
|
package/useDateLocale.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { __awaiter, __generator } from "tslib";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
export function useDateLocale(locale, defaultLocale) {
|
|
4
|
+
var _this = this;
|
|
5
|
+
if (defaultLocale === void 0) { defaultLocale = "en"; }
|
|
6
|
+
var _a = useState(), data = _a[0], setData = _a[1];
|
|
7
|
+
var _b = useState(defaultLocale), current = _b[0], setCurrent = _b[1];
|
|
8
|
+
useEffect(function () {
|
|
9
|
+
var importLocaleFile = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
10
|
+
var localeToSet;
|
|
11
|
+
return __generator(this, function (_a) {
|
|
12
|
+
switch (_a.label) {
|
|
13
|
+
case 0: return [4, import("date-fns/locale/en-US/index.js")];
|
|
14
|
+
case 1:
|
|
15
|
+
localeToSet = _a.sent();
|
|
16
|
+
setCurrent(locale || current);
|
|
17
|
+
setData(localeToSet.default);
|
|
18
|
+
return [2];
|
|
19
|
+
}
|
|
20
|
+
});
|
|
21
|
+
}); };
|
|
22
|
+
if (locale !== current) {
|
|
23
|
+
importLocaleFile();
|
|
24
|
+
}
|
|
25
|
+
}, [locale, current]);
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
export default useDateLocale;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
2
|
+
import { debounce } from "@koine/utils";
|
|
3
|
+
import { $each, calculateFixedOffset, injectCss, listenResizeDebounced, } from "@koine/dom";
|
|
4
|
+
import useIsomorphicLayoutEffect from "./useIsomorphicLayoutEffect.js";
|
|
5
|
+
var inject = function (value) {
|
|
6
|
+
injectCss("useFixedOffset", "html{scroll-padding-top: ".concat(value, "px}"));
|
|
7
|
+
};
|
|
8
|
+
export function useFixedOffset(selector) {
|
|
9
|
+
var fixedOffset = useRef(0);
|
|
10
|
+
useIsomorphicLayoutEffect(function () {
|
|
11
|
+
var update = function () {
|
|
12
|
+
var newFixedOffset = calculateFixedOffset();
|
|
13
|
+
fixedOffset.current = newFixedOffset;
|
|
14
|
+
inject(newFixedOffset);
|
|
15
|
+
};
|
|
16
|
+
update();
|
|
17
|
+
if (ResizeObserver) {
|
|
18
|
+
var observer_1 = new ResizeObserver(function (entries) {
|
|
19
|
+
var newFixedOffset = 0;
|
|
20
|
+
entries.forEach(function (entry) {
|
|
21
|
+
newFixedOffset += entry.contentRect.height;
|
|
22
|
+
});
|
|
23
|
+
fixedOffset.current = newFixedOffset;
|
|
24
|
+
var updateOnResize = debounce(function () { return inject(newFixedOffset); }, 400, true);
|
|
25
|
+
updateOnResize();
|
|
26
|
+
});
|
|
27
|
+
$each(selector || "[data-fixed]", function ($el) {
|
|
28
|
+
if (observer_1)
|
|
29
|
+
observer_1.observe($el);
|
|
30
|
+
});
|
|
31
|
+
return function () {
|
|
32
|
+
observer_1 === null || observer_1 === void 0 ? void 0 : observer_1.disconnect();
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
var listener = listenResizeDebounced(0, update);
|
|
37
|
+
return listener;
|
|
38
|
+
}
|
|
39
|
+
}, [selector]);
|
|
40
|
+
return fixedOffset;
|
|
41
|
+
}
|
|
42
|
+
export default useFixedOffset;
|
package/useFocus.js
ADDED
package/useInterval.d.ts
ADDED
package/useInterval.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { __spreadArray } from "tslib";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
import { noop } from "@koine/utils";
|
|
4
|
+
export function useInterval(callback, delay, deps) {
|
|
5
|
+
if (deps === void 0) { deps = []; }
|
|
6
|
+
var savedCallback = useRef();
|
|
7
|
+
useEffect(function () {
|
|
8
|
+
savedCallback.current = callback;
|
|
9
|
+
}, __spreadArray([callback], deps, true));
|
|
10
|
+
useEffect(function () {
|
|
11
|
+
function tick() {
|
|
12
|
+
if (savedCallback.current)
|
|
13
|
+
savedCallback.current();
|
|
14
|
+
}
|
|
15
|
+
if (delay !== null) {
|
|
16
|
+
var id_1 = setInterval(tick, delay);
|
|
17
|
+
return function () { return clearInterval(id_1); };
|
|
18
|
+
}
|
|
19
|
+
return noop;
|
|
20
|
+
}, [delay]);
|
|
21
|
+
}
|
|
22
|
+
export default useInterval;
|
package/useKeyUp.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { __spreadArray } from "tslib";
|
|
2
|
+
import { useEffect } from "react";
|
|
3
|
+
import { on } from "@koine/dom";
|
|
4
|
+
export function useKeyUp(callback, deps) {
|
|
5
|
+
if (deps === void 0) { deps = []; }
|
|
6
|
+
useEffect(function () {
|
|
7
|
+
var listener = on(window, "keyup", function (event) {
|
|
8
|
+
if (!event.ctrlKey &&
|
|
9
|
+
!event.altKey &&
|
|
10
|
+
!event.shiftKey &&
|
|
11
|
+
!event.metaKey) {
|
|
12
|
+
callback(event);
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
return listener;
|
|
16
|
+
}, __spreadArray([callback], deps, true));
|
|
17
|
+
}
|
|
18
|
+
export default useKeyUp;
|
|
@@ -18,10 +18,5 @@ export type UseMeasureReturn = [
|
|
|
18
18
|
RectReadOnly,
|
|
19
19
|
() => void
|
|
20
20
|
];
|
|
21
|
-
/**
|
|
22
|
-
* Use measure hook
|
|
23
|
-
*
|
|
24
|
-
* @borrows [pmndrs/react-use-measure](https://github.com/pmndrs/react-use-measure)
|
|
25
|
-
*/
|
|
26
21
|
export declare function useMeasure(options?: UseMeasureOptions): UseMeasureReturn;
|
|
27
22
|
export default useMeasure;
|
package/useMeasure.js
ADDED
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { __spreadArray } from "tslib";
|
|
2
|
+
import { useEffect, useMemo, useRef, useState } from "react";
|
|
3
|
+
import { debounce, noop } from "@koine/utils";
|
|
4
|
+
import { listenResizeDebounced, listenScrollDebounced, off, on, } from "@koine/dom";
|
|
5
|
+
var observer;
|
|
6
|
+
function findScrollContainers(element) {
|
|
7
|
+
var result = [];
|
|
8
|
+
if (!element || element === document.body)
|
|
9
|
+
return result;
|
|
10
|
+
var _a = window.getComputedStyle(element), overflow = _a.overflow, overflowX = _a.overflowX, overflowY = _a.overflowY;
|
|
11
|
+
if ([overflow, overflowX, overflowY].some(function (prop) { return prop === "auto" || prop === "scroll"; }))
|
|
12
|
+
result.push(element);
|
|
13
|
+
return __spreadArray(__spreadArray([], result, true), findScrollContainers(element.parentElement), true);
|
|
14
|
+
}
|
|
15
|
+
var keys = [
|
|
16
|
+
"x",
|
|
17
|
+
"y",
|
|
18
|
+
"top",
|
|
19
|
+
"bottom",
|
|
20
|
+
"left",
|
|
21
|
+
"right",
|
|
22
|
+
"width",
|
|
23
|
+
"height",
|
|
24
|
+
];
|
|
25
|
+
var areBoundsEqual = function (a, b) {
|
|
26
|
+
return keys.every(function (key) { return a[key] === b[key]; });
|
|
27
|
+
};
|
|
28
|
+
export function useMeasure(options) {
|
|
29
|
+
var _a = (options || {}).scroll, scroll = _a === void 0 ? false : _a;
|
|
30
|
+
var _b = useState({
|
|
31
|
+
left: 0,
|
|
32
|
+
top: 0,
|
|
33
|
+
width: 0,
|
|
34
|
+
height: 0,
|
|
35
|
+
bottom: 0,
|
|
36
|
+
right: 0,
|
|
37
|
+
x: 0,
|
|
38
|
+
y: 0,
|
|
39
|
+
}), bounds = _b[0], setBounds = _b[1];
|
|
40
|
+
var state = useRef([
|
|
41
|
+
null,
|
|
42
|
+
null,
|
|
43
|
+
null,
|
|
44
|
+
bounds,
|
|
45
|
+
]);
|
|
46
|
+
var mounted = useRef(false);
|
|
47
|
+
useEffect(function () {
|
|
48
|
+
mounted.current = true;
|
|
49
|
+
return function () { return void (mounted.current = false); };
|
|
50
|
+
}, []);
|
|
51
|
+
var _c = useMemo(function () {
|
|
52
|
+
var callback = function () {
|
|
53
|
+
var _args = [];
|
|
54
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
55
|
+
_args[_i] = arguments[_i];
|
|
56
|
+
}
|
|
57
|
+
var _a = state.current, element = _a[0], lastBounds = _a[3];
|
|
58
|
+
if (!element)
|
|
59
|
+
return;
|
|
60
|
+
var size = element.getBoundingClientRect();
|
|
61
|
+
Object.freeze(size);
|
|
62
|
+
if (mounted.current && !areBoundsEqual(lastBounds, size)) {
|
|
63
|
+
state.current[3] = size;
|
|
64
|
+
setBounds(size);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var debouncedCallback = debounce(callback);
|
|
68
|
+
return [callback, debouncedCallback, debouncedCallback];
|
|
69
|
+
}, [setBounds]), forceRefresh = _c[0], scrollChange = _c[2];
|
|
70
|
+
function removeListeners() {
|
|
71
|
+
var _a = state.current, scrollContainers = _a[1], resizeObserver = _a[2];
|
|
72
|
+
if (scrollContainers) {
|
|
73
|
+
scrollContainers.forEach(function (element) {
|
|
74
|
+
return off(element, "scroll", scrollChange);
|
|
75
|
+
});
|
|
76
|
+
state.current[1] = null;
|
|
77
|
+
}
|
|
78
|
+
if (resizeObserver) {
|
|
79
|
+
resizeObserver.disconnect();
|
|
80
|
+
state.current[2] = null;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
function addListeners() {
|
|
84
|
+
var _a = state.current, element = _a[0], scrollContainers = _a[1];
|
|
85
|
+
if (!element)
|
|
86
|
+
return;
|
|
87
|
+
if (!observer && ResizeObserver) {
|
|
88
|
+
observer = new ResizeObserver(scrollChange);
|
|
89
|
+
state.current[2] = observer;
|
|
90
|
+
observer.observe(element);
|
|
91
|
+
if (scroll && scrollContainers) {
|
|
92
|
+
scrollContainers.forEach(function (scrollContainer) {
|
|
93
|
+
return on(scrollContainer, "scroll", scrollChange, {
|
|
94
|
+
capture: true,
|
|
95
|
+
passive: true,
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
var ref = function (node) {
|
|
102
|
+
if (!node || node === state.current[0])
|
|
103
|
+
return;
|
|
104
|
+
removeListeners();
|
|
105
|
+
state.current[0] = node;
|
|
106
|
+
state.current[1] = findScrollContainers(node);
|
|
107
|
+
addListeners();
|
|
108
|
+
};
|
|
109
|
+
useEffect(function () {
|
|
110
|
+
if (scroll) {
|
|
111
|
+
var listener = listenScrollDebounced(0, forceRefresh, 100);
|
|
112
|
+
return listener;
|
|
113
|
+
}
|
|
114
|
+
return noop;
|
|
115
|
+
}, [scroll, forceRefresh]);
|
|
116
|
+
useEffect(function () {
|
|
117
|
+
var listener = listenResizeDebounced(0, forceRefresh, 100);
|
|
118
|
+
return listener;
|
|
119
|
+
}, [forceRefresh]);
|
|
120
|
+
useEffect(function () {
|
|
121
|
+
removeListeners();
|
|
122
|
+
addListeners();
|
|
123
|
+
}, [scroll]);
|
|
124
|
+
useEffect(function () {
|
|
125
|
+
forceRefresh();
|
|
126
|
+
return removeListeners;
|
|
127
|
+
}, []);
|
|
128
|
+
return [ref, bounds, forceRefresh];
|
|
129
|
+
}
|
|
130
|
+
export default useMeasure;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef } from "react";
|
|
2
|
+
export function useMountedState() {
|
|
3
|
+
var mountedRef = useRef(false);
|
|
4
|
+
var get = useCallback(function () { return mountedRef.current; }, []);
|
|
5
|
+
useEffect(function () {
|
|
6
|
+
mountedRef.current = true;
|
|
7
|
+
return function () {
|
|
8
|
+
mountedRef.current = false;
|
|
9
|
+
};
|
|
10
|
+
}, []);
|
|
11
|
+
return get;
|
|
12
|
+
}
|
|
13
|
+
export default useMountedState;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useEffect, useRef } from "react";
|
|
2
|
+
import { on } from "@koine/dom";
|
|
3
|
+
export var useNavigateAway = function (handler) {
|
|
4
|
+
var beforeUnloadHandlerRef = useRef();
|
|
5
|
+
useEffect(function () {
|
|
6
|
+
beforeUnloadHandlerRef.current = function (event) {
|
|
7
|
+
var customMessageOrCondition = handler(event);
|
|
8
|
+
if (customMessageOrCondition) {
|
|
9
|
+
event.preventDefault();
|
|
10
|
+
}
|
|
11
|
+
if (typeof customMessageOrCondition === "string") {
|
|
12
|
+
return (event.returnValue = customMessageOrCondition);
|
|
13
|
+
}
|
|
14
|
+
if (event.defaultPrevented) {
|
|
15
|
+
return (event.returnValue = "");
|
|
16
|
+
}
|
|
17
|
+
return;
|
|
18
|
+
};
|
|
19
|
+
}, [handler]);
|
|
20
|
+
useEffect(function () {
|
|
21
|
+
var listenerBeforeunload = on(window, "beforeunload", function (event) { var _a; return (_a = beforeUnloadHandlerRef.current) === null || _a === void 0 ? void 0 : _a.call(beforeUnloadHandlerRef, event); });
|
|
22
|
+
return listenerBeforeunload;
|
|
23
|
+
}, []);
|
|
24
|
+
};
|
|
25
|
+
export default useNavigateAway;
|
package/usePrevious.d.ts
ADDED
package/usePrevious.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
export function usePrevious(state, defaulValue) {
|
|
3
|
+
var _a = useState([state, defaulValue]), tuple = _a[0], setTuple = _a[1];
|
|
4
|
+
if (tuple[1] !== state) {
|
|
5
|
+
setTuple([tuple[1], state]);
|
|
6
|
+
}
|
|
7
|
+
return tuple[0];
|
|
8
|
+
}
|
|
9
|
+
export default usePrevious;
|
|
@@ -4,12 +4,5 @@ type Position = {
|
|
|
4
4
|
y: number;
|
|
5
5
|
};
|
|
6
6
|
type ElementRef = React.MutableRefObject<HTMLElement | undefined>;
|
|
7
|
-
/**
|
|
8
|
-
* @borrows [@n8tb1t/use-scroll-position@2.0.3](https://github.com/n8tb1t/use-scroll-position) by `n8tb1t <n8tb1t@gmail.com>`
|
|
9
|
-
*
|
|
10
|
-
* We've just:
|
|
11
|
-
* - reused internal helper functions
|
|
12
|
-
* - compacted object arguments in functions as plain argument list to improve compression
|
|
13
|
-
*/
|
|
14
7
|
export declare const useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, boundingElement?: ElementRef, wait?: number) => void;
|
|
15
8
|
export default useScrollPosition;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useRef } from "react";
|
|
2
|
+
import { isBrowser } from "@koine/utils";
|
|
3
|
+
import { listenScroll } from "@koine/dom";
|
|
4
|
+
import useIsomorphicLayoutEffect from "./useIsomorphicLayoutEffect.js";
|
|
5
|
+
var zeroPosition = { x: 0, y: 0 };
|
|
6
|
+
var getClientRect = function (element) {
|
|
7
|
+
return element === null || element === void 0 ? void 0 : element.getBoundingClientRect();
|
|
8
|
+
};
|
|
9
|
+
var getScrollPosition = function (element, boundingElement) {
|
|
10
|
+
if (!isBrowser) {
|
|
11
|
+
return zeroPosition;
|
|
12
|
+
}
|
|
13
|
+
if (!boundingElement) {
|
|
14
|
+
return { x: window.scrollX, y: window.scrollY };
|
|
15
|
+
}
|
|
16
|
+
var targetPosition = getClientRect((element === null || element === void 0 ? void 0 : element.current) || document.body);
|
|
17
|
+
var containerPosition = getClientRect(boundingElement.current);
|
|
18
|
+
if (!targetPosition) {
|
|
19
|
+
return zeroPosition;
|
|
20
|
+
}
|
|
21
|
+
return containerPosition
|
|
22
|
+
? {
|
|
23
|
+
x: (containerPosition.x || 0) - (targetPosition.x || 0),
|
|
24
|
+
y: (containerPosition.y || 0) - (targetPosition.y || 0),
|
|
25
|
+
}
|
|
26
|
+
: { x: targetPosition.left, y: targetPosition.top };
|
|
27
|
+
};
|
|
28
|
+
export var useScrollPosition = function (effect, deps, element, boundingElement, wait) {
|
|
29
|
+
if (deps === void 0) { deps = []; }
|
|
30
|
+
var position = useRef(getScrollPosition(null, boundingElement));
|
|
31
|
+
var throttleTimeout = null;
|
|
32
|
+
var callBack = function () {
|
|
33
|
+
var current = getScrollPosition(element, boundingElement);
|
|
34
|
+
effect(current, position.current);
|
|
35
|
+
position.current = current;
|
|
36
|
+
throttleTimeout = null;
|
|
37
|
+
};
|
|
38
|
+
useIsomorphicLayoutEffect(function () {
|
|
39
|
+
if (!isBrowser) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
var handleScroll = function () {
|
|
43
|
+
if (wait) {
|
|
44
|
+
if (throttleTimeout === null) {
|
|
45
|
+
throttleTimeout = window.setTimeout(callBack, wait);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
callBack();
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
var listener = listenScroll(handleScroll, boundingElement === null || boundingElement === void 0 ? void 0 : boundingElement.current);
|
|
53
|
+
return function () {
|
|
54
|
+
listener();
|
|
55
|
+
if (throttleTimeout) {
|
|
56
|
+
clearTimeout(throttleTimeout);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
}, deps);
|
|
60
|
+
};
|
|
61
|
+
export default useScrollPosition;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useCallback, useEffect, useState } from "react";
|
|
2
|
+
import { noop } from "@koine/utils";
|
|
3
|
+
import { listenScroll } from "@koine/dom";
|
|
4
|
+
export var useScrollThreshold = function (threshold, callback) {
|
|
5
|
+
var _a = useState(false), isBelow = _a[0], setIsBelow = _a[1];
|
|
6
|
+
var handler = useCallback(function () {
|
|
7
|
+
if (threshold) {
|
|
8
|
+
var posY = window.scrollY;
|
|
9
|
+
var isAbove = posY < threshold;
|
|
10
|
+
var isBelow_1 = posY > threshold;
|
|
11
|
+
setIsBelow(isBelow_1);
|
|
12
|
+
if (callback)
|
|
13
|
+
callback(isAbove, isBelow_1);
|
|
14
|
+
}
|
|
15
|
+
}, [threshold, callback]);
|
|
16
|
+
useEffect(function () {
|
|
17
|
+
if (threshold) {
|
|
18
|
+
var listener = listenScroll(handler);
|
|
19
|
+
handler();
|
|
20
|
+
return listener;
|
|
21
|
+
}
|
|
22
|
+
return noop;
|
|
23
|
+
}, [threshold, handler]);
|
|
24
|
+
return isBelow;
|
|
25
|
+
};
|
|
26
|
+
export default useScrollThreshold;
|
package/useScrollTo.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { isBrowser } from "@koine/utils";
|
|
2
|
+
import useHeader from "./Header/useHeader.js";
|
|
3
|
+
export function useScrollTo(id, offset) {
|
|
4
|
+
if (id === void 0) { id = ""; }
|
|
5
|
+
if (offset === void 0) { offset = 0; }
|
|
6
|
+
var _a = useHeader(), headerHeight = _a[2];
|
|
7
|
+
if (!isBrowser) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
var headerOffset = headerHeight || 0;
|
|
11
|
+
var element = document.getElementById(id);
|
|
12
|
+
var top = 0;
|
|
13
|
+
if (element && element.offsetParent) {
|
|
14
|
+
do {
|
|
15
|
+
top += element.offsetTop;
|
|
16
|
+
} while ((element = element.offsetParent));
|
|
17
|
+
}
|
|
18
|
+
top -= offset;
|
|
19
|
+
top -= headerOffset;
|
|
20
|
+
window.scroll(0, top);
|
|
21
|
+
}
|
|
22
|
+
export default useScrollTo;
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
*
|
|
3
|
-
* @param disregardAutomaticFixedOffset When the `to` scroll argument is a DOM
|
|
4
|
-
* selector we will keep into account the _fixedOffset_ despite this option.
|
|
5
|
-
* @returns
|
|
6
|
-
*/
|
|
7
1
|
export declare function useSmoothScroll(disregardAutomaticFixedOffset?: boolean): (to?: number | string, customOffset?: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
|
|
8
2
|
export default useSmoothScroll;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { useCallback } from "react";
|
|
2
|
+
import { isNumber } from "@koine/utils";
|
|
3
|
+
import { getOffsetTopSlim, scrollTo } from "@koine/dom";
|
|
4
|
+
import useFixedOffset from "./useFixedOffset.js";
|
|
5
|
+
export function useSmoothScroll(disregardAutomaticFixedOffset) {
|
|
6
|
+
var fixedOffset = useFixedOffset();
|
|
7
|
+
var scroll = useCallback(function (to, customOffset, callback, fallbackTimeout, behavior) {
|
|
8
|
+
var top = undefined;
|
|
9
|
+
var toIsElement = false;
|
|
10
|
+
if (isNumber(to)) {
|
|
11
|
+
top = to;
|
|
12
|
+
}
|
|
13
|
+
else if (to) {
|
|
14
|
+
var el = document.getElementById(to);
|
|
15
|
+
if (el) {
|
|
16
|
+
top = getOffsetTopSlim(el) - fixedOffset.current;
|
|
17
|
+
toIsElement = true;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (isNumber(top)) {
|
|
21
|
+
top =
|
|
22
|
+
top +
|
|
23
|
+
(customOffset || 0) +
|
|
24
|
+
(disregardAutomaticFixedOffset || toIsElement
|
|
25
|
+
? 0
|
|
26
|
+
: fixedOffset.current);
|
|
27
|
+
scrollTo(top, callback, fallbackTimeout, behavior);
|
|
28
|
+
}
|
|
29
|
+
}, [disregardAutomaticFixedOffset, fixedOffset]);
|
|
30
|
+
return scroll;
|
|
31
|
+
}
|
|
32
|
+
export default useSmoothScroll;
|