react-magma-dom 4.10.0-next.4 → 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 +75 -2
- 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 +75 -2
- 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)."; }
|
|
@@ -11572,11 +11586,59 @@ var DropdownMenuItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
|
11572
11586
|
});
|
|
11573
11587
|
DropdownMenuItem.displayName = 'DropdownMenuItem';
|
|
11574
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
|
+
|
|
11575
11637
|
var _excluded$O = ["children", "icon", "to"];
|
|
11576
11638
|
var StyledItem$3 = /*#__PURE__*/_styled("a", {
|
|
11577
11639
|
target: "e1b21r9q0",
|
|
11578
11640
|
label: "StyledItem"
|
|
11579
|
-
})(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== */"));
|
|
11580
11642
|
var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef) {
|
|
11581
11643
|
var children = props.children,
|
|
11582
11644
|
icon = props.icon,
|
|
@@ -11589,6 +11651,16 @@ var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef)
|
|
|
11589
11651
|
useEffect(function () {
|
|
11590
11652
|
context.registerDropdownMenuItem(context.itemRefArray, ownRef);
|
|
11591
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
|
+
}, []);
|
|
11592
11664
|
return createElement(StyledItem$3, Object.assign({}, other, {
|
|
11593
11665
|
href: to,
|
|
11594
11666
|
isFixedWidth: context.isFixedWidth,
|
|
@@ -11596,7 +11668,8 @@ var DropdownMenuNavItem = /*#__PURE__*/forwardRef(function (props, forwardedRef)
|
|
|
11596
11668
|
ref: ref,
|
|
11597
11669
|
role: "menuitem",
|
|
11598
11670
|
tabIndex: -1,
|
|
11599
|
-
theme: theme
|
|
11671
|
+
theme: theme,
|
|
11672
|
+
"aria-label": ariaLabel
|
|
11600
11673
|
}), icon && createElement(IconWrapper$7, {
|
|
11601
11674
|
theme: theme
|
|
11602
11675
|
}, icon), children);
|