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 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, ref) {
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,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkRyb3Bkb3duTWVudU5hdkl0ZW0udHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU00QiIsImZpbGUiOiJEcm9wZG93bk1lbnVOYXZJdGVtLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0JztcclxuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkNvbnRleHQgfSBmcm9tICcuL0Ryb3Bkb3duJztcclxuaW1wb3J0IHsgTWVudUl0ZW1TdHlsZXMsIEljb25XcmFwcGVyIH0gZnJvbSAnLi9Ecm9wZG93bk1lbnVJdGVtJztcclxuaW1wb3J0IHsgVGhlbWVDb250ZXh0IH0gZnJvbSAnLi4vLi4vdGhlbWUvVGhlbWVDb250ZXh0JztcclxuaW1wb3J0IHsgdXNlRm9ya2VkUmVmIH0gZnJvbSAnLi4vLi4vdXRpbHMnO1xyXG5jb25zdCBTdHlsZWRJdGVtID0gc3R5bGVkLmEgYFxuICAke01lbnVJdGVtU3R5bGVzfVxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5gO1xyXG5leHBvcnQgY29uc3QgRHJvcGRvd25NZW51TmF2SXRlbSA9IFJlYWN0LmZvcndhcmRSZWYoKHByb3BzLCBmb3J3YXJkZWRSZWYpID0+IHtcclxuICAgIGNvbnN0IHsgY2hpbGRyZW4sIGljb24sIHRvLCAuLi5vdGhlciB9ID0gcHJvcHM7XHJcbiAgICBjb25zdCBvd25SZWYgPSBSZWFjdC51c2VSZWYoKTtcclxuICAgIGNvbnN0IHRoZW1lID0gUmVhY3QudXNlQ29udGV4dChUaGVtZUNvbnRleHQpO1xyXG4gICAgY29uc3QgY29udGV4dCA9IFJlYWN0LnVzZUNvbnRleHQoRHJvcGRvd25Db250ZXh0KTtcclxuICAgIGNvbnN0IHJlZiA9IHVzZUZvcmtlZFJlZihmb3J3YXJkZWRSZWYsIG93blJlZik7XHJcbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xyXG4gICAgICAgIGNvbnRleHQucmVnaXN0ZXJEcm9wZG93bk1lbnVJdGVtKGNvbnRleHQuaXRlbVJlZkFycmF5LCBvd25SZWYpO1xyXG4gICAgfSwgW10pO1xyXG4gICAgcmV0dXJuIChSZWFjdC5jcmVhdGVFbGVtZW50KFN0eWxlZEl0ZW0sIE9iamVjdC5hc3NpZ24oe30sIG90aGVyLCB7IGhyZWY6IHRvLCBpc0ZpeGVkV2lkdGg6IGNvbnRleHQuaXNGaXhlZFdpZHRoLCBpc0ludmVyc2U6IGNvbnRleHQuaXNJbnZlcnNlLCByZWY6IHJlZiwgcm9sZTogXCJtZW51aXRlbVwiLCB0YWJJbmRleDogLTEsIHRoZW1lOiB0aGVtZSB9KSxcclxuICAgICAgICBpY29uICYmIFJlYWN0LmNyZWF0ZUVsZW1lbnQoSWNvbldyYXBwZXIsIHsgdGhlbWU6IHRoZW1lIH0sIGljb24pLFxyXG4gICAgICAgIGNoaWxkcmVuKSk7XHJcbn0pO1xyXG5Ecm9wZG93bk1lbnVOYXZJdGVtLmRpc3BsYXlOYW1lID0gJ0Ryb3Bkb3duTWVudU5hdkl0ZW0nO1xyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Ecm9wZG93bk1lbnVOYXZJdGVtLmpzLm1hcCJdfQ== */"));
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);