@fluentui/react-utilities 9.0.0-nightly.f81b28ceb3.1 → 9.0.0-rc.1
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/CHANGELOG.json +167 -8
- package/CHANGELOG.md +44 -6
- package/dist/react-utilities.d.ts +218 -198
- package/lib/compose/getSlots.d.ts +11 -10
- package/lib/compose/getSlots.js +21 -30
- package/lib/compose/getSlots.js.map +1 -1
- package/lib/compose/index.d.ts +0 -5
- package/lib/compose/index.js +0 -5
- package/lib/compose/index.js.map +1 -1
- package/lib/compose/resolveShorthand.d.ts +10 -6
- package/lib/compose/resolveShorthand.js +13 -12
- package/lib/compose/resolveShorthand.js.map +1 -1
- package/lib/compose/types.d.ts +86 -76
- package/lib/compose/types.js +5 -1
- package/lib/compose/types.js.map +1 -1
- package/lib/hooks/index.d.ts +1 -1
- package/lib/hooks/index.js +1 -1
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/useBoolean.js +10 -21
- package/lib/hooks/useBoolean.js.map +1 -1
- package/lib/hooks/useConst.js +1 -1
- package/lib/hooks/useConst.js.map +1 -1
- package/lib/hooks/useControllableState.d.ts +16 -6
- package/lib/hooks/useControllableState.js +26 -25
- package/lib/hooks/useControllableState.js.map +1 -1
- package/lib/hooks/useEventCallback.js +6 -12
- package/lib/hooks/useEventCallback.js.map +1 -1
- package/lib/hooks/useFirstMount.js +1 -1
- package/lib/hooks/useFirstMount.js.map +1 -1
- package/lib/hooks/useForceUpdate.js +1 -3
- package/lib/hooks/useForceUpdate.js.map +1 -1
- package/lib/hooks/useId.js +2 -4
- package/lib/hooks/useId.js.map +1 -1
- package/lib/hooks/useIsomorphicLayoutEffect.js +1 -1
- package/lib/hooks/useIsomorphicLayoutEffect.js.map +1 -1
- package/lib/hooks/useMergedEventCallbacks.d.ts +18 -0
- package/lib/hooks/useMergedEventCallbacks.js +26 -0
- package/lib/hooks/useMergedEventCallbacks.js.map +1 -0
- package/lib/hooks/useMergedRefs.js +5 -13
- package/lib/hooks/useMergedRefs.js.map +1 -1
- package/lib/hooks/useMount.js +3 -3
- package/lib/hooks/useMount.js.map +1 -1
- package/lib/hooks/useOnClickOutside.js +30 -36
- package/lib/hooks/useOnClickOutside.js.map +1 -1
- package/lib/hooks/useOnScrollOutside.js +13 -15
- package/lib/hooks/useOnScrollOutside.js.map +1 -1
- package/lib/hooks/usePrevious.js +3 -3
- package/lib/hooks/usePrevious.js.map +1 -1
- package/lib/hooks/useTimeout.js +13 -17
- package/lib/hooks/useTimeout.js.map +1 -1
- package/lib/hooks/useUnmount.js +5 -7
- package/lib/hooks/useUnmount.js.map +1 -1
- package/lib/ssr/SSRContext.js +9 -15
- package/lib/ssr/SSRContext.js.map +1 -1
- package/lib/utils/applyTriggerPropsToChildren.d.ts +1 -1
- package/lib/utils/applyTriggerPropsToChildren.js +24 -4
- package/lib/utils/applyTriggerPropsToChildren.js.map +1 -1
- package/lib/utils/clamp.js +1 -3
- package/lib/utils/clamp.js.map +1 -1
- package/lib/utils/getNativeElementProps.d.ts +22 -0
- package/lib/utils/getNativeElementProps.js +24 -2
- package/lib/utils/getNativeElementProps.js.map +1 -1
- package/lib/utils/getRTLSafeKey.js +1 -1
- package/lib/utils/getRTLSafeKey.js.map +1 -1
- package/lib/utils/getReactCallbackName.d.ts +25 -0
- package/lib/utils/getReactCallbackName.js +26 -0
- package/lib/utils/getReactCallbackName.js.map +1 -0
- package/lib/utils/getTriggerChild.d.ts +22 -0
- package/lib/utils/getTriggerChild.js +26 -0
- package/lib/utils/getTriggerChild.js.map +1 -0
- package/lib/utils/index.d.ts +2 -1
- package/lib/utils/index.js +2 -1
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/isFluentTrigger.d.ts +22 -0
- package/lib/utils/isFluentTrigger.js +8 -0
- package/lib/utils/isFluentTrigger.js.map +1 -0
- package/lib/utils/omit.js +2 -2
- package/lib/utils/omit.js.map +1 -1
- package/lib/utils/properties.js +55 -44
- package/lib/utils/properties.js.map +1 -1
- package/lib/utils/shouldPreventDefaultOnKeyDown.js +4 -4
- package/lib/utils/shouldPreventDefaultOnKeyDown.js.map +1 -1
- package/lib-commonjs/compose/getSlots.d.ts +11 -10
- package/lib-commonjs/compose/getSlots.js +23 -34
- package/lib-commonjs/compose/getSlots.js.map +1 -1
- package/lib-commonjs/compose/index.d.ts +0 -5
- package/lib-commonjs/compose/index.js +1 -11
- package/lib-commonjs/compose/index.js.map +1 -1
- package/lib-commonjs/compose/resolveShorthand.d.ts +10 -6
- package/lib-commonjs/compose/resolveShorthand.js +14 -14
- package/lib-commonjs/compose/resolveShorthand.js.map +1 -1
- package/lib-commonjs/compose/types.d.ts +86 -76
- package/lib-commonjs/compose/types.js +5 -1
- package/lib-commonjs/compose/types.js.map +1 -1
- package/lib-commonjs/hooks/index.d.ts +1 -1
- package/lib-commonjs/hooks/index.js +3 -3
- package/lib-commonjs/hooks/index.js.map +1 -1
- package/lib-commonjs/hooks/useBoolean.js +12 -23
- package/lib-commonjs/hooks/useBoolean.js.map +1 -1
- package/lib-commonjs/hooks/useConst.js +2 -2
- package/lib-commonjs/hooks/useConst.js.map +1 -1
- package/lib-commonjs/hooks/useControllableState.d.ts +16 -6
- package/lib-commonjs/hooks/useControllableState.js +28 -27
- package/lib-commonjs/hooks/useControllableState.js.map +1 -1
- package/lib-commonjs/hooks/useEventCallback.js +8 -14
- package/lib-commonjs/hooks/useEventCallback.js.map +1 -1
- package/lib-commonjs/hooks/useFirstMount.js +2 -2
- package/lib-commonjs/hooks/useFirstMount.js.map +1 -1
- package/lib-commonjs/hooks/useForceUpdate.js +2 -4
- package/lib-commonjs/hooks/useForceUpdate.js.map +1 -1
- package/lib-commonjs/hooks/useId.js +4 -6
- package/lib-commonjs/hooks/useId.js.map +1 -1
- package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js +2 -2
- package/lib-commonjs/hooks/useIsomorphicLayoutEffect.js.map +1 -1
- package/lib-commonjs/hooks/useMergedEventCallbacks.d.ts +18 -0
- package/lib-commonjs/hooks/useMergedEventCallbacks.js +36 -0
- package/lib-commonjs/hooks/useMergedEventCallbacks.js.map +1 -0
- package/lib-commonjs/hooks/useMergedRefs.js +6 -15
- package/lib-commonjs/hooks/useMergedRefs.js.map +1 -1
- package/lib-commonjs/hooks/useMount.js +4 -4
- package/lib-commonjs/hooks/useMount.js.map +1 -1
- package/lib-commonjs/hooks/useOnClickOutside.js +32 -38
- package/lib-commonjs/hooks/useOnClickOutside.js.map +1 -1
- package/lib-commonjs/hooks/useOnScrollOutside.js +15 -17
- package/lib-commonjs/hooks/useOnScrollOutside.js.map +1 -1
- package/lib-commonjs/hooks/usePrevious.js +4 -4
- package/lib-commonjs/hooks/usePrevious.js.map +1 -1
- package/lib-commonjs/hooks/useTimeout.js +15 -19
- package/lib-commonjs/hooks/useTimeout.js.map +1 -1
- package/lib-commonjs/hooks/useUnmount.js +6 -8
- package/lib-commonjs/hooks/useUnmount.js.map +1 -1
- package/lib-commonjs/index.js +1 -1
- package/lib-commonjs/ssr/SSRContext.js +9 -15
- package/lib-commonjs/ssr/SSRContext.js.map +1 -1
- package/lib-commonjs/ssr/index.js +1 -1
- package/lib-commonjs/utils/applyTriggerPropsToChildren.d.ts +1 -1
- package/lib-commonjs/utils/applyTriggerPropsToChildren.js +26 -6
- package/lib-commonjs/utils/applyTriggerPropsToChildren.js.map +1 -1
- package/lib-commonjs/utils/clamp.js +1 -3
- package/lib-commonjs/utils/clamp.js.map +1 -1
- package/lib-commonjs/utils/getNativeElementProps.d.ts +22 -0
- package/lib-commonjs/utils/getNativeElementProps.js +28 -4
- package/lib-commonjs/utils/getNativeElementProps.js.map +1 -1
- package/lib-commonjs/utils/getRTLSafeKey.js +1 -1
- package/lib-commonjs/utils/getRTLSafeKey.js.map +1 -1
- package/lib-commonjs/utils/getReactCallbackName.d.ts +25 -0
- package/lib-commonjs/utils/getReactCallbackName.js +35 -0
- package/lib-commonjs/utils/getReactCallbackName.js.map +1 -0
- package/lib-commonjs/utils/getTriggerChild.d.ts +22 -0
- package/lib-commonjs/utils/getTriggerChild.js +37 -0
- package/lib-commonjs/utils/getTriggerChild.js.map +1 -0
- package/lib-commonjs/utils/index.d.ts +2 -1
- package/lib-commonjs/utils/index.js +5 -3
- package/lib-commonjs/utils/index.js.map +1 -1
- package/lib-commonjs/utils/isFluentTrigger.d.ts +22 -0
- package/lib-commonjs/utils/isFluentTrigger.js +17 -0
- package/lib-commonjs/utils/isFluentTrigger.js.map +1 -0
- package/lib-commonjs/utils/omit.js +2 -2
- package/lib-commonjs/utils/omit.js.map +1 -1
- package/lib-commonjs/utils/properties.js +51 -40
- package/lib-commonjs/utils/properties.js.map +1 -1
- package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js +5 -5
- package/lib-commonjs/utils/shouldPreventDefaultOnKeyDown.js.map +1 -1
- package/package.json +6 -11
- package/lib/compose/getSlotsCompat.d.ts +0 -22
- package/lib/compose/getSlotsCompat.js +0 -56
- package/lib/compose/getSlotsCompat.js.map +0 -1
- package/lib/compose/makeMergeProps.d.ts +0 -15
- package/lib/compose/makeMergeProps.js +0 -106
- package/lib/compose/makeMergeProps.js.map +0 -1
- package/lib/compose/makeMergePropsCompat.d.ts +0 -9
- package/lib/compose/makeMergePropsCompat.js +0 -9
- package/lib/compose/makeMergePropsCompat.js.map +0 -1
- package/lib/compose/nullRender.d.ts +0 -4
- package/lib/compose/nullRender.js +0 -7
- package/lib/compose/nullRender.js.map +0 -1
- package/lib/compose/resolveShorthandProps.d.ts +0 -8
- package/lib/compose/resolveShorthandProps.js +0 -30
- package/lib/compose/resolveShorthandProps.js.map +0 -1
- package/lib/hooks/useControllableValue.d.ts +0 -20
- package/lib/hooks/useControllableValue.js +0 -62
- package/lib/hooks/useControllableValue.js.map +0 -1
- package/lib/utils/onlyChild.d.ts +0 -5
- package/lib/utils/onlyChild.js +0 -13
- package/lib/utils/onlyChild.js.map +0 -1
- package/lib-commonjs/compose/getSlotsCompat.d.ts +0 -22
- package/lib-commonjs/compose/getSlotsCompat.js +0 -68
- package/lib-commonjs/compose/getSlotsCompat.js.map +0 -1
- package/lib-commonjs/compose/makeMergeProps.d.ts +0 -15
- package/lib-commonjs/compose/makeMergeProps.js +0 -117
- package/lib-commonjs/compose/makeMergeProps.js.map +0 -1
- package/lib-commonjs/compose/makeMergePropsCompat.d.ts +0 -9
- package/lib-commonjs/compose/makeMergePropsCompat.js +0 -17
- package/lib-commonjs/compose/makeMergePropsCompat.js.map +0 -1
- package/lib-commonjs/compose/nullRender.d.ts +0 -4
- package/lib-commonjs/compose/nullRender.js +0 -16
- package/lib-commonjs/compose/nullRender.js.map +0 -1
- package/lib-commonjs/compose/resolveShorthandProps.d.ts +0 -8
- package/lib-commonjs/compose/resolveShorthandProps.js +0 -41
- package/lib-commonjs/compose/resolveShorthandProps.js.map +0 -1
- package/lib-commonjs/hooks/useControllableValue.d.ts +0 -20
- package/lib-commonjs/hooks/useControllableValue.js +0 -73
- package/lib-commonjs/hooks/useControllableValue.js.map +0 -1
- package/lib-commonjs/utils/onlyChild.d.ts +0 -5
- package/lib-commonjs/utils/onlyChild.js +0 -23
- package/lib-commonjs/utils/onlyChild.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useId.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useId.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,OAAA,gBAAA,OAAA,CAAA,cAAA,CAAA;AAEA;;;;AAIG;;;AACH,SAAgB,gBAAhB,GAAgC;AAC9B,EAAA,OAAA,CAAA,sBAAA,CAAuB,OAAvB,GAAiC,CAAjC;AACD;;AAFD,OAAA,CAAA,gBAAA,GAAA,gBAAA;AAIA;;;;;;;AAOG;;AACH,SAAgB,KAAhB,CAAsB,MAAtB,EAAuC,UAAvC,EAA0D;AACxD,QAAM,YAAY,GAAG,OAAA,CAAA,aAAA,EAArB;AAEA,SAAO,KAAK,CAAC,OAAN,CAAc,MAAM,UAAU,IAAI,GAAG,MAAM,GAAG,EAAE,YAAY,CAAC,OAAO,EAApE,EAAwE,CAAC,MAAD,EAAS,UAAT,EAAqB,YAArB,CAAxE,CAAP;AACD;;AAJD,OAAA,CAAA,KAAA,GAAA,KAAA","sourceRoot":""}
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useIsomorphicLayoutEffect = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
|
10
|
-
|
10
|
+
const index_1 = /*#__PURE__*/require("../ssr/index");
|
11
11
|
/**
|
12
12
|
* React currently throws a warning when using useLayoutEffect on the server. To get around it, we can conditionally
|
13
13
|
* useEffect on the server (no-op) and useLayoutEffect in the browser. We occasionally need useLayoutEffect to
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useIsomorphicLayoutEffect.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,OAAA,gBAAA,OAAA,CAAA,cAAA,CAAA;AAEA;;;;;;;;AAQG;AACH;;;AACa,OAAA,CAAA,yBAAA,GAAoD,aAAA,OAAA,CAAA,SAAA,KAAc,KAAK,CAAC,eAApB,GAAsC,KAAK,CAAC,SAAhG","sourceRoot":""}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
/**
|
2
|
+
* Combine two event callbacks into a single callback function that calls each one in order.
|
3
|
+
*
|
4
|
+
* This is useful to add an event listener to an existing element without overwriting the current listener, if any.
|
5
|
+
*
|
6
|
+
* For example:
|
7
|
+
* ```ts
|
8
|
+
* state.slot.onChange = useMergedCallbacks(state.slot.onChange, ev => {
|
9
|
+
* // Handle onChange
|
10
|
+
* });
|
11
|
+
* ```
|
12
|
+
*
|
13
|
+
* @param callback1 - The first callback to be called
|
14
|
+
* @param callback2 - The second callback to be called
|
15
|
+
*
|
16
|
+
* @returns An event callback that calls the callbacks in order, and is stable between renders
|
17
|
+
*/
|
18
|
+
export declare function useMergedEventCallbacks<Args extends unknown[]>(callback1: ((...args: Args) => void) | undefined, callback2: ((...args: Args) => void) | undefined): (...args: Args) => void;
|
@@ -0,0 +1,36 @@
|
|
1
|
+
"use strict";
|
2
|
+
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
4
|
+
value: true
|
5
|
+
});
|
6
|
+
exports.useMergedEventCallbacks = void 0;
|
7
|
+
|
8
|
+
const useEventCallback_1 = /*#__PURE__*/require("./useEventCallback");
|
9
|
+
/**
|
10
|
+
* Combine two event callbacks into a single callback function that calls each one in order.
|
11
|
+
*
|
12
|
+
* This is useful to add an event listener to an existing element without overwriting the current listener, if any.
|
13
|
+
*
|
14
|
+
* For example:
|
15
|
+
* ```ts
|
16
|
+
* state.slot.onChange = useMergedCallbacks(state.slot.onChange, ev => {
|
17
|
+
* // Handle onChange
|
18
|
+
* });
|
19
|
+
* ```
|
20
|
+
*
|
21
|
+
* @param callback1 - The first callback to be called
|
22
|
+
* @param callback2 - The second callback to be called
|
23
|
+
*
|
24
|
+
* @returns An event callback that calls the callbacks in order, and is stable between renders
|
25
|
+
*/
|
26
|
+
|
27
|
+
|
28
|
+
function useMergedEventCallbacks(callback1, callback2) {
|
29
|
+
return useEventCallback_1.useEventCallback((...args) => {
|
30
|
+
callback1 === null || callback1 === void 0 ? void 0 : callback1(...args);
|
31
|
+
callback2 === null || callback2 === void 0 ? void 0 : callback2(...args);
|
32
|
+
});
|
33
|
+
}
|
34
|
+
|
35
|
+
exports.useMergedEventCallbacks = useMergedEventCallbacks;
|
36
|
+
//# sourceMappingURL=useMergedEventCallbacks.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["../../src/hooks/useMergedEventCallbacks.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,kBAAA,gBAAA,OAAA,CAAA,oBAAA,CAAA;AAEA;;;;;;;;;;;;;;;;AAgBG;;;AACH,SAAgB,uBAAhB,CACE,SADF,EAEE,SAFF,EAEkD;AAEhD,SAAO,kBAAA,CAAA,gBAAA,CAAiB,CAAC,GAAG,IAAJ,KAAkB;AACxC,IAAA,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAA,SAAS,CAAG,GAAG,IAAN,CAAT;AACA,IAAA,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAS,KAAA,CAAT,GAAA,SAAS,CAAG,GAAG,IAAN,CAAT;AACD,GAHM,CAAP;AAID;;AARD,OAAA,CAAA,uBAAA,GAAA,uBAAA","sourceRoot":""}
|
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useMergedRefs = void 0;
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
var React = /*#__PURE__*/require("react");
|
8
|
+
const React = /*#__PURE__*/require("react");
|
11
9
|
/**
|
12
10
|
* React hook to merge multiple React refs (either MutableRefObjects or ref callbacks) into a single ref callback that
|
13
11
|
* updates all provided refs
|
@@ -16,20 +14,12 @@ var React = /*#__PURE__*/require("react");
|
|
16
14
|
*/
|
17
15
|
|
18
16
|
|
19
|
-
function useMergedRefs() {
|
20
|
-
|
21
|
-
|
22
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
23
|
-
refs[_i] = arguments[_i];
|
24
|
-
}
|
25
|
-
|
26
|
-
var mergedCallback = React.useCallback(function (value) {
|
17
|
+
function useMergedRefs(...refs) {
|
18
|
+
const mergedCallback = React.useCallback(value => {
|
27
19
|
// Update the "current" prop hanging on the function.
|
28
20
|
mergedCallback.current = value;
|
29
21
|
|
30
|
-
for (
|
31
|
-
var ref = refs_1[_i];
|
32
|
-
|
22
|
+
for (const ref of refs) {
|
33
23
|
if (typeof ref === 'function') {
|
34
24
|
ref(value);
|
35
25
|
} else if (ref) {
|
@@ -37,7 +27,8 @@ function useMergedRefs() {
|
|
37
27
|
ref.current = value;
|
38
28
|
}
|
39
29
|
}
|
40
|
-
},
|
30
|
+
}, // eslint-disable-next-line react-hooks/exhaustive-deps -- already exhaustive
|
31
|
+
[...refs]);
|
41
32
|
return mergedCallback;
|
42
33
|
}
|
43
34
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useMergedRefs.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/hooks/useMergedRefs.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;AAQA;;;;;AAKG;;;AACH,SAAgB,aAAhB,CAAiC,GAAG,IAApC,EAAsE;AACpE,QAAM,cAAc,GAA0B,KAAK,CAAC,WAAN,CAC3C,KAAD,IAAa;AACX;AACE,IAAA,cAAwD,CAAC,OAAzD,GAAmE,KAAnE;;AAEF,SAAK,MAAM,GAAX,IAAkB,IAAlB,EAAwB;AACtB,UAAI,OAAO,GAAP,KAAe,UAAnB,EAA+B;AAC7B,QAAA,GAAG,CAAC,KAAD,CAAH;AACD,OAFD,MAEO,IAAI,GAAJ,EAAS;AACd;AACE,QAAA,GAA6C,CAAC,OAA9C,GAAwD,KAAxD;AACH;AACF;AACF,GAb2C,EAc5C;AACA,GAAC,GAAG,IAAJ,CAf4C,CAA9C;AAkBA,SAAO,cAAP;AACD;;AApBD,OAAA,CAAA,aAAA,GAAA,aAAA","sourceRoot":""}
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useMount = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
/**
|
10
10
|
* Hook which asynchronously executes a callback once the component has been mounted.
|
11
11
|
*
|
@@ -13,10 +13,10 @@ var React = /*#__PURE__*/require("react");
|
|
13
13
|
*/
|
14
14
|
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
const useMount = callback => {
|
17
|
+
const mountRef = React.useRef(callback);
|
18
18
|
mountRef.current = callback;
|
19
|
-
React.useEffect(
|
19
|
+
React.useEffect(() => {
|
20
20
|
var _a;
|
21
21
|
|
22
22
|
(_a = mountRef.current) === null || _a === void 0 ? void 0 : _a.call(mountRef);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useMount.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useMount.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;AAEA;;;;AAIG;;;AACI,MAAM,QAAQ,GAAI,QAAD,IAAyB;AAC/C,QAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAAjB;AACA,EAAA,QAAQ,CAAC,OAAT,GAAmB,QAAnB;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;;;AACnB,KAAA,EAAA,GAAA,QAAQ,CAAC,OAAT,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgB,EAAA,CAAA,IAAA,CAAhB,QAAgB,CAAhB;AACD,GAFD,EAEG,EAFH;AAGD,CANM;;AAAM,OAAA,CAAA,QAAA,GAAQ,QAAR","sourceRoot":""}
|
@@ -5,42 +5,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useOnClickOutside = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
|
10
|
-
|
10
|
+
const useEventCallback_1 = /*#__PURE__*/require("./useEventCallback");
|
11
11
|
/**
|
12
12
|
* Utility to perform checks where a click/touch event was made outside a component
|
13
13
|
*/
|
14
14
|
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
16
|
+
const useOnClickOutside = options => {
|
17
|
+
const {
|
18
|
+
refs,
|
19
|
+
callback,
|
20
|
+
element,
|
21
|
+
disabled,
|
22
|
+
contains: containsProp
|
23
|
+
} = options;
|
24
|
+
const timeoutId = React.useRef(undefined);
|
23
25
|
useIFrameFocus(!disabled, element, callback);
|
24
|
-
|
25
|
-
|
26
|
-
return !!(parent === null || parent === void 0 ? void 0 : parent.contains(child));
|
27
|
-
};
|
26
|
+
const listener = useEventCallback_1.useEventCallback(ev => {
|
27
|
+
const contains = containsProp || ((parent, child) => !!(parent === null || parent === void 0 ? void 0 : parent.contains(child)));
|
28
28
|
|
29
|
-
|
30
|
-
return !contains(ref.current || null, ev.target);
|
31
|
-
});
|
29
|
+
const isOutside = refs.every(ref => !contains(ref.current || null, ev.target));
|
32
30
|
|
33
31
|
if (isOutside && !disabled) {
|
34
32
|
callback(ev);
|
35
33
|
}
|
36
34
|
});
|
37
|
-
React.useEffect(
|
35
|
+
React.useEffect(() => {
|
38
36
|
// Store the current event to avoid triggering handlers immediately
|
39
37
|
// Note this depends on a deprecated but extremely well supported quirk of the web platform
|
40
38
|
// https://github.com/facebook/react/issues/20074
|
41
|
-
|
39
|
+
let currentEvent = getWindowEvent(window);
|
42
40
|
|
43
|
-
|
41
|
+
const conditionalHandler = event => {
|
44
42
|
// Skip if this event is the same as the one running when we added the handlers
|
45
43
|
if (event === currentEvent) {
|
46
44
|
currentEvent = undefined;
|
@@ -58,10 +56,10 @@ var useOnClickOutside = function (options) {
|
|
58
56
|
} // Garbage collect this event after it's no longer useful to avoid memory leaks
|
59
57
|
|
60
58
|
|
61
|
-
timeoutId.current = window.setTimeout(
|
59
|
+
timeoutId.current = window.setTimeout(() => {
|
62
60
|
currentEvent = undefined;
|
63
61
|
}, 1);
|
64
|
-
return
|
62
|
+
return () => {
|
65
63
|
element === null || element === void 0 ? void 0 : element.removeEventListener('click', conditionalHandler, true);
|
66
64
|
element === null || element === void 0 ? void 0 : element.removeEventListener('touchstart', conditionalHandler, true);
|
67
65
|
element === null || element === void 0 ? void 0 : element.removeEventListener('contextmenu', conditionalHandler, true);
|
@@ -73,7 +71,7 @@ var useOnClickOutside = function (options) {
|
|
73
71
|
|
74
72
|
exports.useOnClickOutside = useOnClickOutside;
|
75
73
|
|
76
|
-
|
74
|
+
const getWindowEvent = target => {
|
77
75
|
var _a, _b, _c;
|
78
76
|
|
79
77
|
if (target) {
|
@@ -89,7 +87,7 @@ var getWindowEvent = function (target) {
|
|
89
87
|
return undefined;
|
90
88
|
};
|
91
89
|
|
92
|
-
|
90
|
+
const FUI_FRAME_EVENT = 'fuiframefocus';
|
93
91
|
/**
|
94
92
|
* Since click events do not propagate past iframes, we use focus to detect if a
|
95
93
|
* click has happened inside an iframe, since the only ways of focusing inside an
|
@@ -105,45 +103,41 @@ var FUI_FRAME_EVENT = 'fuiframefocus';
|
|
105
103
|
* @param pollDuration - in milliseconds
|
106
104
|
*/
|
107
105
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
}
|
112
|
-
|
113
|
-
var timeoutRef = React.useRef();
|
114
|
-
var listener = useEventCallback_1.useEventCallback(function (e) {
|
106
|
+
const useIFrameFocus = (enableFrameFocusDispatch, targetDocument, callback, pollDuration = 1000) => {
|
107
|
+
const timeoutRef = React.useRef();
|
108
|
+
const listener = useEventCallback_1.useEventCallback(e => {
|
115
109
|
if (callback) {
|
116
110
|
callback(e);
|
117
111
|
}
|
118
112
|
}); // Adds listener to the custom iframe focus event
|
119
113
|
|
120
|
-
React.useEffect(
|
114
|
+
React.useEffect(() => {
|
121
115
|
if (enableFrameFocusDispatch) {
|
122
116
|
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.addEventListener(FUI_FRAME_EVENT, listener, true);
|
123
117
|
}
|
124
118
|
|
125
|
-
return
|
119
|
+
return () => {
|
126
120
|
targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.removeEventListener(FUI_FRAME_EVENT, listener, true);
|
127
121
|
};
|
128
122
|
}, [targetDocument, enableFrameFocusDispatch, listener]); // Starts polling for the active element
|
129
123
|
|
130
|
-
React.useEffect(
|
124
|
+
React.useEffect(() => {
|
131
125
|
var _a;
|
132
126
|
|
133
127
|
if (enableFrameFocusDispatch) {
|
134
|
-
timeoutRef.current = (_a = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) === null || _a === void 0 ? void 0 : _a.setInterval(
|
135
|
-
|
128
|
+
timeoutRef.current = (_a = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) === null || _a === void 0 ? void 0 : _a.setInterval(() => {
|
129
|
+
const activeElement = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.activeElement;
|
136
130
|
|
137
131
|
if ((activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) === 'IFRAME') {
|
138
|
-
|
132
|
+
const event = new CustomEvent(FUI_FRAME_EVENT, {
|
139
133
|
bubbles: true
|
140
134
|
});
|
141
|
-
activeElement.dispatchEvent(
|
135
|
+
activeElement.dispatchEvent(event);
|
142
136
|
}
|
143
137
|
}, pollDuration);
|
144
138
|
}
|
145
139
|
|
146
|
-
return
|
140
|
+
return () => {
|
147
141
|
var _a;
|
148
142
|
|
149
143
|
(_a = targetDocument === null || targetDocument === void 0 ? void 0 : targetDocument.defaultView) === null || _a === void 0 ? void 0 : _a.clearTimeout(timeoutRef.current);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useOnClickOutside.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useOnClickOutside.ts"],"names":[],"mappings":"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","sourceRoot":""}
|
@@ -5,40 +5,38 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useOnScrollOutside = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
|
10
|
-
|
10
|
+
const useEventCallback_1 = /*#__PURE__*/require("./useEventCallback");
|
11
11
|
/**
|
12
12
|
* Utility to perform checks where a click/touch event was made outside a component
|
13
13
|
*/
|
14
14
|
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
16
|
+
const useOnScrollOutside = options => {
|
17
|
+
const {
|
18
|
+
refs,
|
19
|
+
callback,
|
20
|
+
element,
|
21
|
+
disabled,
|
22
|
+
contains: containsProp
|
23
|
+
} = options;
|
24
|
+
const listener = useEventCallback_1.useEventCallback(ev => {
|
25
|
+
const contains = containsProp || ((parent, child) => !!(parent === null || parent === void 0 ? void 0 : parent.contains(child)));
|
26
26
|
|
27
|
-
|
28
|
-
return !contains(ref.current || null, ev.target);
|
29
|
-
});
|
27
|
+
const isOutside = refs.every(ref => !contains(ref.current || null, ev.target));
|
30
28
|
|
31
29
|
if (isOutside && !disabled) {
|
32
30
|
callback(ev);
|
33
31
|
}
|
34
32
|
});
|
35
|
-
React.useEffect(
|
33
|
+
React.useEffect(() => {
|
36
34
|
if (!disabled) {
|
37
35
|
element === null || element === void 0 ? void 0 : element.addEventListener('wheel', listener);
|
38
36
|
element === null || element === void 0 ? void 0 : element.addEventListener('touchmove', listener);
|
39
37
|
}
|
40
38
|
|
41
|
-
return
|
39
|
+
return () => {
|
42
40
|
element === null || element === void 0 ? void 0 : element.removeEventListener('wheel', listener);
|
43
41
|
element === null || element === void 0 ? void 0 : element.removeEventListener('touchmove', listener);
|
44
42
|
};
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useOnScrollOutside.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useOnScrollOutside.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,kBAAA,gBAAA,OAAA,CAAA,oBAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,kBAAkB,GAAI,OAAD,IAA8C;AAC9E,QAAM;AAAE,IAAA,IAAF;AAAQ,IAAA,QAAR;AAAkB,IAAA,OAAlB;AAA2B,IAAA,QAA3B;AAAqC,IAAA,QAAQ,EAAE;AAA/C,MAAgE,OAAtE;AAEA,QAAM,QAAQ,GAAG,kBAAA,CAAA,gBAAA,CAAkB,EAAD,IAAgC;AAChE,UAAM,QAAQ,GACZ,YAAY,KAAK,CAAC,MAAD,EAAS,KAAT,KAAmB,CAAC,EAAC,MAAM,KAAA,IAAN,IAAA,MAAM,KAAA,KAAA,CAAN,GAAM,KAAA,CAAN,GAAA,MAAM,CAAE,QAAR,CAAiB,KAAjB,CAAD,CAAzB,CADd;;AAGA,UAAM,SAAS,GAAG,IAAI,CAAC,KAAL,CAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAJ,IAAe,IAAhB,EAAsB,EAAE,CAAC,MAAzB,CAA3B,CAAlB;;AACA,QAAI,SAAS,IAAI,CAAC,QAAlB,EAA4B;AAC1B,MAAA,QAAQ,CAAC,EAAD,CAAR;AACD;AACF,GARgB,CAAjB;AAUA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,QAAI,CAAC,QAAL,EAAe;AACb,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,gBAAT,CAA0B,OAA1B,EAAmC,QAAnC,CAAA;AACA,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,gBAAT,CAA0B,WAA1B,EAAuC,QAAvC,CAAA;AACD;;AAED,WAAO,MAAK;AACV,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,mBAAT,CAA6B,OAA7B,EAAsC,QAAtC,CAAA;AACA,MAAA,OAAO,KAAA,IAAP,IAAA,OAAO,KAAA,KAAA,CAAP,GAAO,KAAA,CAAP,GAAA,OAAO,CAAE,mBAAT,CAA6B,WAA7B,EAA0C,QAA1C,CAAA;AACD,KAHD;AAID,GAVD,EAUG,CAAC,QAAD,EAAW,OAAX,EAAoB,QAApB,CAVH;AAWD,CAxBM;;AAAM,OAAA,CAAA,kBAAA,GAAkB,kBAAlB","sourceRoot":""}
|
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.usePrevious = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
|
10
|
-
|
11
|
-
|
12
|
-
React.useEffect(
|
10
|
+
const usePrevious = value => {
|
11
|
+
const ref = React.useRef(null);
|
12
|
+
React.useEffect(() => {
|
13
13
|
ref.current = value;
|
14
14
|
}, [value]);
|
15
15
|
return ref.current;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/usePrevious.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/usePrevious.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AAEO,MAAM,WAAW,GAAyB,KAAtB,IAA0C;AACnE,QAAM,GAAG,GAAG,KAAK,CAAC,MAAN,CAA+B,IAA/B,CAAZ;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,IAAA,GAAG,CAAC,OAAJ,GAAc,KAAd;AACD,GAFD,EAEG,CAAC,KAAD,CAFH;AAGA,SAAO,GAAG,CAAC,OAAX;AACD,CANM;;AAAM,OAAA,CAAA,WAAA,GAAW,WAAX","sourceRoot":""}
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useTimeout = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
|
10
|
-
|
10
|
+
const useConst_1 = /*#__PURE__*/require("./useConst");
|
11
11
|
/**
|
12
12
|
* Helper to manage a browser timeout.
|
13
13
|
* Ensures that the timeout isn't set multiple times at once,
|
@@ -18,25 +18,21 @@ var useConst_1 = /*#__PURE__*/require("./useConst");
|
|
18
18
|
|
19
19
|
|
20
20
|
function useTimeout() {
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
timeout.id = undefined;
|
32
|
-
}
|
21
|
+
const timeout = useConst_1.useConst(() => ({
|
22
|
+
id: undefined,
|
23
|
+
set: (fn, delay) => {
|
24
|
+
timeout.clear();
|
25
|
+
timeout.id = setTimeout(fn, delay);
|
26
|
+
},
|
27
|
+
clear: () => {
|
28
|
+
if (timeout.id !== undefined) {
|
29
|
+
clearTimeout(timeout.id);
|
30
|
+
timeout.id = undefined;
|
33
31
|
}
|
34
|
-
}
|
35
|
-
}); // Clean up the timeout when the component is unloaded
|
32
|
+
}
|
33
|
+
})); // Clean up the timeout when the component is unloaded
|
36
34
|
|
37
|
-
React.useEffect(
|
38
|
-
return timeout.clear;
|
39
|
-
}, [timeout]);
|
35
|
+
React.useEffect(() => timeout.clear, [timeout]);
|
40
36
|
return [timeout.set, timeout.clear];
|
41
37
|
}
|
42
38
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useTimeout.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,UAAA,gBAAA,OAAA,CAAA,YAAA,CAAA;AAEA;;;;;;AAMG;;;AACH,SAAgB,UAAhB,GAA0B;AACxB,QAAM,OAAO,GAAG,UAAA,CAAA,QAAA,CAAS,OAAO;AAC9B,IAAA,EAAE,EAAE,SAD0B;AAE9B,IAAA,GAAG,EAAE,CAAC,EAAD,EAAiB,KAAjB,KAAkC;AACrC,MAAA,OAAO,CAAC,KAAR;AACA,MAAA,OAAO,CAAC,EAAR,GAAa,UAAU,CAAC,EAAD,EAAK,KAAL,CAAvB;AACD,KAL6B;AAM9B,IAAA,KAAK,EAAE,MAAK;AACV,UAAI,OAAO,CAAC,EAAR,KAAe,SAAnB,EAA8B;AAC5B,QAAA,YAAY,CAAC,OAAO,CAAC,EAAT,CAAZ;AACA,QAAA,OAAO,CAAC,EAAR,GAAa,SAAb;AACD;AACF;AAX6B,GAAP,CAAT,CAAhB,CADwB,CAexB;;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAM,OAAO,CAAC,KAA9B,EAAqC,CAAC,OAAD,CAArC;AAEA,SAAO,CAAC,OAAO,CAAC,GAAT,EAAc,OAAO,CAAC,KAAtB,CAAP;AACD;;AAnBD,OAAA,CAAA,UAAA,GAAA,UAAA","sourceRoot":""}
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useUnmount = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
/**
|
10
10
|
* Hook which synchronously executes a callback when the component is about to unmount.
|
11
11
|
*
|
@@ -13,15 +13,13 @@ var React = /*#__PURE__*/require("react");
|
|
13
13
|
*/
|
14
14
|
|
15
15
|
|
16
|
-
|
17
|
-
|
16
|
+
const useUnmount = callback => {
|
17
|
+
const unmountRef = React.useRef(callback);
|
18
18
|
unmountRef.current = callback;
|
19
|
-
React.useEffect(
|
20
|
-
|
21
|
-
var _a;
|
19
|
+
React.useEffect(() => () => {
|
20
|
+
var _a;
|
22
21
|
|
23
|
-
|
24
|
-
};
|
22
|
+
(_a = unmountRef.current) === null || _a === void 0 ? void 0 : _a.call(unmountRef);
|
25
23
|
}, []);
|
26
24
|
};
|
27
25
|
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useUnmount.ts"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useUnmount.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;AAEA;;;;AAIG;;;AACI,MAAM,UAAU,GAAI,QAAD,IAAyB;AACjD,QAAM,UAAU,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAAnB;AACA,EAAA,UAAU,CAAC,OAAX,GAAqB,QAArB;AACA,EAAA,KAAK,CAAC,SAAN,CACE,MAAM,MAAK;;;AACT,KAAA,EAAA,GAAA,UAAU,CAAC,OAAX,MAAkB,IAAlB,IAAkB,EAAA,KAAA,KAAA,CAAlB,GAAkB,KAAA,CAAlB,GAAkB,EAAA,CAAA,IAAA,CAAlB,UAAkB,CAAlB;AACD,GAHH,EAIE,EAJF;AAMD,CATM;;AAAM,OAAA,CAAA,UAAA,GAAU,UAAV","sourceRoot":""}
|
package/lib-commonjs/index.js
CHANGED
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
});
|
6
6
|
exports.useIsSSR = exports.SSRProvider = exports.useSSRContext = exports.SSRContext = exports.defaultSSRContextValue = void 0;
|
7
7
|
|
8
|
-
|
8
|
+
const React = /*#__PURE__*/require("react");
|
9
9
|
|
10
|
-
|
10
|
+
const canUseDOM_1 = /*#__PURE__*/require("./canUseDOM");
|
11
11
|
/**
|
12
12
|
* Default context value to use in case there is no SSRProvider. This is fine for client-only apps.
|
13
13
|
*
|
@@ -35,12 +35,10 @@ exports.useSSRContext = useSSRContext;
|
|
35
35
|
* @public
|
36
36
|
*/
|
37
37
|
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
};
|
43
|
-
})[0];
|
38
|
+
const SSRProvider = props => {
|
39
|
+
const [value] = React.useState(() => ({
|
40
|
+
current: 0
|
41
|
+
}));
|
44
42
|
return React.createElement(exports.SSRContext.Provider, {
|
45
43
|
value: value
|
46
44
|
}, props.children);
|
@@ -53,14 +51,10 @@ exports.SSRProvider = SSRProvider;
|
|
53
51
|
*/
|
54
52
|
|
55
53
|
function useIsSSR() {
|
56
|
-
|
57
|
-
|
58
|
-
var _a = React.useState(isInSSRContext),
|
59
|
-
isSSR = _a[0],
|
60
|
-
setIsSSR = _a[1]; // If we are rendering in a non-DOM environment, and there's no SSRProvider, provide a warning to hint to the
|
54
|
+
const isInSSRContext = useSSRContext() !== exports.defaultSSRContextValue;
|
55
|
+
const [isSSR, setIsSSR] = React.useState(isInSSRContext); // If we are rendering in a non-DOM environment, and there's no SSRProvider, provide a warning to hint to the
|
61
56
|
// developer to add one.
|
62
57
|
|
63
|
-
|
64
58
|
if (process.env.NODE_ENV !== 'production') {
|
65
59
|
if (!isInSSRContext && !canUseDOM_1.canUseDOM()) {
|
66
60
|
// eslint-disable-next-line no-console
|
@@ -74,7 +68,7 @@ function useIsSSR() {
|
|
74
68
|
// This if statement technically breaks the rules of hooks, but is safe because the condition never changes after
|
75
69
|
// mounting.
|
76
70
|
// eslint-disable-next-line
|
77
|
-
React.useLayoutEffect(
|
71
|
+
React.useLayoutEffect(() => {
|
78
72
|
setIsSSR(false);
|
79
73
|
}, []);
|
80
74
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/ssr/SSRContext.tsx"],"names":[],"mappings":";;;;;;;AAAA,
|
1
|
+
{"version":3,"sources":["../../src/ssr/SSRContext.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,WAAA,gBAAA,OAAA,CAAA,aAAA,CAAA;AAYA;;;;AAIG;;;AACU,OAAA,CAAA,sBAAA,GAA0C;AACrD,EAAA,OAAO,EAAE;AAD4C,CAA1C;AAIA,OAAA,CAAA,UAAA,gBAAa,KAAK,CAAC,aAAN,CAAqC,OAAA,CAAA,sBAArC,CAAb;AAEb;;AAEG;;AACH,SAAgB,aAAhB,GAA6B;AAC3B,SAAO,KAAK,CAAC,UAAN,CAAiB,OAAA,CAAA,UAAjB,CAAP;AACD;;AAFD,OAAA,CAAA,aAAA,GAAA,aAAA;AAIA;;;;;AAKG;;AACI,MAAM,WAAW,GAAa,KAAK,IAAG;AAC3C,QAAM,CAAC,KAAD,IAAU,KAAK,CAAC,QAAN,CAAgC,OAAO;AAAE,IAAA,OAAO,EAAE;AAAX,GAAP,CAAhC,CAAhB;AAEA,SAAO,KAAA,CAAA,aAAA,CAAC,OAAA,CAAA,UAAA,CAAW,QAAZ,EAAoB;AAAC,IAAA,KAAK,EAAE;AAAR,GAApB,EAAoC,KAAK,CAAC,QAA1C,CAAP;AACD,CAJM;;AAAM,OAAA,CAAA,WAAA,GAAW,WAAX;AAMb;;;AAGG;;AACH,SAAgB,QAAhB,GAAwB;AACtB,QAAM,cAAc,GAAG,aAAa,OAAO,OAAA,CAAA,sBAA3C;AACA,QAAM,CAAC,KAAD,EAAQ,QAAR,IAAoB,KAAK,CAAC,QAAN,CAAe,cAAf,CAA1B,CAFsB,CAItB;AACA;;AACA,MAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;AACzC,QAAI,CAAC,cAAD,IAAmB,CAAC,WAAA,CAAA,SAAA,EAAxB,EAAqC;AACnC;AACA,MAAA,OAAO,CAAC,KAAR,CACE,4GACE,0CAFJ;AAID;AACF,GAdqB,CAgBtB;AACA;;;AACA,MAAI,WAAA,CAAA,SAAA,MAAe,cAAnB,EAAmC;AACjC;AACA;AACA;AACA,IAAA,KAAK,CAAC,eAAN,CAAsB,MAAK;AACzB,MAAA,QAAQ,CAAC,KAAD,CAAR;AACD,KAFD,EAEG,EAFH;AAGD;;AAED,SAAO,KAAP;AACD;;AA5BD,OAAA,CAAA,QAAA,GAAA,QAAA","sourceRoot":""}
|
@@ -2,4 +2,4 @@ import * as React from 'react';
|
|
2
2
|
/**
|
3
3
|
* Apply the trigger props to the children, either by calling the render function, or cloning with the new props.
|
4
4
|
*/
|
5
|
-
export declare const applyTriggerPropsToChildren: <TTriggerProps>(children: React.ReactElement<any, string |
|
5
|
+
export declare const applyTriggerPropsToChildren: <TTriggerProps>(children: React.ReactElement<any, string | React.JSXElementConstructor<any>> | ((props: TTriggerProps) => React.ReactElement | null) | null | undefined, triggerProps: TTriggerProps) => React.ReactElement | null;
|