@koine/react 2.0.0-beta.194 → 2.0.0-beta.195

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.
Files changed (103) hide show
  1. package/Polymorphic.d.ts +1 -0
  2. package/calendar/CalendarDaygridCell.cjs.js +1 -1
  3. package/calendar/CalendarDaygridCell.esm.js +1 -1
  4. package/calendar/useCalendar.cjs.js +1 -1
  5. package/calendar/useCalendar.esm.js +1 -1
  6. package/calendar/utils.cjs.js +1 -1
  7. package/calendar/utils.esm.js +1 -1
  8. package/classed.d.ts +1 -1
  9. package/extendComponent.d.ts +1 -0
  10. package/forms/antispam.d.ts +1 -1
  11. package/package.json +36 -36
  12. package/types.d.ts +1 -0
  13. package/useAsyncFn.cjs.js +1 -1
  14. package/useAsyncFn.esm.js +1 -1
  15. package/useFirstMountState.cjs.js +1 -1
  16. package/useFirstMountState.esm.js +1 -1
  17. package/useFixedOffset.cjs.js +1 -1
  18. package/useFixedOffset.d.ts +1 -1
  19. package/useFixedOffset.esm.js +1 -1
  20. package/useFocus.d.ts +1 -1
  21. package/useInterval.cjs.js +1 -1
  22. package/useInterval.esm.js +1 -1
  23. package/useMeasure.cjs.js +1 -1
  24. package/useMeasure.esm.js +1 -1
  25. package/useMountedState.cjs.js +1 -1
  26. package/useMountedState.esm.js +1 -1
  27. package/useNavigateAway.cjs.js +1 -1
  28. package/useNavigateAway.esm.js +1 -1
  29. package/usePreviousRef.cjs.js +1 -1
  30. package/usePreviousRef.d.ts +1 -1
  31. package/usePreviousRef.esm.js +1 -1
  32. package/useReveal.d.ts +1 -1
  33. package/useScrollThreshold.cjs.js +1 -1
  34. package/useScrollThreshold.esm.js +1 -1
  35. package/useSmoothScroll.cjs.js +1 -1
  36. package/useSmoothScroll.esm.js +1 -1
  37. package/useSpinDelay.cjs.js +1 -1
  38. package/useSpinDelay.esm.js +1 -1
  39. package/vite.config.d.ts +2 -0
  40. package/FaviconTags.cjs.d.ts +0 -2
  41. package/FaviconTags.esm.d.ts +0 -2
  42. package/Meta.cjs.d.ts +0 -2
  43. package/Meta.esm.d.ts +0 -2
  44. package/NoJs.cjs.d.ts +0 -2
  45. package/NoJs.esm.d.ts +0 -2
  46. package/Polymorphic.cjs.d.ts +0 -1
  47. package/Polymorphic.esm.d.ts +0 -1
  48. package/calendar.cjs.d.ts +0 -1
  49. package/calendar.esm.d.ts +0 -1
  50. package/classed.cjs.d.ts +0 -2
  51. package/classed.esm.d.ts +0 -2
  52. package/createUseMediaQueryWidth.cjs.d.ts +0 -2
  53. package/createUseMediaQueryWidth.esm.d.ts +0 -2
  54. package/extendComponent.cjs.d.ts +0 -2
  55. package/extendComponent.esm.d.ts +0 -2
  56. package/forms.cjs.d.ts +0 -1
  57. package/forms.esm.d.ts +0 -1
  58. package/index.cjs.d.ts +0 -1
  59. package/index.esm.d.ts +0 -1
  60. package/mergeRefs.cjs.d.ts +0 -2
  61. package/mergeRefs.esm.d.ts +0 -2
  62. package/types.cjs.d.ts +0 -1
  63. package/types.esm.d.ts +0 -1
  64. package/useAsyncFn.cjs.d.ts +0 -2
  65. package/useAsyncFn.esm.d.ts +0 -2
  66. package/useFirstMountState.cjs.d.ts +0 -2
  67. package/useFirstMountState.esm.d.ts +0 -2
  68. package/useFixedOffset.cjs.d.ts +0 -2
  69. package/useFixedOffset.esm.d.ts +0 -2
  70. package/useFocus.cjs.d.ts +0 -2
  71. package/useFocus.esm.d.ts +0 -2
  72. package/useInterval.cjs.d.ts +0 -2
  73. package/useInterval.esm.d.ts +0 -2
  74. package/useIsomorphicLayoutEffect.cjs.d.ts +0 -2
  75. package/useIsomorphicLayoutEffect.esm.d.ts +0 -2
  76. package/useKeyUp.cjs.d.ts +0 -2
  77. package/useKeyUp.esm.d.ts +0 -2
  78. package/useMeasure.cjs.d.ts +0 -2
  79. package/useMeasure.esm.d.ts +0 -2
  80. package/useMountedState.cjs.d.ts +0 -2
  81. package/useMountedState.esm.d.ts +0 -2
  82. package/useNavigateAway.cjs.d.ts +0 -2
  83. package/useNavigateAway.esm.d.ts +0 -2
  84. package/usePrevious.cjs.d.ts +0 -2
  85. package/usePrevious.esm.d.ts +0 -2
  86. package/usePreviousRef.cjs.d.ts +0 -2
  87. package/usePreviousRef.esm.d.ts +0 -2
  88. package/useScrollPosition.cjs.d.ts +0 -2
  89. package/useScrollPosition.esm.d.ts +0 -2
  90. package/useScrollThreshold.cjs.d.ts +0 -2
  91. package/useScrollThreshold.esm.d.ts +0 -2
  92. package/useScrollTo.cjs.d.ts +0 -2
  93. package/useScrollTo.esm.d.ts +0 -2
  94. package/useSmoothScroll.cjs.d.ts +0 -2
  95. package/useSmoothScroll.esm.d.ts +0 -2
  96. package/useSpinDelay.cjs.d.ts +0 -2
  97. package/useSpinDelay.esm.d.ts +0 -2
  98. package/useTraceUpdate.cjs.d.ts +0 -2
  99. package/useTraceUpdate.esm.d.ts +0 -2
  100. package/useUpdateEffect.cjs.d.ts +0 -2
  101. package/useUpdateEffect.esm.d.ts +0 -2
  102. package/useWindowSize.cjs.d.ts +0 -2
  103. package/useWindowSize.esm.d.ts +0 -2
