@koine/react 2.0.0-beta.77 → 2.0.0-beta.79
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 +12 -0
- package/FaviconTags.cjs.mjs +2 -0
- package/FaviconTags.esm.js +7 -0
- package/Meta.cjs.d.ts +2 -0
- package/Meta.cjs.default.js +1 -0
- package/Meta.cjs.js +12 -0
- package/Meta.cjs.mjs +2 -0
- package/Meta.esm.js +7 -0
- package/NoJs.cjs.d.ts +2 -0
- package/NoJs.cjs.default.js +1 -0
- package/NoJs.cjs.js +14 -0
- package/NoJs.cjs.mjs +2 -0
- package/NoJs.esm.js +9 -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.esm.js +1 -0
- package/README.md +1 -0
- package/calendar.cjs.d.ts +1 -0
- package/calendar.cjs.default.js +1 -0
- package/calendar.cjs.js +588 -0
- package/calendar.cjs.mjs +2 -0
- package/calendar.esm.js +561 -0
- package/classed.cjs.d.ts +2 -0
- package/classed.cjs.default.js +1 -0
- package/classed.cjs.js +48 -0
- package/classed.cjs.mjs +2 -0
- package/classed.d.ts +1 -1
- package/classed.esm.js +43 -0
- package/createUseMediaQueryWidth.cjs.d.ts +2 -0
- package/createUseMediaQueryWidth.cjs.default.js +1 -0
- package/createUseMediaQueryWidth.cjs.js +45 -0
- package/createUseMediaQueryWidth.cjs.mjs +2 -0
- package/createUseMediaQueryWidth.esm.js +40 -0
- package/extendComponent.cjs.d.ts +2 -0
- package/extendComponent.cjs.default.js +1 -0
- package/extendComponent.cjs.js +16 -0
- package/extendComponent.cjs.mjs +2 -0
- package/extendComponent.esm.js +11 -0
- package/forms.cjs.d.ts +1 -0
- package/forms.cjs.default.js +1 -0
- package/forms.cjs.js +37 -0
- package/forms.cjs.mjs +2 -0
- package/forms.esm.js +32 -0
- package/index.cjs.d.ts +1 -0
- package/index.cjs.default.js +1 -0
- package/index.cjs.js +63 -0
- package/index.cjs.mjs +2 -0
- package/index.esm.js +30 -0
- package/mergeRefs.cjs.d.ts +2 -0
- package/mergeRefs.cjs.default.js +1 -0
- package/mergeRefs.cjs.js +19 -0
- package/mergeRefs.cjs.mjs +2 -0
- package/mergeRefs.esm.js +14 -0
- package/package.json +110 -122
- 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.esm.js +1 -0
- package/useAsyncFn.cjs.d.ts +2 -0
- package/useAsyncFn.cjs.default.js +1 -0
- package/useAsyncFn.cjs.js +33 -0
- package/useAsyncFn.cjs.mjs +2 -0
- package/useAsyncFn.esm.js +28 -0
- package/useFirstMountState.cjs.d.ts +2 -0
- package/useFirstMountState.cjs.default.js +1 -0
- package/useFirstMountState.cjs.js +17 -0
- package/useFirstMountState.cjs.mjs +2 -0
- package/useFirstMountState.esm.js +12 -0
- package/useFixedOffset.cjs.d.ts +2 -0
- package/useFixedOffset.cjs.default.js +1 -0
- package/useFixedOffset.cjs.js +49 -0
- package/useFixedOffset.cjs.mjs +2 -0
- package/useFixedOffset.esm.js +44 -0
- package/useFocus.cjs.d.ts +2 -0
- package/useFocus.cjs.default.js +1 -0
- package/useFocus.cjs.js +16 -0
- package/useFocus.cjs.mjs +2 -0
- package/useFocus.esm.js +11 -0
- package/useInterval.cjs.d.ts +2 -0
- package/useInterval.cjs.default.js +1 -0
- package/useInterval.cjs.js +27 -0
- package/useInterval.cjs.mjs +2 -0
- package/useInterval.esm.js +22 -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 +2 -2
- package/useIsomorphicLayoutEffect.esm.js +6 -0
- package/useKeyUp.cjs.d.ts +2 -0
- package/useKeyUp.cjs.default.js +1 -0
- package/useKeyUp.cjs.js +23 -0
- package/useKeyUp.cjs.mjs +2 -0
- package/useKeyUp.esm.js +18 -0
- package/useMeasure.cjs.d.ts +2 -0
- package/useMeasure.cjs.default.js +1 -0
- package/useMeasure.cjs.js +126 -0
- package/useMeasure.cjs.mjs +2 -0
- package/useMeasure.esm.js +121 -0
- package/useMountedState.cjs.d.ts +2 -0
- package/useMountedState.cjs.default.js +1 -0
- package/useMountedState.cjs.js +20 -0
- package/useMountedState.cjs.mjs +2 -0
- package/useMountedState.esm.js +15 -0
- package/useNavigateAway.cjs.d.ts +2 -0
- package/useNavigateAway.cjs.default.js +1 -0
- package/useNavigateAway.cjs.js +32 -0
- package/useNavigateAway.cjs.mjs +2 -0
- package/useNavigateAway.esm.js +27 -0
- package/usePrevious.cjs.d.ts +2 -0
- package/usePrevious.cjs.default.js +1 -0
- package/usePrevious.cjs.js +16 -0
- package/usePrevious.cjs.mjs +2 -0
- package/usePrevious.esm.js +11 -0
- package/usePreviousRef.cjs.d.ts +2 -0
- package/usePreviousRef.cjs.default.js +1 -0
- package/usePreviousRef.cjs.js +16 -0
- package/usePreviousRef.cjs.mjs +2 -0
- package/usePreviousRef.esm.js +11 -0
- package/useScrollPosition.cjs.d.ts +2 -0
- package/useScrollPosition.cjs.default.js +1 -0
- package/useScrollPosition.cjs.js +65 -0
- package/useScrollPosition.cjs.mjs +2 -0
- package/useScrollPosition.esm.js +60 -0
- package/useScrollThreshold.cjs.d.ts +2 -0
- package/useScrollThreshold.cjs.default.js +1 -0
- package/useScrollThreshold.cjs.js +33 -0
- package/useScrollThreshold.cjs.mjs +2 -0
- package/useScrollThreshold.esm.js +28 -0
- package/useScrollTo.cjs.d.ts +2 -0
- package/useScrollTo.cjs.default.js +1 -0
- package/useScrollTo.cjs.js +25 -0
- package/useScrollTo.cjs.mjs +2 -0
- package/useScrollTo.esm.js +20 -0
- package/useSmoothScroll.cjs.d.ts +2 -0
- package/useSmoothScroll.cjs.default.js +1 -0
- package/useSmoothScroll.cjs.js +40 -0
- package/useSmoothScroll.cjs.mjs +2 -0
- package/useSmoothScroll.esm.js +35 -0
- package/useSpinDelay.cjs.d.ts +2 -0
- package/useSpinDelay.cjs.default.js +1 -0
- package/useSpinDelay.cjs.js +43 -0
- package/useSpinDelay.cjs.mjs +2 -0
- package/useSpinDelay.esm.js +38 -0
- package/useTraceUpdate.cjs.d.ts +2 -0
- package/useTraceUpdate.cjs.default.js +1 -0
- package/useTraceUpdate.cjs.js +24 -0
- package/useTraceUpdate.cjs.mjs +2 -0
- package/useTraceUpdate.esm.js +19 -0
- package/useUpdateEffect.cjs.d.ts +2 -0
- package/useUpdateEffect.cjs.default.js +1 -0
- package/useUpdateEffect.cjs.js +18 -0
- package/useUpdateEffect.cjs.mjs +2 -0
- package/useUpdateEffect.esm.js +13 -0
- package/useWindowSize.cjs.d.ts +2 -0
- package/useWindowSize.cjs.default.js +1 -0
- package/useWindowSize.cjs.js +27 -0
- package/useWindowSize.cjs.mjs +2 -0
- package/useWindowSize.esm.js +22 -0
- package/FaviconTags.js +0 -1
- package/Meta.js +0 -1
- package/NoJs.js +0 -1
- package/Polymorphic.js +0 -1
- package/calendar/CalendarDaygridCell.js +0 -1
- package/calendar/CalendarDaygridNav.js +0 -1
- package/calendar/CalendarDaygridTable.js +0 -1
- package/calendar/CalendarLegend.js +0 -1
- package/calendar/calendar-api-google.js +0 -1
- package/calendar/types.js +0 -1
- package/calendar/useCalendar.js +0 -1
- package/calendar/useDateLocale.js +0 -1
- package/calendar/utils.js +0 -1
- package/calendar.js +0 -1
- package/cjs/FaviconTags.d.ts +0 -9
- package/cjs/FaviconTags.js +0 -1
- package/cjs/Meta.d.ts +0 -5
- package/cjs/Meta.js +0 -1
- package/cjs/NoJs.d.ts +0 -3
- package/cjs/NoJs.js +0 -1
- package/cjs/Polymorphic.d.ts +0 -26
- package/cjs/Polymorphic.js +0 -1
- package/cjs/calendar/CalendarDaygridCell.d.ts +0 -35
- package/cjs/calendar/CalendarDaygridCell.js +0 -1
- package/cjs/calendar/CalendarDaygridNav.d.ts +0 -27
- package/cjs/calendar/CalendarDaygridNav.js +0 -1
- package/cjs/calendar/CalendarDaygridTable.d.ts +0 -25
- package/cjs/calendar/CalendarDaygridTable.js +0 -1
- package/cjs/calendar/CalendarLegend.d.ts +0 -18
- package/cjs/calendar/CalendarLegend.js +0 -1
- package/cjs/calendar/calendar-api-google.d.ts +0 -10
- package/cjs/calendar/calendar-api-google.js +0 -1
- package/cjs/calendar/types.d.ts +0 -62
- package/cjs/calendar/types.js +0 -1
- package/cjs/calendar/useCalendar.d.ts +0 -35
- package/cjs/calendar/useCalendar.js +0 -1
- package/cjs/calendar/useDateLocale.d.ts +0 -2
- package/cjs/calendar/useDateLocale.js +0 -1
- package/cjs/calendar/utils.d.ts +0 -11
- package/cjs/calendar/utils.js +0 -1
- package/cjs/calendar.d.ts +0 -7
- package/cjs/calendar.js +0 -1
- package/cjs/classed.d.ts +0 -8
- package/cjs/classed.js +0 -1
- package/cjs/createUseMediaQueryWidth.d.ts +0 -6
- package/cjs/createUseMediaQueryWidth.js +0 -1
- package/cjs/extendComponent.d.ts +0 -16
- package/cjs/extendComponent.js +0 -1
- package/cjs/forms/antispam.d.ts +0 -27
- package/cjs/forms/antispam.js +0 -1
- package/cjs/forms.d.ts +0 -1
- package/cjs/forms.js +0 -1
- package/cjs/index.d.ts +0 -28
- package/cjs/index.js +0 -1
- package/cjs/mergeRefs.d.ts +0 -2
- package/cjs/mergeRefs.js +0 -1
- package/cjs/package.json +0 -31
- package/cjs/types.d.ts +0 -2
- package/cjs/types.js +0 -1
- package/cjs/useAsyncFn.d.ts +0 -24
- package/cjs/useAsyncFn.js +0 -1
- package/cjs/useFirstMountState.d.ts +0 -2
- package/cjs/useFirstMountState.js +0 -1
- package/cjs/useFixedOffset.d.ts +0 -2
- package/cjs/useFixedOffset.js +0 -1
- package/cjs/useFocus.d.ts +0 -2
- package/cjs/useFocus.js +0 -1
- package/cjs/useInterval.d.ts +0 -2
- package/cjs/useInterval.js +0 -1
- package/cjs/useIsomorphicLayoutEffect.d.ts +0 -3
- package/cjs/useIsomorphicLayoutEffect.js +0 -1
- package/cjs/useKeyUp.d.ts +0 -2
- package/cjs/useKeyUp.js +0 -1
- package/cjs/useMeasure.d.ts +0 -22
- package/cjs/useMeasure.js +0 -1
- package/cjs/useMountedState.d.ts +0 -2
- package/cjs/useMountedState.js +0 -1
- package/cjs/useNavigateAway.d.ts +0 -3
- package/cjs/useNavigateAway.js +0 -1
- package/cjs/usePrevious.d.ts +0 -2
- package/cjs/usePrevious.js +0 -1
- package/cjs/usePreviousRef.d.ts +0 -2
- package/cjs/usePreviousRef.js +0 -1
- package/cjs/useReveal.d.ts +0 -13
- package/cjs/useReveal.js +0 -1
- package/cjs/useScrollPosition.d.ts +0 -7
- package/cjs/useScrollPosition.js +0 -1
- package/cjs/useScrollThreshold.d.ts +0 -2
- package/cjs/useScrollThreshold.js +0 -1
- package/cjs/useScrollTo.d.ts +0 -2
- package/cjs/useScrollTo.js +0 -1
- package/cjs/useSmoothScroll.d.ts +0 -2
- package/cjs/useSmoothScroll.js +0 -1
- package/cjs/useSpinDelay.d.ts +0 -2
- package/cjs/useSpinDelay.js +0 -1
- package/cjs/useTraceUpdate.d.ts +0 -2
- package/cjs/useTraceUpdate.js +0 -1
- package/cjs/useUpdateEffect.d.ts +0 -3
- package/cjs/useUpdateEffect.js +0 -1
- package/cjs/useWindowSize.d.ts +0 -3
- package/cjs/useWindowSize.js +0 -1
- package/classed.js +0 -1
- package/createUseMediaQueryWidth.js +0 -1
- package/extendComponent.js +0 -1
- package/forms/antispam.js +0 -1
- package/forms.js +0 -1
- package/index.js +0 -1
- package/mergeRefs.js +0 -1
- package/types.js +0 -1
- package/useAsyncFn.js +0 -1
- package/useFirstMountState.js +0 -1
- package/useFixedOffset.js +0 -1
- package/useFocus.js +0 -1
- package/useInterval.js +0 -1
- package/useIsomorphicLayoutEffect.js +0 -1
- package/useKeyUp.js +0 -1
- package/useMeasure.js +0 -1
- package/useMountedState.js +0 -1
- package/useNavigateAway.js +0 -1
- package/usePrevious.js +0 -1
- package/usePreviousRef.js +0 -1
- package/useReveal.js +0 -1
- package/useScrollPosition.js +0 -1
- package/useScrollThreshold.js +0 -1
- package/useScrollTo.js +0 -1
- package/useSmoothScroll.js +0 -1
- package/useSpinDelay.js +0 -1
- package/useTraceUpdate.js +0 -1
- package/useUpdateEffect.js +0 -1
- package/useWindowSize.js +0 -1
package/cjs/Meta.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";export let Meta=({zoom:t})=>e("meta",{name:"viewport",content:`width=device-width, initial-scale=1, maximum-scale=1${t?"":", user-scalable=0"}`});export default Meta;
|
package/cjs/NoJs.d.ts
DELETED
package/cjs/NoJs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";export let NoJs=t=>e("script",{id:"no-js",dangerouslySetInnerHTML:{__html:'document.querySelector("html").className=document.querySelector("html").className.replace(/no-js/,"") + "js";'}});export default NoJs;
|
package/cjs/Polymorphic.d.ts
DELETED
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
export declare namespace Polymorphic {
|
|
2
|
-
type Merge<P1 = Record<string, never>, P2 = Record<string, never>> = Omit<P1, keyof P2> & P2;
|
|
3
|
-
type ComponentTypes = React.ComponentClass<any> | React.FunctionComponent<any> | keyof JSX.IntrinsicElements;
|
|
4
|
-
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;
|
|
5
|
-
type AsProp<TComponent extends React.ElementType> = {
|
|
6
|
-
as?: TComponent;
|
|
7
|
-
};
|
|
8
|
-
export type Ref<TComponent extends React.ElementType> = React.ComponentPropsWithRef<TComponent>["ref"];
|
|
9
|
-
export type Props<TComponent extends React.ElementType, Props = Record<string, never>> = Omit<InferProps<TComponent>, keyof Props> & AsProp<TComponent> & Props;
|
|
10
|
-
export type PropsWithRef<TComponent extends React.ElementType, TProps = Record<string, never>> = Props<TComponent, TProps> & {
|
|
11
|
-
ref?: Ref<TComponent>;
|
|
12
|
-
};
|
|
13
|
-
type ForwardRefExoticComponent<TComponent, OwnProps> = React.ForwardRefExoticComponent<Merge<TComponent extends React.ElementType ? React.ComponentPropsWithRef<TComponent> : never, OwnProps & {
|
|
14
|
-
as?: TComponent;
|
|
15
|
-
}>>;
|
|
16
|
-
export type ComponentForwarded<TComponent, TProps = Record<string, never>> = ForwardRefExoticComponent<TComponent, TProps> & {
|
|
17
|
-
<As = TComponent>(props: As extends "" ? {
|
|
18
|
-
as: keyof JSX.IntrinsicElements;
|
|
19
|
-
} : As extends React.ComponentType<infer P> ? Merge<P, TProps & {
|
|
20
|
-
as: As;
|
|
21
|
-
}> : As extends keyof JSX.IntrinsicElements ? Merge<JSX.IntrinsicElements[As], TProps & {
|
|
22
|
-
as: As;
|
|
23
|
-
}> : never): React.ReactElement | null;
|
|
24
|
-
};
|
|
25
|
-
export {};
|
|
26
|
-
}
|
package/cjs/Polymorphic.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{};
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
-
import type { CalendarView, CalendarViewDayProps, CalendarViewEvent, CalendarsMap } from "./types";
|
|
3
|
-
import type { UseCalendarReturn } from "./useCalendar";
|
|
4
|
-
export type KoineCalendarDaygridCellProps = {
|
|
5
|
-
eventClicked?: UseCalendarReturn["eventClicked"];
|
|
6
|
-
setEventClicked: UseCalendarReturn["setEventClicked"];
|
|
7
|
-
eventHovered?: UseCalendarReturn["eventHovered"];
|
|
8
|
-
setEventHovered: UseCalendarReturn["setEventHovered"];
|
|
9
|
-
view: CalendarView;
|
|
10
|
-
maxEvents: number;
|
|
11
|
-
events: CalendarViewEvent[];
|
|
12
|
-
calendarsMap: CalendarsMap;
|
|
13
|
-
};
|
|
14
|
-
export type CalendarDaygridCellStyledProps = CalendarViewDayProps & {
|
|
15
|
-
$view: CalendarView;
|
|
16
|
-
$selected?: boolean;
|
|
17
|
-
$past?: boolean;
|
|
18
|
-
$color: string;
|
|
19
|
-
};
|
|
20
|
-
export type CalendarDaygridCellEventProps = React.ComponentPropsWithoutRef<"div"> & ((CalendarDaygridCellStyledProps & {
|
|
21
|
-
$placeholder?: false;
|
|
22
|
-
}) | {
|
|
23
|
-
$placeholder: true;
|
|
24
|
-
});
|
|
25
|
-
export type CalendarDaygridCellEventBtnProps = CalendarDaygridCellEventProps;
|
|
26
|
-
export type CalendarDaygridCellComponents = {
|
|
27
|
-
Cell?: KoineComponent;
|
|
28
|
-
CellOverflow?: KoineComponent;
|
|
29
|
-
CellEvent?: KoineComponent<CalendarDaygridCellEventProps>;
|
|
30
|
-
CellEventBtn?: KoineComponent<CalendarDaygridCellEventBtnProps>;
|
|
31
|
-
CellEventTitle?: KoineComponent;
|
|
32
|
-
CellEventStart?: KoineComponent;
|
|
33
|
-
};
|
|
34
|
-
export type CalendarDaygridCellProps = KoineComponentProps<KoineCalendarDaygridCellProps, CalendarDaygridCellComponents>;
|
|
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;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as i,Fragment as l}from"react/jsx-runtime";import{Fragment as r,useState as t}from"react";import{getDisplayTime as n}from"./utils";let d=l=>i("svg",{viewBox:"0 0 24 24",fill:"currentColor",stroke:"none",...l,children:[e("path",{d:"M0 0h24v24H0z"}),e("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})]}),o={overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"};export 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]=t(!1),O=p.filter(e=>!e.placeholder);return e(f,{children:p.map((t,p)=>{if(p===u&&!x)return i(y,{onClick:()=>M(!0),children:[e(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return e(r,{children:e($,{$placeholder:!0,children:e(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:!0,children:e(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 e(r,{children:e($,{style:f,...k,children:e(m,{role:"button",style:o,...k,onClick:()=>s(e=>e?.uid===t.uid?null:t),onMouseEnter:()=>h(t),onMouseLeave:()=>h(null),children:t.allDay?e(w,{children:t.title}):i(l,{children:[e(g,{children:n(t.start)}),e(w,{children:t.title})]})})})},t.key)})})};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
-
import type { CalendarRange, CalendarView } from "./types";
|
|
3
|
-
export type KoineCalendarDaygridNavProps = {
|
|
4
|
-
locale: string;
|
|
5
|
-
range: CalendarRange;
|
|
6
|
-
view: CalendarView;
|
|
7
|
-
todayInView?: boolean;
|
|
8
|
-
handlePrev: () => any;
|
|
9
|
-
handleNext: () => any;
|
|
10
|
-
handleToday: () => any;
|
|
11
|
-
handleView: (view: CalendarView) => any;
|
|
12
|
-
};
|
|
13
|
-
export type CalendarDaygridNavTitleProps = {
|
|
14
|
-
range: CalendarRange;
|
|
15
|
-
formatted: string;
|
|
16
|
-
};
|
|
17
|
-
export type CalendarDaygridNavProps = KoineComponentProps<KoineCalendarDaygridNavProps, {
|
|
18
|
-
NavRoot?: KoineComponent;
|
|
19
|
-
NavTitle?: KoineComponent<CalendarDaygridNavTitleProps>;
|
|
20
|
-
NavBtns?: KoineComponent;
|
|
21
|
-
NavBtnPrev?: KoineComponent;
|
|
22
|
-
NavBtnNext?: KoineComponent;
|
|
23
|
-
NavBtnToday?: KoineComponent;
|
|
24
|
-
NavBtnViewMonth?: KoineComponent;
|
|
25
|
-
NavBtnViewWeek?: KoineComponent;
|
|
26
|
-
}>;
|
|
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 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{format as o}from"date-fns/format";import{useDateLocale as n}from"./useDateLocale";export 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:n(c)},x="";return"month"===l&&(x=o(C,"MMMM yyyy",v)),"week"===l&&(x=C.getMonth()===p.getMonth()?o(C,"# MMMM yyyy",v).replace("#",`${C.getDate()}-${p.getDate()}`):`${o(C,"d MMMM",v)} - ${o(p,"d MMMM yyyy",v)}`),t(m,{children:[t(b,{children:[e(k,{onClick:i}),e(u,{onClick:M}),e(h,{onClick:d,disabled:r}),e(f,{onClick:()=>y("month"),disabled:"month"===l}),e(g,{onClick:()=>y("week"),disabled:"week"===l})]}),e(s,{range:a,formatted:x})]})};
|
|
@@ -1,25 +0,0 @@
|
|
|
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
|
-
export type CalendarDaygridTableBodyCellProps = CalendarViewDayProps;
|
|
5
|
-
export type CalendarDaygridTableBodyCellDateProps = CalendarViewDayProps;
|
|
6
|
-
export type KoineCalendarDaygridTableProps = {
|
|
7
|
-
maxEvents?: CalendarDaygridCellProps["maxEvents"];
|
|
8
|
-
locale: string;
|
|
9
|
-
events: CalendarEventsMap;
|
|
10
|
-
handlePrev: () => any;
|
|
11
|
-
handleNext: () => any;
|
|
12
|
-
view: CalendarView;
|
|
13
|
-
range: CalendarRange;
|
|
14
|
-
dayLabels?: string[];
|
|
15
|
-
} & Pick<CalendarDaygridCellProps, "eventClicked" | "setEventClicked" | "eventHovered" | "setEventHovered" | "calendarsMap">;
|
|
16
|
-
export type CalendarDaygridTableProps = KoineComponentProps<KoineCalendarDaygridTableProps, {
|
|
17
|
-
Table?: KoineComponent;
|
|
18
|
-
TableHead?: KoineComponent;
|
|
19
|
-
TableHeadCell?: KoineComponent;
|
|
20
|
-
TableBody?: KoineComponent;
|
|
21
|
-
TableBodyCell?: KoineComponent<CalendarDaygridTableBodyCellProps>;
|
|
22
|
-
TableBodyCellDate?: KoineComponent<CalendarDaygridTableBodyCellDateProps>;
|
|
23
|
-
TableBodyRow?: KoineComponent;
|
|
24
|
-
} & CalendarDaygridCellComponents>;
|
|
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 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{eachWeekOfInterval as r}from"date-fns/eachWeekOfInterval";import{useEffect as a,useMemo as i,useState as l}from"react";import{useSwipeable as o}from"react-swipeable";import{CalendarDaygridCell as n}from"./CalendarDaygridCell";import{useDateLocale as m}from"./useDateLocale";import{processEventsInView as p}from"./utils";export 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]=l(f||[0,1,2,3,4,5,6]),[E,F]=l([]),G=m(d),{month:H,weeks:J}=i(()=>(function(e){let[t,a]=e,i=r({start:t,end:a},{weekStartsOn:1});return{month:t.getMonth(),weeks:i}})(u),[u]),N=o({onSwipedLeft:c,onSwipedRight:s});return a(()=>{F(p(h,b,H,J))},[h,b,H,J]),a(()=>{G&&G.localize&&!f&&B([1,2,3,4,5,6,0].map(e=>G.localize.day(e,{width:"abbreviated"})))},[G,f]),t(C,{...N,children:[e(D,{children:e("tr",{children:A.map(t=>e(S,{scope:"column",children:t},t))})}),e(k,{children:E.map((r,a)=>e(z,{...r.props,children:r.days.map(r=>t(L,{...r.props,children:[e(O,{...r.props,children:r.label}),r.events.length>0&&e(n,{eventClicked:v,setEventClicked:g,eventHovered:w,setEventHovered:y,view:b,maxEvents:j,events:r.events,timestamp:r.timestamp,calendarsMap:x,...q})]}))}))})]})};
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { KoineComponent, KoineComponentProps } from "../types";
|
|
2
|
-
import type { CalendarsMap } from "./types";
|
|
3
|
-
export type KoineCalendarLegendProps = {
|
|
4
|
-
toggleCalendarVisibility: (id: string) => void;
|
|
5
|
-
calendarsMap: CalendarsMap;
|
|
6
|
-
};
|
|
7
|
-
export type CalendarLegendItemProps = React.ComponentPropsWithoutRef<"div"> & {
|
|
8
|
-
$color: string;
|
|
9
|
-
$empty: boolean;
|
|
10
|
-
disabled: boolean;
|
|
11
|
-
};
|
|
12
|
-
export type CalendarLegendProps = KoineComponentProps<KoineCalendarLegendProps, {
|
|
13
|
-
LegendItem?: KoineComponent<CalendarLegendItemProps>;
|
|
14
|
-
LegendItemStatus?: KoineComponent;
|
|
15
|
-
LegendItemLabel?: KoineComponent;
|
|
16
|
-
LegendItemEvents?: KoineComponent;
|
|
17
|
-
}>;
|
|
18
|
-
export declare let KoineCalendarLegend: ({ calendarsMap, toggleCalendarVisibility, LegendItem, LegendItemStatus, LegendItemLabel, LegendItemEvents, }: CalendarLegendProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as n,Fragment as r}from"react/jsx-runtime";export let KoineCalendarLegend=({calendarsMap:a={},toggleCalendarVisibility:s,LegendItem:d="div",LegendItemStatus:i="span",LegendItemLabel:l="span",LegendItemEvents:t="span"})=>e(r,{children:Object.entries(a).map(([r,a])=>n(d,{onClick:()=>s(r),$color:a.color,$empty:0===a.events,disabled:0===a.events,children:[e(i,{children:a.on?"⬤":"⭘"}),e(l,{children:a.name}),e(t,{children:a.events})]},"CalendarLegend."+r))});
|
|
@@ -1,10 +0,0 @@
|
|
|
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 +0,0 @@
|
|
|
1
|
-
import{differenceInDays as e}from"date-fns/differenceInDays";import{subDays as t}from"date-fns/subDays";import{arrayToLookup as a,isString as n,isUndefined as r}from"@koine/utils";import{addCalendarEvents as i,getEventTimestamp as s}from"./utils";export let getCalendarsEventsFromGoogle=async({calendars:e,...t})=>{let a={};return await Promise.all(e.map(async e=>{i(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=r(i.end.dateTime)&&n(i.end.date),p=i.location||"",D=i.description||"",h=m.getTime()+""+u.getTime();g&&f>u&&(f=t(f,1)).setHours(23,59,59);let y=function(){let t=new Date(u),a=new Date(f),n=[s(t)];for(;e(a,t);)t.setDate(t.getDate()+1),n.push(s(t));return n}(),E=a(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}
|
package/cjs/calendar/types.d.ts
DELETED
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
export type Calendar = {
|
|
2
|
-
id: string;
|
|
3
|
-
color: string;
|
|
4
|
-
name?: string;
|
|
5
|
-
};
|
|
6
|
-
export type Calendars = Calendar[];
|
|
7
|
-
export type CalendarsMap = Record<Calendar["id"], Required<Calendar> & {
|
|
8
|
-
on?: boolean;
|
|
9
|
-
events?: number;
|
|
10
|
-
}>;
|
|
11
|
-
export type CalendarRange = [Date, Date];
|
|
12
|
-
export type CalendarView = "month" | "week";
|
|
13
|
-
export type CalendarEvent = {
|
|
14
|
-
calendar: Calendar;
|
|
15
|
-
days: number[];
|
|
16
|
-
daysMap: Record<number, 1>;
|
|
17
|
-
multi: boolean;
|
|
18
|
-
allDay: boolean;
|
|
19
|
-
link: string;
|
|
20
|
-
title: string;
|
|
21
|
-
status: string;
|
|
22
|
-
created: Date;
|
|
23
|
-
start: Date;
|
|
24
|
-
end: Date;
|
|
25
|
-
color: string;
|
|
26
|
-
location: string;
|
|
27
|
-
description: string;
|
|
28
|
-
uid: string;
|
|
29
|
-
};
|
|
30
|
-
export type CalendarEventsByTimestamp = Record<number, CalendarEventsMap>;
|
|
31
|
-
export type CalendarEventsMap = Record<CalendarEvent["uid"], CalendarEvent>;
|
|
32
|
-
export type CalendarViewWeeks = CalendarViewWeek[];
|
|
33
|
-
export type CalendarViewWeek = {
|
|
34
|
-
props: {
|
|
35
|
-
key: string;
|
|
36
|
-
};
|
|
37
|
-
days: CalendarViewDay[];
|
|
38
|
-
};
|
|
39
|
-
export type CalendarViewDay = {
|
|
40
|
-
props: {
|
|
41
|
-
key: string;
|
|
42
|
-
} & CalendarViewDayProps;
|
|
43
|
-
label: string;
|
|
44
|
-
timestamp: string;
|
|
45
|
-
events: CalendarViewEvent[];
|
|
46
|
-
};
|
|
47
|
-
export type CalendarViewDayProps = {
|
|
48
|
-
$isToday?: boolean;
|
|
49
|
-
$isOutOfRange?: boolean;
|
|
50
|
-
};
|
|
51
|
-
export type CalendarViewEvent = {
|
|
52
|
-
key: string;
|
|
53
|
-
placeholder: true;
|
|
54
|
-
top: number;
|
|
55
|
-
} | (CalendarEvent & CalendarViewDayProps & {
|
|
56
|
-
key: string;
|
|
57
|
-
placeholder?: false;
|
|
58
|
-
top: number;
|
|
59
|
-
width: number;
|
|
60
|
-
firstOfMulti?: boolean;
|
|
61
|
-
isPast?: boolean;
|
|
62
|
-
});
|
package/cjs/calendar/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{};
|
|
@@ -1,35 +0,0 @@
|
|
|
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
|
-
export type UseCalendarProps = {
|
|
6
|
-
locale: string;
|
|
7
|
-
calendars: Calendars;
|
|
8
|
-
apiKey?: string;
|
|
9
|
-
events?: CalendarEventsMap;
|
|
10
|
-
start?: Date;
|
|
11
|
-
end?: Date;
|
|
12
|
-
view?: CalendarView;
|
|
13
|
-
timeZone?: string;
|
|
14
|
-
onError?: (e: any) => void;
|
|
15
|
-
};
|
|
16
|
-
export type UseCalendarReturn = ReturnType<typeof useCalendar>;
|
|
17
|
-
export type CalendarsUpdateActionEvents = {
|
|
18
|
-
type: "events";
|
|
19
|
-
payload: Record<string, number>;
|
|
20
|
-
};
|
|
21
|
-
export type CalendarsUpdateActionVisibility = {
|
|
22
|
-
type: "visibility";
|
|
23
|
-
payload: string | string[];
|
|
24
|
-
};
|
|
25
|
-
export type CalendarsUpdateAction = CalendarsUpdateActionEvents | CalendarsUpdateActionVisibility;
|
|
26
|
-
export declare let useCalendar: ({ locale, apiKey, calendars, events: initialEvents, start: initialStart, end: initialEnd, view: initialView, timeZone, onError, }: UseCalendarProps) => {
|
|
27
|
-
view: "month" | "week";
|
|
28
|
-
eventClicked: CalendarEvent | null;
|
|
29
|
-
setEventClicked: import("react").Dispatch<import("react").SetStateAction<CalendarEvent | null>>;
|
|
30
|
-
eventHovered: CalendarEvent | null;
|
|
31
|
-
setEventHovered: import("react").Dispatch<import("react").SetStateAction<CalendarEvent | null>>;
|
|
32
|
-
getDaygridNavProps: () => KoineCalendarDaygridNavProps;
|
|
33
|
-
getDaygridTableProps: () => KoineCalendarDaygridTableProps;
|
|
34
|
-
getLegendProps: () => KoineCalendarLegendProps;
|
|
35
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useCallback as e,useEffect as t,useReducer as l,useState as n}from"react";import{getCalendarsEventsFromGoogle as r}from"./calendar-api-google";import{getEndDate as a,getNextDate as i,getPrevDate as u,getStartDate as o,isTodayInView as s}from"./utils";export let useCalendar=({locale:d,apiKey:c,calendars:p,events:g,start:m,end:y,view:v="month",timeZone:f="",onError:b})=>{let[w,T]=n(v),D=m||o(new Date,w),h=y||a(D,w),[O,P]=n([D,h]),[j,x]=n(s(D,h)),[C,L]=n(g||{}),[N,k]=n(null),[q,z]=n(null),[A,B]=l((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=e(e=>{B({type:"visibility",payload:e})},[B]),F=e(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=e(async(e,t,l)=>{try{let n=await r({apiKey:c,calendars:e,timeZone:f,start:t,end:l});L(n)}catch(e){b&&b(e)}},[L,c,f,b]),H=e(()=>{let[e,t]=O,l=o(new Date,w),n=a(l,w);P([l,n]),(e.getTime()!==l.getTime()||t.getTime()!==n.getTime())&&(z(null),k(null))},[w,O]),I=e(()=>{P(([e])=>{let t=u(e,w),l=a(t,w);return[t,l]}),z(null),k(null)},[w]),J=e(()=>{P(([e])=>{let t=i(e,w),l=a(t,w);return[t,l]}),z(null),k(null)},[w]),K=e(e=>{let t=o(D,e),l=a(t,e);P([t,l]),T(e),z(null),k(null)},[D]);return t(()=>{let[e,t]=O;G(p,e,t),x(s(e,t))},[O]),t(()=>{C&&F(C)},[C,F]),t(()=>{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})}};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as e,useState as t}from"react";export let useDateLocale=(a,l="en")=>{let[r,n]=t(),[o,c]=t(l);return e(()=>{let e=async()=>{let e=await import("date-fns/locale/en-US");c(a||o),n(e.enUS)};a!==o&&e()},[a,o]),r};
|
package/cjs/calendar/utils.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
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;
|
package/cjs/calendar/utils.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{addDays as e}from"date-fns/addDays";import{addMonths as t}from"date-fns/addMonths";import{addWeeks as r}from"date-fns/addWeeks";import{endOfMonth as a}from"date-fns/endOfMonth";import{endOfWeek as n}from"date-fns/endOfWeek";import{isWithinInterval as s}from"date-fns/isWithinInterval";import{startOfWeek as o}from"date-fns/startOfWeek";import{subMonths as l}from"date-fns/subMonths";import{subWeeks as m}from"date-fns/subWeeks";export let getEventTimestamp=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.valueOf()/1e3};export let getDisplayTime=e=>e.getHours()+":"+"0".repeat(2-e.getMinutes().toString().length)+e.getMinutes();export let getStartDate=(e,t)=>(e.setHours(0,0,0),"month"===t?e.setDate(1):"week"===t&&(e=o(e,{weekStartsOn:1})),e);export let getEndDate=(e,t)=>{let r=e;return"month"===t?r=a(e):"week"===t&&(r=n(e,{weekStartsOn:1})),r.setHours(23,59,59),r};export let getPrevDate=(e,t)=>"month"===t?l(e,1):m(e,1);export let getNextDate=(e,a)=>"month"===a?t(e,1):r(e,1);export let isTodayInView=(e,t)=>s(new Date,{start:e,end:t});export let mergeCalendarEvents=(e,t)=>{let r={};return addCalendarEvents(e,r),addCalendarEvents(t,r),r};export 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};export 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(e(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};
|
package/cjs/calendar.d.ts
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
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/cjs/calendar.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export*from"./calendar/CalendarDaygridCell";export*from"./calendar/CalendarDaygridNav";export*from"./calendar/CalendarDaygridTable";export*from"./calendar/CalendarLegend";export*from"./calendar/useCalendar";export*from"./calendar/useDateLocale";export*from"./calendar/types";
|
package/cjs/classed.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
type ClassedAugmentedProps<Props> = Props & {
|
|
3
|
-
className?: string;
|
|
4
|
-
ref?: React.Ref<any>;
|
|
5
|
-
};
|
|
6
|
-
type ClassedFinalProps<Props, Component> = Component extends React.ReactHTML ? React.HTMLProps<Component> & ClassedAugmentedProps<Props> : ClassedAugmentedProps<Props>;
|
|
7
|
-
export declare let classed: <Props, Component extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = any>(component: Component) => (strings: TemplateStringsArray, ...args: string[] | ((props: Props) => string)[]) => React.ForwardRefExoticComponent<React.PropsWithoutRef<ClassedFinalProps<Props, Component>> & React.RefAttributes<Component>>;
|
|
8
|
-
export default classed;
|
package/cjs/classed.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createElement as t,forwardRef as e}from"react";export let classed=r=>{let s=r.type||r;return function(r,...a){return e(function(e,n){let o=a.map((t,s)=>{let a="";return"function"==typeof t?a=t(e):void 0!==t&&(a=t.toString()),r[s]+a}).join(""),l="string"==typeof s,i=l?{}:e;if(l)for(let t in e)t.startsWith("$")||(i[t]=e[t]);let c=o||r[0];return c=(c.match(/class="([^"]*)/)?.[1]||c)+(e?.className?" "+e?.className:""),t(s,{...i,className:c||void 0,ref:n})})}};export default classed;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type GetMediaQueryWidthResolversBreakpoints } from "@koine/utils";
|
|
2
|
-
type _MediaQuerWidthDefExplicit<TBreakpoint extends string> = `min-${TBreakpoint}` | `max-${TBreakpoint}` | `up-${TBreakpoint}` | `down-${TBreakpoint}` | `between-${TBreakpoint}_${TBreakpoint}` | `only-${TBreakpoint}`;
|
|
3
|
-
export type MediaQuerWidthDef<TBreakpoint extends string> = `${TBreakpoint}` | _MediaQuerWidthDefExplicit<TBreakpoint>;
|
|
4
|
-
export type MediaQueryWidth<TBreakpoint extends string> = `@${MediaQuerWidthDef<TBreakpoint>}`;
|
|
5
|
-
export declare let createUseMediaQueryWidth: <TBreakpointsConfig extends GetMediaQueryWidthResolversBreakpoints>(customBreakpoints: TBreakpointsConfig) => <TBreakpoints extends Extract<keyof TBreakpointsConfig, string>>(media: `@${TBreakpoints}` | `@min-${TBreakpoints}` | `@max-${TBreakpoints}` | `@up-${TBreakpoints}` | `@down-${TBreakpoints}` | `@between-${TBreakpoints}_${TBreakpoints}` | `@only-${TBreakpoints}`, serverValue?: null | boolean) => boolean | null;
|
|
6
|
-
export default createUseMediaQueryWidth;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useState as e}from"react";import{getMediaQueryWidthResolvers as t,isUndefined as r}from"@koine/utils";import{useIsomorphicLayoutEffect as i}from"./useIsomorphicLayoutEffect";export let createUseMediaQueryWidth=n=>{let a=t(n);return function(t,n){let[o,s]=t.substring(1).split("-");r(s)&&(s=o),r(o)&&(o="min");let[d,m]=s.split("_"),u=a[o](d,m),[c,l]=e(r(n)?null:n);return i(()=>{let e=window.matchMedia(u),t=e=>{l(e.matches)};return(l(e.matches),e.addEventListener)?(e.addEventListener("change",t),()=>{e.removeEventListener("change",t)}):(e.addListener(t),()=>{e.removeListener(t)})},[u]),c}};export default createUseMediaQueryWidth;
|
package/cjs/extendComponent.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export type ExtendableComponent<Props = any> = React.ForwardRefExoticComponent<Props> | React.ExoticComponent<Props> | React.FC<Props> | ((props: Props) => JSX.Element);
|
|
2
|
-
export declare let extendComponent: <Component extends ExtendableComponent<any>, DefaultProps extends {}>(component: Component, defaultProps: DefaultProps) => ((props: import("react").ComponentProps<Component>) => import("react").FunctionComponentElement<any>) & DefaultProps & {
|
|
3
|
-
defaultProps: DefaultProps;
|
|
4
|
-
};
|
|
5
|
-
export interface OverridableComponents {
|
|
6
|
-
[key: string]: {
|
|
7
|
-
type: React.ElementType;
|
|
8
|
-
props: any;
|
|
9
|
-
motionable?: boolean;
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
export type WithComponents<Props, Components extends OverridableComponents> = Props & {
|
|
13
|
-
[Name in keyof Components]: NonNullable<Components[Name]["type"] extends keyof JSX.IntrinsicElements ? React.ElementType<Components[Name]["motionable"] extends true ? Omit<React.ComponentPropsWithoutRef<Components[Name]["type"]>, HtmlAttributesCollidingWithMotionProps> & Components[Name]["props"] : React.ComponentPropsWithoutRef<Components[Name]["type"]> & Components[Name]["props"]> : Components[Name]["type"]>;
|
|
14
|
-
};
|
|
15
|
-
type HtmlAttributesCollidingWithMotionProps = "style" | "onDrag" | "onDragStart" | "onDragEnd" | "onAnimationStart" | "onAnimationEnd";
|
|
16
|
-
export default extendComponent;
|
package/cjs/extendComponent.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{createElement as e}from"react";export let extendComponent=(t,o)=>Object.assign(o=>e(t,o),{...o,defaultProps:o});export default extendComponent;
|
package/cjs/forms/antispam.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
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/cjs/forms/antispam.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{object as e}from"@kuus/yup";import{decode as t,encode as r,isUndefined as o}from"@koine/utils";export let encodeForm=t=>{let o={},i={};for(let e in t)if(!e.startsWith("_")){let l=r(e);o[l]=t[e],i[e]=l}return{encodedSchema:e(o).required(),encodedNames:i}};export let decodeForm=e=>{let r={};for(let i in e){let l=t(i);i.startsWith("_")?r[i.substring(1)]=e[i]:o(e[i])||""!==e[l]||(r[l]=e[i])}return r};
|
package/cjs/forms.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from "./forms/antispam";
|
package/cjs/forms.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export*from"./forms/antispam";
|
package/cjs/index.d.ts
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export { classed } from "./classed";
|
|
2
|
-
export { createUseMediaQueryWidth, type MediaQuerWidthDef, type MediaQueryWidth, } from "./createUseMediaQueryWidth";
|
|
3
|
-
export { type ExtendableComponent, type OverridableComponents, type WithComponents, extendComponent, } from "./extendComponent";
|
|
4
|
-
export { FaviconTags, type FaviconTagsProps } from "./FaviconTags";
|
|
5
|
-
export { mergeRefs } from "./mergeRefs";
|
|
6
|
-
export { Meta, type MetaProps } from "./Meta";
|
|
7
|
-
export { NoJs, type NoJsProps } from "./NoJs";
|
|
8
|
-
export type { Polymorphic } from "./Polymorphic";
|
|
9
|
-
export { useAsyncFn, type UseAsyncFnReturn, type UseAsyncState, } from "./useAsyncFn";
|
|
10
|
-
export { useFirstMountState } from "./useFirstMountState";
|
|
11
|
-
export { useFixedOffset } from "./useFixedOffset";
|
|
12
|
-
export { useFocus } from "./useFocus";
|
|
13
|
-
export { useInterval } from "./useInterval";
|
|
14
|
-
export { useIsomorphicLayoutEffect } from "./useIsomorphicLayoutEffect";
|
|
15
|
-
export { useKeyUp } from "./useKeyUp";
|
|
16
|
-
export { useMeasure, type UseMeasureOptions, type UseMeasureReturn, } from "./useMeasure";
|
|
17
|
-
export { useMountedState } from "./useMountedState";
|
|
18
|
-
export { useNavigateAway, type UseNavigateAwayHandler, } from "./useNavigateAway";
|
|
19
|
-
export { usePrevious } from "./usePrevious";
|
|
20
|
-
export { usePreviousRef } from "./usePreviousRef";
|
|
21
|
-
export { useScrollPosition } from "./useScrollPosition";
|
|
22
|
-
export { useScrollThreshold } from "./useScrollThreshold";
|
|
23
|
-
export { useSmoothScroll } from "./useSmoothScroll";
|
|
24
|
-
export { useSpinDelay } from "./useSpinDelay";
|
|
25
|
-
export { useTraceUpdate } from "./useTraceUpdate";
|
|
26
|
-
export { useUpdateEffect } from "./useUpdateEffect";
|
|
27
|
-
export { useWindowSize } from "./useWindowSize";
|
|
28
|
-
export type { KoineComponentProps, KoineComponent } from "./types";
|
package/cjs/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{classed}from"./classed";export{createUseMediaQueryWidth}from"./createUseMediaQueryWidth";export{extendComponent}from"./extendComponent";export{FaviconTags}from"./FaviconTags";export{mergeRefs}from"./mergeRefs";export{Meta}from"./Meta";export{NoJs}from"./NoJs";export{useAsyncFn}from"./useAsyncFn";export{useFirstMountState}from"./useFirstMountState";export{useFixedOffset}from"./useFixedOffset";export{useFocus}from"./useFocus";export{useInterval}from"./useInterval";export{useIsomorphicLayoutEffect}from"./useIsomorphicLayoutEffect";export{useKeyUp}from"./useKeyUp";export{useMeasure}from"./useMeasure";export{useMountedState}from"./useMountedState";export{useNavigateAway}from"./useNavigateAway";export{usePrevious}from"./usePrevious";export{usePreviousRef}from"./usePreviousRef";export{useScrollPosition}from"./useScrollPosition";export{useScrollThreshold}from"./useScrollThreshold";export{useSmoothScroll}from"./useSmoothScroll";export{useSpinDelay}from"./useSpinDelay";export{useTraceUpdate}from"./useTraceUpdate";export{useUpdateEffect}from"./useUpdateEffect";export{useWindowSize}from"./useWindowSize";
|
package/cjs/mergeRefs.d.ts
DELETED
package/cjs/mergeRefs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export let mergeRefs=e=>r=>{e.forEach(e=>{"function"==typeof e?e(r):null!=e&&(e.current=r)})};export default mergeRefs;
|
package/cjs/package.json
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@koine/react",
|
|
3
|
-
"sideEffects": false,
|
|
4
|
-
"dependencies": {
|
|
5
|
-
"@koine/dom": "*",
|
|
6
|
-
"@koine/utils": "*"
|
|
7
|
-
},
|
|
8
|
-
"peerDependencies": {
|
|
9
|
-
"@kuus/yup": "1.0.0-beta.7",
|
|
10
|
-
"date-fns": "^3.2.0",
|
|
11
|
-
"react": "^18.2.0",
|
|
12
|
-
"react-swipeable": "^7.0.1"
|
|
13
|
-
},
|
|
14
|
-
"peerDependenciesMeta": {
|
|
15
|
-
"@kuus/yup": {
|
|
16
|
-
"optional": true
|
|
17
|
-
},
|
|
18
|
-
"date-fns": {
|
|
19
|
-
"optional": true
|
|
20
|
-
},
|
|
21
|
-
"react-swipeable": {
|
|
22
|
-
"optional": true
|
|
23
|
-
},
|
|
24
|
-
"tailwindcss": {
|
|
25
|
-
"optional": true
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
"module": "./index.js",
|
|
29
|
-
"type": "module",
|
|
30
|
-
"main": "./index.js"
|
|
31
|
-
}
|
package/cjs/types.d.ts
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export type KoineComponentProps<BaseComponentProps, ExtendableProps> = BaseComponentProps & ExtendableProps;
|
|
2
|
-
export type KoineComponent<Props = any> = string | React.ForwardRefExoticComponent<Props> | React.ExoticComponent<Props> | React.FC<Props> | ((props: Props) => JSX.Element);
|
package/cjs/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export{};
|
package/cjs/useAsyncFn.d.ts
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import React from "react";
|
|
2
|
-
type PromiseType<P extends Promise<any>> = P extends Promise<infer T> ? T : never;
|
|
3
|
-
type FunctionReturningPromise = (...args: any[]) => Promise<any>;
|
|
4
|
-
export type UseAsyncState<T> = {
|
|
5
|
-
loading: boolean;
|
|
6
|
-
error?: undefined;
|
|
7
|
-
value?: undefined;
|
|
8
|
-
} | {
|
|
9
|
-
loading: true;
|
|
10
|
-
error?: Error | undefined;
|
|
11
|
-
value?: T;
|
|
12
|
-
} | {
|
|
13
|
-
loading: false;
|
|
14
|
-
error: Error;
|
|
15
|
-
value?: undefined;
|
|
16
|
-
} | {
|
|
17
|
-
loading: false;
|
|
18
|
-
error?: undefined;
|
|
19
|
-
value: T;
|
|
20
|
-
};
|
|
21
|
-
type StateFromFunctionReturningPromise<T extends FunctionReturningPromise> = UseAsyncState<PromiseType<ReturnType<T>>>;
|
|
22
|
-
export type UseAsyncFnReturn<T extends FunctionReturningPromise = FunctionReturningPromise> = [StateFromFunctionReturningPromise<T>, T];
|
|
23
|
-
export declare let useAsyncFn: <T extends FunctionReturningPromise>(fn: T, deps?: React.DependencyList, initialState?: StateFromFunctionReturningPromise<T>) => UseAsyncFnReturn<T>;
|
|
24
|
-
export default useAsyncFn;
|
package/cjs/useAsyncFn.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useCallback as e,useRef as t,useState as r}from"react";import{useMountedState as n}from"./useMountedState";export let useAsyncFn=(o,u=[],l={loading:!1})=>{let a=t(0),d=n(),[i,c]=r(l),g=e((...e)=>{let t=++a.current;return i.loading||c(e=>({...e,loading:!0})),o(...e).then(e=>(d()&&t===a.current&&c({value:e,loading:!1}),e),e=>(d()&&t===a.current&&c({error:e,loading:!1}),e))},u);return[i,g]};export default useAsyncFn;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useRef as t}from"react";export let useFirstMountState=()=>{let r=t(!0);return r.current?(r.current=!1,!0):r.current};export default useFirstMountState;
|
package/cjs/useFixedOffset.d.ts
DELETED
package/cjs/useFixedOffset.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useRef as e}from"react";import{debounce as t}from"@koine/utils";import{$each as r,calculateFixedOffset as o,injectCss as i,listenResizeDebounced as f}from"@koine/dom";import{useIsomorphicLayoutEffect as s}from"./useIsomorphicLayoutEffect";let n=e=>{i("useFixedOffset",`html{scroll-padding-top: ${e}px}`)};export let useFixedOffset=i=>{let l=e(0);return s(()=>{let e=()=>{let e=o();l.current=e,n(e)};if(e(),!ResizeObserver)return f(0,e);{let e=new ResizeObserver(e=>{let r=0;e.forEach(e=>{r+=e.contentRect.height}),l.current=r,t(()=>n(r),400,!0)()});return r(i||"[data-fixed]",t=>{e&&e.observe(t)}),()=>{e?.disconnect()}}},[i]),l};export default useFixedOffset;
|
package/cjs/useFocus.d.ts
DELETED
package/cjs/useFocus.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useRef as e}from"react";export let useFocus=()=>{let r=e(null);return[r,()=>{r.current&&r.current.focus()}]};export default useFocus;
|
package/cjs/useInterval.d.ts
DELETED
package/cjs/useInterval.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as r,useRef as e}from"react";import{noop as t}from"@koine/utils";export let useInterval=(n,l,u=[])=>{let o=e();r(()=>{o.current=n},[n,...u]),r(()=>{if(null!==l){let r=setInterval(function(){o.current&&o.current()},l);return()=>clearInterval(r)}return t},[l])};export default useInterval;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as o,useLayoutEffect as t}from"react";import{isBrowser as e}from"@koine/utils";export let useIsomorphicLayoutEffect=e?t:o;export default useIsomorphicLayoutEffect;
|
package/cjs/useKeyUp.d.ts
DELETED
package/cjs/useKeyUp.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{useEffect as e}from"react";import{on as t}from"@koine/dom";export let useKeyUp=(o,r=[])=>{e(()=>t(window,"keyup",e=>{e.ctrlKey||e.altKey||e.shiftKey||e.metaKey||o(e)}),[o,...r])};export default useKeyUp;
|