@fluentui/react-breadcrumb 9.0.0
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/CHANGELOG.md +494 -0
- package/LICENSE +15 -0
- package/README.md +45 -0
- package/dist/index.d.ts +259 -0
- package/lib/Breadcrumb.js +1 -0
- package/lib/Breadcrumb.js.map +1 -0
- package/lib/BreadcrumbButton.js +1 -0
- package/lib/BreadcrumbButton.js.map +1 -0
- package/lib/BreadcrumbDivider.js +1 -0
- package/lib/BreadcrumbDivider.js.map +1 -0
- package/lib/BreadcrumbItem.js +1 -0
- package/lib/BreadcrumbItem.js.map +1 -0
- package/lib/components/Breadcrumb/Breadcrumb.js +16 -0
- package/lib/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/lib/components/Breadcrumb/Breadcrumb.types.js +1 -0
- package/lib/components/Breadcrumb/Breadcrumb.types.js.map +1 -0
- package/lib/components/Breadcrumb/BreadcrumbContext.js +16 -0
- package/lib/components/Breadcrumb/BreadcrumbContext.js.map +1 -0
- package/lib/components/Breadcrumb/index.js +6 -0
- package/lib/components/Breadcrumb/index.js.map +1 -0
- package/lib/components/Breadcrumb/renderBreadcrumb.js +16 -0
- package/lib/components/Breadcrumb/renderBreadcrumb.js.map +1 -0
- package/lib/components/Breadcrumb/useBreadcrumb.js +42 -0
- package/lib/components/Breadcrumb/useBreadcrumb.js.map +1 -0
- package/lib/components/Breadcrumb/useBreadcrumbContextValue.js +9 -0
- package/lib/components/Breadcrumb/useBreadcrumbContextValue.js.map +1 -0
- package/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js +18 -0
- package/lib/components/Breadcrumb/useBreadcrumbStyles.styles.js.map +1 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.js +14 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.js.map +1 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js +1 -0
- package/lib/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -0
- package/lib/components/BreadcrumbButton/index.js +5 -0
- package/lib/components/BreadcrumbButton/index.js.map +1 -0
- package/lib/components/BreadcrumbButton/renderBreadcrumbButton.js +6 -0
- package/lib/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButton.js +31 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js +161 -0
- package/lib/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js.map +1 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.js +14 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.js.map +1 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js +1 -0
- package/lib/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -0
- package/lib/components/BreadcrumbDivider/index.js +5 -0
- package/lib/components/BreadcrumbDivider/index.js.map +1 -0
- package/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js +8 -0
- package/lib/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js +57 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js +23 -0
- package/lib/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js.map +1 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.js +15 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.js.map +1 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js +1 -0
- package/lib/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -0
- package/lib/components/BreadcrumbItem/index.js +5 -0
- package/lib/components/BreadcrumbItem/index.js.map +1 -0
- package/lib/components/BreadcrumbItem/renderBreadcrumbItem.js +10 -0
- package/lib/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItem.js +26 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js +15 -0
- package/lib/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js.map +1 -0
- package/lib/index.js +6 -0
- package/lib/index.js.map +1 -0
- package/lib/utils/index.js +2 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/partitionBreadcrumbItems.js +35 -0
- package/lib/utils/partitionBreadcrumbItems.js.map +1 -0
- package/lib/utils/truncateBreadcrumb.js +16 -0
- package/lib/utils/truncateBreadcrumb.js.map +1 -0
- package/lib-commonjs/Breadcrumb.js +6 -0
- package/lib-commonjs/Breadcrumb.js.map +1 -0
- package/lib-commonjs/BreadcrumbButton.js +6 -0
- package/lib-commonjs/BreadcrumbButton.js.map +1 -0
- package/lib-commonjs/BreadcrumbDivider.js +6 -0
- package/lib-commonjs/BreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/BreadcrumbItem.js +6 -0
- package/lib-commonjs/BreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.js +25 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js +4 -0
- package/lib-commonjs/components/Breadcrumb/Breadcrumb.types.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/BreadcrumbContext.js +32 -0
- package/lib-commonjs/components/Breadcrumb/BreadcrumbContext.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/index.js +11 -0
- package/lib-commonjs/components/Breadcrumb/index.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/renderBreadcrumb.js +24 -0
- package/lib-commonjs/components/Breadcrumb/renderBreadcrumb.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js +45 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumb.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbContextValue.js +20 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbContextValue.js.map +1 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbStyles.styles.js +34 -0
- package/lib-commonjs/components/Breadcrumb/useBreadcrumbStyles.styles.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.js +23 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js +4 -0
- package/lib-commonjs/components/BreadcrumbButton/BreadcrumbButton.types.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/index.js +10 -0
- package/lib-commonjs/components/BreadcrumbButton/index.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/renderBreadcrumbButton.js +14 -0
- package/lib-commonjs/components/BreadcrumbButton/renderBreadcrumbButton.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js +34 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButton.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js +257 -0
- package/lib-commonjs/components/BreadcrumbButton/useBreadcrumbButtonStyles.styles.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.js +23 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js +4 -0
- package/lib-commonjs/components/BreadcrumbDivider/BreadcrumbDivider.types.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/index.js +10 -0
- package/lib-commonjs/components/BreadcrumbDivider/index.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/renderBreadcrumbDivider.js +16 -0
- package/lib-commonjs/components/BreadcrumbDivider/renderBreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js +60 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDivider.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js +38 -0
- package/lib-commonjs/components/BreadcrumbDivider/useBreadcrumbDividerStyles.styles.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.js +23 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js +4 -0
- package/lib-commonjs/components/BreadcrumbItem/BreadcrumbItem.types.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/index.js +10 -0
- package/lib-commonjs/components/BreadcrumbItem/index.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/renderBreadcrumbItem.js +18 -0
- package/lib-commonjs/components/BreadcrumbItem/renderBreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js +29 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItem.js.map +1 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js +30 -0
- package/lib-commonjs/components/BreadcrumbItem/useBreadcrumbItemStyles.styles.js.map +1 -0
- package/lib-commonjs/index.js +95 -0
- package/lib-commonjs/index.js.map +1 -0
- package/lib-commonjs/utils/index.js +26 -0
- package/lib-commonjs/utils/index.js.map +1 -0
- package/lib-commonjs/utils/partitionBreadcrumbItems.js +39 -0
- package/lib-commonjs/utils/partitionBreadcrumbItems.js.map +1 -0
- package/lib-commonjs/utils/truncateBreadcrumb.js +37 -0
- package/lib-commonjs/utils/truncateBreadcrumb.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { __styles, mergeClasses, shorthands } from '@griffel/react';
|
|
2
|
+
import { useButtonStyles_unstable, buttonClassNames } from '@fluentui/react-button';
|
|
3
|
+
import { tokens, typographyStyles } from '@fluentui/react-theme';
|
|
4
|
+
import { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';
|
|
5
|
+
/**
|
|
6
|
+
* Static CSS class names used internally for the component slots.
|
|
7
|
+
*/
|
|
8
|
+
export const breadcrumbButtonClassNames = {
|
|
9
|
+
root: 'fui-BreadcrumbButton',
|
|
10
|
+
icon: 'fui-BreadcrumbButton__icon'
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* CSS variable names used internally for styling in the Breadcrumb.
|
|
14
|
+
*/
|
|
15
|
+
const breadcrumbCSSVars = {
|
|
16
|
+
breadcrumbIconSizeVar: '--fui-Breadcrumb--icon-size',
|
|
17
|
+
breadcrumbIconLineHeightVar: '--fui-Breadcrumb--icon-line-height'
|
|
18
|
+
};
|
|
19
|
+
const useIconStyles = /*#__PURE__*/__styles({
|
|
20
|
+
base: {
|
|
21
|
+
Be2twd7: "fsj74e5",
|
|
22
|
+
Bqenvij: "f1qfv4wv",
|
|
23
|
+
Bg96gwp: "f15xapk4",
|
|
24
|
+
a9b677: "f17j33op",
|
|
25
|
+
t21cq0: ["fm0x6gh", "fbyavb5"]
|
|
26
|
+
},
|
|
27
|
+
small: {
|
|
28
|
+
u3h8gg: "f1qfi7kw",
|
|
29
|
+
Biu6dll: "f1876atl"
|
|
30
|
+
},
|
|
31
|
+
medium: {
|
|
32
|
+
u3h8gg: "f1h9446d",
|
|
33
|
+
Biu6dll: "f10xfswh"
|
|
34
|
+
},
|
|
35
|
+
large: {
|
|
36
|
+
u3h8gg: "f5hcofs",
|
|
37
|
+
Biu6dll: "f1a6v6zl"
|
|
38
|
+
}
|
|
39
|
+
}, {
|
|
40
|
+
d: [".fsj74e5{font-size:var(--fui-Breadcrumb--icon-size);}", ".f1qfv4wv{height:var(--fui-Breadcrumb--icon-size);}", ".f15xapk4{line-height:var(--fui-Breadcrumb--icon-line-height);}", ".f17j33op{width:var(--fui-Breadcrumb--icon-size);}", ".fm0x6gh{margin-right:var(--spacingHorizontalXS);}", ".fbyavb5{margin-left:var(--spacingHorizontalXS);}", ".f1qfi7kw{--fui-Breadcrumb--icon-size:12px;}", ".f1876atl{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase200);}", ".f1h9446d{--fui-Breadcrumb--icon-size:16px;}", ".f10xfswh{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase400);}", ".f5hcofs{--fui-Breadcrumb--icon-size:20px;}", ".f1a6v6zl{--fui-Breadcrumb--icon-line-height:var(--lineHeightBase600);}"]
|
|
41
|
+
});
|
|
42
|
+
const defaultButtonStyles = {
|
|
43
|
+
backgroundColor: tokens.colorTransparentBackground,
|
|
44
|
+
color: tokens.colorNeutralForeground2,
|
|
45
|
+
cursor: 'auto'
|
|
46
|
+
};
|
|
47
|
+
const currentIconStyles = {
|
|
48
|
+
...defaultButtonStyles,
|
|
49
|
+
[`& .${buttonClassNames.icon}`]: {
|
|
50
|
+
color: 'unset'
|
|
51
|
+
},
|
|
52
|
+
[`& .${iconFilledClassName}`]: {
|
|
53
|
+
display: 'none'
|
|
54
|
+
},
|
|
55
|
+
[`& .${iconRegularClassName}`]: {
|
|
56
|
+
display: 'inline'
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const useStyles = /*#__PURE__*/__styles({
|
|
60
|
+
root: {
|
|
61
|
+
Bf4jedk: "f18p0k4z",
|
|
62
|
+
j4b8c3: "fv6wr3j",
|
|
63
|
+
icvyot: "f1ern45e",
|
|
64
|
+
vrafjx: ["f1n71otn", "f1deefiw"],
|
|
65
|
+
oivjwe: "f1h8hb77",
|
|
66
|
+
wvpqe5: ["f1deefiw", "f1n71otn"]
|
|
67
|
+
},
|
|
68
|
+
small: {
|
|
69
|
+
Bqenvij: "frvgh55",
|
|
70
|
+
Bahqtrf: "fk6fouc",
|
|
71
|
+
Be2twd7: "fy9rknc",
|
|
72
|
+
Bhrd7zp: "figsok6",
|
|
73
|
+
Bg96gwp: "fwrc4pm",
|
|
74
|
+
z8tnut: "f16k8034",
|
|
75
|
+
z189sj: ["fdw0yi8", "fk8j09s"],
|
|
76
|
+
Byoj8tv: "f1angvds",
|
|
77
|
+
uwmqm3: ["fk8j09s", "fdw0yi8"]
|
|
78
|
+
},
|
|
79
|
+
medium: {
|
|
80
|
+
Bqenvij: "f1d2rq10",
|
|
81
|
+
Bahqtrf: "fk6fouc",
|
|
82
|
+
Be2twd7: "fkhj508",
|
|
83
|
+
Bhrd7zp: "figsok6",
|
|
84
|
+
Bg96gwp: "f1i3iumi",
|
|
85
|
+
z8tnut: "f16k8034",
|
|
86
|
+
z189sj: ["fdw0yi8", "fk8j09s"],
|
|
87
|
+
Byoj8tv: "f1angvds",
|
|
88
|
+
uwmqm3: ["fk8j09s", "fdw0yi8"]
|
|
89
|
+
},
|
|
90
|
+
large: {
|
|
91
|
+
Bqenvij: "fbhnoac",
|
|
92
|
+
Bahqtrf: "fk6fouc",
|
|
93
|
+
Be2twd7: "fod5ikn",
|
|
94
|
+
Bhrd7zp: "figsok6",
|
|
95
|
+
Bg96gwp: "faaz57k",
|
|
96
|
+
z8tnut: "f17mpqex",
|
|
97
|
+
z189sj: ["f1vdfbxk", "f1f5gg8d"],
|
|
98
|
+
Byoj8tv: "fdvome7",
|
|
99
|
+
uwmqm3: ["f1f5gg8d", "f1vdfbxk"]
|
|
100
|
+
},
|
|
101
|
+
current: {
|
|
102
|
+
Jwef8y: "f9ql6rf",
|
|
103
|
+
Bi91k9c: "f3p8bqa",
|
|
104
|
+
eoavqd: "f14w7a5u",
|
|
105
|
+
Bbdnnc7: "f1irjp3o",
|
|
106
|
+
Bk3fhr4: "f19vpps7",
|
|
107
|
+
Bmfj8id: "fv5swzo",
|
|
108
|
+
iro3zm: "f3h1zc4",
|
|
109
|
+
B2d53fq: "f1xkgyln",
|
|
110
|
+
c3iz72: "f17wbbfx",
|
|
111
|
+
x3br3k: "fofxw0a",
|
|
112
|
+
em6i61: "f1ol4fw6",
|
|
113
|
+
vm6p8p: "f1q1lw4e",
|
|
114
|
+
Bszkowt: "ff24m",
|
|
115
|
+
Dyrjrp: "ft5r8e9",
|
|
116
|
+
ezr58z: "f1cbpfqp",
|
|
117
|
+
nhk3du: "f1motppv",
|
|
118
|
+
Bfrek18: "fi9vkhg",
|
|
119
|
+
G209fr: "f1fg3nnv"
|
|
120
|
+
},
|
|
121
|
+
currentSmall: {
|
|
122
|
+
Bahqtrf: "fk6fouc",
|
|
123
|
+
Be2twd7: "fy9rknc",
|
|
124
|
+
Bhrd7zp: "fl43uef",
|
|
125
|
+
Bg96gwp: "fwrc4pm"
|
|
126
|
+
},
|
|
127
|
+
currentMedium: {
|
|
128
|
+
Bahqtrf: "fk6fouc",
|
|
129
|
+
Be2twd7: "fkhj508",
|
|
130
|
+
Bhrd7zp: "fl43uef",
|
|
131
|
+
Bg96gwp: "f1i3iumi"
|
|
132
|
+
},
|
|
133
|
+
currentLarge: {
|
|
134
|
+
Bahqtrf: "fk6fouc",
|
|
135
|
+
Be2twd7: "fod5ikn",
|
|
136
|
+
Bhrd7zp: "fl43uef",
|
|
137
|
+
Bg96gwp: "faaz57k"
|
|
138
|
+
}
|
|
139
|
+
}, {
|
|
140
|
+
d: [".f18p0k4z{min-width:unset;}", ".fv6wr3j{text-wrap:nowrap;}", ".f1ern45e{border-top-style:none;}", ".f1n71otn{border-right-style:none;}", ".f1deefiw{border-left-style:none;}", ".f1h8hb77{border-bottom-style:none;}", ".frvgh55{height:24px;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".figsok6{font-weight:var(--fontWeightRegular);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".f16k8034{padding-top:var(--spacingHorizontalSNudge);}", ".fdw0yi8{padding-right:var(--spacingHorizontalSNudge);}", ".fk8j09s{padding-left:var(--spacingHorizontalSNudge);}", ".f1angvds{padding-bottom:var(--spacingHorizontalSNudge);}", ".f1d2rq10{height:32px;}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".fbhnoac{height:40px;}", ".fod5ikn{font-size:var(--fontSizeBase400);}", ".faaz57k{line-height:var(--lineHeightBase400);}", ".f17mpqex{padding-top:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".fdvome7{padding-bottom:var(--spacingHorizontalS);}", ".ff24m:disabled{background-color:var(--colorTransparentBackground);}", ".ft5r8e9:disabled{color:var(--colorNeutralForeground2);}", ".f1cbpfqp:disabled{cursor:auto;}", ".f1motppv:disabled .fui-Button__icon{color:unset;}", ".fi9vkhg:disabled .fui-Icon-filled{display:none;}", ".f1fg3nnv:disabled .fui-Icon-regular{display:inline;}", ".fl43uef{font-weight:var(--fontWeightSemibold);}"],
|
|
141
|
+
h: [".f9ql6rf:hover{background-color:var(--colorTransparentBackground);}", ".f3p8bqa:hover{color:var(--colorNeutralForeground2);}", ".f14w7a5u:hover{cursor:auto;}", ".f1irjp3o:hover .fui-Button__icon{color:unset;}", ".f19vpps7:hover .fui-Icon-filled{display:none;}", ".fv5swzo:hover .fui-Icon-regular{display:inline;}", ".f3h1zc4:hover:active{background-color:var(--colorTransparentBackground);}", ".f1xkgyln:hover:active{color:var(--colorNeutralForeground2);}", ".f17wbbfx:hover:active{cursor:auto;}", ".fofxw0a:hover:active .fui-Button__icon{color:unset;}", ".f1ol4fw6:hover:active .fui-Icon-filled{display:none;}", ".f1q1lw4e:hover:active .fui-Icon-regular{display:inline;}"]
|
|
142
|
+
});
|
|
143
|
+
/**
|
|
144
|
+
* Apply styling to the BreadcrumbButton slots based on the state
|
|
145
|
+
*/
|
|
146
|
+
export const useBreadcrumbButtonStyles_unstable = state => {
|
|
147
|
+
const styles = useStyles();
|
|
148
|
+
const iconStyles = useIconStyles();
|
|
149
|
+
const currentSizeMap = {
|
|
150
|
+
small: styles.currentSmall,
|
|
151
|
+
medium: styles.currentMedium,
|
|
152
|
+
large: styles.currentLarge
|
|
153
|
+
};
|
|
154
|
+
state.root.className = mergeClasses(breadcrumbButtonClassNames.root, styles[state.size], styles.root, state.current && currentSizeMap[state.size], state.current && styles.current, state.root.className);
|
|
155
|
+
if (state.icon) {
|
|
156
|
+
state.icon.className = mergeClasses(iconStyles.base, iconStyles[state.size], state.icon.className);
|
|
157
|
+
}
|
|
158
|
+
useButtonStyles_unstable(state);
|
|
159
|
+
return state;
|
|
160
|
+
};
|
|
161
|
+
//# sourceMappingURL=useBreadcrumbButtonStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","shorthands","useButtonStyles_unstable","buttonClassNames","tokens","typographyStyles","iconFilledClassName","iconRegularClassName","breadcrumbButtonClassNames","root","icon","breadcrumbCSSVars","breadcrumbIconSizeVar","breadcrumbIconLineHeightVar","useIconStyles","base","Be2twd7","Bqenvij","Bg96gwp","a9b677","t21cq0","small","u3h8gg","Biu6dll","medium","large","d","defaultButtonStyles","backgroundColor","colorTransparentBackground","color","colorNeutralForeground2","cursor","currentIconStyles","display","useStyles","Bf4jedk","j4b8c3","icvyot","vrafjx","oivjwe","wvpqe5","Bahqtrf","Bhrd7zp","z8tnut","z189sj","Byoj8tv","uwmqm3","current","Jwef8y","Bi91k9c","eoavqd","Bbdnnc7","Bk3fhr4","Bmfj8id","iro3zm","B2d53fq","c3iz72","x3br3k","em6i61","vm6p8p","Bszkowt","Dyrjrp","ezr58z","nhk3du","Bfrek18","G209fr","currentSmall","currentMedium","currentLarge","h","useBreadcrumbButtonStyles_unstable","state","styles","iconStyles","currentSizeMap","className","size"],"sources":["useBreadcrumbButtonStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { useButtonStyles_unstable, buttonClassNames } from '@fluentui/react-button';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { iconFilledClassName, iconRegularClassName } from '@fluentui/react-icons';\n/**\n * Static CSS class names used internally for the component slots.\n */ export const breadcrumbButtonClassNames = {\n root: 'fui-BreadcrumbButton',\n icon: 'fui-BreadcrumbButton__icon'\n};\n/**\n * CSS variable names used internally for styling in the Breadcrumb.\n */ const breadcrumbCSSVars = {\n breadcrumbIconSizeVar: '--fui-Breadcrumb--icon-size',\n breadcrumbIconLineHeightVar: '--fui-Breadcrumb--icon-line-height'\n};\nconst useIconStyles = makeStyles({\n base: {\n fontSize: `var(${breadcrumbCSSVars.breadcrumbIconSizeVar})`,\n height: `var(${breadcrumbCSSVars.breadcrumbIconSizeVar})`,\n lineHeight: `var(${breadcrumbCSSVars.breadcrumbIconLineHeightVar})`,\n width: `var(${breadcrumbCSSVars.breadcrumbIconSizeVar})`,\n marginRight: tokens.spacingHorizontalXS\n },\n small: {\n [breadcrumbCSSVars.breadcrumbIconSizeVar]: '12px',\n [breadcrumbCSSVars.breadcrumbIconLineHeightVar]: tokens.lineHeightBase200\n },\n medium: {\n [breadcrumbCSSVars.breadcrumbIconSizeVar]: '16px',\n [breadcrumbCSSVars.breadcrumbIconLineHeightVar]: tokens.lineHeightBase400\n },\n large: {\n [breadcrumbCSSVars.breadcrumbIconSizeVar]: '20px',\n [breadcrumbCSSVars.breadcrumbIconLineHeightVar]: tokens.lineHeightBase600\n }\n});\nconst defaultButtonStyles = {\n backgroundColor: tokens.colorTransparentBackground,\n color: tokens.colorNeutralForeground2,\n cursor: 'auto'\n};\nconst currentIconStyles = {\n ...defaultButtonStyles,\n [`& .${buttonClassNames.icon}`]: {\n color: 'unset'\n },\n [`& .${iconFilledClassName}`]: {\n display: 'none'\n },\n [`& .${iconRegularClassName}`]: {\n display: 'inline'\n }\n};\nconst useStyles = makeStyles({\n root: {\n minWidth: 'unset',\n textWrap: 'nowrap',\n ...shorthands.border('none')\n },\n small: {\n height: '24px',\n ...typographyStyles.caption1,\n ...shorthands.padding(tokens.spacingHorizontalSNudge)\n },\n medium: {\n height: '32px',\n ...typographyStyles.body1,\n ...shorthands.padding(tokens.spacingHorizontalSNudge)\n },\n large: {\n height: '40px',\n ...typographyStyles.body2,\n ...shorthands.padding(tokens.spacingHorizontalS)\n },\n current: {\n ':hover': {\n ...currentIconStyles\n },\n ':hover:active': {\n ...currentIconStyles\n },\n ':disabled': {\n ...currentIconStyles\n }\n },\n currentSmall: {\n ...typographyStyles.caption1Strong\n },\n currentMedium: {\n ...typographyStyles.body1Strong\n },\n currentLarge: {\n ...typographyStyles.subtitle2\n }\n});\n/**\n * Apply styling to the BreadcrumbButton slots based on the state\n */ export const useBreadcrumbButtonStyles_unstable = (state)=>{\n const styles = useStyles();\n const iconStyles = useIconStyles();\n const currentSizeMap = {\n small: styles.currentSmall,\n medium: styles.currentMedium,\n large: styles.currentLarge\n };\n state.root.className = mergeClasses(breadcrumbButtonClassNames.root, styles[state.size], styles.root, state.current && currentSizeMap[state.size], state.current && styles.current, state.root.className);\n if (state.icon) {\n state.icon.className = mergeClasses(iconStyles.base, iconStyles[state.size], state.icon.className);\n }\n useButtonStyles_unstable(state);\n return state;\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useBreadcrumbDivider_unstable } from './useBreadcrumbDivider';
|
|
3
|
+
import { renderBreadcrumbDivider_unstable } from './renderBreadcrumbDivider';
|
|
4
|
+
import { useBreadcrumbDividerStyles_unstable } from './useBreadcrumbDividerStyles.styles';
|
|
5
|
+
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
|
|
6
|
+
/**
|
|
7
|
+
* A divider component which is used inside the Breadcrumb
|
|
8
|
+
*/ export const BreadcrumbDivider = /*#__PURE__*/ React.forwardRef((props, ref)=>{
|
|
9
|
+
const state = useBreadcrumbDivider_unstable(props, ref);
|
|
10
|
+
useBreadcrumbDividerStyles_unstable(state);
|
|
11
|
+
useCustomStyleHook_unstable('useBreadcrumbDividerStyles_unstable')(state);
|
|
12
|
+
return renderBreadcrumbDivider_unstable(state);
|
|
13
|
+
});
|
|
14
|
+
BreadcrumbDivider.displayName = 'BreadcrumbDivider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["BreadcrumbDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useBreadcrumbDivider_unstable } from './useBreadcrumbDivider';\nimport { renderBreadcrumbDivider_unstable } from './renderBreadcrumbDivider';\nimport { useBreadcrumbDividerStyles_unstable } from './useBreadcrumbDividerStyles.styles';\nimport type { BreadcrumbDividerProps } from './BreadcrumbDivider.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A divider component which is used inside the Breadcrumb\n */\nexport const BreadcrumbDivider: ForwardRefComponent<BreadcrumbDividerProps> = React.forwardRef((props, ref) => {\n const state = useBreadcrumbDivider_unstable(props, ref);\n\n useBreadcrumbDividerStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbDividerStyles_unstable')(state);\n\n return renderBreadcrumbDivider_unstable(state);\n});\n\nBreadcrumbDivider.displayName = 'BreadcrumbDivider';\n"],"names":["React","useBreadcrumbDivider_unstable","renderBreadcrumbDivider_unstable","useBreadcrumbDividerStyles_unstable","useCustomStyleHook_unstable","BreadcrumbDivider","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,gCAAgC,QAAQ,4BAA4B;AAC7E,SAASC,mCAAmC,QAAQ,sCAAsC;AAG1F,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;CAEC,GACD,OAAO,MAAMC,kCAAiEL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IACrG,MAAMC,QAAQR,8BAA8BM,OAAOC;IAEnDL,oCAAoCM;IACpCL,4BAA4B,uCAAuCK;IAEnE,OAAOP,iCAAiCO;AAC1C,GAAG;AAEHJ,kBAAkBK,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["BreadcrumbDivider.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type BreadcrumbDividerSlots = {\n root: Slot<'li'>;\n};\n\n/**\n * BreadcrumbDivider Props\n */\nexport type BreadcrumbDividerProps = ComponentProps<BreadcrumbDividerSlots> & {};\n\n/**\n * State used in rendering BreadcrumbDivider\n */\nexport type BreadcrumbDividerState = ComponentState<BreadcrumbDividerSlots>;\n"],"names":[],"mappings":"AAAA,WAc4E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './BreadcrumbDivider';\nexport * from './BreadcrumbDivider.types';\nexport * from './renderBreadcrumbDivider';\nexport * from './useBreadcrumbDivider';\nexport * from './useBreadcrumbDividerStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,sBAAsB;AACpC,cAAc,4BAA4B;AAC1C,cAAc,4BAA4B;AAC1C,cAAc,yBAAyB;AACvC,cAAc,sCAAsC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
|
|
2
|
+
import { assertSlots } from '@fluentui/react-utilities';
|
|
3
|
+
/**
|
|
4
|
+
* Render the final JSX of BreadcrumbDivider
|
|
5
|
+
*/ export const renderBreadcrumbDivider_unstable = (state)=>{
|
|
6
|
+
assertSlots(state);
|
|
7
|
+
return /*#__PURE__*/ _jsx(state.root, {});
|
|
8
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderBreadcrumbDivider.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { BreadcrumbDividerState, BreadcrumbDividerSlots } from './BreadcrumbDivider.types';\n\n/**\n * Render the final JSX of BreadcrumbDivider\n */\nexport const renderBreadcrumbDivider_unstable = (state: BreadcrumbDividerState) => {\n assertSlots<BreadcrumbDividerSlots>(state);\n\n return <state.root />;\n};\n"],"names":["assertSlots","renderBreadcrumbDivider_unstable","state","root"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD;;CAEC,GACD,OAAO,MAAMC,mCAAmC,CAACC;IAC/CF,YAAoCE;IAEpC,qBAAO,KAACA,MAAMC,IAAI;AACpB,EAAE"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
|
|
3
|
+
import { ChevronRight20Regular, ChevronRight16Regular, ChevronRight12Regular, ChevronLeft20Regular, ChevronLeft16Regular, ChevronLeft12Regular } from '@fluentui/react-icons';
|
|
4
|
+
import { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';
|
|
5
|
+
import { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';
|
|
6
|
+
/**
|
|
7
|
+
* Create the state required to render BreadcrumbDivider.
|
|
8
|
+
*
|
|
9
|
+
* The returned state can be modified with hooks such as useBreadcrumbDividerStyles_unstable,
|
|
10
|
+
* before being passed to renderBreadcrumbDivider_unstable.
|
|
11
|
+
*
|
|
12
|
+
* @param props - props from this instance of BreadcrumbDivider
|
|
13
|
+
* @param ref - reference to root HTMLElement of BreadcrumbDivider
|
|
14
|
+
*/ export const useBreadcrumbDivider_unstable = (props, ref)=>{
|
|
15
|
+
const { size } = useBreadcrumbContext_unstable();
|
|
16
|
+
const { dir } = useFluent();
|
|
17
|
+
const icon = getDividerIcon(size, dir);
|
|
18
|
+
return {
|
|
19
|
+
components: {
|
|
20
|
+
root: 'li'
|
|
21
|
+
},
|
|
22
|
+
root: slot.always(getIntrinsicElementProps('li', {
|
|
23
|
+
ref,
|
|
24
|
+
'aria-hidden': true,
|
|
25
|
+
children: icon,
|
|
26
|
+
...props
|
|
27
|
+
}), {
|
|
28
|
+
elementType: 'li'
|
|
29
|
+
})
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
const dividerIcons = {
|
|
33
|
+
rtl: {
|
|
34
|
+
small: /*#__PURE__*/ React.createElement(ChevronLeft12Regular, null),
|
|
35
|
+
medium: /*#__PURE__*/ React.createElement(ChevronLeft16Regular, null),
|
|
36
|
+
large: /*#__PURE__*/ React.createElement(ChevronLeft20Regular, null)
|
|
37
|
+
},
|
|
38
|
+
ltr: {
|
|
39
|
+
small: /*#__PURE__*/ React.createElement(ChevronRight12Regular, null),
|
|
40
|
+
medium: /*#__PURE__*/ React.createElement(ChevronRight16Regular, null),
|
|
41
|
+
large: /*#__PURE__*/ React.createElement(ChevronRight20Regular, null)
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
/**
|
|
45
|
+
* Get icon of the divider
|
|
46
|
+
*
|
|
47
|
+
* @param size - size of the Breadcrumb
|
|
48
|
+
*/ function getDividerIcon(size = 'medium', dir) {
|
|
49
|
+
const dividerIcon = dir === 'rtl' ? dividerIcons.rtl : dividerIcons.ltr;
|
|
50
|
+
if (size === 'small') {
|
|
51
|
+
return dividerIcon.small;
|
|
52
|
+
}
|
|
53
|
+
if (size === 'large') {
|
|
54
|
+
return dividerIcon.large;
|
|
55
|
+
}
|
|
56
|
+
return dividerIcon.medium;
|
|
57
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useBreadcrumbDivider.tsx"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbDividerProps, BreadcrumbDividerState } from './BreadcrumbDivider.types';\nimport {\n ChevronRight20Regular,\n ChevronRight16Regular,\n ChevronRight12Regular,\n ChevronLeft20Regular,\n ChevronLeft16Regular,\n ChevronLeft12Regular,\n} from '@fluentui/react-icons';\nimport { BreadcrumbProps } from '../Breadcrumb/Breadcrumb.types';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\nimport { useFluent_unstable as useFluent } from '@fluentui/react-shared-contexts';\n\n/**\n * Create the state required to render BreadcrumbDivider.\n *\n * The returned state can be modified with hooks such as useBreadcrumbDividerStyles_unstable,\n * before being passed to renderBreadcrumbDivider_unstable.\n *\n * @param props - props from this instance of BreadcrumbDivider\n * @param ref - reference to root HTMLElement of BreadcrumbDivider\n */\nexport const useBreadcrumbDivider_unstable = (\n props: BreadcrumbDividerProps,\n ref: React.Ref<HTMLLIElement>,\n): BreadcrumbDividerState => {\n const { size } = useBreadcrumbContext_unstable();\n const { dir } = useFluent();\n const icon = getDividerIcon(size, dir);\n\n return {\n components: {\n root: 'li',\n },\n root: slot.always(\n getIntrinsicElementProps('li', {\n ref,\n 'aria-hidden': true,\n children: icon,\n ...props,\n }),\n { elementType: 'li' },\n ),\n };\n};\n\nconst dividerIcons = {\n rtl: {\n small: <ChevronLeft12Regular />,\n medium: <ChevronLeft16Regular />,\n large: <ChevronLeft20Regular />,\n },\n ltr: {\n small: <ChevronRight12Regular />,\n medium: <ChevronRight16Regular />,\n large: <ChevronRight20Regular />,\n },\n};\n\n/**\n * Get icon of the divider\n *\n * @param size - size of the Breadcrumb\n */\nfunction getDividerIcon(size: BreadcrumbProps['size'] = 'medium', dir: string) {\n const dividerIcon = dir === 'rtl' ? dividerIcons.rtl : dividerIcons.ltr;\n if (size === 'small') {\n return dividerIcon.small;\n }\n if (size === 'large') {\n return dividerIcon.large;\n }\n return dividerIcon.medium;\n}\n"],"names":["React","getIntrinsicElementProps","slot","ChevronRight20Regular","ChevronRight16Regular","ChevronRight12Regular","ChevronLeft20Regular","ChevronLeft16Regular","ChevronLeft12Regular","useBreadcrumbContext_unstable","useFluent_unstable","useFluent","useBreadcrumbDivider_unstable","props","ref","size","dir","icon","getDividerIcon","components","root","always","children","elementType","dividerIcons","rtl","small","medium","large","ltr","dividerIcon"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAE3E,SACEC,qBAAqB,EACrBC,qBAAqB,EACrBC,qBAAqB,EACrBC,oBAAoB,EACpBC,oBAAoB,EACpBC,oBAAoB,QACf,wBAAwB;AAE/B,SAASC,6BAA6B,QAAQ,kCAAkC;AAChF,SAASC,sBAAsBC,SAAS,QAAQ,kCAAkC;AAElF;;;;;;;;CAQC,GACD,OAAO,MAAMC,gCAAgC,CAC3CC,OACAC;IAEA,MAAM,EAAEC,IAAI,EAAE,GAAGN;IACjB,MAAM,EAAEO,GAAG,EAAE,GAAGL;IAChB,MAAMM,OAAOC,eAAeH,MAAMC;IAElC,OAAO;QACLG,YAAY;YACVC,MAAM;QACR;QACAA,MAAMlB,KAAKmB,MAAM,CACfpB,yBAAyB,MAAM;YAC7Ba;YACA,eAAe;YACfQ,UAAUL;YACV,GAAGJ,KAAK;QACV,IACA;YAAEU,aAAa;QAAK;IAExB;AACF,EAAE;AAEF,MAAMC,eAAe;IACnBC,KAAK;QACHC,qBAAO,oBAAClB;QACRmB,sBAAQ,oBAACpB;QACTqB,qBAAO,oBAACtB;IACV;IACAuB,KAAK;QACHH,qBAAO,oBAACrB;QACRsB,sBAAQ,oBAACvB;QACTwB,qBAAO,oBAACzB;IACV;AACF;AAEA;;;;CAIC,GACD,SAASe,eAAeH,OAAgC,QAAQ,EAAEC,GAAW;IAC3E,MAAMc,cAAcd,QAAQ,QAAQQ,aAAaC,GAAG,GAAGD,aAAaK,GAAG;IACvE,IAAId,SAAS,SAAS;QACpB,OAAOe,YAAYJ,KAAK;IAC1B;IACA,IAAIX,SAAS,SAAS;QACpB,OAAOe,YAAYF,KAAK;IAC1B;IACA,OAAOE,YAAYH,MAAM;AAC3B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { __styles, mergeClasses } from '@griffel/react';
|
|
2
|
+
export const breadcrumbDividerClassNames = {
|
|
3
|
+
root: 'fui-BreadcrumbDivider'
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Styles for the root slot
|
|
7
|
+
*/
|
|
8
|
+
const useStyles = /*#__PURE__*/__styles({
|
|
9
|
+
root: {
|
|
10
|
+
mc9l5x: "f22iagw"
|
|
11
|
+
}
|
|
12
|
+
}, {
|
|
13
|
+
d: [".f22iagw{display:flex;}"]
|
|
14
|
+
});
|
|
15
|
+
/**
|
|
16
|
+
* Apply styling to the BreadcrumbDivider slots based on the state
|
|
17
|
+
*/
|
|
18
|
+
export const useBreadcrumbDividerStyles_unstable = state => {
|
|
19
|
+
const styles = useStyles();
|
|
20
|
+
state.root.className = mergeClasses(breadcrumbDividerClassNames.root, styles.root, state.root.className);
|
|
21
|
+
return state;
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=useBreadcrumbDividerStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__styles","mergeClasses","breadcrumbDividerClassNames","root","useStyles","mc9l5x","d","useBreadcrumbDividerStyles_unstable","state","styles","className"],"sources":["useBreadcrumbDividerStyles.styles.js"],"sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nexport const breadcrumbDividerClassNames = {\n root: 'fui-BreadcrumbDivider'\n};\n/**\n * Styles for the root slot\n */ const useStyles = makeStyles({\n root: {\n display: 'flex'\n }\n});\n/**\n * Apply styling to the BreadcrumbDivider slots based on the state\n */ export const useBreadcrumbDividerStyles_unstable = (state)=>{\n const styles = useStyles();\n state.root.className = mergeClasses(breadcrumbDividerClassNames.root, styles.root, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,SAAAA,QAAA,EAAqBC,YAAY,QAAQ,gBAAgB;AACzD,OAAO,MAAMC,2BAA2B,GAAG;EACvCC,IAAI,EAAE;AACV,CAAC;AACD;AACA;AACA;AAAI,MAAMC,SAAS,gBAAGJ,QAAA;EAAAG,IAAA;IAAAE,MAAA;EAAA;AAAA;EAAAC,CAAA;AAAA,CAIrB,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMC,mCAAmC,GAAIC,KAAK,IAAG;EAC5D,MAAMC,MAAM,GAAGL,SAAS,CAAC,CAAC;EAC1BI,KAAK,CAACL,IAAI,CAACO,SAAS,GAAGT,YAAY,CAACC,2BAA2B,CAACC,IAAI,EAAEM,MAAM,CAACN,IAAI,EAAEK,KAAK,CAACL,IAAI,CAACO,SAAS,CAAC;EACxG,OAAOF,KAAK;AAChB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { useBreadcrumbItem_unstable } from './useBreadcrumbItem';
|
|
3
|
+
import { renderBreadcrumbItem_unstable } from './renderBreadcrumbItem';
|
|
4
|
+
import { useBreadcrumbItemStyles_unstable } from './useBreadcrumbItemStyles.styles';
|
|
5
|
+
import { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';
|
|
6
|
+
/**
|
|
7
|
+
* BreadcrumbItem component is a wrapper for BreadcrumbLink and BreadcrumbButton.
|
|
8
|
+
* It can be used as a non-interactive item.
|
|
9
|
+
*/ export const BreadcrumbItem = /*#__PURE__*/ React.forwardRef((props, ref)=>{
|
|
10
|
+
const state = useBreadcrumbItem_unstable(props, ref);
|
|
11
|
+
useBreadcrumbItemStyles_unstable(state);
|
|
12
|
+
useCustomStyleHook_unstable('useBreadcrumbItemStyles_unstable')(state);
|
|
13
|
+
return renderBreadcrumbItem_unstable(state);
|
|
14
|
+
});
|
|
15
|
+
BreadcrumbItem.displayName = 'BreadcrumbItem';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["BreadcrumbItem.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useBreadcrumbItem_unstable } from './useBreadcrumbItem';\nimport { renderBreadcrumbItem_unstable } from './renderBreadcrumbItem';\nimport { useBreadcrumbItemStyles_unstable } from './useBreadcrumbItemStyles.styles';\nimport type { BreadcrumbItemProps } from './BreadcrumbItem.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport { useCustomStyleHook_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * BreadcrumbItem component is a wrapper for BreadcrumbLink and BreadcrumbButton.\n * It can be used as a non-interactive item.\n */\nexport const BreadcrumbItem: ForwardRefComponent<BreadcrumbItemProps> = React.forwardRef((props, ref) => {\n const state = useBreadcrumbItem_unstable(props, ref);\n\n useBreadcrumbItemStyles_unstable(state);\n useCustomStyleHook_unstable('useBreadcrumbItemStyles_unstable')(state);\n\n return renderBreadcrumbItem_unstable(state);\n});\n\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n"],"names":["React","useBreadcrumbItem_unstable","renderBreadcrumbItem_unstable","useBreadcrumbItemStyles_unstable","useCustomStyleHook_unstable","BreadcrumbItem","forwardRef","props","ref","state","displayName"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,0BAA0B,QAAQ,sBAAsB;AACjE,SAASC,6BAA6B,QAAQ,yBAAyB;AACvE,SAASC,gCAAgC,QAAQ,mCAAmC;AAGpF,SAASC,2BAA2B,QAAQ,kCAAkC;AAE9E;;;CAGC,GACD,OAAO,MAAMC,+BAA2DL,MAAMM,UAAU,CAAC,CAACC,OAAOC;IAC/F,MAAMC,QAAQR,2BAA2BM,OAAOC;IAEhDL,iCAAiCM;IACjCL,4BAA4B,oCAAoCK;IAEhE,OAAOP,8BAA8BO;AACvC,GAAG;AAEHJ,eAAeK,WAAW,GAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["BreadcrumbItem.types.ts"],"sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbProps } from '../Breadcrumb';\n\nexport type BreadcrumbItemSlots = {\n root: Slot<'li'>;\n};\n\n/**\n * BreadcrumbItem Props\n */\nexport type BreadcrumbItemProps = ComponentProps<BreadcrumbItemSlots> & Pick<BreadcrumbProps, 'size'>;\n\n/**\n * State used in rendering BreadcrumbItem\n */\nexport type BreadcrumbItemState = ComponentState<BreadcrumbItemSlots> & Required<Pick<BreadcrumbItemProps, 'size'>>;\n"],"names":[],"mappings":"AAAA,WAeoH"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export * from './BreadcrumbItem';\nexport * from './BreadcrumbItem.types';\nexport * from './renderBreadcrumbItem';\nexport * from './useBreadcrumbItem';\nexport * from './useBreadcrumbItemStyles.styles';\n"],"names":[],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,yBAAyB;AACvC,cAAc,yBAAyB;AACvC,cAAc,sBAAsB;AACpC,cAAc,mCAAmC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "@fluentui/react-jsx-runtime/jsx-runtime";
|
|
2
|
+
import { assertSlots } from '@fluentui/react-utilities';
|
|
3
|
+
/**
|
|
4
|
+
* Render the final JSX of BreadcrumbItem
|
|
5
|
+
*/ export const renderBreadcrumbItem_unstable = (state)=>{
|
|
6
|
+
assertSlots(state);
|
|
7
|
+
return /*#__PURE__*/ _jsx(state.root, {
|
|
8
|
+
children: state.root.children
|
|
9
|
+
});
|
|
10
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["renderBreadcrumbItem.tsx"],"sourcesContent":["/** @jsxRuntime automatic */\n/** @jsxImportSource @fluentui/react-jsx-runtime */\n\nimport { assertSlots } from '@fluentui/react-utilities';\nimport type { BreadcrumbItemState, BreadcrumbItemSlots } from './BreadcrumbItem.types';\n\n/**\n * Render the final JSX of BreadcrumbItem\n */\nexport const renderBreadcrumbItem_unstable = (state: BreadcrumbItemState) => {\n assertSlots<BreadcrumbItemSlots>(state);\n\n return <state.root>{state.root.children}</state.root>;\n};\n"],"names":["assertSlots","renderBreadcrumbItem_unstable","state","root","children"],"mappings":"AAAA,0BAA0B,GAC1B,iDAAiD;AAEjD,SAASA,WAAW,QAAQ,4BAA4B;AAGxD;;CAEC,GACD,OAAO,MAAMC,gCAAgC,CAACC;IAC5CF,YAAiCE;IAEjC,qBAAO,KAACA,MAAMC,IAAI;kBAAED,MAAMC,IAAI,CAACC,QAAQ;;AACzC,EAAE"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';
|
|
3
|
+
import { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';
|
|
4
|
+
/**
|
|
5
|
+
* Create the state required to render BreadcrumbItem.
|
|
6
|
+
*
|
|
7
|
+
* The returned state can be modified with hooks such as useBreadcrumbItemStyles_unstable,
|
|
8
|
+
* before being passed to renderBreadcrumbItem_unstable.
|
|
9
|
+
*
|
|
10
|
+
* @param props - props from this instance of BreadcrumbItem
|
|
11
|
+
* @param ref - reference to root HTMLElement of BreadcrumbItem
|
|
12
|
+
*/ export const useBreadcrumbItem_unstable = (props, ref)=>{
|
|
13
|
+
const { size } = useBreadcrumbContext_unstable();
|
|
14
|
+
return {
|
|
15
|
+
components: {
|
|
16
|
+
root: 'li'
|
|
17
|
+
},
|
|
18
|
+
root: slot.always(getIntrinsicElementProps('li', {
|
|
19
|
+
ref,
|
|
20
|
+
...props
|
|
21
|
+
}), {
|
|
22
|
+
elementType: 'li'
|
|
23
|
+
}),
|
|
24
|
+
size
|
|
25
|
+
};
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["useBreadcrumbItem.ts"],"sourcesContent":["import * as React from 'react';\nimport { getIntrinsicElementProps, slot } from '@fluentui/react-utilities';\nimport type { BreadcrumbItemProps, BreadcrumbItemState } from './BreadcrumbItem.types';\nimport { useBreadcrumbContext_unstable } from '../Breadcrumb/BreadcrumbContext';\n\n/**\n * Create the state required to render BreadcrumbItem.\n *\n * The returned state can be modified with hooks such as useBreadcrumbItemStyles_unstable,\n * before being passed to renderBreadcrumbItem_unstable.\n *\n * @param props - props from this instance of BreadcrumbItem\n * @param ref - reference to root HTMLElement of BreadcrumbItem\n */\nexport const useBreadcrumbItem_unstable = (\n props: BreadcrumbItemProps,\n ref: React.Ref<HTMLLIElement>,\n): BreadcrumbItemState => {\n const { size } = useBreadcrumbContext_unstable();\n\n return {\n components: { root: 'li' },\n root: slot.always(\n getIntrinsicElementProps('li', {\n ref,\n ...props,\n }),\n { elementType: 'li' },\n ),\n size,\n };\n};\n"],"names":["React","getIntrinsicElementProps","slot","useBreadcrumbContext_unstable","useBreadcrumbItem_unstable","props","ref","size","components","root","always","elementType"],"mappings":"AAAA,YAAYA,WAAW,QAAQ;AAC/B,SAASC,wBAAwB,EAAEC,IAAI,QAAQ,4BAA4B;AAE3E,SAASC,6BAA6B,QAAQ,kCAAkC;AAEhF;;;;;;;;CAQC,GACD,OAAO,MAAMC,6BAA6B,CACxCC,OACAC;IAEA,MAAM,EAAEC,IAAI,EAAE,GAAGJ;IAEjB,OAAO;QACLK,YAAY;YAAEC,MAAM;QAAK;QACzBA,MAAMP,KAAKQ,MAAM,CACfT,yBAAyB,MAAM;YAC7BK;YACA,GAAGD,KAAK;QACV,IACA;YAAEM,aAAa;QAAK;QAEtBJ;IACF;AACF,EAAE"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { __resetStyles, mergeClasses } from '@griffel/react';
|
|
2
|
+
import { tokens } from '@fluentui/react-theme';
|
|
3
|
+
export const breadcrumbItemClassNames = {
|
|
4
|
+
root: 'fui-BreadcrumbItem'
|
|
5
|
+
};
|
|
6
|
+
const useBreadcrumbItemResetStyles = /*#__PURE__*/__resetStyles("r1tl60rs", null, [".r1tl60rs{display:flex;align-items:center;color:var(--colorNeutralForeground2);box-sizing:border-box;text-wrap:nowrap;}"]);
|
|
7
|
+
/**
|
|
8
|
+
* Apply styling to the BreadcrumbItem slots based on the state
|
|
9
|
+
*/
|
|
10
|
+
export const useBreadcrumbItemStyles_unstable = state => {
|
|
11
|
+
const resetStyles = useBreadcrumbItemResetStyles();
|
|
12
|
+
state.root.className = mergeClasses(breadcrumbItemClassNames.root, resetStyles, state.root.className);
|
|
13
|
+
return state;
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useBreadcrumbItemStyles.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__resetStyles","mergeClasses","tokens","breadcrumbItemClassNames","root","useBreadcrumbItemResetStyles","useBreadcrumbItemStyles_unstable","state","resetStyles","className"],"sources":["useBreadcrumbItemStyles.styles.js"],"sourcesContent":["import { makeResetStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nexport const breadcrumbItemClassNames = {\n root: 'fui-BreadcrumbItem'\n};\nconst useBreadcrumbItemResetStyles = makeResetStyles({\n display: 'flex',\n alignItems: 'center',\n color: tokens.colorNeutralForeground2,\n boxSizing: 'border-box',\n textWrap: 'nowrap'\n});\n/**\n * Apply styling to the BreadcrumbItem slots based on the state\n */ export const useBreadcrumbItemStyles_unstable = (state)=>{\n const resetStyles = useBreadcrumbItemResetStyles();\n state.root.className = mergeClasses(breadcrumbItemClassNames.root, resetStyles, state.root.className);\n return state;\n};\n"],"mappings":"AAAA,SAAAA,aAAA,EAA0BC,YAAY,QAAQ,gBAAgB;AAC9D,SAASC,MAAM,QAAQ,uBAAuB;AAC9C,OAAO,MAAMC,wBAAwB,GAAG;EACpCC,IAAI,EAAE;AACV,CAAC;AACD,MAAMC,4BAA4B,gBAAGL,aAAA,8IAMpC,CAAC;AACF;AACA;AACA;AAAI,OAAO,MAAMM,gCAAgC,GAAIC,KAAK,IAAG;EACzD,MAAMC,WAAW,GAAGH,4BAA4B,CAAC,CAAC;EAClDE,KAAK,CAACH,IAAI,CAACK,SAAS,GAAGR,YAAY,CAACE,wBAAwB,CAACC,IAAI,EAAEI,WAAW,EAAED,KAAK,CAACH,IAAI,CAACK,SAAS,CAAC;EACrG,OAAOF,KAAK;AAChB,CAAC"}
|
package/lib/index.js
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Breadcrumb, renderBreadcrumb_unstable, useBreadcrumb_unstable, useBreadcrumbStyles_unstable, breadcrumbClassNames } from './Breadcrumb';
|
|
2
|
+
export { BreadcrumbDivider, breadcrumbDividerClassNames, renderBreadcrumbDivider_unstable, useBreadcrumbDividerStyles_unstable, useBreadcrumbDivider_unstable } from './BreadcrumbDivider';
|
|
3
|
+
export { BreadcrumbItem, breadcrumbItemClassNames, renderBreadcrumbItem_unstable, useBreadcrumbItemStyles_unstable, useBreadcrumbItem_unstable } from './BreadcrumbItem';
|
|
4
|
+
export { partitionBreadcrumbItems, truncateBreadcrumbLongName, truncateBreadcrumLongTooltip, isTruncatableBreadcrumbContent } from './utils/index';
|
|
5
|
+
export { BreadcrumbButton, breadcrumbButtonClassNames, renderBreadcrumbButton_unstable, useBreadcrumbButtonStyles_unstable, useBreadcrumbButton_unstable } from './BreadcrumbButton';
|
|
6
|
+
export { BreadcrumbProvider, useBreadcrumbContext_unstable } from './Breadcrumb';
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export {\n Breadcrumb,\n renderBreadcrumb_unstable,\n useBreadcrumb_unstable,\n useBreadcrumbStyles_unstable,\n breadcrumbClassNames,\n} from './Breadcrumb';\nexport type { BreadcrumbSlots, BreadcrumbProps, BreadcrumbState } from './Breadcrumb';\nexport {\n BreadcrumbDivider,\n breadcrumbDividerClassNames,\n renderBreadcrumbDivider_unstable,\n useBreadcrumbDividerStyles_unstable,\n useBreadcrumbDivider_unstable,\n} from './BreadcrumbDivider';\nexport type { BreadcrumbDividerProps, BreadcrumbDividerSlots, BreadcrumbDividerState } from './BreadcrumbDivider';\nexport {\n BreadcrumbItem,\n breadcrumbItemClassNames,\n renderBreadcrumbItem_unstable,\n useBreadcrumbItemStyles_unstable,\n useBreadcrumbItem_unstable,\n} from './BreadcrumbItem';\nexport type { BreadcrumbItemProps, BreadcrumbItemSlots, BreadcrumbItemState } from './BreadcrumbItem';\nexport {\n partitionBreadcrumbItems,\n truncateBreadcrumbLongName,\n truncateBreadcrumLongTooltip,\n isTruncatableBreadcrumbContent,\n} from './utils/index';\nexport type { PartitionBreadcrumbItemsOptions, PartitionBreadcrumbItems } from './utils/index';\nexport {\n BreadcrumbButton,\n breadcrumbButtonClassNames,\n renderBreadcrumbButton_unstable,\n useBreadcrumbButtonStyles_unstable,\n useBreadcrumbButton_unstable,\n} from './BreadcrumbButton';\nexport type { BreadcrumbButtonProps, BreadcrumbButtonSlots, BreadcrumbButtonState } from './BreadcrumbButton';\nexport { BreadcrumbProvider, useBreadcrumbContext_unstable } from './Breadcrumb';\nexport type { BreadcrumbContextValues } from './Breadcrumb';\n"],"names":["Breadcrumb","renderBreadcrumb_unstable","useBreadcrumb_unstable","useBreadcrumbStyles_unstable","breadcrumbClassNames","BreadcrumbDivider","breadcrumbDividerClassNames","renderBreadcrumbDivider_unstable","useBreadcrumbDividerStyles_unstable","useBreadcrumbDivider_unstable","BreadcrumbItem","breadcrumbItemClassNames","renderBreadcrumbItem_unstable","useBreadcrumbItemStyles_unstable","useBreadcrumbItem_unstable","partitionBreadcrumbItems","truncateBreadcrumbLongName","truncateBreadcrumLongTooltip","isTruncatableBreadcrumbContent","BreadcrumbButton","breadcrumbButtonClassNames","renderBreadcrumbButton_unstable","useBreadcrumbButtonStyles_unstable","useBreadcrumbButton_unstable","BreadcrumbProvider","useBreadcrumbContext_unstable"],"mappings":"AAAA,SACEA,UAAU,EACVC,yBAAyB,EACzBC,sBAAsB,EACtBC,4BAA4B,EAC5BC,oBAAoB,QACf,eAAe;AAEtB,SACEC,iBAAiB,EACjBC,2BAA2B,EAC3BC,gCAAgC,EAChCC,mCAAmC,EACnCC,6BAA6B,QACxB,sBAAsB;AAE7B,SACEC,cAAc,EACdC,wBAAwB,EACxBC,6BAA6B,EAC7BC,gCAAgC,EAChCC,0BAA0B,QACrB,mBAAmB;AAE1B,SACEC,wBAAwB,EACxBC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,8BAA8B,QACzB,gBAAgB;AAEvB,SACEC,gBAAgB,EAChBC,0BAA0B,EAC1BC,+BAA+B,EAC/BC,kCAAkC,EAClCC,4BAA4B,QACvB,qBAAqB;AAE5B,SAASC,kBAAkB,EAAEC,6BAA6B,QAAQ,eAAe"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"sourcesContent":["export { partitionBreadcrumbItems } from './partitionBreadcrumbItems';\nexport type { PartitionBreadcrumbItems, PartitionBreadcrumbItemsOptions } from './partitionBreadcrumbItems';\nexport {\n truncateBreadcrumbLongName,\n truncateBreadcrumLongTooltip,\n isTruncatableBreadcrumbContent,\n} from './truncateBreadcrumb';\n"],"names":["partitionBreadcrumbItems","truncateBreadcrumbLongName","truncateBreadcrumLongTooltip","isTruncatableBreadcrumbContent"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,6BAA6B;AAEtE,SACEC,0BAA0B,EAC1BC,4BAA4B,EAC5BC,8BAA8B,QACzB,uBAAuB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
const DEFAULT_OVERFLOW_INDEX = 1;
|
|
2
|
+
const DEFAULT_MAX_DISPLAYED_ITEMS = 6;
|
|
3
|
+
/**
|
|
4
|
+
* Get the displayed items and overflowing items based on the array of BreadcrumbItems needed for Breadcrumb.
|
|
5
|
+
*
|
|
6
|
+
* @param options - Configure the partition options
|
|
7
|
+
*
|
|
8
|
+
* @returns Three arrays split into displayed items and overflow items based on maxDisplayedItems.
|
|
9
|
+
*/ export const partitionBreadcrumbItems = (options)=>{
|
|
10
|
+
let startDisplayedItems;
|
|
11
|
+
let overflowItems;
|
|
12
|
+
let endDisplayedItems;
|
|
13
|
+
const { items = [] } = options;
|
|
14
|
+
const itemsCount = items.length;
|
|
15
|
+
const maxDisplayedItems = getMaxDisplayedItems(options.maxDisplayedItems);
|
|
16
|
+
var _options_overflowIndex;
|
|
17
|
+
let overflowIndex = (_options_overflowIndex = options.overflowIndex) !== null && _options_overflowIndex !== void 0 ? _options_overflowIndex : DEFAULT_OVERFLOW_INDEX;
|
|
18
|
+
startDisplayedItems = items.slice(0, overflowIndex);
|
|
19
|
+
const numberItemsToHide = itemsCount - maxDisplayedItems;
|
|
20
|
+
if (numberItemsToHide > 0) {
|
|
21
|
+
overflowIndex = overflowIndex === maxDisplayedItems ? overflowIndex - 1 : overflowIndex;
|
|
22
|
+
const menuLastItemIdx = overflowIndex + numberItemsToHide;
|
|
23
|
+
startDisplayedItems = startDisplayedItems.slice(0, overflowIndex);
|
|
24
|
+
overflowItems = items.slice(overflowIndex, menuLastItemIdx);
|
|
25
|
+
endDisplayedItems = items.slice(menuLastItemIdx, itemsCount);
|
|
26
|
+
}
|
|
27
|
+
return {
|
|
28
|
+
startDisplayedItems,
|
|
29
|
+
overflowItems,
|
|
30
|
+
endDisplayedItems
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
function getMaxDisplayedItems(maxDisplayedItems) {
|
|
34
|
+
return maxDisplayedItems && maxDisplayedItems >= 0 ? maxDisplayedItems : DEFAULT_MAX_DISPLAYED_ITEMS;
|
|
35
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["partitionBreadcrumbItems.ts"],"sourcesContent":["const DEFAULT_OVERFLOW_INDEX = 1;\nconst DEFAULT_MAX_DISPLAYED_ITEMS = 6;\n\nexport type PartitionBreadcrumbItemsOptions<T> = {\n items: readonly T[];\n maxDisplayedItems?: number;\n overflowIndex?: number;\n};\n\nexport type PartitionBreadcrumbItems<T> = {\n startDisplayedItems: readonly T[];\n overflowItems?: readonly T[];\n endDisplayedItems?: readonly T[];\n};\n\n/**\n * Get the displayed items and overflowing items based on the array of BreadcrumbItems needed for Breadcrumb.\n *\n * @param options - Configure the partition options\n *\n * @returns Three arrays split into displayed items and overflow items based on maxDisplayedItems.\n */\nexport const partitionBreadcrumbItems = <T>(\n options: PartitionBreadcrumbItemsOptions<T>,\n): PartitionBreadcrumbItems<T> => {\n let startDisplayedItems;\n let overflowItems;\n let endDisplayedItems;\n\n const { items = [] } = options;\n const itemsCount = items.length;\n const maxDisplayedItems = getMaxDisplayedItems(options.maxDisplayedItems);\n let overflowIndex = options.overflowIndex ?? DEFAULT_OVERFLOW_INDEX;\n startDisplayedItems = items.slice(0, overflowIndex);\n\n const numberItemsToHide = itemsCount - maxDisplayedItems;\n\n if (numberItemsToHide > 0) {\n overflowIndex = overflowIndex === maxDisplayedItems ? overflowIndex - 1 : overflowIndex;\n const menuLastItemIdx = overflowIndex + numberItemsToHide;\n\n startDisplayedItems = startDisplayedItems.slice(0, overflowIndex);\n overflowItems = items.slice(overflowIndex, menuLastItemIdx);\n endDisplayedItems = items.slice(menuLastItemIdx, itemsCount);\n }\n\n return {\n startDisplayedItems,\n overflowItems,\n endDisplayedItems,\n };\n};\n\nfunction getMaxDisplayedItems(maxDisplayedItems: number | undefined) {\n return maxDisplayedItems && maxDisplayedItems >= 0 ? maxDisplayedItems : DEFAULT_MAX_DISPLAYED_ITEMS;\n}\n"],"names":["DEFAULT_OVERFLOW_INDEX","DEFAULT_MAX_DISPLAYED_ITEMS","partitionBreadcrumbItems","options","startDisplayedItems","overflowItems","endDisplayedItems","items","itemsCount","length","maxDisplayedItems","getMaxDisplayedItems","overflowIndex","slice","numberItemsToHide","menuLastItemIdx"],"mappings":"AAAA,MAAMA,yBAAyB;AAC/B,MAAMC,8BAA8B;AAcpC;;;;;;CAMC,GACD,OAAO,MAAMC,2BAA2B,CACtCC;IAEA,IAAIC;IACJ,IAAIC;IACJ,IAAIC;IAEJ,MAAM,EAAEC,QAAQ,EAAE,EAAE,GAAGJ;IACvB,MAAMK,aAAaD,MAAME,MAAM;IAC/B,MAAMC,oBAAoBC,qBAAqBR,QAAQO,iBAAiB;QACpDP;IAApB,IAAIS,gBAAgBT,CAAAA,yBAAAA,QAAQS,aAAa,cAArBT,oCAAAA,yBAAyBH;IAC7CI,sBAAsBG,MAAMM,KAAK,CAAC,GAAGD;IAErC,MAAME,oBAAoBN,aAAaE;IAEvC,IAAII,oBAAoB,GAAG;QACzBF,gBAAgBA,kBAAkBF,oBAAoBE,gBAAgB,IAAIA;QAC1E,MAAMG,kBAAkBH,gBAAgBE;QAExCV,sBAAsBA,oBAAoBS,KAAK,CAAC,GAAGD;QACnDP,gBAAgBE,MAAMM,KAAK,CAACD,eAAeG;QAC3CT,oBAAoBC,MAAMM,KAAK,CAACE,iBAAiBP;IACnD;IAEA,OAAO;QACLJ;QACAC;QACAC;IACF;AACF,EAAE;AAEF,SAASK,qBAAqBD,iBAAqC;IACjE,OAAOA,qBAAqBA,qBAAqB,IAAIA,oBAAoBT;AAC3E"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const MAX_NAME_LENGTH = 30;
|
|
2
|
+
const MAX_TOOLTIP_LENGTH = 80;
|
|
3
|
+
const truncateBreadcrumb = (content, maxLength)=>{
|
|
4
|
+
return isTruncatableBreadcrumbContent(content, maxLength) ? content.trim().slice(0, maxLength).concat('...') : content;
|
|
5
|
+
};
|
|
6
|
+
export const isTruncatableBreadcrumbContent = (content, maxLength)=>{
|
|
7
|
+
return content.length > maxLength;
|
|
8
|
+
};
|
|
9
|
+
export const truncateBreadcrumbLongName = (content, maxLength)=>{
|
|
10
|
+
const truncateLength = maxLength || MAX_NAME_LENGTH;
|
|
11
|
+
return truncateBreadcrumb(content, truncateLength);
|
|
12
|
+
};
|
|
13
|
+
export const truncateBreadcrumLongTooltip = (content, maxLength)=>{
|
|
14
|
+
const truncateLength = maxLength || MAX_TOOLTIP_LENGTH;
|
|
15
|
+
return truncateBreadcrumb(content, truncateLength);
|
|
16
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["truncateBreadcrumb.ts"],"sourcesContent":["const MAX_NAME_LENGTH = 30;\nconst MAX_TOOLTIP_LENGTH = 80;\n\nconst truncateBreadcrumb = (content: string, maxLength: number): string => {\n return isTruncatableBreadcrumbContent(content, maxLength)\n ? content.trim().slice(0, maxLength).concat('...')\n : content;\n};\n\nexport const isTruncatableBreadcrumbContent = (content: string, maxLength: number) => {\n return content.length > maxLength;\n};\n\nexport const truncateBreadcrumbLongName = (content: string, maxLength?: number): string => {\n const truncateLength = maxLength || MAX_NAME_LENGTH;\n return truncateBreadcrumb(content, truncateLength);\n};\n\nexport const truncateBreadcrumLongTooltip = (content: string, maxLength?: number): string => {\n const truncateLength = maxLength || MAX_TOOLTIP_LENGTH;\n return truncateBreadcrumb(content, truncateLength);\n};\n"],"names":["MAX_NAME_LENGTH","MAX_TOOLTIP_LENGTH","truncateBreadcrumb","content","maxLength","isTruncatableBreadcrumbContent","trim","slice","concat","length","truncateBreadcrumbLongName","truncateLength","truncateBreadcrumLongTooltip"],"mappings":"AAAA,MAAMA,kBAAkB;AACxB,MAAMC,qBAAqB;AAE3B,MAAMC,qBAAqB,CAACC,SAAiBC;IAC3C,OAAOC,+BAA+BF,SAASC,aAC3CD,QAAQG,IAAI,GAAGC,KAAK,CAAC,GAAGH,WAAWI,MAAM,CAAC,SAC1CL;AACN;AAEA,OAAO,MAAME,iCAAiC,CAACF,SAAiBC;IAC9D,OAAOD,QAAQM,MAAM,GAAGL;AAC1B,EAAE;AAEF,OAAO,MAAMM,6BAA6B,CAACP,SAAiBC;IAC1D,MAAMO,iBAAiBP,aAAaJ;IACpC,OAAOE,mBAAmBC,SAASQ;AACrC,EAAE;AAEF,OAAO,MAAMC,+BAA+B,CAACT,SAAiBC;IAC5D,MAAMO,iBAAiBP,aAAaH;IACpC,OAAOC,mBAAmBC,SAASQ;AACrC,EAAE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["Breadcrumb.js"],"sourcesContent":["export * from './components/Breadcrumb/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["BreadcrumbButton.js"],"sourcesContent":["export * from './components/BreadcrumbButton/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["BreadcrumbDivider.js"],"sourcesContent":["export * from './components/BreadcrumbDivider/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["BreadcrumbItem.js"],"sourcesContent":["export * from './components/BreadcrumbItem/index';\n"],"names":[],"mappings":";;;;;uBAAc"}
|