@semcore/core 16.0.0-prerelease.7 → 16.0.0-prerelease.9
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/lib/LastInteractionType.mjs.map +1 -0
- package/lib/core-types/Component.mjs.map +1 -0
- package/lib/core-types/UnknownProperties.mjs +2 -0
- package/lib/core-types/UnknownProperties.mjs.map +1 -0
- package/lib/core-types/reshadow.d.mjs +2 -0
- package/lib/core-types/reshadow.d.mjs.map +1 -0
- package/lib/core-types/symbols.mjs.map +1 -0
- package/lib/coreFactory.mjs.map +1 -0
- package/lib/enhancement/Children.mjs.map +1 -0
- package/lib/enhancement/Root.mjs.map +1 -0
- package/lib/enhancement/bindHandler.mjs.map +1 -0
- package/lib/enhancement/dataName.mjs.map +1 -0
- package/lib/enhancement/enhance.mjs.map +1 -0
- package/lib/enhancement/functionDefaultProps.mjs.map +1 -0
- package/lib/enhancement/hoistProps.mjs.map +1 -0
- package/lib/enhancement/i18n.mjs.map +1 -0
- package/lib/enhancement/inheritedName.mjs.map +1 -0
- package/lib/enhancement/staticChildren.mjs.map +1 -0
- package/lib/enhancement/style.mjs.map +1 -0
- package/lib/enhancement/uncontrolledProps.mjs.map +1 -0
- package/lib/index.mjs.map +1 -0
- package/lib/register.mjs.map +1 -0
- package/lib/styled/index.mjs +6 -0
- package/lib/styled/index.mjs.map +1 -0
- package/lib/styled/reshadow-core.mjs.map +1 -0
- package/lib/styled/sstyled.mjs.map +1 -0
- package/lib/theme/light.json +1 -1
- package/lib/theme/processor.mjs +307 -0
- package/lib/theme/processor.mjs.map +1 -0
- package/lib/theme/themes/auto.css +1 -1
- package/lib/theme/themes/dark.mjs +378 -0
- package/lib/theme/themes/dark.mjs.map +1 -0
- package/lib/theme/themes/default.cjs +1 -1
- package/lib/theme/themes/default.cjs.map +1 -1
- package/lib/theme/themes/default.css +1 -1
- package/lib/theme/themes/default.mjs +387 -0
- package/lib/theme/themes/default.mjs.map +1 -0
- package/lib/theme/themes/light.cjs +1 -1
- package/lib/theme/themes/light.cjs.map +1 -1
- package/lib/theme/themes/light.css +1 -1
- package/lib/theme/themes/light.mjs +387 -0
- package/lib/theme/themes/light.mjs.map +1 -0
- package/lib/theme/utils.mjs +286 -0
- package/lib/theme/utils.mjs.map +1 -0
- package/lib/utils/CSSinJS.mjs +28 -0
- package/lib/utils/CSSinJS.mjs.map +1 -0
- package/lib/utils/ScreenReaderOnly.mjs +24 -0
- package/lib/utils/ScreenReaderOnly.mjs.map +1 -0
- package/lib/utils/ThemeProvider.mjs +71 -0
- package/lib/utils/ThemeProvider.mjs.map +1 -0
- package/lib/utils/addonText.mjs +11 -0
- package/lib/utils/addonText.mjs.map +1 -0
- package/lib/utils/addonTextChildren.mjs +37 -0
- package/lib/utils/addonTextChildren.mjs.map +1 -0
- package/lib/utils/ariaProps.mjs +16 -0
- package/lib/utils/ariaProps.mjs.map +1 -0
- package/lib/utils/assignProps.mjs.map +1 -0
- package/lib/utils/canUseDOM.mjs.map +1 -0
- package/lib/utils/capitalizeFirstLetter.mjs.map +1 -0
- package/lib/utils/color.mjs +196 -0
- package/lib/utils/color.mjs.map +1 -0
- package/lib/utils/compose.mjs +15 -0
- package/lib/utils/compose.mjs.map +1 -0
- package/lib/utils/createHoc.mjs +46 -0
- package/lib/utils/createHoc.mjs.map +1 -0
- package/lib/utils/createUUID.mjs +9 -0
- package/lib/utils/createUUID.mjs.map +1 -0
- package/lib/utils/cssToIntDefault.mjs +16 -0
- package/lib/utils/cssToIntDefault.mjs.map +1 -0
- package/lib/utils/enhances/WithAutoFocus.mjs +67 -0
- package/lib/utils/enhances/WithAutoFocus.mjs.map +1 -0
- package/lib/utils/enhances/WithCSS.mjs +79 -0
- package/lib/utils/enhances/WithCSS.mjs.map +1 -0
- package/lib/utils/enhances/WithI18n.mjs.map +1 -0
- package/lib/utils/enhances/WithKeyboardFocus.mjs +84 -0
- package/lib/utils/enhances/WithKeyboardFocus.mjs.map +1 -0
- package/lib/utils/enhances/WithRef.mjs +18 -0
- package/lib/utils/enhances/WithRef.mjs.map +1 -0
- package/lib/utils/enhances/a11yEnhance.mjs +66 -0
- package/lib/utils/enhances/a11yEnhance.mjs.map +1 -0
- package/lib/utils/enhances/animatedSizeEnhance.mjs +90 -0
- package/lib/utils/enhances/animatedSizeEnhance.mjs.map +1 -0
- package/lib/utils/enhances/autoFocusEnhance.mjs +38 -0
- package/lib/utils/enhances/autoFocusEnhance.mjs.map +1 -0
- package/lib/utils/enhances/contextEnhance.mjs +14 -0
- package/lib/utils/enhances/contextEnhance.mjs.map +1 -0
- package/lib/utils/enhances/i18nEnhance.mjs +92 -0
- package/lib/utils/enhances/i18nEnhance.mjs.map +1 -0
- package/lib/utils/enhances/keyboardFocusEnhance.mjs +57 -0
- package/lib/utils/enhances/keyboardFocusEnhance.mjs.map +1 -0
- package/lib/utils/enhances/resolveColorEnhance.mjs +17 -0
- package/lib/utils/enhances/resolveColorEnhance.mjs.map +1 -0
- package/lib/utils/eventEmitter.mjs +34 -0
- package/lib/utils/eventEmitter.mjs.map +1 -0
- package/lib/utils/findComponent.mjs +95 -0
- package/lib/utils/findComponent.mjs.map +1 -0
- package/lib/utils/fire.mjs +15 -0
- package/lib/utils/fire.mjs.map +1 -0
- package/lib/utils/focus-lock/focusBorders.mjs +62 -0
- package/lib/utils/focus-lock/focusBorders.mjs.map +1 -0
- package/lib/utils/focus-lock/getFocusableIn.mjs +19 -0
- package/lib/utils/focus-lock/getFocusableIn.mjs.map +1 -0
- package/lib/utils/focus-lock/isFocusInside.mjs +9 -0
- package/lib/utils/focus-lock/isFocusInside.mjs.map +1 -0
- package/lib/utils/focus-lock/isFocusable.mjs +43 -0
- package/lib/utils/focus-lock/isFocusable.mjs.map +1 -0
- package/lib/utils/focus-lock/setFocus.mjs +55 -0
- package/lib/utils/focus-lock/setFocus.mjs.map +1 -0
- package/lib/utils/getAccessibleName.mjs +49 -0
- package/lib/utils/getAccessibleName.mjs.map +1 -0
- package/lib/utils/getDisplayName.mjs +4 -0
- package/lib/utils/getDisplayName.mjs.map +1 -0
- package/lib/utils/getEventTarget.mjs +45 -0
- package/lib/utils/getEventTarget.mjs.map +1 -0
- package/lib/utils/getOriginChildren.mjs +10 -0
- package/lib/utils/getOriginChildren.mjs.map +1 -0
- package/lib/utils/getRandomInt.mjs +5 -0
- package/lib/utils/getRandomInt.mjs.map +1 -0
- package/lib/utils/getValue.mjs +10 -0
- package/lib/utils/getValue.mjs.map +1 -0
- package/lib/utils/hasLabels.mjs +39 -0
- package/lib/utils/hasLabels.mjs.map +1 -0
- package/lib/utils/hasParent.mjs +7 -0
- package/lib/utils/hasParent.mjs.map +1 -0
- package/lib/utils/if.mjs +9 -0
- package/lib/utils/if.mjs.map +1 -0
- package/lib/utils/ifChildren.mjs +10 -0
- package/lib/utils/ifChildren.mjs.map +1 -0
- package/lib/utils/injectStyle.mjs +41 -0
- package/lib/utils/injectStyle.mjs.map +1 -0
- package/lib/utils/inputProps.mjs +14 -0
- package/lib/utils/inputProps.mjs.map +1 -0
- package/lib/utils/isNode.mjs +21 -0
- package/lib/utils/isNode.mjs.map +1 -0
- package/lib/utils/isPromise.mjs +4 -0
- package/lib/utils/isPromise.mjs.map +1 -0
- package/lib/utils/isRetina.mjs +9 -0
- package/lib/utils/isRetina.mjs.map +1 -0
- package/lib/utils/logger.mjs.map +1 -0
- package/lib/utils/numericChecker.mjs +27 -0
- package/lib/utils/numericChecker.mjs.map +1 -0
- package/lib/utils/ownerDocument.mjs +4 -0
- package/lib/utils/ownerDocument.mjs.map +1 -0
- package/lib/utils/pick.mjs.map +1 -0
- package/lib/utils/propsForElement.mjs +50 -0
- package/lib/utils/propsForElement.mjs.map +1 -0
- package/lib/utils/rafTrottle.mjs +26 -0
- package/lib/utils/rafTrottle.mjs.map +1 -0
- package/lib/utils/reactToText.mjs +26 -0
- package/lib/utils/reactToText.mjs.map +1 -0
- package/lib/utils/ref.mjs.map +1 -0
- package/lib/utils/setRef.mjs +3 -0
- package/lib/utils/setRef.mjs.map +1 -0
- package/lib/utils/syncScroll.mjs +54 -0
- package/lib/utils/syncScroll.mjs.map +1 -0
- package/lib/utils/uncontroll.mjs +38 -0
- package/lib/utils/uncontroll.mjs.map +1 -0
- package/lib/utils/uniqueID.mjs +33 -0
- package/lib/utils/uniqueID.mjs.map +1 -0
- package/lib/utils/use/useColorResolver.mjs +200 -0
- package/lib/utils/use/useColorResolver.mjs.map +1 -0
- package/lib/utils/use/useCss.mjs +12 -0
- package/lib/utils/use/useCss.mjs.map +1 -0
- package/lib/utils/use/useEnhancedEffect.mjs.map +1 -0
- package/lib/utils/use/useEventCallback.mjs +19 -0
- package/lib/utils/use/useEventCallback.mjs.map +1 -0
- package/lib/utils/use/useEventListener.mjs +25 -0
- package/lib/utils/use/useEventListener.mjs.map +1 -0
- package/lib/utils/use/useFocusLock.mjs +266 -0
- package/lib/utils/use/useFocusLock.mjs.map +1 -0
- package/lib/utils/use/usePreventScroll.mjs +70 -0
- package/lib/utils/use/usePreventScroll.mjs.map +1 -0
- package/lib/utils/useCssVariable.mjs +46 -0
- package/lib/utils/useCssVariable.mjs.map +1 -0
- package/lib/utils/zIndexStacking.mjs +38 -0
- package/lib/utils/zIndexStacking.mjs.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import getDisplayName from "../getDisplayName.mjs";
|
|
4
|
+
import hoistNonReactStatics from 'hoist-non-react-statics';
|
|
5
|
+
function WithForwardRef() {
|
|
6
|
+
return function ForwardRef(Component) {
|
|
7
|
+
var Wrapped = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
8
|
+
// @ts-ignore
|
|
9
|
+
return /*#__PURE__*/React.createElement(Component, _extends({}, Component.defaultProps || {}, props, {
|
|
10
|
+
forwardedRef: ref
|
|
11
|
+
}));
|
|
12
|
+
});
|
|
13
|
+
Wrapped.displayName = getDisplayName(Component);
|
|
14
|
+
return hoistNonReactStatics(Wrapped, Component);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
export default WithForwardRef;
|
|
18
|
+
//# sourceMappingURL=WithRef.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WithRef.mjs","names":["React","getDisplayName","hoistNonReactStatics","WithForwardRef","ForwardRef","Component","Wrapped","forwardRef","props","ref","createElement","_extends","defaultProps","forwardedRef","displayName"],"sources":["../../../src/utils/enhances/WithRef.tsx"],"sourcesContent":["import React from 'react';\nimport getDisplayName from '../getDisplayName';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nfunction WithForwardRef() {\n return function ForwardRef<T extends React.ComponentType>(Component: T) {\n const Wrapped = React.forwardRef((props, ref) => {\n // @ts-ignore\n return <Component {...(Component.defaultProps || {})} {...props} forwardedRef={ref} />;\n });\n Wrapped.displayName = getDisplayName(Component);\n return hoistNonReactStatics(Wrapped, Component) as any;\n };\n}\n\nexport default WithForwardRef;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,cAAc,MAAM,uBAAmB;AAC9C,OAAOC,oBAAoB,MAAM,yBAAyB;AAE1D,SAASC,cAAcA,CAAA,EAAG;EACxB,OAAO,SAASC,UAAUA,CAAgCC,SAAY,EAAE;IACtE,IAAMC,OAAO,gBAAGN,KAAK,CAACO,UAAU,CAAC,UAACC,KAAK,EAAEC,GAAG,EAAK;MAC/C;MACA,oBAAOT,KAAA,CAAAU,aAAA,CAACL,SAAS,EAAAM,QAAA,KAAMN,SAAS,CAACO,YAAY,IAAI,CAAC,CAAC,EAAOJ,KAAK;QAAEK,YAAY,EAAEJ;MAAI,GAAG;IACxF,CAAC,CAAC;IACFH,OAAO,CAACQ,WAAW,GAAGb,cAAc,CAACI,SAAS,CAAC;IAC/C,OAAOH,oBAAoB,CAACI,OAAO,EAAED,SAAS,CAAC;EACjD,CAAC;AACH;AAEA,eAAeF,cAAc"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
3
|
+
import { callAllEventHandlers } from "../assignProps.mjs";
|
|
4
|
+
var defaultOnNeighborChange = function defaultOnNeighborChange(neighborElement) {
|
|
5
|
+
neighborElement === null || neighborElement === void 0 ? void 0 : neighborElement.focus();
|
|
6
|
+
};
|
|
7
|
+
var defaultFindNeighbor = function defaultFindNeighbor(listSelectors, element, direction) {
|
|
8
|
+
var elementSibling = ['right', 'top'].includes(direction) ? 1 : -1;
|
|
9
|
+
var indexElement = listSelectors.findIndex(function (node) {
|
|
10
|
+
return node === element;
|
|
11
|
+
});
|
|
12
|
+
var lengthList = listSelectors.length;
|
|
13
|
+
var lastIndex = lengthList - 1;
|
|
14
|
+
var indexNext = indexElement + elementSibling;
|
|
15
|
+
if (indexNext < 0) indexNext = lastIndex;
|
|
16
|
+
if (indexNext > lastIndex) indexNext = 0;
|
|
17
|
+
return listSelectors[indexNext];
|
|
18
|
+
};
|
|
19
|
+
var a11yEnhance = function a11yEnhance(options) {
|
|
20
|
+
var findNeighbor = options.findNeighbor || defaultFindNeighbor;
|
|
21
|
+
var onNeighborChange = options.onNeighborChange || defaultOnNeighborChange;
|
|
22
|
+
var childSelector = options.childSelector;
|
|
23
|
+
return function (props) {
|
|
24
|
+
if (!childSelector) throw "parameter childSelector not passed in options for a11yEnhance for ".concat(props['data-ui-name']);
|
|
25
|
+
var getNeighbor = function getNeighbor(listSelectors, element, direction) {
|
|
26
|
+
var neighbor = findNeighbor(listSelectors, element, direction);
|
|
27
|
+
if (!neighbor) return element;
|
|
28
|
+
if ('disabled' in neighbor && neighbor.disabled) return getNeighbor(listSelectors, neighbor, direction);
|
|
29
|
+
return neighbor;
|
|
30
|
+
};
|
|
31
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
32
|
+
var parent = event.currentTarget;
|
|
33
|
+
var selectedElement = event.target;
|
|
34
|
+
var _ref = typeof childSelector === 'function' ? childSelector(props) : childSelector,
|
|
35
|
+
_ref2 = _slicedToArray(_ref, 2),
|
|
36
|
+
childAttrName = _ref2[0],
|
|
37
|
+
childAttrValue = _ref2[1];
|
|
38
|
+
if (!selectedElement.getAttribute(childAttrName)) return;
|
|
39
|
+
var listSelectors = Array.from(parent.querySelectorAll("[".concat(childAttrName, "=\"").concat(childAttrValue, "\"]")));
|
|
40
|
+
if (!listSelectors.length) throw "no children found querySelectorAll([".concat(childAttrName, "=\"").concat(childAttrValue, "\"] a11yEnhance for ").concat(props['data-ui-name']);
|
|
41
|
+
switch (event.key) {
|
|
42
|
+
case 'ArrowLeft':
|
|
43
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'left'), props);
|
|
44
|
+
event.preventDefault();
|
|
45
|
+
break;
|
|
46
|
+
case 'ArrowTop':
|
|
47
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'top'), props);
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
break;
|
|
50
|
+
case 'ArrowRight':
|
|
51
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'right'), props);
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
break;
|
|
54
|
+
case 'ArrowBottom':
|
|
55
|
+
onNeighborChange(getNeighbor(listSelectors, selectedElement, 'bottom'), props);
|
|
56
|
+
event.preventDefault();
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
return _objectSpread(_objectSpread({}, props), {}, {
|
|
61
|
+
onKeyDown: callAllEventHandlers(props.onKeyDown, handleKeyDown)
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
export default a11yEnhance;
|
|
66
|
+
//# sourceMappingURL=a11yEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"a11yEnhance.mjs","names":["callAllEventHandlers","defaultOnNeighborChange","neighborElement","focus","defaultFindNeighbor","listSelectors","element","direction","elementSibling","includes","indexElement","findIndex","node","lengthList","length","lastIndex","indexNext","a11yEnhance","options","findNeighbor","onNeighborChange","childSelector","props","concat","getNeighbor","neighbor","disabled","handleKeyDown","event","parent","currentTarget","selectedElement","target","_ref","_ref2","_slicedToArray","childAttrName","childAttrValue","getAttribute","Array","from","querySelectorAll","key","preventDefault","_objectSpread","onKeyDown"],"sources":["../../../src/utils/enhances/a11yEnhance.tsx"],"sourcesContent":["import { callAllEventHandlers } from '../assignProps';\nimport React from 'react';\n\ntype OnNeighborChange<P> = (neighborElement: HTMLElement, props: P) => void;\ntype FindNeighbor = (\n listSelectors: HTMLElement[],\n element: HTMLElement,\n direction: string,\n) => HTMLElement | undefined;\ntype ChildSelector<P> = [string, string] | ((props: P) => [string, string]);\n\ntype A11yEnhanceOptions<P = any> = {\n findNeighbor?: FindNeighbor;\n onNeighborChange?: OnNeighborChange<P>;\n childSelector: ChildSelector<P>;\n};\n\nconst defaultOnNeighborChange: OnNeighborChange<any> = (neighborElement) => {\n neighborElement?.focus();\n};\n\nconst defaultFindNeighbor: FindNeighbor = (listSelectors, element, direction) => {\n const elementSibling = ['right', 'top'].includes(direction) ? 1 : -1;\n const indexElement = listSelectors.findIndex((node) => node === element);\n const lengthList = listSelectors.length;\n\n const lastIndex = lengthList - 1;\n let indexNext = indexElement + elementSibling;\n if (indexNext < 0) indexNext = lastIndex;\n if (indexNext > lastIndex) indexNext = 0;\n return listSelectors[indexNext];\n};\n\nconst a11yEnhance = (options: A11yEnhanceOptions) => {\n const findNeighbor = options.findNeighbor || defaultFindNeighbor;\n const onNeighborChange = options.onNeighborChange || defaultOnNeighborChange;\n const { childSelector } = options;\n\n return (props: any) => {\n if (!childSelector)\n throw `parameter childSelector not passed in options for a11yEnhance for ${props['data-ui-name']}`;\n const getNeighbor = (\n listSelectors: any,\n element: HTMLElement,\n direction: string,\n ): HTMLElement => {\n const neighbor = findNeighbor(listSelectors, element, direction);\n if (!neighbor) return element;\n if ('disabled' in neighbor && neighbor.disabled)\n return getNeighbor(listSelectors, neighbor, direction);\n return neighbor;\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n const parent = event.currentTarget;\n const selectedElement = event.target as HTMLElement;\n const [childAttrName, childAttrValue] =\n typeof childSelector === 'function' ? childSelector(props) : childSelector;\n if (!selectedElement.getAttribute(childAttrName)) return;\n\n const listSelectors = Array.from(\n parent.querySelectorAll(`[${childAttrName}=\"${childAttrValue}\"]`),\n );\n if (!listSelectors.length)\n throw `no children found querySelectorAll([${childAttrName}=\"${childAttrValue}\"] a11yEnhance for ${props['data-ui-name']}`;\n\n switch (event.key) {\n case 'ArrowLeft':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'left'), props);\n event.preventDefault();\n break;\n case 'ArrowTop':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'top'), props);\n event.preventDefault();\n break;\n case 'ArrowRight':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'right'), props);\n event.preventDefault();\n break;\n case 'ArrowBottom':\n onNeighborChange(getNeighbor(listSelectors, selectedElement, 'bottom'), props);\n event.preventDefault();\n break;\n }\n };\n\n return {\n ...props,\n onKeyDown: callAllEventHandlers(props.onKeyDown, handleKeyDown),\n };\n };\n};\n\nexport default a11yEnhance;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
3
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
4
|
+
var _excluded = ["ref", "__animatedEnhanceInstanceId", "duration"];
|
|
5
|
+
import React from 'react';
|
|
6
|
+
import { useForkRef } from "../ref.mjs";
|
|
7
|
+
import useEnhancedEffect from "../use/useEnhancedEffect.mjs";
|
|
8
|
+
var uniqueId = 0;
|
|
9
|
+
function animatedSizeEnhance(_ref) {
|
|
10
|
+
var _ref$animateProps = _ref.animateProps,
|
|
11
|
+
animateProps = _ref$animateProps === void 0 ? [] : _ref$animateProps,
|
|
12
|
+
_ref$onChangeOf = _ref.onChangeOf,
|
|
13
|
+
onChangeOf = _ref$onChangeOf === void 0 ? [] : _ref$onChangeOf;
|
|
14
|
+
return function (props) {
|
|
15
|
+
var ref = props.ref,
|
|
16
|
+
__animatedEnhanceInstanceId = props.__animatedEnhanceInstanceId,
|
|
17
|
+
duration = props.duration,
|
|
18
|
+
other = _objectWithoutProperties(props, _excluded);
|
|
19
|
+
var nodeRef = /*#__PURE__*/React.createRef();
|
|
20
|
+
var lastSizesRef = React.useRef([]);
|
|
21
|
+
var prevPropsRef = React.useRef(props);
|
|
22
|
+
var animatedSizeInstanceIdRef = React.useRef(uniqueId++);
|
|
23
|
+
prevPropsRef.current = props;
|
|
24
|
+
useEnhancedEffect(function () {
|
|
25
|
+
if (props.animationsDisabled) return;
|
|
26
|
+
if (__animatedEnhanceInstanceId !== undefined && __animatedEnhanceInstanceId !== animatedSizeInstanceIdRef.current) return;
|
|
27
|
+
if (!nodeRef.current) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
var node = nodeRef.current;
|
|
31
|
+
if (lastSizesRef.current.every(function (value) {
|
|
32
|
+
return value === undefined;
|
|
33
|
+
})) {
|
|
34
|
+
for (var i = 0; i < animateProps.length; i++) {
|
|
35
|
+
lastSizesRef.current[i] = node.getBoundingClientRect()[animateProps[i]];
|
|
36
|
+
}
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
var sizes = [];
|
|
40
|
+
for (var _i = 0; _i < animateProps.length; _i++) {
|
|
41
|
+
sizes[_i] = node.getBoundingClientRect()[animateProps[_i]];
|
|
42
|
+
if (Math.abs(lastSizesRef.current[_i] - sizes[_i]) < 3 || node.style.getPropertyValue(animateProps[_i]).endsWith('%')) {
|
|
43
|
+
lastSizesRef.current[_i] = sizes[_i];
|
|
44
|
+
sizes[_i] = undefined;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
if (sizes.every(function (value) {
|
|
48
|
+
return value === undefined;
|
|
49
|
+
})) return;
|
|
50
|
+
node.style.transition = 'none';
|
|
51
|
+
for (var _i2 = 0; _i2 < animateProps.length; _i2++) {
|
|
52
|
+
node.style[animateProps[_i2]] = "".concat(lastSizesRef.current[_i2], "px");
|
|
53
|
+
}
|
|
54
|
+
var timeout = -1;
|
|
55
|
+
var handleTransitionEnd = function handleTransitionEnd() {
|
|
56
|
+
clearTimeout(timeout);
|
|
57
|
+
if (!node) return;
|
|
58
|
+
node.style.transition = null;
|
|
59
|
+
for (var _i3 = 0; _i3 < animateProps.length; _i3++) {
|
|
60
|
+
node.style[animateProps[_i3]] = null;
|
|
61
|
+
}
|
|
62
|
+
node.removeEventListener('transitionend', handleTransitionEnd);
|
|
63
|
+
node.removeEventListener('transitioncancel', handleTransitionEnd);
|
|
64
|
+
};
|
|
65
|
+
var animationFrame = requestAnimationFrame(function () {
|
|
66
|
+
if (!node) return;
|
|
67
|
+
node.addEventListener('transitionend', handleTransitionEnd);
|
|
68
|
+
node.addEventListener('transitioncancel', handleTransitionEnd);
|
|
69
|
+
node.style.transition = "".concat(duration, "ms all ease-in-out");
|
|
70
|
+
for (var _i4 = 0; _i4 < animateProps.length; _i4++) {
|
|
71
|
+
lastSizesRef.current[_i4] = sizes[_i4];
|
|
72
|
+
node.style[animateProps[_i4]] = "".concat(sizes[_i4], "px");
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
timeout = setTimeout(handleTransitionEnd, 500);
|
|
76
|
+
return function () {
|
|
77
|
+
cancelAnimationFrame(animationFrame);
|
|
78
|
+
handleTransitionEnd();
|
|
79
|
+
};
|
|
80
|
+
}, [__animatedEnhanceInstanceId, props.animationsDisabled, duration].concat(_toConsumableArray(onChangeOf.map(function (propName) {
|
|
81
|
+
return props[propName];
|
|
82
|
+
}))));
|
|
83
|
+
return _objectSpread({
|
|
84
|
+
ref: useForkRef(ref, nodeRef),
|
|
85
|
+
__animatedEnhanceInstanceId: __animatedEnhanceInstanceId !== null && __animatedEnhanceInstanceId !== void 0 ? __animatedEnhanceInstanceId : animatedSizeInstanceIdRef.current
|
|
86
|
+
}, other);
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export default animatedSizeEnhance;
|
|
90
|
+
//# sourceMappingURL=animatedSizeEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"animatedSizeEnhance.mjs","names":["React","useForkRef","useEnhancedEffect","uniqueId","animatedSizeEnhance","_ref","_ref$animateProps","animateProps","_ref$onChangeOf","onChangeOf","props","ref","__animatedEnhanceInstanceId","duration","other","_objectWithoutProperties","_excluded","nodeRef","createRef","lastSizesRef","useRef","prevPropsRef","animatedSizeInstanceIdRef","current","animationsDisabled","undefined","node","every","value","i","length","getBoundingClientRect","sizes","Math","abs","style","getPropertyValue","endsWith","transition","concat","timeout","handleTransitionEnd","clearTimeout","removeEventListener","animationFrame","requestAnimationFrame","addEventListener","setTimeout","cancelAnimationFrame","_toConsumableArray","map","propName","_objectSpread"],"sources":["../../../src/utils/enhances/animatedSizeEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport { useForkRef } from '../ref';\nimport useEnhancedEffect from '../use/useEnhancedEffect';\nimport { UnknownProperties } from '../../core-types/UnknownProperties';\n\n/** @deprecated */\nexport interface IWithAnimatedSizeEnhanceProps\n extends WithAnimatedSizeEnhanceProps,\n UnknownProperties {}\nexport type WithAnimatedSizeEnhanceProps = {\n animationsDisabled?: boolean;\n};\n\nlet uniqueId = 0;\n\nfunction animatedSizeEnhance({\n animateProps = [],\n onChangeOf = [],\n}: {\n animateProps: ('width' | 'height')[];\n onChangeOf: string[];\n}) {\n return (props: any) => {\n const { ref, __animatedEnhanceInstanceId, duration, ...other } = props;\n const nodeRef = React.createRef<HTMLElement>();\n const lastSizesRef = React.useRef<(number | undefined)[]>([]);\n const prevPropsRef = React.useRef(props);\n const animatedSizeInstanceIdRef = React.useRef(uniqueId++);\n\n prevPropsRef.current = props;\n\n useEnhancedEffect(() => {\n if (props.animationsDisabled) return;\n if (\n __animatedEnhanceInstanceId !== undefined &&\n __animatedEnhanceInstanceId !== animatedSizeInstanceIdRef.current\n )\n return;\n if (!nodeRef.current) {\n return;\n }\n const node = nodeRef.current;\n if (lastSizesRef.current.every((value) => value === undefined)) {\n for (let i = 0; i < animateProps.length; i++) {\n lastSizesRef.current[i] = node.getBoundingClientRect()[animateProps[i]];\n }\n return;\n }\n\n const sizes: (number | undefined)[] = [];\n for (let i = 0; i < animateProps.length; i++) {\n sizes[i] = node.getBoundingClientRect()[animateProps[i]];\n if (\n Math.abs(lastSizesRef.current[i]! - sizes[i]!) < 3 ||\n node.style.getPropertyValue(animateProps[i]).endsWith('%')\n ) {\n lastSizesRef.current[i] = sizes[i];\n sizes[i] = undefined;\n }\n }\n if (sizes.every((value) => value === undefined)) return;\n\n node.style.transition = 'none';\n for (let i = 0; i < animateProps.length; i++) {\n node.style[animateProps[i]] = `${lastSizesRef.current[i]}px`;\n }\n let timeout = -1;\n const handleTransitionEnd = () => {\n clearTimeout(timeout);\n if (!node) return;\n node.style.transition = null as any;\n for (let i = 0; i < animateProps.length; i++) {\n node.style[animateProps[i]] = null as any;\n }\n node.removeEventListener('transitionend', handleTransitionEnd);\n node.removeEventListener('transitioncancel', handleTransitionEnd);\n };\n const animationFrame = requestAnimationFrame(() => {\n if (!node) return;\n node.addEventListener('transitionend', handleTransitionEnd);\n node.addEventListener('transitioncancel', handleTransitionEnd);\n node.style.transition = `${duration}ms all ease-in-out`;\n for (let i = 0; i < animateProps.length; i++) {\n lastSizesRef.current[i] = sizes[i];\n node.style[animateProps[i]] = `${sizes[i]}px`;\n }\n });\n timeout = setTimeout(handleTransitionEnd, 500) as any;\n return () => {\n cancelAnimationFrame(animationFrame);\n handleTransitionEnd();\n };\n }, [\n __animatedEnhanceInstanceId,\n props.animationsDisabled,\n duration,\n ...onChangeOf.map((propName) => props[propName]),\n ]);\n\n return {\n ref: useForkRef(ref, nodeRef),\n __animatedEnhanceInstanceId: __animatedEnhanceInstanceId ?? animatedSizeInstanceIdRef.current,\n ...other,\n };\n };\n}\n\nexport default animatedSizeEnhance;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
2
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
|
|
3
|
+
var _excluded = ["autoFocus", "ref"];
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { useForkRef } from "../ref.mjs";
|
|
6
|
+
function notUsingNativeAutoFocus(autoFocus) {
|
|
7
|
+
return typeof autoFocus === 'boolean' || typeof autoFocus === 'number';
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/** @deprecated */
|
|
11
|
+
|
|
12
|
+
function autoFocusEnhance() {
|
|
13
|
+
return function (props) {
|
|
14
|
+
var autoFocus = props.autoFocus,
|
|
15
|
+
ref = props.ref,
|
|
16
|
+
other = _objectWithoutProperties(props, _excluded);
|
|
17
|
+
if (!notUsingNativeAutoFocus(autoFocus)) {
|
|
18
|
+
return props;
|
|
19
|
+
}
|
|
20
|
+
var nodeRef = /*#__PURE__*/React.createRef();
|
|
21
|
+
React.useEffect(function () {
|
|
22
|
+
if (autoFocus === false) return;
|
|
23
|
+
var inputNode = nodeRef.current;
|
|
24
|
+
if (!inputNode || !inputNode.focus) return;
|
|
25
|
+
var timer = setTimeout(function () {
|
|
26
|
+
return inputNode === null || inputNode === void 0 ? void 0 : inputNode.focus();
|
|
27
|
+
}, autoFocus || 0);
|
|
28
|
+
return function () {
|
|
29
|
+
clearTimeout(timer);
|
|
30
|
+
};
|
|
31
|
+
}, [autoFocus]);
|
|
32
|
+
return _objectSpread({
|
|
33
|
+
ref: useForkRef(ref, nodeRef)
|
|
34
|
+
}, other);
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
export default autoFocusEnhance;
|
|
38
|
+
//# sourceMappingURL=autoFocusEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoFocusEnhance.mjs","names":["React","useForkRef","notUsingNativeAutoFocus","autoFocus","autoFocusEnhance","props","ref","other","_objectWithoutProperties","_excluded","nodeRef","createRef","useEffect","inputNode","current","focus","timer","setTimeout","clearTimeout","_objectSpread"],"sources":["../../../src/utils/enhances/autoFocusEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport { useForkRef } from '../ref';\nimport { UnknownProperties } from '../../core-types/UnknownProperties';\n\nfunction notUsingNativeAutoFocus(autoFocus: any) {\n return typeof autoFocus === 'boolean' || typeof autoFocus === 'number';\n}\n\n/** @deprecated */\nexport interface IWithAutoFocusEnhanceProps extends WithAutoFocusEnhanceProps, UnknownProperties {}\nexport type WithAutoFocusEnhanceProps = {\n /** Native autofocus, but with support for working inside modals, you can also transmit the number of ms before focus is triggered */\n autoFocus?: boolean | number;\n};\n\nfunction autoFocusEnhance() {\n return (props: any) => {\n const { autoFocus, ref, ...other } = props;\n if (!notUsingNativeAutoFocus(autoFocus)) {\n return props;\n }\n const nodeRef = React.createRef<HTMLElement>();\n React.useEffect(() => {\n if (autoFocus === false) return;\n const { current: inputNode } = nodeRef;\n if (!inputNode || !inputNode.focus) return;\n const timer = setTimeout(() => inputNode?.focus(), (autoFocus as number) || 0);\n return () => {\n clearTimeout(timer);\n };\n }, [autoFocus]);\n return {\n ref: useForkRef(ref, nodeRef),\n ...other,\n };\n };\n}\n\nexport default autoFocusEnhance;\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,YAAQ;AAGnC,SAASC,uBAAuBA,CAACC,SAAc,EAAE;EAC/C,OAAO,OAAOA,SAAS,KAAK,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ;AACxE;;AAEA;;AAOA,SAASC,gBAAgBA,CAAA,EAAG;EAC1B,OAAO,UAACC,KAAU,EAAK;IACrB,IAAQF,SAAS,GAAoBE,KAAK,CAAlCF,SAAS;MAAEG,GAAG,GAAeD,KAAK,CAAvBC,GAAG;MAAKC,KAAK,GAAAC,wBAAA,CAAKH,KAAK,EAAAI,SAAA;IAC1C,IAAI,CAACP,uBAAuB,CAACC,SAAS,CAAC,EAAE;MACvC,OAAOE,KAAK;IACd;IACA,IAAMK,OAAO,gBAAGV,KAAK,CAACW,SAAS,EAAe;IAC9CX,KAAK,CAACY,SAAS,CAAC,YAAM;MACpB,IAAIT,SAAS,KAAK,KAAK,EAAE;MACzB,IAAiBU,SAAS,GAAKH,OAAO,CAA9BI,OAAO;MACf,IAAI,CAACD,SAAS,IAAI,CAACA,SAAS,CAACE,KAAK,EAAE;MACpC,IAAMC,KAAK,GAAGC,UAAU,CAAC;QAAA,OAAMJ,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEE,KAAK,EAAE;MAAA,GAAGZ,SAAS,IAAe,CAAC,CAAC;MAC9E,OAAO,YAAM;QACXe,YAAY,CAACF,KAAK,CAAC;MACrB,CAAC;IACH,CAAC,EAAE,CAACb,SAAS,CAAC,CAAC;IACf,OAAAgB,aAAA;MACEb,GAAG,EAAEL,UAAU,CAACK,GAAG,EAAEI,OAAO;IAAC,GAC1BH,KAAK;EAEZ,CAAC;AACH;AAEA,eAAeH,gBAAgB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import _objectDestructuringEmpty from "@babel/runtime/helpers/esm/objectDestructuringEmpty";
|
|
4
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
5
|
+
import React from 'react';
|
|
6
|
+
function contextEnhance(context, setOnProp) {
|
|
7
|
+
return function (props) {
|
|
8
|
+
var other = _extends({}, (_objectDestructuringEmpty(props), props));
|
|
9
|
+
var value = React.useContext(context);
|
|
10
|
+
return _objectSpread(_objectSpread({}, other), {}, _defineProperty({}, setOnProp, value));
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export default contextEnhance;
|
|
14
|
+
//# sourceMappingURL=contextEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contextEnhance.mjs","names":["React","contextEnhance","context","setOnProp","props","other","_extends","_objectDestructuringEmpty","value","useContext","_objectSpread","_defineProperty"],"sources":["../../../src/utils/enhances/contextEnhance.tsx"],"sourcesContent":["import React from 'react';\n\nfunction contextEnhance(context: React.Context<any>, setOnProp: string) {\n return (props: any) => {\n const { ...other } = props;\n const value = React.useContext(context);\n return {\n ...other,\n [setOnProp]: value,\n };\n };\n}\n\nexport default contextEnhance;\n"],"mappings":";;;;AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,cAAcA,CAACC,OAA2B,EAAEC,SAAiB,EAAE;EACtE,OAAO,UAACC,KAAU,EAAK;IACrB,IAAWC,KAAK,GAAAC,QAAA,MAAAC,yBAAA,CAAKH,KAAK,GAALA,KAAK;IAC1B,IAAMI,KAAK,GAAGR,KAAK,CAACS,UAAU,CAACP,OAAO,CAAC;IACvC,OAAAQ,aAAA,CAAAA,aAAA,KACKL,KAAK,OAAAM,eAAA,KACPR,SAAS,EAAGK,KAAK;EAEtB,CAAC;AACH;AAEA,eAAeP,cAAc"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
2
|
+
import _typeof from "@babel/runtime/helpers/esm/typeof";
|
|
3
|
+
import _regeneratorRuntime from "@babel/runtime/helpers/esm/regeneratorRuntime";
|
|
4
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
5
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
6
|
+
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import { useI18n } from "./WithI18n.mjs";
|
|
9
|
+
export var useAsyncI18nMessages = function useAsyncI18nMessages(primaryContainer, locale, fallbackContainer) {
|
|
10
|
+
var _store$locale;
|
|
11
|
+
var container = React.useMemo(function () {
|
|
12
|
+
if (!fallbackContainer) return primaryContainer;
|
|
13
|
+
if (!primaryContainer) return fallbackContainer;
|
|
14
|
+
if (primaryContainer === fallbackContainer) return primaryContainer;
|
|
15
|
+
var container = {};
|
|
16
|
+
var _loop = function _loop(_locale) {
|
|
17
|
+
if (typeof primaryContainer[_locale] === 'function' || typeof fallbackContainer[_locale] === 'function') {
|
|
18
|
+
container[_locale] = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
19
|
+
var _yield$Promise$all, _yield$Promise$all2, primary, fallback;
|
|
20
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
21
|
+
while (1) switch (_context.prev = _context.next) {
|
|
22
|
+
case 0:
|
|
23
|
+
_context.next = 2;
|
|
24
|
+
return Promise.all([primaryContainer[_locale], fallbackContainer[_locale]]);
|
|
25
|
+
case 2:
|
|
26
|
+
_yield$Promise$all = _context.sent;
|
|
27
|
+
_yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
|
|
28
|
+
primary = _yield$Promise$all2[0];
|
|
29
|
+
fallback = _yield$Promise$all2[1];
|
|
30
|
+
return _context.abrupt("return", _objectSpread(_objectSpread({}, primary), fallback));
|
|
31
|
+
case 7:
|
|
32
|
+
case "end":
|
|
33
|
+
return _context.stop();
|
|
34
|
+
}
|
|
35
|
+
}, _callee);
|
|
36
|
+
}));
|
|
37
|
+
} else {
|
|
38
|
+
var _primaryContainer$_lo, _fallbackContainer$_l;
|
|
39
|
+
container[_locale] = _objectSpread(_objectSpread({}, (_primaryContainer$_lo = primaryContainer[_locale]) !== null && _primaryContainer$_lo !== void 0 ? _primaryContainer$_lo : {}), (_fallbackContainer$_l = fallbackContainer[_locale]) !== null && _fallbackContainer$_l !== void 0 ? _fallbackContainer$_l : {});
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
for (var _locale in primaryContainer) {
|
|
43
|
+
_loop(_locale);
|
|
44
|
+
}
|
|
45
|
+
return container;
|
|
46
|
+
}, [primaryContainer, fallbackContainer]);
|
|
47
|
+
var initStore = React.useMemo(function () {
|
|
48
|
+
var store = {};
|
|
49
|
+
for (var _locale2 in container) {
|
|
50
|
+
if (_typeof(container[_locale2]) === 'object') {
|
|
51
|
+
store[_locale2] = container[_locale2];
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return store;
|
|
55
|
+
}, [container]);
|
|
56
|
+
var _React$useState = React.useState(initStore),
|
|
57
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
58
|
+
store = _React$useState2[0],
|
|
59
|
+
setStore = _React$useState2[1];
|
|
60
|
+
var lastLoadedLocaleRef = React.useRef(null);
|
|
61
|
+
if (store[locale]) lastLoadedLocaleRef.current = locale;
|
|
62
|
+
var fallbackMessages = React.useMemo(function () {
|
|
63
|
+
return Object.values(store)[0];
|
|
64
|
+
}, [store]);
|
|
65
|
+
var loadingLocaleRef = React.useRef(null);
|
|
66
|
+
React.useEffect(function () {
|
|
67
|
+
loadingLocaleRef.current = locale;
|
|
68
|
+
var asyncMessages = container[locale];
|
|
69
|
+
if (typeof asyncMessages === 'function') {
|
|
70
|
+
asyncMessages().then(function (module) {
|
|
71
|
+
if (loadingLocaleRef.current !== locale) return;
|
|
72
|
+
var messages = module;
|
|
73
|
+
if ('default' in module && _typeof(module["default"]) === 'object') messages = module["default"];
|
|
74
|
+
setStore(function (store) {
|
|
75
|
+
return _objectSpread(_objectSpread({}, store), {}, _defineProperty({}, locale, messages));
|
|
76
|
+
});
|
|
77
|
+
})["catch"](console.error);
|
|
78
|
+
}
|
|
79
|
+
}, [container, locale]);
|
|
80
|
+
return (_store$locale = store[locale]) !== null && _store$locale !== void 0 ? _store$locale : fallbackMessages;
|
|
81
|
+
};
|
|
82
|
+
export default (function (container) {
|
|
83
|
+
return function (props) {
|
|
84
|
+
var i18n = props.i18n,
|
|
85
|
+
locale = props.locale;
|
|
86
|
+
var getI18nText = useI18n(i18n, locale, container);
|
|
87
|
+
return _objectSpread(_objectSpread({}, props), {}, {
|
|
88
|
+
getI18nText: getI18nText
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
//# sourceMappingURL=i18nEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18nEnhance.mjs","names":["React","useI18n","useAsyncI18nMessages","primaryContainer","locale","fallbackContainer","_store$locale","container","useMemo","_loop","_locale","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$Promise$all","_yield$Promise$all2","primary","fallback","wrap","_callee$","_context","prev","next","Promise","all","sent","_slicedToArray","abrupt","_objectSpread","stop","_primaryContainer$_lo","_fallbackContainer$_l","initStore","store","_typeof","_React$useState","useState","_React$useState2","setStore","lastLoadedLocaleRef","useRef","current","fallbackMessages","Object","values","loadingLocaleRef","useEffect","asyncMessages","then","module","messages","_defineProperty","console","error","props","i18n","getI18nText"],"sources":["../../../src/utils/enhances/i18nEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport { LocaleKeys, useI18n } from './WithI18n';\nimport { UnknownProperties } from '../../core-types/UnknownProperties';\n\n/** @deprecated */\nexport interface IWithI18nEnhanceProps extends WithI18nEnhanceProps, UnknownProperties {}\nexport type WithI18nEnhanceProps = {\n /* Function for getting the required field from the translation dictionary */\n getI18nText?: (key?: string, variables?: {}) => any;\n /* Object with translations */\n i18n?: {\n [locale: string]: {\n [key: string]: string;\n };\n };\n /* Locale for translations */\n locale?: LocaleKeys;\n};\n\ntype Messages = { [messageId: string]: string };\ntype MessagesContainer = { [locale: string]: Messages | (() => Promise<Messages>) };\ntype MessagesStore = { [locale: string]: Messages };\nexport const useAsyncI18nMessages = (\n primaryContainer: MessagesContainer,\n locale: string,\n fallbackContainer?: MessagesContainer,\n) => {\n const container = React.useMemo(() => {\n if (!fallbackContainer) return primaryContainer;\n if (!primaryContainer) return fallbackContainer;\n if (primaryContainer === fallbackContainer) return primaryContainer;\n const container: MessagesContainer = {};\n for (const locale in primaryContainer) {\n if (\n typeof primaryContainer[locale] === 'function' ||\n typeof fallbackContainer[locale] === 'function'\n ) {\n container[locale] = async () => {\n const [primary, fallback] = await Promise.all([\n primaryContainer[locale],\n fallbackContainer[locale],\n ]);\n return { ...primary, ...fallback };\n };\n } else {\n container[locale] = {\n ...(primaryContainer[locale] ?? {}),\n ...(fallbackContainer[locale] ?? {}),\n };\n }\n }\n return container;\n }, [primaryContainer, fallbackContainer]);\n const initStore = React.useMemo(() => {\n const store: MessagesStore = {};\n for (const locale in container) {\n if (typeof container[locale] === 'object') {\n store[locale] = container[locale] as Messages;\n }\n }\n return store;\n }, [container]);\n const [store, setStore] = React.useState(initStore);\n const lastLoadedLocaleRef = React.useRef<string | null>(null);\n if (store[locale]) lastLoadedLocaleRef.current = locale;\n const fallbackMessages = React.useMemo(() => Object.values(store)[0], [store]);\n\n const loadingLocaleRef = React.useRef<string | null>(null);\n React.useEffect(() => {\n loadingLocaleRef.current = locale;\n const asyncMessages = container[locale];\n if (typeof asyncMessages === 'function') {\n asyncMessages()\n .then((module) => {\n if (loadingLocaleRef.current !== locale) return;\n let messages = module;\n if ('default' in module && typeof module.default === 'object') messages = module.default;\n setStore((store) => ({\n ...store,\n [locale]: messages,\n }));\n })\n\n .catch(console.error);\n }\n }, [container, locale]);\n\n return store[locale] ?? fallbackMessages;\n};\nexport default (container?: MessagesContainer) => {\n return (props: any): { getI18nText: ReturnType<typeof useI18n> } => {\n const { i18n, locale } = props;\n const getI18nText = useI18n(i18n, locale, container);\n\n return { ...props, getI18nText };\n };\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import assignProps from "../assignProps.mjs";
|
|
4
|
+
import { lastInteraction } from "../../LastInteractionType.mjs";
|
|
5
|
+
|
|
6
|
+
/** @deprecated */
|
|
7
|
+
|
|
8
|
+
export var enforcedKeyboardFocusEnhanceContext = /*#__PURE__*/React.createContext(false);
|
|
9
|
+
var keyboardFocusEnhance = function keyboardFocusEnhance() {
|
|
10
|
+
var makeFocusable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
11
|
+
return function (props) {
|
|
12
|
+
var _props$tabIndex;
|
|
13
|
+
var autoFocus = props.autoFocus;
|
|
14
|
+
var disabled = props.disabled || props.loading;
|
|
15
|
+
var tabIndex = (_props$tabIndex = props.tabIndex) !== null && _props$tabIndex !== void 0 ? _props$tabIndex : makeFocusable ? 0 : undefined;
|
|
16
|
+
var _React$useState = React.useState(false),
|
|
17
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
18
|
+
keyboardFocused = _React$useState2[0],
|
|
19
|
+
setKeyboardFocused = _React$useState2[1];
|
|
20
|
+
var ref = React.useRef(null);
|
|
21
|
+
var handleFocus = React.useCallback(function (event) {
|
|
22
|
+
if (event.isTrusted === true) {
|
|
23
|
+
if (!lastInteraction.isKeyboard()) return;
|
|
24
|
+
}
|
|
25
|
+
setKeyboardFocused(true);
|
|
26
|
+
}, []);
|
|
27
|
+
var handlerBlur = React.useCallback(function () {
|
|
28
|
+
return setKeyboardFocused(false);
|
|
29
|
+
}, []);
|
|
30
|
+
React.useEffect(function () {
|
|
31
|
+
if (typeof autoFocus !== 'number' && !autoFocus) return;
|
|
32
|
+
var timer = setTimeout(function () {
|
|
33
|
+
var _ref$current;
|
|
34
|
+
(_ref$current = ref.current) === null || _ref$current === void 0 ? void 0 : _ref$current.focus();
|
|
35
|
+
setKeyboardFocused(true);
|
|
36
|
+
}, 0);
|
|
37
|
+
return function () {
|
|
38
|
+
clearTimeout(timer);
|
|
39
|
+
};
|
|
40
|
+
}, [autoFocus]);
|
|
41
|
+
React.useEffect(function () {
|
|
42
|
+
if (disabled) {
|
|
43
|
+
setKeyboardFocused(false);
|
|
44
|
+
}
|
|
45
|
+
}, [disabled]);
|
|
46
|
+
var enforcedKeyboardFocus = React.useContext(enforcedKeyboardFocusEnhanceContext);
|
|
47
|
+
return assignProps(props, {
|
|
48
|
+
tabIndex: disabled ? -1 : tabIndex,
|
|
49
|
+
keyboardFocused: (keyboardFocused || enforcedKeyboardFocus) && !disabled,
|
|
50
|
+
onFocus: handleFocus,
|
|
51
|
+
onBlur: handlerBlur,
|
|
52
|
+
ref: ref
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
export default keyboardFocusEnhance;
|
|
57
|
+
//# sourceMappingURL=keyboardFocusEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyboardFocusEnhance.mjs","names":["React","assignProps","lastInteraction","enforcedKeyboardFocusEnhanceContext","createContext","keyboardFocusEnhance","makeFocusable","arguments","length","undefined","props","_props$tabIndex","autoFocus","disabled","loading","tabIndex","_React$useState","useState","_React$useState2","_slicedToArray","keyboardFocused","setKeyboardFocused","ref","useRef","handleFocus","useCallback","event","isTrusted","isKeyboard","handlerBlur","useEffect","timer","setTimeout","_ref$current","current","focus","clearTimeout","enforcedKeyboardFocus","useContext","onFocus","onBlur"],"sources":["../../../src/utils/enhances/keyboardFocusEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport assignProps from '../assignProps';\nimport { UnknownProperties } from '../../core-types/UnknownProperties';\nimport { lastInteraction } from '../../LastInteractionType';\n\n/** @deprecated */\nexport interface IKeyboardFocusProps extends KeyboardFocusProps, UnknownProperties {}\nexport type KeyboardFocusProps = {\n /* Property responsible for displaying \"keyboard\" focus */\n keyboardFocused?: boolean;\n /**\n * Makes component to catch browser focus on component mount\n * @default false\n */\n autoFocus?: boolean;\n};\n\nexport const enforcedKeyboardFocusEnhanceContext = React.createContext(false);\n\nexport type KeyboardFocusEnhanceHook = (props: {\n tabIndex?: number;\n disabled?: boolean;\n loading?: boolean;\n autoFocus?: boolean;\n}) => {\n tabIndex: number;\n keyboardFocused: boolean;\n onFocus: (e: React.FocusEvent) => void;\n onBlur: () => void;\n};\n\nconst keyboardFocusEnhance = (makeFocusable = true): KeyboardFocusEnhanceHook => {\n return (props) => {\n const { autoFocus } = props;\n const disabled = props.disabled || props.loading;\n const tabIndex = props.tabIndex ?? (makeFocusable ? 0 : undefined);\n const [keyboardFocused, setKeyboardFocused] = React.useState(false);\n const ref = React.useRef<HTMLElement>(null);\n\n const handleFocus = React.useCallback((event: React.FocusEvent) => {\n if (event.isTrusted === true) {\n if (!lastInteraction.isKeyboard()) return;\n }\n setKeyboardFocused(true);\n }, []);\n const handlerBlur = React.useCallback(() => setKeyboardFocused(false), []);\n React.useEffect(() => {\n if (typeof autoFocus !== 'number' && !autoFocus) return;\n const timer = setTimeout(() => {\n ref.current?.focus();\n setKeyboardFocused(true);\n }, 0);\n return () => {\n clearTimeout(timer);\n };\n }, [autoFocus]);\n React.useEffect(() => {\n if (disabled) {\n setKeyboardFocused(false);\n }\n }, [disabled]);\n\n const enforcedKeyboardFocus = React.useContext(enforcedKeyboardFocusEnhanceContext);\n\n return assignProps(props, {\n tabIndex: disabled ? -1 : tabIndex,\n keyboardFocused: (keyboardFocused || enforcedKeyboardFocus) && !disabled,\n onFocus: handleFocus,\n onBlur: handlerBlur,\n ref,\n });\n };\n};\n\nexport default keyboardFocusEnhance;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAOC,WAAW,MAAM,oBAAgB;AAExC,SAASC,eAAe,QAAQ,+BAA2B;;AAE3D;;AAYA,OAAO,IAAMC,mCAAmC,gBAAGH,KAAK,CAACI,aAAa,CAAC,KAAK,CAAC;AAc7E,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAA,EAAuD;EAAA,IAAnDC,aAAa,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,IAAI;EAChD,OAAO,UAACG,KAAK,EAAK;IAAA,IAAAC,eAAA;IAChB,IAAQC,SAAS,GAAKF,KAAK,CAAnBE,SAAS;IACjB,IAAMC,QAAQ,GAAGH,KAAK,CAACG,QAAQ,IAAIH,KAAK,CAACI,OAAO;IAChD,IAAMC,QAAQ,IAAAJ,eAAA,GAAGD,KAAK,CAACK,QAAQ,cAAAJ,eAAA,cAAAA,eAAA,GAAKL,aAAa,GAAG,CAAC,GAAGG,SAAU;IAClE,IAAAO,eAAA,GAA8ChB,KAAK,CAACiB,QAAQ,CAAC,KAAK,CAAC;MAAAC,gBAAA,GAAAC,cAAA,CAAAH,eAAA;MAA5DI,eAAe,GAAAF,gBAAA;MAAEG,kBAAkB,GAAAH,gBAAA;IAC1C,IAAMI,GAAG,GAAGtB,KAAK,CAACuB,MAAM,CAAc,IAAI,CAAC;IAE3C,IAAMC,WAAW,GAAGxB,KAAK,CAACyB,WAAW,CAAC,UAACC,KAAuB,EAAK;MACjE,IAAIA,KAAK,CAACC,SAAS,KAAK,IAAI,EAAE;QAC5B,IAAI,CAACzB,eAAe,CAAC0B,UAAU,EAAE,EAAE;MACrC;MACAP,kBAAkB,CAAC,IAAI,CAAC;IAC1B,CAAC,EAAE,EAAE,CAAC;IACN,IAAMQ,WAAW,GAAG7B,KAAK,CAACyB,WAAW,CAAC;MAAA,OAAMJ,kBAAkB,CAAC,KAAK,CAAC;IAAA,GAAE,EAAE,CAAC;IAC1ErB,KAAK,CAAC8B,SAAS,CAAC,YAAM;MACpB,IAAI,OAAOlB,SAAS,KAAK,QAAQ,IAAI,CAACA,SAAS,EAAE;MACjD,IAAMmB,KAAK,GAAGC,UAAU,CAAC,YAAM;QAAA,IAAAC,YAAA;QAC7B,CAAAA,YAAA,GAAAX,GAAG,CAACY,OAAO,cAAAD,YAAA,uBAAXA,YAAA,CAAaE,KAAK,EAAE;QACpBd,kBAAkB,CAAC,IAAI,CAAC;MAC1B,CAAC,EAAE,CAAC,CAAC;MACL,OAAO,YAAM;QACXe,YAAY,CAACL,KAAK,CAAC;MACrB,CAAC;IACH,CAAC,EAAE,CAACnB,SAAS,CAAC,CAAC;IACfZ,KAAK,CAAC8B,SAAS,CAAC,YAAM;MACpB,IAAIjB,QAAQ,EAAE;QACZQ,kBAAkB,CAAC,KAAK,CAAC;MAC3B;IACF,CAAC,EAAE,CAACR,QAAQ,CAAC,CAAC;IAEd,IAAMwB,qBAAqB,GAAGrC,KAAK,CAACsC,UAAU,CAACnC,mCAAmC,CAAC;IAEnF,OAAOF,WAAW,CAACS,KAAK,EAAE;MACxBK,QAAQ,EAAEF,QAAQ,GAAG,CAAC,CAAC,GAAGE,QAAQ;MAClCK,eAAe,EAAE,CAACA,eAAe,IAAIiB,qBAAqB,KAAK,CAACxB,QAAQ;MACxE0B,OAAO,EAAEf,WAAW;MACpBgB,MAAM,EAAEX,WAAW;MACnBP,GAAG,EAAHA;IACF,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAED,eAAejB,oBAAoB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useColorResolver } from "../use/useColorResolver.mjs";
|
|
3
|
+
import { useForkRef } from "../ref.mjs";
|
|
4
|
+
import assignProps from "../assignProps.mjs";
|
|
5
|
+
var resolveColorEnhance = function resolveColorEnhance() {
|
|
6
|
+
return function (props) {
|
|
7
|
+
var ref = props.ref;
|
|
8
|
+
var internalRef = React.useRef();
|
|
9
|
+
var resolveColor = useColorResolver();
|
|
10
|
+
return assignProps(props, {
|
|
11
|
+
ref: useForkRef(ref, internalRef),
|
|
12
|
+
resolveColor: resolveColor
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
export default resolveColorEnhance;
|
|
17
|
+
//# sourceMappingURL=resolveColorEnhance.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolveColorEnhance.mjs","names":["React","useColorResolver","useForkRef","assignProps","resolveColorEnhance","props","ref","internalRef","useRef","resolveColor"],"sources":["../../../src/utils/enhances/resolveColorEnhance.tsx"],"sourcesContent":["import React from 'react';\nimport { useColorResolver } from '../use/useColorResolver';\nimport { useForkRef } from '../ref';\nimport assignProps from '../assignProps';\n\nconst resolveColorEnhance = () => {\n return (props: any) => {\n const { ref } = props;\n const internalRef = React.useRef<HTMLElement>();\n const resolveColor = useColorResolver();\n\n return assignProps(props, {\n ref: useForkRef(ref, internalRef),\n resolveColor,\n });\n };\n};\n\nexport default resolveColorEnhance;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,gBAAgB,QAAQ,6BAAyB;AAC1D,SAASC,UAAU,QAAQ,YAAQ;AACnC,OAAOC,WAAW,MAAM,oBAAgB;AAExC,IAAMC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA,EAAS;EAChC,OAAO,UAACC,KAAU,EAAK;IACrB,IAAQC,GAAG,GAAKD,KAAK,CAAbC,GAAG;IACX,IAAMC,WAAW,GAAGP,KAAK,CAACQ,MAAM,EAAe;IAC/C,IAAMC,YAAY,GAAGR,gBAAgB,EAAE;IAEvC,OAAOE,WAAW,CAACE,KAAK,EAAE;MACxBC,GAAG,EAAEJ,UAAU,CAACI,GAAG,EAAEC,WAAW,CAAC;MACjCE,YAAY,EAAZA;IACF,CAAC,CAAC;EACJ,CAAC;AACH,CAAC;AAED,eAAeL,mBAAmB"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import _createClass from "@babel/runtime/helpers/esm/createClass";
|
|
2
|
+
import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
|
|
3
|
+
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
|
|
4
|
+
var EventEmitter = /*#__PURE__*/_createClass(function EventEmitter() {
|
|
5
|
+
var _this = this;
|
|
6
|
+
_classCallCheck(this, EventEmitter);
|
|
7
|
+
_defineProperty(this, "events", {});
|
|
8
|
+
_defineProperty(this, "emit", void 0);
|
|
9
|
+
_defineProperty(this, "subscribe", void 0);
|
|
10
|
+
this.emit = function (eventName) {
|
|
11
|
+
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
12
|
+
args[_key - 1] = arguments[_key];
|
|
13
|
+
}
|
|
14
|
+
var event = _this.events[eventName];
|
|
15
|
+
if (event) {
|
|
16
|
+
event.forEach(function (fn) {
|
|
17
|
+
fn.call.apply(fn, [null].concat(args));
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
this.subscribe = function (eventName, fn) {
|
|
22
|
+
if (!_this.events[eventName]) {
|
|
23
|
+
_this.events[eventName] = [];
|
|
24
|
+
}
|
|
25
|
+
_this.events[eventName].push(fn);
|
|
26
|
+
return function () {
|
|
27
|
+
_this.events[eventName] = _this.events[eventName].filter(function (eventFn) {
|
|
28
|
+
return fn !== eventFn;
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
export { EventEmitter as default };
|
|
34
|
+
//# sourceMappingURL=eventEmitter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventEmitter.mjs","names":["EventEmitter","_createClass","_this","_classCallCheck","_defineProperty","emit","eventName","_len","arguments","length","args","Array","_key","event","events","forEach","fn","call","apply","concat","subscribe","push","filter","eventFn","default"],"sources":["../../src/utils/eventEmitter.ts"],"sourcesContent":["type DefaultEmit = (eventName: string, ...args: any[]) => void;\ntype DefaultSubscribe = (eventName: string, fn: any) => () => void;\n\nexport default class EventEmitter<Emit = DefaultEmit, Subscribe = DefaultSubscribe> {\n private events: any = {};\n constructor() {\n this.emit = ((eventName: string, ...args: any[]) => {\n const event = this.events[eventName];\n if (event) {\n event.forEach((fn: any) => {\n fn.call(null, ...args);\n });\n }\n }) as any;\n this.subscribe = ((eventName: string, fn: any) => {\n if (!this.events[eventName]) {\n this.events[eventName] = [];\n }\n\n this.events[eventName].push(fn);\n return () => {\n this.events[eventName] = this.events[eventName].filter((eventFn: any) => fn !== eventFn);\n };\n }) as any;\n }\n\n emit: Emit;\n\n subscribe: Subscribe;\n}\n"],"mappings":";;;IAGqBA,YAAY,gBAAAC,YAAA,CAE/B,SAAAD,aAAA,EAAc;EAAA,IAAAE,KAAA;EAAAC,eAAA,OAAAH,YAAA;EAAAI,eAAA,iBADQ,CAAC,CAAC;EAAAA,eAAA;EAAAA,eAAA;EAEtB,IAAI,CAACC,IAAI,GAAI,UAACC,SAAiB,EAAqB;IAAA,SAAAC,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAAhBC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,OAAAA,IAAA,WAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,QAAAJ,SAAA,CAAAI,IAAA;IAAA;IACtC,IAAMC,KAAK,GAAGX,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC;IACpC,IAAIO,KAAK,EAAE;MACTA,KAAK,CAACE,OAAO,CAAC,UAACC,EAAO,EAAK;QACzBA,EAAE,CAACC,IAAI,CAAAC,KAAA,CAAPF,EAAE,GAAM,IAAI,EAAAG,MAAA,CAAKT,IAAI,EAAC;MACxB,CAAC,CAAC;IACJ;EACF,CAAS;EACT,IAAI,CAACU,SAAS,GAAI,UAACd,SAAiB,EAAEU,EAAO,EAAK;IAChD,IAAI,CAACd,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,EAAE;MAC3BJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,GAAG,EAAE;IAC7B;IAEAJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,CAACe,IAAI,CAACL,EAAE,CAAC;IAC/B,OAAO,YAAM;MACXd,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,GAAGJ,KAAI,CAACY,MAAM,CAACR,SAAS,CAAC,CAACgB,MAAM,CAAC,UAACC,OAAY;QAAA,OAAKP,EAAE,KAAKO,OAAO;MAAA,EAAC;IAC1F,CAAC;EACH,CAAS;AACX,CAAC;AAAA,SArBkBvB,YAAY,IAAAwB,OAAA"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import getOriginChildren from "./getOriginChildren.mjs";
|
|
3
|
+
import { CHILDREN_COMPONENT, INHERITED_NAME } from "../core-types/symbols.mjs";
|
|
4
|
+
function findComponent(Children, names, recursively) {
|
|
5
|
+
var limit = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 100;
|
|
6
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
7
|
+
return React.Children.toArray(children).find(function (child) {
|
|
8
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
9
|
+
if (child.type === React.Fragment) {
|
|
10
|
+
return findComponent(child.props.children, names, recursively, limit);
|
|
11
|
+
}
|
|
12
|
+
// @ts-ignore
|
|
13
|
+
var inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];
|
|
14
|
+
var result = !!inheritedNames.find(function (name) {
|
|
15
|
+
return names.includes(name);
|
|
16
|
+
});
|
|
17
|
+
if (!result && child.props.children && recursively && limit > 0) {
|
|
18
|
+
return findComponent(child.props.children, names, recursively, limit - 1);
|
|
19
|
+
}
|
|
20
|
+
return result;
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
export function isAdvanceMode(Children, name, recursively) {
|
|
25
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
26
|
+
if (!children) return false;
|
|
27
|
+
if (typeof children === 'function') {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
return !!findComponent(children, name, recursively);
|
|
31
|
+
}
|
|
32
|
+
export function findAllComponents(Children, names) {
|
|
33
|
+
var result = [];
|
|
34
|
+
var findAllAndAdd = function findAllAndAdd(Children) {
|
|
35
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
36
|
+
React.Children.toArray(children).forEach(function (child) {
|
|
37
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
38
|
+
if (child.type === React.Fragment) {
|
|
39
|
+
findAllAndAdd(child.props.children);
|
|
40
|
+
} else if (typeof child.type === 'function' && CHILDREN_COMPONENT in child.type && child.type[CHILDREN_COMPONENT]) {
|
|
41
|
+
findAllAndAdd(child.type);
|
|
42
|
+
} else {
|
|
43
|
+
// @ts-ignore
|
|
44
|
+
var inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];
|
|
45
|
+
var component = !!inheritedNames.find(function (name) {
|
|
46
|
+
return names.includes(name);
|
|
47
|
+
});
|
|
48
|
+
if (component) {
|
|
49
|
+
result.push(child);
|
|
50
|
+
}
|
|
51
|
+
if (child.props.children) {
|
|
52
|
+
return findAllAndAdd(child.props.children);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
findAllAndAdd(Children);
|
|
59
|
+
return result;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Extract some components from Children and return them and rest of components as tuple.
|
|
64
|
+
*/
|
|
65
|
+
export function extractFrom(Children, names) {
|
|
66
|
+
var extracted = [];
|
|
67
|
+
var rest = [];
|
|
68
|
+
var extractor = function extractor(Children) {
|
|
69
|
+
var children = Children[CHILDREN_COMPONENT] ? getOriginChildren(Children) : Children;
|
|
70
|
+
React.Children.toArray(children).forEach(function (child) {
|
|
71
|
+
if ( /*#__PURE__*/React.isValidElement(child)) {
|
|
72
|
+
if (child.type === React.Fragment) {
|
|
73
|
+
extractor(child.props.children);
|
|
74
|
+
} else if (typeof child.type === 'function' && CHILDREN_COMPONENT in child.type && child.type[CHILDREN_COMPONENT]) {
|
|
75
|
+
extractor(child.type);
|
|
76
|
+
} else {
|
|
77
|
+
// @ts-ignore
|
|
78
|
+
var inheritedNames = child.type[INHERITED_NAME] || [child.type.displayName];
|
|
79
|
+
var component = !!inheritedNames.find(function (name) {
|
|
80
|
+
return names.includes(name);
|
|
81
|
+
});
|
|
82
|
+
if (component) {
|
|
83
|
+
extracted.push(child);
|
|
84
|
+
} else {
|
|
85
|
+
rest.push(child);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
extractor(Children);
|
|
92
|
+
return [extracted, rest];
|
|
93
|
+
}
|
|
94
|
+
export default findComponent;
|
|
95
|
+
//# sourceMappingURL=findComponent.mjs.map
|