@activecollab/components 1.0.116 → 1.0.117

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.
@@ -8,29 +8,36 @@ export var StyledNavElement = styled.nav.withConfig({
8
8
  })(["", " ", " ", " ", ""], {
9
9
  "width": "100%"
10
10
  }, {
11
- "overflow": "visible"
11
+ "overflow": "hidden"
12
12
  }, FontStyle, BoxSizingStyle);
13
13
  StyledNavElement.displayName = "StyledNavElement";
14
- export var StyledOList = styled.ul.withConfig({
15
- displayName: "Styles__StyledOList",
14
+ export var StyledListWrapper = styled.div.withConfig({
15
+ displayName: "Styles__StyledListWrapper",
16
16
  componentId: "sc-rxaesd-1"
17
+ })(["", ""], {
18
+ "display": "inline-block"
19
+ });
20
+ StyledListWrapper.displayName = "StyledListWrapper";
21
+ export var StyledOList = styled.ol.withConfig({
22
+ displayName: "Styles__StyledOList",
23
+ componentId: "sc-rxaesd-2"
17
24
  })(["", " ", " ", " ", " ", " ", ""], {
18
25
  "display": "flex"
19
26
  }, {
20
27
  "alignItems": "flex-start"
28
+ }, {
29
+ "alignItems": "center"
21
30
  }, {
22
31
  "listStyleType": "none"
23
32
  }, {
24
33
  "padding": "0px"
25
34
  }, {
26
35
  "margin": "0px"
27
- }, {
28
- "alignItems": "center"
29
36
  });
30
37
  StyledOList.displayName = "StyledOList";
31
38
  export var StyledMenuList = styled(List).withConfig({
32
39
  displayName: "Styles__StyledMenuList",
33
- componentId: "sc-rxaesd-2"
40
+ componentId: "sc-rxaesd-3"
34
41
  })(["", ""], {
35
42
  "paddingTop": "0.5rem",
36
43
  "paddingBottom": "0.5rem"
@@ -38,10 +45,8 @@ export var StyledMenuList = styled(List).withConfig({
38
45
  StyledMenuList.displayName = "StyledMenuList";
39
46
  export var StyledBreadcrumbListItem = styled.li.withConfig({
40
47
  displayName: "Styles__StyledBreadcrumbListItem",
41
- componentId: "sc-rxaesd-3"
42
- })(["", " ", ""], {
43
- "display": "flex"
44
- }, {
48
+ componentId: "sc-rxaesd-4"
49
+ })(["", ""], {
45
50
  "flexShrink": "0"
46
51
  });
47
52
  StyledBreadcrumbListItem.displayName = "StyledBreadcrumbListItem";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Breadcrumbs/Styles.ts"],"names":["styled","BoxSizingStyle","FontStyle","List","StyledNavElement","nav","displayName","StyledOList","ul","StyledMenuList","StyledBreadcrumbListItem","li"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,mBAAnB;AAEA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,IAAT,QAAqB,SAArB;AAEA,OAAO,IAAMC,gBAAgB,GAAGJ,MAAM,CAACK,GAAV;AAAA;AAAA;AAAA,4BACvB;AAAA;AAAA,CADuB,EAEvB;AAAA;AAAA,CAFuB,EAGzBH,SAHyB,EAIzBD,cAJyB,CAAtB;AAOPG,gBAAgB,CAACE,WAAjB,GAA+B,kBAA/B;AAEA,OAAO,IAAMC,WAAW,GAAGP,MAAM,CAACQ,EAAV;AAAA;AAAA;AAAA,sCAClB;AAAA;AAAA,CADkB,EAElB;AAAA;AAAA,CAFkB,EAGlB;AAAA;AAAA,CAHkB,EAIlB;AAAA;AAAA,CAJkB,EAKlB;AAAA;AAAA,CALkB,EAMlB;AAAA;AAAA,CANkB,CAAjB;AASPD,WAAW,CAACD,WAAZ,GAA0B,aAA1B;AAEA,OAAO,IAAMG,cAAc,GAAGT,MAAM,CAACG,IAAD,CAAT;AAAA;AAAA;AAAA,aACrB;AAAA;AAAA;AAAA,CADqB,CAApB;AAIPM,cAAc,CAACH,WAAf,GAA6B,gBAA7B;AAEA,OAAO,IAAMI,wBAAwB,GAAGV,MAAM,CAACW,EAAV;AAAA;AAAA;AAAA,kBAC/B;AAAA;AAAA,CAD+B,EAE/B;AAAA;AAAA,CAF+B,CAA9B;AAKPD,wBAAwB,CAACJ,WAAzB,GAAuC,0BAAvC","sourcesContent":["import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { List } from \"../List\";\n\nexport const StyledNavElement = styled.nav`\n ${tw`tw-w-full`}\n ${tw`tw-overflow-visible`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledNavElement.displayName = \"StyledNavElement\";\n\nexport const StyledOList = styled.ul`\n ${tw`tw-flex`}\n ${tw`tw-items-start`}\n ${tw`tw-list-none`}\n ${tw`tw-p-0`}\n ${tw`tw-m-0`}\n ${tw`tw-items-center`}\n`;\n\nStyledOList.displayName = \"StyledOList\";\n\nexport const StyledMenuList = styled(List)`\n ${tw`tw-py-2`}\n`;\n\nStyledMenuList.displayName = \"StyledMenuList\";\n\nexport const StyledBreadcrumbListItem = styled.li`\n ${tw`tw-flex`}\n ${tw`tw-flex-shrink-0`}\n`;\n\nStyledBreadcrumbListItem.displayName = \"StyledBreadcrumbListItem\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Breadcrumbs/Styles.ts"],"names":["styled","BoxSizingStyle","FontStyle","List","StyledNavElement","nav","displayName","StyledListWrapper","div","StyledOList","ol","StyledMenuList","StyledBreadcrumbListItem","li"],"mappings":"AAAA,OAAOA,MAAP,MAAmB,mBAAnB;AAEA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,IAAT,QAAqB,SAArB;AAEA,OAAO,IAAMC,gBAAgB,GAAGJ,MAAM,CAACK,GAAV;AAAA;AAAA;AAAA,4BACvB;AAAA;AAAA,CADuB,EAEvB;AAAA;AAAA,CAFuB,EAGzBH,SAHyB,EAIzBD,cAJyB,CAAtB;AAOPG,gBAAgB,CAACE,WAAjB,GAA+B,kBAA/B;AAEA,OAAO,IAAMC,iBAAiB,GAAGP,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,aACxB;AAAA;AAAA,CADwB,CAAvB;AAIPD,iBAAiB,CAACD,WAAlB,GAAgC,mBAAhC;AAEA,OAAO,IAAMG,WAAW,GAAGT,MAAM,CAACU,EAAV;AAAA;AAAA;AAAA,sCAClB;AAAA;AAAA,CADkB,EAElB;AAAA;AAAA,CAFkB,EAGlB;AAAA;AAAA,CAHkB,EAIlB;AAAA;AAAA,CAJkB,EAKlB;AAAA;AAAA,CALkB,EAMlB;AAAA;AAAA,CANkB,CAAjB;AASPD,WAAW,CAACH,WAAZ,GAA0B,aAA1B;AAEA,OAAO,IAAMK,cAAc,GAAGX,MAAM,CAACG,IAAD,CAAT;AAAA;AAAA;AAAA,aACrB;AAAA;AAAA;AAAA,CADqB,CAApB;AAIPQ,cAAc,CAACL,WAAf,GAA6B,gBAA7B;AAEA,OAAO,IAAMM,wBAAwB,GAAGZ,MAAM,CAACa,EAAV;AAAA;AAAA;AAAA,aAC/B;AAAA;AAAA,CAD+B,CAA9B;AAIPD,wBAAwB,CAACN,WAAzB,GAAuC,0BAAvC","sourcesContent":["import styled from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\nimport { List } from \"../List\";\n\nexport const StyledNavElement = styled.nav`\n ${tw`tw-w-full`}\n ${tw`tw-overflow-hidden`}\n ${FontStyle}\n ${BoxSizingStyle}\n`;\n\nStyledNavElement.displayName = \"StyledNavElement\";\n\nexport const StyledListWrapper = styled.div`\n ${tw`tw-inline-block`}\n`;\n\nStyledListWrapper.displayName = \"StyledListWrapper\";\n\nexport const StyledOList = styled.ol`\n ${tw`tw-flex`}\n ${tw`tw-items-start`}\n ${tw`tw-items-center`}\n ${tw`tw-list-none`}\n ${tw`tw-p-0`}\n ${tw`tw-m-0`}\n`;\n\nStyledOList.displayName = \"StyledOList\";\n\nexport const StyledMenuList = styled(List)`\n ${tw`tw-py-2`}\n`;\n\nStyledMenuList.displayName = \"StyledMenuList\";\n\nexport const StyledBreadcrumbListItem = styled.li`\n ${tw`tw-flex-shrink-0`}\n`;\n\nStyledBreadcrumbListItem.displayName = \"StyledBreadcrumbListItem\";\n"],"file":"Styles.js"}
package/dist/index.js CHANGED
@@ -1,21 +1,21 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('styled-components'), require('classnames'), require('lodash.debounce'), require('resize-observer-polyfill'), require('react-focus-lock'), require('react-remove-scroll'), require('react-dom'), require('@popperjs/core'), require('react-transition-group'), require('moment'), require('react-day-picker/moment'), require('react-day-picker'), require('react-custom-scrollbars')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'react', 'styled-components', 'classnames', 'lodash.debounce', 'resize-observer-polyfill', 'react-focus-lock', 'react-remove-scroll', 'react-dom', '@popperjs/core', 'react-transition-group', 'moment', 'react-day-picker/moment', 'react-day-picker', 'react-custom-scrollbars'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.components = {}, global.React, global.styled, global.classnames, global.debounce, global.ResizeObserver, global.FocusLock, global.reactRemoveScroll, global.ReactDOM, global.core, global.reactTransitionGroup, global.moment, global.MomentLocaleUtils, global.DayPicker, global.reactCustomScrollbars));
5
- })(this, (function (exports, React, styled, classnames, debounce, ResizeObserver, FocusLock, reactRemoveScroll, ReactDOM, core, reactTransitionGroup, moment, MomentLocaleUtils, DayPicker, reactCustomScrollbars) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('styled-components'), require('classnames'), require('resize-observer-polyfill'), require('react-focus-lock'), require('react-remove-scroll'), require('react-dom'), require('@popperjs/core'), require('react-transition-group'), require('moment'), require('react-day-picker/moment'), require('react-day-picker'), require('lodash.debounce'), require('react-custom-scrollbars')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'react', 'styled-components', 'classnames', 'resize-observer-polyfill', 'react-focus-lock', 'react-remove-scroll', 'react-dom', '@popperjs/core', 'react-transition-group', 'moment', 'react-day-picker/moment', 'react-day-picker', 'lodash.debounce', 'react-custom-scrollbars'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.components = {}, global.React, global.styled, global.classnames, global.ResizeObserver, global.FocusLock, global.reactRemoveScroll, global.ReactDOM, global.core, global.reactTransitionGroup, global.moment, global.MomentLocaleUtils, global.DayPicker, global.debounce, global.reactCustomScrollbars));
5
+ })(this, (function (exports, React, styled, classnames, ResizeObserver, FocusLock, reactRemoveScroll, ReactDOM, core, reactTransitionGroup, moment, MomentLocaleUtils, DayPicker, debounce, reactCustomScrollbars) { 'use strict';
6
6
 
7
7
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
8
 
9
9
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
10
10
  var styled__default = /*#__PURE__*/_interopDefaultLegacy(styled);
11
11
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
12
- var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
13
12
  var ResizeObserver__default = /*#__PURE__*/_interopDefaultLegacy(ResizeObserver);
14
13
  var FocusLock__default = /*#__PURE__*/_interopDefaultLegacy(FocusLock);
15
14
  var ReactDOM__default = /*#__PURE__*/_interopDefaultLegacy(ReactDOM);
16
15
  var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment);
17
16
  var MomentLocaleUtils__default = /*#__PURE__*/_interopDefaultLegacy(MomentLocaleUtils);
18
17
  var DayPicker__default = /*#__PURE__*/_interopDefaultLegacy(DayPicker);
18
+ var debounce__default = /*#__PURE__*/_interopDefaultLegacy(debounce);
19
19
 
20
20
  function ownKeys(object, enumerableOnly) {
21
21
  var keys = Object.keys(object);
@@ -3575,29 +3575,36 @@
3575
3575
  })(["", " ", " ", " ", ""], {
3576
3576
  "width": "100%"
3577
3577
  }, {
3578
- "overflow": "visible"
3578
+ "overflow": "hidden"
3579
3579
  }, FontStyle, BoxSizingStyle);
3580
3580
  StyledNavElement.displayName = "StyledNavElement";
3581
- var StyledOList = styled__default["default"].ul.withConfig({
3582
- displayName: "Styles__StyledOList",
3581
+ var StyledListWrapper = styled__default["default"].div.withConfig({
3582
+ displayName: "Styles__StyledListWrapper",
3583
3583
  componentId: "sc-rxaesd-1"
3584
+ })(["", ""], {
3585
+ "display": "inline-block"
3586
+ });
3587
+ StyledListWrapper.displayName = "StyledListWrapper";
3588
+ var StyledOList = styled__default["default"].ol.withConfig({
3589
+ displayName: "Styles__StyledOList",
3590
+ componentId: "sc-rxaesd-2"
3584
3591
  })(["", " ", " ", " ", " ", " ", ""], {
3585
3592
  "display": "flex"
3586
3593
  }, {
3587
3594
  "alignItems": "flex-start"
3595
+ }, {
3596
+ "alignItems": "center"
3588
3597
  }, {
3589
3598
  "listStyleType": "none"
3590
3599
  }, {
3591
3600
  "padding": "0px"
3592
3601
  }, {
3593
3602
  "margin": "0px"
3594
- }, {
3595
- "alignItems": "center"
3596
3603
  });
3597
3604
  StyledOList.displayName = "StyledOList";
3598
3605
  var StyledMenuList = styled__default["default"](List).withConfig({
3599
3606
  displayName: "Styles__StyledMenuList",
3600
- componentId: "sc-rxaesd-2"
3607
+ componentId: "sc-rxaesd-3"
3601
3608
  })(["", ""], {
3602
3609
  "paddingTop": "0.5rem",
3603
3610
  "paddingBottom": "0.5rem"
@@ -3605,43 +3612,41 @@
3605
3612
  StyledMenuList.displayName = "StyledMenuList";
3606
3613
  var StyledBreadcrumbListItem = styled__default["default"].li.withConfig({
3607
3614
  displayName: "Styles__StyledBreadcrumbListItem",
3608
- componentId: "sc-rxaesd-3"
3609
- })(["", " ", ""], {
3610
- "display": "flex"
3611
- }, {
3615
+ componentId: "sc-rxaesd-4"
3616
+ })(["", ""], {
3612
3617
  "flexShrink": "0"
3613
3618
  });
3614
3619
  StyledBreadcrumbListItem.displayName = "StyledBreadcrumbListItem";
3615
3620
 
3616
- var _excluded$O = ["children", "className", "separator", "timeout"];
3621
+ var _excluded$O = ["children", "className", "separator"];
3617
3622
  var Breadcrumbs = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
3623
+ var _dimensions$width, _childDimensions$widt;
3624
+
3618
3625
  var children = _ref.children,
3619
3626
  className = _ref.className,
3620
3627
  _ref$separator = _ref.separator,
3621
3628
  separator = _ref$separator === void 0 ? "/" : _ref$separator,
3622
- _ref$timeout = _ref.timeout,
3623
- timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
3624
3629
  rest = _objectWithoutProperties(_ref, _excluded$O);
3625
3630
 
3626
3631
  var internalRef = React.useRef(null);
3627
- var prevWidth = React.useRef();
3632
+ var listWrapperRef = React.useRef(null);
3633
+ var olRef = React.useRef(null);
3628
3634
  var widthCollectionRef = React.useRef([]);
3629
3635
  var handleRef = useForkRef(ref, internalRef);
3636
+
3637
+ var _useState = React.useState(0),
3638
+ _useState2 = _slicedToArray(_useState, 2),
3639
+ menuBreadcrumbs = _useState2[0],
3640
+ setMenuBreadcrumbs = _useState2[1];
3641
+
3630
3642
  var dimensions = useResizeObserver$1(internalRef);
3643
+ var childDimensions = useResizeObserver$1(listWrapperRef);
3644
+ var parentWidth = (_dimensions$width = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _dimensions$width !== void 0 ? _dimensions$width : 0;
3645
+ var childWidth = (_childDimensions$widt = childDimensions === null || childDimensions === void 0 ? void 0 : childDimensions.width) !== null && _childDimensions$widt !== void 0 ? _childDimensions$widt : 0;
3631
3646
  var childrenCollection = React.useMemo(function () {
3632
3647
  return React__default["default"].Children.toArray(children);
3633
3648
  }, [children]);
3634
3649
 
3635
- var _useState = React.useState(),
3636
- _useState2 = _slicedToArray(_useState, 2),
3637
- width = _useState2[0],
3638
- setWidth = _useState2[1];
3639
-
3640
- var _useState3 = React.useState(0),
3641
- _useState4 = _slicedToArray(_useState3, 2),
3642
- menuBreadcrumbs = _useState4[0],
3643
- setMenuBreadcrumbs = _useState4[1];
3644
-
3645
3650
  var _useMemo = React.useMemo(function () {
3646
3651
  return [childrenCollection.slice(0, menuBreadcrumbs), childrenCollection.slice(menuBreadcrumbs, childrenCollection.length)];
3647
3652
  }, [childrenCollection, menuBreadcrumbs]),
@@ -3650,27 +3655,31 @@
3650
3655
  listCollection = _useMemo2[1];
3651
3656
 
3652
3657
  React.useEffect(function () {
3653
- var _internalRef$current, _internalRef$current2, _prevWidth$current;
3658
+ widthCollectionRef.current = [];
3659
+ setMenuBreadcrumbs(0);
3660
+ }, [childrenCollection.length]);
3661
+ React.useEffect(function () {
3662
+ var diffWidth = childWidth - parentWidth;
3654
3663
 
3655
- var actualWidth = ((_internalRef$current = internalRef.current) === null || _internalRef$current === void 0 ? void 0 : _internalRef$current.scrollWidth) || 0;
3656
- var breadcrumbItems = (_internalRef$current2 = internalRef.current) === null || _internalRef$current2 === void 0 ? void 0 : _internalRef$current2.firstElementChild;
3657
- var enabled = ((_prevWidth$current = prevWidth.current) !== null && _prevWidth$current !== void 0 ? _prevWidth$current : 0) > (width !== null && width !== void 0 ? width : 0);
3664
+ if (diffWidth > 0) {
3665
+ var _offsetWidth, _olRef$current, _olRef$current$queryS, _olRef$current$queryS2, _olRef$current2, _breadcrumbItems$leng;
3658
3666
 
3659
- if (enabled && width && actualWidth > width) {
3660
- var diffWidth = actualWidth - width;
3667
+ var separatorWidth = (_offsetWidth = (_olRef$current = olRef.current) === null || _olRef$current === void 0 ? void 0 : (_olRef$current$queryS = _olRef$current.querySelectorAll("[data-role=\"separator\"]")[0]) === null || _olRef$current$queryS === void 0 ? void 0 : _olRef$current$queryS.offsetWidth) !== null && _offsetWidth !== void 0 ? _offsetWidth : 0;
3668
+ var breadcrumbItems = (_olRef$current$queryS2 = (_olRef$current2 = olRef.current) === null || _olRef$current2 === void 0 ? void 0 : _olRef$current2.querySelectorAll("[data-role=\"item\"]")) !== null && _olRef$current$queryS2 !== void 0 ? _olRef$current$queryS2 : [];
3661
3669
  var childWidthCollection = [];
3662
- var childIndex = widthCollectionRef.current.length === 0 ? 0 : 2;
3670
+ var maxIndex = ((_breadcrumbItems$leng = breadcrumbItems === null || breadcrumbItems === void 0 ? void 0 : breadcrumbItems.length) !== null && _breadcrumbItems$leng !== void 0 ? _breadcrumbItems$leng : 1) - 1;
3671
+ var currentIndex = 0;
3663
3672
  var childSumWidth = 0;
3664
3673
 
3665
- while (diffWidth > childSumWidth) {
3666
- var _offsetWidth, _breadcrumbItems$chil, _offsetWidth2, _breadcrumbItems$chil2;
3674
+ while (diffWidth > childSumWidth && maxIndex >= currentIndex) {
3675
+ var _offsetWidth2, _breadcrumbItems$curr;
3676
+
3677
+ var _childWidth = (_offsetWidth2 = (_breadcrumbItems$curr = breadcrumbItems[currentIndex]) === null || _breadcrumbItems$curr === void 0 ? void 0 : _breadcrumbItems$curr.offsetWidth) !== null && _offsetWidth2 !== void 0 ? _offsetWidth2 : 0;
3667
3678
 
3668
- var childWidth = (_offsetWidth = breadcrumbItems === null || breadcrumbItems === void 0 ? void 0 : (_breadcrumbItems$chil = breadcrumbItems.children[childIndex]) === null || _breadcrumbItems$chil === void 0 ? void 0 : _breadcrumbItems$chil.offsetWidth) !== null && _offsetWidth !== void 0 ? _offsetWidth : 0;
3669
- var separatorWidth = (_offsetWidth2 = breadcrumbItems === null || breadcrumbItems === void 0 ? void 0 : (_breadcrumbItems$chil2 = breadcrumbItems.children[childIndex + 1]) === null || _breadcrumbItems$chil2 === void 0 ? void 0 : _breadcrumbItems$chil2.offsetWidth) !== null && _offsetWidth2 !== void 0 ? _offsetWidth2 : 0;
3670
- var result = separatorWidth + childWidth;
3679
+ var result = separatorWidth + _childWidth;
3671
3680
  childWidthCollection.push(result);
3672
3681
  childSumWidth += result;
3673
- childIndex += 2;
3682
+ currentIndex += 1;
3674
3683
  }
3675
3684
 
3676
3685
  if (childWidthCollection.length === listCollection.length) {
@@ -3682,16 +3691,11 @@
3682
3691
  return oldVal + childWidthCollection.length;
3683
3692
  });
3684
3693
  }
3685
- }, [listCollection.length, width]);
3694
+ }, [listCollection.length, parentWidth, childWidth]);
3686
3695
  React.useEffect(function () {
3687
- var _internalRef$current3, _breadcrumbItems$last, _breadcrumbItems$last2, _prevWidth$current2;
3688
-
3689
- var breadcrumbItems = (_internalRef$current3 = internalRef.current) === null || _internalRef$current3 === void 0 ? void 0 : _internalRef$current3.firstElementChild;
3690
- var nextWidth = (breadcrumbItems === null || breadcrumbItems === void 0 ? void 0 : (_breadcrumbItems$last = breadcrumbItems.lastElementChild) === null || _breadcrumbItems$last === void 0 ? void 0 : _breadcrumbItems$last.offsetWidth) + (breadcrumbItems === null || breadcrumbItems === void 0 ? void 0 : (_breadcrumbItems$last2 = breadcrumbItems.lastElementChild) === null || _breadcrumbItems$last2 === void 0 ? void 0 : _breadcrumbItems$last2.offsetLeft);
3691
- var enabled = ((_prevWidth$current2 = prevWidth.current) !== null && _prevWidth$current2 !== void 0 ? _prevWidth$current2 : 0) < (width !== null && width !== void 0 ? width : 0);
3692
- var diffWidth = (width !== null && width !== void 0 ? width : 0) - nextWidth;
3696
+ var diffWidth = parentWidth - childWidth;
3693
3697
 
3694
- if (enabled && diffWidth > 0 && widthCollectionRef.current.length > 0) {
3698
+ if (diffWidth > 0 && widthCollectionRef.current.length > 0) {
3695
3699
  var total = widthCollectionRef.current.length;
3696
3700
 
3697
3701
  var collection = _toConsumableArray(widthCollectionRef.current);
@@ -3714,30 +3718,23 @@
3714
3718
 
3715
3719
  var totalToDecrease = total - collection.length;
3716
3720
  setMenuBreadcrumbs(function (oldVal) {
3717
- return oldVal - totalToDecrease;
3721
+ var newValue = oldVal - totalToDecrease;
3722
+ return newValue > 0 ? newValue : 0;
3718
3723
  });
3719
3724
  var end = total - totalToDecrease;
3720
3725
  widthCollectionRef.current = end > 0 ? widthCollectionRef.current.slice(0, end) : [];
3721
3726
  }
3722
- }, [width]);
3723
- React.useEffect(function () {
3724
- var _dimensions$width;
3725
-
3726
- var debounceWidth = debounce__default["default"](function (width) {
3727
- setWidth(function (prevState) {
3728
- prevWidth.current = prevState !== null && prevState !== void 0 ? prevState : width + 1;
3729
- return width;
3730
- });
3731
- }, timeout);
3732
- debounceWidth((_dimensions$width = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _dimensions$width !== void 0 ? _dimensions$width : 0);
3733
- return function () {
3734
- debounceWidth.cancel();
3735
- };
3736
- }, [timeout, dimensions === null || dimensions === void 0 ? void 0 : dimensions.width]);
3727
+ }, [parentWidth, childWidth]);
3737
3728
  return /*#__PURE__*/React__default["default"].createElement(StyledNavElement, _extends({
3738
3729
  className: className,
3739
3730
  ref: handleRef
3740
- }, rest), /*#__PURE__*/React__default["default"].createElement(StyledOList, null, menuCollection.length > 0 ? /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, null, /*#__PURE__*/React__default["default"].createElement(Menu, {
3731
+ }, rest), /*#__PURE__*/React__default["default"].createElement(StyledListWrapper, {
3732
+ ref: listWrapperRef
3733
+ }, /*#__PURE__*/React__default["default"].createElement(StyledOList, {
3734
+ ref: olRef
3735
+ }, menuCollection.length > 0 ? /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, {
3736
+ "data-role": "menu"
3737
+ }, /*#__PURE__*/React__default["default"].createElement(Menu, {
3741
3738
  target: /*#__PURE__*/React__default["default"].createElement(Button, {
3742
3739
  variant: "text gray"
3743
3740
  }, /*#__PURE__*/React__default["default"].createElement(TreeDotsIcon$1, null))
@@ -3748,8 +3745,12 @@
3748
3745
  })))) : null, listCollection.map(function (child, index) {
3749
3746
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
3750
3747
  key: index
3751
- }, index > 0 || menuCollection.length > 0 ? /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, null, separator) : null, /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, null, child));
3752
- })));
3748
+ }, index > 0 || menuCollection.length > 0 ? /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, {
3749
+ "data-role": "separator"
3750
+ }, separator) : null, /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, {
3751
+ "data-role": "item"
3752
+ }, child));
3753
+ }))));
3753
3754
  });
3754
3755
  Breadcrumbs.displayName = "Breadcrumbs";
3755
3756