@activecollab/components 1.0.115 → 1.0.118

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,7 +45,7 @@ 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"
48
+ componentId: "sc-rxaesd-4"
42
49
  })(["", " ", ""], {
43
50
  "display": "flex"
44
51
  }, {
@@ -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,kBAC/B;AAAA;AAAA,CAD+B,EAE/B;AAAA;AAAA,CAF+B,CAA9B;AAKPD,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`}\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,7 +3612,7 @@
3605
3612
  StyledMenuList.displayName = "StyledMenuList";
3606
3613
  var StyledBreadcrumbListItem = styled__default["default"].li.withConfig({
3607
3614
  displayName: "Styles__StyledBreadcrumbListItem",
3608
- componentId: "sc-rxaesd-3"
3615
+ componentId: "sc-rxaesd-4"
3609
3616
  })(["", " ", ""], {
3610
3617
  "display": "flex"
3611
3618
  }, {
@@ -3613,35 +3620,35 @@
3613
3620
  });
3614
3621
  StyledBreadcrumbListItem.displayName = "StyledBreadcrumbListItem";
3615
3622
 
3616
- var _excluded$O = ["children", "className", "separator", "timeout"];
3623
+ var _excluded$O = ["children", "className", "separator"];
3617
3624
  var Breadcrumbs = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
3625
+ var _dimensions$width, _childDimensions$widt;
3626
+
3618
3627
  var children = _ref.children,
3619
3628
  className = _ref.className,
3620
3629
  _ref$separator = _ref.separator,
3621
3630
  separator = _ref$separator === void 0 ? "/" : _ref$separator,
3622
- _ref$timeout = _ref.timeout,
3623
- timeout = _ref$timeout === void 0 ? 300 : _ref$timeout,
3624
3631
  rest = _objectWithoutProperties(_ref, _excluded$O);
3625
3632
 
3626
3633
  var internalRef = React.useRef(null);
3627
- var prevWidth = React.useRef();
3634
+ var listWrapperRef = React.useRef(null);
3635
+ var olRef = React.useRef(null);
3628
3636
  var widthCollectionRef = React.useRef([]);
3629
3637
  var handleRef = useForkRef(ref, internalRef);
3638
+
3639
+ var _useState = React.useState(0),
3640
+ _useState2 = _slicedToArray(_useState, 2),
3641
+ menuBreadcrumbs = _useState2[0],
3642
+ setMenuBreadcrumbs = _useState2[1];
3643
+
3630
3644
  var dimensions = useResizeObserver$1(internalRef);
3645
+ var childDimensions = useResizeObserver$1(listWrapperRef);
3646
+ var parentWidth = (_dimensions$width = dimensions === null || dimensions === void 0 ? void 0 : dimensions.width) !== null && _dimensions$width !== void 0 ? _dimensions$width : 0;
3647
+ var childWidth = (_childDimensions$widt = childDimensions === null || childDimensions === void 0 ? void 0 : childDimensions.width) !== null && _childDimensions$widt !== void 0 ? _childDimensions$widt : 0;
3631
3648
  var childrenCollection = React.useMemo(function () {
3632
3649
  return React__default["default"].Children.toArray(children);
3633
3650
  }, [children]);
3634
3651
 
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
3652
  var _useMemo = React.useMemo(function () {
3646
3653
  return [childrenCollection.slice(0, menuBreadcrumbs), childrenCollection.slice(menuBreadcrumbs, childrenCollection.length)];
3647
3654
  }, [childrenCollection, menuBreadcrumbs]),
@@ -3650,27 +3657,31 @@
3650
3657
  listCollection = _useMemo2[1];
3651
3658
 
3652
3659
  React.useEffect(function () {
3653
- var _internalRef$current, _internalRef$current2, _prevWidth$current;
3660
+ widthCollectionRef.current = [];
3661
+ setMenuBreadcrumbs(0);
3662
+ }, [childrenCollection.length]);
3663
+ React.useEffect(function () {
3664
+ var diffWidth = childWidth - parentWidth;
3654
3665
 
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);
3666
+ if (diffWidth > 0) {
3667
+ var _offsetWidth, _olRef$current, _olRef$current$queryS, _olRef$current$queryS2, _olRef$current2, _breadcrumbItems$leng;
3658
3668
 
3659
- if (enabled && width && actualWidth > width) {
3660
- var diffWidth = actualWidth - width;
3669
+ 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;
3670
+ 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
3671
  var childWidthCollection = [];
3662
- var childIndex = widthCollectionRef.current.length === 0 ? 0 : 2;
3672
+ var maxIndex = ((_breadcrumbItems$leng = breadcrumbItems === null || breadcrumbItems === void 0 ? void 0 : breadcrumbItems.length) !== null && _breadcrumbItems$leng !== void 0 ? _breadcrumbItems$leng : 1) - 1;
3673
+ var currentIndex = 0;
3663
3674
  var childSumWidth = 0;
3664
3675
 
3665
- while (diffWidth > childSumWidth) {
3666
- var _offsetWidth, _breadcrumbItems$chil, _offsetWidth2, _breadcrumbItems$chil2;
3676
+ while (diffWidth > childSumWidth && maxIndex >= currentIndex) {
3677
+ var _offsetWidth2, _breadcrumbItems$curr;
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 _childWidth = (_offsetWidth2 = (_breadcrumbItems$curr = breadcrumbItems[currentIndex]) === null || _breadcrumbItems$curr === void 0 ? void 0 : _breadcrumbItems$curr.offsetWidth) !== null && _offsetWidth2 !== void 0 ? _offsetWidth2 : 0;
3680
+
3681
+ var result = separatorWidth + _childWidth;
3671
3682
  childWidthCollection.push(result);
3672
3683
  childSumWidth += result;
3673
- childIndex += 2;
3684
+ currentIndex += 1;
3674
3685
  }
3675
3686
 
3676
3687
  if (childWidthCollection.length === listCollection.length) {
@@ -3682,16 +3693,11 @@
3682
3693
  return oldVal + childWidthCollection.length;
3683
3694
  });
3684
3695
  }
3685
- }, [listCollection.length, width]);
3696
+ }, [listCollection.length, parentWidth, childWidth]);
3686
3697
  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;
3698
+ var diffWidth = parentWidth - childWidth;
3693
3699
 
3694
- if (enabled && diffWidth > 0 && widthCollectionRef.current.length > 0) {
3700
+ if (diffWidth > 0 && widthCollectionRef.current.length > 0) {
3695
3701
  var total = widthCollectionRef.current.length;
3696
3702
 
3697
3703
  var collection = _toConsumableArray(widthCollectionRef.current);
@@ -3714,30 +3720,23 @@
3714
3720
 
3715
3721
  var totalToDecrease = total - collection.length;
3716
3722
  setMenuBreadcrumbs(function (oldVal) {
3717
- return oldVal - totalToDecrease;
3723
+ var newValue = oldVal - totalToDecrease;
3724
+ return newValue > 0 ? newValue : 0;
3718
3725
  });
3719
3726
  var end = total - totalToDecrease;
3720
3727
  widthCollectionRef.current = end > 0 ? widthCollectionRef.current.slice(0, end) : [];
3721
3728
  }
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]);
3729
+ }, [parentWidth, childWidth]);
3737
3730
  return /*#__PURE__*/React__default["default"].createElement(StyledNavElement, _extends({
3738
3731
  className: className,
3739
3732
  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, {
3733
+ }, rest), /*#__PURE__*/React__default["default"].createElement(StyledListWrapper, {
3734
+ ref: listWrapperRef
3735
+ }, /*#__PURE__*/React__default["default"].createElement(StyledOList, {
3736
+ ref: olRef
3737
+ }, menuCollection.length > 0 ? /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, {
3738
+ "data-role": "menu"
3739
+ }, /*#__PURE__*/React__default["default"].createElement(Menu, {
3741
3740
  target: /*#__PURE__*/React__default["default"].createElement(Button, {
3742
3741
  variant: "text gray"
3743
3742
  }, /*#__PURE__*/React__default["default"].createElement(TreeDotsIcon$1, null))
@@ -3748,8 +3747,12 @@
3748
3747
  })))) : null, listCollection.map(function (child, index) {
3749
3748
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
3750
3749
  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
- })));
3750
+ }, index > 0 || menuCollection.length > 0 ? /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, {
3751
+ "data-role": "separator"
3752
+ }, separator) : null, /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, {
3753
+ "data-role": "item"
3754
+ }, child));
3755
+ }))));
3753
3756
  });
3754
3757
  Breadcrumbs.displayName = "Breadcrumbs";
3755
3758