package/Polymorphic.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { JSX } from "react";
1
2
  /**
2
3
  * React Polymorphic components type utilities
3
4
  *
@@ -4,6 +4,6 @@ var jsxRuntime = require('react/jsx-runtime');
4
4
  var react = require('react');
5
5
  var utils = require('./utils.cjs.js');
6
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)})})};
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(false),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(true),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:true,children:jsxRuntime.jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:true,children:jsxRuntime.jsx(w,{children:" "})})})},t.key);let f={zIndex:+!!t.firstOfMulti,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
8
 
9
9
  exports.CalendarDaygridCell = CalendarDaygridCell;
@@ -2,6 +2,6 @@ import { jsx, jsxs, Fragment as Fragment$1 } from 'react/jsx-runtime';
2
2
  import { useState, Fragment } from 'react';
3
3
  import { getDisplayTime } from './utils.esm.js';
4
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)})})};
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(false),O=p.filter(e=>!e.placeholder);return jsx(f,{children:p.map((t,p)=>{if(p===u&&!x)return jsxs(y,{onClick:()=>M(true),children:[jsx(d,{}),O.length-u]},"overflowMessage"+p);if(p>u&&!x)return null;if(t.placeholder)return jsx(Fragment,{children:jsx($,{$placeholder:true,children:jsx(m,{"aria-hidden":"true",style:{visibility:"hidden"},$placeholder:true,children:jsx(w,{children:" "})})})},t.key);let f={zIndex:+!!t.firstOfMulti,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
6
 
7
7
  export { CalendarDaygridCell };
@@ -4,6 +4,6 @@ var react = require('react');
4
4
  var calendarApiGoogle = require('./calendar-api-google.cjs.js');
5
5
  var utils = require('./utils.cjs.js');
6
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})}};
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:true,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
8
 
9
9
  exports.useCalendar = useCalendar;
@@ -2,6 +2,6 @@ import { useState, useReducer, useCallback, useEffect } from 'react';
2
2
  import { getCalendarsEventsFromGoogle } from './calendar-api-google.esm.js';
3
3
  import { getStartDate, getEndDate, isTodayInView, getPrevDate, getNextDate } from './utils.esm.js';
4
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})}};
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:true,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
6
 
7
7
  export { useCalendar };
@@ -10,7 +10,7 @@ var startOfWeek = require('date-fns/startOfWeek');
10
10
  var subMonths = require('date-fns/subMonths');
11
11
  var subWeeks = require('date-fns/subWeeks');
12
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};
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 processEventsInView=(t,r,a,n)=>{let s=(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})(t),o=(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})(t),l=new Date,m=getEventTimestamp(l),i={},d=[];for(let t=0;t<n.length;t++){let p={props:{key:`week.${t}`},days:[]},f=n[t],u=f.getDate(),g=getEventTimestamp(new Date(f)),h=getEventTimestamp(addDays.addDays(new Date(f),6));for(let e=0;e<7;e++){let t=new Date(new Date(f).setDate(u+e)),n=getEventTimestamp(t),d={$isToday:m===n,$isOutOfRange:"month"===r&&t.getMonth()!==a},v={props:{key:`day.${n}`,...d},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,s=o[r],m=1,p=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=true)),i[s.uid])p=i[s.uid];else for(let e=0;e<t.length;e++)if(1!==t[e]){p=e;break}t[p]=1,a&&(i[s.uid]=p),v.events.push({key:`event.${n}-${p}`,...d,...s,isPast:l>s.end,firstOfMulti:a,top:p,width:m});}}for(let e=0;e<t.length;e++)1!==t[e]&&v.events.push({key:`event.${n}-${e}}`,placeholder:true,top:e});v.events.sort((e,t)=>e.top-t.top);}p.days.push(v);}d.push(p);}return d};
14
14
 
15
15
  exports.addCalendarEvents = addCalendarEvents;
16
16
  exports.getDisplayTime = getDisplayTime;
@@ -8,6 +8,6 @@ import { startOfWeek } from 'date-fns/startOfWeek';
8
8
  import { subMonths } from 'date-fns/subMonths';
9
9
  import { subWeeks } from 'date-fns/subWeeks';
10
10
 
11
- let getEventTimestamp=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.valueOf()/1e3};let getDisplayTime=e=>e.getHours()+":"+"0".repeat(2-e.getMinutes().toString().length)+e.getMinutes();let getStartDate=(e,t)=>(e.setHours(0,0,0),"month"===t?e.setDate(1):"week"===t&&(e=startOfWeek(e,{weekStartsOn:1})),e);let getEndDate=(e,t)=>{let r=e;return "month"===t?r=endOfMonth(e):"week"===t&&(r=endOfWeek(e,{weekStartsOn:1})),r.setHours(23,59,59),r};let getPrevDate=(e,t)=>"month"===t?subMonths(e,1):subWeeks(e,1);let getNextDate=(e,a)=>"month"===a?addMonths(e,1):addWeeks(e,1);let isTodayInView=(e,t)=>isWithinInterval(new Date,{start:e,end:t});let addCalendarEvents=(e,t)=>{for(let r in e){let a=e[r];t[r]=a;}return t};let i=e=>{let t={};for(let r in e){let a=e[r];a.days.forEach(e=>{t[e]=t[e]||{},t[e][r]=a;});}return t},d=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(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};
11
+ let getEventTimestamp=e=>{let t=new Date(e);return t.setHours(0,0,0,0),t.valueOf()/1e3};let getDisplayTime=e=>e.getHours()+":"+"0".repeat(2-e.getMinutes().toString().length)+e.getMinutes();let getStartDate=(e,t)=>(e.setHours(0,0,0),"month"===t?e.setDate(1):"week"===t&&(e=startOfWeek(e,{weekStartsOn:1})),e);let getEndDate=(e,t)=>{let r=e;return "month"===t?r=endOfMonth(e):"week"===t&&(r=endOfWeek(e,{weekStartsOn:1})),r.setHours(23,59,59),r};let getPrevDate=(e,t)=>"month"===t?subMonths(e,1):subWeeks(e,1);let getNextDate=(e,a)=>"month"===a?addMonths(e,1):addWeeks(e,1);let isTodayInView=(e,t)=>isWithinInterval(new Date,{start:e,end:t});let addCalendarEvents=(e,t)=>{for(let r in e){let a=e[r];t[r]=a;}return t};let processEventsInView=(t,r,a,n)=>{let s=(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})(t),o=(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})(t),l=new Date,m=getEventTimestamp(l),i={},d=[];for(let t=0;t<n.length;t++){let p={props:{key:`week.${t}`},days:[]},f=n[t],u=f.getDate(),g=getEventTimestamp(new Date(f)),h=getEventTimestamp(addDays(new Date(f),6));for(let e=0;e<7;e++){let t=new Date(new Date(f).setDate(u+e)),n=getEventTimestamp(t),d={$isToday:m===n,$isOutOfRange:"month"===r&&t.getMonth()!==a},v={props:{key:`day.${n}`,...d},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,s=o[r],m=1,p=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=true)),i[s.uid])p=i[s.uid];else for(let e=0;e<t.length;e++)if(1!==t[e]){p=e;break}t[p]=1,a&&(i[s.uid]=p),v.events.push({key:`event.${n}-${p}`,...d,...s,isPast:l>s.end,firstOfMulti:a,top:p,width:m});}}for(let e=0;e<t.length;e++)1!==t[e]&&v.events.push({key:`event.${n}-${e}}`,placeholder:true,top:e});v.events.sort((e,t)=>e.top-t.top);}p.days.push(v);}d.push(p);}return d};
12
12
 
13
13
  export { addCalendarEvents, getDisplayTime, getEndDate, getEventTimestamp, getNextDate, getPrevDate, getStartDate, isTodayInView, processEventsInView };
package/classed.d.ts CHANGED
@@ -3,7 +3,7 @@ type ClassedAugmentedProps<Props> = Props & {
3
3
  className?: string;
4
4
  ref?: React.Ref<any>;
5
5
  };
6
- type ClassedFinalProps<Props, Component> = Component extends React.ReactHTML ? React.HTMLProps<Component> & ClassedAugmentedProps<Props> : ClassedAugmentedProps<Props>;
6
+ type ClassedFinalProps<Props, Component> = Component extends React.HTMLElementType ? React.HTMLProps<Component> & ClassedAugmentedProps<Props> : ClassedAugmentedProps<Props>;
7
7
  /**
8
8
  * This utility allows to extend a component a là `styled-components` but for
9
9
  * a className based styling solution like Tailwind,
@@ -1,3 +1,4 @@
1
+ import { type JSX } from "react";
1
2
  export type ExtendableComponent<Props = any> = React.ForwardRefExoticComponent<Props> | React.ExoticComponent<Props> | React.FC<Props> | ((props: Props) => JSX.Element);
2
3
  export declare let extendComponent: <Component extends ExtendableComponent, DefaultProps extends {}>(component: Component, defaultProps: DefaultProps) => ((props: React.ComponentProps<Component>) => import("react").FunctionComponentElement<any>) & DefaultProps & {
3
4
  defaultProps: DefaultProps;
@@ -26,7 +26,7 @@ export declare let encodeForm: <T extends ObjectShape = ObjectShape>(validationR
26
26
  parent?: {};
27
27
  context?: {};
28
28
  }): infer T_1;
29
- resolve(): any;
29
+ resolve(): /*elided*/ any;
30
30
  describe(): import("@kuus/yup").SchemaRefDescription;
