@koine/react 2.0.0-beta.7 → 2.0.0-beta.71
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/{Calendar → calendar}/CalendarDaygridCell.d.ts +2 -3
- package/{Calendar → calendar}/CalendarDaygridNav.d.ts +1 -1
- package/{Calendar → calendar}/CalendarDaygridTable.d.ts +2 -2
- package/{Calendar → calendar}/CalendarLegend.d.ts +1 -2
- package/calendar/calendar-api-google.d.ts +10 -0
- package/{Calendar → calendar}/types.d.ts +0 -19
- package/{Calendar → calendar}/useCalendar.d.ts +1 -16
- package/calendar/useDateLocale.d.ts +2 -0
- package/calendar/utils.d.ts +11 -0
- package/calendar.cjs.d.ts +1 -0
- package/calendar.cjs.default.js +1 -0
- package/calendar.cjs.js +62 -0
- package/calendar.cjs.mjs +2 -0
- package/calendar.d.ts +7 -0
- package/calendar.esm.js +35 -0
- package/components/FaviconTags.d.ts +8 -0
- package/components/Meta.d.ts +4 -0
- package/components/NoJs.d.ts +2 -0
- package/forms/antispam.d.ts +27 -0
- package/forms.cjs.d.ts +1 -0
- package/forms.cjs.default.js +1 -0
- package/forms.cjs.js +11 -0
- package/forms.cjs.mjs +2 -0
- package/forms.d.ts +1 -0
- package/forms.esm.js +6 -0
- package/hooks/index.d.ts +0 -1
- package/hooks/useAsyncFn.d.ts +4 -6
- package/hooks/useFirstMountState.d.ts +1 -5
- package/hooks/useFixedOffset.d.ts +1 -12
- package/hooks/useFocus.d.ts +1 -6
- package/hooks/useInterval.d.ts +1 -7
- package/hooks/useIsomorphicLayoutEffect.d.ts +2 -6
- package/hooks/useKeyUp.d.ts +1 -2
- package/hooks/useMeasure.d.ts +2 -7
- package/hooks/useMountedState.d.ts +1 -5
- package/hooks/useNavigateAway.d.ts +1 -31
- package/hooks/usePrevious.d.ts +1 -5
- package/hooks/usePreviousRef.d.ts +1 -2
- package/hooks/useReveal.d.ts +12 -0
- package/hooks/useScrollPosition.d.ts +2 -10
- package/hooks/useScrollThreshold.d.ts +1 -2
- package/hooks/useScrollTo.d.ts +1 -2
- package/hooks/useSmoothScroll.d.ts +1 -8
- package/hooks/useSpinDelay.d.ts +1 -14
- package/hooks/useTraceUpdate.d.ts +1 -5
- package/hooks/useUpdateEffect.d.ts +1 -5
- package/hooks/useWindowSize.d.ts +2 -12
- package/index.cjs.d.ts +1 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +77 -0
- package/index.cjs.mjs +2 -0
- package/index.d.ts +3 -1
- package/index.esm.js +51 -0
- package/package.json +30 -38
- package/types.d.ts +0 -8
- package/utils/Polymorphic.d.ts +26 -0
- package/utils/classed.d.ts +8 -0
- package/utils/createUseMediaQueryWidth.d.ts +6 -0
- package/{helpers/extend-component.d.ts → utils/extendComponent.d.ts} +2 -14
- package/utils/index.d.ts +5 -0
- package/utils/mergeRefs.d.ts +1 -0
- package/Alert/Alert.d.ts +0 -5
- package/Alert/Alert.js +0 -33
- package/Alert/Alert.mjs +0 -22
- package/Alert/Alert.stories.js +0 -39
- package/Alert/Alert.stories.mjs +0 -18
- package/Alert/index.d.ts +0 -1
- package/Alert/index.js +0 -6
- package/Alert/index.mjs +0 -1
- package/Animations/Reveal.d.ts +0 -4
- package/Animations/Reveal.js +0 -53
- package/Animations/Reveal.mjs +0 -43
- package/Animations/Underline.d.ts +0 -1
- package/Animations/Underline.js +0 -26
- package/Animations/Underline.mjs +0 -15
- package/Animations/index.d.ts +0 -3
- package/Animations/index.js +0 -8
- package/Animations/index.mjs +0 -3
- package/Animations/useReveal.d.ts +0 -34
- package/Animations/useReveal.js +0 -83
- package/Animations/useReveal.mjs +0 -73
- package/Autocomplete/AutocompleteDownshift.d.ts +0 -1
- package/Autocomplete/AutocompleteDownshift.js +0 -167
- package/Autocomplete/AutocompleteDownshift.mjs +0 -157
- package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +0 -1
- package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -362
- package/Autocomplete/AutocompleteDownshiftMultiselect.mjs +0 -352
- package/Autocomplete/AutocompleteMui.d.ts +0 -47
- package/Autocomplete/AutocompleteMui.js +0 -183
- package/Autocomplete/AutocompleteMui.mjs +0 -219
- package/Autocomplete/AutocompleteReach.d.ts +0 -1
- package/Autocomplete/AutocompleteReach.js +0 -121
- package/Autocomplete/AutocompleteReach.mjs +0 -111
- package/Autocomplete/components.d.ts +0 -17
- package/Autocomplete/components.js +0 -132
- package/Autocomplete/components.mjs +0 -87
- package/Autocomplete/helpers.d.ts +0 -3
- package/Autocomplete/helpers.js +0 -34
- package/Autocomplete/helpers.mjs +0 -35
- package/Autocomplete/index.d.ts +0 -2
- package/Autocomplete/index.js +0 -15
- package/Autocomplete/index.mjs +0 -4
- package/Bg/BgColor.d.ts +0 -31
- package/Bg/BgColor.js +0 -64
- package/Bg/BgColor.mjs +0 -42
- package/Bg/BgPhoto.d.ts +0 -13
- package/Bg/BgPhoto.js +0 -82
- package/Bg/BgPhoto.mjs +0 -71
- package/Bg/BgSvg.d.ts +0 -7
- package/Bg/BgSvg.js +0 -31
- package/Bg/BgSvg.mjs +0 -22
- package/Bg/index.d.ts +0 -3
- package/Bg/index.js +0 -8
- package/Bg/index.mjs +0 -3
- package/Breadcrumbs/Breadcrumbs.d.ts +0 -13
- package/Breadcrumbs/Breadcrumbs.js +0 -103
- package/Breadcrumbs/Breadcrumbs.mjs +0 -91
- package/Breadcrumbs/index.d.ts +0 -1
- package/Breadcrumbs/index.js +0 -6
- package/Breadcrumbs/index.mjs +0 -1
- package/Buttons/Button.d.ts +0 -18
- package/Buttons/Button.js +0 -106
- package/Buttons/Button.mjs +0 -78
- package/Buttons/ButtonComposite.d.ts +0 -23
- package/Buttons/ButtonComposite.js +0 -116
- package/Buttons/ButtonComposite.mjs +0 -105
- package/Buttons/ButtonFab.d.ts +0 -5
- package/Buttons/ButtonFab.js +0 -27
- package/Buttons/ButtonFab.mjs +0 -8
- package/Buttons/ButtonLink.d.ts +0 -8
- package/Buttons/ButtonLink.js +0 -29
- package/Buttons/ButtonLink.mjs +0 -18
- package/Buttons/IconButton.d.ts +0 -9
- package/Buttons/IconButton.js +0 -41
- package/Buttons/IconButton.mjs +0 -19
- package/Buttons/index.d.ts +0 -5
- package/Buttons/index.js +0 -10
- package/Buttons/index.mjs +0 -5
- package/Calendar/CalendarDaygridCell.js +0 -105
- package/Calendar/CalendarDaygridCell.mjs +0 -95
- package/Calendar/CalendarDaygridNav.js +0 -63
- package/Calendar/CalendarDaygridNav.mjs +0 -52
- package/Calendar/CalendarDaygridTable.js +0 -126
- package/Calendar/CalendarDaygridTable.mjs +0 -115
- package/Calendar/CalendarLegend.js +0 -39
- package/Calendar/CalendarLegend.mjs +0 -29
- package/Calendar/calendar-api-google.d.ts +0 -18
- package/Calendar/calendar-api-google.js +0 -110
- package/Calendar/calendar-api-google.mjs +0 -99
- package/Calendar/index.d.ts +0 -6
- package/Calendar/index.js +0 -11
- package/Calendar/index.mjs +0 -6
- package/Calendar/types.js +0 -4
- package/Calendar/types.mjs +0 -1
- package/Calendar/useCalendar.js +0 -235
- package/Calendar/useCalendar.mjs +0 -225
- package/Calendar/utils.d.ts +0 -11
- package/Calendar/utils.js +0 -252
- package/Calendar/utils.mjs +0 -209
- package/Carousel/Carousel.d.ts +0 -1
- package/Carousel/Carousel.js +0 -387
- package/Carousel/Carousel.mjs +0 -377
- package/Carousel/CarouselCss.d.ts +0 -35
- package/Carousel/CarouselCss.js +0 -64
- package/Carousel/CarouselCss.mjs +0 -44
- package/Carousel/index.d.ts +0 -1
- package/Carousel/index.js +0 -6
- package/Carousel/index.mjs +0 -1
- package/Collapsable/Collapsable.d.ts +0 -1
- package/Collapsable/Collapsable.js +0 -11
- package/Collapsable/Collapsable.mjs +0 -1
- package/Collapsable/CollapsableReach.d.ts +0 -6
- package/Collapsable/CollapsableReach.js +0 -251
- package/Collapsable/CollapsableReach.mjs +0 -250
- package/Collapsable/index.d.ts +0 -1
- package/Collapsable/index.js +0 -7
- package/Collapsable/index.mjs +0 -1
- package/Debug/Debug.d.ts +0 -4
- package/Debug/Debug.js +0 -34
- package/Debug/Debug.mjs +0 -23
- package/Debug/index.d.ts +0 -1
- package/Debug/index.js +0 -6
- package/Debug/index.mjs +0 -1
- package/Details/Details.d.ts +0 -404
- package/Details/Details.js +0 -117
- package/Details/Details.mjs +0 -90
- package/Details/Details.stories.js +0 -39
- package/Details/Details.stories.mjs +0 -21
- package/Details/index.d.ts +0 -1
- package/Details/index.js +0 -6
- package/Details/index.mjs +0 -1
- package/Dialog/DialogMui.d.ts +0 -167
- package/Dialog/DialogMui.js +0 -143
- package/Dialog/DialogMui.mjs +0 -105
- package/Dialog/DialogMui.stories.js +0 -38
- package/Dialog/DialogMui.stories.mjs +0 -20
- package/Dialog/css/bare.d.ts +0 -172
- package/Dialog/css/bare.js +0 -55
- package/Dialog/css/bare.mjs +0 -19
- package/Dialog/css/index.stories.js +0 -93
- package/Dialog/css/index.stories.mjs +0 -75
- package/Dialog/index.d.ts +0 -2
- package/Dialog/index.js +0 -11
- package/Dialog/index.mjs +0 -1
- package/Dialog/m/bare.d.ts +0 -4
- package/Dialog/m/bare.js +0 -125
- package/Dialog/m/bare.mjs +0 -115
- package/Dialog/m/basic.d.ts +0 -4
- package/Dialog/m/basic.js +0 -50
- package/Dialog/m/basic.mjs +0 -31
- package/Dialog/m/index.d.ts +0 -3
- package/Dialog/m/index.js +0 -14
- package/Dialog/m/index.mjs +0 -4
- package/Dialog/sc/bare.d.ts +0 -71
- package/Dialog/sc/bare.js +0 -83
- package/Dialog/sc/bare.mjs +0 -54
- package/Dialog/sc/framer.d.ts +0 -25
- package/Dialog/sc/framer.js +0 -26
- package/Dialog/sc/framer.mjs +0 -16
- package/Dialog/sc/framerMaterial.d.ts +0 -24
- package/Dialog/sc/framerMaterial.js +0 -26
- package/Dialog/sc/framerMaterial.mjs +0 -16
- package/Dialog/sc/index.stories.js +0 -75
- package/Dialog/sc/index.stories.mjs +0 -48
- package/Dialog/sc/material.d.ts +0 -61
- package/Dialog/sc/material.js +0 -78
- package/Dialog/sc/material.mjs +0 -41
- package/Dialog/tw/bare.d.ts +0 -223
- package/Dialog/tw/bare.js +0 -55
- package/Dialog/tw/bare.mjs +0 -29
- package/Dialog/tw/elegant.d.ts +0 -271
- package/Dialog/tw/elegant.js +0 -54
- package/Dialog/tw/elegant.mjs +0 -18
- package/Dialog/tw/framer.d.ts +0 -109
- package/Dialog/tw/framer.js +0 -26
- package/Dialog/tw/framer.mjs +0 -16
- package/Dialog/tw/framerMaterial.d.ts +0 -164
- package/Dialog/tw/framerMaterial.js +0 -26
- package/Dialog/tw/framerMaterial.mjs +0 -16
- package/Dialog/tw/index.stories.js +0 -113
- package/Dialog/tw/index.stories.mjs +0 -83
- package/Dialog/tw/material.d.ts +0 -271
- package/Dialog/tw/material.js +0 -54
- package/Dialog/tw/material.mjs +0 -18
- package/Editor/Editor--tiptap.d.ts +0 -9
- package/Editor/Editor--tiptap.js +0 -72
- package/Editor/Editor--tiptap.mjs +0 -53
- package/Editor/components.d.ts +0 -5
- package/Editor/components.js +0 -59
- package/Editor/components.mjs +0 -28
- package/Editor/index.d.ts +0 -1
- package/Editor/index.js +0 -6
- package/Editor/index.mjs +0 -1
- package/FaviconTags.d.ts +0 -19
- package/FaviconTags.js +0 -73
- package/FaviconTags.mjs +0 -64
- package/Form/Form.d.ts +0 -138
- package/Form/Form.js +0 -130
- package/Form/Form.mjs +0 -95
- package/Form/index.d.ts +0 -1
- package/Form/index.js +0 -6
- package/Form/index.mjs +0 -1
- package/Form/sc/bare.d.ts +0 -58
- package/Form/sc/bare.js +0 -55
- package/Form/sc/bare.mjs +0 -29
- package/Forms/Checkbox/Checkbox.d.ts +0 -11
- package/Forms/Checkbox/Checkbox.js +0 -62
- package/Forms/Checkbox/Checkbox.mjs +0 -36
- package/Forms/Checkbox/index.d.ts +0 -1
- package/Forms/Checkbox/index.js +0 -6
- package/Forms/Checkbox/index.mjs +0 -1
- package/Forms/Feedback/Feedback.d.ts +0 -5
- package/Forms/Feedback/Feedback.js +0 -25
- package/Forms/Feedback/Feedback.mjs +0 -14
- package/Forms/Feedback/index.d.ts +0 -1
- package/Forms/Feedback/index.js +0 -6
- package/Forms/Feedback/index.mjs +0 -1
- package/Forms/Field/Field.d.ts +0 -36
- package/Forms/Field/Field.js +0 -75
- package/Forms/Field/Field.mjs +0 -50
- package/Forms/Field/FieldControl.d.ts +0 -26
- package/Forms/Field/FieldControl.js +0 -69
- package/Forms/Field/FieldControl.mjs +0 -67
- package/Forms/Field/FieldHint.d.ts +0 -1
- package/Forms/Field/FieldHint.js +0 -17
- package/Forms/Field/FieldHint.mjs +0 -6
- package/Forms/Field/index.d.ts +0 -2
- package/Forms/Field/index.js +0 -7
- package/Forms/Field/index.mjs +0 -2
- package/Forms/Input/Input.d.ts +0 -9
- package/Forms/Input/Input.js +0 -67
- package/Forms/Input/Input.mjs +0 -36
- package/Forms/Input/index.d.ts +0 -1
- package/Forms/Input/index.js +0 -6
- package/Forms/Input/index.mjs +0 -1
- package/Forms/InputGroup/InputGroup.d.ts +0 -13
- package/Forms/InputGroup/InputGroup.js +0 -85
- package/Forms/InputGroup/InputGroup.mjs +0 -57
- package/Forms/InputGroup/index.d.ts +0 -1
- package/Forms/InputGroup/index.js +0 -6
- package/Forms/InputGroup/index.mjs +0 -1
- package/Forms/Label/Label.d.ts +0 -3
- package/Forms/Label/Label.js +0 -46
- package/Forms/Label/Label.mjs +0 -24
- package/Forms/Label/index.d.ts +0 -1
- package/Forms/Label/index.js +0 -6
- package/Forms/Label/index.mjs +0 -1
- package/Forms/Password/Password.d.ts +0 -5
- package/Forms/Password/Password.js +0 -72
- package/Forms/Password/Password.mjs +0 -53
- package/Forms/Password/index.d.ts +0 -1
- package/Forms/Password/index.js +0 -6
- package/Forms/Password/index.mjs +0 -1
- package/Forms/Radio/Radio.d.ts +0 -12
- package/Forms/Radio/Radio.js +0 -68
- package/Forms/Radio/Radio.mjs +0 -57
- package/Forms/Radio/index.d.ts +0 -1
- package/Forms/Radio/index.js +0 -6
- package/Forms/Radio/index.mjs +0 -1
- package/Forms/Switch/Switch.d.ts +0 -9
- package/Forms/Switch/Switch.js +0 -80
- package/Forms/Switch/Switch.mjs +0 -60
- package/Forms/Switch/index.d.ts +0 -1
- package/Forms/Switch/index.js +0 -6
- package/Forms/Switch/index.mjs +0 -1
- package/Forms/Textarea/Textarea.d.ts +0 -5
- package/Forms/Textarea/Textarea.js +0 -45
- package/Forms/Textarea/Textarea.mjs +0 -26
- package/Forms/Textarea/TextareaRich.d.ts +0 -6
- package/Forms/Textarea/TextareaRich.js +0 -58
- package/Forms/Textarea/TextareaRich.mjs +0 -48
- package/Forms/Textarea/index.d.ts +0 -2
- package/Forms/Textarea/index.js +0 -7
- package/Forms/Textarea/index.mjs +0 -2
- package/Forms/Toggle/Toggle-tailwind.d.ts +0 -0
- package/Forms/Toggle/Toggle-tailwind.js +0 -99
- package/Forms/Toggle/Toggle-tailwind.mjs +0 -98
- package/Forms/Toggle/Toggle.d.ts +0 -19
- package/Forms/Toggle/Toggle.js +0 -175
- package/Forms/Toggle/Toggle.mjs +0 -123
- package/Forms/Toggle/index.d.ts +0 -1
- package/Forms/Toggle/index.js +0 -6
- package/Forms/Toggle/index.mjs +0 -1
- package/Forms/Toggle/useToggle-tailwind.d.ts +0 -0
- package/Forms/Toggle/useToggle-tailwind.js +0 -202
- package/Forms/Toggle/useToggle-tailwind.mjs +0 -201
- package/Forms/Toggle/useToggle.d.ts +0 -46
- package/Forms/Toggle/useToggle.js +0 -145
- package/Forms/Toggle/useToggle.mjs +0 -163
- package/Forms/antispam.d.ts +0 -47
- package/Forms/antispam.js +0 -59
- package/Forms/antispam.mjs +0 -58
- package/Forms/helpers.d.ts +0 -26
- package/Forms/helpers.js +0 -72
- package/Forms/helpers.mjs +0 -52
- package/Forms/index.d.ts +0 -15
- package/Forms/index.js +0 -19
- package/Forms/index.mjs +0 -16
- package/Forms/styles.d.ts +0 -15
- package/Forms/styles.js +0 -94
- package/Forms/styles.mjs +0 -61
- package/Gauge/Gauge.d.ts +0 -5
- package/Gauge/Gauge.js +0 -111
- package/Gauge/Gauge.mjs +0 -101
- package/Grid/Grid.d.ts +0 -41
- package/Grid/Grid.js +0 -106
- package/Grid/Grid.mjs +0 -75
- package/Grid/index.d.ts +0 -1
- package/Grid/index.js +0 -6
- package/Grid/index.mjs +0 -1
- package/Hamburger/Hamburger.d.ts +0 -6
- package/Hamburger/Hamburger.js +0 -90
- package/Hamburger/Hamburger.mjs +0 -79
- package/Hamburger/index.d.ts +0 -1
- package/Hamburger/index.js +0 -6
- package/Hamburger/index.mjs +0 -1
- package/Header/index.d.ts +0 -1
- package/Header/index.js +0 -6
- package/Header/index.mjs +0 -1
- package/Header/useHeader.d.ts +0 -24
- package/Header/useHeader.js +0 -54
- package/Header/useHeader.mjs +0 -36
- package/Hidden/Hidden.d.ts +0 -6
- package/Hidden/Hidden.js +0 -21
- package/Hidden/Hidden.mjs +0 -10
- package/Hidden/index.d.ts +0 -1
- package/Hidden/index.js +0 -6
- package/Hidden/index.mjs +0 -1
- package/Img/index.d.ts +0 -1
- package/Img/index.js +0 -6
- package/Img/index.mjs +0 -1
- package/Img/sc/bare.d.ts +0 -2
- package/Img/sc/bare.js +0 -43
- package/Img/sc/bare.mjs +0 -36
- package/Img/types.d.ts +0 -9
- package/Img/types.js +0 -6
- package/Img/types.mjs +0 -1
- package/Link/Link.d.ts +0 -3
- package/Link/Link.js +0 -13
- package/Link/Link.mjs +0 -2
- package/Link/LinkBlank.d.ts +0 -5
- package/Link/LinkBlank.js +0 -52
- package/Link/LinkBlank.mjs +0 -32
- package/Link/index.d.ts +0 -2
- package/Link/index.js +0 -7
- package/Link/index.mjs +0 -2
- package/Menu/Menu.d.ts +0 -1
- package/Menu/Menu.js +0 -22
- package/Menu/Menu.mjs +0 -11
- package/Menu/MenuMui.d.ts +0 -0
- package/Menu/MenuMui.js +0 -165
- package/Menu/MenuMui.mjs +0 -164
- package/Menu/index.d.ts +0 -1
- package/Menu/index.js +0 -6
- package/Menu/index.mjs +0 -1
- package/MenuItem/MenuItem.d.ts +0 -1
- package/MenuItem/MenuItem.js +0 -31
- package/MenuItem/MenuItem.mjs +0 -20
- package/MenuItem/MenuItemMui.d.ts +0 -0
- package/MenuItem/MenuItemMui.js +0 -32
- package/MenuItem/MenuItemMui.mjs +0 -31
- package/MenuItem/index.d.ts +0 -1
- package/MenuItem/index.js +0 -6
- package/MenuItem/index.mjs +0 -1
- package/MenuItem/useMenuItem.d.ts +0 -9
- package/MenuItem/useMenuItem.js +0 -96
- package/MenuItem/useMenuItem.mjs +0 -78
- package/Meta/Meta.d.ts +0 -15
- package/Meta/Meta.js +0 -26
- package/Meta/Meta.mjs +0 -8
- package/Meta/index.d.ts +0 -2
- package/Meta/index.js +0 -12
- package/Meta/index.mjs +0 -2
- package/NoJs/NoJs.d.ts +0 -3
- package/NoJs/NoJs.js +0 -28
- package/NoJs/NoJs.mjs +0 -10
- package/NoJs/index.d.ts +0 -2
- package/NoJs/index.js +0 -12
- package/NoJs/index.mjs +0 -2
- package/Pagination/PaginationNav.d.ts +0 -22
- package/Pagination/PaginationNav.js +0 -126
- package/Pagination/PaginationNav.mjs +0 -122
- package/Pagination/PaginationResults.d.ts +0 -3
- package/Pagination/PaginationResults.js +0 -45
- package/Pagination/PaginationResults.mjs +0 -34
- package/Pagination/index.d.ts +0 -2
- package/Pagination/index.js +0 -7
- package/Pagination/index.mjs +0 -2
- package/Pill/Pill.d.ts +0 -5
- package/Pill/Pill.js +0 -62
- package/Pill/Pill.mjs +0 -37
- package/Pill/index.d.ts +0 -1
- package/Pill/index.js +0 -6
- package/Pill/index.mjs +0 -1
- package/Progress/ProgressCircular.d.ts +0 -19
- package/Progress/ProgressCircular.js +0 -62
- package/Progress/ProgressCircular.mjs +0 -53
- package/Progress/ProgressLinear.d.ts +0 -22
- package/Progress/ProgressLinear.js +0 -53
- package/Progress/ProgressLinear.mjs +0 -44
- package/Progress/ProgressOverlay.d.ts +0 -4
- package/Progress/ProgressOverlay.js +0 -75
- package/Progress/ProgressOverlay.mjs +0 -64
- package/Progress/index.d.ts +0 -3
- package/Progress/index.js +0 -8
- package/Progress/index.mjs +0 -3
- package/Rating/Rating.d.ts +0 -35
- package/Rating/Rating.js +0 -188
- package/Rating/Rating.mjs +0 -154
- package/Rating/index.d.ts +0 -11
- package/Rating/index.js +0 -85
- package/Rating/index.mjs +0 -62
- package/Select/SelectDownshift.d.ts +0 -5
- package/Select/SelectDownshift.js +0 -47
- package/Select/SelectDownshift.mjs +0 -37
- package/Select/components.d.ts +0 -6
- package/Select/components.js +0 -44
- package/Select/components.mjs +0 -25
- package/Select/index.d.ts +0 -2
- package/Select/index.js +0 -13
- package/Select/index.mjs +0 -2
- package/Sidebar/Sidebar.d.ts +0 -3
- package/Sidebar/Sidebar.js +0 -74
- package/Sidebar/Sidebar.mjs +0 -63
- package/Sidebar/index.d.ts +0 -1
- package/Sidebar/index.js +0 -6
- package/Sidebar/index.mjs +0 -1
- package/Spacing/Spacing.d.ts +0 -30
- package/Spacing/Spacing.js +0 -55
- package/Spacing/Spacing.mjs +0 -55
- package/Spacing/index.d.ts +0 -1
- package/Spacing/index.js +0 -6
- package/Spacing/index.mjs +0 -1
- package/Sticky/Sticky.d.ts +0 -2
- package/Sticky/Sticky.js +0 -228
- package/Sticky/Sticky.mjs +0 -218
- package/Sticky/StickyCss.d.ts +0 -5
- package/Sticky/StickyCss.js +0 -20
- package/Sticky/StickyCss.mjs +0 -10
- package/Sticky/index.d.ts +0 -1
- package/Sticky/index.js +0 -19
- package/Sticky/index.mjs +0 -1
- package/Tabs/TabsMui.d.ts +0 -85
- package/Tabs/TabsMui.js +0 -91
- package/Tabs/TabsMui.mjs +0 -61
- package/Tabs/TabsMui.stories.js +0 -38
- package/Tabs/TabsMui.stories.mjs +0 -20
- package/Tabs/index.d.ts +0 -1
- package/Tabs/index.js +0 -6
- package/Tabs/index.mjs +0 -1
- package/Tabs/sc/bare.d.ts +0 -5
- package/Tabs/sc/bare.js +0 -86
- package/Tabs/sc/bare.mjs +0 -85
- package/Tabs/sc/index.stories.js +0 -1
- package/Tabs/sc/index.stories.mjs +0 -0
- package/Tabs/tw/bare.d.ts +0 -86
- package/Tabs/tw/bare.js +0 -45
- package/Tabs/tw/bare.mjs +0 -15
- package/Tabs/tw/index.stories.js +0 -46
- package/Tabs/tw/index.stories.mjs +0 -25
- package/Tabs/tw/material.d.ts +0 -119
- package/Tabs/tw/material.js +0 -44
- package/Tabs/tw/material.mjs +0 -14
- package/Tabs/useTabs.d.ts +0 -43
- package/Tabs/useTabs.js +0 -66
- package/Tabs/useTabs.mjs +0 -46
- package/Typography/CopyPasteVisible.d.ts +0 -1
- package/Typography/CopyPasteVisible.js +0 -17
- package/Typography/CopyPasteVisible.mjs +0 -6
- package/Typography/Native.d.ts +0 -10
- package/Typography/Native.js +0 -90
- package/Typography/Native.mjs +0 -47
- package/Typography/ReadMore.d.ts +0 -12
- package/Typography/ReadMore.js +0 -125
- package/Typography/ReadMore.mjs +0 -114
- package/Typography/TextLoop.d.ts +0 -16
- package/Typography/TextLoop.js +0 -108
- package/Typography/TextLoop.mjs +0 -90
- package/Typography/TypeStairs.d.ts +0 -6
- package/Typography/TypeStairs.js +0 -71
- package/Typography/TypeStairs.mjs +0 -61
- package/Typography/index.d.ts +0 -5
- package/Typography/index.js +0 -10
- package/Typography/index.mjs +0 -5
- package/css/index.d.ts +0 -2
- package/css/index.js +0 -33
- package/css/index.mjs +0 -30
- package/helpers/classed.d.ts +0 -27
- package/helpers/classed.js +0 -66
- package/helpers/classed.mjs +0 -65
- package/helpers/classed.stories.js +0 -140
- package/helpers/classed.stories.mjs +0 -121
- package/helpers/createUseMediaQueryWidth.d.ts +0 -12
- package/helpers/createUseMediaQueryWidth.js +0 -193
- package/helpers/createUseMediaQueryWidth.mjs +0 -178
- package/helpers/extend-component.js +0 -32
- package/helpers/extend-component.mjs +0 -13
- package/helpers/index.d.ts +0 -4
- package/helpers/index.js +0 -9
- package/helpers/index.mjs +0 -4
- package/helpers/mergeRefs.d.ts +0 -3
- package/helpers/mergeRefs.js +0 -30
- package/helpers/mergeRefs.mjs +0 -12
- package/hooks/index.js +0 -92
- package/hooks/index.mjs +0 -21
- package/hooks/types.d.ts +0 -8
- package/hooks/types.js +0 -6
- package/hooks/types.mjs +0 -3
- package/hooks/useAsyncFn.js +0 -56
- package/hooks/useAsyncFn.mjs +0 -39
- package/hooks/useDateLocale.d.ts +0 -8
- package/hooks/useDateLocale.js +0 -51
- package/hooks/useDateLocale.mjs +0 -37
- package/hooks/useFirstMountState.js +0 -28
- package/hooks/useFirstMountState.mjs +0 -12
- package/hooks/useFixedOffset.js +0 -67
- package/hooks/useFixedOffset.mjs +0 -56
- package/hooks/useFocus.js +0 -30
- package/hooks/useFocus.mjs +0 -14
- package/hooks/useInterval.js +0 -44
- package/hooks/useInterval.mjs +0 -29
- package/hooks/useIsomorphicLayoutEffect.js +0 -23
- package/hooks/useIsomorphicLayoutEffect.mjs +0 -6
- package/hooks/useKeyUp.js +0 -40
- package/hooks/useKeyUp.mjs +0 -21
- package/hooks/useMeasure.js +0 -189
- package/hooks/useMeasure.mjs +0 -174
- package/hooks/useMountedState.js +0 -31
- package/hooks/useMountedState.mjs +0 -15
- package/hooks/useNavigateAway.js +0 -69
- package/hooks/useNavigateAway.mjs +0 -69
- package/hooks/usePrevious.js +0 -33
- package/hooks/usePrevious.mjs +0 -17
- package/hooks/usePreviousRef.js +0 -27
- package/hooks/usePreviousRef.mjs +0 -9
- package/hooks/useScrollPosition.js +0 -83
- package/hooks/useScrollPosition.mjs +0 -70
- package/hooks/useScrollThreshold.js +0 -52
- package/hooks/useScrollThreshold.mjs +0 -33
- package/hooks/useScrollTo.js +0 -39
- package/hooks/useScrollTo.mjs +0 -20
- package/hooks/useSmoothScroll.js +0 -49
- package/hooks/useSmoothScroll.mjs +0 -35
- package/hooks/useSpinDelay.js +0 -59
- package/hooks/useSpinDelay.mjs +0 -52
- package/hooks/useTraceUpdate.js +0 -39
- package/hooks/useTraceUpdate.mjs +0 -23
- package/hooks/useUpdateEffect.js +0 -30
- package/hooks/useUpdateEffect.mjs +0 -14
- package/hooks/useWindowSize.js +0 -43
- package/hooks/useWindowSize.mjs +0 -32
- package/index.js +0 -10
- package/index.mjs +0 -4
- package/m/MotionProvider.d.ts +0 -38
- package/m/MotionProvider.js +0 -27
- package/m/MotionProvider.mjs +0 -40
- package/m/index.d.ts +0 -6
- package/m/index.js +0 -10
- package/m/index.mjs +0 -5
- package/m/lite.d.ts +0 -2
- package/m/lite.js +0 -12
- package/m/lite.mjs +0 -2
- package/m/max.d.ts +0 -2
- package/m/max.js +0 -12
- package/m/max.mjs +0 -2
- package/sc/index.d.ts +0 -30
- package/sc/index.js +0 -49
- package/sc/index.mjs +0 -31
- package/scm/index.d.ts +0 -29
- package/scm/index.js +0 -40
- package/scm/index.mjs +0 -31
- package/shared/index.d.ts +0 -8
- package/shared/index.js +0 -13
- package/shared/index.mjs +0 -43
- package/styles/Body.d.ts +0 -10
- package/styles/Body.js +0 -28
- package/styles/Body.mjs +0 -16
- package/styles/Global.d.ts +0 -15
- package/styles/Global.js +0 -55
- package/styles/Global.mjs +0 -49
- package/styles/index.d.ts +0 -7
- package/styles/index.js +0 -142
- package/styles/index.mjs +0 -7
- package/styles/media.d.ts +0 -67
- package/styles/media.js +0 -139
- package/styles/media.mjs +0 -151
- package/styles/spacing.d.ts +0 -13
- package/styles/spacing.js +0 -70
- package/styles/spacing.mjs +0 -46
- package/styles/styled.d.ts +0 -12
- package/styles/styled.js +0 -58
- package/styles/styled.mjs +0 -26
- package/styles/theme--vanilla.d.ts +0 -17
- package/styles/theme--vanilla.js +0 -82
- package/styles/theme--vanilla.mjs +0 -65
- package/styles/theme.d.ts +0 -82
- package/styles/theme.js +0 -49
- package/styles/theme.mjs +0 -38
- package/tw/index.d.ts +0 -2
- package/tw/index.js +0 -33
- package/tw/index.mjs +0 -30
- package/twm/index.d.ts +0 -2
- package/twm/index.js +0 -33
- package/twm/index.mjs +0 -30
- package/types.js +0 -4
- package/types.mjs +0 -1
- package/typings.d.ts +0 -99
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
3
2
|
import type { CalendarView, CalendarViewDayProps, CalendarViewEvent, CalendarsMap } from "./types";
|
|
4
|
-
import { UseCalendarReturn } from "./useCalendar";
|
|
3
|
+
import type { UseCalendarReturn } from "./useCalendar";
|
|
5
4
|
export type KoineCalendarDaygridCellProps = {
|
|
6
5
|
eventClicked?: UseCalendarReturn["eventClicked"];
|
|
7
6
|
setEventClicked: UseCalendarReturn["setEventClicked"];
|
|
@@ -33,4 +32,4 @@ export type CalendarDaygridCellComponents = {
|
|
|
33
32
|
CellEventStart?: KoineComponent;
|
|
34
33
|
};
|
|
35
34
|
export type CalendarDaygridCellProps = KoineComponentProps<KoineCalendarDaygridCellProps, CalendarDaygridCellComponents>;
|
|
36
|
-
export declare
|
|
35
|
+
export declare let CalendarDaygridCell: ({ eventClicked, setEventClicked, setEventHovered, view, maxEvents, events, calendarsMap, Cell, CellOverflow, CellEvent, CellEventBtn, CellEventTitle, CellEventStart, }: CalendarDaygridCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -24,4 +24,4 @@ export type CalendarDaygridNavProps = KoineComponentProps<KoineCalendarDaygridNa
|
|
|
24
24
|
NavBtnViewMonth?: KoineComponent;
|
|
25
25
|
NavBtnViewWeek?: KoineComponent;
|
|
26
26
|
}>;
|
|
27
|
-
export declare
|
|
27
|
+
export declare let KoineCalendarDaygridNav: ({ range, view, todayInView, handlePrev, handleNext, handleToday, handleView, locale: localeCode, NavRoot, NavTitle, NavBtns, NavBtnPrev, NavBtnNext, NavBtnToday, NavBtnViewMonth, NavBtnViewWeek, }: CalendarDaygridNavProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
-
import { CalendarDaygridCellComponents, CalendarDaygridCellProps } from "./CalendarDaygridCell";
|
|
2
|
+
import { type CalendarDaygridCellComponents, type CalendarDaygridCellProps } from "./CalendarDaygridCell";
|
|
3
3
|
import type { CalendarEventsMap, CalendarRange, CalendarView, CalendarViewDayProps } from "./types";
|
|
4
4
|
export type CalendarDaygridTableBodyCellProps = CalendarViewDayProps;
|
|
5
5
|
export type CalendarDaygridTableBodyCellDateProps = CalendarViewDayProps;
|
|
@@ -22,4 +22,4 @@ export type CalendarDaygridTableProps = KoineComponentProps<KoineCalendarDaygrid
|
|
|
22
22
|
TableBodyCellDate?: KoineComponent<CalendarDaygridTableBodyCellDateProps>;
|
|
23
23
|
TableBodyRow?: KoineComponent;
|
|
24
24
|
} & CalendarDaygridCellComponents>;
|
|
25
|
-
export declare
|
|
25
|
+
export declare let KoineCalendarDaygridTable: ({ locale: localeCode, handlePrev, handleNext, events, dayLabels, view, range, eventClicked, setEventClicked, eventHovered, setEventHovered, calendarsMap, maxEvents, Table, TableHead, TableHeadCell, TableBody, TableBodyRow, TableBodyCell, TableBodyCellDate, Cell, CellOverflow, CellEvent, CellEventBtn, CellEventTitle, CellEventStart, }: CalendarDaygridTableProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
3
2
|
import type { CalendarsMap } from "./types";
|
|
4
3
|
export type KoineCalendarLegendProps = {
|
|
@@ -16,4 +15,4 @@ export type CalendarLegendProps = KoineComponentProps<KoineCalendarLegendProps,
|
|
|
16
15
|
LegendItemLabel?: KoineComponent;
|
|
17
16
|
LegendItemEvents?: KoineComponent;
|
|
18
17
|
}>;
|
|
19
|
-
export declare
|
|
18
|
+
export declare let KoineCalendarLegend: ({ calendarsMap, toggleCalendarVisibility, LegendItem, LegendItemStatus, LegendItemLabel, LegendItemEvents, }: CalendarLegendProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CalendarEventsMap, Calendars } from "./types";
|
|
2
|
+
type GetCalendarsEventsFromGoogleOptions = {
|
|
3
|
+
apiKey?: string;
|
|
4
|
+
start: Date;
|
|
5
|
+
end: Date;
|
|
6
|
+
timeZone?: string;
|
|
7
|
+
calendars: Calendars;
|
|
8
|
+
};
|
|
9
|
+
export declare let getCalendarsEventsFromGoogle: ({ calendars, ...options }: GetCalendarsEventsFromGoogleOptions) => Promise<CalendarEventsMap>;
|
|
10
|
+
export {};
|
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
export type Calendar = {
|
|
2
2
|
id: string;
|
|
3
3
|
color: string;
|
|
4
|
-
/**
|
|
5
|
-
* If not defined the name is gathered from the remote calendar response,
|
|
6
|
-
* for google calendars that comes from the `summary` value.
|
|
7
|
-
*/
|
|
8
4
|
name?: string;
|
|
9
5
|
};
|
|
10
6
|
export type Calendars = Calendar[];
|
|
@@ -16,17 +12,8 @@ export type CalendarRange = [Date, Date];
|
|
|
16
12
|
export type CalendarView = "month" | "week";
|
|
17
13
|
export type CalendarEvent = {
|
|
18
14
|
calendar: Calendar;
|
|
19
|
-
/**
|
|
20
|
-
* List of day timestamps across which the event spans
|
|
21
|
-
*/
|
|
22
15
|
days: number[];
|
|
23
|
-
/**
|
|
24
|
-
* Lookup object for day timestamps across which the event spans
|
|
25
|
-
*/
|
|
26
16
|
daysMap: Record<number, 1>;
|
|
27
|
-
/**
|
|
28
|
-
* Flag for events that spans across multiple days
|
|
29
|
-
*/
|
|
30
17
|
multi: boolean;
|
|
31
18
|
allDay: boolean;
|
|
32
19
|
link: string;
|
|
@@ -40,13 +27,7 @@ export type CalendarEvent = {
|
|
|
40
27
|
description: string;
|
|
41
28
|
uid: string;
|
|
42
29
|
};
|
|
43
|
-
/**
|
|
44
|
-
* Calendar events mapped by day `timestamp` number
|
|
45
|
-
*/
|
|
46
30
|
export type CalendarEventsByTimestamp = Record<number, CalendarEventsMap>;
|
|
47
|
-
/**
|
|
48
|
-
* Calendar events map by `uid`
|
|
49
|
-
*/
|
|
50
31
|
export type CalendarEventsMap = Record<CalendarEvent["uid"], CalendarEvent>;
|
|
51
32
|
export type CalendarViewWeeks = CalendarViewWeek[];
|
|
52
33
|
export type CalendarViewWeek = {
|
|
@@ -1,30 +1,15 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { KoineCalendarDaygridNavProps } from "./CalendarDaygridNav";
|
|
3
2
|
import type { KoineCalendarDaygridTableProps } from "./CalendarDaygridTable";
|
|
4
3
|
import type { KoineCalendarLegendProps } from "./CalendarLegend";
|
|
5
4
|
import type { CalendarEvent, CalendarEventsMap, CalendarView, Calendars } from "./types";
|
|
6
5
|
export type UseCalendarProps = {
|
|
7
|
-
/** The locale to format with `date-fns` */
|
|
8
6
|
locale: string;
|
|
9
|
-
/** Calendars infos to use */
|
|
10
7
|
calendars: Calendars;
|
|
11
|
-
/** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY */
|
|
12
8
|
apiKey?: string;
|
|
13
|
-
/** The key is the event `uid` */
|
|
14
9
|
events?: CalendarEventsMap;
|
|
15
|
-
/** It defaults to the first of the current month */
|
|
16
10
|
start?: Date;
|
|
17
|
-
/** It defaults to the last day of the current month */
|
|
18
11
|
end?: Date;
|
|
19
|
-
/**
|
|
20
|
-
* The calendar view
|
|
21
|
-
* @default "month"
|
|
22
|
-
*/
|
|
23
12
|
view?: CalendarView;
|
|
24
|
-
/**
|
|
25
|
-
* The default is the time zone of the calendar
|
|
26
|
-
* @see https://developers.google.com/calendar/api/v3/reference/events/list
|
|
27
|
-
*/
|
|
28
13
|
timeZone?: string;
|
|
29
14
|
onError?: (e: any) => void;
|
|
30
15
|
};
|
|
@@ -38,7 +23,7 @@ export type CalendarsUpdateActionVisibility = {
|
|
|
38
23
|
payload: string | string[];
|
|
39
24
|
};
|
|
40
25
|
export type CalendarsUpdateAction = CalendarsUpdateActionEvents | CalendarsUpdateActionVisibility;
|
|
41
|
-
export declare
|
|
26
|
+
export declare let useCalendar: ({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView, timeZone, onError, }: UseCalendarProps) => {
|
|
42
27
|
view: "month" | "week";
|
|
43
28
|
eventClicked: CalendarEvent | null;
|
|
44
29
|
setEventClicked: import("react").Dispatch<import("react").SetStateAction<CalendarEvent | null>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CalendarEventsMap, CalendarView, CalendarViewWeeks } from "./types";
|
|
2
|
+
export declare let getEventTimestamp: (dateLike: number | Date | string) => number;
|
|
3
|
+
export declare let getDisplayTime: (date: Date) => string;
|
|
4
|
+
export declare let getStartDate: (date: Date, view: CalendarView) => Date;
|
|
5
|
+
export declare let getEndDate: (start: Date, view: CalendarView) => Date;
|
|
6
|
+
export declare let getPrevDate: (date: Date, view: CalendarView) => Date;
|
|
7
|
+
export declare let getNextDate: (date: Date, view: CalendarView) => Date;
|
|
8
|
+
export declare let isTodayInView: (start: Date, end: Date) => boolean;
|
|
9
|
+
export declare let mergeCalendarEvents: (first: CalendarEventsMap, second: CalendarEventsMap) => CalendarEventsMap;
|
|
10
|
+
export declare let addCalendarEvents: (toAdd: CalendarEventsMap, toExtend: CalendarEventsMap) => CalendarEventsMap;
|
|
11
|
+
export declare let processEventsInView: (eventsMap: CalendarEventsMap, calendarView: CalendarView, month: number, weeks: Date[]) => CalendarViewWeeks;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./calendar";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./calendar.cjs.js').default;
|
package/calendar.cjs.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var react = require('react');
|
|
7
|
+
var addDays = require('date-fns/addDays');
|
|
8
|
+
var addMonths = require('date-fns/addMonths');
|
|
9
|
+
var addWeeks = require('date-fns/addWeeks');
|
|
10
|
+
var endOfMonth = require('date-fns/endOfMonth');
|
|
11
|
+
var endOfWeek = require('date-fns/endOfWeek');
|
|
12
|
+
var isWithinInterval = require('date-fns/isWithinInterval');
|
|
13
|
+
var startOfWeek = require('date-fns/startOfWeek');
|
|
14
|
+
var subMonths = require('date-fns/subMonths');
|
|
15
|
+
var subWeeks = require('date-fns/subWeeks');
|
|
16
|
+
var format = require('date-fns/format');
|
|
17
|
+
var eachWeekOfInterval = require('date-fns/eachWeekOfInterval');
|
|
18
|
+
var reactSwipeable = require('react-swipeable');
|
|
19
|
+
var differenceInDays = require('date-fns/differenceInDays');
|
|
20
|
+
var subDays = require('date-fns/subDays');
|
|
21
|
+
var utils = require('@koine/utils');
|
|
22
|
+
|
|
23
|
+
function _interopNamespace(e) {
|
|
24
|
+
if (e && e.__esModule) return e;
|
|
25
|
+
var n = Object.create(null);
|
|
26
|
+
if (e) {
|
|
27
|
+
Object.keys(e).forEach(function (k) {
|
|
28
|
+
if (k !== 'default') {
|
|
29
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
30
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () { return e[k]; }
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
n["default"] = e;
|
|
38
|
+
return Object.freeze(n);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
let getEventTimestamp=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.valueOf()/1e3};let getDisplayTime=e=>e.getHours()+":"+"0".repeat(2-e.getMinutes().toString().length)+e.getMinutes();let getStartDate=(e,t)=>(e.setHours(0,0,0),"month"===t?e.setDate(1):"week"===t&&(e=startOfWeek.startOfWeek(e,{weekStartsOn:1})),e);let getEndDate=(e,t)=>{let r=e;return "month"===t?r=endOfMonth.endOfMonth(e):"week"===t&&(r=endOfWeek.endOfWeek(e,{weekStartsOn:1})),r.setHours(23,59,59),r};let getPrevDate=(e,t)=>"month"===t?subMonths.subMonths(e,1):subWeeks.subWeeks(e,1);let getNextDate=(e,a)=>"month"===a?addMonths.addMonths(e,1):addWeeks.addWeeks(e,1);let isTodayInView=(e,t)=>isWithinInterval.isWithinInterval(new Date,{start:e,end:t});let addCalendarEvents=(e,t)=>{for(let r in e){let a=e[r];t[r]=a;}return t};let i=e=>{let t={};for(let r in e){let a=e[r];a.days.forEach(e=>{t[e]=t[e]||{},t[e][r]=a;});}return t},d$1=e=>{let t=[];for(let r in e)t.push(e[r]);return t.sort((e,t)=>{let r=Number(t.multi)-Number(e.multi),a=Number(t.allDay)-Number(e.allDay),n=e.start.getTime()-t.start.getTime(),s=e.created.getTime()-t.created.getTime();return r||a||n||s}),t};let processEventsInView=(t,r,a,n)=>{let s=i(t),o=d$1(t),l=new Date,m=getEventTimestamp(l),p={},f=[];for(let t=0;t<n.length;t++){let i={props:{key:`week.${t}`},days:[]},d=n[t],u=d.getDate(),g=getEventTimestamp(new Date(d)),h=getEventTimestamp(addDays.addDays(new Date(d),6));for(let e=0;e<7;e++){let t=new Date(new Date(d).setDate(u+e)),n=getEventTimestamp(t),f={$isToday:m===n,$isOutOfRange:"month"===r&&t.getMonth()!==a},v={props:{key:`day.${n}`,...f},timestamp:n+"",label:t.getDate()+"",events:[]};if(s?.[n]){let t=Object.keys(s[n]).map(()=>0);for(let r=0;r<o.length;r++){let a;let s=o[r],m=1,i=0;if(s.daysMap[n]){if(s.multi&&(m=s.days.filter(e=>e>=g&&e<=h).length,(0===s.days.indexOf(n)||0===e)&&(a=!0)),p[s.uid])i=p[s.uid];else for(let e=0;e<t.length;e++)if(1!==t[e]){i=e;break}t[i]=1,a&&(p[s.uid]=i),v.events.push({key:`event.${n}-${i}`,...f,...s,isPast:l>s.end,firstOfMulti:a,top:i,width:m});}}for(let e=0;e<t.length;e++)1!==t[e]&&v.events.push({key:`event.${n}-${e}}`,placeholder:!0,top:e});v.events.sort((e,t)=>e.top-t.top);}i.days.push(v);}f.push(i);}return f};
|
|
42
|
+
|
|
43
|
+
let d=l=>jsxRuntime.jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",...l,children:[jsxRuntime.jsx("path",{d:"M0 0h24v24H0z"}),jsxRuntime.jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),o$1={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"};let CalendarDaygridCell=({eventClicked:a,setEventClicked:s,setEventHovered:h,view:c,maxEvents:u,events:p,calendarsMap:v,Cell:f="div",CellOverflow:y="div",CellEvent:$="div",CellEventBtn:m="div",CellEventTitle:w="span",CellEventStart:g="span"})=>{let[x,M]=react.useState(!1),O=p.filter(e=>!e.placeholder);return jsxRuntime.jsx(f,{children:p.map((t,p)=>{if(p===u&&!x)return jsxRuntime.jsxs(y,{onClick:()=>M(!0),children:[jsxRuntime.jsx(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx($,{$placeholder:!0,children:jsxRuntime.jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:!0,children:jsxRuntime.jsx(w,{children:" "})})})},t.key);let f={zIndex:t.firstOfMulti?1:0,position:"relative",width:t.firstOfMulti?`${100*t.width}%`:"100%"};v[t.calendar.id].on||(o$1.display="none");let k={$view:c,$selected:a?.uid===t.uid,$past:t.isPast,$color:t.color,$isOutOfRange:t.$isOutOfRange,$isToday:t.$isToday};return jsxRuntime.jsx(react.Fragment,{children:jsxRuntime.jsx($,{style:f,...k,children:jsxRuntime.jsx(m,{role:"button",style:o$1,...k,onClick:()=>s(e=>e?.uid===t.uid?null:t),onMouseEnter:()=>h(t),onMouseLeave:()=>h(null),children:t.allDay?jsxRuntime.jsx(w,{children:t.title}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(g,{children:getDisplayTime(t.start)}),jsxRuntime.jsx(w,{children:t.title})]})})})},t.key)})})};
|
|
44
|
+
|
|
45
|
+
let useDateLocale=(a,l="en")=>{let[r,n]=react.useState(),[o,c]=react.useState(l);return react.useEffect(()=>{let e=async()=>{let e=await Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require('date-fns/locale/en-US')); });c(a||o),n(e.enUS);};a!==o&&e();},[a,o]),r};
|
|
46
|
+
|
|
47
|
+
let KoineCalendarDaygridNav=({range:a,view:l,todayInView:r,handlePrev:i,handleNext:M,handleToday:d,handleView:y,locale:c,NavRoot:m="nav",NavTitle:s="div",NavBtns:b="div",NavBtnPrev:k="button",NavBtnNext:u="button",NavBtnToday:h="button",NavBtnViewMonth:f="button",NavBtnViewWeek:g="button"})=>{let[C,p]=a,v={locale:useDateLocale(c)},x="";return "month"===l&&(x=format.format(C,"MMMM yyyy",v)),"week"===l&&(x=C.getMonth()===p.getMonth()?format.format(C,"# MMMM yyyy",v).replace("#",`${C.getDate()}-${p.getDate()}`):`${format.format(C,"d MMMM",v)} - ${format.format(p,"d MMMM yyyy",v)}`),jsxRuntime.jsxs(m,{children:[jsxRuntime.jsxs(b,{children:[jsxRuntime.jsx(k,{onClick:i}),jsxRuntime.jsx(u,{onClick:M}),jsxRuntime.jsx(h,{onClick:d,disabled:r}),jsxRuntime.jsx(f,{onClick:()=>y("month"),disabled:"month"===l}),jsxRuntime.jsx(g,{onClick:()=>y("week"),disabled:"week"===l})]}),jsxRuntime.jsx(s,{range:a,formatted:x})]})};
|
|
48
|
+
|
|
49
|
+
let KoineCalendarDaygridTable=({locale:d,handlePrev:s,handleNext:c,events:h,dayLabels:f,view:b,range:u,eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,calendarsMap:x={},maxEvents:j=5,Table:C="table",TableHead:D="thead",TableHeadCell:S="th",TableBody:k="tbody",TableBodyRow:z="tr",TableBodyCell:L="td",TableBodyCellDate:O="div",Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W})=>{let q={Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W},[A,B]=react.useState(f||[0,1,2,3,4,5,6]),[E,F]=react.useState([]),G=useDateLocale(d),{month:H,weeks:J}=react.useMemo(()=>(function(e){let[t,a]=e,i=eachWeekOfInterval.eachWeekOfInterval({start:t,end:a},{weekStartsOn:1});return {month:t.getMonth(),weeks:i}})(u),[u]),N=reactSwipeable.useSwipeable({onSwipedLeft:c,onSwipedRight:s});return react.useEffect(()=>{F(processEventsInView(h,b,H,J));},[h,b,H,J]),react.useEffect(()=>{G&&G.localize&&!f&&B([1,2,3,4,5,6,0].map(e=>G.localize.day(e,{width:"abbreviated"})));},[G,f]),jsxRuntime.jsxs(C,{...N,children:[jsxRuntime.jsx(D,{children:jsxRuntime.jsx("tr",{children:A.map(t=>jsxRuntime.jsx(S,{scope:"column",children:t},t))})}),jsxRuntime.jsx(k,{children:E.map((r,a)=>jsxRuntime.jsx(z,{...r.props,children:r.days.map(r=>jsxRuntime.jsxs(L,{...r.props,children:[jsxRuntime.jsx(O,{...r.props,children:r.label}),r.events.length>0&&jsxRuntime.jsx(CalendarDaygridCell,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
|
|
50
|
+
|
|
51
|
+
let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:Object.entries(a).map(([r,a])=>jsxRuntime.jsxs(d,{onClick:()=>s(r),$color:a.color,$empty:0===a.events,disabled:0===a.events,children:[jsxRuntime.jsx(i,{children:a.on?"⬤":"⭘"}),jsxRuntime.jsx(l,{children:a.name}),jsxRuntime.jsx(t,{children:a.events})]},"CalendarLegend."+r))});
|
|
52
|
+
|
|
53
|
+
let getCalendarsEventsFromGoogle=async({calendars:e,...t})=>{let a={};return await Promise.all(e.map(async e=>{addCalendarEvents(await o({calendar:e,...t}),a);})),a};async function o({apiKey:i,calendar:o,timeZone:m="",start:d,end:l}){let c={},u=new URLSearchParams({calendarId:o.id,timeZone:m,singleEvents:"true",maxAttendees:"1",maxResults:"9999",sanitizeHtml:"true",timeMin:d.toISOString(),timeMax:l.toISOString(),key:i||process.env.GOOGLE_CALENDAR_API_KEY||""}).toString(),f="https://www.googleapis.com/calendar/v3/calendars/"+o.id+"/events?"+u;try{let i=await fetch(f,{method:"GET"}),m=await i.json();o.name=o.name||m.summary,m.items.forEach(i=>{let m=function(i,o){let m=new Date(i.created),d=i.htmlLink,l=i.summary,c=i.status,u=new Date(i.start.date||i.start.dateTime),f=new Date(i.end.date||i.end.dateTime),w=o.color,g=utils.isUndefined(i.end.dateTime)&&utils.isString(i.end.date),p=i.location||"",D=i.description||"",h=m.getTime()+""+u.getTime();g&&f>u&&(f=subDays.subDays(f,1)).setHours(23,59,59);let y=function(){let t=new Date(u),a=new Date(f),n=[getEventTimestamp(t)];for(;differenceInDays.differenceInDays(a,t);)t.setDate(t.getDate()+1),n.push(getEventTimestamp(t));return n}(),E=utils.arrayToLookup(y),S=y.length>1;return {calendar:o,created:m,link:d,title:l,status:c,start:u,end:f,days:y,daysMap:E,multi:S,color:w,allDay:g,location:p,description:D,uid:h}}(i,o);c[m.uid]=m;});}catch(e){}return c}
|
|
54
|
+
|
|
55
|
+
let useCalendar=({locale:d,apiKey:c,calendars:p,events:g,start:m,end:y,view:v="month",timeZone:f="",onError:b})=>{let[w,T]=react.useState(v),D=m||getStartDate(new Date,w),h=y||getEndDate(D,w),[O,P]=react.useState([D,h]),[j,x]=react.useState(isTodayInView(D,h)),[C,L]=react.useState(g||{}),[N,k]=react.useState(null),[q,z]=react.useState(null),[A,B]=react.useReducer((e,t)=>{let{type:l}=t;switch(l){case"events":{let l=t.payload;return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,events:l[t]||0},e),{})}case"visibility":{let l=t.payload;if("string"==typeof l)return {...e,[l]:{...e[l],on:!e[l].on}};return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,on:l.indexOf(t)>-1},e),{})}default:return e}},p.reduce((e,t)=>(e[t.id]={...t,name:t.name||"",on:!0,events:0},e),{})),E=react.useCallback(e=>{B({type:"visibility",payload:e});},[B]),F=react.useCallback(e=>{let t={};for(let l in e){let{id:n}=e[l].calendar;t[n]=t[n]||0,t[n]++;}B({type:"events",payload:t});},[]),G=react.useCallback(async(e,t,l)=>{try{let n=await getCalendarsEventsFromGoogle({apiKey:c,calendars:e,timeZone:f,start:t,end:l});L(n);}catch(e){b&&b(e);}},[L,c,f,b]),H=react.useCallback(()=>{let[e,t]=O,l=getStartDate(new Date,w),n=getEndDate(l,w);P([l,n]),(e.getTime()!==l.getTime()||t.getTime()!==n.getTime())&&(z(null),k(null));},[w,O]),I=react.useCallback(()=>{P(([e])=>{let t=getPrevDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),J=react.useCallback(()=>{P(([e])=>{let t=getNextDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),K=react.useCallback(e=>{let t=getStartDate(D,e),l=getEndDate(t,e);P([t,l]),T(e),z(null),k(null);},[D]);return react.useEffect(()=>{let[e,t]=O;G(p,e,t),x(isTodayInView(e,t));},[O]),react.useEffect(()=>{C&&F(C);},[C,F]),react.useEffect(()=>{q&&!A[q.calendar.id].on&&z(null);},[A,q,z]),{view:w,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,getDaygridNavProps:()=>({locale:d,handlePrev:I,handleNext:J,handleToday:H,handleView:K,todayInView:j,range:O,view:w}),getDaygridTableProps:()=>({locale:d,events:C,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,handlePrev:I,handleNext:J,calendarsMap:A,range:O,view:w}),getLegendProps:()=>({calendarsMap:A,toggleCalendarVisibility:E})}};
|
|
56
|
+
|
|
57
|
+
exports.CalendarDaygridCell = CalendarDaygridCell;
|
|
58
|
+
exports.KoineCalendarDaygridNav = KoineCalendarDaygridNav;
|
|
59
|
+
exports.KoineCalendarDaygridTable = KoineCalendarDaygridTable;
|
|
60
|
+
exports.KoineCalendarLegend = KoineCalendarLegend;
|
|
61
|
+
exports.useCalendar = useCalendar;
|
|
62
|
+
exports.useDateLocale = useDateLocale;
|
package/calendar.cjs.mjs
ADDED
package/calendar.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from "./calendar/CalendarDaygridCell";
|
|
2
|
+
export * from "./calendar/CalendarDaygridNav";
|
|
3
|
+
export * from "./calendar/CalendarDaygridTable";
|
|
4
|
+
export * from "./calendar/CalendarLegend";
|
|
5
|
+
export * from "./calendar/useCalendar";
|
|
6
|
+
export * from "./calendar/useDateLocale";
|
|
7
|
+
export * from "./calendar/types";
|
package/calendar.esm.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, Fragment, useEffect, useMemo, useReducer, useCallback } from 'react';
|
|
3
|
+
import { addDays } from 'date-fns/addDays';
|
|
4
|
+
import { addMonths } from 'date-fns/addMonths';
|
|
5
|
+
import { addWeeks } from 'date-fns/addWeeks';
|
|
6
|
+
import { endOfMonth } from 'date-fns/endOfMonth';
|
|
7
|
+
import { endOfWeek } from 'date-fns/endOfWeek';
|
|
8
|
+
import { isWithinInterval } from 'date-fns/isWithinInterval';
|
|
9
|
+
import { startOfWeek } from 'date-fns/startOfWeek';
|
|
10
|
+
import { subMonths } from 'date-fns/subMonths';
|
|
11
|
+
import { subWeeks } from 'date-fns/subWeeks';
|
|
12
|
+
import { format } from 'date-fns/format';
|
|
13
|
+
import { eachWeekOfInterval } from 'date-fns/eachWeekOfInterval';
|
|
14
|
+
import { useSwipeable } from 'react-swipeable';
|
|
15
|
+
import { differenceInDays } from 'date-fns/differenceInDays';
|
|
16
|
+
import { subDays } from 'date-fns/subDays';
|
|
17
|
+
import { isUndefined, isString, arrayToLookup } from '@koine/utils';
|
|
18
|
+
|
|
19
|
+
let getEventTimestamp=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.valueOf()/1e3};let getDisplayTime=e=>e.getHours()+":"+"0".repeat(2-e.getMinutes().toString().length)+e.getMinutes();let getStartDate=(e,t)=>(e.setHours(0,0,0),"month"===t?e.setDate(1):"week"===t&&(e=startOfWeek(e,{weekStartsOn:1})),e);let getEndDate=(e,t)=>{let r=e;return "month"===t?r=endOfMonth(e):"week"===t&&(r=endOfWeek(e,{weekStartsOn:1})),r.setHours(23,59,59),r};let getPrevDate=(e,t)=>"month"===t?subMonths(e,1):subWeeks(e,1);let getNextDate=(e,a)=>"month"===a?addMonths(e,1):addWeeks(e,1);let isTodayInView=(e,t)=>isWithinInterval(new Date,{start:e,end:t});let addCalendarEvents=(e,t)=>{for(let r in e){let a=e[r];t[r]=a;}return t};let i=e=>{let t={};for(let r in e){let a=e[r];a.days.forEach(e=>{t[e]=t[e]||{},t[e][r]=a;});}return t},d$1=e=>{let t=[];for(let r in e)t.push(e[r]);return t.sort((e,t)=>{let r=Number(t.multi)-Number(e.multi),a=Number(t.allDay)-Number(e.allDay),n=e.start.getTime()-t.start.getTime(),s=e.created.getTime()-t.created.getTime();return r||a||n||s}),t};let processEventsInView=(t,r,a,n)=>{let s=i(t),o=d$1(t),l=new Date,m=getEventTimestamp(l),p={},f=[];for(let t=0;t<n.length;t++){let i={props:{key:`week.${t}`},days:[]},d=n[t],u=d.getDate(),g=getEventTimestamp(new Date(d)),h=getEventTimestamp(addDays(new Date(d),6));for(let e=0;e<7;e++){let t=new Date(new Date(d).setDate(u+e)),n=getEventTimestamp(t),f={$isToday:m===n,$isOutOfRange:"month"===r&&t.getMonth()!==a},v={props:{key:`day.${n}`,...f},timestamp:n+"",label:t.getDate()+"",events:[]};if(s?.[n]){let t=Object.keys(s[n]).map(()=>0);for(let r=0;r<o.length;r++){let a;let s=o[r],m=1,i=0;if(s.daysMap[n]){if(s.multi&&(m=s.days.filter(e=>e>=g&&e<=h).length,(0===s.days.indexOf(n)||0===e)&&(a=!0)),p[s.uid])i=p[s.uid];else for(let e=0;e<t.length;e++)if(1!==t[e]){i=e;break}t[i]=1,a&&(p[s.uid]=i),v.events.push({key:`event.${n}-${i}`,...f,...s,isPast:l>s.end,firstOfMulti:a,top:i,width:m});}}for(let e=0;e<t.length;e++)1!==t[e]&&v.events.push({key:`event.${n}-${e}}`,placeholder:!0,top:e});v.events.sort((e,t)=>e.top-t.top);}i.days.push(v);}f.push(i);}return f};
|
|
20
|
+
|
|
21
|
+
let d=l=>jsxs("svg",{viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",...l,children:[jsx("path",{d:"M0 0h24v24H0z"}),jsx("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),o$1={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"};let CalendarDaygridCell=({eventClicked:a,setEventClicked:s,setEventHovered:h,view:c,maxEvents:u,events:p,calendarsMap:v,Cell:f="div",CellOverflow:y="div",CellEvent:$="div",CellEventBtn:m="div",CellEventTitle:w="span",CellEventStart:g="span"})=>{let[x,M]=useState(!1),O=p.filter(e=>!e.placeholder);return jsx(f,{children:p.map((t,p)=>{if(p===u&&!x)return jsxs(y,{onClick:()=>M(!0),children:[jsx(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return jsx(Fragment,{children:jsx($,{$placeholder:!0,children:jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:!0,children:jsx(w,{children:" "})})})},t.key);let f={zIndex:t.firstOfMulti?1:0,position:"relative",width:t.firstOfMulti?`${100*t.width}%`:"100%"};v[t.calendar.id].on||(o$1.display="none");let k={$view:c,$selected:a?.uid===t.uid,$past:t.isPast,$color:t.color,$isOutOfRange:t.$isOutOfRange,$isToday:t.$isToday};return jsx(Fragment,{children:jsx($,{style:f,...k,children:jsx(m,{role:"button",style:o$1,...k,onClick:()=>s(e=>e?.uid===t.uid?null:t),onMouseEnter:()=>h(t),onMouseLeave:()=>h(null),children:t.allDay?jsx(w,{children:t.title}):jsxs(Fragment$1,{children:[jsx(g,{children:getDisplayTime(t.start)}),jsx(w,{children:t.title})]})})})},t.key)})})};
|
|
22
|
+
|
|
23
|
+
let useDateLocale=(a,l="en")=>{let[r,n]=useState(),[o,c]=useState(l);return useEffect(()=>{let e=async()=>{let e=await import('date-fns/locale/en-US');c(a||o),n(e.enUS);};a!==o&&e();},[a,o]),r};
|
|
24
|
+
|
|
25
|
+
let KoineCalendarDaygridNav=({range:a,view:l,todayInView:r,handlePrev:i,handleNext:M,handleToday:d,handleView:y,locale:c,NavRoot:m="nav",NavTitle:s="div",NavBtns:b="div",NavBtnPrev:k="button",NavBtnNext:u="button",NavBtnToday:h="button",NavBtnViewMonth:f="button",NavBtnViewWeek:g="button"})=>{let[C,p]=a,v={locale:useDateLocale(c)},x="";return "month"===l&&(x=format(C,"MMMM yyyy",v)),"week"===l&&(x=C.getMonth()===p.getMonth()?format(C,"# MMMM yyyy",v).replace("#",`${C.getDate()}-${p.getDate()}`):`${format(C,"d MMMM",v)} - ${format(p,"d MMMM yyyy",v)}`),jsxs(m,{children:[jsxs(b,{children:[jsx(k,{onClick:i}),jsx(u,{onClick:M}),jsx(h,{onClick:d,disabled:r}),jsx(f,{onClick:()=>y("month"),disabled:"month"===l}),jsx(g,{onClick:()=>y("week"),disabled:"week"===l})]}),jsx(s,{range:a,formatted:x})]})};
|
|
26
|
+
|
|
27
|
+
let KoineCalendarDaygridTable=({locale:d,handlePrev:s,handleNext:c,events:h,dayLabels:f,view:b,range:u,eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,calendarsMap:x={},maxEvents:j=5,Table:C="table",TableHead:D="thead",TableHeadCell:S="th",TableBody:k="tbody",TableBodyRow:z="tr",TableBodyCell:L="td",TableBodyCellDate:O="div",Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W})=>{let q={Cell:I,CellOverflow:K,CellEvent:M,CellEventBtn:R,CellEventTitle:T,CellEventStart:W},[A,B]=useState(f||[0,1,2,3,4,5,6]),[E,F]=useState([]),G=useDateLocale(d),{month:H,weeks:J}=useMemo(()=>(function(e){let[t,a]=e,i=eachWeekOfInterval({start:t,end:a},{weekStartsOn:1});return {month:t.getMonth(),weeks:i}})(u),[u]),N=useSwipeable({onSwipedLeft:c,onSwipedRight:s});return useEffect(()=>{F(processEventsInView(h,b,H,J));},[h,b,H,J]),useEffect(()=>{G&&G.localize&&!f&&B([1,2,3,4,5,6,0].map(e=>G.localize.day(e,{width:"abbreviated"})));},[G,f]),jsxs(C,{...N,children:[jsx(D,{children:jsx("tr",{children:A.map(t=>jsx(S,{scope:"column",children:t},t))})}),jsx(k,{children:E.map((r,a)=>jsx(z,{...r.props,children:r.days.map(r=>jsxs(L,{...r.props,children:[jsx(O,{...r.props,children:r.label}),r.events.length>0&&jsx(CalendarDaygridCell,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
|
|
28
|
+
|
|
29
|
+
let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>jsx(Fragment$1,{children:Object.entries(a).map(([r,a])=>jsxs(d,{onClick:()=>s(r),$color:a.color,$empty:0===a.events,disabled:0===a.events,children:[jsx(i,{children:a.on?"⬤":"⭘"}),jsx(l,{children:a.name}),jsx(t,{children:a.events})]},"CalendarLegend."+r))});
|
|
30
|
+
|
|
31
|
+
let getCalendarsEventsFromGoogle=async({calendars:e,...t})=>{let a={};return await Promise.all(e.map(async e=>{addCalendarEvents(await o({calendar:e,...t}),a);})),a};async function o({apiKey:i,calendar:o,timeZone:m="",start:d,end:l}){let c={},u=new URLSearchParams({calendarId:o.id,timeZone:m,singleEvents:"true",maxAttendees:"1",maxResults:"9999",sanitizeHtml:"true",timeMin:d.toISOString(),timeMax:l.toISOString(),key:i||process.env.GOOGLE_CALENDAR_API_KEY||""}).toString(),f="https://www.googleapis.com/calendar/v3/calendars/"+o.id+"/events?"+u;try{let i=await fetch(f,{method:"GET"}),m=await i.json();o.name=o.name||m.summary,m.items.forEach(i=>{let m=function(i,o){let m=new Date(i.created),d=i.htmlLink,l=i.summary,c=i.status,u=new Date(i.start.date||i.start.dateTime),f=new Date(i.end.date||i.end.dateTime),w=o.color,g=isUndefined(i.end.dateTime)&&isString(i.end.date),p=i.location||"",D=i.description||"",h=m.getTime()+""+u.getTime();g&&f>u&&(f=subDays(f,1)).setHours(23,59,59);let y=function(){let t=new Date(u),a=new Date(f),n=[getEventTimestamp(t)];for(;differenceInDays(a,t);)t.setDate(t.getDate()+1),n.push(getEventTimestamp(t));return n}(),E=arrayToLookup(y),S=y.length>1;return {calendar:o,created:m,link:d,title:l,status:c,start:u,end:f,days:y,daysMap:E,multi:S,color:w,allDay:g,location:p,description:D,uid:h}}(i,o);c[m.uid]=m;});}catch(e){}return c}
|
|
32
|
+
|
|
33
|
+
let useCalendar=({locale:d,apiKey:c,calendars:p,events:g,start:m,end:y,view:v="month",timeZone:f="",onError:b})=>{let[w,T]=useState(v),D=m||getStartDate(new Date,w),h=y||getEndDate(D,w),[O,P]=useState([D,h]),[j,x]=useState(isTodayInView(D,h)),[C,L]=useState(g||{}),[N,k]=useState(null),[q,z]=useState(null),[A,B]=useReducer((e,t)=>{let{type:l}=t;switch(l){case"events":{let l=t.payload;return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,events:l[t]||0},e),{})}case"visibility":{let l=t.payload;if("string"==typeof l)return {...e,[l]:{...e[l],on:!e[l].on}};return Object.entries(e).reduce((e,[t,n])=>(e[t]={...n,on:l.indexOf(t)>-1},e),{})}default:return e}},p.reduce((e,t)=>(e[t.id]={...t,name:t.name||"",on:!0,events:0},e),{})),E=useCallback(e=>{B({type:"visibility",payload:e});},[B]),F=useCallback(e=>{let t={};for(let l in e){let{id:n}=e[l].calendar;t[n]=t[n]||0,t[n]++;}B({type:"events",payload:t});},[]),G=useCallback(async(e,t,l)=>{try{let n=await getCalendarsEventsFromGoogle({apiKey:c,calendars:e,timeZone:f,start:t,end:l});L(n);}catch(e){b&&b(e);}},[L,c,f,b]),H=useCallback(()=>{let[e,t]=O,l=getStartDate(new Date,w),n=getEndDate(l,w);P([l,n]),(e.getTime()!==l.getTime()||t.getTime()!==n.getTime())&&(z(null),k(null));},[w,O]),I=useCallback(()=>{P(([e])=>{let t=getPrevDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),J=useCallback(()=>{P(([e])=>{let t=getNextDate(e,w),l=getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),K=useCallback(e=>{let t=getStartDate(D,e),l=getEndDate(t,e);P([t,l]),T(e),z(null),k(null);},[D]);return useEffect(()=>{let[e,t]=O;G(p,e,t),x(isTodayInView(e,t));},[O]),useEffect(()=>{C&&F(C);},[C,F]),useEffect(()=>{q&&!A[q.calendar.id].on&&z(null);},[A,q,z]),{view:w,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,getDaygridNavProps:()=>({locale:d,handlePrev:I,handleNext:J,handleToday:H,handleView:K,todayInView:j,range:O,view:w}),getDaygridTableProps:()=>({locale:d,events:C,eventClicked:q,setEventClicked:z,eventHovered:N,setEventHovered:k,handlePrev:I,handleNext:J,calendarsMap:A,range:O,view:w}),getLegendProps:()=>({calendarsMap:A,toggleCalendarVisibility:E})}};
|
|
34
|
+
|
|
35
|
+
export { CalendarDaygridCell, KoineCalendarDaygridNav, KoineCalendarDaygridTable, KoineCalendarLegend, useCalendar, useDateLocale };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type FaviconTagsProps = {
|
|
2
|
+
name: string;
|
|
3
|
+
color?: string;
|
|
4
|
+
safariTabColor?: string;
|
|
5
|
+
tileColor?: string;
|
|
6
|
+
themeColor?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare let FaviconTags: ({ name, color, safariTabColor, tileColor, themeColor, }: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ObjectShape } from "@kuus/yup";
|
|
2
|
+
export declare let encodeForm: <T extends ObjectShape = {}>(validationRules: T) => {
|
|
3
|
+
encodedSchema: import("@kuus/yup").ObjectSchema<{
|
|
4
|
+
[x: string]: T[keyof T] extends import("@kuus/yup").ISchema<any, any, any, any> ? T[keyof T]["__outputType"] : T[keyof T] extends {
|
|
5
|
+
readonly key: string;
|
|
6
|
+
readonly isContext: boolean;
|
|
7
|
+
readonly isValue: boolean;
|
|
8
|
+
readonly isSibling: boolean;
|
|
9
|
+
readonly path: any;
|
|
10
|
+
readonly getter: (data: unknown) => unknown;
|
|
11
|
+
readonly map?: ((value: unknown) => infer T_1) | undefined;
|
|
12
|
+
readonly __isYupRef: boolean;
|
|
13
|
+
getValue(value: any, parent?: {} | undefined, context?: {} | undefined): infer T_1;
|
|
14
|
+
cast(value: any, options?: {
|
|
15
|
+
parent?: {} | undefined;
|
|
16
|
+
context?: {} | undefined;
|
|
17
|
+
} | undefined): infer T_1;
|
|
18
|
+
resolve(): any;
|
|
19
|
+
describe(): import("@kuus/yup").SchemaRefDescription;
|
|
20
|
+
toString(): string;
|
|
21
|
+
} ? T_1 : unknown;
|
|
22
|
+
}, import("@kuus/yup").AnyObject, {
|
|
23
|
+
[x: string]: T[keyof T] extends import("@kuus/yup").ISchema<any, import("@kuus/yup").AnyObject, any, any> ? T[keyof T]["__default"] : undefined;
|
|
24
|
+
}, "">;
|
|
25
|
+
encodedNames: Record<keyof T, string>;
|
|
26
|
+
};
|
|
27
|
+
export declare let decodeForm: <ReturnAs extends Record<string, unknown> = {}, FormData_1 extends Record<string, unknown> = {}>(formData: FormData_1) => ReturnAs;
|
package/forms.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./forms";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./forms.cjs.js').default;
|
package/forms.cjs.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var yup = require('@kuus/yup');
|
|
6
|
+
var utils = require('@koine/utils');
|
|
7
|
+
|
|
8
|
+
let encodeForm=t=>{let o={},i={};for(let e in t)if(!e.startsWith("_")){let l=utils.encode(e);o[l]=t[e],i[e]=l;}return {encodedSchema:yup.object(o).required(),encodedNames:i}};let decodeForm=e=>{let r={};for(let i in e){let l=utils.decode(i);i.startsWith("_")?r[i.substring(1)]=e[i]:utils.isUndefined(e[i])||""!==e[l]||(r[l]=e[i]);}return r};
|
|
9
|
+
|
|
10
|
+
exports.decodeForm = decodeForm;
|
|
11
|
+
exports.encodeForm = encodeForm;
|
package/forms.cjs.mjs
ADDED
package/forms.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./forms/antispam";
|
package/forms.esm.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { object } from '@kuus/yup';
|
|
2
|
+
import { encode, decode, isUndefined } from '@koine/utils';
|
|
3
|
+
|
|
4
|
+
let encodeForm=t=>{let o={},i={};for(let e in t)if(!e.startsWith("_")){let l=encode(e);o[l]=t[e],i[e]=l;}return {encodedSchema:object(o).required(),encodedNames:i}};let decodeForm=e=>{let r={};for(let i in e){let l=decode(i);i.startsWith("_")?r[i.substring(1)]=e[i]:isUndefined(e[i])||""!==e[l]||(r[l]=e[i]);}return r};
|
|
5
|
+
|
|
6
|
+
export { decodeForm, encodeForm };
|
package/hooks/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export { useAsyncFn, type UseAsyncFnReturn, type UseAsyncState, } from "./useAsyncFn";
|
|
2
|
-
export { useDateLocale } from "./useDateLocale";
|
|
3
2
|
export { useFirstMountState } from "./useFirstMountState";
|
|
4
3
|
export { useFixedOffset } from "./useFixedOffset";
|
|
5
4
|
export { useFocus } from "./useFocus";
|
package/hooks/useAsyncFn.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
|
|
2
|
+
type PromiseType<P extends Promise<any>> = P extends Promise<infer T> ? T : never;
|
|
3
|
+
type FunctionReturningPromise = (...args: any[]) => Promise<any>;
|
|
3
4
|
export type UseAsyncState<T> = {
|
|
4
5
|
loading: boolean;
|
|
5
6
|
error?: undefined;
|
|
@@ -19,8 +20,5 @@ export type UseAsyncState<T> = {
|
|
|
19
20
|
};
|
|
20
21
|
type StateFromFunctionReturningPromise<T extends FunctionReturningPromise> = UseAsyncState<PromiseType<ReturnType<T>>>;
|
|
21
22
|
export type UseAsyncFnReturn<T extends FunctionReturningPromise = FunctionReturningPromise> = [StateFromFunctionReturningPromise<T>, T];
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
*/
|
|
25
|
-
export declare function useAsyncFn<T extends FunctionReturningPromise>(fn: T, deps?: React.DependencyList, initialState?: StateFromFunctionReturningPromise<T>): UseAsyncFnReturn<T>;
|
|
26
|
-
export default useAsyncFn;
|
|
23
|
+
export declare let useAsyncFn: <T extends FunctionReturningPromise>(fn: T, deps?: React.DependencyList, initialState?: StateFromFunctionReturningPromise<T>) => UseAsyncFnReturn<T>;
|
|
24
|
+
export {};
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* # Use fixed offset
|
|
4
|
-
*
|
|
5
|
-
* Maybe use [ResizeObserver polyfill](https://github.com/juggle/resize-observer)
|
|
6
|
-
*
|
|
7
|
-
* @see https://web.dev/resize-observer/
|
|
8
|
-
*
|
|
9
|
-
* @param selector By default `[data-fixed]`: anyhting with the data attribute `data-fixed`
|
|
10
|
-
*/
|
|
11
|
-
export declare function useFixedOffset(selector?: string): import("react").MutableRefObject<number>;
|
|
12
|
-
export default useFixedOffset;
|
|
1
|
+
export declare let useFixedOffset: (selector?: string) => import("react").MutableRefObject<number>;
|
package/hooks/useFocus.d.ts
CHANGED
|
@@ -1,6 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
* @see https://stackoverflow.com/a/54159564/1938970
|
|
4
|
-
*/
|
|
5
|
-
export declare const useFocus: () => (import("react").RefObject<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement> | (() => void))[];
|
|
6
|
-
export default useFocus;
|
|
1
|
+
export declare let useFocus: () => (import("react").RefObject<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement> | (() => void))[];
|
package/hooks/useInterval.d.ts
CHANGED
|
@@ -1,7 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* @borrows [dan abramov](https://overreacted.io/making-setinterval-declarative-with-react-hooks/)
|
|
3
|
-
*
|
|
4
|
-
* We just add `deps` array argument and typescript support
|
|
5
|
-
*/
|
|
6
|
-
export declare function useInterval<T extends () => unknown>(callback: T, delay: number, deps?: unknown[]): void;
|
|
7
|
-
export default useInterval;
|
|
1
|
+
export declare let useInterval: <T extends () => unknown>(callback: T, delay: number, deps?: unknown[]) => void;
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
* @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useIsomorphicLayoutEffect.ts)
|
|
4
|
-
*/
|
|
5
|
-
export declare const useIsomorphicLayoutEffect: typeof useEffect;
|
|
6
|
-
export default useIsomorphicLayoutEffect;
|
|
1
|
+
import { useLayoutEffect } from "react";
|
|
2
|
+
export declare let useIsomorphicLayoutEffect: typeof useLayoutEffect;
|
package/hooks/useKeyUp.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export default useKeyUp;
|
|
1
|
+
export declare let useKeyUp: (callback: (event: KeyboardEvent) => void, deps?: unknown[]) => void;
|
package/hooks/useMeasure.d.ts
CHANGED
|
@@ -18,10 +18,5 @@ export type UseMeasureReturn = [
|
|
|
18
18
|
RectReadOnly,
|
|
19
19
|
() => void
|
|
20
20
|
];
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
*
|
|
24
|
-
* @borrows [pmndrs/react-use-measure](https://github.com/pmndrs/react-use-measure)
|
|
25
|
-
*/
|
|
26
|
-
export declare function useMeasure(options?: UseMeasureOptions): UseMeasureReturn;
|
|
27
|
-
export default useMeasure;
|
|
21
|
+
export declare let useMeasure: (options?: UseMeasureOptions) => UseMeasureReturn;
|
|
22
|
+
export {};
|
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* @borrows [streamich/react-use](https://github.com/streamich/react-use/blob/master/src/useMountedState.ts)
|
|
3
|
-
*/
|
|
4
|
-
export declare function useMountedState(): () => boolean;
|
|
5
|
-
export default useMountedState;
|
|
1
|
+
export declare let useMountedState: () => (() => boolean);
|
|
@@ -1,32 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @return A custom error message (most browser will ignore it), or just a
|
|
3
|
-
* boolean to signal whether we want to prompt the user
|
|
4
|
-
*
|
|
5
|
-
* We might instead return an array with the above as first element and two
|
|
6
|
-
* callbacks, but the callback technique is too cumbersome and unreliable
|
|
7
|
-
* probably:
|
|
8
|
-
* 2) A callback on confirmed leaving
|
|
9
|
-
* 3) A callback on cancel, user stays on page
|
|
10
|
-
*/
|
|
11
1
|
export type UseNavigateAwayHandler = (event: BeforeUnloadEvent) => string | boolean;
|
|
12
|
-
|
|
13
|
-
* @resources
|
|
14
|
-
*
|
|
15
|
-
* About browser's specs see:
|
|
16
|
-
* - https://developer.mozilla.org/en-US/docs/Web/API/Window/pagehide_event
|
|
17
|
-
* - https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html#//apple_ref/doc/uid/TP40006511-SW5
|
|
18
|
-
* - https://stackoverflow.com/questions/58009424/pagehide-event-on-google-chrome
|
|
19
|
-
*
|
|
20
|
-
* About react see:
|
|
21
|
-
* - https://github.com/jacobbuck/react-beforeunload
|
|
22
|
-
* - https://github.com/dioscarey/react-beforeunload-component
|
|
23
|
-
*
|
|
24
|
-
* About next.js see:
|
|
25
|
-
* - https://github.com/vercel/next.js/issues/2476
|
|
26
|
-
* - https://github.com/vercel/next.js/issues/2694
|
|
27
|
-
*
|
|
28
|
-
* For the callback technique see:
|
|
29
|
-
* - https://stackoverflow.com/a/11835394/1938970
|
|
30
|
-
*/
|
|
31
|
-
export declare const useNavigateAway: (handler: UseNavigateAwayHandler) => void;
|
|
32
|
-
export default useNavigateAway;
|
|
2
|
+
export declare let useNavigateAway: (handler: UseNavigateAwayHandler) => void;
|
package/hooks/usePrevious.d.ts
CHANGED
|
@@ -1,5 +1 @@
|
|
|
1
|
-
|
|
2
|
-
* @borrows [samselikoff/animated-carousel](https://github.com/samselikoff/2022-06-02-animated-carousel/blob/main/pages/final.jsx)
|
|
3
|
-
*/
|
|
4
|
-
export declare function usePrevious<T>(state: T, defaulValue: T): T;
|
|
5
|
-
export default usePrevious;
|
|
1
|
+
export declare let usePrevious: <T extends unknown>(state: T, defaulValue: T) => T;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export default usePreviousRef;
|
|
1
|
+
export declare let usePreviousRef: <T extends unknown>(value: T) => T | undefined;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type UseRevealOptions = {
|
|
2
|
+
direction?: "left" | "right";
|
|
3
|
+
offsetStartY?: number;
|
|
4
|
+
offsetEndY?: number;
|
|
5
|
+
offsetStartX?: number | "all";
|
|
6
|
+
};
|
|
7
|
+
export declare let useReveal: <T extends HTMLElement = HTMLDivElement>({ direction, offsetStartY, offsetEndY, offsetStartX, }: UseRevealOptions) => {
|
|
8
|
+
ref: import("react").RefObject<T>;
|
|
9
|
+
startY: number;
|
|
10
|
+
endY: number;
|
|
11
|
+
startX: number;
|
|
12
|
+
};
|
|
@@ -1,15 +1,7 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
type Position = {
|
|
3
2
|
x: number;
|
|
4
3
|
y: number;
|
|
5
4
|
};
|
|
6
5
|
type ElementRef = React.MutableRefObject<HTMLElement | undefined>;
|
|
7
|
-
|
|
8
|
-
|
|
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
|
-
export declare const useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, boundingElement?: ElementRef, wait?: number) => void;
|
|
15
|
-
export default useScrollPosition;
|
|
6
|
+
export declare let useScrollPosition: (effect: (currentPosition: Position, prevPosition: Position) => void, deps?: import("react").DependencyList, element?: ElementRef, boundingElement?: ElementRef, wait?: number) => void;
|
|
7
|
+
export {};
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export default useScrollThreshold;
|
|
1
|
+
export declare let useScrollThreshold: (threshold?: number, callback?: ((isAbove: boolean, isBelow: boolean) => void) | undefined) => boolean;
|
package/hooks/useScrollTo.d.ts
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export declare
|
|
2
|
-
export default useScrollTo;
|
|
1
|
+
export declare let useScrollTo: (id?: string, offset?: number) => void;
|
|
@@ -1,8 +1 @@
|
|
|
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
|
-
export declare function useSmoothScroll(disregardAutomaticFixedOffset?: boolean): (to?: number | string, customOffset?: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
|
|
8
|
-
export default useSmoothScroll;
|
|
1
|
+
export declare let useSmoothScroll: (disregardAutomaticFixedOffset?: boolean) => (to?: number | string, customOffset?: number, callback?: () => void, fallbackTimeout?: number, behavior?: ScrollBehavior) => void;
|