@activecollab/components 1.0.116 → 1.0.119
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/cjs/components/Breadcrumbs/Breadcrumbs.js +50 -58
- package/dist/cjs/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/cjs/components/Breadcrumbs/Styles.js +18 -8
- package/dist/cjs/components/Breadcrumbs/Styles.js.map +1 -1
- package/dist/cjs/components/Button/Styles.js +6 -6
- package/dist/cjs/components/Button/Styles.js.map +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.d.ts +1 -2
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js +50 -54
- package/dist/esm/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
- package/dist/esm/components/Breadcrumbs/Styles.d.ts +2 -1
- package/dist/esm/components/Breadcrumbs/Styles.d.ts.map +1 -1
- package/dist/esm/components/Breadcrumbs/Styles.js +14 -7
- package/dist/esm/components/Breadcrumbs/Styles.js.map +1 -1
- package/dist/esm/components/Button/Styles.d.ts.map +1 -1
- package/dist/esm/components/Button/Styles.js +6 -6
- package/dist/esm/components/Button/Styles.js.map +1 -1
- package/dist/index.js +75 -72
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["React","useRef","useMemo","useEffect","useState","useForkRef","useResizeObserver","Menu","ListItem","Button","TreeDotsIcon","debounce","StyledNavElement","StyledOList","StyledBreadcrumbListItem","StyledMenuList","Breadcrumbs","forwardRef","ref","children","className","separator","timeout","rest","internalRef","prevWidth","widthCollectionRef","handleRef","dimensions","childrenCollection","Children","toArray","width","setWidth","menuBreadcrumbs","setMenuBreadcrumbs","slice","length","menuCollection","listCollection","actualWidth","current","scrollWidth","breadcrumbItems","firstElementChild","enabled","diffWidth","childWidthCollection","childIndex","childSumWidth","childWidth","offsetWidth","separatorWidth","result","push","pop","oldVal","nextWidth","lastElementChild","offsetLeft","total","collection","sumWidth","lastWidth","totalToDecrease","end","debounceWidth","prevState","cancel","map","child","index","displayName"],"mappings":"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","sourcesContent":["import React, {\n ReactElement,\n useRef,\n useMemo,\n useEffect,\n useState,\n} from \"react\";\nimport { useForkRef, useResizeObserver } from \"../../utils\";\nimport { Menu } from \"../Menu\";\nimport { ListItem } from \"../List\";\nimport { Button } from \"../Button\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport debounce from \"lodash.debounce\";\nimport {\n StyledNavElement,\n StyledOList,\n StyledBreadcrumbListItem,\n StyledMenuList,\n} from \"./Styles\";\n\nexport interface BreadcrumbsProps {\n /** Separator element */\n separator?: ReactElement | string;\n /** Resize update timeout */\n timeout?: number;\n}\n\nexport const Breadcrumbs = React.forwardRef<\n HTMLElement,\n BreadcrumbsProps &\n Omit<React.ComponentPropsWithoutRef<\"nav\">, keyof BreadcrumbsProps>\n>(({ children, className, separator = \"/\", timeout = 300, ...rest }, ref) => {\n const internalRef = useRef<HTMLElement | null>(null);\n const prevWidth = useRef<number | undefined>();\n const widthCollectionRef = useRef<number[]>([]);\n const handleRef = useForkRef(ref, internalRef);\n const dimensions = useResizeObserver(internalRef);\n\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [width, setWidth] = useState<number | undefined>();\n const [menuBreadcrumbs, setMenuBreadcrumbs] = useState(0);\n\n const [menuCollection, listCollection] = useMemo(() => {\n return [\n childrenCollection.slice(0, menuBreadcrumbs),\n childrenCollection.slice(menuBreadcrumbs, childrenCollection.length),\n ];\n }, [childrenCollection, menuBreadcrumbs]);\n\n useEffect(() => {\n const actualWidth = internalRef.current?.scrollWidth || 0;\n const breadcrumbItems = internalRef.current?.firstElementChild;\n\n const enabled = (prevWidth.current ?? 0) > (width ?? 0);\n\n if (enabled && width && actualWidth > width) {\n const diffWidth = actualWidth - width;\n const childWidthCollection: number[] = [];\n\n let childIndex = widthCollectionRef.current.length === 0 ? 0 : 2;\n let childSumWidth = 0;\n\n while (diffWidth > childSumWidth) {\n const childWidth =\n (breadcrumbItems?.children[childIndex] as HTMLLIElement)\n ?.offsetWidth ?? 0;\n const separatorWidth =\n (breadcrumbItems?.children[childIndex + 1] as HTMLLIElement)\n ?.offsetWidth ?? 0;\n const result = separatorWidth + childWidth;\n childWidthCollection.push(result);\n childSumWidth += result;\n childIndex += 2;\n }\n\n if (childWidthCollection.length === listCollection.length) {\n childWidthCollection.pop();\n }\n\n widthCollectionRef.current = [\n ...widthCollectionRef.current,\n ...childWidthCollection,\n ];\n\n setMenuBreadcrumbs((oldVal) => oldVal + childWidthCollection.length);\n }\n }, [listCollection.length, width]);\n\n useEffect(() => {\n const breadcrumbItems = internalRef.current?.firstElementChild;\n const nextWidth =\n (breadcrumbItems?.lastElementChild as HTMLLIElement)?.offsetWidth +\n (breadcrumbItems?.lastElementChild as HTMLLIElement)?.offsetLeft;\n\n const enabled = (prevWidth.current ?? 0) < (width ?? 0);\n const diffWidth = (width ?? 0) - nextWidth;\n\n if (enabled && diffWidth > 0 && widthCollectionRef.current.length > 0) {\n const total = widthCollectionRef.current.length;\n const collection = [...widthCollectionRef.current];\n\n let sumWidth = 0;\n\n while (diffWidth > sumWidth && collection.length > 0) {\n const lastWidth = collection[collection.length - 1] ?? 0;\n if (diffWidth < lastWidth + sumWidth) {\n sumWidth = diffWidth;\n } else {\n sumWidth += collection.pop() ?? 0;\n }\n }\n\n const totalToDecrease = total - collection.length;\n\n setMenuBreadcrumbs((oldVal) => oldVal - totalToDecrease);\n\n const end = total - totalToDecrease;\n\n widthCollectionRef.current =\n end > 0 ? widthCollectionRef.current.slice(0, end) : [];\n }\n }, [width]);\n\n useEffect(() => {\n const debounceWidth = debounce((width: number) => {\n setWidth((prevState) => {\n prevWidth.current = prevState ?? width + 1;\n return width;\n });\n }, timeout);\n\n debounceWidth(dimensions?.width ?? 0);\n\n return (): void => {\n debounceWidth.cancel();\n };\n }, [timeout, dimensions?.width]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledOList>\n {menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem>\n <Menu\n target={\n <Button variant=\"text gray\">\n <TreeDotsIcon />\n </Button>\n }\n >\n <StyledMenuList>\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </StyledMenuList>\n </Menu>\n </StyledBreadcrumbListItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuCollection.length > 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
|
+
{"version":3,"sources":["../../../../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["React","useRef","useMemo","useEffect","useState","useForkRef","useResizeObserver","Menu","ListItem","Button","TreeDotsIcon","StyledNavElement","StyledOList","StyledMenuList","StyledListWrapper","StyledBreadcrumbListItem","Breadcrumbs","forwardRef","ref","children","className","separator","rest","internalRef","listWrapperRef","olRef","widthCollectionRef","handleRef","menuBreadcrumbs","setMenuBreadcrumbs","dimensions","childDimensions","parentWidth","width","childWidth","childrenCollection","Children","toArray","slice","length","menuCollection","listCollection","current","diffWidth","separatorWidth","querySelectorAll","offsetWidth","breadcrumbItems","childWidthCollection","maxIndex","currentIndex","childSumWidth","result","push","pop","oldVal","total","collection","sumWidth","lastWidth","totalToDecrease","newValue","end","map","child","index","displayName"],"mappings":"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","sourcesContent":["import React, {\n ReactElement,\n useRef,\n useMemo,\n useEffect,\n useState,\n} from \"react\";\nimport { useForkRef, useResizeObserver } from \"../../utils\";\nimport { Menu } from \"../Menu\";\nimport { ListItem } from \"../List\";\nimport { Button } from \"../Button\";\nimport { TreeDotsIcon } from \"../Icons\";\nimport {\n StyledNavElement,\n StyledOList,\n StyledMenuList,\n StyledListWrapper,\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 listWrapperRef = useRef<HTMLDivElement | null>(null);\n const olRef = useRef<HTMLOListElement | null>(null);\n const widthCollectionRef = useRef<number[]>([]);\n const handleRef = useForkRef(ref, internalRef);\n const [menuBreadcrumbs, setMenuBreadcrumbs] = useState(0);\n const dimensions = useResizeObserver(internalRef);\n const childDimensions = useResizeObserver(listWrapperRef);\n\n const parentWidth = dimensions?.width ?? 0;\n const childWidth = childDimensions?.width ?? 0;\n\n const childrenCollection = useMemo(\n () => React.Children.toArray(children),\n [children]\n );\n\n const [menuCollection, listCollection] = useMemo(() => {\n return [\n childrenCollection.slice(0, menuBreadcrumbs),\n childrenCollection.slice(menuBreadcrumbs, childrenCollection.length),\n ];\n }, [childrenCollection, menuBreadcrumbs]);\n\n useEffect(() => {\n widthCollectionRef.current = [];\n setMenuBreadcrumbs(0);\n }, [childrenCollection.length]);\n\n useEffect(() => {\n const diffWidth = childWidth - parentWidth;\n\n if (diffWidth > 0) {\n const separatorWidth =\n (\n olRef.current?.querySelectorAll(\n `[data-role=\"separator\"]`\n )[0] as HTMLLIElement\n )?.offsetWidth ?? 0;\n const breadcrumbItems =\n olRef.current?.querySelectorAll(`[data-role=\"item\"]`) ?? [];\n const childWidthCollection: number[] = [];\n\n const maxIndex = (breadcrumbItems?.length ?? 1) - 1;\n let currentIndex = 0;\n let childSumWidth = 0;\n\n while (diffWidth > childSumWidth && maxIndex >= currentIndex) {\n const childWidth =\n (breadcrumbItems[currentIndex] as HTMLLIElement)?.offsetWidth ?? 0;\n const result = separatorWidth + childWidth;\n childWidthCollection.push(result);\n childSumWidth += result;\n currentIndex += 1;\n }\n\n if (childWidthCollection.length === listCollection.length) {\n childWidthCollection.pop();\n }\n\n widthCollectionRef.current = [\n ...widthCollectionRef.current,\n ...childWidthCollection,\n ];\n\n setMenuBreadcrumbs((oldVal) => oldVal + childWidthCollection.length);\n }\n }, [listCollection.length, parentWidth, childWidth]);\n\n useEffect(() => {\n const diffWidth = parentWidth - childWidth;\n\n if (diffWidth > 0 && widthCollectionRef.current.length > 0) {\n const total = widthCollectionRef.current.length;\n const collection = [...widthCollectionRef.current];\n\n let sumWidth = 0;\n\n while (diffWidth > sumWidth && collection.length > 0) {\n const lastWidth = collection[collection.length - 1] ?? 0;\n if (diffWidth < lastWidth + sumWidth) {\n sumWidth = diffWidth;\n } else {\n sumWidth += collection.pop() ?? 0;\n }\n }\n\n const totalToDecrease = total - collection.length;\n\n setMenuBreadcrumbs((oldVal) => {\n const newValue = oldVal - totalToDecrease;\n return newValue > 0 ? newValue : 0;\n });\n\n const end = total - totalToDecrease;\n\n widthCollectionRef.current =\n end > 0 ? widthCollectionRef.current.slice(0, end) : [];\n }\n }, [parentWidth, childWidth]);\n\n return (\n <StyledNavElement className={className} ref={handleRef} {...rest}>\n <StyledListWrapper ref={listWrapperRef}>\n <StyledOList ref={olRef}>\n {menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"menu\">\n <Menu\n target={\n <Button variant=\"text gray\">\n <TreeDotsIcon />\n </Button>\n }\n >\n <StyledMenuList>\n {menuCollection.map((child, index) => (\n <ListItem key={index}>{child}</ListItem>\n ))}\n </StyledMenuList>\n </Menu>\n </StyledBreadcrumbListItem>\n ) : null}\n {listCollection.map((child, index) => {\n return (\n <React.Fragment key={index}>\n {index > 0 || menuCollection.length > 0 ? (\n <StyledBreadcrumbListItem data-role=\"separator\">\n {separator}\n </StyledBreadcrumbListItem>\n ) : null}\n <StyledBreadcrumbListItem data-role=\"item\">\n {child}\n </StyledBreadcrumbListItem>\n </React.Fragment>\n );\n })}\n </StyledOList>\n </StyledListWrapper>\n </StyledNavElement>\n );\n});\n\nBreadcrumbs.displayName = \"Breadcrumbs\";\n"],"file":"Breadcrumbs.js"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const StyledNavElement: import("styled-components").StyledComponent<"nav", any, {}, never>;
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const StyledListWrapper: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
|
+
export declare const StyledOList: import("styled-components").StyledComponent<"ol", any, {}, never>;
|
|
4
5
|
export declare const StyledMenuList: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../List").IList & import("react").HTMLAttributes<HTMLUListElement> & import("react").RefAttributes<HTMLUListElement>>, any, {}, never>;
|
|
5
6
|
export declare const StyledBreadcrumbListItem: import("styled-components").StyledComponent<"li", any, {}, never>;
|
|
6
7
|
//# sourceMappingURL=Styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Breadcrumbs/Styles.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,gBAAgB,oEAK5B,CAAC;AAIF,eAAO,MAAM,WAAW,mEAOvB,CAAC;AAIF,eAAO,MAAM,cAAc,sOAE1B,CAAC;AAIF,eAAO,MAAM,wBAAwB,mEAGpC,CAAC"}
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Breadcrumbs/Styles.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,gBAAgB,oEAK5B,CAAC;AAIF,eAAO,MAAM,iBAAiB,oEAE7B,CAAC;AAIF,eAAO,MAAM,WAAW,mEAOvB,CAAC;AAIF,eAAO,MAAM,cAAc,sOAE1B,CAAC;AAIF,eAAO,MAAM,wBAAwB,mEAGpC,CAAC"}
|
|
@@ -8,29 +8,36 @@ export var StyledNavElement = styled.nav.withConfig({
|
|
|
8
8
|
})(["", " ", " ", " ", ""], {
|
|
9
9
|
"width": "100%"
|
|
10
10
|
}, {
|
|
11
|
-
"overflow": "
|
|
11
|
+
"overflow": "hidden"
|
|
12
12
|
}, FontStyle, BoxSizingStyle);
|
|
13
13
|
StyledNavElement.displayName = "StyledNavElement";
|
|
14
|
-
export var
|
|
15
|
-
displayName: "
|
|
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-
|
|
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-
|
|
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","
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/Styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Button/Styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAIxC,UAAU,iBAAkB,SAAQ,YAAY;IAC9C,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,sFA2OxB,CAAC;AAIF,eAAO,MAAM,oBAAoB,qEAGhC,CAAC;AAIF,eAAO,MAAM,mBAAmB,qEAK/B,CAAC"}
|
|
@@ -9,17 +9,17 @@ export var StyledButton = styled.button.withConfig({
|
|
|
9
9
|
}, function (props) {
|
|
10
10
|
return props.size === "big" && css(["height:40px;"]);
|
|
11
11
|
}, function (props) {
|
|
12
|
-
return (props.variant === "primary" || props.variant === "contained") && css(["padding:0 16px;background-color:var(--color-primary);border-radius:var(--ac-br-rounded);color:var(--page-paper-main);&:hover{box-shadow:0 3px 6px -2px var(--color-primary-500);background-color:var(--color-primary-800);}&:active{box-shadow:0 4px 10px -2px var(--color-primary-600);background-color:var(--color-primary-800);}"]);
|
|
12
|
+
return (props.variant === "primary" || props.variant === "contained") && css(["padding:0 16px;background-color:var(--color-primary);border-radius:var(--ac-br-rounded);color:var(--page-paper-main);&:hover,&:focus{box-shadow:0 3px 6px -2px var(--color-primary-500);background-color:var(--color-primary-800);}&:active{box-shadow:0 4px 10px -2px var(--color-primary-600);background-color:var(--color-primary-800);}"]);
|
|
13
13
|
}, function (props) {
|
|
14
|
-
return (props.variant === "secondary" || props.variant === "outlined") && css(["padding:0 16px;background-color:transparent;border-radius:var(--ac-br-rounded);border:solid 1px var(--color-theme-700);color:var(--color-theme-700);&:hover{border-color:var(--color-primary);color:var(--color-primary);}&:active{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-200);}"]);
|
|
14
|
+
return (props.variant === "secondary" || props.variant === "outlined") && css(["padding:0 16px;background-color:transparent;border-radius:var(--ac-br-rounded);border:solid 1px var(--color-theme-700);color:var(--color-theme-700);&:hover,&:focus{border-color:var(--color-primary);color:var(--color-primary);}&:active{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-200);}"]);
|
|
15
15
|
}, function (props) {
|
|
16
|
-
return props.variant === "dark transparent" && css(["padding:0 8px;background-color:rgba(0,0,0,0.5);border-radius:var(--ac-br-6);color:var(--only-white);&:hover{background-color:rgba(0,0,0,0.85);}&:active{background-color:var(--only-black);}"]);
|
|
16
|
+
return props.variant === "dark transparent" && css(["padding:0 8px;background-color:rgba(0,0,0,0.5);border-radius:var(--ac-br-6);color:var(--only-white);&:hover,&:focus{background-color:rgba(0,0,0,0.85);}&:active{background-color:var(--only-black);}"]);
|
|
17
17
|
}, function (props) {
|
|
18
|
-
return (props.variant === "tertiary" || props.variant === "text colored") && css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-primary);&:hover{background-color:var(--color-primary-200);}&:active{background-color:var(--color-primary-300);}"]);
|
|
18
|
+
return (props.variant === "tertiary" || props.variant === "text colored") && css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-primary);&:hover,&:focus{background-color:var(--color-primary-200);}&:active{background-color:var(--color-primary-300);}"]);
|
|
19
19
|
}, function (props) {
|
|
20
|
-
return (props.variant === "option" || props.variant === "text gray") && css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-theme-700);&:hover{background-color:var(--color-theme-300);color:var(--color-theme-900);}&:active{background-color:var(--color-theme-400);color:var(--color-theme-900);}"]);
|
|
20
|
+
return (props.variant === "option" || props.variant === "text gray") && css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-theme-700);&:hover,&:focus{background-color:var(--color-theme-300);color:var(--color-theme-900);}&:active{background-color:var(--color-theme-400);color:var(--color-theme-900);}"]);
|
|
21
21
|
}, function (props) {
|
|
22
|
-
return props.variant === "circle raised" && css(["padding:0 6px;background-color:transparent;border-radius:var(--ac-br-rounded);color:var(--color-theme-700);transition:ease 0.3s all;&:hover{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary);}&:active{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary-hover);}"]);
|
|
22
|
+
return props.variant === "circle raised" && css(["padding:0 6px;background-color:transparent;border-radius:var(--ac-br-rounded);color:var(--color-theme-700);transition:ease 0.3s all;&:hover,&:focus{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary);}&:active{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary-hover);}"]);
|
|
23
23
|
}, function (props) {
|
|
24
24
|
return props.iconOnly && css(["display:inline-flex;justify-content:center;align-items:center;padding:0;width:32px;", ";", " ", ""], (props.size === "small" || props.size === "big") && css(["border-radius:var(--ac-br-rounded);"]), props.size === "small" && css(["width:24px;"]), props.size === "big" && css(["width:40px;"]));
|
|
25
25
|
}, function (props) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/Button/Styles.ts"],"names":["styled","css","FontStyle","BoxSizingStyle","StyledButton","button","props","size","variant","iconOnly","displayName","StyledButtonElements","span","StyledButtonElement"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAEA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,cAAT,QAA+B,mBAA/B;AAMA,OAAO,IAAMC,YAAY,GAAGJ,MAAM,CAACK,MAAV;AAAA;AAAA;AAAA,ifACrBH,SADqB,EAErBC,cAFqB,EAsCrB,UAACG,KAAD;AAAA,SACAA,KAAK,CAACC,IAAN,KAAe,OAAf,IACAN,GADA,kBADA;AAAA,CAtCqB,EA4CrB,UAACK,KAAD;AAAA,SACAA,KAAK,CAACC,IAAN,KAAe,KAAf,IACAN,GADA,kBADA;AAAA,CA5CqB,EAkDrB,UAACK,KAAD;AAAA,SACA,CAACA,KAAK,CAACE,OAAN,KAAkB,SAAlB,IAA+BF,KAAK,CAACE,OAAN,KAAkB,WAAlD,KACAP,GADA,
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/Button/Styles.ts"],"names":["styled","css","FontStyle","BoxSizingStyle","StyledButton","button","props","size","variant","iconOnly","displayName","StyledButtonElements","span","StyledButtonElement"],"mappings":"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","sourcesContent":["import styled, { css } from \"styled-components\";\nimport { IButtonProps } from \"./Button\";\nimport { FontStyle } from \"../FontStyle\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\n\ninterface StyledButtonProps extends IButtonProps {\n iconOnly: boolean;\n}\n\nexport const StyledButton = styled.button<StyledButtonProps>`\n ${FontStyle}\n ${BoxSizingStyle}\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n vertical-align: middle;\n font-weight: 500;\n display: inline-block;\n line-height: 1;\n margin: 0;\n text-decoration: none;\n font-size: 0.875rem;\n user-select: none;\n cursor: pointer;\n text-align: center;\n\n border: none;\n height: 32px;\n transition: all 0.3s ease;\n\n svg {\n fill: currentColor;\n }\n\n &:focus {\n outline: none;\n }\n\n &:hover {\n text-decoration: none;\n }\n\n &:disabled {\n cursor: default;\n opacity: 50%;\n pointer-events: none;\n }\n\n ${(props) =>\n props.size === \"small\" &&\n css`\n height: 24px;\n `}\n\n ${(props) =>\n props.size === \"big\" &&\n css`\n height: 40px;\n `}\n\n ${(props) =>\n (props.variant === \"primary\" || props.variant === \"contained\") &&\n css`\n padding: 0 16px;\n background-color: var(--color-primary);\n border-radius: var(--ac-br-rounded);\n color: var(--page-paper-main);\n\n &:hover,\n &:focus {\n box-shadow: 0 3px 6px -2px var(--color-primary-500);\n background-color: var(--color-primary-800);\n }\n\n &:active {\n box-shadow: 0 4px 10px -2px var(--color-primary-600);\n background-color: var(--color-primary-800);\n }\n `}\n\n ${(props) =>\n (props.variant === \"secondary\" || props.variant === \"outlined\") &&\n css`\n padding: 0 16px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n border: solid 1px var(--color-theme-700);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus {\n border-color: var(--color-primary);\n color: var(--color-primary);\n }\n\n &:active {\n border-color: var(--color-primary);\n color: var(--color-primary);\n background-color: var(--color-primary-200);\n }\n `}\n\n ${(props) =>\n props.variant === \"dark transparent\" &&\n css`\n padding: 0 8px;\n background-color: rgba(0, 0, 0, 0.5);\n border-radius: var(--ac-br-6);\n color: var(--only-white);\n\n &:hover,\n &:focus {\n background-color: rgba(0, 0, 0, 0.85);\n }\n\n &:active {\n background-color: var(--only-black);\n }\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" || props.variant === \"text colored\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-primary);\n\n &:hover,\n &:focus {\n background-color: var(--color-primary-200);\n }\n\n &:active {\n background-color: var(--color-primary-300);\n }\n `}\n\n ${(props) =>\n (props.variant === \"option\" || props.variant === \"text gray\") &&\n css`\n padding: 0 8px;\n background-color: transparent;\n border-radius: var(--ac-br-6);\n color: var(--color-theme-700);\n\n &:hover,\n &:focus {\n background-color: var(--color-theme-300);\n color: var(--color-theme-900);\n }\n\n &:active {\n background-color: var(--color-theme-400);\n color: var(--color-theme-900);\n }\n `}\n\n ${(props) =>\n props.variant === \"circle raised\" &&\n css`\n padding: 0 6px;\n background-color: transparent;\n border-radius: var(--ac-br-rounded);\n color: var(--color-theme-700);\n transition: ease 0.3s all;\n\n &:hover,\n &:focus {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary);\n }\n\n &:active {\n background-color: var(--page-paper-main);\n box-shadow: var(--shadow-tertiary-hover);\n }\n `}\n\n ${(props) =>\n props.iconOnly &&\n css`\n display: inline-flex;\n justify-content: center;\n align-items: center;\n padding: 0;\n width: 32px;\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `};\n\n ${props.size === \"small\" &&\n css`\n width: 24px;\n `}\n\n ${props.size === \"big\" &&\n css`\n width: 40px;\n `}\n `}\n\n ${(props) =>\n (props.variant === \"primary\" ||\n props.variant === \"contained\" ||\n props.variant === \"secondary\" ||\n props.variant === \"outlined\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -6px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -6px;\n }\n\n ${(props.size === \"small\" || props.size === \"big\") &&\n css`\n border-radius: var(--ac-br-rounded);\n `}\n `}\n\n ${(props) =>\n (props.variant === \"tertiary\" ||\n props.variant === \"text colored\" ||\n props.variant === \"option\" ||\n props.variant === \"text gray\" ||\n props.variant === \"dark transparent\") &&\n css`\n .c-btn__elements__element:first-child svg {\n margin-left: -4px;\n }\n .c-btn__elements__element:last-child svg {\n margin-right: -4px;\n }\n ${props.size === \"small\" &&\n css`\n border-radius: var(--ac-br-4);\n `}\n ${props.size === \"big\" &&\n css`\n border-radius: var(--ac-br-8);\n `}\n `}\n`;\n\nStyledButton.displayName = \"StyledButton\";\n\nexport const StyledButtonElements = styled.span`\n display: flex;\n align-items: center;\n`;\n\nStyledButtonElements.displayName = \"StyledButtonElements\";\n\nexport const StyledButtonElement = styled.span`\n display: inline-flex;\n svg {\n margin: 0 4px;\n }\n`;\n\nStyledButtonElement.displayName = \"StyledButtonElement\";\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('
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'react', 'styled-components', 'classnames', '
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.components = {}, global.React, global.styled, global.classnames, global.
|
|
5
|
-
})(this, (function (exports, React, styled, classnames,
|
|
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);
|
|
@@ -284,17 +284,17 @@
|
|
|
284
284
|
}, function (props) {
|
|
285
285
|
return props.size === "big" && styled.css(["height:40px;"]);
|
|
286
286
|
}, function (props) {
|
|
287
|
-
return (props.variant === "primary" || props.variant === "contained") && styled.css(["padding:0 16px;background-color:var(--color-primary);border-radius:var(--ac-br-rounded);color:var(--page-paper-main);&:hover{box-shadow:0 3px 6px -2px var(--color-primary-500);background-color:var(--color-primary-800);}&:active{box-shadow:0 4px 10px -2px var(--color-primary-600);background-color:var(--color-primary-800);}"]);
|
|
287
|
+
return (props.variant === "primary" || props.variant === "contained") && styled.css(["padding:0 16px;background-color:var(--color-primary);border-radius:var(--ac-br-rounded);color:var(--page-paper-main);&:hover,&:focus{box-shadow:0 3px 6px -2px var(--color-primary-500);background-color:var(--color-primary-800);}&:active{box-shadow:0 4px 10px -2px var(--color-primary-600);background-color:var(--color-primary-800);}"]);
|
|
288
288
|
}, function (props) {
|
|
289
|
-
return (props.variant === "secondary" || props.variant === "outlined") && styled.css(["padding:0 16px;background-color:transparent;border-radius:var(--ac-br-rounded);border:solid 1px var(--color-theme-700);color:var(--color-theme-700);&:hover{border-color:var(--color-primary);color:var(--color-primary);}&:active{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-200);}"]);
|
|
289
|
+
return (props.variant === "secondary" || props.variant === "outlined") && styled.css(["padding:0 16px;background-color:transparent;border-radius:var(--ac-br-rounded);border:solid 1px var(--color-theme-700);color:var(--color-theme-700);&:hover,&:focus{border-color:var(--color-primary);color:var(--color-primary);}&:active{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-primary-200);}"]);
|
|
290
290
|
}, function (props) {
|
|
291
|
-
return props.variant === "dark transparent" && styled.css(["padding:0 8px;background-color:rgba(0,0,0,0.5);border-radius:var(--ac-br-6);color:var(--only-white);&:hover{background-color:rgba(0,0,0,0.85);}&:active{background-color:var(--only-black);}"]);
|
|
291
|
+
return props.variant === "dark transparent" && styled.css(["padding:0 8px;background-color:rgba(0,0,0,0.5);border-radius:var(--ac-br-6);color:var(--only-white);&:hover,&:focus{background-color:rgba(0,0,0,0.85);}&:active{background-color:var(--only-black);}"]);
|
|
292
292
|
}, function (props) {
|
|
293
|
-
return (props.variant === "tertiary" || props.variant === "text colored") && styled.css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-primary);&:hover{background-color:var(--color-primary-200);}&:active{background-color:var(--color-primary-300);}"]);
|
|
293
|
+
return (props.variant === "tertiary" || props.variant === "text colored") && styled.css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-primary);&:hover,&:focus{background-color:var(--color-primary-200);}&:active{background-color:var(--color-primary-300);}"]);
|
|
294
294
|
}, function (props) {
|
|
295
|
-
return (props.variant === "option" || props.variant === "text gray") && styled.css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-theme-700);&:hover{background-color:var(--color-theme-300);color:var(--color-theme-900);}&:active{background-color:var(--color-theme-400);color:var(--color-theme-900);}"]);
|
|
295
|
+
return (props.variant === "option" || props.variant === "text gray") && styled.css(["padding:0 8px;background-color:transparent;border-radius:var(--ac-br-6);color:var(--color-theme-700);&:hover,&:focus{background-color:var(--color-theme-300);color:var(--color-theme-900);}&:active{background-color:var(--color-theme-400);color:var(--color-theme-900);}"]);
|
|
296
296
|
}, function (props) {
|
|
297
|
-
return props.variant === "circle raised" && styled.css(["padding:0 6px;background-color:transparent;border-radius:var(--ac-br-rounded);color:var(--color-theme-700);transition:ease 0.3s all;&:hover{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary);}&:active{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary-hover);}"]);
|
|
297
|
+
return props.variant === "circle raised" && styled.css(["padding:0 6px;background-color:transparent;border-radius:var(--ac-br-rounded);color:var(--color-theme-700);transition:ease 0.3s all;&:hover,&:focus{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary);}&:active{background-color:var(--page-paper-main);box-shadow:var(--shadow-tertiary-hover);}"]);
|
|
298
298
|
}, function (props) {
|
|
299
299
|
return props.iconOnly && styled.css(["display:inline-flex;justify-content:center;align-items:center;padding:0;width:32px;", ";", " ", ""], (props.size === "small" || props.size === "big") && styled.css(["border-radius:var(--ac-br-rounded);"]), props.size === "small" && styled.css(["width:24px;"]), props.size === "big" && styled.css(["width:40px;"]));
|
|
300
300
|
}, function (props) {
|
|
@@ -3575,29 +3575,36 @@
|
|
|
3575
3575
|
})(["", " ", " ", " ", ""], {
|
|
3576
3576
|
"width": "100%"
|
|
3577
3577
|
}, {
|
|
3578
|
-
"overflow": "
|
|
3578
|
+
"overflow": "hidden"
|
|
3579
3579
|
}, FontStyle, BoxSizingStyle);
|
|
3580
3580
|
StyledNavElement.displayName = "StyledNavElement";
|
|
3581
|
-
var
|
|
3582
|
-
displayName: "
|
|
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-
|
|
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-
|
|
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"
|
|
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
|
|
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
|
-
|
|
3660
|
+
widthCollectionRef.current = [];
|
|
3661
|
+
setMenuBreadcrumbs(0);
|
|
3662
|
+
}, [childrenCollection.length]);
|
|
3663
|
+
React.useEffect(function () {
|
|
3664
|
+
var diffWidth = childWidth - parentWidth;
|
|
3654
3665
|
|
|
3655
|
-
|
|
3656
|
-
|
|
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
|
-
|
|
3660
|
-
var
|
|
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
|
|
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
|
|
3676
|
+
while (diffWidth > childSumWidth && maxIndex >= currentIndex) {
|
|
3677
|
+
var _offsetWidth2, _breadcrumbItems$curr;
|
|
3667
3678
|
|
|
3668
|
-
var
|
|
3669
|
-
|
|
3670
|
-
var result = separatorWidth +
|
|
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
|
-
|
|
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,
|
|
3696
|
+
}, [listCollection.length, parentWidth, childWidth]);
|
|
3686
3697
|
React.useEffect(function () {
|
|
3687
|
-
var
|
|
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 (
|
|
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
|
-
|
|
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
|
-
}, [
|
|
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(
|
|
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,
|
|
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
|
|