@activecollab/components 1.0.103 → 1.0.104

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.
@@ -21,60 +21,70 @@ var _Menu = require("../Menu");
21
21
 
22
22
  var _Styles = require("./Styles");
23
23
 
24
+ var _excluded = ["children", "className", "separator"];
25
+
24
26
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
27
 
26
28
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
29
 
28
- var Breadcrumbs = function Breadcrumbs(_ref) {
30
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
31
+
32
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
33
+
34
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
35
+
36
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
37
+
38
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
39
+
40
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
41
+
42
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
43
+
44
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
45
+
46
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
47
+
48
+ var Breadcrumbs = /*#__PURE__*/_react.default.forwardRef(function (_ref, ref) {
29
49
  var children = _ref.children,
30
50
  className = _ref.className,
31
51
  _ref$separator = _ref.separator,
32
- separator = _ref$separator === void 0 ? "/" : _ref$separator;
33
- var ref = (0, _react.useRef)(null);
52
+ separator = _ref$separator === void 0 ? "/" : _ref$separator,
53
+ rest = _objectWithoutProperties(_ref, _excluded);
54
+
55
+ var internalRef = (0, _react.useRef)(null);
56
+ var handleRef = (0, _.useForkRef)(ref, internalRef);
34
57
  var menuBreadcrumbs = 0;
35
58
 
36
59
  var _useMemo = (0, _react.useMemo)(function () {
37
- if (children instanceof Array) {
38
- return children.reduce(function (acc, value, index) {
39
- index >= menuBreadcrumbs ? acc.x.push(value) : acc.y.push(value);
40
- return acc;
41
- }, {
42
- x: [],
43
- y: []
44
- });
45
- } else {
46
- return {
47
- x: [children],
48
- y: []
49
- };
50
- }
60
+ var collection = _react.default.Children.toArray(children);
61
+
62
+ return [collection.slice(0, menuBreadcrumbs), collection.slice(menuBreadcrumbs, collection.length)];
51
63
  }, [children, menuBreadcrumbs]),
52
- x = _useMemo.x,
53
- y = _useMemo.y;
64
+ _useMemo2 = _slicedToArray(_useMemo, 2),
65
+ menuCollection = _useMemo2[0],
66
+ listCollection = _useMemo2[1];
54
67
 
55
- return /*#__PURE__*/_react.default.createElement(_Styles.StyledNavElement, {
68
+ return /*#__PURE__*/_react.default.createElement(_Styles.StyledNavElement, _extends({
56
69
  className: className,
57
- ref: ref
58
- }, /*#__PURE__*/_react.default.createElement(_Styles.StyledOList, null, menuBreadcrumbs > 0 ? /*#__PURE__*/_react.default.createElement(_Styles.StyledListMenuItem, null, /*#__PURE__*/_react.default.createElement(_.LayerContextProvider, {
59
- value: {
60
- zIndex: _.layers.skyscraper
61
- }
62
- }, /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
70
+ ref: handleRef
71
+ }, rest), /*#__PURE__*/_react.default.createElement(_Styles.StyledOList, null, menuBreadcrumbs > 0 ? /*#__PURE__*/_react.default.createElement(_Styles.StyledListMenuItem, null, /*#__PURE__*/_react.default.createElement(_Menu.Menu, {
63
72
  target: /*#__PURE__*/_react.default.createElement(_Button.Button, {
64
73
  variant: "text gray"
65
74
  }, /*#__PURE__*/_react.default.createElement(_Icons.TreeDotsIcon, null))
66
75
  }, /*#__PURE__*/_react.default.createElement(_List.List, {
67
76
  className: "tw-py-2"
68
- }, y.map(function (child, index) {
77
+ }, menuCollection.map(function (child, index) {
69
78
  return /*#__PURE__*/_react.default.createElement(_List.ListItem, {
70
79
  key: index
71
80
  }, child);
72
- }))))) : null, x.map(function (child, index) {
81
+ })))) : null, listCollection.map(function (child, index) {
73
82
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
74
83
  key: index
75
84
  }, index > 0 || menuBreadcrumbs > 0 ? /*#__PURE__*/_react.default.createElement(_Styles.StyledBreadcrumbListItem, null, separator) : null, /*#__PURE__*/_react.default.createElement(_Styles.StyledBreadcrumbListItem, null, child));
76
85
  })));
77
- };
86
+ });
78
87
 
79
88
  exports.Breadcrumbs = Breadcrumbs;
