@kaspernj/api-maker 1.0.2021 → 1.0.2023
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/build/config.js +13 -2
- package/build/use-breakpoint.js +25 -17
- package/build/use-can-can.js +2 -2
- package/build/use-event-emitter.js +10 -3
- package/build/use-input.js +2 -2
- package/build/use-styles.js +2 -2
- package/package.json +1 -1
- package/src/config.js +17 -2
- package/src/use-breakpoint.js +26 -15
- package/src/use-can-can.js +1 -1
- package/src/use-event-emitter.js +8 -2
- package/src/use-input.js +3 -1
- package/src/use-styles.js +1 -1
package/build/config.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import EventEmitter from "events";
|
|
1
2
|
import * as inflection from "inflection";
|
|
2
3
|
const accessors = {
|
|
3
|
-
|
|
4
|
+
breakpoints: {
|
|
4
5
|
default: [["xxl", 1400], ["xl", 1200], ["lg", 992], ["md", 768], ["sm", 576], ["xs", 0]],
|
|
5
6
|
required: true
|
|
6
7
|
},
|
|
@@ -39,13 +40,23 @@ class ApiMakerConfig {
|
|
|
39
40
|
constructor() {
|
|
40
41
|
if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {};
|
|
41
42
|
this.global = globalThis.apiMakerConfigGlobal;
|
|
43
|
+
this.events = new EventEmitter();
|
|
44
|
+
this.events.setMaxListeners(Infinity);
|
|
42
45
|
}
|
|
46
|
+
getEvents = () => this.events;
|
|
43
47
|
}
|
|
44
48
|
for (const accessorName in accessors) {
|
|
45
49
|
const accessorData = accessors[accessorName];
|
|
46
50
|
const camelizedAccessor = inflection.camelize(accessorName);
|
|
47
51
|
ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) {
|
|
52
|
+
const oldValue = this.global[accessorName];
|
|
48
53
|
this.global[accessorName] = newValue;
|
|
54
|
+
if (oldValue !== newValue) {
|
|
55
|
+
this.events.emit(`on${camelizedAccessor}Change`, {
|
|
56
|
+
oldValue,
|
|
57
|
+
newValue
|
|
58
|
+
});
|
|
59
|
+
}
|
|
49
60
|
};
|
|
50
61
|
ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {
|
|
51
62
|
if (!this.global[accessorName]) {
|
|
@@ -59,4 +70,4 @@ for (const accessorName in accessors) {
|
|
|
59
70
|
}
|
|
60
71
|
const apiMakerConfig = new ApiMakerConfig();
|
|
61
72
|
export default apiMakerConfig;
|
|
62
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFdmVudEVtaXR0ZXIiLCJpbmZsZWN0aW9uIiwiYWNjZXNzb3JzIiwiYnJlYWtwb2ludHMiLCJkZWZhdWx0IiwicmVxdWlyZWQiLCJjYWJsZVVybCIsInJlcXVpcmUiLCJjdXJyZW5jaWVzQ29sbGVjdGlvbiIsImhpc3RvcnkiLCJob3N0IiwiaTE4biIsImxpbmtUbyIsIm1vZGFsIiwibmF2aWdhdGlvbiIsInJvdXRlcyIsInJvdXRlRGVmaW5pdGlvbnMiLCJBcGlNYWtlckNvbmZpZyIsImNvbnN0cnVjdG9yIiwiZ2xvYmFsVGhpcyIsImFwaU1ha2VyQ29uZmlnR2xvYmFsIiwiZ2xvYmFsIiwiZXZlbnRzIiwic2V0TWF4TGlzdGVuZXJzIiwiSW5maW5pdHkiLCJnZXRFdmVudHMiLCJhY2Nlc3Nvck5hbWUiLCJhY2Nlc3NvckRhdGEiLCJjYW1lbGl6ZWRBY2Nlc3NvciIsImNhbWVsaXplIiwicHJvdG90eXBlIiwibmV3VmFsdWUiLCJvbGRWYWx1ZSIsImVtaXQiLCJhcmdzIiwiRXJyb3IiLCJ2YWx1ZSIsImFwaU1ha2VyQ29uZmlnIl0sInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgRXZlbnRFbWl0dGVyIGZyb20gXCJldmVudHNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5cbmNvbnN0IGFjY2Vzc29ycyA9IHtcbiAgYnJlYWtwb2ludHM6IHtcbiAgICBkZWZhdWx0OiBbXG4gICAgICBbXCJ4eGxcIiwgMTQwMF0sXG4gICAgICBbXCJ4bFwiLCAxMjAwXSxcbiAgICAgIFtcImxnXCIsIDk5Ml0sXG4gICAgICBbXCJtZFwiLCA3NjhdLFxuICAgICAgW1wic21cIiwgNTc2XSxcbiAgICAgIFtcInhzXCIsIDBdXG4gICAgXSxcbiAgICByZXF1aXJlZDogdHJ1ZVxuICB9LFxuICBjYWJsZVVybDoge3JlcXVpcmU6IGZhbHNlfSxcbiAgY3VycmVuY2llc0NvbGxlY3Rpb246IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIGhpc3Rvcnk6IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIGhvc3Q6IHtyZXF1aXJlZDogZmFsc2V9LFxuICBpMThuOiB7cmVxdWlyZWQ6IGZhbHNlfSxcbiAgbGlua1RvOiB7cmVxdWlyZWQ6IHRydWV9LFxuICBtb2RhbDoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIG5hdmlnYXRpb246IHtyZXF1aXJlZDogdHJ1ZX0sXG4gIHJvdXRlczoge3JlcXVpcmVkOiBmYWxzZX0sXG4gIHJvdXRlRGVmaW5pdGlvbnM6IHtyZXF1aXJlZDogZmFsc2V9XG59XG5cbmNsYXNzIEFwaU1ha2VyQ29uZmlnIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgaWYgKCFnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsKSBnbG9iYWxUaGlzLmFwaU1ha2VyQ29uZmlnR2xvYmFsID0ge31cblxuICAgIHRoaXMuZ2xvYmFsID0gZ2xvYmFsVGhpcy5hcGlNYWtlckNvbmZpZ0dsb2JhbFxuXG4gICAgdGhpcy5ldmVudHMgPSBuZXcgRXZlbnRFbWl0dGVyKClcbiAgICB0aGlzLmV2ZW50cy5zZXRNYXhMaXN0ZW5lcnMoSW5maW5pdHkpXG4gIH1cblxuICBnZXRFdmVudHMgPSAoKSA9PiB0aGlzLmV2ZW50c1xufVxuXG5mb3IgKGNvbnN0IGFjY2Vzc29yTmFtZSBpbiBhY2Nlc3NvcnMpIHtcbiAgY29uc3QgYWNjZXNzb3JEYXRhID0gYWNjZXNzb3JzW2FjY2Vzc29yTmFtZV1cbiAgY29uc3QgY2FtZWxpemVkQWNjZXNzb3IgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGFjY2Vzc29yTmFtZSlcblxuICBBcGlNYWtlckNvbmZpZy5wcm90b3R5cGVbYHNldCR7Y2FtZWxpemVkQWNjZXNzb3J9YF0gPSBmdW5jdGlvbiAobmV3VmFsdWUpIHtcbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV1cblxuICAgIHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV0gPSBuZXdWYWx1ZVxuXG4gICAgaWYgKG9sZFZhbHVlICE9PSBuZXdWYWx1ZSkge1xuICAgICAgdGhpcy5ldmVudHMuZW1pdChgb24ke2NhbWVsaXplZEFjY2Vzc29yfUNoYW5nZWAsIHtvbGRWYWx1ZSwgbmV3VmFsdWV9KVxuICAgIH1cbiAgfVxuXG4gIEFwaU1ha2VyQ29uZmlnLnByb3RvdHlwZVtgZ2V0JHtjYW1lbGl6ZWRBY2Nlc3Nvcn1gXSA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG4gICAgaWYgKCF0aGlzLmdsb2JhbFthY2Nlc3Nvck5hbWVdKSB7XG4gICAgICBpZiAoYWNjZXNzb3JEYXRhLmRlZmF1bHQpIHJldHVybiBhY2Nlc3NvckRhdGEuZGVmYXVsdFxuICAgICAgaWYgKGFjY2Vzc29yRGF0YS5yZXF1aXJlZCkgdGhyb3cgbmV3IEVycm9yKGAke2FjY2Vzc29yTmFtZX0gaGFzbid0IGJlZW4gc2V0YClcbiAgICB9XG5cbiAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZ2xvYmFsW2FjY2Vzc29yTmFtZV1cblxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gdmFsdWUoLi4uYXJncylcblxuICAgIHJldHVybiB2YWx1ZVxuICB9XG59XG5cbmNvbnN0IGFwaU1ha2VyQ29uZmlnID0gbmV3IEFwaU1ha2VyQ29uZmlnKClcblxuZXhwb3J0IGRlZmF1bHQgYXBpTWFrZXJDb25maWdcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsWUFBWSxNQUFNLFFBQVE7QUFDakMsT0FBTyxLQUFLQyxVQUFVLE1BQU0sWUFBWTtBQUV4QyxNQUFNQyxTQUFTLEdBQUc7RUFDaEJDLFdBQVcsRUFBRTtJQUNYQyxPQUFPLEVBQUUsQ0FDUCxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFDYixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFDWixDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFDWCxDQUFDLElBQUksRUFBRSxHQUFHLENBQUMsRUFDWCxD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
|
package/build/use-breakpoint.js
CHANGED
|
@@ -1,19 +1,21 @@
|
|
|
1
|
-
import { useCallback
|
|
1
|
+
import { useCallback } from "react";
|
|
2
2
|
import config from "./config";
|
|
3
3
|
import { Dimensions } from "react-native";
|
|
4
4
|
import * as inflection from "inflection";
|
|
5
5
|
import isExpo from "./is-expo";
|
|
6
|
+
import useEventEmitter from "./use-event-emitter";
|
|
7
|
+
import useEventListener from "./use-event-listener";
|
|
6
8
|
import useShape from "set-state-compare/src/use-shape";
|
|
7
|
-
const calculateBreakPoint =
|
|
9
|
+
const calculateBreakPoint = breakpoints => {
|
|
8
10
|
let windowWidth;
|
|
9
11
|
if (isExpo) {
|
|
10
|
-
windowWidth =
|
|
12
|
+
windowWidth = Dimensions.get("window").width;
|
|
11
13
|
} else {
|
|
12
14
|
// Use 'window.innerWidth' outside Expo because sometimes window width excludes scroll
|
|
13
15
|
windowWidth = window.innerWidth;
|
|
14
16
|
}
|
|
15
17
|
const result = {};
|
|
16
|
-
for (const breakpointData of
|
|
18
|
+
for (const breakpointData of breakpoints) {
|
|
17
19
|
const breakpoint = breakpointData[0];
|
|
18
20
|
const width = breakpointData[1];
|
|
19
21
|
if (!result.name && windowWidth >= width) {
|
|
@@ -30,24 +32,32 @@ const calculateBreakPoint = windowObject => {
|
|
|
30
32
|
throw new Error(`Couldn't not find breakpoint from window width: ${windowWidth}`);
|
|
31
33
|
};
|
|
32
34
|
const sizeTypes = ["down", "up"];
|
|
33
|
-
const useBreakpoint = () => {
|
|
34
|
-
const s = useShape();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
const breakpoint = calculateBreakPoint(windowObject);
|
|
35
|
+
const useBreakpoint = (args = {}) => {
|
|
36
|
+
const s = useShape(args);
|
|
37
|
+
s.meta.breakpoints ||= config.getBreakpoints();
|
|
38
|
+
const checkAndUpdateBreakpoint = useCallback(() => {
|
|
39
|
+
const breakpoint = calculateBreakPoint(s.m.breakpoints);
|
|
39
40
|
if (breakpoint.name != s.s.breakpoint.name) {
|
|
40
41
|
s.set({
|
|
41
42
|
breakpoint
|
|
42
43
|
});
|
|
43
44
|
}
|
|
44
45
|
}, []);
|
|
46
|
+
const onDimensionsChange = useCallback(() => {
|
|
47
|
+
checkAndUpdateBreakpoint();
|
|
48
|
+
}, []);
|
|
49
|
+
const onBreakpointsChange = useCallback(({
|
|
50
|
+
newValue
|
|
51
|
+
}) => {
|
|
52
|
+
s.meta.breakpoints = newValue;
|
|
53
|
+
checkAndUpdateBreakpoint();
|
|
54
|
+
}, []);
|
|
45
55
|
s.useStates({
|
|
46
|
-
breakpoint: () => calculateBreakPoint(
|
|
56
|
+
breakpoint: () => calculateBreakPoint(s.m.breakpoints)
|
|
47
57
|
});
|
|
48
58
|
const styling = useCallback(args => {
|
|
49
59
|
const style = Object.assign({}, args.base);
|
|
50
|
-
for (const breakpointData of
|
|
60
|
+
for (const breakpointData of s.m.breakpoints) {
|
|
51
61
|
const breakpoint = breakpointData[0];
|
|
52
62
|
for (const sizeType of sizeTypes) {
|
|
53
63
|
const breakpointWithSizeType = `${breakpoint}${inflection.camelize(sizeType)}`;
|
|
@@ -58,14 +68,12 @@ const useBreakpoint = () => {
|
|
|
58
68
|
}
|
|
59
69
|
return style;
|
|
60
70
|
}, []);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
return () => subscription?.remove();
|
|
64
|
-
});
|
|
71
|
+
useEventEmitter(config.getEvents(), "onBreakpointsChange", onBreakpointsChange);
|
|
72
|
+
useEventListener(Dimensions, "change", onDimensionsChange);
|
|
65
73
|
return {
|
|
66
74
|
styling,
|
|
67
75
|
...s.s.breakpoint
|
|
68
76
|
};
|
|
69
77
|
};
|
|
70
78
|
export default useBreakpoint;
|
|
71
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsImNvbmZpZyIsIkRpbWVuc2lvbnMiLCJpbmZsZWN0aW9uIiwiaXNFeHBvIiwidXNlRXZlbnRFbWl0dGVyIiwidXNlRXZlbnRMaXN0ZW5lciIsInVzZVNoYXBlIiwiY2FsY3VsYXRlQnJlYWtQb2ludCIsImJyZWFrcG9pbnRzIiwid2luZG93V2lkdGgiLCJnZXQiLCJ3aWR0aCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJyZXN1bHQiLCJicmVha3BvaW50RGF0YSIsImJyZWFrcG9pbnQiLCJuYW1lIiwiQm9vbGVhbiIsIkVycm9yIiwic2l6ZVR5cGVzIiwidXNlQnJlYWtwb2ludCIsImFyZ3MiLCJzIiwibWV0YSIsImdldEJyZWFrcG9pbnRzIiwiY2hlY2tBbmRVcGRhdGVCcmVha3BvaW50IiwibSIsInNldCIsIm9uRGltZW5zaW9uc0NoYW5nZSIsIm9uQnJlYWtwb2ludHNDaGFuZ2UiLCJuZXdWYWx1ZSIsInVzZVN0YXRlcyIsInN0eWxpbmciLCJzdHlsZSIsIk9iamVjdCIsImFzc2lnbiIsImJhc2UiLCJzaXplVHlwZSIsImJyZWFrcG9pbnRXaXRoU2l6ZVR5cGUiLCJjYW1lbGl6ZSIsImdldEV2ZW50cyJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtYnJlYWtwb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUNhbGxiYWNrfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWdcIlxuaW1wb3J0IHtEaW1lbnNpb25zfSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IGlzRXhwbyBmcm9tIFwiLi9pcy1leHBvXCJcbmltcG9ydCB1c2VFdmVudEVtaXR0ZXIgZnJvbSBcIi4vdXNlLWV2ZW50LWVtaXR0ZXJcIlxuaW1wb3J0IHVzZUV2ZW50TGlzdGVuZXIgZnJvbSBcIi4vdXNlLWV2ZW50LWxpc3RlbmVyXCJcbmltcG9ydCB1c2VTaGFwZSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvc3JjL3VzZS1zaGFwZVwiXG5cbmNvbnN0IGNhbGN1bGF0ZUJyZWFrUG9pbnQgPSAoYnJlYWtwb2ludHMpID0+IHtcbiAgbGV0IHdpbmRvd1dpZHRoXG5cbiAgaWYgKGlzRXhwbykge1xuICAgIHdpbmRvd1dpZHRoID0gRGltZW5zaW9ucy5nZXQoXCJ3aW5kb3dcIikud2lkdGhcbiAgfSBlbHNlIHtcbiAgICAvLyBVc2UgJ3dpbmRvdy5pbm5lcldpZHRoJyBvdXRzaWRlIEV4cG8gYmVjYXVzZSBzb21ldGltZXMgd2luZG93IHdpZHRoIGV4Y2x1ZGVzIHNjcm9sbFxuICAgIHdpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGhcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHt9XG5cbiAgZm9yIChjb25zdCBicmVha3BvaW50RGF0YSBvZiBicmVha3BvaW50cykge1xuICAgIGNvbnN0IGJyZWFrcG9pbnQgPSBicmVha3BvaW50RGF0YVswXVxuICAgIGNvbnN0IHdpZHRoID0gYnJlYWtwb2ludERhdGFbMV1cblxuICAgIGlmICghcmVzdWx0Lm5hbWUgJiYgd2luZG93V2lkdGggPj0gd2lkdGgpIHtcbiAgICAgIHJlc3VsdC5uYW1lID0gYnJlYWtwb2ludFxuICAgICAgcmVzdWx0W2Ake2JyZWFrcG9pbnR9RG93bmBdID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICByZXN1bHRbYCR7YnJlYWtwb2ludH1Eb3duYF0gPSAhcmVzdWx0Lm5hbWVcbiAgICB9XG5cbiAgICByZXN1bHRbYCR7YnJlYWtwb2ludH1VcGBdID0gQm9vbGVhbihyZXN1bHQubmFtZSlcbiAgfVxuXG4gIGlmIChyZXN1bHQubmFtZSkge1xuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgQ291bGRuJ3Qgbm90IGZpbmQgYnJlYWtwb2ludCBmcm9tIHdpbmRvdyB3aWR0aDogJHt3aW5kb3dXaWR0aH1gKVxufVxuXG5jb25zdCBzaXplVHlwZXMgPSBbXCJkb3duXCIsIFwidXBcIl1cblxuY29uc3QgdXNlQnJlYWtwb2ludCA9IChhcmdzID0ge30pID0+IHtcbiAgY29uc3QgcyA9IHVzZVNoYXBlKGFyZ3MpXG5cbiAgcy5tZXRhLmJyZWFrcG9pbnRzIHx8PSBjb25maWcuZ2V0QnJlYWtwb2ludHMoKVxuXG4gIGNvbnN0IGNoZWNrQW5kVXBkYXRlQnJlYWtwb2ludCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBicmVha3BvaW50ID0gY2FsY3VsYXRlQnJlYWtQb2ludChzLm0uYnJlYWtwb2ludHMpXG5cbiAgICBpZiAoYnJlYWtwb2ludC5uYW1lICE9IHMucy5icmVha3BvaW50Lm5hbWUpIHtcbiAgICAgIHMuc2V0KHticmVha3BvaW50fSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uRGltZW5zaW9uc0NoYW5nZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjaGVja0FuZFVwZGF0ZUJyZWFrcG9pbnQoKVxuICB9LCBbXSlcblxuICBjb25zdCBvbkJyZWFrcG9pbnRzQ2hhbmdlID0gdXNlQ2FsbGJhY2soKHtuZXdWYWx1ZX0pID0+IHtcbiAgICBzLm1ldGEuYnJlYWtwb2ludHMgPSBuZXdWYWx1ZVxuICAgIGNoZWNrQW5kVXBkYXRlQnJlYWtwb2ludCgpXG4gIH0sIFtdKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBicmVha3BvaW50OiAoKSA9PiBjYWxjdWxhdGVCcmVha1BvaW50KHMubS5icmVha3BvaW50cylcbiAgfSlcblxuICBjb25zdCBzdHlsaW5nID0gdXNlQ2FsbGJhY2soKGFyZ3MpID0+IHtcbiAgICBjb25zdCBzdHlsZSA9IE9iamVjdC5hc3NpZ24oe30sIGFyZ3MuYmFzZSlcblxuICAgIGZvciAoY29uc3QgYnJlYWtwb2ludERhdGEgb2Ygcy5tLmJyZWFrcG9pbnRzKSB7XG4gICAgICBjb25zdCBicmVha3BvaW50ID0gYnJlYWtwb2ludERhdGFbMF1cblxuICAgICAgZm9yIChjb25zdCBzaXplVHlwZSBvZiBzaXplVHlwZXMpIHtcbiAgICAgICAgY29uc3QgYnJlYWtwb2ludFdpdGhTaXplVHlwZSA9IGAke2JyZWFrcG9pbnR9JHtpbmZsZWN0aW9uLmNhbWVsaXplKHNpemVUeXBlKX1gXG5cbiAgICAgICAgaWYgKGFyZ3NbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0gJiYgcy5zLmJyZWFrcG9pbnRbYnJlYWtwb2ludFdpdGhTaXplVHlwZV0pIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHN0eWxlLCBhcmdzW2JyZWFrcG9pbnRXaXRoU2l6ZVR5cGVdKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0eWxlXG4gIH0sIFtdKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihjb25maWcuZ2V0RXZlbnRzKCksIFwib25CcmVha3BvaW50c0NoYW5nZVwiLCBvbkJyZWFrcG9pbnRzQ2hhbmdlKVxuICB1c2VFdmVudExpc3RlbmVyKERpbWVuc2lvbnMsIFwiY2hhbmdlXCIsIG9uRGltZW5zaW9uc0NoYW5nZSlcblxuICByZXR1cm4ge1xuICAgIHN0eWxpbmcsXG4gICAgLi4ucy5zLmJyZWFrcG9pbnRcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VCcmVha3BvaW50XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLFdBQVcsUUFBTyxPQUFPO0FBQ2pDLE9BQU9DLE1BQU0sTUFBTSxVQUFVO0FBQzdCLFNBQVFDLFVBQVUsUUFBTyxjQUFjO0FBQ3ZDLE9BQU8sS0FBS0MsVUFBVSxNQUFNLFlBQVk7QUFDeEMsT0FBT0MsTUFBTSxNQUFNLFdBQVc7QUFDOUIsT0FBT0MsZUFBZSxNQUFNLHFCQUFxQjtBQUNqRCxPQUFPQyxnQkFBZ0IsTUFBTSxzQkFBc0I7QUFDbkQsT0FBT0MsUUFBUSxNQUFNLGlDQUFpQztBQUV0RCxNQUFNQyxtQkFBbUIsR0FBSUMsV0FBVyxJQUFLO0VBQzNDLElBQUlDLFdBQVc7RUFFZixJQUFJTixNQUFNLEVBQUU7SUFDVk0sV0FBVyxHQUFHUixV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
|
package/build/use-can-can.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import CanCan from "./can-can";
|
|
2
|
-
import { useCallback, useMemo
|
|
2
|
+
import { useCallback, useMemo } from "react";
|
|
3
3
|
import useCurrentUser from "./use-current-user";
|
|
4
4
|
import useEventEmitter from "./use-event-emitter";
|
|
5
5
|
import useShape from "set-state-compare/src/use-shape";
|
|
@@ -52,4 +52,4 @@ const useCanCan = (abilitiesCallback, dependencies) => {
|
|
|
52
52
|
return s.s.canCan;
|
|
53
53
|
};
|
|
54
54
|
export default useCanCan;
|
|
55
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDYW5DYW4iLCJ1c2VDYWxsYmFjayIsInVzZU1lbW8iLCJ1c2VDdXJyZW50VXNlciIsInVzZUV2ZW50RW1pdHRlciIsInVzZVNoYXBlIiwidXNlQ2FuQ2FuIiwiYWJpbGl0aWVzQ2FsbGJhY2siLCJkZXBlbmRlbmNpZXMiLCJjdXJyZW50VXNlciIsInMiLCJ1c2VTdGF0ZXMiLCJjYW5DYW4iLCJsYXN0VXBkYXRlIiwiRGF0ZSIsImlkIiwibG9hZEFiaWxpdGllcyIsImN1cnJlbnQiLCJhYmlsaXRpZXMiLCJwIiwic2V0Iiwib25SZXNldEFiaWxpdGllcyIsInNpbGVudCIsImxvYWRBYmlsaXRpZXNPbk5ldyIsInJlc2V0QWJpbGl0aWVzIiwiZXZlbnRzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1jYW4tY2FuLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBDYW5DYW4gZnJvbSBcIi4vY2FuLWNhblwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHVzZUN1cnJlbnRVc2VyIGZyb20gXCIuL3VzZS1jdXJyZW50LXVzZXJcIlxuaW1wb3J0IHVzZUV2ZW50RW1pdHRlciBmcm9tIFwiLi91c2UtZXZlbnQtZW1pdHRlclwiXG5pbXBvcnQgdXNlU2hhcGUgZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL3NyYy91c2Utc2hhcGVcIlxuXG5jb25zdCB1c2VDYW5DYW4gPSAoYWJpbGl0aWVzQ2FsbGJhY2ssIGRlcGVuZGVuY2llcykgPT4ge1xuICBjb25zdCBjdXJyZW50VXNlciA9IHVzZUN1cnJlbnRVc2VyKClcbiAgY29uc3QgcyA9IHVzZVNoYXBlKHthYmlsaXRpZXNDYWxsYmFja30pXG5cbiAgcy51c2VTdGF0ZXMoe1xuICAgIGNhbkNhbjogbnVsbCxcbiAgICBsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpXG4gIH0pXG5cbiAgaWYgKCFkZXBlbmRlbmNpZXMpIHtcbiAgICBkZXBlbmRlbmNpZXMgPSBbY3VycmVudFVzZXI/LmlkKCldXG4gIH1cblxuICBjb25zdCBsb2FkQWJpbGl0aWVzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGNhbkNhbiA9IENhbkNhbi5jdXJyZW50KClcbiAgICBjb25zdCBhYmlsaXRpZXMgPSBzLnAuYWJpbGl0aWVzQ2FsbGJhY2soKVxuXG4gICAgYXdhaXQgY2FuQ2FuLmxvYWRBYmlsaXRpZXMoYWJpbGl0aWVzKVxuXG4gICAgcy5zZXQoe2NhbkNhbiwgbGFzdFVwZGF0ZTogbmV3IERhdGUoKX0pXG4gIH0sIFtdKVxuXG4gIGNvbnN0IG9uUmVzZXRBYmlsaXRpZXMgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgcy5zZXQoe2NhbkNhbjogbnVsbH0sIHtzaWxlbnQ6IHRydWV9KVxuICAgIGF3YWl0IGxvYWRBYmlsaXRpZXMoKVxuICB9LCBbXSlcblxuICBjb25zdCBsb2FkQWJpbGl0aWVzT25OZXcgPSB1c2VDYWxsYmFjayhhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgY2FuQ2FuID0gcy5zLmNhbkNhblxuXG4gICAgcy5zZXQoe2NhbkNhbjogbnVsbH0sIHtzaWxlbnQ6IHRydWV9KVxuXG4gICAgaWYgKGNhbkNhbikge1xuICAgICAgYXdhaXQgY2FuQ2FuPy5yZXNldEFiaWxpdGllcygpXG4gICAgfSBlbHNlIHtcbiAgICAgIGF3YWl0IGxvYWRBYmlsaXRpZXMoKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgdXNlTWVtbygoKSA9PiB7XG4gICAgbG9hZEFiaWxpdGllc09uTmV3KClcbiAgfSwgZGVwZW5kZW5jaWVzKVxuXG4gIHVzZUV2ZW50RW1pdHRlcihDYW5DYW4uY3VycmVudCgpLmV2ZW50cywgXCJvblJlc2V0QWJpbGl0aWVzXCIsIG9uUmVzZXRBYmlsaXRpZXMpXG5cbiAgcmV0dXJuIHMucy5jYW5DYW5cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlQ2FuQ2FuXG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLE1BQU0sTUFBTSxXQUFXO0FBQzlCLFNBQVFDLFdBQVcsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFDMUMsT0FBT0MsY0FBYyxNQUFNLG9CQUFvQjtBQUMvQyxPQUFPQyxlQUFlLE1BQU0scUJBQXFCO0FBQ2pELE9BQU9DLFFBQVEsTUFBTSxpQ0FBaUM7QUFFdEQsTUFBTUMsU0FBUyxHQUFHQSxDQUFDQyxpQkFBaUIsRUFBRUMsWUFBWSxLQUFLO0VBQ3JELE1BQU1DLFdBQVcsR0FBR04sY0FBYyxDQUFDLENBQUM7RUFDcEMsTUFBTU8sQ0FBQyxHQUFHTCxRQUFRLENBQUM7SUFBQ0U7RUFBaUIsQ0FBQyxDQUFDO0VBRXZDRyxDQUFDLENBQUNDLFNBQVMsQ0FBQztJQUNWQyxNQUFNLEVBQUUsSUFBSTtJQUNaQyxVQUFVLEVBQUUsSUFBSUMsSUFBSSxDQUFDO0VBQ3ZCLENBQUMsQ0FBQztFQUVGLElBQUksQ0FBQ04sWUFBWSxFQUFFO0lBQ2pCQSxZQUFZLEdBQUcsQ0FBQ0MsV0FBVyxFQUFFTSxFQUFFLENBQUMsQ0FBQyxDQUFDO0VBQ3BDO0VBRUEsTUFBTUMsYUFBYSxHQUFHZixXQUFXLENBQUMsWUFBWTtJQUM1QyxNQUFNVyxNQUFNLEdBQUdaLE1BQU0sQ0FBQ2lCLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLE1BQU1DLFNBQVMsR0FBR1IsQ0FBQyxDQUFDUyxDQUFDLENBQUNaLGlCQUFpQixDQUFDLENBQUM7SUFFekMsTUFBTUssTUFBTSxDQUFDSSxhQUFhLENBQUNFLFNBQVMsQ0FBQztJQUVyQ1IsQ0FBQyxDQUFDVSxHQUFHLENBQUM7TUFBQ1IsTUFBTTtNQUFFQyxVQUFVLEVBQUUsSUFBSUMsSUFBSSxDQUFDO0lBQUMsQ0FBQyxDQUFDO0VBQ3pDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNTyxnQkFBZ0IsR0FBR3BCLFdBQVcsQ0FBQyxZQUFZO0lBQy9DUyxDQUFDLENBQUNVLEdBQUcsQ0FBQztNQUFDUixNQUFNLEVBQUU7SUFBSSxDQUFDLEVBQUU7TUFBQ1UsTUFBTSxFQUFFO0lBQUksQ0FBQyxDQUFDO0lBQ3JDLE1BQU1OLGFBQWEsQ0FBQyxDQUFDO0VBQ3ZCLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixNQUFNTyxrQkFBa0IsR0FBR3RCLFdBQVcsQ0FBQyxZQUFZO0lBQ2pELE1BQU1XLE1BQU0sR0FBR0YsQ0FBQyxDQUFDQSxDQUFDLENBQUNFLE1BQU07SUFFekJGLENBQUMsQ0FBQ1UsR0FBRyxDQUFDO01BQUNSLE1BQU0sRUFBRTtJQUFJLENBQUMsRUFBRTtNQUFDVSxNQUFNLEVBQUU7SUFBSSxDQUFDLENBQUM7SUFFckMsSUFBSVYsTUFBTSxFQUFFO01BQ1YsTUFBTUEsTUFBTSxFQUFFWSxjQUFjLENBQUMsQ0FBQztJQUNoQyxDQUFDLE1BQU07TUFDTCxNQUFNUixhQUFhLENBQUMsQ0FBQztJQUN2QjtFQUNGLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTmQsT0FBTyxDQUFDLE1BQU07SUFDWnFCLGtCQUFrQixDQUFDLENBQUM7RUFDdEIsQ0FBQyxFQUFFZixZQUFZLENBQUM7RUFFaEJKLGVBQWUsQ0FBQ0osTUFBTSxDQUFDaUIsT0FBTyxDQUFDLENBQUMsQ0FBQ1EsTUFBTSxFQUFFLGtCQUFrQixFQUFFSixnQkFBZ0IsQ0FBQztFQUU5RSxPQUFPWCxDQUFDLENBQUNBLENBQUMsQ0FBQ0UsTUFBTTtBQUNuQixDQUFDO0FBRUQsZUFBZU4sU0FBUyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
import { useLayoutEffect } from "react";
|
|
1
|
+
import { useLayoutEffect, useMemo } from "react";
|
|
2
2
|
const ApiMakerUseEventEmitter = (events, event, onCalled) => {
|
|
3
|
-
|
|
3
|
+
// useMemo to instantly connect
|
|
4
|
+
useMemo(() => {
|
|
4
5
|
if (events) {
|
|
5
6
|
events.addListener(event, onCalled);
|
|
7
|
+
}
|
|
8
|
+
}, [events, event, onCalled]);
|
|
9
|
+
|
|
10
|
+
// useLayoutEffect to disconnect when unmounted or changed
|
|
11
|
+
useLayoutEffect(() => {
|
|
12
|
+
if (events) {
|
|
6
13
|
return () => {
|
|
7
14
|
events.removeListener(event, onCalled);
|
|
8
15
|
};
|
|
@@ -10,4 +17,4 @@ const ApiMakerUseEventEmitter = (events, event, onCalled) => {
|
|
|
10
17
|
}, [events, event, onCalled]);
|
|
11
18
|
};
|
|
12
19
|
export default ApiMakerUseEventEmitter;
|
|
13
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VNZW1vIiwiQXBpTWFrZXJVc2VFdmVudEVtaXR0ZXIiLCJldmVudHMiLCJldmVudCIsIm9uQ2FsbGVkIiwiYWRkTGlzdGVuZXIiLCJyZW1vdmVMaXN0ZW5lciJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2UtZXZlbnQtZW1pdHRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge3VzZUxheW91dEVmZmVjdCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcblxuY29uc3QgQXBpTWFrZXJVc2VFdmVudEVtaXR0ZXIgPSAoZXZlbnRzLCBldmVudCwgb25DYWxsZWQpID0+IHtcbiAgLy8gdXNlTWVtbyB0byBpbnN0YW50bHkgY29ubmVjdFxuICB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoZXZlbnRzKSB7XG4gICAgICBldmVudHMuYWRkTGlzdGVuZXIoZXZlbnQsIG9uQ2FsbGVkKVxuICAgIH1cbiAgfSwgW2V2ZW50cywgZXZlbnQsIG9uQ2FsbGVkXSlcblxuICAvLyB1c2VMYXlvdXRFZmZlY3QgdG8gZGlzY29ubmVjdCB3aGVuIHVubW91bnRlZCBvciBjaGFuZ2VkXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGV2ZW50cykge1xuICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgZXZlbnRzLnJlbW92ZUxpc3RlbmVyKGV2ZW50LCBvbkNhbGxlZClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtldmVudHMsIGV2ZW50LCBvbkNhbGxlZF0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IEFwaU1ha2VyVXNlRXZlbnRFbWl0dGVyXG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLGVBQWUsRUFBRUMsT0FBTyxRQUFPLE9BQU87QUFFOUMsTUFBTUMsdUJBQXVCLEdBQUdBLENBQUNDLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLEtBQUs7RUFDM0Q7RUFDQUosT0FBTyxDQUFDLE1BQU07SUFDWixJQUFJRSxNQUFNLEVBQUU7TUFDVkEsTUFBTSxDQUFDRyxXQUFXLENBQUNGLEtBQUssRUFBRUMsUUFBUSxDQUFDO0lBQ3JDO0VBQ0YsQ0FBQyxFQUFFLENBQUNGLE1BQU0sRUFBRUMsS0FBSyxFQUFFQyxRQUFRLENBQUMsQ0FBQzs7RUFFN0I7RUFDQUwsZUFBZSxDQUFDLE1BQU07SUFDcEIsSUFBSUcsTUFBTSxFQUFFO01BQ1YsT0FBTyxNQUFNO1FBQ1hBLE1BQU0sQ0FBQ0ksY0FBYyxDQUFDSCxLQUFLLEVBQUVDLFFBQVEsQ0FBQztNQUN4QyxDQUFDO0lBQ0g7RUFDRixDQUFDLEVBQUUsQ0FBQ0YsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFFRCxlQUFlSCx1QkFBdUIiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/build/use-input.js
CHANGED
|
@@ -121,7 +121,7 @@ const useInput = ({
|
|
|
121
121
|
if (!s.m.isSelect) s.m.inputProps.type = type;
|
|
122
122
|
const {
|
|
123
123
|
validationErrors
|
|
124
|
-
} = useValidationErrors(validationError => validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId);
|
|
124
|
+
} = useValidationErrors(validationError => validationError.inputName && s.m.inputProps.name && (validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId));
|
|
125
125
|
const wrapperOpts = {
|
|
126
126
|
errors: validationErrors,
|
|
127
127
|
form: s.s.form,
|
|
@@ -134,4 +134,4 @@ const useInput = ({
|
|
|
134
134
|
};
|
|
135
135
|
};
|
|
136
136
|
export default useInput;
|
|
137
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWciLCJkaWdnIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwiaWRGb3JDb21wb25lbnQiLCJuYW1lRm9yQ29tcG9uZW50Iiwic3RyZnRpbWUiLCJ1c2VTaGFwZSIsInVzZVZhbGlkYXRpb25FcnJvcnMiLCJ1c2VJbnB1dCIsInByb3BzIiwid3JhcHBlck9wdGlvbnMiLCJ1c2VJbnB1dFJlc3RQcm9wcyIsInVzZUlucHV0UmVzdFByb3BzS2V5cyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJFcnJvciIsImpvaW4iLCJzIiwiYmFja3VwUmVmIiwidXNlU3RhdGVzIiwiZm9ybSIsInVuZGVmaW5lZCIsInNldEZvcm0iLCJpbnB1dFJlZiIsImN1cnJlbnQiLCJtZXRhIiwiZmFrZUNvbXBvbmVudCIsImlzQ2hlY2tib3giLCJ0eXBlIiwiaXNTZWxlY3QiLCJmb3JtYXRWYWx1ZSIsInZhbHVlIiwiRGF0ZSIsImlzTmFOIiwiZ2V0VGltZSIsImlucHV0VHlwZSIsImlucHV0RGVmYXVsdENoZWNrZWQiLCJkZWZhdWx0Q2hlY2tlZCIsImF0dHJpYnV0ZSIsIm1vZGVsIiwiaW5wdXREZWZhdWx0VmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJtb2RlbENsYXNzRGF0YSIsIm0iLCJsYWJlbCIsIm1vZGVsQ2xhc3MiLCJodW1hbkF0dHJpYnV0ZU5hbWUiLCJpbnB1dEVsZW1lbnQiLCJzZXQiLCJnZXRJZCIsImdldE5hbWUiLCJnZXRJbnB1dFByb3BzIiwiZ2l2ZW5JbnB1dFByb3BzIiwiaW5wdXRQcm9wcyIsImFzc2lnbiIsImlkIiwibmFtZSIsInJlZiIsImNoZWNrZWQiLCJvbGRJbnB1dFByb3BzIiwid3JhcHBlck9wdHMiLCJvbGRXcmFwcGVyT3B0cyIsInJlc3RQcm9wcyIsImlucHV0TmFtZVdpdGhvdXRJZCIsInJlcGxhY2UiLCJ2YWxpZGF0aW9uRXJyb3JzIiwidmFsaWRhdGlvbkVycm9yIiwiaW5wdXROYW1lIiwiZXJyb3JzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1pbnB1dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZywgZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBpZEZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudFwiXG5pbXBvcnQgbmFtZUZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvbmFtZS1mb3ItY29tcG9uZW50XCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvdXNlLXNoYXBlXCJcbmltcG9ydCB1c2VWYWxpZGF0aW9uRXJyb3JzIGZyb20gXCIuL3VzZS12YWxpZGF0aW9uLWVycm9yc1wiXG5cbmNvbnN0IHVzZUlucHV0ID0gKHtwcm9wcywgd3JhcHBlck9wdGlvbnMsIC4uLnVzZUlucHV0UmVzdFByb3BzfSkgPT4ge1xuICBjb25zdCB1c2VJbnB1dFJlc3RQcm9wc0tleXMgPSBPYmplY3Qua2V5cyh1c2VJbnB1dFJlc3RQcm9wcylcblxuICBpZiAodXNlSW5wdXRSZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlSW5wdXQ6ICR7dXNlSW5wdXRSZXN0UHJvcHNLZXlzLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuICBjb25zdCBiYWNrdXBSZWYgPSB1c2VSZWYoKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBmb3JtOiB1bmRlZmluZWRcbiAgfSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEZvcm0oKVxuICB9LCBbcy5wcm9wcy5pbnB1dFJlZj8uY3VycmVudF0pXG5cbiAgcy5tZXRhLmZha2VDb21wb25lbnQgPSB7cHJvcHN9XG4gIHMubWV0YS5pc0NoZWNrYm94ID0gcHJvcHMudHlwZSA9PSBcImNoZWNrYm94XCIgfHwgd3JhcHBlck9wdGlvbnM/LnR5cGUgPT0gXCJjaGVja2JveFwiXG4gIHMubWV0YS5pc1NlbGVjdCA9IHdyYXBwZXJPcHRpb25zPy50eXBlID09IFwic2VsZWN0XCJcblxuICBjb25zdCBmb3JtYXRWYWx1ZSA9IHVzZUNhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IHtmb3JtYXRWYWx1ZX0gPSBzLnByb3BzXG5cbiAgICBpZiAoZm9ybWF0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZSh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYSBjZXJ0YWluIGZvcm1hdCBmb3IgZGF0ZXRpbWUtbG9jYWxcbiAgICAgIGlmIChpbnB1dFR5cGUoKSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKGlucHV0VHlwZSgpID09IFwiZGF0ZVwiKSB7XG4gICAgICAgIHJldHVybiBzdHJmdGltZShcIiVZLSVtLSVkXCIsIHZhbHVlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dERlZmF1bHRDaGVja2VkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRDaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMuZGVmYXVsdENoZWNrZWRcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMuYXR0cmlidXRlICYmIHMucHJvcHMubW9kZWwpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBhdHRyaWJ1dGU6ICR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcblxuICAgICAgcmV0dXJuIHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGlucHV0RGVmYXVsdFZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRWYWx1ZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZShzLnByb3BzLmRlZmF1bHRWYWx1ZSlcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMubW9kZWwgJiYgcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGF0dHJpYnV0ZSBkZWZpbmVkIG9uIHJlc291cmNlOiAke2RpZ2cocy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIil9IyR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKCkpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dFJlZiA9IHVzZUNhbGxiYWNrKCgpID0+IHMucHJvcHMuaW5wdXRSZWYgfHwgYmFja3VwUmVmKVxuXG4gIGNvbnN0IGlucHV0VHlwZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJ0eXBlXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMudHlwZVxuICAgIH0gZWxzZSBpZiAocy5tLmlzQ2hlY2tib3gpIHtcbiAgICAgIHJldHVybiBcImNoZWNrYm94XCJcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwidGV4dFwiXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBsYWJlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJsYWJlbFwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLmxhYmVsXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzKCkuaHVtYW5BdHRyaWJ1dGVOYW1lKHMucHJvcHMuYXR0cmlidXRlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0Rm9ybSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGxldCBmb3JtXG5cbiAgICBpZiAoaW5wdXRFbGVtZW50KSBmb3JtID0gZGlnKGlucHV0RWxlbWVudCwgXCJmb3JtXCIpXG4gICAgaWYgKGZvcm0gJiYgZm9ybSAhPSBzLnMuZm9ybSkgcy5zZXQoe2Zvcm19KVxuICB9LCBbXSlcblxuICBjb25zdCBnZXRJZCA9IHVzZUNhbGxiYWNrKCgpID0+IGlkRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG4gIGNvbnN0IGdldE5hbWUgPSB1c2VDYWxsYmFjaygoKSA9PiBuYW1lRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG5cbiAgY29uc3QgZ2V0SW5wdXRQcm9wcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBnaXZlbklucHV0UHJvcHMgPSBzLnByb3BzLmlucHV0UHJvcHMgfHwge31cbiAgICBjb25zdCBpbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgaWQ6IGdldElkKCksXG4gICAgICAgIG5hbWU6IGdldE5hbWUoKSxcbiAgICAgICAgcmVmOiBpbnB1dFJlZigpXG4gICAgICB9LFxuICAgICAgZ2l2ZW5JbnB1dFByb3BzXG4gICAgKVxuXG4gICAgaWYgKHMubS5pc0NoZWNrYm94KSB7XG4gICAgICBpZiAoXCJjaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgICBpbnB1dFByb3BzLmNoZWNrZWQgPSBzLnByb3BzLmNoZWNrZWRcbiAgICAgIH1cblxuICAgICAgaWYgKFwiZGVmYXVsdENoZWNrZWRcIiBpbiBzLnByb3BzIHx8IChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSkge1xuICAgICAgICBpbnB1dFByb3BzLmRlZmF1bHRDaGVja2VkID0gaW5wdXREZWZhdWx0Q2hlY2tlZCgpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcInZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgaW5wdXRQcm9wcy52YWx1ZSA9IHMucHJvcHMudmFsdWVcbiAgICB9IGVsc2UgaWYgKCEoXCJ2YWx1ZVwiIGluIHMucHJvcHMpKSB7XG4gICAgICBpbnB1dFByb3BzLmRlZmF1bHRWYWx1ZSA9IGlucHV0RGVmYXVsdFZhbHVlKClcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRQcm9wc1xuICB9LCBbXSlcblxuICBjb25zdCB7aW5wdXRQcm9wczogb2xkSW5wdXRQcm9wcywgd3JhcHBlck9wdHM6IG9sZFdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcbiAgY29uc3QgdHlwZSA9IGlucHV0VHlwZSgpXG5cbiAgcy5tZXRhLmlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKClcbiAgcy5tZXRhLmlucHV0TmFtZVdpdGhvdXRJZCA9IHVzZU1lbW8oKCkgPT4gcy5tLmlucHV0UHJvcHMubmFtZT8ucmVwbGFjZSgvXFxbKC4rKV9pZFxcXSQvLCBcIlskMV1cIiksIFtzLm0uaW5wdXRQcm9wcy5uYW1lXSlcblxuICBpZiAoIXMubS5pbnB1dFByb3BzLnJlZikgdGhyb3cgbmV3IEVycm9yKFwiTm8gaW5wdXQgcmVmP1wiKVxuICBpZiAoIXMubS5pc1NlbGVjdCkgcy5tLmlucHV0UHJvcHMudHlwZSA9IHR5cGVcblxuICBjb25zdCB7dmFsaWRhdGlvbkVycm9yc30gPSB1c2VWYWxpZGF0aW9uRXJyb3JzKCh2YWxpZGF0aW9uRXJyb3IpID0+XG4gICAgdmFsaWRhdGlvbkVycm9yLmlucHV0TmFtZSA9PSBzLm0uaW5wdXRQcm9wcy5uYW1lIHx8IHZhbGlkYXRpb25FcnJvci5pbnB1dE5hbWUgPT0gcy5tLmlucHV0TmFtZVdpdGhvdXRJZFxuICApXG5cbiAgY29uc3Qgd3JhcHBlck9wdHMgPSB7XG4gICAgZXJyb3JzOiB2YWxpZGF0aW9uRXJyb3JzLFxuICAgIGZvcm06IHMucy5mb3JtLFxuICAgIGxhYmVsOiBsYWJlbCgpXG4gIH1cblxuICByZXR1cm4ge1xuICAgIGlucHV0UHJvcHM6IHMubS5pbnB1dFByb3BzLFxuICAgIHdyYXBwZXJPcHRzLFxuICAgIHJlc3RQcm9wc1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHVzZUlucHV0XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVFBLEdBQUcsRUFBRUMsSUFBSSxRQUFPLFdBQVc7QUFDbkMsU0FBUUMsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsTUFBTSxRQUFPLE9BQU87QUFDN0QsT0FBT0MsY0FBYyxNQUFNLDJCQUEyQjtBQUN0RCxPQUFPQyxnQkFBZ0IsTUFBTSw2QkFBNkI7QUFDMUQsT0FBT0MsUUFBUSxNQUFNLFVBQVU7QUFDL0IsT0FBT0MsUUFBUSxNQUFNLGlDQUFpQztBQUN0RCxPQUFPQyxtQkFBbUIsTUFBTSx5QkFBeUI7QUFFekQsTUFBTUMsUUFBUSxHQUFHQSxDQUFDO0VBQUNDLEtBQUs7RUFBRUMsY0FBYztFQUFFLEdBQUdDO0FBQWlCLENBQUMsS0FBSztFQUNsRSxNQUFNQyxxQkFBcUIsR0FBR0MsTUFBTSxDQUFDQyxJQUFJLENBQUNILGlCQUFpQixDQUFDO0VBRTVELElBQUlDLHFCQUFxQixDQUFDRyxNQUFNLEdBQUcsQ0FBQyxFQUFFO0lBQ3BDLE1BQU0sSUFBSUMsS0FBSyxDQUFDLG9DQUFvQ0oscUJBQXFCLENBQUNLLElBQUksQ0FBQyxJQUFJ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
|
|
137
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkaWciLCJkaWdnIiwidXNlQ2FsbGJhY2siLCJ1c2VFZmZlY3QiLCJ1c2VNZW1vIiwidXNlUmVmIiwiaWRGb3JDb21wb25lbnQiLCJuYW1lRm9yQ29tcG9uZW50Iiwic3RyZnRpbWUiLCJ1c2VTaGFwZSIsInVzZVZhbGlkYXRpb25FcnJvcnMiLCJ1c2VJbnB1dCIsInByb3BzIiwid3JhcHBlck9wdGlvbnMiLCJ1c2VJbnB1dFJlc3RQcm9wcyIsInVzZUlucHV0UmVzdFByb3BzS2V5cyIsIk9iamVjdCIsImtleXMiLCJsZW5ndGgiLCJFcnJvciIsImpvaW4iLCJzIiwiYmFja3VwUmVmIiwidXNlU3RhdGVzIiwiZm9ybSIsInVuZGVmaW5lZCIsInNldEZvcm0iLCJpbnB1dFJlZiIsImN1cnJlbnQiLCJtZXRhIiwiZmFrZUNvbXBvbmVudCIsImlzQ2hlY2tib3giLCJ0eXBlIiwiaXNTZWxlY3QiLCJmb3JtYXRWYWx1ZSIsInZhbHVlIiwiRGF0ZSIsImlzTmFOIiwiZ2V0VGltZSIsImlucHV0VHlwZSIsImlucHV0RGVmYXVsdENoZWNrZWQiLCJkZWZhdWx0Q2hlY2tlZCIsImF0dHJpYnV0ZSIsIm1vZGVsIiwiaW5wdXREZWZhdWx0VmFsdWUiLCJkZWZhdWx0VmFsdWUiLCJtb2RlbENsYXNzRGF0YSIsIm0iLCJsYWJlbCIsIm1vZGVsQ2xhc3MiLCJodW1hbkF0dHJpYnV0ZU5hbWUiLCJpbnB1dEVsZW1lbnQiLCJzZXQiLCJnZXRJZCIsImdldE5hbWUiLCJnZXRJbnB1dFByb3BzIiwiZ2l2ZW5JbnB1dFByb3BzIiwiaW5wdXRQcm9wcyIsImFzc2lnbiIsImlkIiwibmFtZSIsInJlZiIsImNoZWNrZWQiLCJvbGRJbnB1dFByb3BzIiwid3JhcHBlck9wdHMiLCJvbGRXcmFwcGVyT3B0cyIsInJlc3RQcm9wcyIsImlucHV0TmFtZVdpdGhvdXRJZCIsInJlcGxhY2UiLCJ2YWxpZGF0aW9uRXJyb3JzIiwidmFsaWRhdGlvbkVycm9yIiwiaW5wdXROYW1lIiwiZXJyb3JzIl0sInNvdXJjZXMiOlsiLi4vc3JjL3VzZS1pbnB1dC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZywgZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge3VzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZU1lbW8sIHVzZVJlZn0gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBpZEZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvaWQtZm9yLWNvbXBvbmVudFwiXG5pbXBvcnQgbmFtZUZvckNvbXBvbmVudCBmcm9tIFwiLi9pbnB1dHMvbmFtZS1mb3ItY29tcG9uZW50XCJcbmltcG9ydCBzdHJmdGltZSBmcm9tIFwic3RyZnRpbWVcIlxuaW1wb3J0IHVzZVNoYXBlIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9zcmMvdXNlLXNoYXBlXCJcbmltcG9ydCB1c2VWYWxpZGF0aW9uRXJyb3JzIGZyb20gXCIuL3VzZS12YWxpZGF0aW9uLWVycm9yc1wiXG5cbmNvbnN0IHVzZUlucHV0ID0gKHtwcm9wcywgd3JhcHBlck9wdGlvbnMsIC4uLnVzZUlucHV0UmVzdFByb3BzfSkgPT4ge1xuICBjb25zdCB1c2VJbnB1dFJlc3RQcm9wc0tleXMgPSBPYmplY3Qua2V5cyh1c2VJbnB1dFJlc3RQcm9wcylcblxuICBpZiAodXNlSW5wdXRSZXN0UHJvcHNLZXlzLmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcHJvcHMgZ2l2ZW4gdG8gdXNlSW5wdXQ6ICR7dXNlSW5wdXRSZXN0UHJvcHNLZXlzLmpvaW4oXCIsIFwiKX1gKVxuICB9XG5cbiAgY29uc3QgcyA9IHVzZVNoYXBlKHByb3BzKVxuICBjb25zdCBiYWNrdXBSZWYgPSB1c2VSZWYoKVxuXG4gIHMudXNlU3RhdGVzKHtcbiAgICBmb3JtOiB1bmRlZmluZWRcbiAgfSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNldEZvcm0oKVxuICB9LCBbcy5wcm9wcy5pbnB1dFJlZj8uY3VycmVudF0pXG5cbiAgcy5tZXRhLmZha2VDb21wb25lbnQgPSB7cHJvcHN9XG4gIHMubWV0YS5pc0NoZWNrYm94ID0gcHJvcHMudHlwZSA9PSBcImNoZWNrYm94XCIgfHwgd3JhcHBlck9wdGlvbnM/LnR5cGUgPT0gXCJjaGVja2JveFwiXG4gIHMubWV0YS5pc1NlbGVjdCA9IHdyYXBwZXJPcHRpb25zPy50eXBlID09IFwic2VsZWN0XCJcblxuICBjb25zdCBmb3JtYXRWYWx1ZSA9IHVzZUNhbGxiYWNrKCh2YWx1ZSkgPT4ge1xuICAgIGNvbnN0IHtmb3JtYXRWYWx1ZX0gPSBzLnByb3BzXG5cbiAgICBpZiAoZm9ybWF0VmFsdWUpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZSh2YWx1ZSlcbiAgICB9IGVsc2UgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSAmJiAhaXNOYU4odmFsdWUuZ2V0VGltZSgpKSkge1xuICAgICAgLy8gV2UgbmVlZCB0byB1c2UgYSBjZXJ0YWluIGZvcm1hdCBmb3IgZGF0ZXRpbWUtbG9jYWxcbiAgICAgIGlmIChpbnB1dFR5cGUoKSA9PSBcImRhdGV0aW1lLWxvY2FsXCIpIHtcbiAgICAgICAgcmV0dXJuIHN0cmZ0aW1lKFwiJVktJW0tJWRUJUg6JU06JVNcIiwgdmFsdWUpXG4gICAgICB9IGVsc2UgaWYgKGlucHV0VHlwZSgpID09IFwiZGF0ZVwiKSB7XG4gICAgICAgIHJldHVybiBzdHJmdGltZShcIiVZLSVtLSVkXCIsIHZhbHVlKVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB2YWx1ZVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dERlZmF1bHRDaGVja2VkID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRDaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMuZGVmYXVsdENoZWNrZWRcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMuYXR0cmlidXRlICYmIHMucHJvcHMubW9kZWwpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBhdHRyaWJ1dGU6ICR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcblxuICAgICAgcmV0dXJuIHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKClcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGlucHV0RGVmYXVsdFZhbHVlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGlmIChcImRlZmF1bHRWYWx1ZVwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBmb3JtYXRWYWx1ZShzLnByb3BzLmRlZmF1bHRWYWx1ZSlcbiAgICB9IGVsc2UgaWYgKHMucHJvcHMubW9kZWwgJiYgcy5wcm9wcy5hdHRyaWJ1dGUpIHtcbiAgICAgIGlmICghcy5wcm9wcy5tb2RlbFtzLnByb3BzLmF0dHJpYnV0ZV0pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIGF0dHJpYnV0ZSBkZWZpbmVkIG9uIHJlc291cmNlOiAke2RpZ2cocy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIil9IyR7cy5wcm9wcy5hdHRyaWJ1dGV9YClcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZvcm1hdFZhbHVlKHMucHJvcHMubW9kZWxbcy5wcm9wcy5hdHRyaWJ1dGVdKCkpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBpbnB1dFJlZiA9IHVzZUNhbGxiYWNrKCgpID0+IHMucHJvcHMuaW5wdXRSZWYgfHwgYmFja3VwUmVmKVxuXG4gIGNvbnN0IGlucHV0VHlwZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJ0eXBlXCIgaW4gcy5wcm9wcykge1xuICAgICAgcmV0dXJuIHMucHJvcHMudHlwZVxuICAgIH0gZWxzZSBpZiAocy5tLmlzQ2hlY2tib3gpIHtcbiAgICAgIHJldHVybiBcImNoZWNrYm94XCJcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIFwidGV4dFwiXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBsYWJlbCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpZiAoXCJsYWJlbFwiIGluIHMucHJvcHMpIHtcbiAgICAgIHJldHVybiBzLnByb3BzLmxhYmVsXG4gICAgfSBlbHNlIGlmIChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSB7XG4gICAgICByZXR1cm4gcy5wcm9wcy5tb2RlbC5tb2RlbENsYXNzKCkuaHVtYW5BdHRyaWJ1dGVOYW1lKHMucHJvcHMuYXR0cmlidXRlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgc2V0Rm9ybSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSBpbnB1dFJlZigpLmN1cnJlbnRcblxuICAgIGxldCBmb3JtXG5cbiAgICBpZiAoaW5wdXRFbGVtZW50KSBmb3JtID0gZGlnKGlucHV0RWxlbWVudCwgXCJmb3JtXCIpXG4gICAgaWYgKGZvcm0gJiYgZm9ybSAhPSBzLnMuZm9ybSkgcy5zZXQoe2Zvcm19KVxuICB9LCBbXSlcblxuICBjb25zdCBnZXRJZCA9IHVzZUNhbGxiYWNrKCgpID0+IGlkRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG4gIGNvbnN0IGdldE5hbWUgPSB1c2VDYWxsYmFjaygoKSA9PiBuYW1lRm9yQ29tcG9uZW50KHMubS5mYWtlQ29tcG9uZW50KSwgW10pXG5cbiAgY29uc3QgZ2V0SW5wdXRQcm9wcyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBjb25zdCBnaXZlbklucHV0UHJvcHMgPSBzLnByb3BzLmlucHV0UHJvcHMgfHwge31cbiAgICBjb25zdCBpbnB1dFByb3BzID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgaWQ6IGdldElkKCksXG4gICAgICAgIG5hbWU6IGdldE5hbWUoKSxcbiAgICAgICAgcmVmOiBpbnB1dFJlZigpXG4gICAgICB9LFxuICAgICAgZ2l2ZW5JbnB1dFByb3BzXG4gICAgKVxuXG4gICAgaWYgKHMubS5pc0NoZWNrYm94KSB7XG4gICAgICBpZiAoXCJjaGVja2VkXCIgaW4gcy5wcm9wcykge1xuICAgICAgICBpbnB1dFByb3BzLmNoZWNrZWQgPSBzLnByb3BzLmNoZWNrZWRcbiAgICAgIH1cblxuICAgICAgaWYgKFwiZGVmYXVsdENoZWNrZWRcIiBpbiBzLnByb3BzIHx8IChzLnByb3BzLmF0dHJpYnV0ZSAmJiBzLnByb3BzLm1vZGVsKSkge1xuICAgICAgICBpbnB1dFByb3BzLmRlZmF1bHRDaGVja2VkID0gaW5wdXREZWZhdWx0Q2hlY2tlZCgpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChcInZhbHVlXCIgaW4gcy5wcm9wcykge1xuICAgICAgaW5wdXRQcm9wcy52YWx1ZSA9IHMucHJvcHMudmFsdWVcbiAgICB9IGVsc2UgaWYgKCEoXCJ2YWx1ZVwiIGluIHMucHJvcHMpKSB7XG4gICAgICBpbnB1dFByb3BzLmRlZmF1bHRWYWx1ZSA9IGlucHV0RGVmYXVsdFZhbHVlKClcbiAgICB9XG5cbiAgICByZXR1cm4gaW5wdXRQcm9wc1xuICB9LCBbXSlcblxuICBjb25zdCB7aW5wdXRQcm9wczogb2xkSW5wdXRQcm9wcywgd3JhcHBlck9wdHM6IG9sZFdyYXBwZXJPcHRzLCAuLi5yZXN0UHJvcHN9ID0gcHJvcHNcbiAgY29uc3QgdHlwZSA9IGlucHV0VHlwZSgpXG5cbiAgcy5tZXRhLmlucHV0UHJvcHMgPSBnZXRJbnB1dFByb3BzKClcbiAgcy5tZXRhLmlucHV0TmFtZVdpdGhvdXRJZCA9IHVzZU1lbW8oKCkgPT4gcy5tLmlucHV0UHJvcHMubmFtZT8ucmVwbGFjZSgvXFxbKC4rKV9pZFxcXSQvLCBcIlskMV1cIiksIFtzLm0uaW5wdXRQcm9wcy5uYW1lXSlcblxuICBpZiAoIXMubS5pbnB1dFByb3BzLnJlZikgdGhyb3cgbmV3IEVycm9yKFwiTm8gaW5wdXQgcmVmP1wiKVxuICBpZiAoIXMubS5pc1NlbGVjdCkgcy5tLmlucHV0UHJvcHMudHlwZSA9IHR5cGVcblxuICBjb25zdCB7dmFsaWRhdGlvbkVycm9yc30gPSB1c2VWYWxpZGF0aW9uRXJyb3JzKCh2YWxpZGF0aW9uRXJyb3IpID0+XG4gICAgdmFsaWRhdGlvbkVycm9yLmlucHV0TmFtZSAmJlxuICAgICAgcy5tLmlucHV0UHJvcHMubmFtZSAmJlxuICAgICAgKHZhbGlkYXRpb25FcnJvci5pbnB1dE5hbWUgPT0gcy5tLmlucHV0UHJvcHMubmFtZSB8fCB2YWxpZGF0aW9uRXJyb3IuaW5wdXROYW1lID09IHMubS5pbnB1dE5hbWVXaXRob3V0SWQpXG4gIClcblxuICBjb25zdCB3cmFwcGVyT3B0cyA9IHtcbiAgICBlcnJvcnM6IHZhbGlkYXRpb25FcnJvcnMsXG4gICAgZm9ybTogcy5zLmZvcm0sXG4gICAgbGFiZWw6IGxhYmVsKClcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgaW5wdXRQcm9wczogcy5tLmlucHV0UHJvcHMsXG4gICAgd3JhcHBlck9wdHMsXG4gICAgcmVzdFByb3BzXG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgdXNlSW5wdXRcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsR0FBRyxFQUFFQyxJQUFJLFFBQU8sV0FBVztBQUNuQyxTQUFRQyxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsT0FBTyxFQUFFQyxNQUFNLFFBQU8sT0FBTztBQUM3RCxPQUFPQyxjQUFjLE1BQU0sMkJBQTJCO0FBQ3RELE9BQU9DLGdCQUFnQixNQUFNLDZCQUE2QjtBQUMxRCxPQUFPQyxRQUFRLE1BQU0sVUFBVTtBQUMvQixPQUFPQyxRQUFRLE1BQU0saUNBQWlDO0FBQ3RELE9BQU9DLG1CQUFtQixNQUFNLHlCQUF5QjtBQUV6RCxNQUFNQyxRQUFRLEdBQUdBLENBQUM7RUFBQ0MsS0FBSztFQUFFQyxjQUFjO0VBQUUsR0FBR0M7QUFBaUIsQ0FBQyxLQUFLO0VBQ2xFLE1BQU1DLHFCQUFxQixHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ0gsaUJBQWlCLENBQUM7RUFFNUQsSUFBSUMscUJBQXFCLENBQUNHLE1BQU0sR0FBRyxDQUFD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
|
package/build/use-styles.js
CHANGED
|
@@ -28,7 +28,7 @@ const useStyles = (styles, args, dependencies = []) => {
|
|
|
28
28
|
const actualDependencies = [...dependencies, breakpointName];
|
|
29
29
|
const listOfStyles = useMemo(() => {
|
|
30
30
|
const listOfStyles = [];
|
|
31
|
-
const breakpointsReverse = [...config.
|
|
31
|
+
const breakpointsReverse = [...config.getBreakpoints()].reverse();
|
|
32
32
|
if (!Array.isArray(args)) {
|
|
33
33
|
args = [args];
|
|
34
34
|
}
|
|
@@ -51,4 +51,4 @@ const useStyles = (styles, args, dependencies = []) => {
|
|
|
51
51
|
return listOfStyles;
|
|
52
52
|
};
|
|
53
53
|
export default useStyles;
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjb25maWciLCJkaWdnIiwiaW5mbGVjdGlvbiIsInVzZUJyZWFrcG9pbnQiLCJ1c2VNZW1vIiwiaGFuZGxlU3RyaW5nU3R5bGUiLCJzdHlsZXMiLCJsaXN0T2ZTdHlsZXMiLCJicmVha3BvaW50IiwiYnJlYWtwb2ludHNSZXZlcnNlIiwiYXJnIiwiRXJyb3IiLCJPYmplY3QiLCJrZXlzIiwiam9pbiIsInB1c2giLCJicmVha3BvaW50RGF0YSIsImJyZWFrcG9pbnROYW1lIiwiYnJlYWtwb2ludFN0eWxlTmFtZVVwIiwiY2FtZWxpemUiLCJicmVha3BvaW50U3R5bGVOYW1lRG93biIsImJyZWFrcG9pbnRJc1VwIiwiYnJlYWtwb2ludElzRG93biIsInVzZVN0eWxlcyIsImFyZ3MiLCJkZXBlbmRlbmNpZXMiLCJhY3R1YWxEZXBlbmRlbmNpZXMiLCJnZXRCcmVha3BvaW50cyIsInJldmVyc2UiLCJBcnJheSIsImlzQXJyYXkiLCJrZXkiLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy91c2Utc3R5bGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnXCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuL3VzZS1icmVha3BvaW50XCJcbmltcG9ydCB7dXNlTWVtb30gZnJvbSBcInJlYWN0XCJcblxuY29uc3QgaGFuZGxlU3RyaW5nU3R5bGUgPSAoc3R5bGVzLCBsaXN0T2ZTdHlsZXMsIGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzUmV2ZXJzZSwgYXJnKSA9PiB7XG4gIGlmICghKGFyZyBpbiBzdHlsZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHN0eWxpbmcgJyR7YXJnfScgaW4gZ2l2ZW4gc3R5bGVzOiAke09iamVjdC5rZXlzKHN0eWxlcykuam9pbihcIiwgXCIpfWApXG4gIH1cblxuICBsaXN0T2ZTdHlsZXMucHVzaChzdHlsZXNbYXJnXSlcblxuICBmb3IgKGNvbnN0IGJyZWFrcG9pbnREYXRhIG9mIGJyZWFrcG9pbnRzUmV2ZXJzZSkge1xuICAgIGNvbnN0IGJyZWFrcG9pbnROYW1lID0gYnJlYWtwb2ludERhdGFbMF1cbiAgICBjb25zdCBicmVha3BvaW50U3R5bGVOYW1lVXAgPSBgJHthcmd9JHtpbmZsZWN0aW9uLmNhbWVsaXplKGJyZWFrcG9pbnROYW1lKX1VcGBcbiAgICBjb25zdCBicmVha3BvaW50U3R5bGVOYW1lRG93biA9IGAke2FyZ30ke2luZmxlY3Rpb24uY2FtZWxpemUoYnJlYWtwb2ludE5hbWUpfURvd25gXG4gICAgY29uc3QgYnJlYWtwb2ludElzVXAgPSBkaWdnKGJyZWFrcG9pbnQsIGAke2JyZWFrcG9pbnROYW1lfVVwYClcbiAgICBjb25zdCBicmVha3BvaW50SXNEb3duID0gZGlnZyhicmVha3BvaW50LCBgJHticmVha3BvaW50TmFtZX1Eb3duYClcblxuICAgIGlmIChicmVha3BvaW50U3R5bGVOYW1lVXAgaW4gc3R5bGVzICYmIGJyZWFrcG9pbnRJc1VwKSB7XG4gICAgICBsaXN0T2ZTdHlsZXMucHVzaChzdHlsZXNbYnJlYWtwb2ludFN0eWxlTmFtZVVwXSlcbiAgICB9XG5cbiAgICBpZiAoYnJlYWtwb2ludFN0eWxlTmFtZURvd24gaW4gc3R5bGVzICYmIGJyZWFrcG9pbnRJc0Rvd24pIHtcbiAgICAgIGxpc3RPZlN0eWxlcy5wdXNoKHN0eWxlc1ticmVha3BvaW50U3R5bGVOYW1lRG93bl0pXG4gICAgfVxuICB9XG59XG5cbmNvbnN0IHVzZVN0eWxlcyA9IChzdHlsZXMsIGFyZ3MsIGRlcGVuZGVuY2llcyA9IFtdKSA9PiB7XG4gIGNvbnN0IGJyZWFrcG9pbnQgPSB1c2VCcmVha3BvaW50KClcbiAgY29uc3QgYnJlYWtwb2ludE5hbWUgPSBkaWdnKGJyZWFrcG9pbnQsIFwibmFtZVwiKVxuICBjb25zdCBhY3R1YWxEZXBlbmRlbmNpZXMgPSBbLi4uZGVwZW5kZW5jaWVzLCBicmVha3BvaW50TmFtZV1cblxuICBjb25zdCBsaXN0T2ZTdHlsZXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBsaXN0T2ZTdHlsZXMgPSBbXVxuICAgIGNvbnN0IGJyZWFrcG9pbnRzUmV2ZXJzZSA9IFsuLi5jb25maWcuZ2V0QnJlYWtwb2ludHMoKV0ucmV2ZXJzZSgpXG5cbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoYXJncykpIHtcbiAgICAgIGFyZ3MgPSBbYXJnc11cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGFyZyBvZiBhcmdzKSB7XG4gICAgICBpZiAodHlwZW9mIGFyZyA9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGhhbmRsZVN0cmluZ1N0eWxlKHN0eWxlcywgbGlzdE9mU3R5bGVzLCBicmVha3BvaW50LCBicmVha3BvaW50c1JldmVyc2UsIGFyZylcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIGFyZykge1xuICAgICAgICAgIGNvbnN0IHZhbHVlID0gYXJnW2tleV1cblxuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgaGFuZGxlU3RyaW5nU3R5bGUoc3R5bGVzLCBsaXN0T2ZTdHlsZXMsIGJyZWFrcG9pbnQsIGJyZWFrcG9pbnRzUmV2ZXJzZSwga2V5KVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgdHlwZTogJHt0eXBlb2YgYXJnfWApXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpc3RPZlN0eWxlc1xuICB9LCBhY3R1YWxEZXBlbmRlbmNpZXMpXG5cbiAgcmV0dXJuIGxpc3RPZlN0eWxlc1xufVxuXG5leHBvcnQgZGVmYXVsdCB1c2VTdHlsZXNcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxN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
|
package/package.json
CHANGED
package/src/config.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import EventEmitter from "events"
|
|
1
2
|
import * as inflection from "inflection"
|
|
2
3
|
|
|
3
4
|
const accessors = {
|
|
4
|
-
|
|
5
|
+
breakpoints: {
|
|
5
6
|
default: [
|
|
6
7
|
["xxl", 1400],
|
|
7
8
|
["xl", 1200],
|
|
@@ -29,14 +30,28 @@ class ApiMakerConfig {
|
|
|
29
30
|
if (!globalThis.apiMakerConfigGlobal) globalThis.apiMakerConfigGlobal = {}
|
|
30
31
|
|
|
31
32
|
this.global = globalThis.apiMakerConfigGlobal
|
|
33
|
+
|
|
34
|
+
this.events = new EventEmitter()
|
|
35
|
+
this.events.setMaxListeners(Infinity)
|
|
32
36
|
}
|
|
37
|
+
|
|
38
|
+
getEvents = () => this.events
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
for (const accessorName in accessors) {
|
|
36
42
|
const accessorData = accessors[accessorName]
|
|
37
43
|
const camelizedAccessor = inflection.camelize(accessorName)
|
|
38
44
|
|
|
39
|
-
ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) {
|
|
45
|
+
ApiMakerConfig.prototype[`set${camelizedAccessor}`] = function (newValue) {
|
|
46
|
+
const oldValue = this.global[accessorName]
|
|
47
|
+
|
|
48
|
+
this.global[accessorName] = newValue
|
|
49
|
+
|
|
50
|
+
if (oldValue !== newValue) {
|
|
51
|
+
this.events.emit(`on${camelizedAccessor}Change`, {oldValue, newValue})
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
40
55
|
ApiMakerConfig.prototype[`get${camelizedAccessor}`] = function (...args) {
|
|
41
56
|
if (!this.global[accessorName]) {
|
|
42
57
|
if (accessorData.default) return accessorData.default
|
package/src/use-breakpoint.js
CHANGED
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import {useCallback
|
|
1
|
+
import {useCallback} from "react"
|
|
2
2
|
import config from "./config"
|
|
3
3
|
import {Dimensions} from "react-native"
|
|
4
4
|
import * as inflection from "inflection"
|
|
5
5
|
import isExpo from "./is-expo"
|
|
6
|
+
import useEventEmitter from "./use-event-emitter"
|
|
7
|
+
import useEventListener from "./use-event-listener"
|
|
6
8
|
import useShape from "set-state-compare/src/use-shape"
|
|
7
9
|
|
|
8
|
-
const calculateBreakPoint = (
|
|
10
|
+
const calculateBreakPoint = (breakpoints) => {
|
|
9
11
|
let windowWidth
|
|
10
12
|
|
|
11
13
|
if (isExpo) {
|
|
12
|
-
windowWidth =
|
|
14
|
+
windowWidth = Dimensions.get("window").width
|
|
13
15
|
} else {
|
|
14
16
|
// Use 'window.innerWidth' outside Expo because sometimes window width excludes scroll
|
|
15
17
|
windowWidth = window.innerWidth
|
|
@@ -17,7 +19,7 @@ const calculateBreakPoint = (windowObject) => {
|
|
|
17
19
|
|
|
18
20
|
const result = {}
|
|
19
21
|
|
|
20
|
-
for (const breakpointData of
|
|
22
|
+
for (const breakpointData of breakpoints) {
|
|
21
23
|
const breakpoint = breakpointData[0]
|
|
22
24
|
const width = breakpointData[1]
|
|
23
25
|
|
|
@@ -40,24 +42,36 @@ const calculateBreakPoint = (windowObject) => {
|
|
|
40
42
|
|
|
41
43
|
const sizeTypes = ["down", "up"]
|
|
42
44
|
|
|
43
|
-
const useBreakpoint = () => {
|
|
44
|
-
const s = useShape()
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
const useBreakpoint = (args = {}) => {
|
|
46
|
+
const s = useShape(args)
|
|
47
|
+
|
|
48
|
+
s.meta.breakpoints ||= config.getBreakpoints()
|
|
49
|
+
|
|
50
|
+
const checkAndUpdateBreakpoint = useCallback(() => {
|
|
51
|
+
const breakpoint = calculateBreakPoint(s.m.breakpoints)
|
|
47
52
|
|
|
48
53
|
if (breakpoint.name != s.s.breakpoint.name) {
|
|
49
54
|
s.set({breakpoint})
|
|
50
55
|
}
|
|
51
56
|
}, [])
|
|
52
57
|
|
|
58
|
+
const onDimensionsChange = useCallback(() => {
|
|
59
|
+
checkAndUpdateBreakpoint()
|
|
60
|
+
}, [])
|
|
61
|
+
|
|
62
|
+
const onBreakpointsChange = useCallback(({newValue}) => {
|
|
63
|
+
s.meta.breakpoints = newValue
|
|
64
|
+
checkAndUpdateBreakpoint()
|
|
65
|
+
}, [])
|
|
66
|
+
|
|
53
67
|
s.useStates({
|
|
54
|
-
breakpoint: () => calculateBreakPoint(
|
|
68
|
+
breakpoint: () => calculateBreakPoint(s.m.breakpoints)
|
|
55
69
|
})
|
|
56
70
|
|
|
57
71
|
const styling = useCallback((args) => {
|
|
58
72
|
const style = Object.assign({}, args.base)
|
|
59
73
|
|
|
60
|
-
for (const breakpointData of
|
|
74
|
+
for (const breakpointData of s.m.breakpoints) {
|
|
61
75
|
const breakpoint = breakpointData[0]
|
|
62
76
|
|
|
63
77
|
for (const sizeType of sizeTypes) {
|
|
@@ -72,11 +86,8 @@ const useBreakpoint = () => {
|
|
|
72
86
|
return style
|
|
73
87
|
}, [])
|
|
74
88
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
return () => subscription?.remove()
|
|
79
|
-
})
|
|
89
|
+
useEventEmitter(config.getEvents(), "onBreakpointsChange", onBreakpointsChange)
|
|
90
|
+
useEventListener(Dimensions, "change", onDimensionsChange)
|
|
80
91
|
|
|
81
92
|
return {
|
|
82
93
|
styling,
|
package/src/use-can-can.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import CanCan from "./can-can"
|
|
2
|
-
import {useCallback, useMemo
|
|
2
|
+
import {useCallback, useMemo} from "react"
|
|
3
3
|
import useCurrentUser from "./use-current-user"
|
|
4
4
|
import useEventEmitter from "./use-event-emitter"
|
|
5
5
|
import useShape from "set-state-compare/src/use-shape"
|
package/src/use-event-emitter.js
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
|
-
import {useLayoutEffect} from "react"
|
|
1
|
+
import {useLayoutEffect, useMemo} from "react"
|
|
2
2
|
|
|
3
3
|
const ApiMakerUseEventEmitter = (events, event, onCalled) => {
|
|
4
|
-
|
|
4
|
+
// useMemo to instantly connect
|
|
5
|
+
useMemo(() => {
|
|
5
6
|
if (events) {
|
|
6
7
|
events.addListener(event, onCalled)
|
|
8
|
+
}
|
|
9
|
+
}, [events, event, onCalled])
|
|
7
10
|
|
|
11
|
+
// useLayoutEffect to disconnect when unmounted or changed
|
|
12
|
+
useLayoutEffect(() => {
|
|
13
|
+
if (events) {
|
|
8
14
|
return () => {
|
|
9
15
|
events.removeListener(event, onCalled)
|
|
10
16
|
}
|
package/src/use-input.js
CHANGED
|
@@ -138,7 +138,9 @@ const useInput = ({props, wrapperOptions, ...useInputRestProps}) => {
|
|
|
138
138
|
if (!s.m.isSelect) s.m.inputProps.type = type
|
|
139
139
|
|
|
140
140
|
const {validationErrors} = useValidationErrors((validationError) =>
|
|
141
|
-
validationError.inputName
|
|
141
|
+
validationError.inputName &&
|
|
142
|
+
s.m.inputProps.name &&
|
|
143
|
+
(validationError.inputName == s.m.inputProps.name || validationError.inputName == s.m.inputNameWithoutId)
|
|
142
144
|
)
|
|
143
145
|
|
|
144
146
|
const wrapperOpts = {
|
package/src/use-styles.js
CHANGED
|
@@ -35,7 +35,7 @@ const useStyles = (styles, args, dependencies = []) => {
|
|
|
35
35
|
|
|
36
36
|
const listOfStyles = useMemo(() => {
|
|
37
37
|
const listOfStyles = []
|
|
38
|
-
const breakpointsReverse = [...config.
|
|
38
|
+
const breakpointsReverse = [...config.getBreakpoints()].reverse()
|
|
39
39
|
|
|
40
40
|
if (!Array.isArray(args)) {
|
|
41
41
|
args = [args]
|