@fluentui/react-utilities 0.0.0-nightlya372ad979820211103.1 → 0.0.0-nightlyd3bf09bf8120211201.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 +52 -6
- package/CHANGELOG.md +24 -6
- package/dist/react-utilities.d.ts +25 -3
- package/lib/compose/getSlots.js +15 -25
- package/lib/compose/getSlots.js.map +1 -1
- package/lib/compose/nullRender.js +1 -3
- package/lib/compose/nullRender.js.map +1 -1
- package/lib/compose/resolveShorthand.js +8 -7
- package/lib/compose/resolveShorthand.js.map +1 -1
- package/lib/compose/types.d.ts +2 -3
- package/lib/compose/types.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.js +14 -18
- package/lib/hooks/useControllableState.js.map +1 -1
- package/lib/hooks/useControllableValue.js +22 -27
- package/lib/hooks/useControllableValue.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/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.js +1 -1
- 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/omit.js +2 -2
- package/lib/utils/omit.js.map +1 -1
- package/lib/utils/onlyChild.js +2 -2
- package/lib/utils/onlyChild.js.map +1 -1
- package/lib/utils/properties.js +35 -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.js +18 -29
- package/lib-commonjs/compose/getSlots.js.map +1 -1
- package/lib-commonjs/compose/index.js +1 -1
- package/lib-commonjs/compose/nullRender.js +1 -3
- package/lib-commonjs/compose/nullRender.js.map +1 -1
- package/lib-commonjs/compose/resolveShorthand.js +9 -9
- package/lib-commonjs/compose/resolveShorthand.js.map +1 -1
- package/lib-commonjs/compose/types.d.ts +2 -3
- package/lib-commonjs/compose/types.js.map +1 -1
- package/lib-commonjs/hooks/index.js +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.js +16 -20
- package/lib-commonjs/hooks/useControllableState.js.map +1 -1
- package/lib-commonjs/hooks/useControllableValue.js +24 -29
- package/lib-commonjs/hooks/useControllableValue.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/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.js +3 -3
- 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/index.js +1 -1
- package/lib-commonjs/utils/omit.js +2 -2
- package/lib-commonjs/utils/omit.js.map +1 -1
- package/lib-commonjs/utils/onlyChild.js +3 -3
- package/lib-commonjs/utils/onlyChild.js.map +1 -1
- package/lib-commonjs/utils/properties.js +10 -19
- 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 +5 -6
package/CHANGELOG.json
CHANGED
@@ -2,22 +2,68 @@
|
|
2
2
|
"name": "@fluentui/react-utilities",
|
3
3
|
"entries": [
|
4
4
|
{
|
5
|
-
"date": "Wed,
|
6
|
-
"tag": "@fluentui/react-utilities_v0.0.0-
|
7
|
-
"version": "0.0.0-
|
5
|
+
"date": "Wed, 01 Dec 2021 04:25:40 GMT",
|
6
|
+
"tag": "@fluentui/react-utilities_v0.0.0-nightlyd3bf09bf8120211201.1",
|
7
|
+
"version": "0.0.0-nightlyd3bf09bf8120211201.1",
|
8
8
|
"comments": {
|
9
9
|
"prerelease": [
|
10
10
|
{
|
11
11
|
"author": "email not defined",
|
12
12
|
"package": "@fluentui/react-utilities",
|
13
|
-
"commit": "
|
13
|
+
"commit": "40bec5fdab524f928e775fb2ed002822255eb2a7",
|
14
14
|
"comment": "Release nightly v9"
|
15
15
|
},
|
16
16
|
{
|
17
17
|
"author": "beachball",
|
18
18
|
"package": "@fluentui/react-utilities",
|
19
|
-
"comment": "Bump @fluentui/keyboard-keys to v0.0.0-
|
20
|
-
"commit": "
|
19
|
+
"comment": "Bump @fluentui/keyboard-keys to v0.0.0-nightlyd3bf09bf8120211201.1",
|
20
|
+
"commit": "40bec5fdab524f928e775fb2ed002822255eb2a7"
|
21
|
+
}
|
22
|
+
]
|
23
|
+
}
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"date": "Thu, 25 Nov 2021 08:34:09 GMT",
|
27
|
+
"tag": "@fluentui/react-utilities_v9.0.0-beta.4",
|
28
|
+
"version": "9.0.0-beta.4",
|
29
|
+
"comments": {
|
30
|
+
"none": [
|
31
|
+
{
|
32
|
+
"author": "lingfangao@hotmail.com",
|
33
|
+
"package": "@fluentui/react-utilities",
|
34
|
+
"commit": "718e63006d8d07d24efab9c32942041963d78dc7",
|
35
|
+
"comment": "Migrate package to use solution style ts-configs"
|
36
|
+
}
|
37
|
+
],
|
38
|
+
"prerelease": [
|
39
|
+
{
|
40
|
+
"author": "behowell@microsoft.com",
|
41
|
+
"package": "@fluentui/react-utilities",
|
42
|
+
"commit": "99adff5a9aab9086e8bc4737040654ab23f0febe",
|
43
|
+
"comment": "Update utility types to support specifying a primary slot other than root"
|
44
|
+
}
|
45
|
+
]
|
46
|
+
}
|
47
|
+
},
|
48
|
+
{
|
49
|
+
"date": "Fri, 12 Nov 2021 13:25:10 GMT",
|
50
|
+
"tag": "@fluentui/react-utilities_v9.0.0-beta.3",
|
51
|
+
"version": "9.0.0-beta.3",
|
52
|
+
"comments": {
|
53
|
+
"none": [
|
54
|
+
{
|
55
|
+
"author": "lingfangao@hotmail.com",
|
56
|
+
"package": "@fluentui/react-utilities",
|
57
|
+
"commit": "00f70581480b536e723fb69edf0ae617beac4807",
|
58
|
+
"comment": "Remove beta release tag"
|
59
|
+
}
|
60
|
+
],
|
61
|
+
"prerelease": [
|
62
|
+
{
|
63
|
+
"author": "gcox@microsoft.com",
|
64
|
+
"package": "@fluentui/react-utilities",
|
65
|
+
"commit": "c9bd5b5a02ae94a8239ce1b56cac2f0d0dbd3586",
|
66
|
+
"comment": "Updated beta and RC components to ES2019"
|
21
67
|
}
|
22
68
|
]
|
23
69
|
}
|
package/CHANGELOG.md
CHANGED
@@ -1,18 +1,36 @@
|
|
1
1
|
# Change Log - @fluentui/react-utilities
|
2
2
|
|
3
|
-
This log was last generated on Wed,
|
3
|
+
This log was last generated on Wed, 01 Dec 2021 04:25:40 GMT and should not be manually modified.
|
4
4
|
|
5
5
|
<!-- Start content -->
|
6
6
|
|
7
|
-
## [0.0.0-
|
7
|
+
## [0.0.0-nightlyd3bf09bf8120211201.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-utilities_v0.0.0-nightlyd3bf09bf8120211201.1)
|
8
8
|
|
9
|
-
Wed,
|
10
|
-
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-utilities_v9.0.0-beta.
|
9
|
+
Wed, 01 Dec 2021 04:25:40 GMT
|
10
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-utilities_v9.0.0-beta.4..@fluentui/react-utilities_v0.0.0-nightlyd3bf09bf8120211201.1)
|
11
11
|
|
12
12
|
### Changes
|
13
13
|
|
14
|
-
- Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/
|
15
|
-
- Bump @fluentui/keyboard-keys to v0.0.0-
|
14
|
+
- Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/40bec5fdab524f928e775fb2ed002822255eb2a7) by email not defined)
|
15
|
+
- Bump @fluentui/keyboard-keys to v0.0.0-nightlyd3bf09bf8120211201.1 ([commit](https://github.com/microsoft/fluentui/commit/40bec5fdab524f928e775fb2ed002822255eb2a7) by beachball)
|
16
|
+
|
17
|
+
## [9.0.0-beta.4](https://github.com/microsoft/fluentui/tree/@fluentui/react-utilities_v9.0.0-beta.4)
|
18
|
+
|
19
|
+
Thu, 25 Nov 2021 08:34:09 GMT
|
20
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-utilities_v9.0.0-beta.3..@fluentui/react-utilities_v9.0.0-beta.4)
|
21
|
+
|
22
|
+
### Changes
|
23
|
+
|
24
|
+
- Update utility types to support specifying a primary slot other than root ([PR #20617](https://github.com/microsoft/fluentui/pull/20617) by behowell@microsoft.com)
|
25
|
+
|
26
|
+
## [9.0.0-beta.3](https://github.com/microsoft/fluentui/tree/@fluentui/react-utilities_v9.0.0-beta.3)
|
27
|
+
|
28
|
+
Fri, 12 Nov 2021 13:25:10 GMT
|
29
|
+
[Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-utilities_v9.0.0-beta.2..@fluentui/react-utilities_v9.0.0-beta.3)
|
30
|
+
|
31
|
+
### Changes
|
32
|
+
|
33
|
+
- Updated beta and RC components to ES2019 ([PR #20405](https://github.com/microsoft/fluentui/pull/20405) by gcox@microsoft.com)
|
16
34
|
|
17
35
|
## [9.0.0-beta.2](https://github.com/microsoft/fluentui/tree/@fluentui/react-utilities_v9.0.0-beta.2)
|
18
36
|
|
@@ -75,7 +75,7 @@ export declare const colProperties: Record<string, number>;
|
|
75
75
|
|
76
76
|
export declare type ComponentProps<Shorthands extends ObjectShorthandPropsRecord, Primary extends keyof Shorthands = 'root'> = Omit<{
|
77
77
|
[Key in keyof Shorthands]?: ShorthandProps<NonNullable<Shorthands[Key]>>;
|
78
|
-
}, Primary> & PropsWithoutRef<Shorthands[Primary]>;
|
78
|
+
}, Primary & 'root'> & PropsWithoutRef<Shorthands[Primary]>;
|
79
79
|
|
80
80
|
export declare type ComponentState<Shorthands extends ObjectShorthandPropsRecord> = {
|
81
81
|
components?: {
|
@@ -89,8 +89,7 @@ export declare type ComponentState<Shorthands extends ObjectShorthandPropsRecord
|
|
89
89
|
* This should ONLY be used in type templates as in `extends DefaultObjectShorthandProps`;
|
90
90
|
* it shouldn't be used as the type of a slot.
|
91
91
|
*/
|
92
|
-
export declare type DefaultObjectShorthandProps = ObjectShorthandProps<{
|
93
|
-
children?: React_2.ReactNode;
|
92
|
+
export declare type DefaultObjectShorthandProps = ObjectShorthandProps<Pick<React_2.HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style'> & {
|
94
93
|
as?: keyof JSX.IntrinsicElements;
|
95
94
|
}>;
|
96
95
|
|
@@ -150,6 +149,29 @@ export declare function getNativeElementProps<TAttributes extends React_2.HTMLAt
|
|
150
149
|
*/
|
151
150
|
export declare function getNativeProps<T extends Record<string, any>>(props: Record<string, any>, allowedPropNames: string[] | Record<string, number>, excludedPropNames?: string[]): T;
|
152
151
|
|
152
|
+
/**
|
153
|
+
* Splits the native props into ones that go to the `root` slot, and ones that go to the primary slot.
|
154
|
+
*
|
155
|
+
* This function is only for use with components that have a primary slot other than `root`.
|
156
|
+
* Most components should use {@link getNativeElementProps} for their root slot if it is the primary slot.
|
157
|
+
*
|
158
|
+
* @returns An object containing the native props for the `root` and primary slots.
|
159
|
+
*/
|
160
|
+
export declare const getPartitionedNativeProps: ({ primarySlotTagName, props, excludedPropNames, }: {
|
161
|
+
/** The primary slot's element type (e.g. 'div') */
|
162
|
+
primarySlotTagName: keyof JSX.IntrinsicElements;
|
163
|
+
/** The component's props object */
|
164
|
+
props: Pick<React_2.HTMLAttributes<HTMLElement>, 'style' | 'className'>;
|
165
|
+
/** List of native props to exclude from the returned value */
|
166
|
+
excludedPropNames?: string[] | undefined;
|
167
|
+
}) => {
|
168
|
+
root: {
|
169
|
+
style: React_2.CSSProperties | undefined;
|
170
|
+
className: string | undefined;
|
171
|
+
};
|
172
|
+
primary: React_2.HTMLAttributes<any>;
|
173
|
+
};
|
174
|
+
|
153
175
|
/**
|
154
176
|
* Finds and swaps a provided key for it's right to left format.
|
155
177
|
*/
|
package/lib/compose/getSlots.js
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
import { __rest } from "tslib";
|
2
1
|
import * as React from 'react';
|
3
2
|
import { nullRender } from './nullRender';
|
4
3
|
import { omit } from '../utils/omit';
|
@@ -19,27 +18,18 @@ import { omit } from '../utils/omit';
|
|
19
18
|
* @returns An object containing the `slots` map and `slotProps` map.
|
20
19
|
*/
|
21
20
|
|
22
|
-
export function getSlots(state, slotNames) {
|
23
|
-
|
24
|
-
|
25
|
-
}
|
26
|
-
|
27
|
-
var slots = {};
|
28
|
-
var slotProps = {};
|
29
|
-
|
30
|
-
for (var _i = 0, slotNames_1 = slotNames; _i < slotNames_1.length; _i++) {
|
31
|
-
var slotName = slotNames_1[_i];
|
32
|
-
|
33
|
-
var _a = getSlot(state, slotName),
|
34
|
-
slot = _a[0],
|
35
|
-
props = _a[1];
|
21
|
+
export function getSlots(state, slotNames = ['root']) {
|
22
|
+
const slots = {};
|
23
|
+
const slotProps = {};
|
36
24
|
|
25
|
+
for (const slotName of slotNames) {
|
26
|
+
const [slot, props] = getSlot(state, slotName);
|
37
27
|
slots[slotName] = slot;
|
38
28
|
slotProps[slotName] = props;
|
39
29
|
}
|
40
30
|
|
41
31
|
return {
|
42
|
-
slots
|
32
|
+
slots,
|
43
33
|
slotProps: slotProps
|
44
34
|
};
|
45
35
|
}
|
@@ -51,22 +41,22 @@ function getSlot(state, slotName) {
|
|
51
41
|
return [nullRender, undefined];
|
52
42
|
}
|
53
43
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
44
|
+
const {
|
45
|
+
children,
|
46
|
+
as: asProp,
|
47
|
+
...rest
|
48
|
+
} = state[slotName];
|
49
|
+
const slot = ((_a = state.components) === null || _a === void 0 ? void 0 : _a[slotName]) === undefined || typeof state.components[slotName] === 'string' ? asProp || ((_b = state.components) === null || _b === void 0 ? void 0 : _b[slotName]) || 'div' : state.components[slotName];
|
60
50
|
|
61
51
|
if (typeof children === 'function') {
|
62
|
-
|
52
|
+
const render = children;
|
63
53
|
return [React.Fragment, {
|
64
54
|
children: render(slot, rest)
|
65
55
|
}];
|
66
56
|
}
|
67
57
|
|
68
|
-
|
69
|
-
|
58
|
+
const shouldOmitAsProp = typeof slot === 'string' && ((_c = state[slotName]) === null || _c === void 0 ? void 0 : _c.as);
|
59
|
+
const slotProps = shouldOmitAsProp ? omit(state[slotName], ['as']) : state[slotName];
|
70
60
|
return [slot, slotProps];
|
71
61
|
}
|
72
62
|
//# sourceMappingURL=getSlots.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/compose/getSlots.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/compose/getSlots.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAUA,SAAS,UAAT,QAA2B,cAA3B;AACA,SAAS,IAAT,QAAqB,eAArB;AAqBA;;;;;;;;;;;;;;;AAeG;;AACH,OAAM,SAAU,QAAV,CACJ,KADI,EAEJ,SAAA,GAAyB,CAAC,MAAD,CAFrB,EAE6B;AAKjC,QAAM,KAAK,GAAG,EAAd;AACA,QAAM,SAAS,GAAG,EAAlB;;AAEA,OAAK,MAAM,QAAX,IAAuB,SAAvB,EAAkC;AAChC,UAAM,CAAC,IAAD,EAAO,KAAP,IAAgB,OAAO,CAAC,KAAD,EAAQ,QAAR,CAA7B;AACA,IAAA,KAAK,CAAC,QAAD,CAAL,GAAkB,IAAlB;AACA,IAAA,SAAS,CAAC,QAAD,CAAT,GAAsB,KAAtB;AACD;;AACD,SAAO;AAAE,IAAA,KAAF;AAAS,IAAA,SAAS,EAAG;AAArB,GAAP;AACD;;AAED,SAAS,OAAT,CACE,KADF,EAEE,QAFF,EAEa;;;AAEX,MAAI,KAAK,CAAC,QAAD,CAAL,KAAoB,SAAxB,EAAmC;AACjC,WAAO,CAAC,UAAD,EAAa,SAAb,CAAP;AACD;;AACD,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA,EAAE,EAAE,MAAhB;AAAwB,OAAG;AAA3B,MAAoC,KAAK,CAAC,QAAD,CAA/C;AAEA,QAAM,IAAI,GAAI,CAAA,CAAA,EAAA,GAAA,KAAK,CAAC,UAAN,MAAgB,IAAhB,IAAgB,EAAA,KAAA,KAAA,CAAhB,GAAgB,KAAA,CAAhB,GAAgB,EAAA,CAAG,QAAH,CAAhB,MAAiC,SAAjC,IAA8C,OAAO,KAAK,CAAC,UAAN,CAAiB,QAAjB,CAAP,KAAsC,QAApF,GACV,MAAM,KAAA,CAAA,EAAA,GAAI,KAAK,CAAC,UAAV,MAAoB,IAApB,IAAoB,EAAA,KAAA,KAAA,CAApB,GAAoB,KAAA,CAApB,GAAoB,EAAA,CAAG,QAAH,CAApB,CAAN,IAA0C,KADhC,GAEV,KAAK,CAAC,UAAN,CAAiB,QAAjB,CAFJ;;AAIA,MAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC;AAClC,UAAM,MAAM,GAAG,QAAf;AACA,WAAO,CACL,KAAK,CAAC,QADD,EAEJ;AACC,MAAA,QAAQ,EAAE,MAAM,CAAC,IAAD,EAAO,IAAP;AADjB,KAFI,CAAP;AAMD;;AAED,QAAM,gBAAgB,GAAG,OAAO,IAAP,KAAgB,QAAhB,KAAwB,CAAA,EAAA,GAAI,KAAK,CAAC,QAAD,CAAT,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAE,EAA7C,CAAzB;AACA,QAAM,SAAS,GAAI,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAD,CAAN,EAAmB,CAAC,IAAD,CAAnB,CAAP,GAAoC,KAAK,CAAC,QAAD,CAA5E;AAEA,SAAO,CAAC,IAAD,EAAO,SAAP,CAAP;AACD","sourceRoot":""}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/compose/nullRender.tsx"],"names":[],"mappings":"AAAA;;
|
1
|
+
{"version":3,"file":"nullRender.js","sourceRoot":"","sources":["../../src/compose/nullRender.tsx"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC"}
|
@@ -1,4 +1,3 @@
|
|
1
|
-
import { __assign } from "tslib";
|
2
1
|
import { isValidElement } from 'react';
|
3
2
|
/**
|
4
3
|
* Resolves ShorthandProps into ObjectShorthandProps, to ensure normalization of the signature
|
@@ -8,16 +7,16 @@ import { isValidElement } from 'react';
|
|
8
7
|
*/
|
9
8
|
|
10
9
|
export function resolveShorthand(value, options) {
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
const {
|
11
|
+
required = false,
|
12
|
+
defaultProps
|
13
|
+
} = options || {};
|
15
14
|
|
16
15
|
if (value === null || value === undefined && !required) {
|
17
16
|
return undefined;
|
18
17
|
}
|
19
18
|
|
20
|
-
|
19
|
+
let resolvedShorthand = {};
|
21
20
|
|
22
21
|
if (typeof value === 'string' || typeof value === 'number' || Array.isArray(value) || /*#__PURE__*/isValidElement(value)) {
|
23
22
|
resolvedShorthand.children = value;
|
@@ -25,6 +24,8 @@ export function resolveShorthand(value, options) {
|
|
25
24
|
resolvedShorthand = value;
|
26
25
|
}
|
27
26
|
|
28
|
-
return defaultProps ?
|
27
|
+
return defaultProps ? { ...defaultProps,
|
28
|
+
...resolvedShorthand
|
29
|
+
} : resolvedShorthand;
|
29
30
|
}
|
30
31
|
//# sourceMappingURL=resolveShorthand.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/compose/resolveShorthand.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/compose/resolveShorthand.ts"],"names":[],"mappings":"AAAA,SAAS,cAAT,QAA+B,OAA/B;AASA;;;;;AAKG;;AACH,OAAM,SAAU,gBAAV,CACJ,KADI,EAEJ,OAFI,EAE8C;AAElD,QAAM;AAAE,IAAA,QAAQ,GAAG,KAAb;AAAoB,IAAA;AAApB,MAAqC,OAAO,IAAI,EAAtD;;AACA,MAAI,KAAK,KAAK,IAAV,IAAmB,KAAK,KAAK,SAAV,IAAuB,CAAC,QAA/C,EAA0D;AACxD,WAAO,SAAP;AACD;;AAED,MAAI,iBAAiB,GAAG,EAAxB;;AAEA,MAAI,OAAO,KAAP,KAAiB,QAAjB,IAA6B,OAAO,KAAP,KAAiB,QAA9C,IAA0D,KAAK,CAAC,OAAN,CAAc,KAAd,CAA1D,iBAAkF,cAAc,CAAC,KAAD,CAApG,EAA6G;AAC3G,IAAA,iBAAiB,CAAC,QAAlB,GAA6B,KAA7B;AACD,GAFD,MAEO,IAAI,OAAO,KAAP,KAAiB,QAArB,EAA+B;AACpC,IAAA,iBAAiB,GAAG,KAApB;AACD;;AAED,SAAQ,YAAY,GAAG,EAAE,GAAG,YAAL;AAAmB,OAAG;AAAtB,GAAH,GAA+C,iBAAnE;AAGD","sourceRoot":""}
|
package/lib/compose/types.d.ts
CHANGED
@@ -8,8 +8,7 @@ export declare type ShorthandProps<Props extends DefaultObjectShorthandProps> =
|
|
8
8
|
* This should ONLY be used in type templates as in `extends DefaultObjectShorthandProps`;
|
9
9
|
* it shouldn't be used as the type of a slot.
|
10
10
|
*/
|
11
|
-
export declare type DefaultObjectShorthandProps = ObjectShorthandProps<{
|
12
|
-
children?: React.ReactNode;
|
11
|
+
export declare type DefaultObjectShorthandProps = ObjectShorthandProps<Pick<React.HTMLAttributes<HTMLElement>, 'children' | 'className' | 'style'> & {
|
13
12
|
as?: keyof JSX.IntrinsicElements;
|
14
13
|
}>;
|
15
14
|
/**
|
@@ -78,7 +77,7 @@ export declare type UnionToIntersection<U> = (U extends unknown ? (x: U) => U :
|
|
78
77
|
export declare type PropsWithoutRef<P> = 'ref' extends keyof P ? (P extends unknown ? Omit<P, 'ref'> : P) : P;
|
79
78
|
export declare type ComponentProps<Shorthands extends ObjectShorthandPropsRecord, Primary extends keyof Shorthands = 'root'> = Omit<{
|
80
79
|
[Key in keyof Shorthands]?: ShorthandProps<NonNullable<Shorthands[Key]>>;
|
81
|
-
}, Primary> & PropsWithoutRef<Shorthands[Primary]>;
|
80
|
+
}, Primary & 'root'> & PropsWithoutRef<Shorthands[Primary]>;
|
82
81
|
export declare type ComponentState<Shorthands extends ObjectShorthandPropsRecord> = {
|
83
82
|
components?: {
|
84
83
|
[Key in keyof Shorthands]-?: React.ComponentType<NonNullable<Shorthands[Key]> extends ObjectShorthandProps<infer P> ? P : NonNullable<Shorthands[Key]>> | (NonNullable<Shorthands[Key]> extends AsIntrinsicElement<infer As> ? As : keyof JSX.IntrinsicElements);
|
package/lib/compose/types.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/compose/types.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"sources":["../../src/compose/types.ts"],"names":[],"mappings":"WAgJA;AACA;AACA;AACA;AACA","sourceRoot":""}
|
package/lib/hooks/useBoolean.js
CHANGED
@@ -9,31 +9,20 @@ import { useConst } from './useConst';
|
|
9
9
|
*/
|
10
10
|
|
11
11
|
export function useBoolean(initialState) {
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
var setTrue = useConst(function () {
|
17
|
-
return function () {
|
18
|
-
setValue(true);
|
19
|
-
};
|
12
|
+
const [value, setValue] = React.useState(initialState);
|
13
|
+
const setTrue = useConst(() => () => {
|
14
|
+
setValue(true);
|
20
15
|
});
|
21
|
-
|
22
|
-
|
23
|
-
setValue(false);
|
24
|
-
};
|
16
|
+
const setFalse = useConst(() => () => {
|
17
|
+
setValue(false);
|
25
18
|
});
|
26
|
-
|
27
|
-
|
28
|
-
setValue(function (currentValue) {
|
29
|
-
return !currentValue;
|
30
|
-
});
|
31
|
-
};
|
19
|
+
const toggle = useConst(() => () => {
|
20
|
+
setValue(currentValue => !currentValue);
|
32
21
|
});
|
33
22
|
return [value, {
|
34
|
-
setTrue
|
35
|
-
setFalse
|
36
|
-
toggle
|
23
|
+
setTrue,
|
24
|
+
setFalse,
|
25
|
+
toggle
|
37
26
|
}];
|
38
27
|
}
|
39
28
|
//# sourceMappingURL=useBoolean.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;AAYA;;;;;;AAMG;;AACH,OAAM,SAAU,UAAV,CAAqB,YAArB,EAA0C;
|
1
|
+
{"version":3,"sources":["../../src/hooks/useBoolean.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;AAYA;;;;;;AAMG;;AACH,OAAM,SAAU,UAAV,CAAqB,YAArB,EAA0C;AAC9C,QAAM,CAAC,KAAD,EAAQ,QAAR,IAAoB,KAAK,CAAC,QAAN,CAAe,YAAf,CAA1B;AAEA,QAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,MAAK;AAClC,IAAA,QAAQ,CAAC,IAAD,CAAR;AACD,GAFuB,CAAxB;AAGA,QAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,MAAK;AACnC,IAAA,QAAQ,CAAC,KAAD,CAAR;AACD,GAFwB,CAAzB;AAGA,QAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,MAAK;AACjC,IAAA,QAAQ,CAAC,YAAY,IAAI,CAAC,YAAlB,CAAR;AACD,GAFsB,CAAvB;AAIA,SAAO,CAAC,KAAD,EAAQ;AAAE,IAAA,OAAF;AAAW,IAAA,QAAX;AAAqB,IAAA;AAArB,GAAR,CAAP;AACD","sourceRoot":""}
|
package/lib/hooks/useConst.js
CHANGED
@@ -15,7 +15,7 @@ export function useConst(initialValue) {
|
|
15
15
|
// Use useRef to store the value because it's the least expensive built-in hook that works here
|
16
16
|
// (we could also use `const [value] = React.useState(initialValue)` but that's more expensive
|
17
17
|
// internally due to reducer handling which we don't need)
|
18
|
-
|
18
|
+
const ref = React.useRef();
|
19
19
|
|
20
20
|
if (ref.current === undefined) {
|
21
21
|
// Box the value in an object so we can tell if it's initialized even if the initializer
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useConst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;;;;;;;AAUG;;AACH,OAAM,SAAU,QAAV,CAAsB,YAAtB,EAAiD;AACrD;AACA;AACA;AACA,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useConst.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;;;;;;;AAUG;;AACH,OAAM,SAAU,QAAV,CAAsB,YAAtB,EAAiD;AACrD;AACA;AACA;AACA,QAAM,GAAG,GAAG,KAAK,CAAC,MAAN,EAAZ;;AACA,MAAI,GAAG,CAAC,OAAJ,KAAgB,SAApB,EAA+B;AAC7B;AACA;AACA,IAAA,GAAG,CAAC,OAAJ,GAAc;AACZ,MAAA,KAAK,EAAE,OAAO,YAAP,KAAwB,UAAxB,GAAsC,YAAyB,EAA/D,GAAoE;AAD/D,KAAd;AAGD;;AACD,SAAO,GAAG,CAAC,OAAJ,CAAY,KAAnB;AACD","sourceRoot":""}
|
@@ -15,22 +15,18 @@ function isFactoryDispatch(newState) {
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
|
18
|
-
export
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
var state = isControlled ? options.state : internalState;
|
27
|
-
var stateRef = React.useRef(state);
|
28
|
-
React.useEffect(function () {
|
18
|
+
export const useControllableState = options => {
|
19
|
+
const isControlled = useIsControlled(options.state);
|
20
|
+
const initialState = isUndefined(options.defaultState) ? options.initialState : options.defaultState;
|
21
|
+
const [internalState, setInternalState] = React.useState(initialState);
|
22
|
+
const state = isControlled ? options.state : internalState;
|
23
|
+
const stateRef = React.useRef(state);
|
24
|
+
React.useEffect(() => {
|
29
25
|
stateRef.current = state;
|
30
26
|
}, [state]); // To match the behavior of the setter returned by React.useState, this callback's identity
|
31
27
|
// should never change. This means it MUST NOT directly reference variables that can change.
|
32
28
|
|
33
|
-
|
29
|
+
const setState = React.useCallback(newState => {
|
34
30
|
// React dispatch can use a factory
|
35
31
|
// https://reactjs.org/docs/hooks-reference.html#functional-updates
|
36
32
|
if (isFactoryDispatch(newState)) {
|
@@ -49,17 +45,17 @@ export var useControllableState = function (options) {
|
|
49
45
|
* @returns - whether the value is controlled
|
50
46
|
*/
|
51
47
|
|
52
|
-
|
53
|
-
|
48
|
+
const useIsControlled = controlledValue => {
|
49
|
+
const isControlled = useConst(controlledValue !== undefined);
|
54
50
|
|
55
51
|
if (process.env.NODE_ENV !== 'production') {
|
56
52
|
// We don't want these warnings in production even though it is against native behaviour
|
57
53
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
58
|
-
React.useEffect(
|
54
|
+
React.useEffect(() => {
|
59
55
|
if (isControlled !== (controlledValue !== undefined)) {
|
60
|
-
|
61
|
-
|
62
|
-
|
56
|
+
const error = new Error();
|
57
|
+
const controlWarning = isControlled ? 'a controlled value to be uncontrolled' : 'an uncontrolled value to be controlled';
|
58
|
+
const undefinedWarning = isControlled ? 'defined to an undefined' : 'undefined to a defined'; // eslint-disable-next-line no-console
|
63
59
|
|
64
60
|
console.error([// Default react error
|
65
61
|
'A component is changing ' + controlWarning + '. This is likely caused by the value', 'changing from ' + undefinedWarning + ' value, which should not happen.', 'Decide between using a controlled or uncontrolled input element for the lifetime of the component.', 'More info: https://reactjs.org/link/controlled-components', error.stack].join(' '));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;;AAiBA,SAAS,WAAT,CAAqB,KAArB,EAAmC;AACjC,SAAO,OAAO,KAAP,KAAiB,WAAxB;AACD;;AAED,SAAS,iBAAT,CAAkC,QAAlC,EAAuE;AACrE,SAAO,OAAO,QAAP,KAAoB,UAA3B;AACD;AAED;;;;AAIG;;;AACH,OAAO,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useControllableState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;;AAiBA,SAAS,WAAT,CAAqB,KAArB,EAAmC;AACjC,SAAO,OAAO,KAAP,KAAiB,WAAxB;AACD;;AAED,SAAS,iBAAT,CAAkC,QAAlC,EAAuE;AACrE,SAAO,OAAO,QAAP,KAAoB,UAA3B;AACD;AAED;;;;AAIG;;;AACH,OAAO,MAAM,oBAAoB,GAC/B,OADkC,IAEsB;AACxD,QAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,KAAT,CAApC;AACA,QAAM,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,YAAT,CAAX,GAAoC,OAAO,CAAC,YAA5C,GAA2D,OAAO,CAAC,YAAxF;AACA,QAAM,CAAC,aAAD,EAAgB,gBAAhB,IAAoC,KAAK,CAAC,QAAN,CAAsB,YAAtB,CAA1C;AAEA,QAAM,KAAK,GAAG,YAAY,GAAI,OAAO,CAAC,KAAZ,GAA8B,aAAxD;AAEA,QAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,CAAa,KAAb,CAAjB;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,IAAA,QAAQ,CAAC,OAAT,GAAmB,KAAnB;AACD,GAFD,EAEG,CAAC,KAAD,CAFH,EARwD,CAYxD;AACA;;AACA,QAAM,QAAQ,GAAG,KAAK,CAAC,WAAN,CAAmB,QAAD,IAA0C;AAC3E;AACA;AACA,QAAI,iBAAiB,CAAC,QAAD,CAArB,EAAiC;AAC/B,MAAA,QAAQ,CAAC,OAAT,GAAmB,QAAQ,CAAC,QAAQ,CAAC,OAAV,CAA3B;AACD,KAFD,MAEO;AACL,MAAA,QAAQ,CAAC,OAAT,GAAmB,QAAnB;AACD;;AAED,IAAA,gBAAgB,CAAC,QAAQ,CAAC,OAAV,CAAhB;AACD,GAVgB,EAUd,EAVc,CAAjB;AAYA,SAAO,CAAC,KAAD,EAAQ,QAAR,CAAP;AACD,CA7BM;AA+BP;;;;AAIG;;AACH,MAAM,eAAe,GAAI,eAAD,IAA6B;AACnD,QAAM,YAAY,GAAG,QAAQ,CAAU,eAAe,KAAK,SAA9B,CAA7B;;AAEA,MAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;AACzC;AACA;AACA,IAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,UAAI,YAAY,MAAM,eAAe,KAAK,SAA1B,CAAhB,EAAsD;AACpD,cAAM,KAAK,GAAG,IAAI,KAAJ,EAAd;AAEA,cAAM,cAAc,GAAG,YAAY,GAC/B,uCAD+B,GAE/B,wCAFJ;AAIA,cAAM,gBAAgB,GAAG,YAAY,GAAG,yBAAH,GAA+B,wBAApE,CAPoD,CASpD;;AACA,QAAA,OAAO,CAAC,KAAR,CACE,CACE;AACA,qCAA6B,cAA7B,GAA8C,sCAFhD,EAGE,mBAAmB,gBAAnB,GAAsC,kCAHxC,EAIE,oGAJF,EAKE,2DALF,EAME,KAAK,CAAC,KANR,EAOE,IAPF,CAOO,GAPP,CADF;AAUD;AACF,KAtBD,EAsBG,CAAC,YAAD,EAAe,eAAf,CAtBH;AAuBD;;AAED,SAAO,YAAP;AACD,CAhCD","sourceRoot":""}
|
@@ -1,36 +1,31 @@
|
|
1
1
|
import * as React from 'react';
|
2
2
|
import { useConst } from './useConst';
|
3
3
|
export function useControllableValue(controlledValue, defaultUncontrolledValue, onChange) {
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
var isControlled = useIsControlled(controlledValue);
|
9
|
-
var currentValue = isControlled ? controlledValue : value; // Duplicate the current value and onChange in refs so they're accessible from
|
4
|
+
const [value, setValue] = React.useState(defaultUncontrolledValue);
|
5
|
+
const isControlled = useIsControlled(controlledValue);
|
6
|
+
const currentValue = isControlled ? controlledValue : value; // Duplicate the current value and onChange in refs so they're accessible from
|
10
7
|
// setValueOrCallOnChange without creating a new callback every time
|
11
8
|
|
12
|
-
|
13
|
-
|
14
|
-
React.useEffect(
|
9
|
+
const valueRef = React.useRef(currentValue);
|
10
|
+
const onChangeRef = React.useRef(onChange);
|
11
|
+
React.useEffect(() => {
|
15
12
|
valueRef.current = currentValue;
|
16
13
|
onChangeRef.current = onChange;
|
17
14
|
}); // To match the behavior of the setter returned by React.useState, this callback's identity
|
18
15
|
// should never change. This means it MUST NOT directly reference variables that can change.
|
19
16
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
var newValue = typeof update === 'function' ? update(valueRef.current) : update;
|
17
|
+
const setValueOrCallOnChange = useConst(() => (update, ev) => {
|
18
|
+
// Assuming here that TValue is not a function, because a controllable value will typically
|
19
|
+
// be something a user can enter as input
|
20
|
+
const newValue = typeof update === 'function' ? update(valueRef.current) : update;
|
25
21
|
|
26
|
-
|
27
|
-
|
28
|
-
|
22
|
+
if (onChangeRef.current) {
|
23
|
+
onChangeRef.current(ev, newValue);
|
24
|
+
}
|
29
25
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
};
|
26
|
+
if (!isControlled) {
|
27
|
+
setValue(newValue);
|
28
|
+
}
|
34
29
|
});
|
35
30
|
return [currentValue, setValueOrCallOnChange];
|
36
31
|
}
|
@@ -39,17 +34,17 @@ export function useControllableValue(controlledValue, defaultUncontrolledValue,
|
|
39
34
|
* Prints an error when isControlled value switches between subsequent renders
|
40
35
|
*/
|
41
36
|
|
42
|
-
|
43
|
-
|
37
|
+
const useIsControlled = controlledValue => {
|
38
|
+
const isControlled = useConst(controlledValue !== undefined);
|
44
39
|
|
45
40
|
if (process.env.NODE_ENV !== 'production') {
|
46
41
|
// We don't want these warnings in production even though it is against native behaviour
|
47
42
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
48
|
-
React.useEffect(
|
43
|
+
React.useEffect(() => {
|
49
44
|
if (isControlled !== (controlledValue !== undefined)) {
|
50
|
-
|
51
|
-
|
52
|
-
|
45
|
+
const error = new Error();
|
46
|
+
const controlWarning = isControlled ? 'a controlled value to be uncontrolled' : 'an uncontrolled value to be controlled';
|
47
|
+
const undefinedWarning = isControlled ? 'defined to an undefined' : 'undefined to a defined'; // eslint-disable-next-line no-console
|
53
48
|
|
54
49
|
console.error([// Default react error
|
55
50
|
'A component is changing ' + controlWarning + '. This is likely caused by the value', 'changing from ' + undefinedWarning + ' value, which should not happen.', 'Decide between using a controlled or uncontrolled input element for the lifetime of the component.', 'More info: https://reactjs.org/link/controlled-components', error.stack].join(' '));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useControllableValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;AAqCA,OAAM,SAAU,oBAAV,CAKJ,eALI,EAMJ,wBANI,EAOJ,QAPI,EAO+C;
|
1
|
+
{"version":3,"sources":["../../src/hooks/useControllableValue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,QAAT,QAAyB,YAAzB;AAqCA,OAAM,SAAU,oBAAV,CAKJ,eALI,EAMJ,wBANI,EAOJ,QAPI,EAO+C;AAEnD,QAAM,CAAC,KAAD,EAAQ,QAAR,IAAoB,KAAK,CAAC,QAAN,CAAmC,wBAAnC,CAA1B;AACA,QAAM,YAAY,GAAG,eAAe,CAAC,eAAD,CAApC;AACA,QAAM,YAAY,GAAG,YAAY,GAAG,eAAH,GAAqB,KAAtD,CAJmD,CAMnD;AACA;;AACA,QAAM,QAAQ,GAAG,KAAK,CAAC,MAAN,CAAa,YAAb,CAAjB;AACA,QAAM,WAAW,GAAG,KAAK,CAAC,MAAN,CAAa,QAAb,CAApB;AACA,EAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,IAAA,QAAQ,CAAC,OAAT,GAAmB,YAAnB;AACA,IAAA,WAAW,CAAC,OAAZ,GAAsB,QAAtB;AACD,GAHD,EAVmD,CAenD;AACA;;AACA,QAAM,sBAAsB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAD,EAAmD,EAAnD,KAAkE;AAC9G;AACA;AACA,UAAM,QAAQ,GAAG,OAAO,MAAP,KAAkB,UAAlB,GAAgC,MAAmB,CAAC,QAAQ,CAAC,OAAV,CAAnD,GAAwE,MAAzF;;AAEA,QAAI,WAAW,CAAC,OAAhB,EAAyB;AACvB,MAAA,WAAW,CAAC,OAAZ,CAAoB,EAApB,EAAyB,QAAzB;AACD;;AAED,QAAI,CAAC,YAAL,EAAmB;AACjB,MAAA,QAAQ,CAAC,QAAD,CAAR;AACD;AACF,GAZsC,CAAvC;AAcA,SAAO,CAAC,YAAD,EAAe,sBAAf,CAAP;AACD;AAED;;;AAGG;;AACH,MAAM,eAAe,GAAY,eAAT,IAAoC;AAC1D,QAAM,YAAY,GAAG,QAAQ,CAAU,eAAe,KAAK,SAA9B,CAA7B;;AAEA,MAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAA7B,EAA2C;AACzC;AACA;AACA,IAAA,KAAK,CAAC,SAAN,CAAgB,MAAK;AACnB,UAAI,YAAY,MAAM,eAAe,KAAK,SAA1B,CAAhB,EAAsD;AACpD,cAAM,KAAK,GAAG,IAAI,KAAJ,EAAd;AAEA,cAAM,cAAc,GAAG,YAAY,GAC/B,uCAD+B,GAE/B,wCAFJ;AAIA,cAAM,gBAAgB,GAAG,YAAY,GAAG,yBAAH,GAA+B,wBAApE,CAPoD,CASpD;;AACA,QAAA,OAAO,CAAC,KAAR,CACE,CACE;AACA,qCAA6B,cAA7B,GAA8C,sCAFhD,EAGE,mBAAmB,gBAAnB,GAAsC,kCAHxC,EAIE,oGAJF,EAKE,2DALF,EAME,KAAK,CAAC,KANR,EAOE,IAPF,CAOO,GAPP,CADF;AAUD;AACF,KAtBD,EAsBG,CAAC,YAAD,EAAe,eAAf,CAtBH;AAuBD;;AAED,SAAO,YAAP;AACD,CAhCD","sourceRoot":""}
|
@@ -13,22 +13,16 @@ import { useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
|
13
13
|
* @param fn - The callback function that will be used
|
14
14
|
*/
|
15
15
|
|
16
|
-
export
|
17
|
-
|
16
|
+
export const useEventCallback = fn => {
|
17
|
+
const callbackRef = React.useRef(() => {
|
18
18
|
throw new Error('Cannot call an event handler while rendering');
|
19
19
|
});
|
20
|
-
useIsomorphicLayoutEffect(
|
20
|
+
useIsomorphicLayoutEffect(() => {
|
21
21
|
callbackRef.current = fn;
|
22
22
|
}, [fn]);
|
23
|
-
return React.useCallback(
|
24
|
-
|
25
|
-
|
26
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
27
|
-
args[_i] = arguments[_i];
|
28
|
-
}
|
29
|
-
|
30
|
-
var callback = callbackRef.current;
|
31
|
-
return callback.apply(void 0, args);
|
23
|
+
return React.useCallback((...args) => {
|
24
|
+
const callback = callbackRef.current;
|
25
|
+
return callback(...args);
|
32
26
|
}, [callbackRef]);
|
33
27
|
};
|
34
28
|
//# sourceMappingURL=useEventCallback.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useEventCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,yBAAT,QAA0C,6BAA1C;AAEA;;;;;;;;;;;AAWG;;AACH,OAAO,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useEventCallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,yBAAT,QAA0C,6BAA1C;AAEA;;;;;;;;;;;AAWG;;AACH,OAAO,MAAM,gBAAgB,GAAoC,EAAjC,IAAkE;AAChG,QAAM,WAAW,GAAG,KAAK,CAAC,MAAN,CAAwB,MAAK;AAC/C,UAAM,IAAI,KAAJ,CAAU,8CAAV,CAAN;AACD,GAFmB,CAApB;AAIA,EAAA,yBAAyB,CAAC,MAAK;AAC7B,IAAA,WAAW,CAAC,OAAZ,GAAsB,EAAtB;AACD,GAFwB,EAEtB,CAAC,EAAD,CAFsB,CAAzB;AAIA,SAAO,KAAK,CAAC,WAAN,CACL,CAAC,GAAG,IAAJ,KAAkB;AAChB,UAAM,QAAQ,GAAG,WAAW,CAAC,OAA7B;AACA,WAAO,QAAQ,CAAC,GAAG,IAAJ,CAAf;AACD,GAJI,EAKL,CAAC,WAAD,CALK,CAAP;AAOD,CAhBM","sourceRoot":""}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../../src/hooks/useFirstMount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;;;;;;AASG;;AACH,OAAM,SAAU,aAAV,GAAuB;AAC3B,
|
1
|
+
{"version":3,"sources":["../../src/hooks/useFirstMount.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AAEA;;;;;;;;;AASG;;AACH,OAAM,SAAU,aAAV,GAAuB;AAC3B,QAAM,OAAO,GAAG,KAAK,CAAC,MAAN,CAAa,IAAb,CAAhB;;AAEA,MAAI,OAAO,CAAC,OAAZ,EAAqB;AACnB,IAAA,OAAO,CAAC,OAAR,GAAkB,KAAlB;AACA,WAAO,IAAP;AACD;;AAED,SAAO,OAAO,CAAC,OAAf;AACD","sourceRoot":""}
|