89
+ Breadcrumbs.displayName = "Breadcrumbs";
80
90
  //# sourceMappingURL=Breadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["Breadcrumbs","children","className","separator","ref","menuBreadcrumbs","Array","reduce","acc","value","index","x","push","y","zIndex","layers","skyscraper","map","child"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAgBO,IAAMA,WAAW,GAAG,SAAdA,WAAc,OAIH;AAAA,MAHtBC,QAGsB,QAHtBA,QAGsB;AAAA,MAFtBC,SAEsB,QAFtBA,SAEsB;AAAA,4BADtBC,SACsB;AAAA,MADtBA,SACsB,+BADV,GACU;AACtB,MAAMC,GAAG,GAAG,mBAAgC,IAAhC,CAAZ;AACA,MAAMC,eAAe,GAAG,CAAxB;;AAEA,iBAAiB,oBAAQ,YAAM;AAC7B,QAAIJ,QAAQ,YAAYK,KAAxB,EAA+B;AAC7B,aAAOL,QAAQ,CAACM,MAAT,CACL,UAACC,GAAD,EAAMC,KAAN,EAAaC,KAAb,EAAuB;AACrBA,QAAAA,KAAK,IAAIL,eAAT,GAA2BG,GAAG,CAACG,CAAJ,CAAMC,IAAN,CAAWH,KAAX,CAA3B,GAA+CD,GAAG,CAACK,CAAJ,CAAMD,IAAN,CAAWH,KAAX,CAA/C;AACA,eAAOD,GAAP;AACD,OAJI,EAKL;AAAEG,QAAAA,CAAC,EAAE,EAAL;AAASE,QAAAA,CAAC,EAAE;AAAZ,OALK,CAAP;AAOD,KARD,MAQO;AACL,aAAO;AAAEF,QAAAA,CAAC,EAAE,CAACV,QAAD,CAAL;AAAiBY,QAAAA,CAAC,EAAE;AAApB,OAAP;AACD;AACF,GAZgB,EAYd,CAACZ,QAAD,EAAWI,eAAX,CAZc,CAAjB;AAAA,MAAQM,CAAR,YAAQA,CAAR;AAAA,MAAWE,CAAX,YAAWA,CAAX;;AAcA,sBACE,6BAAC,wBAAD;AAAkB,IAAA,SAAS,EAAEX,SAA7B;AAAwC,IAAA,GAAG,EAAEE;AAA7C,kBACE,6BAAC,mBAAD,QACGC,eAAe,GAAG,CAAlB,gBACC,6BAAC,0BAAD,qBACE,6BAAC,sBAAD;AAAsB,IAAA,KAAK,EAAE;AAAES,MAAAA,MAAM,EAAEC,SAAOC;AAAjB;AAA7B,kBACE,6BAAC,UAAD;AACE,IAAA,MAAM,eACJ,6BAAC,cAAD;AAAQ,MAAA,OAAO,EAAC;AAAhB,oBACE,6BAAC,mBAAD,OADF;AAFJ,kBAOE,6BAAC,UAAD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGH,CAAC,CAACI,GAAF,CAAM,UAACC,KAAD,EAAQR,KAAR;AAAA,wBACL,6BAAC,cAAD;AAAU,MAAA,GAAG,EAAEA;AAAf,OAAuBQ,KAAvB,CADK;AAAA,GAAN,CADH,CAPF,CADF,CADF,CADD,GAkBG,IAnBN,EAoBGP,CAAC,CAACM,GAAF,CAAM,UAACC,KAAD,EAAQR,KAAR,EAAkB;AACvB,wBACE,6BAAC,cAAD,CAAO,QAAP;AAAgB,MAAA,GAAG,EAAEA;AAArB,OACGA,KAAK,GAAG,CAAR,IAAaL,eAAe,GAAG,CAA/B,gBACC,6BAAC,gCAAD,QAA2BF,SAA3B,CADD,GAEG,IAHN,eAIE,6BAAC,gCAAD,QAA2Be,KAA3B,CAJF,CADF;AAQD,GATA,CApBH,CADF,CADF;AAmCD,CAzDM","sourcesContent":["import React, { ReactElement, useRef, useMemo } from \"react\";\nimport { LayerContextProvider, layers } from \"../..\";\nimport { Button } from \"../Button\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport { List, ListItem } from \"../List\";\nimport { Menu } from \"../Menu\";\nimport {\n StyledListMenuItem,\n StyledNavElement,\n StyledOList,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Children type of node or string */\n children: ReactElement[] | ReactElement;\n /** ClassName */\n className?: string;\n /** Separator */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = ({\n children,\n className,\n separator = \"/\",\n}: BreadcrumbsProps) => {\n const ref = useRef<null | HTMLUListElement>(null);\n const menuBreadcrumbs = 0;\n\n const { x, y } = useMemo(() => {\n if (children instanceof Array) {\n return children.reduce(\n (acc, value, index) => {\n index >= menuBreadcrumbs ? acc.x.push(value) : acc.y.push(value);\n return acc;\n },\n { x: [], y: [] } as { x: ReactElement[]; y: ReactElement[] }\n );\n } else {\n return { x: [children], y: [] };\n }\n }, [children, menuBreadcrumbs]);\n\n return (\n <StyledNavElement className={className} ref={ref}>\n <StyledOList>\n {menuBreadcrumbs > 0 ? (\n <StyledListMenuItem>\n <LayerContextProvider value={{ zIndex: layers.skyscraper }}>\n <Menu\n target={\n <Button variant=\"text gray\">\n <TreeDotsIcon />\n </Button>\n }\n >\n <List className=\"tw-py-2\">\n {y.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </List>\n </Menu>\n </LayerContextProvider>\n </StyledListMenuItem>\n ) : null}\n {x.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuBreadcrumbs > 0 ? (\n <StyledBreadcrumbListItem>{separator}</StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem>{child}</StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledNavElement>\n );\n};\n"],"file":"Breadcrumbs.js"}
