react-magma-dom 4.10.0-next.3 → 4.10.0-next.5
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/dist/esm/index.js +80 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/hooks/useDeviceDetect.d.ts +5 -0
- package/dist/properties.json +39 -39
- package/dist/react-magma-dom.cjs.development.js +80 -4
- package/dist/react-magma-dom.cjs.development.js.map +1 -1
- package/dist/react-magma-dom.cjs.production.min.js +1 -1
- package/dist/react-magma-dom.cjs.production.min.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/package.json +1 -1
package/dist/esm/index.js
CHANGED
|
@@ -2485,6 +2485,20 @@ var _reactNodeToString = function reactNodeToString(node) {
|
|
|
2485
2485
|
}
|
|
2486
2486
|
return '';
|
|
2487
2487
|
};
|
|
2488
|
+
function collectTextFromReactNode(node) {
|
|
2489
|
+
var result = [];
|
|
2490
|
+
React__default.Children.forEach(node, function (child) {
|
|
2491
|
+
if (child === null || typeof child === 'boolean') {
|
|
2492
|
+
return;
|
|
2493
|
+
}
|
|
2494
|
+
if (typeof child === 'string' || typeof child === 'number') {
|
|
2495
|
+
result.push(child);
|
|
2496
|
+
} else if (React__default.isValidElement(child)) {
|
|
2497
|
+
result.push(collectTextFromReactNode(child.props.children));
|
|
2498
|
+
}
|
|
2499
|
+
});
|
|
2500
|
+
return result.join(' ');
|
|
2501
|
+
}
|
|
2488
2502
|
|
|
2489
2503
|
var _excluded = ["alignment", "children", "color", "isInverse", "orientation", "noSpace", "size", "testId", "textTransform", "variant"];
|
|
2490
2504
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
@@ -5666,7 +5680,7 @@ var IndeterminateCheckboxStatus;
|
|
|
5666
5680
|
IndeterminateCheckboxStatus["indeterminate"] = "indeterminate";
|
|
5667
5681
|
IndeterminateCheckboxStatus["unchecked"] = "unchecked";
|
|
5668
5682
|
})(IndeterminateCheckboxStatus || (IndeterminateCheckboxStatus = {}));
|
|
5669
|
-
var IndeterminateCheckbox = /*#__PURE__*/forwardRef(function (props,
|
|
5683
|
+
var IndeterminateCheckbox = /*#__PURE__*/forwardRef(function (props, _ref) {
|
|
5670
5684
|
var _React$useState = useState(props.status === 'indeterminate' ? false : Boolean(props.status === 'checked')),
|
|
5671
5685
|
isChecked = _React$useState[0],
|
|
5672
5686
|
updateIsChecked = _React$useState[1];
|
|
@@ -5723,7 +5737,10 @@ var IndeterminateCheckbox = /*#__PURE__*/forwardRef(function (props, ref) {
|
|
|
5723
5737
|
"data-testid": testId,
|
|
5724
5738
|
disabled: disabled,
|
|
5725
5739
|
id: id,
|
|
5726
|
-
ref: ref
|
|
5740
|
+
ref: function ref(el) {
|
|
5741
|
+
if (el) el.indeterminate = isIndeterminate;
|
|
5742
|
+
if (typeof _ref === 'function') _ref(el);else if (_ref) _ref.current = el;
|
|
5743
|
+
},
|
|
5727
5744
|
type: "checkbox",
|
|
5728
5745
|
onChange: handleChange
|
|
5729
5746
|
})), createElement(StyledLabel$1, {
|
|
@@ -11569,11 +11586,59 @@ var DropdownMenuItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
11569
11586
|
});
|
|
11570
11587
|
DropdownMenuItem.displayName = 'DropdownMenuItem';
|
|
11571
11588
|
|
|
11589
|
+
var useDeviceDetect = function useDeviceDetect() {
|
|
11590
|
+
var userAgent = useMemo(function () {
|
|
11591
|
+
return navigator.userAgent.toLowerCase();
|
|
11592
|
+
}, []);
|
|
11593
|
+
var isSafari = useMemo(function () {
|
|
11594
|
+
return /^((?!chrome|android).)*safari/i.test(userAgent);
|
|
11595
|
+
}, [userAgent]);
|
|
11596
|
+
var isChrome = useMemo(function () {
|
|
11597
|
+
return /chrome|crios/i.test(userAgent) && !/edge|edg/i.test(userAgent);
|
|
11598
|
+
}, [userAgent]);
|
|
11599
|
+
var isFirefox = useMemo(function () {
|
|
11600
|
+
return /firefox|fxios/i.test(userAgent);
|
|
11601
|
+
}, [userAgent]);
|
|
11602
|
+
var isEdge = useMemo(function () {
|
|
11603
|
+
return /edge|edg/i.test(userAgent);
|
|
11604
|
+
}, [userAgent]);
|
|
11605
|
+
var isMobile = useMemo(function () {
|
|
11606
|
+
return /mobi|android|touch|mini/i.test(userAgent);
|
|
11607
|
+
}, [userAgent]);
|
|
11608
|
+
var isWindows = useMemo(function () {
|
|
11609
|
+
return /windows nt/.test(userAgent);
|
|
11610
|
+
}, [userAgent]);
|
|
11611
|
+
var isMacOS = useMemo(function () {
|
|
11612
|
+
return /macintosh/.test(userAgent);
|
|
11613
|
+
}, [userAgent]);
|
|
11614
|
+
var isAndroid = useMemo(function () {
|
|
11615
|
+
return /android/.test(userAgent);
|
|
11616
|
+
}, [userAgent]);
|
|
11617
|
+
var isIOS = useMemo(function () {
|
|
11618
|
+
return /iphone|ipad|ipod/.test(userAgent);
|
|
11619
|
+
}, [userAgent]);
|
|
11620
|
+
var isLinux = useMemo(function () {
|
|
11621
|
+
return /linux/.test(userAgent) && !isAndroid;
|
|
11622
|
+
}, [userAgent, isAndroid]);
|
|
11623
|
+
return {
|
|
11624
|
+
isSafari: isSafari,
|
|
11625
|
+
isChrome: isChrome,
|
|
11626
|
+
isFirefox: isFirefox,
|
|
11627
|
+
isEdge: isEdge,
|
|
11628
|
+
isMobile: isMobile,
|
|
11629
|
+
isWindows: isWindows,
|
|
11630
|
+
isMacOS: isMacOS,
|
|
11631
|
+
isLinux: isLinux,
|
|
11632
|
+
isAndroid: isAndroid,
|
|
11633
|
+
isIOS: isIOS
|
|
11634
|
+
};
|
|
11635
|
+
};
|
|
11636
|
+
|
|
11572
11637
|
var _excluded$O = ["children", "icon", "to"];
|
|
11573
11638
|
var StyledItem$3 = /*#__PURE__*/_styled("a", {
|
|
11574
11639
|
target: "e1b21r9q0",
|
|
11575
11640
|
label: "StyledItem"
|
|
11576
|
-
})(MenuItemStyles, " text-decoration:none;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11641
|
+
})(MenuItemStyles, " text-decoration:none;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRyb3Bkb3duTWVudU5hdkl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU80QiIsImZpbGUiOiJEcm9wZG93bk1lbnVOYXZJdGVtLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbnRleHQgfSBmcm9tICcuL0Ryb3Bkb3duJztcclxuaW1wb3J0IHsgTWVudUl0ZW1TdHlsZXMsIEljb25XcmFwcGVyIH0gZnJvbSAnLi9Ecm9wZG93bk1lbnVJdGVtJztcclxuaW1wb3J0IHVzZURldmljZURldGVjdCBmcm9tICcuLi8uLi9ob29rcy91c2VEZXZpY2VEZXRlY3QnO1xyXG5pbXBvcnQgeyBUaGVtZUNvbnRleHQgfSBmcm9tICcuLi8uLi90aGVtZS9UaGVtZUNvbnRleHQnO1xyXG5pbXBvcnQgeyB1c2VGb3JrZWRSZWYsIGNvbGxlY3RUZXh0RnJvbVJlYWN0Tm9kZSB9IGZyb20gJy4uLy4uL3V0aWxzJztcclxuY29uc3QgU3R5bGVkSXRlbSA9IHN0eWxlZC5hIGBcbiAgJHtNZW51SXRlbVN0eWxlc31cbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuYDtcclxuZXhwb3J0IGNvbnN0IERyb3Bkb3duTWVudU5hdkl0ZW0gPSBSZWFjdC5mb3J3YXJkUmVmKChwcm9wcywgZm9yd2FyZGVkUmVmKSA9PiB7XHJcbiAgICBjb25zdCB7IGNoaWxkcmVuLCBpY29uLCB0bywgLi4ub3RoZXIgfSA9IHByb3BzO1xyXG4gICAgY29uc3Qgb3duUmVmID0gUmVhY3QudXNlUmVmKCk7XHJcbiAgICBjb25zdCB0aGVtZSA9IFJlYWN0LnVzZUNvbnRleHQoVGhlbWVDb250ZXh0KTtcclxuICAgIGNvbnN0IGNvbnRleHQgPSBSZWFjdC51c2VDb250ZXh0KERyb3Bkb3duQ29udGV4dCk7XHJcbiAgICBjb25zdCByZWYgPSB1c2VGb3JrZWRSZWYoZm9yd2FyZGVkUmVmLCBvd25SZWYpO1xyXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcclxuICAgICAgICBjb250ZXh0LnJlZ2lzdGVyRHJvcGRvd25NZW51SXRlbShjb250ZXh0Lml0ZW1SZWZBcnJheSwgb3duUmVmKTtcclxuICAgIH0sIFtdKTtcclxuICAgIGNvbnN0IHsgaXNGaXJlZm94LCBpc1dpbmRvd3MgfSA9IHVzZURldmljZURldGVjdCgpO1xyXG4gICAgY29uc3QgYXJpYUxhYmVsID0gUmVhY3QudXNlTWVtbygoKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzV2luZG93cyAmJiBpc0ZpcmVmb3gpIHtcclxuICAgICAgICAgICAgY29uc3QgY29sbGVjdGVkVGV4dCA9IGNvbGxlY3RUZXh0RnJvbVJlYWN0Tm9kZShjaGlsZHJlbik7XHJcbiAgICAgICAgICAgIHJldHVybiBjb2xsZWN0ZWRUZXh0Lmxlbmd0aCA+IDAgPyBjb2xsZWN0ZWRUZXh0IDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gICAgfSwgW10pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZEl0ZW0sIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IGhyZWY6IHRvLCBpc0ZpeGVkV2lkdGg6IGNvbnRleHQuaXNGaXhlZFdpZHRoLCBpc0ludmVyc2U6IGNvbnRleHQuaXNJbnZlcnNlLCByZWY6IHJlZiwgcm9sZTogXCJtZW51aXRlbVwiLCB0YWJJbmRleDogLTEsIHRoZW1lOiB0aGVtZSwgXCJhcmlhLWxhYmVsXCI6IGFyaWFMYWJlbCB9KSxcclxuICAgICAgICBpY29uICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgdGhlbWU6IHRoZW1lIH0sIGljb24pLFxyXG4gICAgICAgIGNoaWxkcmVuKSk7XHJcbn0pO1xyXG5Ecm9wZG93bk1lbnVOYXZJdGVtLmRpc3BsYXlOYW1lID0gJ0Ryb3Bkb3duTWVudU5hdkl0ZW0nO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ecm9wZG93bk1lbnVOYXZJdGVtLmpzLm1hcCJdfQ== */"));
|
|
11577
11642
|
var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
11578
11643
|
var children = props.children,
|
|
11579
11644
|
icon = props.icon,
|
|
@@ -11586,6 +11651,16 @@ var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef)
|
|
|
11586
11651
|
useEffect(function () {
|
|
11587
11652
|
context.registerDropdownMenuItem(context.itemRefArray, ownRef);
|
|
11588
11653
|
}, []);
|
|
11654
|
+
var _useDeviceDetect = useDeviceDetect(),
|
|
11655
|
+
isFirefox = _useDeviceDetect.isFirefox,
|
|
11656
|
+
isWindows = _useDeviceDetect.isWindows;
|
|
11657
|
+
var ariaLabel = useMemo(function () {
|
|
11658
|
+
if (isWindows && isFirefox) {
|
|
11659
|
+
var collectedText = collectTextFromReactNode(children);
|
|
11660
|
+
return collectedText.length > 0 ? collectedText : undefined;
|
|
11661
|
+
}
|
|
11662
|
+
return undefined;
|
|
11663
|
+
}, []);
|
|
11589
11664
|
return createElement(StyledItem$3, Object.assign({}, other, {
|
|
11590
11665
|
href: to,
|
|
11591
11666
|
isFixedWidth: context.isFixedWidth,
|
|
@@ -11593,7 +11668,8 @@ var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef)
|
|
|
11593
11668
|
ref: ref,
|
|
11594
11669
|
role: "menuitem",
|
|
11595
11670
|
tabIndex: -1,
|
|
11596
|
-
theme: theme
|
|
11671
|
+
theme: theme,
|
|
11672
|
+
"aria-label": ariaLabel
|
|
11597
11673
|
}), icon && createElement(IconWrapper$7, {
|
|
11598
11674
|
theme: theme
|
|
11599
11675
|
}, icon), children);
|