@vef-framework/hooks 1.0.128 → 1.0.129
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/cjs/index.cjs +1 -106
- package/cjs/lib.cjs +1 -55
- package/cjs/use-authorized-items.cjs +1 -25
- package/cjs/use-color-tokens.cjs +1 -33
- package/cjs/use-computed-action-buttons.cjs +1 -44
- package/cjs/use-computed-options.cjs +1 -68
- package/cjs/use-context-disabled.cjs +1 -13
- package/cjs/use-data-query.cjs +1 -109
- package/cjs/use-deep-callback.cjs +1 -12
- package/cjs/use-deep-memo.cjs +1 -20
- package/cjs/use-deep-selector.cjs +1 -15
- package/cjs/use-fallback-options.cjs +1 -104
- package/cjs/use-gap-size-normalizer.cjs +1 -37
- package/cjs/use-normalized-gap-size.cjs +1 -11
- package/cjs/use-normalized-menu-items.cjs +1 -47
- package/cjs/use-normalized-options.cjs +1 -103
- package/cjs/use-option-filter.cjs +1 -19
- package/cjs/use-remote-filter.cjs +1 -38
- package/cjs/use-shallow-callback.cjs +1 -12
- package/cjs/use-shallow-memo.cjs +1 -20
- package/cjs/use-shallow-selector.cjs +1 -15
- package/cjs/use-singleton.cjs +1 -15
- package/cjs/use-theme-tokens.cjs +1 -12
- package/cjs/use-transient-store.cjs +1 -33
- package/cjs/use-window-size.cjs +1 -20
- package/esm/index.js +1 -28
- package/esm/lib.js +1 -4
- package/esm/use-authorized-items.js +1 -23
- package/esm/use-color-tokens.js +1 -29
- package/esm/use-computed-action-buttons.js +1 -42
- package/esm/use-computed-options.js +1 -66
- package/esm/use-context-disabled.js +1 -10
- package/esm/use-data-query.js +1 -107
- package/esm/use-deep-callback.js +1 -10
- package/esm/use-deep-memo.js +1 -18
- package/esm/use-deep-selector.js +1 -13
- package/esm/use-fallback-options.js +1 -102
- package/esm/use-gap-size-normalizer.js +1 -35
- package/esm/use-normalized-gap-size.js +1 -9
- package/esm/use-normalized-menu-items.js +1 -44
- package/esm/use-normalized-options.js +1 -101
- package/esm/use-option-filter.js +1 -17
- package/esm/use-remote-filter.js +1 -36
- package/esm/use-shallow-callback.js +1 -10
- package/esm/use-shallow-memo.js +1 -18
- package/esm/use-shallow-selector.js +1 -13
- package/esm/use-singleton.js +1 -13
- package/esm/use-theme-tokens.js +1 -10
- package/esm/use-transient-store.js +1 -31
- package/esm/use-window-size.js +1 -18
- package/package.json +3 -3
package/cjs/index.cjs
CHANGED
|
@@ -1,107 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
require('./lib.cjs');
|
|
5
|
-
var useAuthorizedItems = require('./use-authorized-items.cjs');
|
|
6
|
-
var useColorTokens = require('./use-color-tokens.cjs');
|
|
7
|
-
var useComputedActionButtons = require('./use-computed-action-buttons.cjs');
|
|
8
|
-
var useComputedOptions = require('./use-computed-options.cjs');
|
|
9
|
-
var useContextDisabled = require('./use-context-disabled.cjs');
|
|
10
|
-
var useDataQuery = require('./use-data-query.cjs');
|
|
11
|
-
var useDeepCallback = require('./use-deep-callback.cjs');
|
|
12
|
-
var useDeepMemo = require('./use-deep-memo.cjs');
|
|
13
|
-
var useDeepSelector = require('./use-deep-selector.cjs');
|
|
14
|
-
var useFallbackOptions = require('./use-fallback-options.cjs');
|
|
15
|
-
var useGapSizeNormalizer = require('./use-gap-size-normalizer.cjs');
|
|
16
|
-
var useNormalizedGapSize = require('./use-normalized-gap-size.cjs');
|
|
17
|
-
var useNormalizedMenuItems = require('./use-normalized-menu-items.cjs');
|
|
18
|
-
var useNormalizedOptions = require('./use-normalized-options.cjs');
|
|
19
|
-
var useOptionFilter = require('./use-option-filter.cjs');
|
|
20
|
-
var useRemoteFilter = require('./use-remote-filter.cjs');
|
|
21
|
-
var useShallowCallback = require('./use-shallow-callback.cjs');
|
|
22
|
-
var useShallowMemo = require('./use-shallow-memo.cjs');
|
|
23
|
-
var useShallowSelector = require('./use-shallow-selector.cjs');
|
|
24
|
-
var useSingleton = require('./use-singleton.cjs');
|
|
25
|
-
var useThemeTokens = require('./use-theme-tokens.cjs');
|
|
26
|
-
var useTransientStore = require('./use-transient-store.cjs');
|
|
27
|
-
var useWindowSize = require('./use-window-size.cjs');
|
|
28
|
-
var usehooks = require('@uidotdev/usehooks');
|
|
29
|
-
var ahooks = require('ahooks');
|
|
30
|
-
|
|
31
|
-
"use strict";
|
|
32
|
-
|
|
33
|
-
exports.useAuthorizedItems = useAuthorizedItems.useAuthorizedItems;
|
|
34
|
-
exports.useColorTokens = useColorTokens.useColorTokens;
|
|
35
|
-
exports.useDefaultColorTokens = useColorTokens.useDefaultColorTokens;
|
|
36
|
-
exports.useSemanticColorTokens = useColorTokens.useSemanticColorTokens;
|
|
37
|
-
exports.useComputedActionButtons = useComputedActionButtons.useComputedActionButtons;
|
|
38
|
-
exports.useComputedOptions = useComputedOptions.useComputedOptions;
|
|
39
|
-
exports.DisabledContextProvider = useContextDisabled.DisabledContextProvider;
|
|
40
|
-
exports.useContextDisabled = useContextDisabled.useContextDisabled;
|
|
41
|
-
exports.useDataQuery = useDataQuery.useDataQuery;
|
|
42
|
-
exports.useDeepCallback = useDeepCallback.useDeepCallback;
|
|
43
|
-
exports.useDeepMemo = useDeepMemo.useDeepMemo;
|
|
44
|
-
exports.useDeepSelector = useDeepSelector.useDeepSelector;
|
|
45
|
-
exports.useFallbackOptions = useFallbackOptions.useFallbackOptions;
|
|
46
|
-
exports.useGapSizeNormalizer = useGapSizeNormalizer.useGapSizeNormalizer;
|
|
47
|
-
exports.useNormalizedGapSize = useNormalizedGapSize.useNormalizedGapSize;
|
|
48
|
-
exports.normalizeMenuItem = useNormalizedMenuItems.normalizeMenuItem;
|
|
49
|
-
exports.useNormalizedMenuItems = useNormalizedMenuItems.useNormalizedMenuItems;
|
|
50
|
-
exports.useNormalizedDataOptions = useNormalizedOptions.useNormalizedDataOptions;
|
|
51
|
-
exports.useOptionFilter = useOptionFilter.useOptionFilter;
|
|
52
|
-
exports.useRemoteFilter = useRemoteFilter.useRemoteFilter;
|
|
53
|
-
exports.useShallowCallback = useShallowCallback.useShallowCallback;
|
|
54
|
-
exports.useShallowMemo = useShallowMemo.useShallowMemo;
|
|
55
|
-
exports.useShallowSelector = useShallowSelector.useShallowSelector;
|
|
56
|
-
exports.useSingleton = useSingleton.useSingleton;
|
|
57
|
-
exports.useThemeTokens = useThemeTokens.useThemeTokens;
|
|
58
|
-
exports.useTransientStore = useTransientStore.useTransientStore;
|
|
59
|
-
exports.useWindowSize = useWindowSize.useWindowSize;
|
|
60
|
-
Object.defineProperty(exports, "useClickAway", {
|
|
61
|
-
enumerable: true,
|
|
62
|
-
get: function () { return usehooks.useClickAway; }
|
|
63
|
-
});
|
|
64
|
-
Object.defineProperty(exports, "useMeasure", {
|
|
65
|
-
enumerable: true,
|
|
66
|
-
get: function () { return usehooks.useMeasure; }
|
|
67
|
-
});
|
|
68
|
-
Object.defineProperty(exports, "useDeepEffect", {
|
|
69
|
-
enumerable: true,
|
|
70
|
-
get: function () { return ahooks.useDeepCompareEffect; }
|
|
71
|
-
});
|
|
72
|
-
Object.defineProperty(exports, "useDeepLayoutEffect", {
|
|
73
|
-
enumerable: true,
|
|
74
|
-
get: function () { return ahooks.useDeepCompareLayoutEffect; }
|
|
75
|
-
});
|
|
76
|
-
Object.defineProperty(exports, "useElementSize", {
|
|
77
|
-
enumerable: true,
|
|
78
|
-
get: function () { return ahooks.useSize; }
|
|
79
|
-
});
|
|
80
|
-
Object.defineProperty(exports, "useEventListener", {
|
|
81
|
-
enumerable: true,
|
|
82
|
-
get: function () { return ahooks.useEventListener; }
|
|
83
|
-
});
|
|
84
|
-
Object.defineProperty(exports, "useKeyPress", {
|
|
85
|
-
enumerable: true,
|
|
86
|
-
get: function () { return ahooks.useKeyPress; }
|
|
87
|
-
});
|
|
88
|
-
Object.defineProperty(exports, "useMount", {
|
|
89
|
-
enumerable: true,
|
|
90
|
-
get: function () { return ahooks.useMount; }
|
|
91
|
-
});
|
|
92
|
-
Object.defineProperty(exports, "useUnmount", {
|
|
93
|
-
enumerable: true,
|
|
94
|
-
get: function () { return ahooks.useUnmount; }
|
|
95
|
-
});
|
|
96
|
-
Object.defineProperty(exports, "useUpdateEffect", {
|
|
97
|
-
enumerable: true,
|
|
98
|
-
get: function () { return ahooks.useUpdateEffect; }
|
|
99
|
-
});
|
|
100
|
-
Object.defineProperty(exports, "useUpdateLayoutEffect", {
|
|
101
|
-
enumerable: true,
|
|
102
|
-
get: function () { return ahooks.useUpdateLayoutEffect; }
|
|
103
|
-
});
|
|
104
|
-
Object.defineProperty(exports, "useUpdater", {
|
|
105
|
-
enumerable: true,
|
|
106
|
-
get: function () { return ahooks.useUpdate; }
|
|
107
|
-
});
|
|
2
|
+
"use strict";require("./lib.cjs");var o=require("./use-authorized-items.cjs"),r=require("./use-color-tokens.cjs"),n=require("./use-computed-action-buttons.cjs"),a=require("./use-computed-options.cjs"),u=require("./use-context-disabled.cjs"),i=require("./use-data-query.cjs"),l=require("./use-deep-callback.cjs"),m=require("./use-deep-memo.cjs"),p=require("./use-deep-selector.cjs"),c=require("./use-fallback-options.cjs"),d=require("./use-gap-size-normalizer.cjs"),f=require("./use-normalized-gap-size.cjs"),t=require("./use-normalized-menu-items.cjs"),b=require("./use-normalized-options.cjs"),S=require("./use-option-filter.cjs"),v=require("./use-remote-filter.cjs"),z=require("./use-shallow-callback.cjs"),C=require("./use-shallow-memo.cjs"),q=require("./use-shallow-selector.cjs"),D=require("./use-singleton.cjs"),O=require("./use-theme-tokens.cjs"),k=require("./use-transient-store.cjs"),y=require("./use-window-size.cjs"),s=require("@uidotdev/usehooks"),e=require("ahooks");exports.useAuthorizedItems=o.useAuthorizedItems,exports.useColorTokens=r.useColorTokens,exports.useDefaultColorTokens=r.useDefaultColorTokens,exports.useSemanticColorTokens=r.useSemanticColorTokens,exports.useComputedActionButtons=n.useComputedActionButtons,exports.useComputedOptions=a.useComputedOptions,exports.DisabledContextProvider=u.DisabledContextProvider,exports.useContextDisabled=u.useContextDisabled,exports.useDataQuery=i.useDataQuery,exports.useDeepCallback=l.useDeepCallback,exports.useDeepMemo=m.useDeepMemo,exports.useDeepSelector=p.useDeepSelector,exports.useFallbackOptions=c.useFallbackOptions,exports.useGapSizeNormalizer=d.useGapSizeNormalizer,exports.useNormalizedGapSize=f.useNormalizedGapSize,exports.normalizeMenuItem=t.normalizeMenuItem,exports.useNormalizedMenuItems=t.useNormalizedMenuItems,exports.useNormalizedDataOptions=b.useNormalizedDataOptions,exports.useOptionFilter=S.useOptionFilter,exports.useRemoteFilter=v.useRemoteFilter,exports.useShallowCallback=z.useShallowCallback,exports.useShallowMemo=C.useShallowMemo,exports.useShallowSelector=q.useShallowSelector,exports.useSingleton=D.useSingleton,exports.useThemeTokens=O.useThemeTokens,exports.useTransientStore=k.useTransientStore,exports.useWindowSize=y.useWindowSize,Object.defineProperty(exports,"useClickAway",{enumerable:!0,get:function(){return s.useClickAway}}),Object.defineProperty(exports,"useMeasure",{enumerable:!0,get:function(){return s.useMeasure}}),Object.defineProperty(exports,"useDeepEffect",{enumerable:!0,get:function(){return e.useDeepCompareEffect}}),Object.defineProperty(exports,"useDeepLayoutEffect",{enumerable:!0,get:function(){return e.useDeepCompareLayoutEffect}}),Object.defineProperty(exports,"useElementSize",{enumerable:!0,get:function(){return e.useSize}}),Object.defineProperty(exports,"useEventListener",{enumerable:!0,get:function(){return e.useEventListener}}),Object.defineProperty(exports,"useKeyPress",{enumerable:!0,get:function(){return e.useKeyPress}}),Object.defineProperty(exports,"useMount",{enumerable:!0,get:function(){return e.useMount}}),Object.defineProperty(exports,"useUnmount",{enumerable:!0,get:function(){return e.useUnmount}}),Object.defineProperty(exports,"useUpdateEffect",{enumerable:!0,get:function(){return e.useUpdateEffect}}),Object.defineProperty(exports,"useUpdateLayoutEffect",{enumerable:!0,get:function(){return e.useUpdateLayoutEffect}}),Object.defineProperty(exports,"useUpdater",{enumerable:!0,get:function(){return e.useUpdate}});
|
package/cjs/lib.cjs
CHANGED
|
@@ -1,56 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var usehooks = require('@uidotdev/usehooks');
|
|
5
|
-
var ahooks = require('ahooks');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
|
|
9
|
-
Object.defineProperty(exports, "useClickAway", {
|
|
10
|
-
enumerable: true,
|
|
11
|
-
get: function () { return usehooks.useClickAway; }
|
|
12
|
-
});
|
|
13
|
-
Object.defineProperty(exports, "useMeasure", {
|
|
14
|
-
enumerable: true,
|
|
15
|
-
get: function () { return usehooks.useMeasure; }
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(exports, "useDeepEffect", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function () { return ahooks.useDeepCompareEffect; }
|
|
20
|
-
});
|
|
21
|
-
Object.defineProperty(exports, "useDeepLayoutEffect", {
|
|
22
|
-
enumerable: true,
|
|
23
|
-
get: function () { return ahooks.useDeepCompareLayoutEffect; }
|
|
24
|
-
});
|
|
25
|
-
Object.defineProperty(exports, "useElementSize", {
|
|
26
|
-
enumerable: true,
|
|
27
|
-
get: function () { return ahooks.useSize; }
|
|
28
|
-
});
|
|
29
|
-
Object.defineProperty(exports, "useEventListener", {
|
|
30
|
-
enumerable: true,
|
|
31
|
-
get: function () { return ahooks.useEventListener; }
|
|
32
|
-
});
|
|
33
|
-
Object.defineProperty(exports, "useKeyPress", {
|
|
34
|
-
enumerable: true,
|
|
35
|
-
get: function () { return ahooks.useKeyPress; }
|
|
36
|
-
});
|
|
37
|
-
Object.defineProperty(exports, "useMount", {
|
|
38
|
-
enumerable: true,
|
|
39
|
-
get: function () { return ahooks.useMount; }
|
|
40
|
-
});
|
|
41
|
-
Object.defineProperty(exports, "useUnmount", {
|
|
42
|
-
enumerable: true,
|
|
43
|
-
get: function () { return ahooks.useUnmount; }
|
|
44
|
-
});
|
|
45
|
-
Object.defineProperty(exports, "useUpdateEffect", {
|
|
46
|
-
enumerable: true,
|
|
47
|
-
get: function () { return ahooks.useUpdateEffect; }
|
|
48
|
-
});
|
|
49
|
-
Object.defineProperty(exports, "useUpdateLayoutEffect", {
|
|
50
|
-
enumerable: true,
|
|
51
|
-
get: function () { return ahooks.useUpdateLayoutEffect; }
|
|
52
|
-
});
|
|
53
|
-
Object.defineProperty(exports, "useUpdater", {
|
|
54
|
-
enumerable: true,
|
|
55
|
-
get: function () { return ahooks.useUpdate; }
|
|
56
|
-
});
|
|
2
|
+
"use strict";var t=require("@uidotdev/usehooks"),e=require("ahooks");Object.defineProperty(exports,"useClickAway",{enumerable:!0,get:function(){return t.useClickAway}}),Object.defineProperty(exports,"useMeasure",{enumerable:!0,get:function(){return t.useMeasure}}),Object.defineProperty(exports,"useDeepEffect",{enumerable:!0,get:function(){return e.useDeepCompareEffect}}),Object.defineProperty(exports,"useDeepLayoutEffect",{enumerable:!0,get:function(){return e.useDeepCompareLayoutEffect}}),Object.defineProperty(exports,"useElementSize",{enumerable:!0,get:function(){return e.useSize}}),Object.defineProperty(exports,"useEventListener",{enumerable:!0,get:function(){return e.useEventListener}}),Object.defineProperty(exports,"useKeyPress",{enumerable:!0,get:function(){return e.useKeyPress}}),Object.defineProperty(exports,"useMount",{enumerable:!0,get:function(){return e.useMount}}),Object.defineProperty(exports,"useUnmount",{enumerable:!0,get:function(){return e.useUnmount}}),Object.defineProperty(exports,"useUpdateEffect",{enumerable:!0,get:function(){return e.useUpdateEffect}}),Object.defineProperty(exports,"useUpdateLayoutEffect",{enumerable:!0,get:function(){return e.useUpdateLayoutEffect}}),Object.defineProperty(exports,"useUpdater",{enumerable:!0,get:function(){return e.useUpdate}});
|
|
@@ -1,26 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var core = require('@vef-framework/core');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
function useAuthorizedItems(items) {
|
|
9
|
-
const { checkPermission } = core.useAuthContext();
|
|
10
|
-
return react.useMemo(
|
|
11
|
-
() => items?.filter((item) => {
|
|
12
|
-
const { permissions } = item;
|
|
13
|
-
if (!permissions) {
|
|
14
|
-
return true;
|
|
15
|
-
}
|
|
16
|
-
const checkMode = item.checkMode ?? "any";
|
|
17
|
-
if (checkMode === "any") {
|
|
18
|
-
return permissions.some((permission) => checkPermission(permission));
|
|
19
|
-
}
|
|
20
|
-
return permissions.every((permission) => checkPermission(permission));
|
|
21
|
-
}),
|
|
22
|
-
[items, checkPermission]
|
|
23
|
-
);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
exports.useAuthorizedItems = useAuthorizedItems;
|
|
2
|
+
"use strict";var i=require("@vef-framework/core"),o=require("react");function c(s){const{checkPermission:e}=i.useAuthContext();return o.useMemo(()=>s?.filter(u=>{const{permissions:r}=u;return r?(u.checkMode??"any")==="any"?r.some(t=>e(t)):r.every(t=>e(t)):!0}),[s,e])}exports.useAuthorizedItems=c;
|
package/cjs/use-color-tokens.cjs
CHANGED
|
@@ -1,34 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var shared = require('@vef-framework/shared');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
var useThemeTokens = require('./use-theme-tokens.cjs');
|
|
7
|
-
|
|
8
|
-
"use strict";
|
|
9
|
-
function useDefaultColorTokens() {
|
|
10
|
-
const tokens = useThemeTokens.useThemeTokens();
|
|
11
|
-
return react.useMemo(() => shared.defaultColorTypes.reduce(
|
|
12
|
-
(map, color) => {
|
|
13
|
-
map.set(color, tokens[color]);
|
|
14
|
-
return map;
|
|
15
|
-
},
|
|
16
|
-
/* @__PURE__ */ new Map()
|
|
17
|
-
), [tokens]);
|
|
18
|
-
}
|
|
19
|
-
function useSemanticColorTokens() {
|
|
20
|
-
const tokens = useThemeTokens.useThemeTokens();
|
|
21
|
-
return react.useMemo(() => shared.semanticColorTypes.reduce((map, color) => {
|
|
22
|
-
map.set(color, tokens[`color${shared.capitalize(color)}`]);
|
|
23
|
-
return map;
|
|
24
|
-
}, /* @__PURE__ */ new Map()), [tokens]);
|
|
25
|
-
}
|
|
26
|
-
function useColorTokens() {
|
|
27
|
-
const defaultColorTokens = useDefaultColorTokens();
|
|
28
|
-
const semanticColorTokens = useSemanticColorTokens();
|
|
29
|
-
return react.useMemo(() => new Map([...defaultColorTokens, ...semanticColorTokens]), [defaultColorTokens, semanticColorTokens]);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
exports.useColorTokens = useColorTokens;
|
|
33
|
-
exports.useDefaultColorTokens = useDefaultColorTokens;
|
|
34
|
-
exports.useSemanticColorTokens = useSemanticColorTokens;
|
|
2
|
+
"use strict";var r=require("@vef-framework/shared"),u=require("react"),n=require("./use-theme-tokens.cjs");function t(){const e=n.useThemeTokens();return u.useMemo(()=>r.defaultColorTypes.reduce((o,s)=>(o.set(s,e[s]),o),new Map),[e])}function a(){const e=n.useThemeTokens();return u.useMemo(()=>r.semanticColorTypes.reduce((o,s)=>(o.set(s,e[`color${r.capitalize(s)}`]),o),new Map),[e])}function c(){const e=t(),o=a();return u.useMemo(()=>new Map([...e,...o]),[e,o])}exports.useColorTokens=c,exports.useDefaultColorTokens=t,exports.useSemanticColorTokens=a;
|
|
@@ -1,45 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var shared = require('@vef-framework/shared');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
function useComputedActionButtons(buttons, context) {
|
|
9
|
-
return react.useMemo(() => buttons.filter((button) => {
|
|
10
|
-
const { show } = button;
|
|
11
|
-
if (shared.isFunction(show)) {
|
|
12
|
-
return show(context);
|
|
13
|
-
}
|
|
14
|
-
return show ?? true;
|
|
15
|
-
}).map((button) => {
|
|
16
|
-
const {
|
|
17
|
-
disabled,
|
|
18
|
-
requireConfirmation,
|
|
19
|
-
confirmationMode,
|
|
20
|
-
confirmationTitle,
|
|
21
|
-
confirmationContent,
|
|
22
|
-
...rest
|
|
23
|
-
} = button;
|
|
24
|
-
const computedButton = {
|
|
25
|
-
...rest,
|
|
26
|
-
disabled: shared.isFunction(disabled) ? disabled(context) : disabled ?? false,
|
|
27
|
-
requireConfirmation: shared.isFunction(requireConfirmation) ? requireConfirmation(context) : requireConfirmation ?? false,
|
|
28
|
-
confirmationMode: shared.isFunction(confirmationMode) ? confirmationMode(context) : confirmationMode ?? "simple",
|
|
29
|
-
confirmationTitle: shared.isFunction(confirmationTitle) ? confirmationTitle(context) : confirmationTitle ?? shared.defaultMessageTitle,
|
|
30
|
-
confirmationContent: shared.isFunction(confirmationContent) ? confirmationContent(context) : confirmationContent ?? `确定要${rest.label}吗?`
|
|
31
|
-
};
|
|
32
|
-
if (computedButton.requireConfirmation && !computedButton.confirmationMode) {
|
|
33
|
-
computedButton.confirmationMode = "simple";
|
|
34
|
-
}
|
|
35
|
-
if (computedButton.requireConfirmation && !computedButton.confirmationTitle) {
|
|
36
|
-
computedButton.confirmationTitle = shared.defaultMessageTitle;
|
|
37
|
-
}
|
|
38
|
-
if (computedButton.requireConfirmation && !computedButton.confirmationContent) {
|
|
39
|
-
computedButton.confirmationContent = `确定要${computedButton.label}吗?`;
|
|
40
|
-
}
|
|
41
|
-
return computedButton;
|
|
42
|
-
}), [buttons, context]);
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
exports.useComputedActionButtons = useComputedActionButtons;
|
|
2
|
+
"use strict";var i=require("@vef-framework/shared"),f=require("react");function l(c,o){return f.useMemo(()=>c.filter(e=>{const{show:t}=e;return i.isFunction(t)?t(o):t??!0}).map(e=>{const{disabled:t,requireConfirmation:r,confirmationMode:a,confirmationTitle:u,confirmationContent:s,...m}=e,n={...m,disabled:i.isFunction(t)?t(o):t??!1,requireConfirmation:i.isFunction(r)?r(o):r??!1,confirmationMode:i.isFunction(a)?a(o):a??"simple",confirmationTitle:i.isFunction(u)?u(o):u??i.defaultMessageTitle,confirmationContent:i.isFunction(s)?s(o):s??`确定要${m.label}吗?`};return n.requireConfirmation&&!n.confirmationMode&&(n.confirmationMode="simple"),n.requireConfirmation&&!n.confirmationTitle&&(n.confirmationTitle=i.defaultMessageTitle),n.requireConfirmation&&!n.confirmationContent&&(n.confirmationContent=`确定要${n.label}吗?`),n}),[c,o])}exports.useComputedActionButtons=l;
|
|
@@ -1,69 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var useDataQuery = require('./use-data-query.cjs');
|
|
5
|
-
var useFallbackOptions = require('./use-fallback-options.cjs');
|
|
6
|
-
var useNormalizedOptions = require('./use-normalized-options.cjs');
|
|
7
|
-
var useRemoteFilter = require('./use-remote-filter.cjs');
|
|
8
|
-
|
|
9
|
-
"use strict";
|
|
10
|
-
function useComputedOptions({
|
|
11
|
-
labelKey,
|
|
12
|
-
valueKey,
|
|
13
|
-
descriptionKey,
|
|
14
|
-
childrenKey,
|
|
15
|
-
disabledKey,
|
|
16
|
-
defaultToFirst,
|
|
17
|
-
filterable = false,
|
|
18
|
-
filterFromRemote = false,
|
|
19
|
-
keywordKey = "keyword",
|
|
20
|
-
valuesKey = "ids",
|
|
21
|
-
fallbackOptionsApi,
|
|
22
|
-
fallbackOptionsApiParams,
|
|
23
|
-
resolveFallbackOptions,
|
|
24
|
-
isGrouped = false,
|
|
25
|
-
selectedOptionValues,
|
|
26
|
-
apiParams,
|
|
27
|
-
...queryConfig
|
|
28
|
-
}) {
|
|
29
|
-
const [mergedApiParams, onFilterKeywordChange] = useRemoteFilter.useRemoteFilter(filterable && filterFromRemote, apiParams, keywordKey);
|
|
30
|
-
const { data: options, isLoading } = useDataQuery.useDataQuery({
|
|
31
|
-
apiParams: mergedApiParams,
|
|
32
|
-
...queryConfig
|
|
33
|
-
});
|
|
34
|
-
const [normalizedOptions, missingOptionValues, defaultOption] = useNormalizedOptions.useNormalizedDataOptions(
|
|
35
|
-
options ?? [],
|
|
36
|
-
{
|
|
37
|
-
labelKey,
|
|
38
|
-
valueKey,
|
|
39
|
-
descriptionKey,
|
|
40
|
-
childrenKey,
|
|
41
|
-
disabledKey,
|
|
42
|
-
defaultToFirst
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
isGrouped,
|
|
46
|
-
parsePinyin: filterable && !filterFromRemote,
|
|
47
|
-
selectedOptionValues
|
|
48
|
-
}
|
|
49
|
-
);
|
|
50
|
-
const { data: fallbackOptions, isLoading: isFallbackOptionsLoading } = useFallbackOptions.useFallbackOptions(
|
|
51
|
-
missingOptionValues,
|
|
52
|
-
{
|
|
53
|
-
fallbackOptionsApi: fallbackOptionsApi ?? queryConfig.api,
|
|
54
|
-
fallbackOptionsApiParams,
|
|
55
|
-
valuesKey,
|
|
56
|
-
resolveFallbackOptions
|
|
57
|
-
}
|
|
58
|
-
);
|
|
59
|
-
return {
|
|
60
|
-
onFilterKeywordChange,
|
|
61
|
-
isLoading,
|
|
62
|
-
normalizedOptions,
|
|
63
|
-
defaultOption,
|
|
64
|
-
fallbackOptions,
|
|
65
|
-
isFallbackOptionsLoading
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
exports.useComputedOptions = useComputedOptions;
|
|
2
|
+
"use strict";var L=require("./use-data-query.cjs"),h=require("./use-fallback-options.cjs"),w=require("./use-normalized-options.cjs"),z=require("./use-remote-filter.cjs");function C({labelKey:s,valueKey:l,descriptionKey:t,childrenKey:o,disabledKey:r,defaultToFirst:n,filterable:e=!1,filterFromRemote:a=!1,keywordKey:u="keyword",valuesKey:p="ids",fallbackOptionsApi:d,fallbackOptionsApiParams:c,resolveFallbackOptions:y,isGrouped:O=!1,selectedOptionValues:b,apiParams:K,...i}){const[k,m]=z.useRemoteFilter(e&&a,K,u),{data:f,isLoading:F}=L.useDataQuery({apiParams:k,...i}),[v,g,P]=w.useNormalizedDataOptions(f??[],{labelKey:s,valueKey:l,descriptionKey:t,childrenKey:o,disabledKey:r,defaultToFirst:n},{isGrouped:O,parsePinyin:e&&!a,selectedOptionValues:b}),{data:q,isLoading:A}=h.useFallbackOptions(g,{fallbackOptionsApi:d??i.api,fallbackOptionsApiParams:c,valuesKey:p,resolveFallbackOptions:y});return{onFilterKeywordChange:m,isLoading:F,normalizedOptions:v,defaultOption:P,fallbackOptions:q,isFallbackOptionsLoading:A}}exports.useComputedOptions=C;
|
|
@@ -1,14 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var react = require('react');
|
|
5
|
-
|
|
6
|
-
"use strict";
|
|
7
|
-
const DisabledContext = react.createContext(false);
|
|
8
|
-
function useContextDisabled() {
|
|
9
|
-
return react.useContext(DisabledContext);
|
|
10
|
-
}
|
|
11
|
-
const DisabledContextProvider = DisabledContext.Provider;
|
|
12
|
-
|
|
13
|
-
exports.DisabledContextProvider = DisabledContextProvider;
|
|
14
|
-
exports.useContextDisabled = useContextDisabled;
|
|
2
|
+
"use strict";var e=require("react");const t=e.createContext(!1);function r(){return e.useContext(t)}const s=t.Provider;exports.DisabledContextProvider=s,exports.useContextDisabled=r;
|
package/cjs/use-data-query.cjs
CHANGED
|
@@ -1,110 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var core = require('@vef-framework/core');
|
|
5
|
-
var shared = require('@vef-framework/shared');
|
|
6
|
-
var ahooks = require('ahooks');
|
|
7
|
-
var react = require('react');
|
|
8
|
-
|
|
9
|
-
"use strict";
|
|
10
|
-
function useApi({
|
|
11
|
-
data,
|
|
12
|
-
dataDictionaryKey,
|
|
13
|
-
api,
|
|
14
|
-
apiParams,
|
|
15
|
-
apiEnabled,
|
|
16
|
-
staleTime,
|
|
17
|
-
keepPreviousData,
|
|
18
|
-
placeholderData
|
|
19
|
-
}, stubQueryApi, dataDictionaryApi) {
|
|
20
|
-
return react.useMemo(() => {
|
|
21
|
-
if (!shared.isNullish(data)) {
|
|
22
|
-
return [
|
|
23
|
-
stubQueryApi,
|
|
24
|
-
data,
|
|
25
|
-
{
|
|
26
|
-
keepPreviousData: true,
|
|
27
|
-
initialData: data
|
|
28
|
-
}
|
|
29
|
-
];
|
|
30
|
-
}
|
|
31
|
-
if (!shared.isNullish(dataDictionaryKey)) {
|
|
32
|
-
return [
|
|
33
|
-
dataDictionaryApi,
|
|
34
|
-
{
|
|
35
|
-
...apiParams,
|
|
36
|
-
key: dataDictionaryKey
|
|
37
|
-
},
|
|
38
|
-
{
|
|
39
|
-
enabled: apiEnabled ?? true,
|
|
40
|
-
staleTime,
|
|
41
|
-
keepPreviousData,
|
|
42
|
-
placeholderData
|
|
43
|
-
}
|
|
44
|
-
];
|
|
45
|
-
}
|
|
46
|
-
if (!shared.isNullish(api)) {
|
|
47
|
-
return [
|
|
48
|
-
api,
|
|
49
|
-
apiParams,
|
|
50
|
-
{
|
|
51
|
-
enabled: apiEnabled ?? true,
|
|
52
|
-
staleTime,
|
|
53
|
-
keepPreviousData,
|
|
54
|
-
placeholderData
|
|
55
|
-
}
|
|
56
|
-
];
|
|
57
|
-
}
|
|
58
|
-
return [
|
|
59
|
-
stubQueryApi,
|
|
60
|
-
[],
|
|
61
|
-
{
|
|
62
|
-
keepPreviousData: true,
|
|
63
|
-
initialData: []
|
|
64
|
-
}
|
|
65
|
-
];
|
|
66
|
-
}, [
|
|
67
|
-
data,
|
|
68
|
-
dataDictionaryKey,
|
|
69
|
-
api,
|
|
70
|
-
stubQueryApi,
|
|
71
|
-
dataDictionaryApi,
|
|
72
|
-
apiParams,
|
|
73
|
-
apiEnabled,
|
|
74
|
-
staleTime,
|
|
75
|
-
keepPreviousData,
|
|
76
|
-
placeholderData
|
|
77
|
-
]);
|
|
78
|
-
}
|
|
79
|
-
function useDataQuery({ onFetched, ...config }) {
|
|
80
|
-
const {
|
|
81
|
-
useApiQuery,
|
|
82
|
-
stubQueryApi,
|
|
83
|
-
dataDictionaryApi: dataDictionaryQueryApi
|
|
84
|
-
} = core.useApiContext();
|
|
85
|
-
const [api, args, options] = useApi(config, stubQueryApi, dataDictionaryQueryApi);
|
|
86
|
-
const result = useApiQuery(api, args, options);
|
|
87
|
-
ahooks.useUnmount(() => {
|
|
88
|
-
if (Object.is(api, stubQueryApi)) {
|
|
89
|
-
stubQueryApi.removeQueries(args);
|
|
90
|
-
}
|
|
91
|
-
});
|
|
92
|
-
const {
|
|
93
|
-
isSuccess,
|
|
94
|
-
data: rawData,
|
|
95
|
-
...rest
|
|
96
|
-
} = result;
|
|
97
|
-
const data = react.useMemo(() => {
|
|
98
|
-
if (isSuccess && shared.isFunction(onFetched)) {
|
|
99
|
-
return onFetched(rawData);
|
|
100
|
-
}
|
|
101
|
-
return rawData;
|
|
102
|
-
}, [isSuccess, rawData, onFetched]);
|
|
103
|
-
return {
|
|
104
|
-
...rest,
|
|
105
|
-
isSuccess,
|
|
106
|
-
data
|
|
107
|
-
};
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
exports.useDataQuery = useDataQuery;
|
|
2
|
+
"use strict";var h=require("@vef-framework/core"),n=require("@vef-framework/shared"),m=require("ahooks"),D=require("react");function k({data:e,dataDictionaryKey:r,api:u,apiParams:a,apiEnabled:o,staleTime:i,keepPreviousData:t,placeholderData:c},l,s){return D.useMemo(()=>n.isNullish(e)?n.isNullish(r)?n.isNullish(u)?[l,[],{keepPreviousData:!0,initialData:[]}]:[u,a,{enabled:o??!0,staleTime:i,keepPreviousData:t,placeholderData:c}]:[s,{...a,key:r},{enabled:o??!0,staleTime:i,keepPreviousData:t,placeholderData:c}]:[l,e,{keepPreviousData:!0,initialData:e}],[e,r,u,l,s,a,o,i,t,c])}function y({onFetched:e,...r}){const{useApiQuery:u,stubQueryApi:a,dataDictionaryApi:o}=h.useApiContext(),[i,t,c]=k(r,a,o),l=u(i,t,c);m.useUnmount(()=>{Object.is(i,a)&&a.removeQueries(t)});const{isSuccess:s,data:p,...d}=l,v=D.useMemo(()=>s&&n.isFunction(e)?e(p):p,[s,p,e]);return{...d,isSuccess:s,data:v}}exports.useDataQuery=y;
|
|
@@ -1,13 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var react = require('react');
|
|
5
|
-
var useDeepMemo = require('./use-deep-memo.cjs');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
function useDeepCallback(callback, dependencies) {
|
|
9
|
-
const memoizedDependencies = useDeepMemo.useDeepMemo(() => dependencies, dependencies);
|
|
10
|
-
return react.useCallback(callback, memoizedDependencies);
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
exports.useDeepCallback = useDeepCallback;
|
|
2
|
+
"use strict";var s=require("react"),a=require("./use-deep-memo.cjs");function t(r,e){const u=a.useDeepMemo(()=>e,e);return s.useCallback(r,u)}exports.useDeepCallback=t;
|
package/cjs/use-deep-memo.cjs
CHANGED
|
@@ -1,21 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var shared = require('@vef-framework/shared');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
function useDeepMemo(factory, dependencies) {
|
|
9
|
-
const lastDependencies = react.useRef();
|
|
10
|
-
const signal = react.useRef(0);
|
|
11
|
-
if (lastDependencies.current === void 0 || !isEqual(dependencies, lastDependencies.current)) {
|
|
12
|
-
signal.current += 1;
|
|
13
|
-
}
|
|
14
|
-
lastDependencies.current = dependencies;
|
|
15
|
-
return react.useMemo(factory, [signal.current]);
|
|
16
|
-
}
|
|
17
|
-
function isEqual(one, another) {
|
|
18
|
-
return one.length === another.length && one.every((value, index) => shared.isDeepEqual(value, another[index]));
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
exports.useDeepMemo = useDeepMemo;
|
|
2
|
+
"use strict";var s=require("@vef-framework/shared"),n=require("react");function c(u,e){const r=n.useRef(),t=n.useRef(0);return(r.current===void 0||!i(e,r.current))&&(t.current+=1),r.current=e,n.useMemo(u,[t.current])}function i(u,e){return u.length===e.length&&u.every((r,t)=>s.isDeepEqual(r,e[t]))}exports.useDeepMemo=c;
|
|
@@ -1,16 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var shared = require('@vef-framework/shared');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
|
|
7
|
-
"use strict";
|
|
8
|
-
function useDeepSelector(selector) {
|
|
9
|
-
const prevSelectedState = react.useRef();
|
|
10
|
-
return (state) => {
|
|
11
|
-
const nextSelectedState = selector(state);
|
|
12
|
-
return shared.isDeepEqual(prevSelectedState.current, nextSelectedState) ? prevSelectedState.current : prevSelectedState.current = nextSelectedState;
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
exports.useDeepSelector = useDeepSelector;
|
|
2
|
+
"use strict";var c=require("@vef-framework/shared"),s=require("react");function n(t){const e=s.useRef();return u=>{const r=t(u);return c.isDeepEqual(e.current,r)?e.current:e.current=r}}exports.useDeepSelector=n;
|
|
@@ -1,105 +1,2 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
var core = require('@vef-framework/core');
|
|
5
|
-
var shared = require('@vef-framework/shared');
|
|
6
|
-
var ahooks = require('ahooks');
|
|
7
|
-
var react = require('react');
|
|
8
|
-
var useShallowMemo = require('./use-shallow-memo.cjs');
|
|
9
|
-
|
|
10
|
-
"use strict";
|
|
11
|
-
function useApi(missingOptionValues, {
|
|
12
|
-
fallbackOptionsApi,
|
|
13
|
-
fallbackOptionsApiParams,
|
|
14
|
-
valuesKey,
|
|
15
|
-
resolveFallbackOptions
|
|
16
|
-
}, stubQueryApi, asyncFnQueryApi) {
|
|
17
|
-
const uniqueId = react.useId();
|
|
18
|
-
return useShallowMemo.useShallowMemo(() => {
|
|
19
|
-
if (missingOptionValues.length > 0) {
|
|
20
|
-
if (shared.isFunction(resolveFallbackOptions)) {
|
|
21
|
-
const params = {
|
|
22
|
-
key: uniqueId,
|
|
23
|
-
args: [missingOptionValues],
|
|
24
|
-
fn: resolveFallbackOptions
|
|
25
|
-
};
|
|
26
|
-
return [
|
|
27
|
-
asyncFnQueryApi,
|
|
28
|
-
params,
|
|
29
|
-
{
|
|
30
|
-
keepPreviousData: true
|
|
31
|
-
}
|
|
32
|
-
];
|
|
33
|
-
}
|
|
34
|
-
if (fallbackOptionsApi) {
|
|
35
|
-
const params = {
|
|
36
|
-
...fallbackOptionsApiParams,
|
|
37
|
-
[valuesKey ?? "ids"]: missingOptionValues
|
|
38
|
-
};
|
|
39
|
-
return [
|
|
40
|
-
fallbackOptionsApi,
|
|
41
|
-
params,
|
|
42
|
-
{
|
|
43
|
-
keepPreviousData: true
|
|
44
|
-
}
|
|
45
|
-
];
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return [
|
|
49
|
-
stubQueryApi,
|
|
50
|
-
[],
|
|
51
|
-
{
|
|
52
|
-
keepPreviousData: true,
|
|
53
|
-
initialData: []
|
|
54
|
-
}
|
|
55
|
-
];
|
|
56
|
-
}, [
|
|
57
|
-
resolveFallbackOptions,
|
|
58
|
-
fallbackOptionsApi,
|
|
59
|
-
stubQueryApi,
|
|
60
|
-
uniqueId,
|
|
61
|
-
missingOptionValues,
|
|
62
|
-
asyncFnQueryApi,
|
|
63
|
-
fallbackOptionsApiParams,
|
|
64
|
-
valuesKey
|
|
65
|
-
]);
|
|
66
|
-
}
|
|
67
|
-
function useFallbackOptions(missingOptionValues, {
|
|
68
|
-
fallbackOptionsApi,
|
|
69
|
-
fallbackOptionsApiParams,
|
|
70
|
-
valuesKey,
|
|
71
|
-
resolveFallbackOptions
|
|
72
|
-
}) {
|
|
73
|
-
const {
|
|
74
|
-
useApiQuery,
|
|
75
|
-
stubQueryApi,
|
|
76
|
-
asyncFnQueryApi
|
|
77
|
-
} = core.useApiContext();
|
|
78
|
-
const [
|
|
79
|
-
api,
|
|
80
|
-
params,
|
|
81
|
-
options
|
|
82
|
-
] = useApi(
|
|
83
|
-
missingOptionValues,
|
|
84
|
-
{
|
|
85
|
-
fallbackOptionsApi,
|
|
86
|
-
fallbackOptionsApiParams,
|
|
87
|
-
valuesKey,
|
|
88
|
-
resolveFallbackOptions
|
|
89
|
-
},
|
|
90
|
-
stubQueryApi,
|
|
91
|
-
asyncFnQueryApi
|
|
92
|
-
);
|
|
93
|
-
const result = useApiQuery(api, params, options);
|
|
94
|
-
ahooks.useUnmount(() => {
|
|
95
|
-
if (Object.is(api, stubQueryApi)) {
|
|
96
|
-
stubQueryApi.removeQueries(params);
|
|
97
|
-
}
|
|
98
|
-
if (Object.is(api, asyncFnQueryApi)) {
|
|
99
|
-
asyncFnQueryApi.removeQueries(params);
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
return result;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
exports.useFallbackOptions = useFallbackOptions;
|
|
2
|
+
"use strict";var k=require("@vef-framework/core"),v=require("@vef-framework/shared"),b=require("ahooks"),O=require("react"),f=require("./use-shallow-memo.cjs");function A(e,{fallbackOptionsApi:s,fallbackOptionsApiParams:u,valuesKey:l,resolveFallbackOptions:i},o,a){const r=O.useId();return f.useShallowMemo(()=>{if(e.length>0){if(v.isFunction(i))return[a,{key:r,args:[e],fn:i},{keepPreviousData:!0}];if(s){const t={...u,[l??"ids"]:e};return[s,t,{keepPreviousData:!0}]}}return[o,[],{keepPreviousData:!0,initialData:[]}]},[i,s,o,r,e,a,u,l])}function m(e,{fallbackOptionsApi:s,fallbackOptionsApiParams:u,valuesKey:l,resolveFallbackOptions:i}){const{useApiQuery:o,stubQueryApi:a,asyncFnQueryApi:r}=k.useApiContext(),[t,n,c]=A(e,{fallbackOptionsApi:s,fallbackOptionsApiParams:u,valuesKey:l,resolveFallbackOptions:i},a,r),p=o(t,n,c);return b.useUnmount(()=>{Object.is(t,a)&&a.removeQueries(n),Object.is(t,r)&&r.removeQueries(n)}),p}exports.useFallbackOptions=m;
|