@onepercentio/one-ui 1.3.5 → 1.4.0
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/WebpackConfigs/email-templates.js +99 -0
- package/dist/components/AdaptiveButton/AdaptiveButton.js +26 -24
- package/dist/components/AdaptiveButton/index.js +25 -22
- package/dist/components/AdaptiveContainer/AdaptiveContainer.js +140 -139
- package/dist/components/AdaptiveContainer/index.js +25 -22
- package/dist/components/AdaptiveDialog/AdaptiveDialog.js +76 -42
- package/dist/components/AdaptiveDialog/AdaptiveDialog.module.scss +17 -3
- package/dist/components/AdaptiveDialog/index.js +25 -22
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.js +70 -54
- package/dist/components/AdaptiveSidebar/AdaptiveSidebar.sample.js +10 -9
- package/dist/components/AdaptiveSidebar/index.js +25 -22
- package/dist/components/AnchoredTooltip/AnchoredTooltip.js +155 -154
- package/dist/components/AnchoredTooltip/AnchoredTooltip.module.scss +13 -10
- package/dist/components/AnchoredTooltip/index.js +25 -22
- package/dist/components/AnimatedEntrance/AnimatedEntrance.js +154 -121
- package/dist/components/AnimatedEntrance/index.js +25 -22
- package/dist/components/AsyncTriggerContainer/AsyncTriggerContainer.js +80 -40
- package/dist/components/AsyncTriggerContainer/index.js +25 -22
- package/dist/components/AsyncWrapper/AsyncWrapper.js +34 -16
- package/dist/components/AsyncWrapper/index.js +25 -22
- package/dist/components/Avatar/Avatar.js +33 -18
- package/dist/components/Avatar/index.js +25 -22
- package/dist/components/BucketFill/BucketFill.js +49 -36
- package/dist/components/BucketFill/index.js +25 -22
- package/dist/components/Button/Button.js +30 -22
- package/dist/components/Button/index.js +25 -22
- package/dist/components/Card/Card.js +17 -10
- package/dist/components/Card/index.js +25 -22
- package/dist/components/Chart/Chart.js +25 -22
- package/dist/components/Chart/Chart.logic.js +10 -9
- package/dist/components/Chart/Chart.types.js +5 -2
- package/dist/components/Chart/Chart.view.js +174 -98
- package/dist/components/Chart/index.js +25 -22
- package/dist/components/CheckBox/CheckBox.js +48 -30
- package/dist/components/CheckBox/CheckBox.module.scss +5 -0
- package/dist/components/CheckBox/index.js +25 -22
- package/dist/components/CodeInput/CodeInput.js +75 -93
- package/dist/components/CodeInput/index.js +25 -22
- package/dist/components/Collapsable/Collapsable.js +164 -134
- package/dist/components/Collapsable/index.js +25 -22
- package/dist/components/Countdown/Countdown.js +69 -86
- package/dist/components/Countdown/index.js +25 -22
- package/dist/components/CurrencyInput/CurrencyInput.hook.js +25 -25
- package/dist/components/CurrencyInput/CurrencyInput.js +48 -29
- package/dist/components/CurrencyInput/index.js +25 -22
- package/dist/components/Divider/Divider.js +16 -10
- package/dist/components/Divider/index.js +25 -22
- package/dist/components/EmailInput/EmailInput.js +37 -23
- package/dist/components/EmailInput/index.js +25 -22
- package/dist/components/FadeIn/FadeIn.js +57 -51
- package/dist/components/FadeIn/index.js +25 -22
- package/dist/components/FileInput/FileInput.js +45 -38
- package/dist/components/FileInput/View/BigFactory/BigFactory.js +48 -16
- package/dist/components/FileInput/View/BigFactory/index.js +25 -22
- package/dist/components/FileInput/View/Compact/Compact.js +114 -46
- package/dist/components/FileInput/View/Compact/index.js +25 -22
- package/dist/components/FileInput/View/View.types.js +5 -2
- package/dist/components/FileInput/index.js +25 -22
- package/dist/components/FlowController/FlowController.js +56 -25
- package/dist/components/FlowController/index.js +25 -22
- package/dist/components/Form/Form.hook.js +217 -202
- package/dist/components/Form/Form.js +103 -65
- package/dist/components/Form/Form.types.js +39 -53
- package/dist/components/Form/FormField/Extensions/DateField/DateField.js +68 -53
- package/dist/components/Form/FormField/Extensions/DateField/index.js +25 -22
- package/dist/components/Form/FormField/Extensions/PhoneField/PhoneField.js +81 -78
- package/dist/components/Form/FormField/Extensions/PhoneField/index.js +25 -22
- package/dist/components/Form/FormField/FormField.js +307 -148
- package/dist/components/Form/FormField/FormField.types.js +10 -7
- package/dist/components/Form/FormField/index.js +25 -22
- package/dist/components/Form/index.js +25 -22
- package/dist/components/Freeze/Freeze.js +13 -9
- package/dist/components/Freeze/index.js +25 -22
- package/dist/components/HSForms/HSForms.js +48 -69
- package/dist/components/HSForms/index.js +25 -22
- package/dist/components/HeaderCloseBtn/HeaderCloseBtn.js +19 -10
- package/dist/components/HeaderCloseBtn/index.js +25 -22
- package/dist/components/InfinityScroll/InfinityScroll.js +114 -94
- package/dist/components/InfinityScroll/index.js +25 -22
- package/dist/components/Input/Input.js +99 -57
- package/dist/components/Input/index.js +25 -22
- package/dist/components/InstantCounter/InstantCounter.js +49 -31
- package/dist/components/InstantCounter/index.js +25 -22
- package/dist/components/LavaLamp/LavaLamp.data.js +83 -86
- package/dist/components/LavaLamp/LavaLamp.js +119 -32
- package/dist/components/LavaLamp/index.js +25 -22
- package/dist/components/LavaLamp/v2/LavaLamp.js +149 -156
- package/dist/components/LinkToId/LinkToId.js +39 -27
- package/dist/components/LinkToId/index.js +25 -22
- package/dist/components/Loader/Loader.js +21 -22
- package/dist/components/Loader/index.js +25 -22
- package/dist/components/LoaderDotsIndicator/LoaderDotsIndicator.js +27 -15
- package/dist/components/LoaderDotsIndicator/index.js +25 -22
- package/dist/components/LoopableVideo/LoopableVideo.js +33 -25
- package/dist/components/LoopableVideo/index.js +25 -22
- package/dist/components/MainGrid/MainGrid.js +46 -23
- package/dist/components/MainGrid/index.js +25 -22
- package/dist/components/MutableHamburgerButton/MutableHamburgerButton.js +27 -23
- package/dist/components/MutableHamburgerButton/index.js +25 -22
- package/dist/components/Notification/Notification.js +18 -11
- package/dist/components/Notification/index.js +25 -22
- package/dist/components/NumberInput/NumberInput.js +43 -42
- package/dist/components/NumberInput/index.js +25 -22
- package/dist/components/OrderableList/OrderableList.js +416 -404
- package/dist/components/OrderableList/index.js +25 -22
- package/dist/components/PaginationIndicator/PaginationIndicator.js +243 -198
- package/dist/components/PaginationIndicator/index.js +25 -22
- package/dist/components/Parallax/Parallax.js +156 -130
- package/dist/components/Parallax/index.js +25 -22
- package/dist/components/Parallax/math/helpers.js +120 -216
- package/dist/components/PasswordInput/PasswordInput.js +88 -71
- package/dist/components/PasswordInput/index.js +25 -22
- package/dist/components/PingPongText/PingPongText.js +63 -67
- package/dist/components/PingPongText/index.js +25 -22
- package/dist/components/PixelatedScan/PixelatedScan.js +126 -74
- package/dist/components/PixelatedScan/index.js +25 -22
- package/dist/components/Portal/Portal.js +46 -43
- package/dist/components/Portal/index.js +25 -22
- package/dist/components/ProgressBar/ProgressBar.js +105 -47
- package/dist/components/ProgressBar/index.js +25 -22
- package/dist/components/ProgressTexts/ProgressTexts.js +43 -29
- package/dist/components/ProgressTexts/index.js +25 -22
- package/dist/components/Radio/Radio.js +51 -28
- package/dist/components/Radio/index.js +25 -22
- package/dist/components/Radio/variants/Checkmark/Checkmark.js +18 -12
- package/dist/components/Radio/variants/Checkmark/index.js +25 -22
- package/dist/components/Radio/variants/Generic/Generic.js +20 -12
- package/dist/components/Radio/variants/Generic/index.js +25 -22
- package/dist/components/ScrollendIndicator/ScrollendIndicator.js +118 -0
- package/dist/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
- package/dist/components/SectionContainer/SectionContainer.js +38 -16
- package/dist/components/SectionContainer/index.js +25 -22
- package/dist/components/Select/Select.js +128 -95
- package/dist/components/Select/index.js +25 -22
- package/dist/components/Skeleton/Skeleton.js +22 -14
- package/dist/components/Skeleton/index.js +25 -22
- package/dist/components/Slider/Slider.js +63 -59
- package/dist/components/Slider/index.js +25 -22
- package/dist/components/Spacing/Spacing.js +25 -17
- package/dist/components/Spacing/index.js +25 -22
- package/dist/components/StaticScroller/StaticScroller.js +65 -61
- package/dist/components/StaticScroller/index.js +25 -22
- package/dist/components/Switch/Switch.js +40 -26
- package/dist/components/Switch/index.js +25 -22
- package/dist/components/Table/Table.js +107 -56
- package/dist/components/Table/index.js +25 -22
- package/dist/components/Tabs/Tabs.js +59 -54
- package/dist/components/Tabs/index.js +25 -22
- package/dist/components/Text/Text.js +35 -30
- package/dist/components/Text/index.js +25 -22
- package/dist/components/Transition/MasksFactory/DiagonalReveal.js +46 -12
- package/dist/components/Transition/MasksFactory/DiagonalSquareToBalls.js +71 -49
- package/dist/components/Transition/MasksFactory/PhysicsSquares.js +89 -79
- package/dist/components/Transition/MasksFactory/SquareToBalls.js +60 -41
- package/dist/components/Transition/MasksFactory/utils.js +25 -27
- package/dist/components/Transition/Transition.js +298 -319
- package/dist/components/Transition/index.js +25 -22
- package/dist/components/UncontrolledTransition/UncontrolledTransition.js +101 -93
- package/dist/components/UncontrolledTransition/UncontrolledTransition.sample.js +27 -19
- package/dist/components/UncontrolledTransition/index.js +25 -22
- package/dist/components/WalletConnectionWrapper/WalletConnectionWrapper.js +101 -94
- package/dist/components/WalletConnectionWrapper/index.js +25 -22
- package/dist/components/utilitary/ScrollAndFocusLock/ScrollAndFocusLock.js +53 -43
- package/dist/components/utilitary/ScrollAndFocusLock/index.js +25 -22
- package/dist/context/AsyncProcess.js +68 -41
- package/dist/context/ContextAsyncControl.js +72 -51
- package/dist/context/CustomBrowserRouter.js +44 -30
- package/dist/context/OneUIProvider.js +102 -108
- package/dist/hooks/logs/useDependencyChangeDetection.js +17 -16
- package/dist/hooks/logs/useIsMounting.js +10 -7
- package/dist/hooks/persistence/useLocalStorage.js +41 -40
- package/dist/hooks/shims/ObjectWatchShim.js +47 -46
- package/dist/hooks/ui/useAdaptiveImage.js +29 -34
- package/dist/hooks/ui/useAlternating.js +18 -18
- package/dist/hooks/ui/useBreakpoint.js +19 -18
- package/dist/hooks/ui/useCustomScrollbar.js +26 -21
- package/dist/hooks/ui/useEffectIf.js +11 -9
- package/dist/hooks/ui/useMouseHover.js +22 -19
- package/dist/hooks/ui/usePaginationControls.js +129 -136
- package/dist/hooks/ui/useSnapToViewport.js +20 -19
- package/dist/hooks/ui/useTilt.js +145 -129
- package/dist/hooks/ui/useZoomable.js +123 -116
- package/dist/hooks/useAsyncControl.js +67 -52
- package/dist/hooks/useContainedRepositioning.js +75 -71
- package/dist/hooks/useCustomHistory.js +21 -12
- package/dist/hooks/useElementFit.js +43 -48
- package/dist/hooks/useFirestoreWatch.js +41 -41
- package/dist/hooks/useFreeze.js +10 -8
- package/dist/hooks/useHero.js +249 -271
- package/dist/hooks/useIntersection.js +32 -27
- package/dist/hooks/useMergeRefs.js +27 -24
- package/dist/hooks/useObserve.js +17 -14
- package/dist/hooks/usePagination.js +147 -164
- package/dist/hooks/usePooledOperation.js +41 -57
- package/dist/hooks/usePooling.js +46 -49
- package/dist/hooks/useRebound.js +23 -19
- package/dist/hooks/useShortIntl.js +72 -50
- package/dist/hooks/utility/useAsyncMemo.js +36 -42
- package/dist/hooks/utility/useDepChange.js +14 -12
- package/dist/hooks/utility/useEvents.js +26 -21
- package/dist/hooks/utility/useImmediate.js +8 -5
- package/dist/hooks/utility/useManualInit.js +19 -17
- package/dist/hooks/utility/useModule.js +12 -9
- package/dist/hooks/utility/useQuery.js +13 -7
- package/dist/hooks/utility/useUniqueEffect.js +17 -17
- package/dist/index.js +2159 -349
- package/dist/index.preprocess.js +35 -72
- package/dist/models/DebugLogger.js +8 -5
- package/dist/models/GenericContract.js +42 -13
- package/dist/models/ImageScales.js +13 -10
- package/dist/models/Orbs.js +53 -47
- package/dist/storybookUtils/index.js +40 -39
- package/dist/type-utils.js +5 -2
- package/dist/types.js +5 -2
- package/dist/utils/blockchain.js +35 -54
- package/dist/utils/e2e.js +21 -11
- package/dist/utils/flatten.js +15 -12
- package/dist/utils/formatters.js +48 -43
- package/dist/utils/html.utils.js +12 -6
- package/dist/utils/ownEvent.js +9 -7
- package/dist/utils/test.js +13 -11
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.d.ts +10 -0
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js +68 -0
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.js.map +1 -0
- package/dist-ts/components/ScrollendIndicator/ScrollendIndicator.module.scss +76 -0
- package/dist-ts/index.d.ts +1 -0
- package/dist-ts/index.js +1 -0
- package/dist-ts/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,135 +1,129 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
exports.
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
exports.useCurrentImageScale = useCurrentImageScale;
|
|
8
|
+
exports.useOneUIConfig = useOneUIConfig;
|
|
9
|
+
exports.useOneUIContext = useOneUIContext;
|
|
10
|
+
exports.useOneUIView = useOneUIView;
|
|
11
|
+
var _get = _interopRequireDefault(require("lodash/get"));
|
|
12
|
+
var _merge = _interopRequireDefault(require("lodash/merge"));
|
|
13
|
+
var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
|
|
14
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
15
|
+
var _useAdaptiveImage = _interopRequireDefault(require("../hooks/ui/useAdaptiveImage"));
|
|
16
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
19
|
+
/**
|
|
20
|
+
* Defines the available UI features and their settings.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* The configuration object used to set up the UI provider.
|
|
25
|
+
*/
|
|
26
|
+
|
|
27
|
+
const Context = /*#__PURE__*/(0, _react.createContext)(null);
|
|
28
|
+
function OneUIProvider(_ref) {
|
|
29
|
+
let {
|
|
30
|
+
children,
|
|
31
|
+
config
|
|
32
|
+
} = _ref;
|
|
33
|
+
const prevCtx = (0, _react.useContext)(Context);
|
|
34
|
+
const scale = (0, _useAdaptiveImage.default)();
|
|
35
|
+
const mergedConfig = (0, _react.useMemo)(() => {
|
|
36
|
+
return (0, _merge.default)((0, _cloneDeep.default)(prevCtx), config, {
|
|
37
|
+
state: {
|
|
38
|
+
imageScale: scale
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
}, [prevCtx, config, scale]);
|
|
42
|
+
return /*#__PURE__*/_react.default.createElement(Context.Provider, {
|
|
43
|
+
value: mergedConfig
|
|
44
|
+
}, children);
|
|
26
45
|
}
|
|
46
|
+
|
|
27
47
|
/**
|
|
28
48
|
* The main provider component that wraps your app to enable UI features.
|
|
29
49
|
*/
|
|
30
|
-
exports.default = OneUIProvider;
|
|
31
|
-
function pathToJson(path, key
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
50
|
+
var _default = exports.default = OneUIProvider;
|
|
51
|
+
function pathToJson(path, key) {
|
|
52
|
+
let exampleConfig = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "THE_MISSING_CONFIG";
|
|
53
|
+
if (!key) {
|
|
54
|
+
key = path.split(".").slice(-1)[0];
|
|
55
|
+
path = path.replace(".".concat(key), "");
|
|
56
|
+
}
|
|
57
|
+
return path.split(".").concat(key).reduce((result, key, idx, arr) => {
|
|
58
|
+
arr.slice(0, idx).reduce((r, k) => r[k], result)[key] = idx === arr.length - 1 ? exampleConfig : {};
|
|
59
|
+
return result;
|
|
60
|
+
}, {});
|
|
61
|
+
}
|
|
62
|
+
function ErrorWrapper(originalObject) {
|
|
63
|
+
let path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "config";
|
|
64
|
+
return new Proxy(typeof originalObject !== "object" ? {} : originalObject || {}, {
|
|
65
|
+
get(_target, key) {
|
|
66
|
+
if (key === Symbol.toPrimitive || key === "$$typeof") {
|
|
67
|
+
return () => _target[key];
|
|
68
|
+
}
|
|
69
|
+
try {
|
|
70
|
+
const value = originalObject[key];
|
|
71
|
+
if (typeof value === "undefined") return undefined;
|
|
72
|
+
if (typeof value === "object") return ErrorWrapper(value, [path, key].filter(Boolean).join("."));
|
|
73
|
+
return value;
|
|
74
|
+
} catch (e) {
|
|
75
|
+
const pathJson = pathToJson(path, key);
|
|
76
|
+
throw new Error("A component is using the UI config ".concat([path, key].join("."), ".\n\nPlease define it using:\nimport OneUIProvider from \"@onepercent/one-ui/dist/context/OneUIProvider\";\n\n ...\n").concat("<OneUIProvider config={".concat(JSON.stringify(pathJson, null, 4), "}>\n...\n</OneUIProvider>").replace(/[ ]/g, "-")));
|
|
77
|
+
}
|
|
35
78
|
}
|
|
36
|
-
|
|
37
|
-
.split(".")
|
|
38
|
-
.concat(key)
|
|
39
|
-
.reduce((result, key, idx, arr) => {
|
|
40
|
-
arr.slice(0, idx).reduce((r, k) => r[k], result)[key] =
|
|
41
|
-
idx === arr.length - 1 ? exampleConfig : {};
|
|
42
|
-
return result;
|
|
43
|
-
}, {});
|
|
79
|
+
});
|
|
44
80
|
}
|
|
45
|
-
function ErrorWrapper(originalObject, path = "config") {
|
|
46
|
-
return new Proxy(typeof originalObject !== "object" ? {} : originalObject || {}, {
|
|
47
|
-
get(_target, key) {
|
|
48
|
-
if (key === Symbol.toPrimitive || key === "$$typeof") {
|
|
49
|
-
return () => _target[key];
|
|
50
|
-
}
|
|
51
|
-
try {
|
|
52
|
-
const value = originalObject[key];
|
|
53
|
-
if (typeof value === "undefined")
|
|
54
|
-
return undefined;
|
|
55
|
-
if (typeof value === "object")
|
|
56
|
-
return ErrorWrapper(value, [path, key].filter(Boolean).join("."));
|
|
57
|
-
return value;
|
|
58
|
-
}
|
|
59
|
-
catch (e) {
|
|
60
|
-
const pathJson = pathToJson(path, key);
|
|
61
|
-
throw new Error(`A component is using the UI config ${[path, key].join(".")}.
|
|
62
|
-
|
|
63
|
-
Please define it using:
|
|
64
|
-
import OneUIProvider from "@onepercent/one-ui/dist/context/OneUIProvider";
|
|
65
81
|
|
|
66
|
-
...
|
|
67
|
-
${`<OneUIProvider config={${JSON.stringify(pathJson, null, 4)}}>
|
|
68
|
-
...
|
|
69
|
-
</OneUIProvider>`.replace(/[ ]/g, "-")}`);
|
|
70
|
-
}
|
|
71
|
-
},
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
82
|
/**
|
|
75
83
|
* A hook to access the current UI configuration.
|
|
76
84
|
*/
|
|
77
85
|
function useOneUIContext() {
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
return context;
|
|
86
|
+
const context = (0, _react.useContext)(Context);
|
|
87
|
+
if (process.env.NODE_ENV === "development") return ErrorWrapper(context);
|
|
88
|
+
return context;
|
|
82
89
|
}
|
|
83
|
-
|
|
90
|
+
|
|
84
91
|
/**
|
|
85
92
|
* A hook to get a specific UI view component.
|
|
86
93
|
*/
|
|
87
94
|
function useOneUIView(oneuiConfigPath, componentName) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
95
|
+
const providedValue = useOneUIConfig(oneuiConfigPath);
|
|
96
|
+
if (!providedValue) {
|
|
97
|
+
throw new Error("The component ".concat(componentName, " requires a view to be set on OneUI initialization\n\nViews ready for use with this component shall be available at:\nimport SomeView from \"@onepercentio/one-ui/dist/components/").concat(componentName, "/View/SomeView\";\n\nPlease define it using:\nimport OneUIProvider from \"@onepercentio/one-ui/dist/context/OneUIProvider\";\n\n ...\n").concat("<OneUIProvider config={".concat(JSON.stringify(pathToJson(oneuiConfigPath, undefined, "SomeView"), null, 4), "}>\n...\n</OneUIProvider>").replace(/[ ]/g, "-")));
|
|
98
|
+
}
|
|
99
|
+
return providedValue;
|
|
100
|
+
}
|
|
94
101
|
|
|
95
|
-
|
|
96
|
-
|
|
102
|
+
/**
|
|
103
|
+
* A hook to retrieve a specific value from the UI configuration.
|
|
104
|
+
*/
|
|
97
105
|
|
|
98
|
-
...
|
|
99
|
-
${`<OneUIProvider config={${JSON.stringify(pathToJson(oneuiConfigPath, undefined, "SomeView"), null, 4)}}>
|
|
100
|
-
...
|
|
101
|
-
</OneUIProvider>`.replace(/[ ]/g, "-")}`);
|
|
102
|
-
}
|
|
103
|
-
return providedValue;
|
|
104
|
-
}
|
|
105
|
-
exports.useOneUIView = useOneUIView;
|
|
106
106
|
function useOneUIConfig(prop, defaultValue) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
}, [context, prop]);
|
|
112
|
-
if (typeof val === "string" ||
|
|
113
|
-
typeof val === "function" ||
|
|
114
|
-
prop.endsWith(".Component") ||
|
|
115
|
-
prop.endsWith(".View"))
|
|
116
|
-
return val || defaultValue;
|
|
117
|
-
if (typeof val === "boolean")
|
|
118
|
-
return val;
|
|
119
|
-
return ErrorWrapper(val || defaultValue);
|
|
120
|
-
}
|
|
121
|
-
const value = (0, react_1.useMemo)(() => {
|
|
122
|
-
return (0, get_1.default)(context, prop);
|
|
107
|
+
const context = (0, _react.useContext)(Context);
|
|
108
|
+
if (process.env.NODE_ENV === "development") {
|
|
109
|
+
const val = (0, _react.useMemo)(() => {
|
|
110
|
+
return (0, _get.default)(context, prop);
|
|
123
111
|
}, [context, prop]);
|
|
124
|
-
return
|
|
112
|
+
if (typeof val === "string" || typeof val === "function" || prop.endsWith(".Component") || prop.endsWith(".View")) return val || defaultValue;
|
|
113
|
+
if (typeof val === "boolean") return val;
|
|
114
|
+
return ErrorWrapper(val || defaultValue);
|
|
115
|
+
}
|
|
116
|
+
const value = (0, _react.useMemo)(() => {
|
|
117
|
+
return (0, _get.default)(context, prop);
|
|
118
|
+
}, [context, prop]);
|
|
119
|
+
return value || defaultValue;
|
|
125
120
|
}
|
|
126
|
-
|
|
121
|
+
|
|
127
122
|
/**
|
|
128
123
|
* A hook to get the current image scale setting.
|
|
129
124
|
*/
|
|
130
125
|
function useCurrentImageScale() {
|
|
131
|
-
|
|
132
|
-
|
|
126
|
+
const context = (0, _react.useContext)(Context);
|
|
127
|
+
return context.state.imageScale;
|
|
133
128
|
}
|
|
134
|
-
exports.useCurrentImageScale = useCurrentImageScale;
|
|
135
|
-
//# sourceMappingURL=OneUIProvider.js.map
|
|
129
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZ2V0IiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbWVyZ2UiLCJfY2xvbmVEZWVwIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfdXNlQWRhcHRpdmVJbWFnZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJDb250ZXh0IiwiY3JlYXRlQ29udGV4dCIsIk9uZVVJUHJvdmlkZXIiLCJfcmVmIiwiY2hpbGRyZW4iLCJjb25maWciLCJwcmV2Q3R4IiwidXNlQ29udGV4dCIsInNjYWxlIiwidXNlQWRhcHRpdmVJbWFnZSIsIm1lcmdlZENvbmZpZyIsInVzZU1lbW8iLCJtZXJnZSIsImNsb25lIiwic3RhdGUiLCJpbWFnZVNjYWxlIiwiY3JlYXRlRWxlbWVudCIsIlByb3ZpZGVyIiwidmFsdWUiLCJfZGVmYXVsdCIsImV4cG9ydHMiLCJwYXRoVG9Kc29uIiwicGF0aCIsImV4YW1wbGVDb25maWciLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJzcGxpdCIsInNsaWNlIiwicmVwbGFjZSIsImNvbmNhdCIsInJlZHVjZSIsInJlc3VsdCIsImlkeCIsImFyciIsInIiLCJrIiwiRXJyb3JXcmFwcGVyIiwib3JpZ2luYWxPYmplY3QiLCJQcm94eSIsIl90YXJnZXQiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsImZpbHRlciIsIkJvb2xlYW4iLCJqb2luIiwiZSIsInBhdGhKc29uIiwiRXJyb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidXNlT25lVUlDb250ZXh0IiwiY29udGV4dCIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInVzZU9uZVVJVmlldyIsIm9uZXVpQ29uZmlnUGF0aCIsImNvbXBvbmVudE5hbWUiLCJwcm92aWRlZFZhbHVlIiwidXNlT25lVUlDb25maWciLCJwcm9wIiwiZGVmYXVsdFZhbHVlIiwidmFsIiwiZW5kc1dpdGgiLCJ1c2VDdXJyZW50SW1hZ2VTY2FsZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0L09uZVVJUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEpTWCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGdldCBmcm9tIFwibG9kYXNoL2dldFwiO1xuaW1wb3J0IG1lcmdlIGZyb20gXCJsb2Rhc2gvbWVyZ2VcIjtcbmltcG9ydCBjbG9uZSBmcm9tIFwibG9kYXNoL2Nsb25lRGVlcFwiO1xuaW1wb3J0IHsgR2V0IH0gZnJvbSBcInR5cGUtZmVzdFwiO1xuaW1wb3J0IFJlYWN0LCB7IENvbXBvbmVudFByb3BzLCBSZWFjdEVsZW1lbnQsIFJlYWN0Tm9kZSwgdXNlTWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEltYWdlU2NhbGVzIH0gZnJvbSBcIi4uL21vZGVscy9JbWFnZVNjYWxlc1wiO1xuaW1wb3J0IHsgVXBsb2FkVGFzayB9IGZyb20gXCJmaXJlYmFzZS9zdG9yYWdlXCI7XG5pbXBvcnQge1xuICBGaWVsZFBhdGgsXG4gIEZyb21PbmVQZXJjZW50VXRpbGl0eSxcbiAgTmFtZXNwYWNlQWNjZXNzb3JzLFxuICBQYXRoLFxuICBQYXRoT2JqZWN0LFxufSBmcm9tIFwiLi4vdHlwZS11dGlsc1wiO1xuaW1wb3J0IHVzZUFkYXB0aXZlSW1hZ2UgZnJvbSBcIi4uL2hvb2tzL3VpL3VzZUFkYXB0aXZlSW1hZ2VcIjtcbmltcG9ydCBCdXR0b24gZnJvbSBcIi4uL2NvbXBvbmVudHMvQnV0dG9uXCI7XG5pbXBvcnQgQ2hlY2tCb3ggZnJvbSBcIi4uL2NvbXBvbmVudHMvQ2hlY2tCb3hcIjtcbmltcG9ydCBSYWRpbyBmcm9tIFwiLi4vY29tcG9uZW50cy9SYWRpby9SYWRpb1wiO1xuaW1wb3J0IHsgRmlsZUlucHV0Vmlld1Byb3BzIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvRmlsZUlucHV0L1ZpZXcvVmlldy50eXBlc1wiO1xuaW1wb3J0IHtcbiAgQW5zd2VyQnlGaWVsZCxcbiAgRm9ybUZpZWxkLFxuICBHZW5lcmljRm9ybUZpZWxkUHJvcHMsXG59IGZyb20gXCIuLi9jb21wb25lbnRzL0Zvcm0vRm9ybUZpZWxkL0Zvcm1GaWVsZC50eXBlc1wiO1xuaW1wb3J0IHsgQmFzZVF1ZXN0aW9uLCBGb3JtTW9kZSB9IGZyb20gXCIuLi9jb21wb25lbnRzL0Zvcm0vRm9ybS50eXBlc1wiO1xuXG50eXBlIERlZXBQYXJ0aWFsPFQ+ID0ge1xuICBbUCBpbiBrZXlvZiBUXT86IE5vbk51bGxhYmxlPFRbUF0+IGV4dGVuZHMgRnVuY3Rpb25cbiAgICA/IFRbUF1cbiAgICA6IERlZXBQYXJ0aWFsPFRbUF0+O1xufTtcblxudHlwZSBJZlV0aWxpdHlIYXM8TiBleHRlbmRzIE5hbWVzcGFjZUFjY2Vzc29ycywgRGVjbGFyZT4gPVxuICBGcm9tT25lUGVyY2VudFV0aWxpdHk8Tj4gZXh0ZW5kcyBgVG8gZGVmaW5lIHRoaXMgcHJvcGVydHkgeW91IG5lZWQgdG8gc2V0IE9uZXBlcmNlbnRVdGlsaXR5LiR7c3RyaW5nfSBnbG9iYWxseWBcbiAgICA/IHVuZGVmaW5lZFxuICAgIDogRGVjbGFyZTtcblxuLyoqXG4gKiBEZWZpbmVzIHRoZSBhdmFpbGFibGUgVUkgZmVhdHVyZXMgYW5kIHRoZWlyIHNldHRpbmdzLlxuICovXG5leHBvcnQgdHlwZSBPbmVVSUNvbnRleHRTcGVjcyA9IHtcbiAgY29tcG9uZW50OiB7XG4gICAgYXN5bmNUcmlnZ2VyQ29udGFpbmVyOiB7XG4gICAgICBMb2FkaW5nQ29tcG9uZW50OiAoKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICBzcGFjaW5nOiB7XG4gICAgICB2YXJpYW50czoge1xuICAgICAgICBbayBpbiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlNwYWNpbmdWYXJpYW50c1wiPl06IHN0cmluZztcbiAgICAgIH07XG4gICAgfTtcbiAgICBjb2xsYXBzYWJsZToge1xuICAgICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgfTtcbiAgICBmb3JtOiB7XG4gICAgICBmaWVsZFdyYXBwZXI6IHtcbiAgICAgICAgW2sgaW4gYCR7a2V5b2YgdHlwZW9mIEZvcm1Nb2RlfS0ke0Zvcm1GaWVsZFtcInR5cGVcIl19YF06XG4gICAgICAgICAgfCBzdHJpbmdcbiAgICAgICAgICB8ICgocDogUHJvcHNXaXRoQ2hpbGRyZW48Rm9ybUZpZWxkICYgeyB2YWx1ZTogYW55IH0+KSA9PiBSZWFjdE5vZGUpO1xuICAgICAgfTtcbiAgICAgIHRpdGxlVmFyaWFudDogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICBsYWJlbFZhcmlhbnQ6IEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuVGV4dFZhcmlhbnRzXCI+O1xuICAgICAgLyoqIExhYmVsIHNob3duIHdoZW4gYSBmaWVsZCBpcyBvcHRpb25hbCAqL1xuICAgICAgb3B0aW9uYWxMYWJlbDogc3RyaW5nO1xuXG4gICAgICAvKiogTGFiZWwgc2hvd24gd2hlbiBhIHJlcXVpcmVkIGZpZWxkIHdhcyBub3QgcHJvdmlkZWQgKi9cbiAgICAgIHJlcXVpcmVkTGFiZWw6IHN0cmluZztcblxuICAgICAgb25GaWxlVXBsb2FkKHF1ZXN0aW9uSWQ6IHN0cmluZywgZmlsZTogRmlsZSk6IFVwbG9hZFRhc2s7XG5cbiAgICAgIGV4dGVuc2lvbnM6IElmVXRpbGl0eUhhczxcbiAgICAgICAgXCJVSUVsZW1lbnRzLkZvcm1FeHRlbnNpb25cIixcbiAgICAgICAge1xuICAgICAgICAgIFtLIGluIEZyb21PbmVQZXJjZW50VXRpbGl0eTxcIlVJRWxlbWVudHMuRm9ybUV4dGVuc2lvblwiPltcImZpZWxkc1wiXVtcInR5cGVcIl1dOiB7XG4gICAgICAgICAgICBSZWFkT25seT86IChcbiAgICAgICAgICAgICAgcHJvcHM6IE9taXQ8R2VuZXJpY0Zvcm1GaWVsZFByb3BzPEs+LCBcIm9uQW5zd2VyXCIgfCBcImVycm9yXCI+LFxuICAgICAgICAgICAgKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgICAgICAgICBJbnB1dDogKHByb3BzOiBHZW5lcmljRm9ybUZpZWxkUHJvcHM8Sz4pID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgICAgIHZhbGlkYXRvcjogKFxuICAgICAgICAgICAgICBhbnN3ZXI6IEFuc3dlckJ5RmllbGQ8eyB0eXBlOiBLIH0+IHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICBxdWVzdGlvbjogRm9ybUZpZWxkICZcbiAgICAgICAgICAgICAgICAoRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5Gb3JtRXh0ZW5zaW9uXCI+W1wiZmllbGRzXCJdICYge1xuICAgICAgICAgICAgICAgICAgdHlwZTogSztcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICkgPT4ge1xuICAgICAgICAgICAgICBpc1ZhbGlkOiBib29sZWFuO1xuICAgICAgICAgICAgICBlcnJvcj86IHN0cmluZztcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgPjtcbiAgICB9O1xuICAgIHRleHQ6IElmVXRpbGl0eUhhczxcbiAgICAgIFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIixcbiAgICAgIHtcbiAgICAgICAgY2xhc3NOYW1lOiB7XG4gICAgICAgICAgW2sgaW4gUmVhY3QuQ29tcG9uZW50UHJvcHM8XG4gICAgICAgICAgICAodHlwZW9mIGltcG9ydChcIi4uL2NvbXBvbmVudHMvVGV4dFwiKSlbXCJkZWZhdWx0XCJdXG4gICAgICAgICAgPltcInR5cGVcIl1dOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICAgIGh0bWxUYWc6IHtcbiAgICAgICAgICBbayBpbiBSZWFjdC5Db21wb25lbnRQcm9wczxcbiAgICAgICAgICAgICh0eXBlb2YgaW1wb3J0KFwiLi4vY29tcG9uZW50cy9UZXh0XCIpKVtcImRlZmF1bHRcIl1cbiAgICAgICAgICA+W1widHlwZVwiXV06IFwicFwiIHwgXCJoMVwiIHwgXCJoMlwiIHwgXCJoM1wiIHwgXCJoNFwiIHwgXCJoNVwiIHwgXCJoNlwiO1xuICAgICAgICB9O1xuICAgICAgfVxuICAgID47XG4gICAgYnV0dG9uPzoge1xuICAgICAgY2xhc3NOYW1lPzoge1xuICAgICAgICBbayBpbiBOb25OdWxsYWJsZTxcbiAgICAgICAgICBSZWFjdC5Db21wb25lbnRQcm9wczxcbiAgICAgICAgICAgICh0eXBlb2YgaW1wb3J0KFwiLi4vY29tcG9uZW50cy9CdXR0b25cIikpW1wiZGVmYXVsdFwiXVxuICAgICAgICAgID5bXCJ2YXJpYW50XCJdXG4gICAgICAgID5dPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIENvbXBvbmVudD86IChwcm9wczogQ29tcG9uZW50UHJvcHM8dHlwZW9mIEJ1dHRvbj4pID0+IFJlYWN0RWxlbWVudDtcbiAgICB9O1xuICAgIGlucHV0OiB7XG4gICAgICBjbGFzc05hbWU6IHtcbiAgICAgICAgLyoqIFRoZSB3cmFwcGVyIGFyb3VuZCBpbnB1dCB0YWcgJiBjYXB0aW9uIGVsZW1lbnQgKHVzZWQgZm9yIGVycm9yIGFuZCBjYXB0aW9uKSAqL1xuICAgICAgICBjb250YWluZXI6IHN0cmluZztcbiAgICAgICAgLyoqIFRoZSBpbnB1dCBodG1sIHRhZyAqL1xuICAgICAgICBpbnB1dDogc3RyaW5nO1xuICAgICAgICAvKiogQXBwZW5kZWQgdG8gdGhlIGlucHV0IGh0bWwgdGFnJ3MgY2xhc3NOYW1lIHdoZW4gaXQgaGFzIGEgdmlzaWJsZSBlcnJvciAqL1xuICAgICAgICBlcnJvcj86IHN0cmluZztcbiAgICAgIH07XG4gICAgICBsYWJlbFZhcmlhbnRzOiB7XG4gICAgICAgIGVycm9yPzogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5UZXh0VmFyaWFudHNcIj47XG4gICAgICAgIGRpc2NsYWltZXI/OiBGcm9tT25lUGVyY2VudFV0aWxpdHk8XCJVSUVsZW1lbnRzLlRleHRWYXJpYW50c1wiPjtcbiAgICAgIH07XG4gICAgfTtcbiAgICBmaWxlSW5wdXQ6IHtcbiAgICAgIFZpZXc6IChwcm9wczogRmlsZUlucHV0Vmlld1Byb3BzKSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgICBidXR0b246IHtcbiAgICAgICAgdmFyaWFudDogRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5CdXR0b25WYXJpYW50c1wiPjtcbiAgICAgIH07XG4gICAgfTtcbiAgICBwYXNzd29yZElucHV0OiB7XG4gICAgICBpY29uU3JjOiB7XG4gICAgICAgIHBhc3N3b3JkSGlkZGVuOiBzdHJpbmc7XG4gICAgICAgIHBhc3N3b3JkVmlzaWJsZTogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFzeW5jV3JhcHBlcjoge1xuICAgICAgTG9hZGluZ0NvbXBvbmVudD86ICgpID0+IEpTWC5FbGVtZW50O1xuICAgICAgbWVzc2FnZXM6IHtcbiAgICAgICAgZXJyb3I6IHtcbiAgICAgICAgICB0aXRsZTogc3RyaW5nO1xuICAgICAgICAgIHJldHJ5QnRuOiBzdHJpbmc7XG4gICAgICAgIH07XG4gICAgICB9O1xuICAgIH07XG4gICAgc2VsZWN0OiB7XG4gICAgICBTdGF0ZUluZGljYXRvcjogKHByb3BzOiB7IG9wZW46IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICBjbGFzc05hbWU/OiB7XG4gICAgICAgIGRyb3Bkb3duPzogc3RyaW5nO1xuICAgICAgICBpdGVtPzogc3RyaW5nO1xuICAgICAgICBzZWxlY3RlZEl0ZW0/OiBzdHJpbmc7XG4gICAgICAgIGlucHV0Pzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICAgIGhlYWRlcjoge1xuICAgICAgTG9nb0ltYWdlOiAoKSA9PiBKU1guRWxlbWVudDtcbiAgICAgIE1vcmVPcHRpb25zOiAoeyBvcGVuIH06IHsgb3BlbjogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICB9O1xuICAgIHRhYmxlOiB7XG4gICAgICBjb250cm9sczoge1xuICAgICAgICBQcmV2UGFnZTogKHsgZGlzYWJsZWQgfTogeyBkaXNhYmxlZDogYm9vbGVhbiB9KSA9PiBKU1guRWxlbWVudDtcbiAgICAgICAgTmV4dFBhZ2U6ICh7IGRpc2FibGVkIH06IHsgZGlzYWJsZWQ6IGJvb2xlYW4gfSkgPT4gSlNYLkVsZW1lbnQ7XG4gICAgICB9O1xuICAgIH07XG4gICAgdG9vbHRpcDoge1xuICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIH07XG4gICAgYWRhcHRpdmVEaWFsb2c6IHtcbiAgICAgIGRpYWxvZ0NsYXNzTmFtZTogc3RyaW5nO1xuICAgICAgYmFja2Ryb3BDbGFzc05hbWU6IHN0cmluZztcbiAgICAgIHZhcmlhbnQ6IHtcbiAgICAgICAgW2sgaW4gRnJvbU9uZVBlcmNlbnRVdGlsaXR5PFwiVUlFbGVtZW50cy5BZGFwdGl2ZURpYWxvZ1ZhcmlhbnRzXCI+XTogc3RyaW5nO1xuICAgICAgfTtcbiAgICAgIGNsb3NlQnV0dG9uOiB7XG4gICAgICAgIC8qKiBPdmVycmlkZXMgdGhlIGRlZmF1bHQgY2xvc2UgYnV0dG9uIHJlbmRlcmVkIG9uIHRoZSBkaWFsb2cgKi9cbiAgICAgICAgQ29tcG9uZW50PzogKHByb3BzOiB7IG9uQ2xpY2s6ICgpID0+IHZvaWQgfSkgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgfTtcbiAgICB9O1xuICAgIGFkYXB0aXZlU2lkZWJhcjoge1xuICAgICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgICBjb250cm9sQ2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgfTtcbiAgICBjaGVja2JveDoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgQ2hlY2tCb3g+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICByYWRpbzoge1xuICAgICAgQ29tcG9uZW50PzogKHByb3BzOiBDb21wb25lbnRQcm9wczx0eXBlb2YgUmFkaW8+KSA9PiBSZWFjdEVsZW1lbnQ7XG4gICAgfTtcbiAgICB0YWJzOiB7XG4gICAgICBpdGVtOiBzdHJpbmc7XG4gICAgICBjb250YWluZXI6IHN0cmluZztcbiAgICB9O1xuICB9O1xuICBob29rOiB7XG4gICAgdWk6IHtcbiAgICAgIHVzZVBhZ2luYXRpb25Db250cm9sczoge1xuICAgICAgICBMZWZ0Q29udHJvbDogKCkgPT4gUmVhY3RFbGVtZW50O1xuICAgICAgICBSaWdodENvbnRyb2w6ICgpID0+IFJlYWN0RWxlbWVudDtcbiAgICAgICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgICAgfTtcbiAgICB9O1xuICB9O1xuICBzdGF0ZToge1xuICAgIGltYWdlU2NhbGU6IEltYWdlU2NhbGVzO1xuICB9O1xufTtcblxuLyoqXG4gKiBUaGUgY29uZmlndXJhdGlvbiBvYmplY3QgdXNlZCB0byBzZXQgdXAgdGhlIFVJIHByb3ZpZGVyLlxuICovXG5leHBvcnQgdHlwZSBDb250ZXh0Q29uZmlnU3BlY3MgPSBEZWVwUGFydGlhbDxPbmVVSUNvbnRleHRTcGVjcz4gJlxuICBQYXRoT2JqZWN0PE9uZVVJQ29udGV4dFNwZWNzLCBcImNvbXBvbmVudC50ZXh0XCI+O1xuXG5jb25zdCBDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxDb250ZXh0Q29uZmlnU3BlY3M+KG51bGwgYXMgYW55KTtcblxuZnVuY3Rpb24gT25lVUlQcm92aWRlcih7XG4gIGNoaWxkcmVuLFxuICBjb25maWcsXG59OiBQcm9wc1dpdGhDaGlsZHJlbjx7IGNvbmZpZzogQ29udGV4dENvbmZpZ1NwZWNzIH0+KSB7XG4gIGNvbnN0IHByZXZDdHggPSB1c2VDb250ZXh0KENvbnRleHQpO1xuICBjb25zdCBzY2FsZSA9IHVzZUFkYXB0aXZlSW1hZ2UoKTtcbiAgY29uc3QgbWVyZ2VkQ29uZmlnID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIG1lcmdlKGNsb25lKHByZXZDdHgpLCBjb25maWcsIHtcbiAgICAgIHN0YXRlOiB7XG4gICAgICAgIGltYWdlU2NhbGU6IHNjYWxlLFxuICAgICAgfSxcbiAgICB9KTtcbiAgfSwgW3ByZXZDdHgsIGNvbmZpZywgc2NhbGVdKTtcblxuICByZXR1cm4gPENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e21lcmdlZENvbmZpZ30+e2NoaWxkcmVufTwvQ29udGV4dC5Qcm92aWRlcj47XG59XG5cbi8qKlxuICogVGhlIG1haW4gcHJvdmlkZXIgY29tcG9uZW50IHRoYXQgd3JhcHMgeW91ciBhcHAgdG8gZW5hYmxlIFVJIGZlYXR1cmVzLlxuICovXG5leHBvcnQgZGVmYXVsdCBPbmVVSVByb3ZpZGVyO1xuXG5mdW5jdGlvbiBwYXRoVG9Kc29uKFxuICBwYXRoOiBzdHJpbmcsXG4gIGtleT86IHN0cmluZyB8IFN5bWJvbCxcbiAgZXhhbXBsZUNvbmZpZyA9IFwiVEhFX01JU1NJTkdfQ09ORklHXCIsXG4pIHtcbiAgaWYgKCFrZXkpIHtcbiAgICBrZXkgPSBwYXRoLnNwbGl0KFwiLlwiKS5zbGljZSgtMSlbMF07XG4gICAgcGF0aCA9IHBhdGgucmVwbGFjZShgLiR7a2V5fWAsIFwiXCIpO1xuICB9XG5cbiAgcmV0dXJuIHBhdGhcbiAgICAuc3BsaXQoXCIuXCIpXG4gICAgLmNvbmNhdChrZXkgYXMgc3RyaW5nKVxuICAgIC5yZWR1Y2UoKHJlc3VsdCwga2V5LCBpZHgsIGFycikgPT4ge1xuICAgICAgKGFyci5zbGljZSgwLCBpZHgpLnJlZHVjZSgociwgaykgPT4gKHIgYXMgYW55KVtrXSwgcmVzdWx0KSBhcyBhbnkpW2tleV0gPVxuICAgICAgICBpZHggPT09IGFyci5sZW5ndGggLSAxID8gZXhhbXBsZUNvbmZpZyA6IHt9O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9LCB7fSk7XG59XG5cbmZ1bmN0aW9uIEVycm9yV3JhcHBlcihcbiAgb3JpZ2luYWxPYmplY3Q6IGFueSxcbiAgcGF0aDogc3RyaW5nID0gXCJjb25maWdcIixcbik6IHR5cGVvZiBQcm94eSB7XG4gIHJldHVybiBuZXcgUHJveHkoXG4gICAgdHlwZW9mIG9yaWdpbmFsT2JqZWN0ICE9PSBcIm9iamVjdFwiID8ge30gOiBvcmlnaW5hbE9iamVjdCB8fCB7fSxcbiAgICB7XG4gICAgICBnZXQoX3RhcmdldCwga2V5KSB7XG4gICAgICAgIGlmIChrZXkgPT09IFN5bWJvbC50b1ByaW1pdGl2ZSB8fCBrZXkgPT09IFwiJCR0eXBlb2ZcIikge1xuICAgICAgICAgIHJldHVybiAoKSA9PiBfdGFyZ2V0W2tleV07XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IG9yaWdpbmFsT2JqZWN0W2tleV07XG4gICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiKVxuICAgICAgICAgICAgcmV0dXJuIEVycm9yV3JhcHBlcih2YWx1ZSwgW3BhdGgsIGtleV0uZmlsdGVyKEJvb2xlYW4pLmpvaW4oXCIuXCIpKTtcbiAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBjb25zdCBwYXRoSnNvbiA9IHBhdGhUb0pzb24ocGF0aCwga2V5KTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgQSBjb21wb25lbnQgaXMgdXNpbmcgdGhlIFVJIGNvbmZpZyAke1twYXRoLCBrZXldLmpvaW4oXCIuXCIpfS5cblxuUGxlYXNlIGRlZmluZSBpdCB1c2luZzpcbmltcG9ydCBPbmVVSVByb3ZpZGVyIGZyb20gXCJAb25lcGVyY2VudC9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShwYXRoSnNvbiwgbnVsbCwgNCl9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gYWNjZXNzIHRoZSBjdXJyZW50IFVJIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbnRleHQoKSB7XG4gIGNvbnN0IGNvbnRleHQgPSB1c2VDb250ZXh0KENvbnRleHQpO1xuXG4gIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgIHJldHVybiBFcnJvcldyYXBwZXIoY29udGV4dCkgYXMgdW5rbm93biBhcyBPbmVVSUNvbnRleHRTcGVjcztcblxuICByZXR1cm4gY29udGV4dCBhcyBPbmVVSUNvbnRleHRTcGVjcztcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gZ2V0IGEgc3BlY2lmaWMgVUkgdmlldyBjb21wb25lbnQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSVZpZXc8UCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4+KFxuICBvbmV1aUNvbmZpZ1BhdGg6IFAsXG4gIGNvbXBvbmVudE5hbWU6IHN0cmluZyxcbikge1xuICBjb25zdCBwcm92aWRlZFZhbHVlID0gdXNlT25lVUlDb25maWcob25ldWlDb25maWdQYXRoKTtcbiAgaWYgKCFwcm92aWRlZFZhbHVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBUaGUgY29tcG9uZW50ICR7Y29tcG9uZW50TmFtZX0gcmVxdWlyZXMgYSB2aWV3IHRvIGJlIHNldCBvbiBPbmVVSSBpbml0aWFsaXphdGlvblxuXG5WaWV3cyByZWFkeSBmb3IgdXNlIHdpdGggdGhpcyBjb21wb25lbnQgc2hhbGwgYmUgYXZhaWxhYmxlIGF0OlxuaW1wb3J0IFNvbWVWaWV3IGZyb20gXCJAb25lcGVyY2VudGlvL29uZS11aS9kaXN0L2NvbXBvbmVudHMvJHtjb21wb25lbnROYW1lfS9WaWV3L1NvbWVWaWV3XCI7XG5cblBsZWFzZSBkZWZpbmUgaXQgdXNpbmc6XG5pbXBvcnQgT25lVUlQcm92aWRlciBmcm9tIFwiQG9uZXBlcmNlbnRpby9vbmUtdWkvZGlzdC9jb250ZXh0L09uZVVJUHJvdmlkZXJcIjtcblxuICAuLi5cbiR7YDxPbmVVSVByb3ZpZGVyIGNvbmZpZz17JHtKU09OLnN0cmluZ2lmeShcbiAgcGF0aFRvSnNvbihvbmV1aUNvbmZpZ1BhdGgsIHVuZGVmaW5lZCwgXCJTb21lVmlld1wiKSxcbiAgbnVsbCxcbiAgNCxcbil9fT5cbi4uLlxuPC9PbmVVSVByb3ZpZGVyPmAucmVwbGFjZSgvWyBdL2csIFwiLVwiKX1gKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlZFZhbHVlO1xufVxuXG4vKipcbiAqIEEgaG9vayB0byByZXRyaWV2ZSBhIHNwZWNpZmljIHZhbHVlIGZyb20gdGhlIFVJIGNvbmZpZ3VyYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPj4oXG4gIHByb3A6IFAsXG4pOiBHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+O1xuZXhwb3J0IGZ1bmN0aW9uIHVzZU9uZVVJQ29uZmlnPFxuICBQIGV4dGVuZHMgRmllbGRQYXRoPE9uZVVJQ29udGV4dFNwZWNzPixcbiAgVCBleHRlbmRzIERlZXBQYXJ0aWFsPEdldDxPbmVVSUNvbnRleHRTcGVjcywgUD4+LFxuPihwcm9wOiBQLCBkZWZhdWx0VmFsdWU6IFQpOiBOb25OdWxsYWJsZTxHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+PjtcbmV4cG9ydCBmdW5jdGlvbiB1c2VPbmVVSUNvbmZpZzxcbiAgUCBleHRlbmRzIEZpZWxkUGF0aDxPbmVVSUNvbnRleHRTcGVjcz4sXG4gIFQgZXh0ZW5kcyBHZXQ8T25lVUlDb250ZXh0U3BlY3MsIFA+LFxuPihwcm9wOiBQLCBkZWZhdWx0VmFsdWU/OiBUKTogR2V0PE9uZVVJQ29udGV4dFNwZWNzLCBQPiB8IFQge1xuICBjb25zdCBjb250ZXh0ID0gdXNlQ29udGV4dChDb250ZXh0KTtcbiAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICBjb25zdCB2YWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHJldHVybiBnZXQoY29udGV4dCwgcHJvcCk7XG4gICAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgICBpZiAoXG4gICAgICB0eXBlb2YgdmFsID09PSBcInN0cmluZ1wiIHx8XG4gICAgICB0eXBlb2YgdmFsID09PSBcImZ1bmN0aW9uXCIgfHxcbiAgICAgIHByb3AuZW5kc1dpdGgoXCIuQ29tcG9uZW50XCIpIHx8XG4gICAgICBwcm9wLmVuZHNXaXRoKFwiLlZpZXdcIilcbiAgICApXG4gICAgICByZXR1cm4gKHZhbCBhcyBhbnkpIHx8IGRlZmF1bHRWYWx1ZTtcblxuICAgIGlmICh0eXBlb2YgdmFsID09PSBcImJvb2xlYW5cIikgcmV0dXJuIHZhbCBhcyBhbnk7XG4gICAgcmV0dXJuIEVycm9yV3JhcHBlcih2YWwgfHwgZGVmYXVsdFZhbHVlKSBhcyB1bmtub3duIGFzIE5vbk51bGxhYmxlPFQ+O1xuICB9XG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbygoKSA9PiB7XG4gICAgcmV0dXJuIGdldChjb250ZXh0LCBwcm9wKTtcbiAgfSwgW2NvbnRleHQsIHByb3BdKTtcbiAgcmV0dXJuIHZhbHVlIHx8IGRlZmF1bHRWYWx1ZTtcbn1cblxuLyoqXG4gKiBBIGhvb2sgdG8gZ2V0IHRoZSBjdXJyZW50IGltYWdlIHNjYWxlIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2VDdXJyZW50SW1hZ2VTY2FsZSgpIHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIGNvbnRleHQuc3RhdGUhLmltYWdlU2NhbGUhO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQ0EsSUFBQUEsSUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsTUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsVUFBQSxHQUFBSCxzQkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUcsTUFBQSxHQUFBQyx1QkFBQSxDQUFBSixPQUFBO0FBV0EsSUFBQUssaUJBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUE0RCxTQUFBTSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsV0FBQSxXQUFBQSxXQUFBLEdBQUFHLGdCQUFBLEdBQUFELGlCQUFBLEtBQUFGLFdBQUE7QUFBQSxTQUFBSCx3QkFBQU8sR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLG9CQUFBQSxHQUFBLHdCQUFBQSxHQUFBLDRCQUFBRSxPQUFBLEVBQUFGLEdBQUEsVUFBQUcsS0FBQSxHQUFBUix3QkFBQSxDQUFBQyxXQUFBLE9BQUFPLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFKLEdBQUEsWUFBQUcsS0FBQSxDQUFBRSxHQUFBLENBQUFMLEdBQUEsU0FBQU0sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFYLEdB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
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useDependencyChangeDetection;
|
|
7
|
+
var _react = require("react");
|
|
4
8
|
function useDependencyChangeDetection(tag, dependencyArray) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}, [dependencyArray[dependencyIndex]]);
|
|
16
|
-
}
|
|
9
|
+
for (let dependencyIndex in dependencyArray) {
|
|
10
|
+
const prevValue = (0, _react.useRef)(undefined);
|
|
11
|
+
(0, _react.useEffect)(() => {
|
|
12
|
+
if (!prevValue.current) return;
|
|
13
|
+
if (process.env.NODE_ENV === "development") require('../../models/DebugLogger').default("".concat(useDependencyChangeDetection.name, ":").concat(tag), "Element index ".concat(dependencyIndex, " (prev: ").concat(JSON.stringify(prevValue.current), ") (new: ").concat(JSON.stringify(dependencyArray[dependencyIndex]), ") has changed"));
|
|
14
|
+
}, [dependencyArray[dependencyIndex]]);
|
|
15
|
+
(0, _react.useEffect)(() => {
|
|
16
|
+
prevValue.current = dependencyArray[dependencyIndex];
|
|
17
|
+
}, [dependencyArray[dependencyIndex]]);
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
|
-
|
|
19
|
-
//# sourceMappingURL=useDependencyChangeDetection.js.map
|
|
20
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlRGVwZW5kZW5jeUNoYW5nZURldGVjdGlvbiIsInRhZyIsImRlcGVuZGVuY3lBcnJheSIsImRlcGVuZGVuY3lJbmRleCIsInByZXZWYWx1ZSIsInVzZVJlZiIsInVuZGVmaW5lZCIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJkZWZhdWx0IiwiY29uY2F0IiwibmFtZSIsIkpTT04iLCJzdHJpbmdpZnkiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvbG9ncy91c2VEZXBlbmRlbmN5Q2hhbmdlRGV0ZWN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmIH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZURlcGVuZGVuY3lDaGFuZ2VEZXRlY3Rpb24oXG4gIHRhZzogc3RyaW5nLFxuICBkZXBlbmRlbmN5QXJyYXk6IGFueVtdXG4pIHtcbiAgZm9yIChsZXQgZGVwZW5kZW5jeUluZGV4IGluIGRlcGVuZGVuY3lBcnJheSkge1xuICAgIGNvbnN0IHByZXZWYWx1ZSA9IHVzZVJlZjxhbnk+KHVuZGVmaW5lZCk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmICghcHJldlZhbHVlLmN1cnJlbnQpIHJldHVybjtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKVxuICAgICAgICByZXF1aXJlKCcuLi8uLi9tb2RlbHMvRGVidWdMb2dnZXInKS5kZWZhdWx0KFxuICAgICAgICAgIGAke3VzZURlcGVuZGVuY3lDaGFuZ2VEZXRlY3Rpb24ubmFtZX06JHt0YWd9YCxcbiAgICAgICAgICBgRWxlbWVudCBpbmRleCAke2RlcGVuZGVuY3lJbmRleH0gKHByZXY6ICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgICBwcmV2VmFsdWUuY3VycmVudFxuICAgICAgICAgICl9KSAobmV3OiAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgICAgICAgZGVwZW5kZW5jeUFycmF5W2RlcGVuZGVuY3lJbmRleF1cbiAgICAgICAgICApfSkgaGFzIGNoYW5nZWRgXG4gICAgICAgICk7XG4gICAgfSwgW2RlcGVuZGVuY3lBcnJheVtkZXBlbmRlbmN5SW5kZXhdXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIHByZXZWYWx1ZS5jdXJyZW50ID0gZGVwZW5kZW5jeUFycmF5W2RlcGVuZGVuY3lJbmRleF07XG4gICAgfSwgW2RlcGVuZGVuY3lBcnJheVtkZXBlbmRlbmN5SW5kZXhdXSk7XG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxPQUFBO0FBRWUsU0FBU0MsNEJBQTRCQSxDQUNsREMsR0FBVyxFQUNYQyxlQUFzQixFQUN0QjtFQUNBLEtBQUssSUFBSUMsZUFBZSxJQUFJRCxlQUFlLEVBQUU7SUFDM0MsTUFBTUUsU0FBUyxHQUFHLElBQUFDLGFBQU0sRUFBTUMsU0FBUyxDQUFDO0lBQ3hDLElBQUFDLGdCQUFTLEVBQUMsTUFBTTtNQUNkLElBQUksQ0FBQ0gsU0FBUyxDQUFDSSxPQUFPLEVBQUU7TUFDeEIsSUFBSUMsT0FBTyxDQUFDQyxHQUFHLENBQUNDLFFBQVEsS0FBSyxhQUFhLEVBQ3hDWixPQUFPLENBQUMsMEJBQTBCLENBQUMsQ0FBQ2EsT0FBTyxJQUFBQyxNQUFBLENBQ3RDYiw0QkFBNEIsQ0FBQ2MsSUFBSSxPQUFBRCxNQUFBLENBQUlaLEdBQUcsb0JBQUFZLE1BQUEsQ0FDMUJWLGVBQWUsY0FBQVUsTUFBQSxDQUFXRSxJQUFJLENBQUNDLFNBQVMsQ0FDdkRaLFNBQVMsQ0FBQ0ksT0FDWixDQUFDLGNBQUFLLE1BQUEsQ0FBV0UsSUFBSSxDQUFDQyxTQUFTLENBQ3hCZCxlQUFlLENBQUNDLGVBQWUsQ0FDakMsQ0FBQyxrQkFDSCxDQUFDO0lBQ0wsQ0FBQyxFQUFFLENBQUNELGVBQWUsQ0FBQ0MsZUFBZSxDQUFDLENBQUMsQ0FBQztJQUN0QyxJQUFBSSxnQkFBUyxFQUFDLE1BQU07TUFDZEgsU0FBUyxDQUFDSSxPQUFPLEdBQUdOLGVBQWUsQ0FBQ0MsZUFBZSxDQUFDO0lBQ3RELENBQUMsRUFBRSxDQUFDRCxlQUFlLENBQUNDLGVBQWUsQ0FBQyxDQUFDLENBQUM7RUFDeEM7QUFDRiJ9
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useIsMounting;
|
|
7
|
+
var _react = require("react");
|
|
4
8
|
function useIsMounting(tag) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
9
|
+
(0, _react.useEffect)(() => {
|
|
10
|
+
console.log(tag + " is mounting");
|
|
11
|
+
}, []);
|
|
8
12
|
}
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=useIsMounting.js.map
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwidXNlSXNNb3VudGluZyIsInRhZyIsInVzZUVmZmVjdCIsImNvbnNvbGUiLCJsb2ciXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvbG9ncy91c2VJc01vdW50aW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB1c2VJc01vdW50aW5nKHRhZzogc3RyaW5nKSB7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2codGFnICsgXCIgaXMgbW91bnRpbmdcIilcbiAgICB9LCBbXSk7XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLE9BQUE7QUFFZSxTQUFTQyxhQUFhQSxDQUFDQyxHQUFXLEVBQUU7RUFDL0MsSUFBQUMsZ0JBQVMsRUFBQyxNQUFNO0lBQ1pDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDSCxHQUFHLEdBQUcsY0FBYyxDQUFDO0VBQ3JDLENBQUMsRUFBRSxFQUFFLENBQUM7QUFDViJ9
|
|
@@ -1,47 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = useLocalStorage;
|
|
7
|
+
var _react = require("react");
|
|
4
8
|
const DUD = typeof "";
|
|
5
|
-
const toString =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
const toString = val => {
|
|
10
|
+
switch (typeof val) {
|
|
11
|
+
case "boolean":
|
|
12
|
+
return !val ? "0" : "1";
|
|
13
|
+
case "string":
|
|
14
|
+
return val;
|
|
15
|
+
case "object":
|
|
16
|
+
return JSON.stringify(val);
|
|
17
|
+
default:
|
|
18
|
+
throw new Error("Doesn't know how to handle type " + typeof val);
|
|
19
|
+
}
|
|
16
20
|
};
|
|
17
21
|
const fromString = (type, value) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
switch (type) {
|
|
23
|
+
case "boolean":
|
|
24
|
+
return value === "1";
|
|
25
|
+
case "string":
|
|
26
|
+
return value;
|
|
27
|
+
case "object":
|
|
28
|
+
return JSON.parse(value);
|
|
29
|
+
default:
|
|
30
|
+
throw new Error("Doesn't know how to handle type " + type);
|
|
31
|
+
}
|
|
28
32
|
};
|
|
29
33
|
function useLocalStorage(id, defaultValue) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
(
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
}, []);
|
|
44
|
-
return [val, setVal, del];
|
|
34
|
+
const [val, setVal] = (0, _react.useState)(() => {
|
|
35
|
+
const persistedValue = localStorage.getItem(id);
|
|
36
|
+
if (persistedValue === null) return defaultValue;
|
|
37
|
+
return fromString(typeof defaultValue, persistedValue);
|
|
38
|
+
});
|
|
39
|
+
(0, _react.useEffect)(() => {
|
|
40
|
+
if (val !== defaultValue) localStorage.setItem(id, toString(val));
|
|
41
|
+
}, [val]);
|
|
42
|
+
const del = (0, _react.useCallback)(() => {
|
|
43
|
+
localStorage.removeItem(id);
|
|
44
|
+
setVal(defaultValue);
|
|
45
|
+
}, []);
|
|
46
|
+
return [val, setVal, del];
|
|
45
47
|
}
|
|
46
|
-
|
|
47
|
-
//# sourceMappingURL=useLocalStorage.js.map
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJyZXF1aXJlIiwiRFVEIiwidG9TdHJpbmciLCJ2YWwiLCJKU09OIiwic3RyaW5naWZ5IiwiRXJyb3IiLCJmcm9tU3RyaW5nIiwidHlwZSIsInZhbHVlIiwicGFyc2UiLCJ1c2VMb2NhbFN0b3JhZ2UiLCJpZCIsImRlZmF1bHRWYWx1ZSIsInNldFZhbCIsInVzZVN0YXRlIiwicGVyc2lzdGVkVmFsdWUiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwidXNlRWZmZWN0Iiwic2V0SXRlbSIsImRlbCIsInVzZUNhbGxiYWNrIiwicmVtb3ZlSXRlbSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9wZXJzaXN0ZW5jZS91c2VMb2NhbFN0b3JhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmNvbnN0IERVRCA9IHR5cGVvZiBcIlwiO1xudHlwZSBBdmFpbGFibGVQcmltaXRpdmVzID0gdHlwZW9mIERVRDtcbmNvbnN0IHRvU3RyaW5nID0gKHZhbDogYW55KSA9PiB7XG4gIHN3aXRjaCAodHlwZW9mIHZhbCkge1xuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gIXZhbCA/IFwiMFwiIDogXCIxXCI7XG4gICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgcmV0dXJuIHZhbDtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodmFsKTtcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRG9lc24ndCBrbm93IGhvdyB0byBoYW5kbGUgdHlwZSBcIiArIHR5cGVvZiB2YWwpO1xuICB9XG59O1xuY29uc3QgZnJvbVN0cmluZyA9ICh0eXBlOiBBdmFpbGFibGVQcmltaXRpdmVzLCB2YWx1ZTogc3RyaW5nKSA9PiB7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgXCJib29sZWFuXCI6XG4gICAgICByZXR1cm4gdmFsdWUgPT09IFwiMVwiO1xuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkRvZXNuJ3Qga25vdyBob3cgdG8gaGFuZGxlIHR5cGUgXCIgKyB0eXBlKTtcbiAgfVxufTtcbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZUxvY2FsU3RvcmFnZTxUIGV4dGVuZHMgYW55PihcbiAgaWQ6IHN0cmluZyxcbiAgZGVmYXVsdFZhbHVlOiBFeGNsdWRlPFQsIHVuZGVmaW5lZD5cbikge1xuICBjb25zdCBbdmFsLCBzZXRWYWxdID0gdXNlU3RhdGU8VD4oKCkgPT4ge1xuICAgIGNvbnN0IHBlcnNpc3RlZFZhbHVlID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oaWQpO1xuICAgIGlmIChwZXJzaXN0ZWRWYWx1ZSA9PT0gbnVsbCkgcmV0dXJuIGRlZmF1bHRWYWx1ZSBhcyBUO1xuICAgIHJldHVybiBmcm9tU3RyaW5nKHR5cGVvZiBkZWZhdWx0VmFsdWUsIHBlcnNpc3RlZFZhbHVlKSBhcyBUO1xuICB9KTtcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodmFsICE9PSBkZWZhdWx0VmFsdWUpIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGlkLCB0b1N0cmluZyh2YWwpKTtcbiAgfSwgW3ZhbF0pO1xuICBjb25zdCBkZWwgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oaWQpO1xuICAgIHNldFZhbChkZWZhdWx0VmFsdWUpO1xuICB9LCBbXSk7XG4gIHJldHVybiBbdmFsLCBzZXRWYWwsIGRlbF0gYXMgY29uc3Q7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsT0FBQTtBQUNBLE1BQU1DLEdBQUcsR0FBRyxPQUFPLEVBQUU7QUFFckIsTUFBTUMsUUFBUSxHQUFJQyxHQUFRLElBQUs7RUFDN0IsUUFBUSxPQUFPQSxHQUFHO0lBQ2hCLEtBQUssU0FBUztNQUNaLE9BQU8sQ0FBQ0EsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHO0lBQ3pCLEtBQUssUUFBUTtNQUNYLE9BQU9BLEdBQUc7SUFDWixLQUFLLFFBQVE7TUFDWCxPQUFPQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0YsR0FBRyxDQUFDO0lBQzVCO01BQ0UsTUFBTSxJQUFJRyxLQUFLLENBQUMsa0NBQWtDLEdBQUcsT0FBT0gsR0FBRyxDQUFDO0VBQ3BFO0FBQ0YsQ0FBQztBQUNELE1BQU1JLFVBQVUsR0FBR0EsQ0FBQ0MsSUFBeUIsRUFBRUMsS0FBYSxLQUFLO0VBQy9ELFFBQVFELElBQUk7SUFDVixLQUFLLFNBQVM7TUFDWixPQUFPQyxLQUFLLEtBQUssR0FBRztJQUN0QixLQUFLLFFBQVE7TUFDWCxPQUFPQSxLQUFLO0lBQ2QsS0FBSyxRQUFRO01BQ1gsT0FBT0wsSUFBSSxDQUFDTSxLQUFLLENBQUNELEtBQUssQ0FBQztJQUMxQjtNQUNFLE1BQU0sSUFBSUgsS0FBSyxDQUFDLGtDQUFrQyxHQUFHRSxJQUFJLENBQUM7RUFDOUQ7QUFDRixDQUFDO0FBQ2MsU0FBU0csZUFBZUEsQ0FDckNDLEVBQVUsRUFDVkMsWUFBbUMsRUFDbkM7RUFDQSxNQUFNLENBQUNWLEdBQUcsRUFBRVcsTUFBTSxDQUFDLEdBQUcsSUFBQUMsZUFBUSxFQUFJLE1BQU07SUFDdEMsTUFBTUMsY0FBYyxHQUFHQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ04sRUFBRSxDQUFDO0lBQy9DLElBQUlJLGNBQWMsS0FBSyxJQUFJLEVBQUUsT0FBT0gsWUFBWTtJQUNoRCxPQUFPTixVQUFVLENBQUMsT0FBT00sWUFBWSxFQUFFRyxjQUFjLENBQUM7RUFDeEQsQ0FBQyxDQUFDO0VBQ0YsSUFBQUcsZ0JBQVMsRUFBQyxNQUFNO0lBQ2QsSUFBSWhCLEdBQUcsS0FBS1UsWUFBWSxFQUFFSSxZQUFZLENBQUNHLE9BQU8sQ0FBQ1IsRUFBRSxFQUFFVixRQUFRLENBQUNDLEdBQUcsQ0FBQyxDQUFDO0VBQ25FLENBQUMsRUFBRSxDQUFDQSxHQUFHLENBQUMsQ0FBQztFQUNULE1BQU1rQixHQUFHLEdBQUcsSUFBQUMsa0JBQVcsRUFBQyxNQUFNO0lBQzVCTCxZQUFZLENBQUNNLFVBQVUsQ0FBQ1gsRUFBRSxDQUFDO0lBQzNCRSxNQUFNLENBQUNELFlBQVksQ0FBQztFQUN0QixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBQ04sT0FBTyxDQUFDVixHQUFHLEVBQUVXLE1BQU0sRUFBRU8sR0FBRyxDQUFDO0FBQzNCIn0=
|
|
@@ -1,53 +1,54 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
3
6
|
// @ts-nocheck
|
|
4
7
|
// object.watch
|
|
5
8
|
if (!Object.prototype.watch) {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
try {
|
|
25
|
-
if (delete this[prop]) {
|
|
26
|
-
// can't watch constants
|
|
27
|
-
if (Object.defineProperty) {
|
|
28
|
-
// ECMAScript 5
|
|
29
|
-
Object.defineProperty(this, prop, {
|
|
30
|
-
get: getter,
|
|
31
|
-
set: setter,
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
else if (Object.prototype.__defineGetter__ &&
|
|
35
|
-
Object.prototype.__defineSetter__) {
|
|
36
|
-
// legacy
|
|
37
|
-
Object.prototype.__defineGetter__.call(this, prop, getter);
|
|
38
|
-
Object.prototype.__defineSetter__.call(this, prop, setter);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
catch (e) { }
|
|
43
|
-
});
|
|
44
|
-
return () => {
|
|
45
|
-
this._handlers.splice(this._handlers.indexOf(handler), 1);
|
|
9
|
+
Object.prototype.watch = function (propsToWatchFor, handler) {
|
|
10
|
+
(this._handlers || (this._handlers = [])).push(handler);
|
|
11
|
+
propsToWatchFor.forEach(prop => {
|
|
12
|
+
var oldval = this[prop],
|
|
13
|
+
newval = oldval,
|
|
14
|
+
getter = function () {
|
|
15
|
+
return newval;
|
|
16
|
+
},
|
|
17
|
+
setter = function (val) {
|
|
18
|
+
if (this._watchTimer) clearTimeout(this._watchTimer);
|
|
19
|
+
this._watchTimer = setTimeout(() => {
|
|
20
|
+
for (let handler of this._handlers) handler.call();
|
|
21
|
+
clearTimeout(this._watchTimer);
|
|
22
|
+
delete this._watchTimer;
|
|
23
|
+
}, 0);
|
|
24
|
+
oldval = newval;
|
|
25
|
+
newval = val;
|
|
26
|
+
return true;
|
|
46
27
|
};
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
28
|
+
try {
|
|
29
|
+
if (delete this[prop]) {
|
|
30
|
+
// can't watch constants
|
|
31
|
+
if (Object.defineProperty) {
|
|
32
|
+
// ECMAScript 5
|
|
33
|
+
Object.defineProperty(this, prop, {
|
|
34
|
+
get: getter,
|
|
35
|
+
set: setter
|
|
36
|
+
});
|
|
37
|
+
} else if (Object.prototype.__defineGetter__ && Object.prototype.__defineSetter__) {
|
|
38
|
+
// legacy
|
|
39
|
+
Object.prototype.__defineGetter__.call(this, prop, getter);
|
|
40
|
+
Object.prototype.__defineSetter__.call(this, prop, setter);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
} catch (e) {}
|
|
51
44
|
});
|
|
45
|
+
return () => {
|
|
46
|
+
this._handlers.splice(this._handlers.indexOf(handler), 1);
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
Object.defineProperty(Object.prototype, 'watch', {
|
|
50
|
+
enumerable: false,
|
|
51
|
+
configurable: true
|
|
52
|
+
});
|
|
52
53
|
}
|
|
53
|
-
//# sourceMappingURL=
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJwcm90b3R5cGUiLCJ3YXRjaCIsInByb3BzVG9XYXRjaEZvciIsImhhbmRsZXIiLCJfaGFuZGxlcnMiLCJwdXNoIiwiZm9yRWFjaCIsInByb3AiLCJvbGR2YWwiLCJuZXd2YWwiLCJnZXR0ZXIiLCJzZXR0ZXIiLCJ2YWwiLCJfd2F0Y2hUaW1lciIsImNsZWFyVGltZW91dCIsInNldFRpbWVvdXQiLCJjYWxsIiwiZGVmaW5lUHJvcGVydHkiLCJnZXQiLCJzZXQiLCJfX2RlZmluZUdldHRlcl9fIiwiX19kZWZpbmVTZXR0ZXJfXyIsImUiLCJzcGxpY2UiLCJpbmRleE9mIiwiZW51bWVyYWJsZSIsImNvbmZpZ3VyYWJsZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9zaGltcy9PYmplY3RXYXRjaFNoaW0udHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLW5vY2hlY2tcbi8vIG9iamVjdC53YXRjaFxuaWYgKCFPYmplY3QucHJvdG90eXBlLndhdGNoKSB7XG4gIE9iamVjdC5wcm90b3R5cGUud2F0Y2ggPSBmdW5jdGlvbiAocHJvcHNUb1dhdGNoRm9yLCBoYW5kbGVyKSB7XG4gICAgKHRoaXMuX2hhbmRsZXJzIHx8ICh0aGlzLl9oYW5kbGVycyA9IFtdKSkucHVzaChoYW5kbGVyKVxuICAgIHByb3BzVG9XYXRjaEZvci5mb3JFYWNoKChwcm9wKSA9PiB7XG4gICAgICB2YXIgb2xkdmFsID0gdGhpc1twcm9wXSxcbiAgICAgICAgbmV3dmFsID0gb2xkdmFsLFxuICAgICAgICBnZXR0ZXIgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgcmV0dXJuIG5ld3ZhbDtcbiAgICAgICAgfSxcbiAgICAgICAgc2V0dGVyID0gZnVuY3Rpb24gKHZhbCkge1xuICAgICAgICAgIGlmICh0aGlzLl93YXRjaFRpbWVyKSBjbGVhclRpbWVvdXQodGhpcy5fd2F0Y2hUaW1lcik7XG4gICAgICAgICAgdGhpcy5fd2F0Y2hUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChsZXQgaGFuZGxlciBvZiB0aGlzLl9oYW5kbGVycylcbiAgICAgICAgICAgICAgaGFuZGxlci5jYWxsKCk7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5fd2F0Y2hUaW1lcik7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5fd2F0Y2hUaW1lcjtcbiAgICAgICAgICB9LCAwKTtcbiAgICAgICAgICBvbGR2YWwgPSBuZXd2YWw7XG4gICAgICAgICAgbmV3dmFsID0gdmFsO1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9O1xuICAgICAgdHJ5IHtcblxuICAgICAgICBpZiAoZGVsZXRlIHRoaXNbcHJvcF0pIHtcbiAgICAgICAgICAvLyBjYW4ndCB3YXRjaCBjb25zdGFudHNcbiAgICAgICAgICBpZiAoT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7XG4gICAgICAgICAgICAvLyBFQ01BU2NyaXB0IDUgICAgICAgICAgXG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgcHJvcCwge1xuICAgICAgICAgICAgICBnZXQ6IGdldHRlcixcbiAgICAgICAgICAgICAgc2V0OiBzZXR0ZXIsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSBpZiAoXG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18gJiZcbiAgICAgICAgICAgIE9iamVjdC5wcm90b3R5cGUuX19kZWZpbmVTZXR0ZXJfX1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gbGVnYWN5XG4gICAgICAgICAgICBPYmplY3QucHJvdG90eXBlLl9fZGVmaW5lR2V0dGVyX18uY2FsbCh0aGlzLCBwcm9wLCBnZXR0ZXIpO1xuICAgICAgICAgICAgT2JqZWN0LnByb3RvdHlwZS5fX2RlZmluZVNldHRlcl9fLmNhbGwodGhpcywgcHJvcCwgc2V0dGVyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHsgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMuX2hhbmRsZXJzLnNwbGljZSh0aGlzLl9oYW5kbGVycy5pbmRleE9mKGhhbmRsZXIpLCAxKTtcbiAgICB9O1xuICB9O1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoT2JqZWN0LnByb3RvdHlwZSwgJ3dhdGNoJywge1xuICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cbmV4cG9ydCB7fSJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0EsSUFBSSxDQUFDQSxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsS0FBSyxFQUFFO0VBQzNCRixNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsS0FBSyxHQUFHLFVBQVVDLGVBQWUsRUFBRUMsT0FBTyxFQUFFO0lBQzNELENBQUMsSUFBSSxDQUFDQyxTQUFTLEtBQUssSUFBSSxDQUFDQSxTQUFTLEdBQUcsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQ0YsT0FBTyxDQUFDO0lBQ3ZERCxlQUFlLENBQUNJLE9BQU8sQ0FBRUMsSUFBSSxJQUFLO01BQ2hDLElBQUlDLE1BQU0sR0FBRyxJQUFJLENBQUNELElBQUksQ0FBQztRQUNyQkUsTUFBTSxHQUFHRCxNQUFNO1FBQ2ZFLE1BQU0sR0FBRyxTQUFBQSxDQUFBLEVBQVk7VUFDbkIsT0FBT0QsTUFBTTtRQUNmLENBQUM7UUFDREUsTUFBTSxHQUFHLFNBQUFBLENBQVVDLEdBQUcsRUFBRTtVQUN0QixJQUFJLElBQUksQ0FBQ0MsV0FBVyxFQUFFQyxZQUFZLENBQUMsSUFBSSxDQUFDRCxXQUFXLENBQUM7VUFDcEQsSUFBSSxDQUFDQSxXQUFXLEdBQUdFLFVBQVUsQ0FBQyxNQUFNO1lBQ2xDLEtBQUssSUFBSVosT0FBTyxJQUFJLElBQUksQ0FBQ0MsU0FBUyxFQUNoQ0QsT0FBTyxDQUFDYSxJQUFJLENBQUMsQ0FBQztZQUNoQkYsWUFBWSxDQUFDLElBQUksQ0FBQ0QsV0FBVyxDQUFDO1lBQzlCLE9BQU8sSUFBSSxDQUFDQSxXQUFXO1VBQ3pCLENBQUMsRUFBRSxDQUFDLENBQUM7VUFDTEwsTUFBTSxHQUFHQyxNQUFNO1VBQ2ZBLE1BQU0sR0FBR0csR0FBRztVQUNaLE9BQU8sSUFBSTtRQUNiLENBQUM7TUFDSCxJQUFJO1FBRUYsSUFBSSxPQUFPLElBQUksQ0FBQ0wsSUFBSSxDQUFDLEVBQUU7VUFDckI7VUFDQSxJQUFJUixNQUFNLENBQUNrQixjQUFjLEVBQUU7WUFDekI7WUFDQWxCLE1BQU0sQ0FBQ2tCLGNBQWMsQ0FBQyxJQUFJLEVBQUVWLElBQUksRUFBRTtjQUNoQ1csR0FBRyxFQUFFUixNQUFNO2NBQ1hTLEdBQUcsRUFBRVI7WUFDUCxDQUFDLENBQUM7VUFDSixDQUFDLE1BQ0ksSUFDSFosTUFBTSxDQUFDQyxTQUFTLENBQUNvQixnQkFBZ0IsSUFDakNyQixNQUFNLENBQUNDLFNBQVMsQ0FBQ3FCLGdCQUFnQixFQUNqQztZQUNBO1lBQ0F0QixNQUFNLENBQUNDLFNBQVMsQ0FBQ29CLGdCQUFnQixDQUFDSixJQUFJLENBQUMsSUFBSSxFQUFFVCxJQUFJLEVBQUVHLE1BQU0sQ0FBQztZQUMxRFgsTUFBTSxDQUFDQyxTQUFTLENBQUNxQixnQkFBZ0IsQ0FBQ0wsSUFBSSxDQUFDLElBQUksRUFBRVQsSUFBSSxFQUFFSSxNQUFNLENBQUM7VUFDNUQ7UUFDRjtNQUNGLENBQUMsQ0FBQyxPQUFPVyxDQUFDLEVBQUUsQ0FBRTtJQUNoQixDQUFDLENBQUM7SUFFRixPQUFPLE1BQU07TUFDWCxJQUFJLENBQUNsQixTQUFTLENBQUNtQixNQUFNLENBQUMsSUFBSSxDQUFDbkIsU0FBUyxDQUFDb0IsT0FBTyxDQUFDckIsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzNELENBQUM7RUFDSCxDQUFDO0VBQ0RKLE1BQU0sQ0FBQ2tCLGNBQWMsQ0FBQ2xCLE1BQU0sQ0FBQ0MsU0FBUyxFQUFFLE9BQU8sRUFBRTtJQUMvQ3lCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCQyxZQUFZLEVBQUU7RUFDaEIsQ0FBQyxDQUFDO0FBQ0oifQ==
|