31
31
  toString(): string;
32
32
  } ? T_1 : unknown;
package/package.json CHANGED
@@ -2,8 +2,8 @@
2
2
  "name": "@koine/react",
3
3
  "sideEffects": false,
4
4
  "dependencies": {
5
- "@koine/dom": "2.0.0-beta.194",
6
- "@koine/utils": "2.0.0-beta.194"
5
+ "@koine/dom": "2.0.0-beta.195",
6
+ "@koine/utils": "2.0.0-beta.195"
7
7
  },
8
8
  "peerDependencies": {
9
9
  "@kuus/yup": "1.0.0-beta.7",
@@ -29,199 +29,199 @@
29
29
  "./package.json": "./package.json",
30
30
  ".": {
31
31
  "module": "./index.esm.js",
32
- "types": "./index.esm.d.ts",
32
+ "types": "./index.d.ts",
33
33
  "import": "./index.cjs.mjs",
34
34
  "default": "./index.cjs.js"
35
35
  },
36
36
  "./calendar": {
37
37
  "module": "./calendar.esm.js",
38
- "types": "./calendar.esm.d.ts",
38
+ "types": "./calendar.d.ts",
39
39
  "import": "./calendar.cjs.mjs",
40
40
  "default": "./calendar.cjs.js"
41
41
  },
42
42
  "./classed": {
43
43
  "module": "./classed.esm.js",
44
- "types": "./classed.esm.d.ts",
44
+ "types": "./classed.d.ts",
45
45
  "import": "./classed.cjs.mjs",
46
46
  "default": "./classed.cjs.js"
47
47
  },
48
48
  "./createUseMediaQueryWidth": {
49
49
  "module": "./createUseMediaQueryWidth.esm.js",
50
- "types": "./createUseMediaQueryWidth.esm.d.ts",
50
+ "types": "./createUseMediaQueryWidth.d.ts",
51
51
  "import": "./createUseMediaQueryWidth.cjs.mjs",
52
52
  "default": "./createUseMediaQueryWidth.cjs.js"
53
53
  },
54
54
  "./extendComponent": {
55
55
  "module": "./extendComponent.esm.js",
56
- "types": "./extendComponent.esm.d.ts",
56
+ "types": "./extendComponent.d.ts",
57
57
  "import": "./extendComponent.cjs.mjs",
58
58
  "default": "./extendComponent.cjs.js"
59
59
  },
60
60
  "./FaviconTags": {
61
61
  "module": "./FaviconTags.esm.js",
62
- "types": "./FaviconTags.esm.d.ts",
62
+ "types": "./FaviconTags.d.ts",
63
63
  "import": "./FaviconTags.cjs.mjs",
64
64
  "default": "./FaviconTags.cjs.js"
65
65
  },
66
66
  "./forms": {
67
67
  "module": "./forms.esm.js",
68
- "types": "./forms.esm.d.ts",
68
+ "types": "./forms.d.ts",
69
69
  "import": "./forms.cjs.mjs",
70
70
  "default": "./forms.cjs.js"
71
71
  },
72
72
  "./mergeRefs": {
73
73
  "module": "./mergeRefs.esm.js",
74
- "types": "./mergeRefs.esm.d.ts",
74
+ "types": "./mergeRefs.d.ts",
75
75
  "import": "./mergeRefs.cjs.mjs",
76
76
  "default": "./mergeRefs.cjs.js"
77
77
  },
78
78
  "./Meta": {
79
79
  "module": "./Meta.esm.js",
80
- "types": "./Meta.esm.d.ts",
80
+ "types": "./Meta.d.ts",
81
81
  "import": "./Meta.cjs.mjs",
82
82
  "default": "./Meta.cjs.js"
83
83
  },
84
84
  "./NoJs": {
85
85
  "module": "./NoJs.esm.js",
86
- "types": "./NoJs.esm.d.ts",
86
+ "types": "./NoJs.d.ts",
87
87
  "import": "./NoJs.cjs.mjs",
88
88
  "default": "./NoJs.cjs.js"
89
89
  },
90
90
  "./Polymorphic": {
91
91
  "module": "./Polymorphic.esm.js",
92
- "types": "./Polymorphic.esm.d.ts",
92
+ "types": "./Polymorphic.d.ts",
93
93
  "import": "./Polymorphic.cjs.mjs",
94
94
  "default": "./Polymorphic.cjs.js"
95
95
  },
96
96
  "./types": {
97
97
  "module": "./types.esm.js",
98
- "types": "./types.esm.d.ts",
98
+ "types": "./types.d.ts",
99
99
  "import": "./types.cjs.mjs",
100
100
  "default": "./types.cjs.js"
101
101
  },
102
102
  "./useAsyncFn": {
103
103
  "module": "./useAsyncFn.esm.js",
104
- "types": "./useAsyncFn.esm.d.ts",
104
+ "types": "./useAsyncFn.d.ts",
105
105
  "import": "./useAsyncFn.cjs.mjs",
106
106
  "default": "./useAsyncFn.cjs.js"
107
107
  },
108
108
  "./useFirstMountState": {
109
109
  "module": "./useFirstMountState.esm.js",
110
- "types": "./useFirstMountState.esm.d.ts",
110
+ "types": "./useFirstMountState.d.ts",
111
111
  "import": "./useFirstMountState.cjs.mjs",
112
112
  "default": "./useFirstMountState.cjs.js"
113
113
  },
114
114
  "./useFixedOffset": {
115
115
  "module": "./useFixedOffset.esm.js",
116
- "types": "./useFixedOffset.esm.d.ts",
116
+ "types": "./useFixedOffset.d.ts",
117
117
  "import": "./useFixedOffset.cjs.mjs",
118
118
  "default": "./useFixedOffset.cjs.js"
119
119
  },
120
120
  "./useFocus": {
121
121
  "module": "./useFocus.esm.js",
122
- "types": "./useFocus.esm.d.ts",
122
+ "types": "./useFocus.d.ts",
123
123
  "import": "./useFocus.cjs.mjs",
124
124
  "default": "./useFocus.cjs.js"
125
125
  },
126
126
  "./useInterval": {
127
127
  "module": "./useInterval.esm.js",
128
- "types": "./useInterval.esm.d.ts",
128
+ "types": "./useInterval.d.ts",
129
129
  "import": "./useInterval.cjs.mjs",
130
130
  "default": "./useInterval.cjs.js"
131
131
  },
132
132
  "./useIsomorphicLayoutEffect": {
133
133
  "module": "./useIsomorphicLayoutEffect.esm.js",
134
- "types": "./useIsomorphicLayoutEffect.esm.d.ts",
134
+ "types": "./useIsomorphicLayoutEffect.d.ts",
135
135
  "import": "./useIsomorphicLayoutEffect.cjs.mjs",
136
136
  "default": "./useIsomorphicLayoutEffect.cjs.js"
137
137
  },
138
138
  "./useKeyUp": {
139
139
  "module": "./useKeyUp.esm.js",
140
- "types": "./useKeyUp.esm.d.ts",
140
+ "types": "./useKeyUp.d.ts",
141
141
  "import": "./useKeyUp.cjs.mjs",
142
142
  "default": "./useKeyUp.cjs.js"
143
143
  },
144
144
  "./useMeasure": {
145
145
  "module": "./useMeasure.esm.js",
146
- "types": "./useMeasure.esm.d.ts",
146
+ "types": "./useMeasure.d.ts",
147
147
  "import": "./useMeasure.cjs.mjs",
148
148
  "default": "./useMeasure.cjs.js"
149
149
  },
150
150
  "./useMountedState": {
151
151
  "module": "./useMountedState.esm.js",
152
- "types": "./useMountedState.esm.d.ts",
152
+ "types": "./useMountedState.d.ts",
153
153
  "import": "./useMountedState.cjs.mjs",
154
154
  "default": "./useMountedState.cjs.js"
155
155
  },
156
156
  "./useNavigateAway": {
157
157
  "module": "./useNavigateAway.esm.js",
158
- "types": "./useNavigateAway.esm.d.ts",
158
+ "types": "./useNavigateAway.d.ts",
159
159
  "import": "./useNavigateAway.cjs.mjs",
160
160
  "default": "./useNavigateAway.cjs.js"
161
161
  },
162
162
  "./usePrevious": {
163
163
  "module": "./usePrevious.esm.js",
164
- "types": "./usePrevious.esm.d.ts",
164
+ "types": "./usePrevious.d.ts",
165
165
  "import": "./usePrevious.cjs.mjs",
166
166
  "default": "./usePrevious.cjs.js"
167
167
  },
168
168
  "./usePreviousRef": {
169
169
  "module": "./usePreviousRef.esm.js",
170
- "types": "./usePreviousRef.esm.d.ts",
170
+ "types": "./usePreviousRef.d.ts",
171
171
  "import": "./usePreviousRef.cjs.mjs",
172
172
  "default": "./usePreviousRef.cjs.js"
173
173
  },
174
174
  "./useScrollPosition": {
175
175
  "module": "./useScrollPosition.esm.js",
176
- "types": "./useScrollPosition.esm.d.ts",
176
+ "types": "./useScrollPosition.d.ts",
177
177
  "import": "./useScrollPosition.cjs.mjs",
178
178
  "default": "./useScrollPosition.cjs.js"
179
179
  },
180
180
  "./useScrollThreshold": {
181
181
  "module": "./useScrollThreshold.esm.js",
182
- "types": "./useScrollThreshold.esm.d.ts",
182
+ "types": "./useScrollThreshold.d.ts",
183
183
  "import": "./useScrollThreshold.cjs.mjs",
184
184
  "default": "./useScrollThreshold.cjs.js"
185
185
  },
186
186
  "./useScrollTo": {
187
187
  "module": "./useScrollTo.esm.js",
188
- "types": "./useScrollTo.esm.d.ts",
188
+ "types": "./useScrollTo.d.ts",
189
189
  "import": "./useScrollTo.cjs.mjs",
190
190
  "default": "./useScrollTo.cjs.js"
191
191
  },
192
192
  "./useSmoothScroll": {
193
193
  "module": "./useSmoothScroll.esm.js",
194
- "types": "./useSmoothScroll.esm.d.ts",
194
+ "types": "./useSmoothScroll.d.ts",
195
195
  "import": "./useSmoothScroll.cjs.mjs",
196
196
  "default": "./useSmoothScroll.cjs.js"
197
197
  },
198
198
  "./useSpinDelay": {
199
199
  "module": "./useSpinDelay.esm.js",
200
- "types": "./useSpinDelay.esm.d.ts",
200
+ "types": "./useSpinDelay.d.ts",
201
201
  "import": "./useSpinDelay.cjs.mjs",
202
202
  "default": "./useSpinDelay.cjs.js"
203
203
  },
204
204
  "./useTraceUpdate": {
205
205
  "module": "./useTraceUpdate.esm.js",
206
- "types": "./useTraceUpdate.esm.d.ts",
206
+ "types": "./useTraceUpdate.d.ts",
207
207
  "import": "./useTraceUpdate.cjs.mjs",
208
208
  "default": "./useTraceUpdate.cjs.js"
209
209
  },
210
210
  "./useUpdateEffect": {
211
211
  "module": "./useUpdateEffect.esm.js",
212
- "types": "./useUpdateEffect.esm.d.ts",
212
+ "types": "./useUpdateEffect.d.ts",
213
213
  "import": "./useUpdateEffect.cjs.mjs",
214
214
  "default": "./useUpdateEffect.cjs.js"
215
215
  },
216
216
  "./useWindowSize": {
217
217
  "module": "./useWindowSize.esm.js",
218
- "types": "./useWindowSize.esm.d.ts",
218
+ "types": "./useWindowSize.d.ts",
219
219
  "import": "./useWindowSize.cjs.mjs",
220
220
  "default": "./useWindowSize.cjs.js"
221
221
  }
222
222
  },
