@koine/react 2.0.0-beta.19 → 2.0.0-beta.190
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/FaviconTags.cjs.d.ts +2 -0
- package/FaviconTags.cjs.default.js +1 -0
- package/FaviconTags.cjs.js +10 -0
- package/FaviconTags.cjs.mjs +2 -0
- package/FaviconTags.d.ts +11 -1
- package/FaviconTags.esm.d.ts +2 -0
- package/FaviconTags.esm.js +5 -0
- package/Meta.cjs.d.ts +2 -0
- package/Meta.cjs.default.js +1 -0
- package/Meta.cjs.js +10 -0
- package/Meta.cjs.mjs +2 -0
- package/Meta.d.ts +11 -1
- package/Meta.esm.d.ts +2 -0
- package/Meta.esm.js +5 -0
- package/NoJs.cjs.d.ts +2 -0
- package/NoJs.cjs.default.js +1 -0
- package/NoJs.cjs.js +10 -0
- package/NoJs.cjs.mjs +2 -0
- package/NoJs.d.ts +2 -2
- package/NoJs.esm.d.ts +2 -0
- package/NoJs.esm.js +5 -0
- package/Polymorphic.cjs.d.ts +1 -0
- package/Polymorphic.cjs.default.js +1 -0
- package/Polymorphic.cjs.js +2 -0
- package/Polymorphic.cjs.mjs +2 -0
- package/Polymorphic.d.ts +39 -0
- package/Polymorphic.esm.d.ts +1 -0
- package/Polymorphic.esm.js +1 -0
- package/README.md +1 -0
- package/calendar/CalendarDaygridCell.cjs.js +9 -0
- package/{Calendar → calendar}/CalendarDaygridCell.d.ts +4 -4
- package/calendar/CalendarDaygridCell.esm.js +7 -0
- package/calendar/CalendarDaygridNav.cjs.js +9 -0
- package/{Calendar → calendar}/CalendarDaygridNav.d.ts +3 -3
- package/calendar/CalendarDaygridNav.esm.js +7 -0
- package/calendar/CalendarDaygridTable.cjs.js +13 -0
- package/{Calendar → calendar}/CalendarDaygridTable.d.ts +4 -4
- package/calendar/CalendarDaygridTable.esm.js +11 -0
- package/calendar/CalendarLegend.cjs.js +7 -0
- package/{Calendar → calendar}/CalendarLegend.d.ts +3 -3
- package/calendar/CalendarLegend.esm.js +5 -0
- package/calendar/calendar-api-google.cjs.js +10 -0
- package/calendar/calendar-api-google.d.ts +18 -0
- package/calendar/calendar-api-google.esm.js +8 -0
- package/{Calendar → calendar}/types.d.ts +19 -0
- package/calendar/useCalendar.cjs.js +9 -0
- package/{Calendar → calendar}/useCalendar.d.ts +19 -5
- package/calendar/useCalendar.esm.js +7 -0
- package/calendar/useDateLocale.cjs.js +7 -0
- package/calendar/useDateLocale.d.ts +8 -0
- package/calendar/useDateLocale.esm.js +5 -0
- package/calendar/utils.cjs.js +23 -0
- package/calendar/utils.d.ts +11 -0
- package/calendar/utils.esm.js +13 -0
- package/calendar.cjs.d.ts +1 -0
- package/calendar.cjs.default.js +1 -0
- package/calendar.cjs.js +17 -0
- package/calendar.cjs.mjs +2 -0
- package/calendar.d.ts +7 -0
- package/calendar.esm.d.ts +1 -0
- package/calendar.esm.js +6 -0
- package/classed.cjs.d.ts +2 -0
- package/classed.cjs.default.js +1 -0
- package/classed.cjs.js +10 -0
- package/classed.cjs.mjs +2 -0
- package/classed.d.ts +20 -1
- package/classed.esm.d.ts +2 -0
- package/classed.esm.js +5 -0
- package/createUseMediaQueryWidth.cjs.d.ts +2 -0
- package/createUseMediaQueryWidth.cjs.default.js +1 -0
- package/createUseMediaQueryWidth.cjs.js +12 -0
- package/createUseMediaQueryWidth.cjs.mjs +2 -0
- package/createUseMediaQueryWidth.d.ts +7 -1
- package/createUseMediaQueryWidth.esm.d.ts +2 -0
- package/createUseMediaQueryWidth.esm.js +7 -0
- package/extendComponent.cjs.d.ts +2 -0
- package/extendComponent.cjs.default.js +1 -0
- package/extendComponent.cjs.js +10 -0
- package/extendComponent.cjs.mjs +2 -0
- package/extendComponent.d.ts +12 -2
- package/extendComponent.esm.d.ts +2 -0
- package/extendComponent.esm.js +5 -0
- package/forms/antispam.cjs.js +9 -0
- package/forms/antispam.d.ts +47 -0
- package/forms/antispam.esm.js +6 -0
- package/forms.cjs.d.ts +1 -0
- package/forms.cjs.default.js +1 -0
- package/forms.cjs.js +8 -0
- package/forms.cjs.mjs +2 -0
- package/forms.d.ts +1 -0
- package/forms.esm.d.ts +1 -0
- package/forms.esm.js +1 -0
- package/index.cjs.d.ts +1 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +57 -0
- package/index.cjs.mjs +2 -0
- package/index.d.ts +28 -25
- package/index.esm.d.ts +1 -0
- package/index.esm.js +26 -0
- package/mergeRefs.cjs.d.ts +2 -0
- package/mergeRefs.cjs.default.js +1 -0
- package/mergeRefs.cjs.js +8 -0
- package/mergeRefs.cjs.mjs +2 -0
- package/mergeRefs.d.ts +1 -2
- package/mergeRefs.esm.d.ts +2 -0
- package/mergeRefs.esm.js +3 -0
- package/package.json +148 -579
- package/types.cjs.d.ts +1 -0
- package/types.cjs.default.js +1 -0
- package/types.cjs.js +2 -0
- package/types.cjs.mjs +2 -0
- package/types.d.ts +0 -9
- package/types.esm.d.ts +1 -0
- package/types.esm.js +1 -0
- package/useAsyncFn.cjs.d.ts +2 -0
- package/useAsyncFn.cjs.default.js +1 -0
- package/useAsyncFn.cjs.js +11 -0
- package/useAsyncFn.cjs.mjs +2 -0
- package/useAsyncFn.d.ts +6 -2
- package/useAsyncFn.esm.d.ts +2 -0
- package/useAsyncFn.esm.js +6 -0
- package/useFirstMountState.cjs.d.ts +2 -0
- package/useFirstMountState.cjs.default.js +1 -0
- package/useFirstMountState.cjs.js +10 -0
- package/useFirstMountState.cjs.mjs +2 -0
- package/useFirstMountState.d.ts +4 -1
- package/useFirstMountState.esm.d.ts +2 -0
- package/useFirstMountState.esm.js +5 -0
- package/useFixedOffset.cjs.d.ts +2 -0
- package/useFixedOffset.cjs.default.js +1 -0
- package/useFixedOffset.cjs.js +13 -0
- package/useFixedOffset.cjs.mjs +2 -0
- package/useFixedOffset.d.ts +10 -2
- package/useFixedOffset.esm.d.ts +2 -0
- package/useFixedOffset.esm.js +8 -0
- package/useFocus.cjs.d.ts +2 -0
- package/useFocus.cjs.default.js +1 -0
- package/useFocus.cjs.js +10 -0
- package/useFocus.cjs.mjs +2 -0
- package/useFocus.d.ts +4 -2
- package/useFocus.esm.d.ts +2 -0
- package/useFocus.esm.js +5 -0
- package/useInterval.cjs.d.ts +2 -0
- package/useInterval.cjs.default.js +1 -0
- package/useInterval.cjs.js +11 -0
- package/useInterval.cjs.mjs +2 -0
- package/useInterval.d.ts +6 -1
- package/useInterval.esm.d.ts +2 -0
- package/useInterval.esm.js +6 -0
- package/useIsomorphicLayoutEffect.cjs.d.ts +2 -0
- package/useIsomorphicLayoutEffect.cjs.default.js +1 -0
- package/useIsomorphicLayoutEffect.cjs.js +11 -0
- package/useIsomorphicLayoutEffect.cjs.mjs +2 -0
- package/useIsomorphicLayoutEffect.d.ts +4 -1
- package/useIsomorphicLayoutEffect.esm.d.ts +2 -0
- package/useIsomorphicLayoutEffect.esm.js +6 -0
- package/useKeyUp.cjs.d.ts +2 -0
- package/useKeyUp.cjs.default.js +1 -0
- package/useKeyUp.cjs.js +11 -0
- package/useKeyUp.cjs.mjs +2 -0
- package/useKeyUp.d.ts +1 -1
- package/useKeyUp.esm.d.ts +2 -0
- package/useKeyUp.esm.js +6 -0
- package/useMeasure.cjs.d.ts +2 -0
- package/useMeasure.cjs.default.js +1 -0
- package/useMeasure.cjs.js +12 -0
- package/useMeasure.cjs.mjs +2 -0
- package/useMeasure.d.ts +6 -1
- package/useMeasure.esm.d.ts +2 -0
- package/useMeasure.esm.js +7 -0
- package/useMountedState.cjs.d.ts +2 -0
- package/useMountedState.cjs.default.js +1 -0
- package/useMountedState.cjs.js +10 -0
- package/useMountedState.cjs.mjs +2 -0
- package/useMountedState.d.ts +4 -1
- package/useMountedState.esm.d.ts +2 -0
- package/useMountedState.esm.js +5 -0
- package/useNavigateAway.cjs.d.ts +2 -0
- package/useNavigateAway.cjs.default.js +1 -0
- package/useNavigateAway.cjs.js +11 -0
- package/useNavigateAway.cjs.mjs +2 -0
- package/useNavigateAway.d.ts +30 -1
- package/useNavigateAway.esm.d.ts +2 -0
- package/useNavigateAway.esm.js +6 -0
- package/usePrevious.cjs.d.ts +2 -0
- package/usePrevious.cjs.default.js +1 -0
- package/usePrevious.cjs.js +10 -0
- package/usePrevious.cjs.mjs +2 -0
- package/usePrevious.d.ts +4 -1
- package/usePrevious.esm.d.ts +2 -0
- package/usePrevious.esm.js +5 -0
- package/usePreviousRef.cjs.d.ts +2 -0
- package/usePreviousRef.cjs.default.js +1 -0
- package/usePreviousRef.cjs.js +10 -0
- package/usePreviousRef.cjs.mjs +2 -0
- package/usePreviousRef.d.ts +1 -1
- package/usePreviousRef.esm.d.ts +2 -0
- package/usePreviousRef.esm.js +5 -0
- package/useReveal.d.ts +34 -0
- package/useScrollPosition.cjs.d.ts +2 -0
- package/useScrollPosition.cjs.default.js +1 -0
- package/useScrollPosition.cjs.js +13 -0
- package/useScrollPosition.cjs.mjs +2 -0
- package/useScrollPosition.d.ts +8 -2
- package/useScrollPosition.esm.d.ts +2 -0
- package/useScrollPosition.esm.js +8 -0
- package/useScrollThreshold.cjs.d.ts +2 -0
- package/useScrollThreshold.cjs.default.js +1 -0
- package/useScrollThreshold.cjs.js +12 -0
- package/useScrollThreshold.cjs.mjs +2 -0
- package/useScrollThreshold.d.ts +1 -1
- package/useScrollThreshold.esm.d.ts +2 -0
- package/useScrollThreshold.esm.js +7 -0
- package/useScrollTo.cjs.d.ts +2 -0
- package/useScrollTo.cjs.default.js +1 -0
- package/useScrollTo.cjs.js +10 -0
- package/useScrollTo.cjs.mjs +2 -0
- package/useScrollTo.d.ts +1 -1
- package/useScrollTo.esm.d.ts +2 -0
- package/useScrollTo.esm.js +5 -0
- package/useSmoothScroll.cjs.d.ts +2 -0
- package/useSmoothScroll.cjs.default.js +1 -0
- package/useSmoothScroll.cjs.js +13 -0
- package/useSmoothScroll.cjs.mjs +2 -0
- package/useSmoothScroll.d.ts +7 -1
- package/useSmoothScroll.esm.d.ts +2 -0
- package/useSmoothScroll.esm.js +8 -0
- package/useSpinDelay.cjs.d.ts +2 -0
- package/useSpinDelay.cjs.default.js +1 -0
- package/useSpinDelay.cjs.js +10 -0
- package/useSpinDelay.cjs.mjs +2 -0
- package/useSpinDelay.d.ts +13 -1
- package/useSpinDelay.esm.d.ts +2 -0
- package/useSpinDelay.esm.js +5 -0
- package/useTraceUpdate.cjs.d.ts +2 -0
- package/useTraceUpdate.cjs.default.js +1 -0
- package/useTraceUpdate.cjs.js +10 -0
- package/useTraceUpdate.cjs.mjs +2 -0
- package/useTraceUpdate.d.ts +4 -1
- package/useTraceUpdate.esm.d.ts +2 -0
- package/useTraceUpdate.esm.js +5 -0
- package/useUpdateEffect.cjs.d.ts +2 -0
- package/useUpdateEffect.cjs.default.js +1 -0
- package/useUpdateEffect.cjs.js +11 -0
- package/useUpdateEffect.cjs.mjs +2 -0
- package/useUpdateEffect.d.ts +4 -1
- package/useUpdateEffect.esm.d.ts +2 -0
- package/useUpdateEffect.esm.js +6 -0
- package/useWindowSize.cjs.d.ts +2 -0
- package/useWindowSize.cjs.default.js +1 -0
- package/useWindowSize.cjs.js +11 -0
- package/useWindowSize.cjs.mjs +2 -0
- package/useWindowSize.d.ts +11 -2
- package/useWindowSize.esm.d.ts +2 -0
- package/useWindowSize.esm.js +6 -0
- package/Alert/Alert.d.ts +0 -5
- package/Alert/Alert.js +0 -10
- package/Alert/index.d.ts +0 -1
- package/Alert/index.js +0 -1
- package/Animations/Reveal.d.ts +0 -3
- package/Animations/Reveal.js +0 -16
- package/Animations/Underline.d.ts +0 -1
- package/Animations/Underline.js +0 -5
- package/Animations/index.d.ts +0 -3
- package/Animations/index.js +0 -3
- package/Animations/useReveal.d.ts +0 -13
- package/Animations/useReveal.js +0 -43
- package/Autocomplete/AutocompleteDownshift.d.ts +0 -1
- package/Autocomplete/AutocompleteDownshift.js +0 -1
- package/Autocomplete/AutocompleteDownshiftMultiselect.d.ts +0 -1
- package/Autocomplete/AutocompleteDownshiftMultiselect.js +0 -1
- package/Autocomplete/AutocompleteMui.d.ts +0 -22
- package/Autocomplete/AutocompleteMui.js +0 -93
- package/Autocomplete/AutocompleteReach.d.ts +0 -1
- package/Autocomplete/AutocompleteReach.js +0 -1
- package/Autocomplete/components.d.ts +0 -12
- package/Autocomplete/components.js +0 -26
- package/Autocomplete/helpers.d.ts +0 -3
- package/Autocomplete/helpers.js +0 -16
- package/Autocomplete/index.d.ts +0 -2
- package/Autocomplete/index.js +0 -1
- package/Bg/BgColor.d.ts +0 -12
- package/Bg/BgColor.js +0 -16
- package/Bg/BgPhoto.d.ts +0 -8
- package/Bg/BgPhoto.js +0 -16
- package/Bg/BgSvg.d.ts +0 -4
- package/Bg/BgSvg.js +0 -9
- package/Bg/index.d.ts +0 -3
- package/Bg/index.js +0 -3
- package/Breadcrumbs/Breadcrumbs.d.ts +0 -13
- package/Breadcrumbs/Breadcrumbs.js +0 -27
- package/Breadcrumbs/index.d.ts +0 -1
- package/Breadcrumbs/index.js +0 -1
- package/Buttons/Button.d.ts +0 -14
- package/Buttons/Button.js +0 -10
- package/Buttons/ButtonComposite.d.ts +0 -22
- package/Buttons/ButtonComposite.js +0 -28
- package/Buttons/ButtonFab.d.ts +0 -4
- package/Buttons/ButtonFab.js +0 -6
- package/Buttons/ButtonLink.d.ts +0 -8
- package/Buttons/ButtonLink.js +0 -11
- package/Buttons/IconButton.d.ts +0 -8
- package/Buttons/IconButton.js +0 -7
- package/Buttons/index.d.ts +0 -5
- package/Buttons/index.js +0 -5
- package/Calendar/CalendarDaygridCell.js +0 -46
- package/Calendar/CalendarDaygridNav.js +0 -24
- package/Calendar/CalendarDaygridTable.js +0 -45
- package/Calendar/CalendarLegend.js +0 -9
- package/Calendar/calendar-api-google.d.ts +0 -10
- package/Calendar/calendar-api-google.js +0 -124
- package/Calendar/index.d.ts +0 -6
- package/Calendar/index.js +0 -6
- package/Calendar/types.js +0 -1
- package/Calendar/useCalendar.js +0 -176
- package/Calendar/utils.d.ts +0 -11
- package/Calendar/utils.js +0 -185
- package/Carousel/Carousel.d.ts +0 -1
- package/Carousel/Carousel.js +0 -1
- package/Carousel/CarouselCss.d.ts +0 -13
- package/Carousel/CarouselCss.js +0 -19
- package/Carousel/index.d.ts +0 -1
- package/Carousel/index.js +0 -1
- package/Collapsable/Collapsable.d.ts +0 -1
- package/Collapsable/Collapsable.js +0 -1
- package/Collapsable/CollapsableReach.d.ts +0 -0
- package/Collapsable/CollapsableReach.js +0 -1
- package/Collapsable/index.d.ts +0 -1
- package/Collapsable/index.js +0 -1
- package/Debug/Debug.d.ts +0 -4
- package/Debug/Debug.js +0 -9
- package/Debug/index.d.ts +0 -1
- package/Debug/index.js +0 -1
- package/Details/Details.d.ts +0 -398
- package/Details/Details.js +0 -52
- package/Details/index.d.ts +0 -1
- package/Details/index.js +0 -1
- package/Dialog/DialogMui.d.ts +0 -165
- package/Dialog/DialogMui.js +0 -39
- package/Dialog/css/bare.d.ts +0 -171
- package/Dialog/css/bare.js +0 -21
- package/Dialog/index.d.ts +0 -2
- package/Dialog/index.js +0 -1
- package/Dialog/m/bare.d.ts +0 -4
- package/Dialog/m/bare.js +0 -3
- package/Dialog/m/basic.d.ts +0 -4
- package/Dialog/m/basic.js +0 -28
- package/Dialog/m/index.d.ts +0 -2
- package/Dialog/m/index.js +0 -4
- package/Dialog/sc/bare.d.ts +0 -61
- package/Dialog/sc/bare.js +0 -31
- package/Dialog/sc/framer.d.ts +0 -24
- package/Dialog/sc/framer.js +0 -16
- package/Dialog/sc/framerMaterial.d.ts +0 -24
- package/Dialog/sc/framerMaterial.js +0 -16
- package/Dialog/sc/material.d.ts +0 -60
- package/Dialog/sc/material.js +0 -21
- package/Dialog/tw/bare.d.ts +0 -208
- package/Dialog/tw/bare.js +0 -29
- package/Dialog/tw/elegant.d.ts +0 -270
- package/Dialog/tw/elegant.js +0 -21
- package/Dialog/tw/framer.d.ts +0 -108
- package/Dialog/tw/framer.js +0 -16
- package/Dialog/tw/framerMaterial.d.ts +0 -164
- package/Dialog/tw/framerMaterial.js +0 -16
- package/Dialog/tw/material.d.ts +0 -270
- package/Dialog/tw/material.js +0 -21
- package/Editor/Editor--tiptap.d.ts +0 -9
- package/Editor/Editor--tiptap.js +0 -26
- package/Editor/components.d.ts +0 -5
- package/Editor/components.js +0 -10
- package/Editor/index.d.ts +0 -1
- package/Editor/index.js +0 -1
- package/FaviconTags.js +0 -6
- package/Form/Form.d.ts +0 -125
- package/Form/Form.js +0 -60
- package/Form/index.d.ts +0 -1
- package/Form/index.js +0 -1
- package/Form/sc/bare.d.ts +0 -57
- package/Form/sc/bare.js +0 -20
- package/Forms/Checkbox/Checkbox.d.ts +0 -7
- package/Forms/Checkbox/Checkbox.js +0 -15
- package/Forms/Checkbox/index.d.ts +0 -1
- package/Forms/Checkbox/index.js +0 -1
- package/Forms/Feedback/Feedback.d.ts +0 -5
- package/Forms/Feedback/Feedback.js +0 -9
- package/Forms/Feedback/index.d.ts +0 -1
- package/Forms/Feedback/index.js +0 -1
- package/Forms/Field/Field.d.ts +0 -18
- package/Forms/Field/Field.js +0 -25
- package/Forms/Field/FieldControl.d.ts +0 -14
- package/Forms/Field/FieldControl.js +0 -35
- package/Forms/Field/FieldHint.d.ts +0 -1
- package/Forms/Field/FieldHint.js +0 -4
- package/Forms/Field/index.d.ts +0 -2
- package/Forms/Field/index.js +0 -2
- package/Forms/Input/Input.d.ts +0 -8
- package/Forms/Input/Input.js +0 -16
- package/Forms/Input/index.d.ts +0 -1
- package/Forms/Input/index.js +0 -1
- package/Forms/InputGroup/InputGroup.d.ts +0 -12
- package/Forms/InputGroup/InputGroup.js +0 -15
- package/Forms/InputGroup/index.d.ts +0 -1
- package/Forms/InputGroup/index.js +0 -1
- package/Forms/Label/Label.d.ts +0 -3
- package/Forms/Label/Label.js +0 -6
- package/Forms/Label/index.d.ts +0 -1
- package/Forms/Label/index.js +0 -1
- package/Forms/Password/Password.d.ts +0 -4
- package/Forms/Password/Password.js +0 -17
- package/Forms/Password/index.d.ts +0 -1
- package/Forms/Password/index.js +0 -1
- package/Forms/Radio/Radio.d.ts +0 -11
- package/Forms/Radio/Radio.js +0 -25
- package/Forms/Radio/index.d.ts +0 -1
- package/Forms/Radio/index.js +0 -1
- package/Forms/Switch/Switch.d.ts +0 -5
- package/Forms/Switch/Switch.js +0 -17
- package/Forms/Switch/index.d.ts +0 -1
- package/Forms/Switch/index.js +0 -1
- package/Forms/Textarea/Textarea.d.ts +0 -4
- package/Forms/Textarea/Textarea.js +0 -12
- package/Forms/Textarea/TextareaRich.d.ts +0 -5
- package/Forms/Textarea/TextareaRich.js +0 -26
- package/Forms/Textarea/index.d.ts +0 -2
- package/Forms/Textarea/index.js +0 -2
- package/Forms/Toggle/Toggle-tailwind.d.ts +0 -0
- package/Forms/Toggle/Toggle-tailwind.js +0 -1
- package/Forms/Toggle/Toggle.d.ts +0 -18
- package/Forms/Toggle/Toggle.js +0 -25
- package/Forms/Toggle/index.d.ts +0 -1
- package/Forms/Toggle/index.js +0 -1
- package/Forms/Toggle/useToggle-tailwind.d.ts +0 -0
- package/Forms/Toggle/useToggle-tailwind.js +0 -1
- package/Forms/Toggle/useToggle.d.ts +0 -16
- package/Forms/Toggle/useToggle.js +0 -85
- package/Forms/antispam.d.ts +0 -27
- package/Forms/antispam.js +0 -29
- package/Forms/helpers.d.ts +0 -18
- package/Forms/helpers.js +0 -35
- package/Forms/index.d.ts +0 -15
- package/Forms/index.js +0 -15
- package/Forms/styles.d.ts +0 -9
- package/Forms/styles.js +0 -19
- package/Gauge/Gauge.d.ts +0 -4
- package/Gauge/Gauge.js +0 -1
- package/Grid/Grid.d.ts +0 -32
- package/Grid/Grid.js +0 -52
- package/Grid/index.d.ts +0 -1
- package/Grid/index.js +0 -1
- package/Hamburger/Hamburger.d.ts +0 -5
- package/Hamburger/Hamburger.js +0 -47
- package/Hamburger/index.d.ts +0 -1
- package/Hamburger/index.js +0 -1
- package/Header/index.d.ts +0 -1
- package/Header/index.js +0 -1
- package/Header/useHeader.d.ts +0 -20
- package/Header/useHeader.js +0 -32
- package/Hidden/Hidden.d.ts +0 -6
- package/Hidden/Hidden.js +0 -10
- package/Hidden/index.d.ts +0 -1
- package/Hidden/index.js +0 -1
- package/Img/index.d.ts +0 -1
- package/Img/index.js +0 -1
- package/Img/sc/bare.d.ts +0 -2
- package/Img/sc/bare.js +0 -4
- package/Img/types.d.ts +0 -9
- package/Img/types.js +0 -1
- package/Link/Link.d.ts +0 -3
- package/Link/Link.js +0 -4
- package/Link/LinkBlank.d.ts +0 -5
- package/Link/LinkBlank.js +0 -15
- package/Link/index.d.ts +0 -2
- package/Link/index.js +0 -2
- package/Menu/Menu.d.ts +0 -1
- package/Menu/Menu.js +0 -4
- package/Menu/MenuMui.d.ts +0 -0
- package/Menu/MenuMui.js +0 -1
- package/Menu/index.d.ts +0 -1
- package/Menu/index.js +0 -1
- package/MenuItem/MenuItem.d.ts +0 -1
- package/MenuItem/MenuItem.js +0 -4
- package/MenuItem/MenuItemMui.d.ts +0 -0
- package/MenuItem/MenuItemMui.js +0 -1
- package/MenuItem/index.d.ts +0 -1
- package/MenuItem/index.js +0 -1
- package/MenuItem/useMenuItem.d.ts +0 -9
- package/MenuItem/useMenuItem.js +0 -42
- package/Meta.js +0 -6
- package/NoJs.js +0 -7
- package/Pagination/PaginationNav.d.ts +0 -14
- package/Pagination/PaginationNav.js +0 -48
- package/Pagination/PaginationResults.d.ts +0 -3
- package/Pagination/PaginationResults.js +0 -11
- package/Pagination/index.d.ts +0 -2
- package/Pagination/index.js +0 -2
- package/Pill/Pill.d.ts +0 -5
- package/Pill/Pill.js +0 -7
- package/Pill/index.d.ts +0 -1
- package/Pill/index.js +0 -1
- package/Progress/ProgressCircular.d.ts +0 -13
- package/Progress/ProgressCircular.js +0 -12
- package/Progress/ProgressLinear.d.ts +0 -15
- package/Progress/ProgressLinear.js +0 -21
- package/Progress/ProgressOverlay.d.ts +0 -4
- package/Progress/ProgressOverlay.js +0 -23
- package/Progress/index.d.ts +0 -3
- package/Progress/index.js +0 -3
- package/Rating/Rating.d.ts +0 -27
- package/Rating/Rating.js +0 -43
- package/Rating/index.d.ts +0 -8
- package/Rating/index.js +0 -45
- package/Select/SelectDownshift.d.ts +0 -5
- package/Select/SelectDownshift.js +0 -1
- package/Select/components.d.ts +0 -6
- package/Select/components.js +0 -12
- package/Select/index.d.ts +0 -2
- package/Select/index.js +0 -1
- package/Sidebar/Sidebar.d.ts +0 -3
- package/Sidebar/Sidebar.js +0 -23
- package/Sidebar/index.d.ts +0 -1
- package/Sidebar/index.js +0 -1
- package/Spacing/Spacing.d.ts +0 -17
- package/Spacing/Spacing.js +0 -32
- package/Spacing/index.d.ts +0 -1
- package/Spacing/index.js +0 -1
- package/Sticky/Sticky.d.ts +0 -2
- package/Sticky/Sticky.js +0 -1
- package/Sticky/StickyCss.d.ts +0 -5
- package/Sticky/StickyCss.js +0 -6
- package/Sticky/index.d.ts +0 -1
- package/Sticky/index.js +0 -1
- package/Tabs/TabsMui.d.ts +0 -84
- package/Tabs/TabsMui.js +0 -30
- package/Tabs/index.d.ts +0 -1
- package/Tabs/index.js +0 -1
- package/Tabs/sc/bare.d.ts +0 -0
- package/Tabs/sc/bare.js +0 -1
- package/Tabs/tw/bare.d.ts +0 -85
- package/Tabs/tw/bare.js +0 -17
- package/Tabs/tw/material.d.ts +0 -118
- package/Tabs/tw/material.js +0 -19
- package/Tabs/useTabs.d.ts +0 -21
- package/Tabs/useTabs.js +0 -44
- package/Typography/CopyPasteVisible.d.ts +0 -1
- package/Typography/CopyPasteVisible.js +0 -4
- package/Typography/Native.d.ts +0 -10
- package/Typography/Native.js +0 -14
- package/Typography/ReadMore.d.ts +0 -10
- package/Typography/ReadMore.js +0 -42
- package/Typography/TextLoop.d.ts +0 -16
- package/Typography/TextLoop.js +0 -45
- package/Typography/TypeStairs.d.ts +0 -6
- package/Typography/TypeStairs.js +0 -42
- package/Typography/index.d.ts +0 -5
- package/Typography/index.js +0 -5
- package/classed.js +0 -43
- package/createUseMediaQueryWidth.js +0 -39
- package/css/index.d.ts +0 -1
- package/css/index.js +0 -1
- package/extendComponent.js +0 -9
- package/index.js +0 -24
- package/m/MotionProvider.d.ts +0 -6
- package/m/MotionProvider.js +0 -7
- package/m/index.d.ts +0 -1
- package/m/index.js +0 -1
- package/m/lite.d.ts +0 -2
- package/m/lite.js +0 -2
- package/m/max.d.ts +0 -2
- package/m/max.js +0 -2
- package/mergeRefs.js +0 -13
- package/sc/index.d.ts +0 -29
- package/sc/index.js +0 -29
- package/scm/index.d.ts +0 -28
- package/scm/index.js +0 -28
- package/shared/index.d.ts +0 -7
- package/shared/index.js +0 -7
- package/styles/Body.d.ts +0 -2
- package/styles/Body.js +0 -5
- package/styles/Global.d.ts +0 -2
- package/styles/Global.js +0 -5
- package/styles/index.d.ts +0 -7
- package/styles/index.js +0 -7
- package/styles/media.d.ts +0 -18
- package/styles/media.js +0 -75
- package/styles/spacing.d.ts +0 -12
- package/styles/spacing.js +0 -45
- package/styles/styled.d.ts +0 -8
- package/styles/styled.js +0 -9
- package/styles/theme--vanilla.d.ts +0 -17
- package/styles/theme--vanilla.js +0 -47
- package/styles/theme.d.ts +0 -53
- package/styles/theme.js +0 -30
- package/tw/index.d.ts +0 -1
- package/tw/index.js +0 -1
- package/twm/index.d.ts +0 -1
- package/twm/index.js +0 -1
- package/types.js +0 -1
- package/typings.d.ts +0 -99
- package/useAsyncFn.js +0 -33
- package/useDateLocale.d.ts +0 -2
- package/useDateLocale.js +0 -28
- package/useFirstMountState.js +0 -10
- package/useFixedOffset.js +0 -42
- package/useFocus.js +0 -9
- package/useInterval.js +0 -22
- package/useIsomorphicLayoutEffect.js +0 -6
- package/useKeyUp.js +0 -18
- package/useMeasure.js +0 -130
- package/useMountedState.js +0 -13
- package/useNavigateAway.js +0 -25
- package/usePrevious.js +0 -10
- package/usePreviousRef.js +0 -9
- package/useScrollPosition.js +0 -61
- package/useScrollThreshold.js +0 -27
- package/useScrollTo.js +0 -23
- package/useSmoothScroll.js +0 -32
- package/useSpinDelay.js +0 -39
- package/useTraceUpdate.js +0 -19
- package/useUpdateEffect.js +0 -11
- package/useWindowSize.js +0 -20
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./FaviconTags.cjs.js').default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
let FaviconTags=({name:a,color:t,safariTabColor:o,tileColor:c,themeColor:l})=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("link",{rel:"shortcut icon",href:"/favicon.ico",type:"image/x-icon"}),jsxRuntime.jsx("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"}),jsxRuntime.jsx("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}),jsxRuntime.jsx("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}),jsxRuntime.jsx("link",{rel:"manifest",href:"/site.webmanifest"}),jsxRuntime.jsx("link",{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:o||t}),jsxRuntime.jsx("meta",{name:"apple-mobile-web-app-title",content:a}),jsxRuntime.jsx("meta",{name:"application-name",content:a}),jsxRuntime.jsx("meta",{name:"msapplication-TileColor",content:c||t}),jsxRuntime.jsx("meta",{name:"theme-color",content:l||t})]});
|
|
8
|
+
|
|
9
|
+
exports.FaviconTags = FaviconTags;
|
|
10
|
+
exports.default = FaviconTags;
|
package/FaviconTags.d.ts
CHANGED
|
@@ -5,5 +5,15 @@ export type FaviconTagsProps = {
|
|
|
5
5
|
tileColor?: string;
|
|
6
6
|
themeColor?: string;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* Favicon tags.
|
|
10
|
+
*
|
|
11
|
+
* This component is meant to be wrapped in a `<head>` manager component.
|
|
12
|
+
*
|
|
13
|
+
* These tags have been produced by [realfavicongenerator.net](https://realfavicongenerator.net/)
|
|
14
|
+
* on _**16 Feb 2022**_.
|
|
15
|
+
*
|
|
16
|
+
* @see https://realfavicongenerator.net/
|
|
17
|
+
*/
|
|
18
|
+
export declare let FaviconTags: ({ name, color, safariTabColor, tileColor, themeColor, }: FaviconTagsProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
19
|
export default FaviconTags;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
let FaviconTags=({name:a,color:t,safariTabColor:o,tileColor:c,themeColor:l})=>jsxs(Fragment,{children:[jsx("link",{rel:"shortcut icon",href:"/favicon.ico",type:"image/x-icon"}),jsx("link",{rel:"apple-touch-icon",sizes:"180x180",href:"/apple-touch-icon.png"}),jsx("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}),jsx("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}),jsx("link",{rel:"manifest",href:"/site.webmanifest"}),jsx("link",{rel:"mask-icon",href:"/safari-pinned-tab.svg",color:o||t}),jsx("meta",{name:"apple-mobile-web-app-title",content:a}),jsx("meta",{name:"application-name",content:a}),jsx("meta",{name:"msapplication-TileColor",content:c||t}),jsx("meta",{name:"theme-color",content:l||t})]});
|
|
4
|
+
|
|
5
|
+
export { FaviconTags, FaviconTags as default };
|
package/Meta.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./Meta.cjs.js').default;
|
package/Meta.cjs.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
let Meta=({zoom:t})=>jsxRuntime.jsx("meta",{name:"viewport",content:`width=device-width, initial-scale=1, maximum-scale=1${t?"":", user-scalable=0"}`});
|
|
8
|
+
|
|
9
|
+
exports.Meta = Meta;
|
|
10
|
+
exports.default = Meta;
|
package/Meta.cjs.mjs
ADDED
package/Meta.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
export type MetaProps = {
|
|
2
|
+
/**
|
|
3
|
+
* Determines whether `user-scalable=0` is add to the `meta->viewport` content
|
|
4
|
+
*
|
|
5
|
+
* This is an opt in instead of the default browser behaviour as it helps prevent
|
|
6
|
+
* weird zooming on input fields on iPhone iOS devices.
|
|
7
|
+
* @see https://www.warrenchandler.com/2019/04/02/stop-iphones-from-zooming-in-on-form-fields/
|
|
8
|
+
* @see https://css-tricks.com/16px-or-larger-text-prevents-ios-form-zoom/
|
|
9
|
+
*
|
|
10
|
+
* @default false
|
|
11
|
+
*/
|
|
2
12
|
zoom?: boolean;
|
|
3
13
|
};
|
|
4
|
-
export declare
|
|
14
|
+
export declare let Meta: ({ zoom }: MetaProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
15
|
export default Meta;
|
package/Meta.esm.d.ts
ADDED
package/Meta.esm.js
ADDED
package/NoJs.cjs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./NoJs.cjs.js').default;
|
package/NoJs.cjs.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
let NoJs=t=>jsxRuntime.jsx("script",{id:"no-js",dangerouslySetInnerHTML:{__html:'document.querySelector("html").className=document.querySelector("html").className.replace(/no-js/,"") + "js";'}});
|
|
8
|
+
|
|
9
|
+
exports.NoJs = NoJs;
|
|
10
|
+
exports.default = NoJs;
|
package/NoJs.cjs.mjs
ADDED
package/NoJs.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type NoJsProps =
|
|
2
|
-
export declare
|
|
1
|
+
export type NoJsProps = Record<string, never>;
|
|
2
|
+
export declare let NoJs: (_props: NoJsProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default NoJs;
|
package/NoJs.esm.d.ts
ADDED
package/NoJs.esm.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Polymorphic";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
exports._default = require('./Polymorphic.cjs.js').default;
|
package/Polymorphic.d.ts
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* React Polymorphic components type utilities
|
|
3
|
+
*
|
|
4
|
+
* @resources
|
|
5
|
+
* - [Polymorphic types from Radix UI in Wanda System](https://github.com/wonderflow-bv/wanda/blob/main/packages/react-components/src/types/polymorphic/index.ts)
|
|
6
|
+
* - [TypeScript + React: Typing Generic forwardRefs](https://fettblog.eu/typescript-react-generic-forward-refs/)
|
|
7
|
+
* - [React with Typescript -- Generics while using React.forwardRef](https://stackoverflow.com/a/58473012/1938970)
|
|
8
|
+
* - [How to write a generic that extracts the prop types of the component that passed in](https://stackoverflow.com/a/57846897/1938970)
|
|
9
|
+
* - [React TS Generic component to pass generic props to children](https://stackoverflow.com/a/68442669/1938970)
|
|
10
|
+
* - [About custom ref prop](https://gist.github.com/gaearon/1a018a023347fe1c2476073330cc5509)
|
|
11
|
+
* - [forwardRef performance](https://github.com/facebook/react/issues/13456)
|
|
12
|
+
* - [React docs: Exposing DOM Refs to Parent Components](https://github.com/facebook/react/issues/13456)
|
|
13
|
+
*/
|
|
14
|
+
export declare namespace Polymorphic {
|
|
15
|
+
type Merge<P1 = Record<string, never>, P2 = Record<string, never>> = Omit<P1, keyof P2> & P2;
|
|
16
|
+
type ComponentTypes = React.ComponentClass<any> | React.FunctionComponent<any> | keyof JSX.IntrinsicElements;
|
|
17
|
+
type InferProps<TComponent extends ComponentTypes> = TComponent extends React.ComponentClass<infer Props> ? Props : TComponent extends React.FunctionComponent<infer Props> ? Props : TComponent extends React.ForwardRefExoticComponent<infer Props> ? Props : TComponent extends keyof JSX.IntrinsicElements ? React.ComponentPropsWithoutRef<TComponent> : never;
|
|
18
|
+
type AsProp<TComponent extends React.ElementType> = {
|
|
19
|
+
as?: TComponent;
|
|
20
|
+
};
|
|
21
|
+
export type Ref<TComponent extends React.ElementType> = React.ComponentPropsWithRef<TComponent>["ref"];
|
|
22
|
+
export type Props<TComponent extends React.ElementType, Props = Record<string, never>> = Omit<InferProps<TComponent>, keyof Props> & AsProp<TComponent> & Props;
|
|
23
|
+
export type PropsWithRef<TComponent extends React.ElementType, TProps = Record<string, never>> = Props<TComponent, TProps> & {
|
|
24
|
+
ref?: Ref<TComponent>;
|
|
25
|
+
};
|
|
26
|
+
type ForwardRefExoticComponent<TComponent, OwnProps> = React.ForwardRefExoticComponent<Merge<TComponent extends React.ElementType ? React.ComponentPropsWithRef<TComponent> : never, OwnProps & {
|
|
27
|
+
as?: TComponent;
|
|
28
|
+
}>>;
|
|
29
|
+
export type ComponentForwarded<TComponent, TProps = Record<string, never>> = ForwardRefExoticComponent<TComponent, TProps> & {
|
|
30
|
+
<As = TComponent>(props: As extends "" ? {
|
|
31
|
+
as: keyof JSX.IntrinsicElements;
|
|
32
|
+
} : As extends React.ComponentType<infer P> ? Merge<P, TProps & {
|
|
33
|
+
as: As;
|
|
34
|
+
}> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], TProps & {
|
|
35
|
+
as: As;
|
|
36
|
+
}> : never): React.ReactElement | null;
|
|
37
|
+
};
|
|
38
|
+
export {};
|
|
39
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./Polymorphic";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
|
package/README.md
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# @koine/react
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var utils = require('./utils.cjs.js');
|
|
6
|
+
|
|
7
|
+
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={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.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,...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:utils.getDisplayTime(t.start)}),jsxRuntime.jsx(w,{children:t.title})]})})})},t.key)})})};
|
|
8
|
+
|
|
9
|
+
exports.CalendarDaygridCell = CalendarDaygridCell;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { KoineComponent, KoineComponentProps } from "../types
|
|
2
|
-
import type { CalendarView, CalendarViewDayProps, CalendarViewEvent, CalendarsMap } from "./types
|
|
3
|
-
import { UseCalendarReturn } from "./useCalendar
|
|
1
|
+
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
+
import type { CalendarView, CalendarViewDayProps, CalendarViewEvent, CalendarsMap } from "./types";
|
|
3
|
+
import type { UseCalendarReturn } from "./useCalendar";
|
|
4
4
|
export type KoineCalendarDaygridCellProps = {
|
|
5
5
|
eventClicked?: UseCalendarReturn["eventClicked"];
|
|
6
6
|
setEventClicked: UseCalendarReturn["setEventClicked"];
|
|
@@ -32,4 +32,4 @@ export type CalendarDaygridCellComponents = {
|
|
|
32
32
|
CellEventStart?: KoineComponent;
|
|
33
33
|
};
|
|
34
34
|
export type CalendarDaygridCellProps = KoineComponentProps<KoineCalendarDaygridCellProps, CalendarDaygridCellComponents>;
|
|
35
|
-
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;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, Fragment } from 'react';
|
|
3
|
+
import { getDisplayTime } from './utils.esm.js';
|
|
4
|
+
|
|
5
|
+
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={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.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,...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)})})};
|
|
6
|
+
|
|
7
|
+
export { CalendarDaygridCell };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var format = require('date-fns/format');
|
|
5
|
+
var useDateLocale = require('./useDateLocale.cjs.js');
|
|
6
|
+
|
|
7
|
+
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.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})]})};
|
|
8
|
+
|
|
9
|
+
exports.KoineCalendarDaygridNav = KoineCalendarDaygridNav;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { KoineComponent, KoineComponentProps } from "../types
|
|
2
|
-
import type { CalendarRange, CalendarView } from "./types
|
|
1
|
+
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
+
import type { CalendarRange, CalendarView } from "./types";
|
|
3
3
|
export type KoineCalendarDaygridNavProps = {
|
|
4
4
|
locale: string;
|
|
5
5
|
range: CalendarRange;
|
|
@@ -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;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { format } from 'date-fns/format';
|
|
3
|
+
import { useDateLocale } from './useDateLocale.esm.js';
|
|
4
|
+
|
|
5
|
+
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})]})};
|
|
6
|
+
|
|
7
|
+
export { KoineCalendarDaygridNav };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var eachWeekOfInterval = require('date-fns/eachWeekOfInterval');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var reactSwipeable = require('react-swipeable');
|
|
7
|
+
var CalendarDaygridCell = require('./CalendarDaygridCell.cjs.js');
|
|
8
|
+
var useDateLocale = require('./useDateLocale.cjs.js');
|
|
9
|
+
var utils = require('./utils.cjs.js');
|
|
10
|
+
|
|
11
|
+
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.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(utils.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=>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.CalendarDaygridCell,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
|
|
12
|
+
|
|
13
|
+
exports.KoineCalendarDaygridTable = KoineCalendarDaygridTable;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { KoineComponent, KoineComponentProps } from "../types
|
|
2
|
-
import { CalendarDaygridCellComponents, CalendarDaygridCellProps } from "./CalendarDaygridCell
|
|
3
|
-
import type { CalendarEventsMap, CalendarRange, CalendarView, CalendarViewDayProps } from "./types
|
|
1
|
+
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
+
import { type CalendarDaygridCellComponents, type CalendarDaygridCellProps } from "./CalendarDaygridCell";
|
|
3
|
+
import type { CalendarEventsMap, CalendarRange, CalendarView, CalendarViewDayProps } from "./types";
|
|
4
4
|
export type CalendarDaygridTableBodyCellProps = CalendarViewDayProps;
|
|
5
5
|
export type CalendarDaygridTableBodyCellDateProps = CalendarViewDayProps;
|
|
6
6
|
export type KoineCalendarDaygridTableProps = {
|
|
@@ -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;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { eachWeekOfInterval } from 'date-fns/eachWeekOfInterval';
|
|
3
|
+
import { useState, useMemo, useEffect } from 'react';
|
|
4
|
+
import { useSwipeable } from 'react-swipeable';
|
|
5
|
+
import { CalendarDaygridCell } from './CalendarDaygridCell.esm.js';
|
|
6
|
+
import { useDateLocale } from './useDateLocale.esm.js';
|
|
7
|
+
import { processEventsInView } from './utils.esm.js';
|
|
8
|
+
|
|
9
|
+
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=>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})]}))}))})]})};
|
|
10
|
+
|
|
11
|
+
export { KoineCalendarDaygridTable };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
|
|
5
|
+
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))});
|
|
6
|
+
|
|
7
|
+
exports.KoineCalendarLegend = KoineCalendarLegend;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { KoineComponent, KoineComponentProps } from "../types
|
|
2
|
-
import type { CalendarsMap } from "./types
|
|
1
|
+
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
+
import type { CalendarsMap } from "./types";
|
|
3
3
|
export type KoineCalendarLegendProps = {
|
|
4
4
|
toggleCalendarVisibility: (id: string) => void;
|
|
5
5
|
calendarsMap: CalendarsMap;
|
|
@@ -15,4 +15,4 @@ export type CalendarLegendProps = KoineComponentProps<KoineCalendarLegendProps,
|
|
|
15
15
|
LegendItemLabel?: KoineComponent;
|
|
16
16
|
LegendItemEvents?: KoineComponent;
|
|
17
17
|
}>;
|
|
18
|
-
export declare
|
|
18
|
+
export declare let KoineCalendarLegend: ({ calendarsMap, toggleCalendarVisibility, LegendItem, LegendItemStatus, LegendItemLabel, LegendItemEvents, }: CalendarLegendProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>jsx(Fragment,{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))});
|
|
4
|
+
|
|
5
|
+
export { KoineCalendarLegend };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var differenceInDays = require('date-fns/differenceInDays');
|
|
4
|
+
var subDays = require('date-fns/subDays');
|
|
5
|
+
var utils$1 = require('@koine/utils');
|
|
6
|
+
var utils = require('./utils.cjs.js');
|
|
7
|
+
|
|
8
|
+
let getCalendarsEventsFromGoogle=async({calendars:e,...t})=>{let a={};return await Promise.all(e.map(async e=>{utils.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$1.isUndefined(i.end.dateTime)&&utils$1.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=[utils.getEventTimestamp(t)];for(;differenceInDays.differenceInDays(a,t);)t.setDate(t.getDate()+1),n.push(utils.getEventTimestamp(t));return n}(),E=utils$1.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}
|
|
9
|
+
|
|
10
|
+
exports.getCalendarsEventsFromGoogle = getCalendarsEventsFromGoogle;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CalendarEventsMap, Calendars } from "./types";
|
|
2
|
+
type GetCalendarsEventsFromGoogleOptions = {
|
|
3
|
+
/** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY */
|
|
4
|
+
apiKey?: string;
|
|
5
|
+
/** Start gethering events from date */
|
|
6
|
+
start: Date;
|
|
7
|
+
/** End gethering events at date */
|
|
8
|
+
end: Date;
|
|
9
|
+
/**
|
|
10
|
+
* The default is the time zone of the calendar
|
|
11
|
+
* @see https://developers.google.com/calendar/api/v3/reference/events/list
|
|
12
|
+
*/
|
|
13
|
+
timeZone?: string;
|
|
14
|
+
/** The calendars settings */
|
|
15
|
+
calendars: Calendars;
|
|
16
|
+
};
|
|
17
|
+
export declare let getCalendarsEventsFromGoogle: ({ calendars, ...options }: GetCalendarsEventsFromGoogleOptions) => Promise<CalendarEventsMap>;
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { differenceInDays } from 'date-fns/differenceInDays';
|
|
2
|
+
import { subDays } from 'date-fns/subDays';
|
|
3
|
+
import { isUndefined, isString, arrayToLookup } from '@koine/utils';
|
|
4
|
+
import { addCalendarEvents, getEventTimestamp } from './utils.esm.js';
|
|
5
|
+
|
|
6
|
+
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}
|
|
7
|
+
|
|
8
|
+
export { getCalendarsEventsFromGoogle };
|
|
@@ -1,6 +1,10 @@
|
|
|
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
|
+
*/
|
|
4
8
|
name?: string;
|
|
5
9
|
};
|
|
6
10
|
export type Calendars = Calendar[];
|
|
@@ -12,8 +16,17 @@ export type CalendarRange = [Date, Date];
|
|
|
12
16
|
export type CalendarView = "month" | "week";
|
|
13
17
|
export type CalendarEvent = {
|
|
14
18
|
calendar: Calendar;
|
|
19
|
+
/**
|
|
20
|
+
* List of day timestamps across which the event spans
|
|
21
|
+
*/
|
|
15
22
|
days: number[];
|
|
23
|
+
/**
|
|
24
|
+
* Lookup object for day timestamps across which the event spans
|
|
25
|
+
*/
|
|
16
26
|
daysMap: Record<number, 1>;
|
|
27
|
+
/**
|
|
28
|
+
* Flag for events that spans across multiple days
|
|
29
|
+
*/
|
|
17
30
|
multi: boolean;
|
|
18
31
|
allDay: boolean;
|
|
19
32
|
link: string;
|
|
@@ -27,7 +40,13 @@ export type CalendarEvent = {
|
|
|
27
40
|
description: string;
|
|
28
41
|
uid: string;
|
|
29
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Calendar events mapped by day `timestamp` number
|
|
45
|
+
*/
|
|
30
46
|
export type CalendarEventsByTimestamp = Record<number, CalendarEventsMap>;
|
|
47
|
+
/**
|
|
48
|
+
* Calendar events map by `uid`
|
|
49
|
+
*/
|
|
31
50
|
export type CalendarEventsMap = Record<CalendarEvent["uid"], CalendarEvent>;
|
|
32
51
|
export type CalendarViewWeeks = CalendarViewWeek[];
|
|
33
52
|
export type CalendarViewWeek = {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
var calendarApiGoogle = require('./calendar-api-google.cjs.js');
|
|
5
|
+
var utils = require('./utils.cjs.js');
|
|
6
|
+
|
|
7
|
+
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||utils.getStartDate(new Date,w),h=y||utils.getEndDate(D,w),[O,P]=react.useState([D,h]),[j,x]=react.useState(utils.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 calendarApiGoogle.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=utils.getStartDate(new Date,w),n=utils.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=utils.getPrevDate(e,w),l=utils.getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),J=react.useCallback(()=>{P(([e])=>{let t=utils.getNextDate(e,w),l=utils.getEndDate(t,w);return [t,l]}),z(null),k(null);},[w]),K=react.useCallback(e=>{let t=utils.getStartDate(D,e),l=utils.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(utils.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})}};
|
|
8
|
+
|
|
9
|
+
exports.useCalendar = useCalendar;
|
|
@@ -1,15 +1,29 @@
|
|
|
1
|
-
import type { KoineCalendarDaygridNavProps } from "./CalendarDaygridNav
|
|
2
|
-
import type { KoineCalendarDaygridTableProps } from "./CalendarDaygridTable
|
|
3
|
-
import type { KoineCalendarLegendProps } from "./CalendarLegend
|
|
4
|
-
import type { CalendarEvent, CalendarEventsMap, CalendarView, Calendars } from "./types
|
|
1
|
+
import type { KoineCalendarDaygridNavProps } from "./CalendarDaygridNav";
|
|
2
|
+
import type { KoineCalendarDaygridTableProps } from "./CalendarDaygridTable";
|
|
3
|
+
import type { KoineCalendarLegendProps } from "./CalendarLegend";
|
|
4
|
+
import type { CalendarEvent, CalendarEventsMap, CalendarView, Calendars } from "./types";
|
|
5
5
|
export type UseCalendarProps = {
|
|
6
|
+
/** The locale to format with `date-fns` */
|
|
6
7
|
locale: string;
|
|
8
|
+
/** Calendars infos to use */
|
|
7
9
|
calendars: Calendars;
|
|
10
|
+
/** Fall back to `process.env.GOOGLE_CALENDAR_API_KEY */
|
|
8
11
|
apiKey?: string;
|
|
12
|
+
/** The key is the event `uid` */
|
|
9
13
|
events?: CalendarEventsMap;
|
|
14
|
+
/** It defaults to the first of the current month */
|
|
10
15
|
start?: Date;
|
|
16
|
+
/** It defaults to the last day of the current month */
|
|
11
17
|
end?: Date;
|
|
18
|
+
/**
|
|
19
|
+
* The calendar view
|
|
20
|
+
* @default "month"
|
|
21
|
+
*/
|
|
12
22
|
view?: CalendarView;
|
|
23
|
+
/**
|
|
24
|
+
* The default is the time zone of the calendar
|
|
25
|
+
* @see https://developers.google.com/calendar/api/v3/reference/events/list
|
|
26
|
+
*/
|
|
13
27
|
timeZone?: string;
|
|
14
28
|
onError?: (e: any) => void;
|
|
15
29
|
};
|
|
@@ -23,7 +37,7 @@ export type CalendarsUpdateActionVisibility = {
|
|
|
23
37
|
payload: string | string[];
|
|
24
38
|
};
|
|
25
39
|
export type CalendarsUpdateAction = CalendarsUpdateActionEvents | CalendarsUpdateActionVisibility;
|
|
26
|
-
export declare
|
|
40
|
+
export declare let useCalendar: ({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView, timeZone, onError, }: UseCalendarProps) => {
|
|
27
41
|
view: "month" | "week";
|
|
28
42
|
eventClicked: CalendarEvent | null;
|
|
29
43
|
setEventClicked: import("react").Dispatch<import("react").SetStateAction<CalendarEvent | null>>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { useState, useReducer, useCallback, useEffect } from 'react';
|
|
2
|
+
import { getCalendarsEventsFromGoogle } from './calendar-api-google.esm.js';
|
|
3
|
+
import { getStartDate, getEndDate, isTodayInView, getPrevDate, getNextDate } from './utils.esm.js';
|
|
4
|
+
|
|
5
|
+
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})}};
|
|
6
|
+
|
|
7
|
+
export { useCalendar };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var react = require('react');
|
|
4
|
+
|
|
5
|
+
let useDateLocale=(a,l="en")=>{let[r,n]=react.useState(),[o,c]=react.useState(l);return react.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};
|
|
6
|
+
|
|
7
|
+
exports.useDateLocale = useDateLocale;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Locale } from "date-fns";
|
|
2
|
+
/**
|
|
3
|
+
* Dynamically import the date-fns correct locale
|
|
4
|
+
*
|
|
5
|
+
* Inspired by:
|
|
6
|
+
* @see https://robertmarshall.dev/blog/dynamically-import-datefns-locale-mui-datepicker-localization/
|
|
7
|
+
*/
|
|
8
|
+
export declare let useDateLocale: (locale?: string, defaultLocale?: string) => Locale | undefined;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
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};
|
|
4
|
+
|
|
5
|
+
export { useDateLocale };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var addDays = require('date-fns/addDays');
|
|
4
|
+
var addMonths = require('date-fns/addMonths');
|
|
5
|
+
var addWeeks = require('date-fns/addWeeks');
|
|
6
|
+
var endOfMonth = require('date-fns/endOfMonth');
|
|
7
|
+
var endOfWeek = require('date-fns/endOfWeek');
|
|
8
|
+
var isWithinInterval = require('date-fns/isWithinInterval');
|
|
9
|
+
var startOfWeek = require('date-fns/startOfWeek');
|
|
10
|
+
var subMonths = require('date-fns/subMonths');
|
|
11
|
+
var subWeeks = require('date-fns/subWeeks');
|
|
12
|
+
|
|
13
|
+
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=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(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};
|
|
14
|
+
|
|
15
|
+
exports.addCalendarEvents = addCalendarEvents;
|
|
16
|
+
exports.getDisplayTime = getDisplayTime;
|
|
17
|
+
exports.getEndDate = getEndDate;
|
|
18
|
+
exports.getEventTimestamp = getEventTimestamp;
|
|
19
|
+
exports.getNextDate = getNextDate;
|
|
20
|
+
exports.getPrevDate = getPrevDate;
|
|
21
|
+
exports.getStartDate = getStartDate;
|
|
22
|
+
exports.isTodayInView = isTodayInView;
|
|
23
|
+
exports.processEventsInView = processEventsInView;
|