@koine/react 2.0.0-beta.72 → 2.0.0-beta.74
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.d.ts +9 -0
- package/FaviconTags.js +5 -0
- package/Meta.d.ts +5 -0
- package/Meta.js +5 -0
- package/NoJs.d.ts +3 -0
- package/NoJs.js +7 -0
- package/Polymorphic.d.ts +26 -0
- package/Polymorphic.js +1 -0
- package/calendar/CalendarDaygridCell.js +42 -0
- package/calendar/CalendarDaygridNav.js +22 -0
- package/calendar/CalendarDaygridTable.js +50 -0
- package/calendar/CalendarLegend.js +4 -0
- package/calendar/calendar-api-google.js +90 -0
- package/calendar/types.js +1 -0
- package/calendar/useCalendar.js +175 -0
- package/calendar/useDateLocale.js +16 -0
- package/calendar/utils.js +172 -0
- package/calendar.js +7 -0
- package/classed.d.ts +8 -0
- package/classed.js +41 -0
- package/components/FaviconTags.js +4 -0
- package/components/Meta.js +4 -0
- package/components/NoJs.js +6 -0
- package/createUseMediaQueryWidth.d.ts +6 -0
- package/createUseMediaQueryWidth.js +38 -0
- package/extendComponent.d.ts +16 -0
- package/extendComponent.js +9 -0
- package/forms/antispam.js +29 -0
- package/forms.js +1 -0
- package/hooks/index.js +19 -0
- package/hooks/useAsyncFn.js +25 -0
- package/hooks/useFirstMountState.js +9 -0
- package/hooks/useFixedOffset.js +41 -0
- package/hooks/useFocus.js +8 -0
- package/hooks/useInterval.js +19 -0
- package/hooks/useIsomorphicLayoutEffect.js +3 -0
- package/hooks/useKeyUp.js +15 -0
- package/hooks/useMeasure.js +118 -0
- package/hooks/useMountedState.js +12 -0
- package/hooks/useNavigateAway.js +24 -0
- package/hooks/usePrevious.js +8 -0
- package/hooks/usePreviousRef.js +8 -0
- package/hooks/useReveal.js +41 -0
- package/hooks/useScrollPosition.js +57 -0
- package/hooks/useScrollThreshold.js +25 -0
- package/hooks/useScrollTo.js +17 -0
- package/hooks/useSmoothScroll.js +31 -0
- package/hooks/useSpinDelay.js +35 -0
- package/hooks/useTraceUpdate.js +16 -0
- package/hooks/useUpdateEffect.js +10 -0
- package/hooks/useWindowSize.js +19 -0
- package/index.cjs.js +33 -23
- package/index.d.ts +28 -3
- package/index.esm.js +33 -26
- package/index.js +26 -0
- package/mergeRefs.d.ts +2 -0
- package/mergeRefs.js +13 -0
- package/package.json +3 -3
- package/types.js +1 -0
- package/useAsyncFn.d.ts +24 -0
- package/useAsyncFn.js +26 -0
- package/useFirstMountState.d.ts +2 -0
- package/useFirstMountState.js +10 -0
- package/useFixedOffset.d.ts +2 -0
- package/useFixedOffset.js +42 -0
- package/useFocus.d.ts +2 -0
- package/useFocus.js +9 -0
- package/useInterval.d.ts +2 -0
- package/useInterval.js +20 -0
- package/useIsomorphicLayoutEffect.d.ts +3 -0
- package/useIsomorphicLayoutEffect.js +4 -0
- package/useKeyUp.d.ts +2 -0
- package/useKeyUp.js +16 -0
- package/useMeasure.d.ts +22 -0
- package/useMeasure.js +119 -0
- package/useMountedState.d.ts +2 -0
- package/useMountedState.js +13 -0
- package/useNavigateAway.d.ts +3 -0
- package/useNavigateAway.js +25 -0
- package/usePrevious.d.ts +2 -0
- package/usePrevious.js +9 -0
- package/usePreviousRef.d.ts +2 -0
- package/usePreviousRef.js +9 -0
- package/useReveal.d.ts +13 -0
- package/useReveal.js +42 -0
- package/useScrollPosition.d.ts +7 -0
- package/useScrollPosition.js +58 -0
- package/useScrollThreshold.d.ts +2 -0
- package/useScrollThreshold.js +26 -0
- package/useScrollTo.d.ts +2 -0
- package/useScrollTo.js +18 -0
- package/useSmoothScroll.d.ts +2 -0
- package/useSmoothScroll.js +32 -0
- package/useSpinDelay.d.ts +2 -0
- package/useSpinDelay.js +36 -0
- package/useTraceUpdate.d.ts +2 -0
- package/useTraceUpdate.js +17 -0
- package/useUpdateEffect.d.ts +3 -0
- package/useUpdateEffect.js +11 -0
- package/useWindowSize.d.ts +3 -0
- package/useWindowSize.js +20 -0
- package/utils/Polymorphic.js +1 -0
- package/utils/classed.js +40 -0
- package/utils/createUseMediaQueryWidth.js +37 -0
- package/utils/extendComponent.js +8 -0
- package/utils/index.js +4 -0
- package/utils/mergeRefs.js +12 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { getMediaQueryWidthResolvers, isUndefined, } from "@koine/utils";
|
|
3
|
+
import { useIsomorphicLayoutEffect } from "../hooks";
|
|
4
|
+
export let createUseMediaQueryWidth = (customBreakpoints) => {
|
|
5
|
+
const queryResolvers = getMediaQueryWidthResolvers(customBreakpoints);
|
|
6
|
+
return function useMediaQueryWidth(media, serverValue) {
|
|
7
|
+
const definition = media.substring(1);
|
|
8
|
+
let [rule, ruleBreakpoint] = definition.split("-");
|
|
9
|
+
if (isUndefined(ruleBreakpoint)) {
|
|
10
|
+
ruleBreakpoint = rule;
|
|
11
|
+
}
|
|
12
|
+
if (isUndefined(rule)) {
|
|
13
|
+
rule = "min";
|
|
14
|
+
}
|
|
15
|
+
const [br1, br2] = ruleBreakpoint.split("_");
|
|
16
|
+
const query = queryResolvers[rule](br1, br2);
|
|
17
|
+
const [matches, setMatches] = useState(isUndefined(serverValue) ? null : serverValue);
|
|
18
|
+
useIsomorphicLayoutEffect(() => {
|
|
19
|
+
const mq = window.matchMedia(query);
|
|
20
|
+
const handleChange = (event) => {
|
|
21
|
+
setMatches(event.matches);
|
|
22
|
+
};
|
|
23
|
+
setMatches(mq.matches);
|
|
24
|
+
if (!mq.addEventListener) {
|
|
25
|
+
mq.addListener(handleChange);
|
|
26
|
+
return () => {
|
|
27
|
+
mq.removeListener(handleChange);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
mq.addEventListener("change", handleChange);
|
|
31
|
+
return () => {
|
|
32
|
+
mq.removeEventListener("change", handleChange);
|
|
33
|
+
};
|
|
34
|
+
}, [query]);
|
|
35
|
+
return matches;
|
|
36
|
+
};
|
|
37
|
+
};
|
package/utils/index.js
ADDED