1
+ {"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["Breadcrumbs","React","forwardRef","ref","children","className","separator","rest","internalRef","handleRef","menuBreadcrumbs","collection","Children","toArray","slice","length","menuCollection","listCollection","map","child","index","displayName"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;AAYO,IAAMA,WAAW,gBAAGC,eAAMC,UAAN,CAIzB,gBAAoDC,GAApD,EAA4D;AAAA,MAAzDC,QAAyD,QAAzDA,QAAyD;AAAA,MAA/CC,SAA+C,QAA/CA,SAA+C;AAAA,4BAApCC,SAAoC;AAAA,MAApCA,SAAoC,+BAAxB,GAAwB;AAAA,MAAhBC,IAAgB;;AAC5D,MAAMC,WAAW,GAAG,mBAA2B,IAA3B,CAApB;AACA,MAAMC,SAAS,GAAG,kBAAWN,GAAX,EAAgBK,WAAhB,CAAlB;AACA,MAAME,eAAe,GAAG,CAAxB;;AAEA,iBAAyC,oBAAQ,YAAM;AACrD,QAAMC,UAAU,GAAGV,eAAMW,QAAN,CAAeC,OAAf,CAAuBT,QAAvB,CAAnB;;AACA,WAAO,CACLO,UAAU,CAACG,KAAX,CAAiB,CAAjB,EAAoBJ,eAApB,CADK,EAELC,UAAU,CAACG,KAAX,CAAiBJ,eAAjB,EAAkCC,UAAU,CAACI,MAA7C,CAFK,CAAP;AAID,GANwC,EAMtC,CAACX,QAAD,EAAWM,eAAX,CANsC,CAAzC;AAAA;AAAA,MAAOM,cAAP;AAAA,MAAuBC,cAAvB;;AAQA,sBACE,6BAAC,wBAAD;AAAkB,IAAA,SAAS,EAAEZ,SAA7B;AAAwC,IAAA,GAAG,EAAEI;AAA7C,KAA4DF,IAA5D,gBACE,6BAAC,mBAAD,QACGG,eAAe,GAAG,CAAlB,gBACC,6BAAC,0BAAD,qBACE,6BAAC,UAAD;AACE,IAAA,MAAM,eACJ,6BAAC,cAAD;AAAQ,MAAA,OAAO,EAAC;AAAhB,oBACE,6BAAC,mBAAD,OADF;AAFJ,kBAOE,6BAAC,UAAD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGM,cAAc,CAACE,GAAf,CAAmB,UAACC,KAAD,EAAQC,KAAR;AAAA,wBAClB,6BAAC,cAAD;AAAU,MAAA,GAAG,EAAEA;AAAf,OAAuBD,KAAvB,CADkB;AAAA,GAAnB,CADH,CAPF,CADF,CADD,GAgBG,IAjBN,EAkBGF,cAAc,CAACC,GAAf,CAAmB,UAACC,KAAD,EAAQC,KAAR,EAAkB;AACpC,wBACE,6BAAC,cAAD,CAAO,QAAP;AAAgB,MAAA,GAAG,EAAEA;AAArB,OACGA,KAAK,GAAG,CAAR,IAAaV,eAAe,GAAG,CAA/B,gBACC,6BAAC,gCAAD,QAA2BJ,SAA3B,CADD,GAEG,IAHN,eAIE,6BAAC,gCAAD,QAA2Ba,KAA3B,CAJF,CADF;AAQD,GATA,CAlBH,CADF,CADF;AAiCD,CAlD0B,CAApB;;;AAoDPnB,WAAW,CAACqB,WAAZ,GAA0B,aAA1B","sourcesContent":["import React, { ReactElement, useRef, useMemo } from \"react\";\nimport { useForkRef } from \"../..\";\nimport { Button } from \"../Button\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport { List, ListItem } from \"../List\";\nimport { Menu } from \"../Menu\";\nimport {\n StyledListMenuItem,\n StyledNavElement,\n StyledOList,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Separator element */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = React.forwardRef<\n HTMLElement,\n BreadcrumbsProps &\n Omit<React.ComponentPropsWithoutRef<\"nav\">, keyof BreadcrumbsProps>\n>(({ children, className, separator = \"/\", ...rest }, ref) => {\n const internalRef = useRef<HTMLElement | null>(null);\n const handleRef = useForkRef(ref, internalRef);\n const menuBreadcrumbs = 0;\n\n const [menuCollection, listCollection] = useMemo(() => {\n const collection = React.Children.toArray(children);\n return [\n collection.slice(0, menuBreadcrumbs),\n collection.slice(menuBreadcrumbs, collection.length),\n ];\n }, [children, menuBreadcrumbs]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledOList>\n {menuBreadcrumbs > 0 ? (\n <StyledListMenuItem>\n <Menu\n target={\n <Button variant=\"text gray\">\n <TreeDotsIcon />\n </Button>\n }\n >\n <List className=\"tw-py-2\">\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </List>\n </Menu>\n </StyledListMenuItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuBreadcrumbs > 0 ? (\n <StyledBreadcrumbListItem>{separator}</StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem>{child}</StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledNavElement>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"file":"Breadcrumbs.js"}
@@ -1,8 +1,6 @@
1
- import { ReactElement } from "react";
1
+ import React, { ReactElement } from "react";
2
2
  export interface BreadcrumbsProps {
3
- children: ReactElement[] | ReactElement;
4
- className?: string;
5
3
  separator?: ReactElement | string;
6
4
  }
7
- export declare const Breadcrumbs: ({ children, className, separator, }: BreadcrumbsProps) => JSX.Element;
5
+ export declare const Breadcrumbs: React.ForwardRefExoticComponent<BreadcrumbsProps & Omit<Pick<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "key" | keyof React.HTMLAttributes<HTMLElement>>, "separator"> & React.RefAttributes<HTMLElement>>;
8
6
  //# sourceMappingURL=Breadcrumbs.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,YAAY,EAAmB,MAAM,OAAO,CAAC;AAa7D,MAAM,WAAW,gBAAgB;IAE/B,QAAQ,EAAE,YAAY,EAAE,GAAG,YAAY,CAAC;IAExC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,wCAIrB,gBAAgB,gBAqDlB,CAAC"}
1
+ {"version":3,"file":"Breadcrumbs.d.ts","sourceRoot":"","sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,YAAY,EAAmB,MAAM,OAAO,CAAC;AAa7D,MAAM,WAAW,gBAAgB;IAE/B,SAAS,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,WAAW,0OAkDtB,CAAC"}
@@ -1,58 +1,49 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
3
+ var _excluded = ["children", "className", "separator"];
1
4
  import React, { useRef, useMemo } from "react";
2
- import { LayerContextProvider, layers } from "../..";
5
+ import { useForkRef } from "../..";
3
6
  import { Button } from "../Button";
4
7
  import { TreeDotsIcon } from "../Icons";
5
8
  import { List, ListItem } from "../List";
6
9
  import { Menu } from "../Menu";
7
10
  import { StyledListMenuItem, StyledNavElement, StyledOList, StyledBreadcrumbListItem } from "./Styles";
8
- export var Breadcrumbs = function Breadcrumbs(_ref) {
11
+ export var Breadcrumbs = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
9
12
  var children = _ref.children,
10
13
  className = _ref.className,
11
14
  _ref$separator = _ref.separator,
12
- separator = _ref$separator === void 0 ? "/" : _ref$separator;
13
- var ref = useRef(null);
15
+ separator = _ref$separator === void 0 ? "/" : _ref$separator,
16
+ rest = _objectWithoutPropertiesLoose(_ref, _excluded);
17
+
18
+ var internalRef = useRef(null);
19
+ var handleRef = useForkRef(ref, internalRef);
14
20
  var menuBreadcrumbs = 0;
15
21
 
16
22
  var _useMemo = useMemo(function () {
17
- if (children instanceof Array) {
18
- return children.reduce(function (acc, value, index) {
19
- index >= menuBreadcrumbs ? acc.x.push(value) : acc.y.push(value);
20
- return acc;
21
- }, {
22
- x: [],
23
- y: []
24
- });
25
- } else {
26
- return {
27
- x: [children],
28
- y: []
29
- };
30
- }
23
+ var collection = React.Children.toArray(children);
24
+ return [collection.slice(0, menuBreadcrumbs), collection.slice(menuBreadcrumbs, collection.length)];
31
25
  }, [children, menuBreadcrumbs]),
32
- x = _useMemo.x,
33
- y = _useMemo.y;
26
+ menuCollection = _useMemo[0],
27
+ listCollection = _useMemo[1];
34
28
 
35
- return /*#__PURE__*/React.createElement(StyledNavElement, {
29
+ return /*#__PURE__*/React.createElement(StyledNavElement, _extends({
36
30
  className: className,
37
- ref: ref
38
- }, /*#__PURE__*/React.createElement(StyledOList, null, menuBreadcrumbs > 0 ? /*#__PURE__*/React.createElement(StyledListMenuItem, null, /*#__PURE__*/React.createElement(LayerContextProvider, {
39
- value: {
40
- zIndex: layers.skyscraper
41
- }
42
- }, /*#__PURE__*/React.createElement(Menu, {
31
+ ref: handleRef
32
+ }, rest), /*#__PURE__*/React.createElement(StyledOList, null, menuBreadcrumbs > 0 ? /*#__PURE__*/React.createElement(StyledListMenuItem, null, /*#__PURE__*/React.createElement(Menu, {
43
33
  target: /*#__PURE__*/React.createElement(Button, {
44
34
  variant: "text gray"
45
35
  }, /*#__PURE__*/React.createElement(TreeDotsIcon, null))
46
36
  }, /*#__PURE__*/React.createElement(List, {
47
37
  className: "tw-py-2"
48
- }, y.map(function (child, index) {
38
+ }, menuCollection.map(function (child, index) {
49
39
  return /*#__PURE__*/React.createElement(ListItem, {
50
40
  key: index
51
41
  }, child);
52
- }))))) : null, x.map(function (child, index) {
42
+ })))) : null, listCollection.map(function (child, index) {
53
43
  return /*#__PURE__*/React.createElement(React.Fragment, {
54
44
  key: index
55
45
  }, index > 0 || menuBreadcrumbs > 0 ? /*#__PURE__*/React.createElement(StyledBreadcrumbListItem, null, separator) : null, /*#__PURE__*/React.createElement(StyledBreadcrumbListItem, null, child));
56
46
  })));
57
- };
47
+ });
48
+ Breadcrumbs.displayName = "Breadcrumbs";
58
49
  //# sourceMappingURL=Breadcrumbs.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["React","useRef","useMemo","LayerContextProvider","layers","Button","TreeDotsIcon","List","ListItem","Menu","StyledListMenuItem","StyledNavElement","StyledOList","StyledBreadcrumbListItem","Breadcrumbs","children","className","separator","ref","menuBreadcrumbs","Array","reduce","acc","value","index","x","push","y","zIndex","skyscraper","map","child"],"mappings":"AAAA,OAAOA,KAAP,IAA8BC,MAA9B,EAAsCC,OAAtC,QAAqD,OAArD;AACA,SAASC,oBAAT,EAA+BC,MAA/B,QAA6C,OAA7C;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,YAAT,QAA6B,UAA7B;AACA,SAASC,IAAT,EAAeC,QAAf,QAA+B,SAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SACEC,kBADF,EAEEC,gBAFF,EAGEC,WAHF,EAIEC,wBAJF,QAKO,UALP;AAgBA,OAAO,IAAMC,WAAW,GAAG,SAAdA,WAAc,OAIH;AAAA,MAHtBC,QAGsB,QAHtBA,QAGsB;AAAA,MAFtBC,SAEsB,QAFtBA,SAEsB;AAAA,4BADtBC,SACsB;AAAA,MADtBA,SACsB,+BADV,GACU;AACtB,MAAMC,GAAG,GAAGjB,MAAM,CAA0B,IAA1B,CAAlB;AACA,MAAMkB,eAAe,GAAG,CAAxB;;AAEA,iBAAiBjB,OAAO,CAAC,YAAM;AAC7B,QAAIa,QAAQ,YAAYK,KAAxB,EAA+B;AAC7B,aAAOL,QAAQ,CAACM,MAAT,CACL,UAACC,GAAD,EAAMC,KAAN,EAAaC,KAAb,EAAuB;AACrBA,QAAAA,KAAK,IAAIL,eAAT,GAA2BG,GAAG,CAACG,CAAJ,CAAMC,IAAN,CAAWH,KAAX,CAA3B,GAA+CD,GAAG,CAACK,CAAJ,CAAMD,IAAN,CAAWH,KAAX,CAA/C;AACA,eAAOD,GAAP;AACD,OAJI,EAKL;AAAEG,QAAAA,CAAC,EAAE,EAAL;AAASE,QAAAA,CAAC,EAAE;AAAZ,OALK,CAAP;AAOD,KARD,MAQO;AACL,aAAO;AAAEF,QAAAA,CAAC,EAAE,CAACV,QAAD,CAAL;AAAiBY,QAAAA,CAAC,EAAE;AAApB,OAAP;AACD;AACF,GAZuB,EAYrB,CAACZ,QAAD,EAAWI,eAAX,CAZqB,CAAxB;AAAA,MAAQM,CAAR,YAAQA,CAAR;AAAA,MAAWE,CAAX,YAAWA,CAAX;;AAcA,sBACE,oBAAC,gBAAD;AAAkB,IAAA,SAAS,EAAEX,SAA7B;AAAwC,IAAA,GAAG,EAAEE;AAA7C,kBACE,oBAAC,WAAD,QACGC,eAAe,GAAG,CAAlB,gBACC,oBAAC,kBAAD,qBACE,oBAAC,oBAAD;AAAsB,IAAA,KAAK,EAAE;AAAES,MAAAA,MAAM,EAAExB,MAAM,CAACyB;AAAjB;AAA7B,kBACE,oBAAC,IAAD;AACE,IAAA,MAAM,eACJ,oBAAC,MAAD;AAAQ,MAAA,OAAO,EAAC;AAAhB,oBACE,oBAAC,YAAD,OADF;AAFJ,kBAOE,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGF,CAAC,CAACG,GAAF,CAAM,UAACC,KAAD,EAAQP,KAAR;AAAA,wBACL,oBAAC,QAAD;AAAU,MAAA,GAAG,EAAEA;AAAf,OAAuBO,KAAvB,CADK;AAAA,GAAN,CADH,CAPF,CADF,CADF,CADD,GAkBG,IAnBN,EAoBGN,CAAC,CAACK,GAAF,CAAM,UAACC,KAAD,EAAQP,KAAR,EAAkB;AACvB,wBACE,oBAAC,KAAD,CAAO,QAAP;AAAgB,MAAA,GAAG,EAAEA;AAArB,OACGA,KAAK,GAAG,CAAR,IAAaL,eAAe,GAAG,CAA/B,gBACC,oBAAC,wBAAD,QAA2BF,SAA3B,CADD,GAEG,IAHN,eAIE,oBAAC,wBAAD,QAA2Bc,KAA3B,CAJF,CADF;AAQD,GATA,CApBH,CADF,CADF;AAmCD,CAzDM","sourcesContent":["import React, { ReactElement, useRef, useMemo } from \"react\";\nimport { LayerContextProvider, layers } from \"../..\";\nimport { Button } from \"../Button\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport { List, ListItem } from \"../List\";\nimport { Menu } from \"../Menu\";\nimport {\n StyledListMenuItem,\n StyledNavElement,\n StyledOList,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Children type of node or string */\n children: ReactElement[] | ReactElement;\n /** ClassName */\n className?: string;\n /** Separator */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = ({\n children,\n className,\n separator = \"/\",\n}: BreadcrumbsProps) => {\n const ref = useRef<null | HTMLUListElement>(null);\n const menuBreadcrumbs = 0;\n\n const { x, y } = useMemo(() => {\n if (children instanceof Array) {\n return children.reduce(\n (acc, value, index) => {\n index >= menuBreadcrumbs ? acc.x.push(value) : acc.y.push(value);\n return acc;\n },\n { x: [], y: [] } as { x: ReactElement[]; y: ReactElement[] }\n );\n } else {\n return { x: [children], y: [] };\n }\n }, [children, menuBreadcrumbs]);\n\n return (\n <StyledNavElement className={className} ref={ref}>\n <StyledOList>\n {menuBreadcrumbs > 0 ? (\n <StyledListMenuItem>\n <LayerContextProvider value={{ zIndex: layers.skyscraper }}>\n <Menu\n target={\n <Button variant=\"text gray\">\n <TreeDotsIcon />\n </Button>\n }\n >\n <List className=\"tw-py-2\">\n {y.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </List>\n </Menu>\n </LayerContextProvider>\n </StyledListMenuItem>\n ) : null}\n {x.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuBreadcrumbs > 0 ? (\n <StyledBreadcrumbListItem>{separator}</StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem>{child}</StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledNavElement>\n );\n};\n"],"file":"Breadcrumbs.js"}
1
+ {"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["React","useRef","useMemo","useForkRef","Button","TreeDotsIcon","List","ListItem","Menu","StyledListMenuItem","StyledNavElement","StyledOList","StyledBreadcrumbListItem","Breadcrumbs","forwardRef","ref","children","className","separator","rest","internalRef","handleRef","menuBreadcrumbs","collection","Children","toArray","slice","length","menuCollection","listCollection","map","child","index","displayName"],"mappings":";;;AAAA,OAAOA,KAAP,IAA8BC,MAA9B,EAAsCC,OAAtC,QAAqD,OAArD;AACA,SAASC,UAAT,QAA2B,OAA3B;AACA,SAASC,MAAT,QAAuB,WAAvB;AACA,SAASC,YAAT,QAA6B,UAA7B;AACA,SAASC,IAAT,EAAeC,QAAf,QAA+B,SAA/B;AACA,SAASC,IAAT,QAAqB,SAArB;AACA,SACEC,kBADF,EAEEC,gBAFF,EAGEC,WAHF,EAIEC,wBAJF,QAKO,UALP;AAYA,OAAO,IAAMC,WAAW,gBAAGb,KAAK,CAACc,UAAN,CAIzB,gBAAoDC,GAApD,EAA4D;AAAA,MAAzDC,QAAyD,QAAzDA,QAAyD;AAAA,MAA/CC,SAA+C,QAA/CA,SAA+C;AAAA,4BAApCC,SAAoC;AAAA,MAApCA,SAAoC,+BAAxB,GAAwB;AAAA,MAAhBC,IAAgB;;AAC5D,MAAMC,WAAW,GAAGnB,MAAM,CAAqB,IAArB,CAA1B;AACA,MAAMoB,SAAS,GAAGlB,UAAU,CAACY,GAAD,EAAMK,WAAN,CAA5B;AACA,MAAME,eAAe,GAAG,CAAxB;;AAEA,iBAAyCpB,OAAO,CAAC,YAAM;AACrD,QAAMqB,UAAU,GAAGvB,KAAK,CAACwB,QAAN,CAAeC,OAAf,CAAuBT,QAAvB,CAAnB;AACA,WAAO,CACLO,UAAU,CAACG,KAAX,CAAiB,CAAjB,EAAoBJ,eAApB,CADK,EAELC,UAAU,CAACG,KAAX,CAAiBJ,eAAjB,EAAkCC,UAAU,CAACI,MAA7C,CAFK,CAAP;AAID,GAN+C,EAM7C,CAACX,QAAD,EAAWM,eAAX,CAN6C,CAAhD;AAAA,MAAOM,cAAP;AAAA,MAAuBC,cAAvB;;AAQA,sBACE,oBAAC,gBAAD;AAAkB,IAAA,SAAS,EAAEZ,SAA7B;AAAwC,IAAA,GAAG,EAAEI;AAA7C,KAA4DF,IAA5D,gBACE,oBAAC,WAAD,QACGG,eAAe,GAAG,CAAlB,gBACC,oBAAC,kBAAD,qBACE,oBAAC,IAAD;AACE,IAAA,MAAM,eACJ,oBAAC,MAAD;AAAQ,MAAA,OAAO,EAAC;AAAhB,oBACE,oBAAC,YAAD,OADF;AAFJ,kBAOE,oBAAC,IAAD;AAAM,IAAA,SAAS,EAAC;AAAhB,KACGM,cAAc,CAACE,GAAf,CAAmB,UAACC,KAAD,EAAQC,KAAR;AAAA,wBAClB,oBAAC,QAAD;AAAU,MAAA,GAAG,EAAEA;AAAf,OAAuBD,KAAvB,CADkB;AAAA,GAAnB,CADH,CAPF,CADF,CADD,GAgBG,IAjBN,EAkBGF,cAAc,CAACC,GAAf,CAAmB,UAACC,KAAD,EAAQC,KAAR,EAAkB;AACpC,wBACE,oBAAC,KAAD,CAAO,QAAP;AAAgB,MAAA,GAAG,EAAEA;AAArB,OACGA,KAAK,GAAG,CAAR,IAAaV,eAAe,GAAG,CAA/B,gBACC,oBAAC,wBAAD,QAA2BJ,SAA3B,CADD,GAEG,IAHN,eAIE,oBAAC,wBAAD,QAA2Ba,KAA3B,CAJF,CADF;AAQD,GATA,CAlBH,CADF,CADF;AAiCD,CAlD0B,CAApB;AAoDPlB,WAAW,CAACoB,WAAZ,GAA0B,aAA1B","sourcesContent":["import React, { ReactElement, useRef, useMemo } from \"react\";\nimport { useForkRef } from \"../..\";\nimport { Button } from \"../Button\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport { List, ListItem } from \"../List\";\nimport { Menu } from \"../Menu\";\nimport {\n StyledListMenuItem,\n StyledNavElement,\n StyledOList,\n StyledBreadcrumbListItem,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Separator element */\n separator?: ReactElement | string;\n}\n\nexport const Breadcrumbs = React.forwardRef<\n HTMLElement,\n BreadcrumbsProps &\n Omit<React.ComponentPropsWithoutRef<\"nav\">, keyof BreadcrumbsProps>\n>(({ children, className, separator = \"/\", ...rest }, ref) => {\n const internalRef = useRef<HTMLElement | null>(null);\n const handleRef = useForkRef(ref, internalRef);\n const menuBreadcrumbs = 0;\n\n const [menuCollection, listCollection] = useMemo(() => {\n const collection = React.Children.toArray(children);\n return [\n collection.slice(0, menuBreadcrumbs),\n collection.slice(menuBreadcrumbs, collection.length),\n ];\n }, [children, menuBreadcrumbs]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledOList>\n {menuBreadcrumbs > 0 ? (\n <StyledListMenuItem>\n <Menu\n target={\n <Button variant=\"text gray\">\n <TreeDotsIcon />\n </Button>\n }\n >\n <List className=\"tw-py-2\">\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </List>\n </Menu>\n </StyledListMenuItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuBreadcrumbs > 0 ? (\n <StyledBreadcrumbListItem>{separator}</StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem>{child}</StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledNavElement>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"file":"Breadcrumbs.js"}
package/dist/index.js CHANGED
@@ -314,7 +314,7 @@
314
314
  })(["display:inline-flex;svg{margin:0 4px;}"]);
315
315
  StyledButtonElement.displayName = "StyledButtonElement";
316
316
 
317
- var _excluded$Z = ["children", "variant", "size", "disabled", "className"];
317
+ var _excluded$_ = ["children", "variant", "size", "disabled", "className"];
318
318
 
319
319
  /**
320
320
  * Button component
@@ -328,7 +328,7 @@
328
328
  _ref$disabled = _ref.disabled,
329
329
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
330
330
  className = _ref.className,
331
- args = _objectWithoutProperties(_ref, _excluded$Z);
331
+ args = _objectWithoutProperties(_ref, _excluded$_);
332
332
 
333
333
  return /*#__PURE__*/React__default["default"].createElement(StyledButton$1, _extends({
334
334
  disabled: disabled,
@@ -381,12 +381,12 @@
381
381
  })(["svg{fill:var(--color-theme-100);}&:hover svg{transform:rotate(90deg);transition:ease 0.3s;}"]);
382
382
  StyledGlobalAddButton.displayName = "StyledGlobalAddButton";
383
383
 
384
- var _excluded$Y = ["className", "disabled"];
384
+ var _excluded$Z = ["className", "disabled"];
385
385
  var GlobalAddButton = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
386
386
  var className = _ref.className,
387
387
  _ref$disabled = _ref.disabled,
388
388
  disabled = _ref$disabled === void 0 ? false : _ref$disabled,
389
- rest = _objectWithoutProperties(_ref, _excluded$Y);
389
+ rest = _objectWithoutProperties(_ref, _excluded$Z);
390
390
 
391
391
  return /*#__PURE__*/React__default["default"].createElement(StyledGlobalAddButton, _extends({
392
392
  ref: ref,
@@ -419,11 +419,11 @@
419
419
  });
420
420
  StyledButtonGroup$1.displayName = "StyledButtonGroup";
421
421
 
422
- var _excluded$X = ["children", "className"];
422
+ var _excluded$Y = ["children", "className"];
423
423
  var ButtonGroup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
424
424
  var children = _ref.children,
425
425
  className = _ref.className,
426
- rest = _objectWithoutProperties(_ref, _excluded$X);
426
+ rest = _objectWithoutProperties(_ref, _excluded$Y);
427
427
 
428
428
  return /*#__PURE__*/React__default["default"].createElement(StyledButtonGroup$1, _extends({
429
429
  ref: ref,
@@ -2790,11 +2790,11 @@
2790
2790
  })(["border-top:1px solid var(--border-primary);margin:12px 16px;height:1px;"]);
2791
2791
  StyledListSeparator.displayName = "StyledListSeparator";
2792
2792
 
2793
- var _excluded$W = ["children", "className"];
2793
+ var _excluded$X = ["children", "className"];
2794
2794
  var List = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2795
2795
  var children = _ref.children,
2796
2796
  className = _ref.className,
2797
- props = _objectWithoutProperties(_ref, _excluded$W);
2797
+ props = _objectWithoutProperties(_ref, _excluded$X);
2798
2798
 
2799
2799
  return /*#__PURE__*/React__default["default"].createElement(StyledList, _extends({}, props, {
2800
2800
  className: className,
@@ -2803,11 +2803,11 @@
2803
2803
  });
2804
2804
  List.displayName = "List";
2805
2805
 
2806
- var _excluded$V = ["children", "className"];
2806
+ var _excluded$W = ["children", "className"];
2807
2807
  var ListItem = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2808
2808
  var children = _ref.children,
2809
2809
  className = _ref.className,
2810
- props = _objectWithoutProperties(_ref, _excluded$V);
2810
+ props = _objectWithoutProperties(_ref, _excluded$W);
2811
2811
 
2812
2812
  return /*#__PURE__*/React__default["default"].createElement(StyledListItem, _extends({}, props, {
2813
2813
  className: classNames__default["default"]("c-list-item", className),
@@ -2848,7 +2848,7 @@
2848
2848
  }, [refA, refB]);
2849
2849
  }
2850
2850
 
2851
- var _excluded$U = ["children", "anchorEl", "open", "style", "transition", "placement", "strategy"];
2851
+ var _excluded$V = ["children", "anchorEl", "open", "style", "transition", "placement", "strategy"];
2852
2852
  var Popper = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
2853
2853
  var children = _ref.children,
2854
2854
  anchorEl = _ref.anchorEl,
@@ -2861,7 +2861,7 @@
2861
2861
  initialPlacement = _ref$placement === void 0 ? "bottom" : _ref$placement,
2862
2862
  _ref$strategy = _ref.strategy,
2863
2863
  strategy = _ref$strategy === void 0 ? "absolute" : _ref$strategy,
2864
- rest = _objectWithoutProperties(_ref, _excluded$U);
2864
+ rest = _objectWithoutProperties(_ref, _excluded$V);
2865
2865
 
2866
2866
  var _useState = React.useState(true),
2867
2867
  _useState2 = _slicedToArray(_useState, 2),
@@ -2967,12 +2967,12 @@
2967
2967
  });
2968
2968
  StyledOverlay.displayName = "StyledOverlay";
2969
2969
 
2970
- var _excluded$T = ["className", "disableBackgroundColor"];
2970
+ var _excluded$U = ["className", "disableBackgroundColor"];
2971
2971
  var Overlay = function Overlay(_ref) {
2972
2972
  var className = _ref.className,
2973
2973
  _ref$disableBackgroun = _ref.disableBackgroundColor,
2974
2974
  disableBackgroundColor = _ref$disableBackgroun === void 0 ? false : _ref$disableBackgroun,
2975
- rest = _objectWithoutProperties(_ref, _excluded$T);
2975
+ rest = _objectWithoutProperties(_ref, _excluded$U);
2976
2976
 
2977
2977
  return /*#__PURE__*/React__default["default"].createElement(StyledOverlay, _extends({
2978
2978
  className: classNames__default["default"]("c-overlay", className),
@@ -3023,7 +3023,7 @@
3023
3023
  house: 1000
3024
3024
  };
3025
3025
 
3026
- var _excluded$S = ["children", "onClose", "className", "style", "onKeyDown", "disableFocusLock", "disableScrollLock", "preventClickEventBubbling", "onClick"];
3026
+ var _excluded$T = ["children", "onClose", "className", "style", "onKeyDown", "disableFocusLock", "disableScrollLock", "preventClickEventBubbling", "onClick"];
3027
3027
  var returnFocus = {
3028
3028
  preventScroll: true
3029
3029
  };
@@ -3040,7 +3040,7 @@
3040
3040
  _ref$preventClickEven = _ref.preventClickEventBubbling,
3041
3041
  preventClickEventBubbling = _ref$preventClickEven === void 0 ? false : _ref$preventClickEven,
3042
3042
  onClick = _ref.onClick,
3043
- rest = _objectWithoutProperties(_ref, _excluded$S);
3043
+ rest = _objectWithoutProperties(_ref, _excluded$T);
3044
3044
 
3045
3045
  var innerRef = React.useRef(null);
3046
3046
  var handleRef = useForkRef(innerRef, ref);
@@ -3114,7 +3114,7 @@
3114
3114
  }, FontStyle, BoxSizingStyle);
3115
3115
  StyledBubble.displayName = "StyledBubble";
3116
3116
 
3117
- var _excluded$R = ["children", "className", "innerRef", "style"];
3117
+ var _excluded$S = ["children", "className", "innerRef", "style"];
3118
3118
  var Bubble = function Bubble(_ref) {
3119
3119
  var children = _ref.children,
3120
3120
  className = _ref.className,
@@ -3122,7 +3122,7 @@
3122
3122
  innerRef = _ref$innerRef === void 0 ? null : _ref$innerRef,
3123
3123
  _ref$style = _ref.style,
3124
3124
  style = _ref$style === void 0 ? {} : _ref$style,
3125
- rest = _objectWithoutProperties(_ref, _excluded$R);
3125
+ rest = _objectWithoutProperties(_ref, _excluded$S);
3126
3126
 
3127
3127
  return /*#__PURE__*/React__default["default"].createElement(StyledBubble, _extends({}, rest, {
3128
3128
  ref: innerRef,
@@ -3430,7 +3430,7 @@
3430
3430
  });
3431
3431
  StyledTypography.displayName = "StyledTypography";
3432
3432
 
3433
- var _excluded$Q = ["variant", "as", "color", "italic", "tabularNums", "letterSpacing", "lineHeight", "align", "decoration", "transform", "overflow", "whitespace", "wordBreak", "weight", "className", "children"];
3433
+ var _excluded$R = ["variant", "as", "color", "italic", "tabularNums", "letterSpacing", "lineHeight", "align", "decoration", "transform", "overflow", "whitespace", "wordBreak", "weight", "className", "children"];
3434
3434
  var Typography = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3435
3435
  var _ref$variant = _ref.variant,
3436
3436
  variant = _ref$variant === void 0 ? "Title 1" : _ref$variant,
@@ -3461,7 +3461,7 @@
3461
3461
  weight = _ref$weight === void 0 ? "regular" : _ref$weight,
3462
3462
  className = _ref.className,
3463
3463
  children = _ref.children,
3464
- props = _objectWithoutProperties(_ref, _excluded$Q);
3464
+ props = _objectWithoutProperties(_ref, _excluded$R);
3465
3465
 
3466
3466
  var Component = as || "div";
3467
3467
  return /*#__PURE__*/React__default["default"].createElement(StyledTypography, _extends({
@@ -3485,13 +3485,13 @@
3485
3485
  });
3486
3486
  Typography.displayName = "Typography";
3487
3487
 
3488
- var _excluded$P = ["title", "className", "leftElement", "rightElement"];
3488
+ var _excluded$Q = ["title", "className", "leftElement", "rightElement"];
3489
3489
  var MenuHeader = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3490
3490
  var title = _ref.title,
3491
3491
  className = _ref.className,
3492
3492
  leftElement = _ref.leftElement,
3493
3493
  rightElement = _ref.rightElement,
3494
- props = _objectWithoutProperties(_ref, _excluded$P);
3494
+ props = _objectWithoutProperties(_ref, _excluded$Q);
3495
3495
 
3496
3496
  return /*#__PURE__*/React__default["default"].createElement(StyledMenuHeader, _extends({}, props, {
3497
3497
  className: classNames__default["default"]("c-menu-header", className),
@@ -3514,11 +3514,11 @@
3514
3514
  });
3515
3515
  MenuHeader.displayName = "MenuHeader";
3516
3516
 
3517
- var _excluded$O = ["children", "className"];
3517
+ var _excluded$P = ["children", "className"];
3518
3518
  var MenuFooter = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
3519
3519
  var children = _ref.children,
3520
3520
  className = _ref.className,
3521
- props = _objectWithoutProperties(_ref, _excluded$O);
3521
+ props = _objectWithoutProperties(_ref, _excluded$P);
3522
3522
 
3523
3523
  return /*#__PURE__*/React__default["default"].createElement(StyledMenuFooter, _extends({}, props, {
3524
3524
  className: classNames__default["default"]("c-menu-footer", className),
@@ -3568,42 +3568,36 @@
3568
3568
  });
3569
3569
  StyledBreadcrumbListItem.displayName = "StyledBreadcrumbListItem";
3570
3570
 
3571
- var Breadcrumbs = function Breadcrumbs(_ref) {
3571
+ var _excluded$O = ["children", "className", "separator"];
3572
+ var Breadcrumbs = /*#__PURE__*/React__default["default"].forwardRef(function (_ref, ref) {
3572
3573
  var children = _ref.children,
3573
3574
  className = _ref.className,
3574
3575
  _ref$separator = _ref.separator,
3575
- separator = _ref$separator === void 0 ? "/" : _ref$separator;
3576
- var ref = React.useRef(null);
3576
+ separator = _ref$separator === void 0 ? "/" : _ref$separator,
3577
+ rest = _objectWithoutProperties(_ref, _excluded$O);
3578
+
3579
+ var internalRef = React.useRef(null);
3580
+ var handleRef = useForkRef(ref, internalRef);
3577
3581
  var menuBreadcrumbs = 0;
3578
3582
 
3579
3583
  var _useMemo = React.useMemo(function () {
3580
- if (children instanceof Array) {
3581
- return children.reduce(function (acc, value, index) {
3582
- index >= menuBreadcrumbs ? acc.x.push(value) : acc.y.push(value);
3583
- return acc;
3584
- }, {
3585
- x: [],
3586
- y: []
3587
- });
3588
- } else {
3589
- return {
3590
- x: [children],
3591
- y: []
3592
- };
3593
- }
3584
+ var collection = React__default["default"].Children.toArray(children);
3585
+ return [collection.slice(0, menuBreadcrumbs), collection.slice(menuBreadcrumbs, collection.length)];
3594
3586
  }, [children, menuBreadcrumbs]),
3595
- x = _useMemo.x;
3596
- _useMemo.y;
3587
+ _useMemo2 = _slicedToArray(_useMemo, 2);
3588
+ _useMemo2[0];
3589
+ var listCollection = _useMemo2[1];
3597
3590
 
3598
- return /*#__PURE__*/React__default["default"].createElement(StyledNavElement, {
3591
+ return /*#__PURE__*/React__default["default"].createElement(StyledNavElement, _extends({
3599
3592
  className: className,
3600
- ref: ref
3601
- }, /*#__PURE__*/React__default["default"].createElement(StyledOList, null, null, x.map(function (child, index) {
3593
+ ref: handleRef
3594
+ }, rest), /*#__PURE__*/React__default["default"].createElement(StyledOList, null, null, listCollection.map(function (child, index) {
3602
3595
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
3603
3596
  key: index
3604
3597
  }, index > 0 || menuBreadcrumbs > 0 ? /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, null, separator) : null, /*#__PURE__*/React__default["default"].createElement(StyledBreadcrumbListItem, null, child));
3605
3598
  })));
3606
- };
3599
+ });
3600
+ Breadcrumbs.displayName = "Breadcrumbs";
3607
3601
 
3608
3602
  var defaultStyle$3 = {
3609
3603
  transitionProperty: "opacity, transform",