223
223
  "module": "./index.esm.js",
224
224
  "main": "./index.cjs.js",
225
- "types": "./index.esm.d.ts",
226
- "version": "2.0.0-beta.194"
225
+ "types": "./index.d.ts",
226
+ "version": "2.0.0-beta.195"
227
227
  }
package/types.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ import type { JSX } from "react";
1
2
  export type KoineComponentProps<BaseComponentProps, ExtendableProps> = BaseComponentProps & ExtendableProps;
2
3
  export type KoineComponent<Props = any> = string | React.ForwardRefExoticComponent<Props> | React.ExoticComponent<Props> | React.FC<Props> | ((props: Props) => JSX.Element);
package/useAsyncFn.cjs.js CHANGED
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var react = require('react');
6
6
  var useMountedState = require('./useMountedState.cjs.js');
7
7
 
8
- let useAsyncFn=(o,u=[],l={loading:!1})=>{let a=react.useRef(0),d=useMountedState.useMountedState(),[i,c]=react.useState(l),g=react.useCallback((...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]};
8
+ let useAsyncFn=(o,u=[],l={loading:false})=>{let a=react.useRef(0),d=useMountedState.useMountedState(),[i,c]=react.useState(l),g=react.useCallback((...e)=>{let t=++a.current;return i.loading||c(e=>({...e,loading:true})),o(...e).then(e=>(d()&&t===a.current&&c({value:e,loading:false}),e),e=>(d()&&t===a.current&&c({error:e,loading:false}),e))},u);return [i,g]};
9
9
 
10
10
  exports.default = useAsyncFn;
11
11
  exports.useAsyncFn = useAsyncFn;
package/useAsyncFn.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { useRef, useState, useCallback } from 'react';
2
2
  import { useMountedState } from './useMountedState.esm.js';
3
3
 
4
- let useAsyncFn=(o,u=[],l={loading:!1})=>{let a=useRef(0),d=useMountedState(),[i,c]=useState(l),g=useCallback((...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]};
4
+ let useAsyncFn=(o,u=[],l={loading:false})=>{let a=useRef(0),d=useMountedState(),[i,c]=useState(l),g=useCallback((...e)=>{let t=++a.current;return i.loading||c(e=>({...e,loading:true})),o(...e).then(e=>(d()&&t===a.current&&c({value:e,loading:false}),e),e=>(d()&&t===a.current&&c({error:e,loading:false}),e))},u);return [i,g]};
5
5
 
6
6
  export { useAsyncFn as default, useAsyncFn };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('react');
6
6
 
7
- let useFirstMountState=()=>{let r=react.useRef(!0);return r.current?(r.current=!1,!0):r.current};
7
+ let useFirstMountState=()=>{let r=react.useRef(true);return r.current?(r.current=false,true):r.current};
8
8
 
9
9
  exports.default = useFirstMountState;
10
10
  exports.useFirstMountState = useFirstMountState;
@@ -1,5 +1,5 @@
1
1
  import { useRef } from 'react';
2
2
 
3
- let useFirstMountState=()=>{let r=useRef(!0);return r.current?(r.current=!1,!0):r.current};
3
+ let useFirstMountState=()=>{let r=useRef(true);return r.current?(r.current=false,true):r.current};
4
4
 
5
5
  export { useFirstMountState as default, useFirstMountState };
@@ -7,7 +7,7 @@ var utils = require('@koine/utils');
7
7
  var dom = require('@koine/dom');
8
8
  var useIsomorphicLayoutEffect = require('./useIsomorphicLayoutEffect.cjs.js');
9
9
 
10
- let n=e=>{dom.injectCss("useFixedOffset",`html{scroll-padding-top: ${e}px}`);};let useFixedOffset=i=>{let l=react.useRef(0);return useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(()=>{let e=()=>{let e=dom.calculateFixedOffset();l.current=e,n(e);};if(e(),!ResizeObserver)return dom.listenResizeDebounced(0,e);{let e=new ResizeObserver(e=>{let r=0;e.forEach(e=>{r+=e.contentRect.height;}),l.current=r,utils.debounce(()=>n(r),400,!0)();});return dom.domEach(i||"[data-fixed]",t=>{e&&e.observe(t);}),()=>{e?.disconnect();}}},[i]),l};
10
+ let n=e=>{dom.injectCss("useFixedOffset",`html{scroll-padding-top: ${e}px}`);};let useFixedOffset=i=>{let l=react.useRef(0);return useIsomorphicLayoutEffect.useIsomorphicLayoutEffect(()=>{let e=()=>{let e=dom.calculateFixedOffset();l.current=e,n(e);};if(e(),!ResizeObserver)return dom.listenResizeDebounced(0,e);{let e=new ResizeObserver(e=>{let r=0;e.forEach(e=>{r+=e.contentRect.height;}),l.current=r,utils.debounce(()=>n(r),400,true)();});return dom.domEach(i||"[data-fixed]",t=>{e&&e.observe(t);}),()=>{e?.disconnect();}}},[i]),l};
11
11
 
12
12
  exports.default = useFixedOffset;
13
13
  exports.useFixedOffset = useFixedOffset;
@@ -7,5 +7,5 @@
7
7
  *
8
8
  * @param selector By default `[data-fixed]`: anyhting with the data attribute `data-fixed`
9
9
  */
10
- export declare let useFixedOffset: (selector?: string) => import("react").MutableRefObject<number>;
10
+ export declare let useFixedOffset: (selector?: string) => import("react").RefObject<number>;
11
11
  export default useFixedOffset;
@@ -3,6 +3,6 @@ import { debounce } from '@koine/utils';
3
3
  import { listenResizeDebounced, domEach, calculateFixedOffset, injectCss } from '@koine/dom';
4
4
  import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect.esm.js';
5
5
 
6
- let n=e=>{injectCss("useFixedOffset",`html{scroll-padding-top: ${e}px}`);};let useFixedOffset=i=>{let l=useRef(0);return useIsomorphicLayoutEffect(()=>{let e=()=>{let e=calculateFixedOffset();l.current=e,n(e);};if(e(),!ResizeObserver)return listenResizeDebounced(0,e);{let e=new ResizeObserver(e=>{let r=0;e.forEach(e=>{r+=e.contentRect.height;}),l.current=r,debounce(()=>n(r),400,!0)();});return domEach(i||"[data-fixed]",t=>{e&&e.observe(t);}),()=>{e?.disconnect();}}},[i]),l};
6
+ let n=e=>{injectCss("useFixedOffset",`html{scroll-padding-top: ${e}px}`);};let useFixedOffset=i=>{let l=useRef(0);return useIsomorphicLayoutEffect(()=>{let e=()=>{let e=calculateFixedOffset();l.current=e,n(e);};if(e(),!ResizeObserver)return listenResizeDebounced(0,e);{let e=new ResizeObserver(e=>{let r=0;e.forEach(e=>{r+=e.contentRect.height;}),l.current=r,debounce(()=>n(r),400,true)();});return domEach(i||"[data-fixed]",t=>{e&&e.observe(t);}),()=>{e?.disconnect();}}},[i]),l};
7
7
 
8
8
  export { useFixedOffset as default, useFixedOffset };
package/useFocus.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * @see https://stackoverflow.com/a/54159564/1938970
3
3
  */
4
- export declare let useFocus: () => (import("react").RefObject<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement> | (() => void))[];
4
+ export declare let useFocus: () => (import("react").RefObject<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null> | (() => void))[];
5
5
  export default useFocus;
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var react = require('react');
6
6
  var utils = require('@koine/utils');
7
7
 
8
- let useInterval=(n,l,u=[])=>{let o=react.useRef();react.useEffect(()=>{o.current=n;},[n,...u]),react.useEffect(()=>{if(null!==l){let r=setInterval(function(){o.current&&o.current();},l);return ()=>clearInterval(r)}return utils.noop},[l]);};
8
+ let useInterval=(l,n,u=[])=>{let o=react.useRef(null);react.useEffect(()=>{o.current=l;},[l,...u]),react.useEffect(()=>{if(null!==n){let r=setInterval(function(){o.current&&o.current();},n);return ()=>clearInterval(r)}return utils.noop},[n]);};
9
9
 
10
10
  exports.default = useInterval;
11
11
  exports.useInterval = useInterval;
@@ -1,6 +1,6 @@
1
1
  import { useRef, useEffect } from 'react';
2
2
  import { noop } from '@koine/utils';
3
3
 
4
- let useInterval=(n,l,u=[])=>{let o=useRef();useEffect(()=>{o.current=n;},[n,...u]),useEffect(()=>{if(null!==l){let r=setInterval(function(){o.current&&o.current();},l);return ()=>clearInterval(r)}return noop},[l]);};
4
+ let useInterval=(l,n,u=[])=>{let o=useRef(null);useEffect(()=>{o.current=l;},[l,...u]),useEffect(()=>{if(null!==n){let r=setInterval(function(){o.current&&o.current();},n);return ()=>clearInterval(r)}return noop},[n]);};
5
5
 
6
6
  export { useInterval as default, useInterval };
package/useMeasure.cjs.js CHANGED
@@ -6,7 +6,7 @@ var react = require('react');
6
6
  var utils = require('@koine/utils');
7
7
  var dom = require('@koine/dom');
8
8
 
9
- let e;let m=e=>{let t=[];if(!e||e===document.body)return t;let{overflow:r,overflowX:n,overflowY:u}=window.getComputedStyle(e);return [r,n,u].some(e=>"auto"===e||"scroll"===e)&&t.push(e),[...t,...m(e.parentElement)]},p=["x","y","top","bottom","left","right","width","height"],d=(e,t)=>p.every(r=>e[r]===t[r]);let useMeasure=p=>{let{scroll:h=!1}=p||{},[a,b]=react.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),g=react.useRef([null,null,null,a]),v=react.useRef(!1);react.useEffect(()=>(v.current=!0,()=>void(v.current=!1)),[]);let[w,,y]=react.useMemo(()=>{let e=(...e)=>{let[t,,,r]=g.current;if(!t)return;let n=t.getBoundingClientRect();Object.freeze(n),v.current&&!d(r,n)&&(g.current[3]=n,b(n));},t=utils.debounce(e);return [e,t,t]},[b]);function x(){let[,e,t]=g.current;e&&(e.forEach(e=>dom.off(e,"scroll",y)),g.current[1]=null),t&&(t.disconnect(),g.current[2]=null);}function z(){let[t,r]=g.current;t&&!e&&ResizeObserver&&(e=new ResizeObserver(y),g.current[2]=e,e.observe(t),h&&r&&r.forEach(e=>dom.on(e,"scroll",y,{capture:!0,passive:!0})));}return react.useEffect(()=>h?dom.listenScrollDebounced(0,w,100):utils.noop,[h,w]),react.useEffect(()=>dom.listenResizeDebounced(0,w,100),[w]),react.useEffect(()=>{x(),z();},[h]),react.useEffect(()=>(w(),x),[]),[e=>{e&&e!==g.current[0]&&(x(),g.current[0]=e,g.current[1]=m(e),z());},a,w]};
9
+ let e;let m=e=>{let t=[];if(!e||e===document.body)return t;let{overflow:r,overflowX:n,overflowY:u}=window.getComputedStyle(e);return [r,n,u].some(e=>"auto"===e||"scroll"===e)&&t.push(e),[...t,...m(e.parentElement)]},p=["x","y","top","bottom","left","right","width","height"];let useMeasure=d=>{let{scroll:h=false}=d||{},[a,b]=react.useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),g=react.useRef([null,null,null,a]),v=react.useRef(false);react.useEffect(()=>(v.current=true,()=>void(v.current=false)),[]);let[w,,y]=react.useMemo(()=>{let e=(...e)=>{let[t,,,r]=g.current;if(!t)return;let n=t.getBoundingClientRect();Object.freeze(n),v.current&&!p.every(e=>r[e]===n[e])&&(g.current[3]=n,b(n));},t=utils.debounce(e);return [e,t,t]},[b]);function x(){let[,e,t]=g.current;e&&(e.forEach(e=>dom.off(e,"scroll",y)),g.current[1]=null),t&&(t.disconnect(),g.current[2]=null);}function z(){let[t,r]=g.current;t&&!e&&ResizeObserver&&(e=new ResizeObserver(y),g.current[2]=e,e.observe(t),h&&r&&r.forEach(e=>dom.on(e,"scroll",y,{capture:true,passive:true})));}return react.useEffect(()=>h?dom.listenScrollDebounced(0,w,100):utils.noop,[h,w]),react.useEffect(()=>dom.listenResizeDebounced(0,w,100),[w]),react.useEffect(()=>{x(),z();},[h]),react.useEffect(()=>(w(),x),[]),[e=>{e&&e!==g.current[0]&&(x(),g.current[0]=e,g.current[1]=m(e),z());},a,w]};
10
10
 
11
11
  exports.default = useMeasure;
12
12
  exports.useMeasure = useMeasure;
package/useMeasure.esm.js CHANGED
@@ -2,6 +2,6 @@ import { useState, useRef, useEffect, useMemo } from 'react';
2
2
  import { debounce, noop } from '@koine/utils';
3
3
  import { listenScrollDebounced, listenResizeDebounced, off, on } from '@koine/dom';
4
4
 
5
- let e;let m=e=>{let t=[];if(!e||e===document.body)return t;let{overflow:r,overflowX:n,overflowY:u}=window.getComputedStyle(e);return [r,n,u].some(e=>"auto"===e||"scroll"===e)&&t.push(e),[...t,...m(e.parentElement)]},p=["x","y","top","bottom","left","right","width","height"],d=(e,t)=>p.every(r=>e[r]===t[r]);let useMeasure=p=>{let{scroll:h=!1}=p||{},[a,b]=useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),g=useRef([null,null,null,a]),v=useRef(!1);useEffect(()=>(v.current=!0,()=>void(v.current=!1)),[]);let[w,,y]=useMemo(()=>{let e=(...e)=>{let[t,,,r]=g.current;if(!t)return;let n=t.getBoundingClientRect();Object.freeze(n),v.current&&!d(r,n)&&(g.current[3]=n,b(n));},t=debounce(e);return [e,t,t]},[b]);function x(){let[,e,t]=g.current;e&&(e.forEach(e=>off(e,"scroll",y)),g.current[1]=null),t&&(t.disconnect(),g.current[2]=null);}function z(){let[t,r]=g.current;t&&!e&&ResizeObserver&&(e=new ResizeObserver(y),g.current[2]=e,e.observe(t),h&&r&&r.forEach(e=>on(e,"scroll",y,{capture:!0,passive:!0})));}return useEffect(()=>h?listenScrollDebounced(0,w,100):noop,[h,w]),useEffect(()=>listenResizeDebounced(0,w,100),[w]),useEffect(()=>{x(),z();},[h]),useEffect(()=>(w(),x),[]),[e=>{e&&e!==g.current[0]&&(x(),g.current[0]=e,g.current[1]=m(e),z());},a,w]};
5
+ let e;let m=e=>{let t=[];if(!e||e===document.body)return t;let{overflow:r,overflowX:n,overflowY:u}=window.getComputedStyle(e);return [r,n,u].some(e=>"auto"===e||"scroll"===e)&&t.push(e),[...t,...m(e.parentElement)]},p=["x","y","top","bottom","left","right","width","height"];let useMeasure=d=>{let{scroll:h=false}=d||{},[a,b]=useState({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),g=useRef([null,null,null,a]),v=useRef(false);useEffect(()=>(v.current=true,()=>void(v.current=false)),[]);let[w,,y]=useMemo(()=>{let e=(...e)=>{let[t,,,r]=g.current;if(!t)return;let n=t.getBoundingClientRect();Object.freeze(n),v.current&&!p.every(e=>r[e]===n[e])&&(g.current[3]=n,b(n));},t=debounce(e);return [e,t,t]},[b]);function x(){let[,e,t]=g.current;e&&(e.forEach(e=>off(e,"scroll",y)),g.current[1]=null),t&&(t.disconnect(),g.current[2]=null);}function z(){let[t,r]=g.current;t&&!e&&ResizeObserver&&(e=new ResizeObserver(y),g.current[2]=e,e.observe(t),h&&r&&r.forEach(e=>on(e,"scroll",y,{capture:true,passive:true})));}return useEffect(()=>h?listenScrollDebounced(0,w,100):noop,[h,w]),useEffect(()=>listenResizeDebounced(0,w,100),[w]),useEffect(()=>{x(),z();},[h]),useEffect(()=>(w(),x),[]),[e=>{e&&e!==g.current[0]&&(x(),g.current[0]=e,g.current[1]=m(e),z());},a,w]};
6
6
 
7
7
  export { useMeasure as default, useMeasure };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('react');
6
6
 
7
- let useMountedState=()=>{let u=react.useRef(!1),n=react.useCallback(()=>u.current,[]);return react.useEffect(()=>(u.current=!0,()=>{u.current=!1;}),[]),n};
7
+ let useMountedState=()=>{let u=react.useRef(false),n=react.useCallback(()=>u.current,[]);return react.useEffect(()=>(u.current=true,()=>{u.current=false;}),[]),n};
8
8
 
9
9
  exports.default = useMountedState;
10
10
  exports.useMountedState = useMountedState;
@@ -1,5 +1,5 @@
1
1
  import { useRef, useCallback, useEffect } from 'react';
2
2
 
3
- let useMountedState=()=>{let u=useRef(!1),n=useCallback(()=>u.current,[]);return useEffect(()=>(u.current=!0,()=>{u.current=!1;}),[]),n};
3
+ let useMountedState=()=>{let u=useRef(false),n=useCallback(()=>u.current,[]);return useEffect(()=>(u.current=true,()=>{u.current=false;}),[]),n};
4
4
 
5
5
  export { useMountedState as default, useMountedState };
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var react = require('react');
6
6
  var dom = require('@koine/dom');
7
7
 
8
- let useNavigateAway=a=>{let o=react.useRef();react.useEffect(()=>{o.current=e=>{let t=a(e);return (t&&e.preventDefault(),"string"==typeof t)?e.returnValue=t:e.defaultPrevented?e.returnValue="":void 0};},[a]),react.useEffect(()=>dom.on(window,"beforeunload",e=>o.current?.(e)),[]);};
8
+ let useNavigateAway=u=>{let a=react.useRef(null);react.useEffect(()=>{a.current=e=>{let t=u(e);return (t&&e.preventDefault(),"string"==typeof t)?e.returnValue=t:e.defaultPrevented?e.returnValue="":void 0};},[u]),react.useEffect(()=>dom.on(window,"beforeunload",e=>a.current?.(e)),[]);};
9
9
 
10
10
  exports.default = useNavigateAway;
11
11
  exports.useNavigateAway = useNavigateAway;
@@ -1,6 +1,6 @@
1
1
  import { useRef, useEffect } from 'react';
2
2
  import { on } from '@koine/dom';
3
3
 
4
- let useNavigateAway=a=>{let o=useRef();useEffect(()=>{o.current=e=>{let t=a(e);return (t&&e.preventDefault(),"string"==typeof t)?e.returnValue=t:e.defaultPrevented?e.returnValue="":void 0};},[a]),useEffect(()=>on(window,"beforeunload",e=>o.current?.(e)),[]);};
4
+ let useNavigateAway=u=>{let a=useRef(null);useEffect(()=>{a.current=e=>{let t=u(e);return (t&&e.preventDefault(),"string"==typeof t)?e.returnValue=t:e.defaultPrevented?e.returnValue="":void 0};},[u]),useEffect(()=>on(window,"beforeunload",e=>a.current?.(e)),[]);};
5
5
 
6
6
  export { useNavigateAway as default, useNavigateAway };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('react');
6
6
 
7
- let usePreviousRef=t=>{let u=react.useRef();return react.useEffect(()=>{u.current=t;}),u.current};
7
+ let usePreviousRef=t=>{let u=react.useRef(null);return react.useEffect(()=>{u.current=t;}),u.current};
8
8
 
9
9
  exports.default = usePreviousRef;
10
10
  exports.usePreviousRef = usePreviousRef;
@@ -1,2 +1,2 @@
1
- export declare let usePreviousRef: <T extends unknown>(value: T) => T | undefined;
1
+ export declare let usePreviousRef: <T extends unknown>(value: T) => T | null;
2
2
  export default usePreviousRef;
@@ -1,5 +1,5 @@
1
1
  import { useRef, useEffect } from 'react';
2
2
 
3
- let usePreviousRef=t=>{let u=useRef();return useEffect(()=>{u.current=t;}),u.current};
3
+ let usePreviousRef=t=>{let u=useRef(null);return useEffect(()=>{u.current=t;}),u.current};
4
4
 
5
5
  export { usePreviousRef as default, usePreviousRef };
package/useReveal.d.ts CHANGED
@@ -26,7 +26,7 @@ export type UseRevealOptions = {
26
26
  offsetStartX?: number | "all";
27
27
  };
28
28
  export declare let useReveal: <T extends HTMLElement = HTMLDivElement>({ direction, offsetStartY, offsetEndY, offsetStartX, }: UseRevealOptions) => {
29
- ref: import("react").RefObject<T>;
29
+ ref: import("react").RefObject<T | null>;
30
30
  startY: number;
31
31
  endY: number;
32
32
  startX: number;
@@ -6,7 +6,7 @@ var react = require('react');
6
6
  var utils = require('@koine/utils');
7
7
  var dom = require('@koine/dom');
8
8
 
9
- let useScrollThreshold=(i,m)=>{let[u,f]=react.useState(!1),n=react.useCallback(()=>{if(i){let r=window.scrollY,e=r<i,o=r>i;f(o),m&&m(e,o);}},[i,m]);return react.useEffect(()=>{if(i){let r=dom.listenScroll(n);return n(),r}return utils.noop},[i,n]),u};
9
+ let useScrollThreshold=(i,m)=>{let[u,f]=react.useState(false),n=react.useCallback(()=>{if(i){let r=window.scrollY,e=r<i,o=r>i;f(o),m&&m(e,o);}},[i,m]);return react.useEffect(()=>{if(i){let r=dom.listenScroll(n);return n(),r}return utils.noop},[i,n]),u};
10
10
 
11
11
  exports.default = useScrollThreshold;
12
12
  exports.useScrollThreshold = useScrollThreshold;
@@ -2,6 +2,6 @@ import { useState, useCallback, useEffect } from 'react';
2
2
  import { noop } from '@koine/utils';
3
3
  import { listenScroll } from '@koine/dom';
4
4
 
5
- let useScrollThreshold=(i,m)=>{let[u,f]=useState(!1),n=useCallback(()=>{if(i){let r=window.scrollY,e=r<i,o=r>i;f(o),m&&m(e,o);}},[i,m]);return useEffect(()=>{if(i){let r=listenScroll(n);return n(),r}return noop},[i,n]),u};
5
+ let useScrollThreshold=(i,m)=>{let[u,f]=useState(false),n=useCallback(()=>{if(i){let r=window.scrollY,e=r<i,o=r>i;f(o),m&&m(e,o);}},[i,m]);return useEffect(()=>{if(i){let r=listenScroll(n);return n(),r}return noop},[i,n]),u};
6
6
 
7
7
  export { useScrollThreshold as default, useScrollThreshold };
@@ -7,7 +7,7 @@ var utils = require('@koine/utils');
7
7
  var dom = require('@koine/dom');
8
8
  var useFixedOffset = require('./useFixedOffset.cjs.js');
9
9
 
10
- let useSmoothScroll=m=>{let i=useFixedOffset.useFixedOffset();return react.useCallback((e,l,f,u,n)=>{let c;let p=!1;if(utils.isNumber(e))c=e;else if(e){let t=document.getElementById(e);t&&(c=dom.getOffsetTopSlim(t)-i.current,p=!0);}utils.isNumber(c)&&dom.scrollTo(c=c+(l||0)+(m||p?0:i.current),f,u,n);},[m,i])};
10
+ let useSmoothScroll=l=>{let i=useFixedOffset.useFixedOffset();return react.useCallback((e,m,f,u,n)=>{let c,p=false;if(utils.isNumber(e))c=e;else if(e){let t=document.getElementById(e);t&&(c=dom.getOffsetTopSlim(t)-i.current,p=true);}utils.isNumber(c)&&dom.scrollTo(c=c+(m||0)+(l||p?0:i.current),f,u,n);},[l,i])};
11
11
 
12
12
  exports.default = useSmoothScroll;
13
13
  exports.useSmoothScroll = useSmoothScroll;
@@ -3,6 +3,6 @@ import { isNumber } from '@koine/utils';
3
3
  import { getOffsetTopSlim, scrollTo } from '@koine/dom';
4
4
  import { useFixedOffset } from './useFixedOffset.esm.js';
5
5
 
6
- let useSmoothScroll=m=>{let i=useFixedOffset();return useCallback((e,l,f,u,n)=>{let c;let p=!1;if(isNumber(e))c=e;else if(e){let t=document.getElementById(e);t&&(c=getOffsetTopSlim(t)-i.current,p=!0);}isNumber(c)&&scrollTo(c=c+(l||0)+(m||p?0:i.current),f,u,n);},[m,i])};
6
+ let useSmoothScroll=l=>{let i=useFixedOffset();return useCallback((e,m,f,u,n)=>{let c,p=false;if(isNumber(e))c=e;else if(e){let t=document.getElementById(e);t&&(c=getOffsetTopSlim(t)-i.current,p=true);}isNumber(c)&&scrollTo(c=c+(m||0)+(l||p?0:i.current),f,u,n);},[l,i])};
7
7
 
8
8
  export { useSmoothScroll as default, useSmoothScroll };
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var react = require('react');
6
6
 
7
- let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=react.useState(0),l=react.useRef();return react.useEffect(()=>{u&&0===n&&(clearTimeout(l.current),l.current=setTimeout(()=>{if(!u)return o(0);l.current=setTimeout(()=>{o(3);},i),o(2);},c),o(1)),u||2===n||(clearTimeout(l.current),o(0));},[u,n,c,i]),react.useEffect(()=>()=>clearTimeout(l.current),[]),2===n||3===n};
7
+ let useSpinDelay=(u,i=500,o=200)=>{let[c,n]=react.useState(0),l=react.useRef(void 0);return react.useEffect(()=>{u&&0===c&&(clearTimeout(l.current),l.current=setTimeout(()=>{if(!u)return n(0);l.current=setTimeout(()=>{n(3);},o),n(2);},i),n(1)),u||2===c||(clearTimeout(l.current),n(0));},[u,c,i,o]),react.useEffect(()=>()=>clearTimeout(l.current),[]),2===c||3===c};
8
8
 
9
9
  exports.default = useSpinDelay;
10
10
  exports.useSpinDelay = useSpinDelay;
@@ -1,5 +1,5 @@
1
1
  import { useState, useRef, useEffect } from 'react';
2
2
 
3
- let useSpinDelay=(u,c=500,i=200)=>{let[n,o]=useState(0),l=useRef();return useEffect(()=>{u&&0===n&&(clearTimeout(l.current),l.current=setTimeout(()=>{if(!u)return o(0);l.current=setTimeout(()=>{o(3);},i),o(2);},c),o(1)),u||2===n||(clearTimeout(l.current),o(0));},[u,n,c,i]),useEffect(()=>()=>clearTimeout(l.current),[]),2===n||3===n};
3
+ let useSpinDelay=(u,i=500,o=200)=>{let[c,n]=useState(0),l=useRef(void 0);return useEffect(()=>{u&&0===c&&(clearTimeout(l.current),l.current=setTimeout(()=>{if(!u)return n(0);l.current=setTimeout(()=>{n(3);},o),n(2);},i),n(1)),u||2===c||(clearTimeout(l.current),n(0));},[u,c,i,o]),useEffect(()=>()=>clearTimeout(l.current),[]),2===c||3===c};
4
4
 
5
5
  export { useSpinDelay as default, useSpinDelay };
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vite").UserConfig;
2
+ export default _default;
@@ -1,2 +0,0 @@
1
- export * from "./FaviconTags";
2
- export { default } from "./FaviconTags";
@@ -1,2 +0,0 @@
1
- export * from "./FaviconTags";
2
- export { default } from "./FaviconTags";
package/Meta.cjs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./Meta";
2
- export { default } from "./Meta";
package/Meta.esm.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./Meta";
2
- export { default } from "./Meta";
package/NoJs.cjs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./NoJs";
2
- export { default } from "./NoJs";
package/NoJs.esm.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./NoJs";
2
- export { default } from "./NoJs";
@@ -1 +0,0 @@
1
- export * from "./Polymorphic";
@@ -1 +0,0 @@
1
- export * from "./Polymorphic";
package/calendar.cjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./calendar";
package/calendar.esm.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./calendar";
package/classed.cjs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./classed";
2
- export { default } from "./classed";
package/classed.esm.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./classed";
2
- export { default } from "./classed";
@@ -1,2 +0,0 @@
1
- export * from "./createUseMediaQueryWidth";
2
- export { default } from "./createUseMediaQueryWidth";
@@ -1,2 +0,0 @@
1
- export * from "./createUseMediaQueryWidth";
2
- export { default } from "./createUseMediaQueryWidth";
@@ -1,2 +0,0 @@
1
- export * from "./extendComponent";
2
- export { default } from "./extendComponent";
@@ -1,2 +0,0 @@
1
- export * from "./extendComponent";
2
- export { default } from "./extendComponent";
package/forms.cjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./forms";
package/forms.esm.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./forms";
package/index.cjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./index";
package/index.esm.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./index";
@@ -1,2 +0,0 @@
1
- export * from "./mergeRefs";
2
- export { default } from "./mergeRefs";
@@ -1,2 +0,0 @@
1
- export * from "./mergeRefs";
2
- export { default } from "./mergeRefs";
package/types.cjs.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./types";
package/types.esm.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from "./types";
@@ -1,2 +0,0 @@
1
- export * from "./useAsyncFn";
2
- export { default } from "./useAsyncFn";
@@ -1,2 +0,0 @@
1
- export * from "./useAsyncFn";
2
- export { default } from "./useAsyncFn";
@@ -1,2 +0,0 @@
1
- export * from "./useFirstMountState";
2
- export { default } from "./useFirstMountState";
@@ -1,2 +0,0 @@
1
- export * from "./useFirstMountState";
2
- export { default } from "./useFirstMountState";
@@ -1,2 +0,0 @@
1
- export * from "./useFixedOffset";
2
- export { default } from "./useFixedOffset";
@@ -1,2 +0,0 @@
1
- export * from "./useFixedOffset";
2
- export { default } from "./useFixedOffset";
package/useFocus.cjs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./useFocus";
2
- export { default } from "./useFocus";
package/useFocus.esm.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./useFocus";
2
- export { default } from "./useFocus";
@@ -1,2 +0,0 @@
1
- export * from "./useInterval";
2
- export { default } from "./useInterval";
@@ -1,2 +0,0 @@
1
- export * from "./useInterval";
2
- export { default } from "./useInterval";
@@ -1,2 +0,0 @@
1
- export * from "./useIsomorphicLayoutEffect";
2
- export { default } from "./useIsomorphicLayoutEffect";
@@ -1,2 +0,0 @@
1
- export * from "./useIsomorphicLayoutEffect";
2
- export { default } from "./useIsomorphicLayoutEffect";
package/useKeyUp.cjs.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./useKeyUp";
2
- export { default } from "./useKeyUp";
package/useKeyUp.esm.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export * from "./useKeyUp";
2
- export { default } from "./useKeyUp";
@@ -1,2 +0,0 @@
1
- export * from "./useMeasure";
2
- export { default } from "./useMeasure";
@@ -1,2 +0,0 @@
1
- export * from "./useMeasure";
2
- export { default } from "./useMeasure";
@@ -1,2 +0,0 @@
1
- export * from "./useMountedState";
2
- export { default } from "./useMountedState";
@@ -1,2 +0,0 @@
1
- export * from "./useMountedState";
2
- export { default } from "./useMountedState";
@@ -1,2 +0,0 @@
1
- export * from "./useNavigateAway";
2
- export { default } from "./useNavigateAway";
@@ -1,2 +0,0 @@
1
- export * from "./useNavigateAway";
2
- export { default } from "./useNavigateAway";
@@ -1,2 +0,0 @@
1
- export * from "./usePrevious";
2
- export { default } from "./usePrevious";
@@ -1,2 +0,0 @@
1
- export * from "./usePrevious";
2
- export { default } from "./usePrevious";
@@ -1,2 +0,0 @@
1
- export * from "./usePreviousRef";
2
- export { default } from "./usePreviousRef";
@@ -1,2 +0,0 @@
1
- export * from "./usePreviousRef";
2
- export { default } from "./usePreviousRef";
@@ -1,2 +0,0 @@
1
- export * from "./useScrollPosition";
2
- export { default } from "./useScrollPosition";
@@ -1,2 +0,0 @@
1
- export * from "./useScrollPosition";
2
- export { default } from "./useScrollPosition";
@@ -1,2 +0,0 @@
1
- export * from "./useScrollThreshold";
2
- export { default } from "./useScrollThreshold";
@@ -1,2 +0,0 @@
1
- export * from "./useScrollThreshold";
2
- export { default } from "./useScrollThreshold";
@@ -1,2 +0,0 @@
1
- export * from "./useScrollTo";
2
- export { default } from "./useScrollTo";
@@ -1,2 +0,0 @@
1
- export * from "./useScrollTo";
2
- export { default } from "./useScrollTo";
@@ -1,2 +0,0 @@
1
- export * from "./useSmoothScroll";
2
- export { default } from "./useSmoothScroll";
@@ -1,2 +0,0 @@
1
- export * from "./useSmoothScroll";
2
- export { default } from "./useSmoothScroll";
@@ -1,2 +0,0 @@
1
- export * from "./useSpinDelay";
2
- export { default } from "./useSpinDelay";
@@ -1,2 +0,0 @@
1
- export * from "./useSpinDelay";
2
- export { default } from "./useSpinDelay";
@@ -1,2 +0,0 @@
1
- export * from "./useTraceUpdate";
2
- export { default } from "./useTraceUpdate";
@@ -1,2 +0,0 @@
1
- export * from "./useTraceUpdate";
2
- export { default } from "./useTraceUpdate";
@@ -1,2 +0,0 @@
1
- export * from "./useUpdateEffect";
2
- export { default } from "./useUpdateEffect";
@@ -1,2 +0,0 @@
1
- export * from "./useUpdateEffect";
2
- export { default } from "./useUpdateEffect";
@@ -1,2 +0,0 @@
1
- export * from "./useWindowSize";
2
- export { default } from "./useWindowSize";
@@ -1,2 +0,0 @@
1
- export * from "./useWindowSize";
2
- export { default } from "./useWindowSize";