@dt-dds/react-breadcrumb 1.0.0-beta.63 → 1.0.0-beta.65
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 +26 -0
- package/dist/index.js +81 -79
- package/dist/index.mjs +81 -79
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
# @dt-ui/react-breadcrumb
|
|
2
2
|
|
|
3
|
+
## 1.0.0-beta.65
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- feat(core): share responsive HOC from core package
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies
|
|
12
|
+
- @dt-dds/react-core@1.0.0-beta.53
|
|
13
|
+
- @dt-dds/react-icon@1.0.0-beta.56
|
|
14
|
+
- @dt-dds/react-tooltip@1.0.0-beta.62
|
|
15
|
+
|
|
16
|
+
## 1.0.0-beta.64
|
|
17
|
+
|
|
18
|
+
### Patch Changes
|
|
19
|
+
|
|
20
|
+
- fix(config): update ESLint, TS, and Storybook config
|
|
21
|
+
- fix(icon-button): add missing @dt-dds/react-icon devDependency
|
|
22
|
+
- Updated dependencies
|
|
23
|
+
- Updated dependencies
|
|
24
|
+
- @dt-dds/react-core@1.0.0-beta.52
|
|
25
|
+
- @dt-dds/react-icon@1.0.0-beta.55
|
|
26
|
+
- @dt-dds/react-tooltip@1.0.0-beta.61
|
|
27
|
+
- @dt-dds/themes@1.0.0-beta.10
|
|
28
|
+
|
|
3
29
|
## 1.0.0-beta.63
|
|
4
30
|
|
|
5
31
|
### Minor Changes
|
package/dist/index.js
CHANGED
|
@@ -52,8 +52,81 @@ __export(index_exports, {
|
|
|
52
52
|
module.exports = __toCommonJS(index_exports);
|
|
53
53
|
|
|
54
54
|
// src/Breadcrumb.tsx
|
|
55
|
-
var import_react_tooltip = require("@dt-dds/react-tooltip");
|
|
56
55
|
var import_react5 = require("react");
|
|
56
|
+
var import_react_tooltip = require("@dt-dds/react-tooltip");
|
|
57
|
+
|
|
58
|
+
// src/Breadcrumb.styled.ts
|
|
59
|
+
var import_styled = __toESM(require("@emotion/styled"));
|
|
60
|
+
var BreadcrumbStyled = import_styled.default.nav`
|
|
61
|
+
${({ theme }) => `
|
|
62
|
+
${theme.fontStyles.bodyMdRegular}
|
|
63
|
+
color: ${theme.palette.secondary.default};
|
|
64
|
+
overflow: hidden;
|
|
65
|
+
`}
|
|
66
|
+
`;
|
|
67
|
+
var ListStyled = import_styled.default.ul`
|
|
68
|
+
padding: 0px;
|
|
69
|
+
margin: 0px;
|
|
70
|
+
width: 100%;
|
|
71
|
+
list-style: none;
|
|
72
|
+
display: flex;
|
|
73
|
+
align-items: center;
|
|
74
|
+
white-space: nowrap;
|
|
75
|
+
gap: ${({ theme }) => theme.spacing.spacing_30};
|
|
76
|
+
`;
|
|
77
|
+
var ItemStyled = import_styled.default.li`
|
|
78
|
+
${({ theme }) => `
|
|
79
|
+
display: flex;
|
|
80
|
+
|
|
81
|
+
&:not(:last-child) {
|
|
82
|
+
${theme.fontStyles.linkMdRegular}
|
|
83
|
+
color: ${theme.palette.accent.default};
|
|
84
|
+
cursor: pointer;
|
|
85
|
+
|
|
86
|
+
svg {
|
|
87
|
+
color: ${theme.palette.accent.default};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
& * {
|
|
91
|
+
text-decoration: underline;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
&:hover {
|
|
95
|
+
color: ${theme.palette.accent.dark};
|
|
96
|
+
|
|
97
|
+
svg {
|
|
98
|
+
color: ${theme.palette.accent.dark};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
a {
|
|
104
|
+
color: inherit;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
svg {
|
|
108
|
+
color: ${theme.palette.secondary.default};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
&:last-child * {
|
|
112
|
+
white-space: nowrap;
|
|
113
|
+
text-overflow: ellipsis;
|
|
114
|
+
overflow: hidden;
|
|
115
|
+
}
|
|
116
|
+
`}
|
|
117
|
+
`;
|
|
118
|
+
var ItemContainerStyled = import_styled.default.div`
|
|
119
|
+
${({ theme }) => `
|
|
120
|
+
display: flex;
|
|
121
|
+
align-items: center;
|
|
122
|
+
gap: ${theme.spacing.spacing_20};
|
|
123
|
+
`}
|
|
124
|
+
`;
|
|
125
|
+
|
|
126
|
+
// src/hooks/useCollapsedBreadcrumb.tsx
|
|
127
|
+
var import_react3 = require("react");
|
|
128
|
+
var import_react4 = require("@emotion/react");
|
|
129
|
+
var import_react_core = require("@dt-dds/react-core");
|
|
57
130
|
|
|
58
131
|
// ../../dt-dds-react/core/assets/svgs/AllOut.tsx
|
|
59
132
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
@@ -266,101 +339,30 @@ var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
|
266
339
|
// ../../dt-dds-react/core/assets/svgs/Settings.tsx
|
|
267
340
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
268
341
|
|
|
269
|
-
// src/Breadcrumb.styled.ts
|
|
270
|
-
var import_styled = __toESM(require("@emotion/styled"));
|
|
271
|
-
var BreadcrumbStyled = import_styled.default.nav`
|
|
272
|
-
${({ theme }) => `
|
|
273
|
-
${theme.fontStyles.bodyMdRegular}
|
|
274
|
-
color: ${theme.palette.secondary.default};
|
|
275
|
-
overflow: hidden;
|
|
276
|
-
`}
|
|
277
|
-
`;
|
|
278
|
-
var ListStyled = import_styled.default.ul`
|
|
279
|
-
padding: 0px;
|
|
280
|
-
margin: 0px;
|
|
281
|
-
width: 100%;
|
|
282
|
-
list-style: none;
|
|
283
|
-
display: flex;
|
|
284
|
-
align-items: center;
|
|
285
|
-
white-space: nowrap;
|
|
286
|
-
gap: ${({ theme }) => theme.spacing.spacing_30};
|
|
287
|
-
`;
|
|
288
|
-
var ItemStyled = import_styled.default.li`
|
|
289
|
-
${({ theme }) => `
|
|
290
|
-
display: flex;
|
|
291
|
-
|
|
292
|
-
&:not(:last-child) {
|
|
293
|
-
${theme.fontStyles.linkMdRegular}
|
|
294
|
-
color: ${theme.palette.accent.default};
|
|
295
|
-
cursor: pointer;
|
|
296
|
-
|
|
297
|
-
svg {
|
|
298
|
-
color: ${theme.palette.accent.default};
|
|
299
|
-
}
|
|
300
|
-
|
|
301
|
-
& * {
|
|
302
|
-
text-decoration: underline;
|
|
303
|
-
}
|
|
304
|
-
|
|
305
|
-
&:hover {
|
|
306
|
-
color: ${theme.palette.accent.dark};
|
|
307
|
-
|
|
308
|
-
svg {
|
|
309
|
-
color: ${theme.palette.accent.dark};
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
a {
|
|
315
|
-
color: inherit;
|
|
316
|
-
}
|
|
317
|
-
|
|
318
|
-
svg {
|
|
319
|
-
color: ${theme.palette.secondary.default};
|
|
320
|
-
}
|
|
321
|
-
|
|
322
|
-
&:last-child * {
|
|
323
|
-
white-space: nowrap;
|
|
324
|
-
text-overflow: ellipsis;
|
|
325
|
-
overflow: hidden;
|
|
326
|
-
}
|
|
327
|
-
`}
|
|
328
|
-
`;
|
|
329
|
-
var ItemContainerStyled = import_styled.default.div`
|
|
330
|
-
${({ theme }) => `
|
|
331
|
-
display: flex;
|
|
332
|
-
align-items: center;
|
|
333
|
-
gap: ${theme.spacing.spacing_20};
|
|
334
|
-
`}
|
|
335
|
-
`;
|
|
336
|
-
|
|
337
342
|
// src/hooks/useCollapsedBreadcrumb.tsx
|
|
338
|
-
var import_react_core = require("@dt-dds/react-core");
|
|
339
|
-
var import_react3 = require("@emotion/react");
|
|
340
|
-
var import_react4 = require("react");
|
|
341
343
|
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
342
344
|
var isBreadcrumbRefValid = (breadcrumbRef, breadcrumbListRef) => {
|
|
343
345
|
return !!breadcrumbRef.current && !!breadcrumbListRef.current;
|
|
344
346
|
};
|
|
345
347
|
var useCollapsedBreadcrumb = (children) => {
|
|
346
|
-
const breadcrumbRef = (0,
|
|
347
|
-
const breadcrumbListRef = (0,
|
|
348
|
-
const theme = (0,
|
|
348
|
+
const breadcrumbRef = (0, import_react3.useRef)(null);
|
|
349
|
+
const breadcrumbListRef = (0, import_react3.useRef)(null);
|
|
350
|
+
const theme = (0, import_react4.useTheme)();
|
|
349
351
|
const isDesktop = (0, import_react_core.useMedia)(`(min-width: ${theme.breakpoints.mq3}px)`);
|
|
350
|
-
const [visibleChildren, setVisibleChildren] = (0,
|
|
351
|
-
const breadcrumbResize = (0,
|
|
352
|
+
const [visibleChildren, setVisibleChildren] = (0, import_react3.useState)(children);
|
|
353
|
+
const breadcrumbResize = (0, import_react3.useCallback)(() => {
|
|
352
354
|
if (isDesktop || !isBreadcrumbRefValid(breadcrumbRef, breadcrumbListRef)) {
|
|
353
355
|
setVisibleChildren(children);
|
|
354
356
|
return;
|
|
355
357
|
}
|
|
356
|
-
const childrenArray =
|
|
358
|
+
const childrenArray = import_react3.Children.toArray(children);
|
|
357
359
|
const isBreadcrumbsTooLarge = breadcrumbListRef.current.scrollWidth > breadcrumbRef.current.clientWidth;
|
|
358
360
|
if (isBreadcrumbsTooLarge) {
|
|
359
361
|
const lastChild = childrenArray[childrenArray.length - 1];
|
|
360
362
|
const modifiedChildren = [
|
|
361
363
|
childrenArray[0],
|
|
362
364
|
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Breadcrumb.Item, { children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(MoreHorizontal_default, {}) }, "more-icon"),
|
|
363
|
-
(0,
|
|
365
|
+
(0, import_react3.isValidElement)(lastChild) ? (0, import_react3.cloneElement)(lastChild, __spreadProps(__spreadValues({}, lastChild.props), {
|
|
364
366
|
style: { overflow: "hidden" }
|
|
365
367
|
})) : lastChild
|
|
366
368
|
];
|
package/dist/index.mjs
CHANGED
|
@@ -19,8 +19,88 @@ var __spreadValues = (a, b) => {
|
|
|
19
19
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
20
|
|
|
21
21
|
// src/Breadcrumb.tsx
|
|
22
|
-
import { Tooltip } from "@dt-dds/react-tooltip";
|
|
23
22
|
import { Children as Children2, cloneElement as cloneElement2, isValidElement as isValidElement2 } from "react";
|
|
23
|
+
import { Tooltip } from "@dt-dds/react-tooltip";
|
|
24
|
+
|
|
25
|
+
// src/Breadcrumb.styled.ts
|
|
26
|
+
import styled from "@emotion/styled";
|
|
27
|
+
var BreadcrumbStyled = styled.nav`
|
|
28
|
+
${({ theme }) => `
|
|
29
|
+
${theme.fontStyles.bodyMdRegular}
|
|
30
|
+
color: ${theme.palette.secondary.default};
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
`}
|
|
33
|
+
`;
|
|
34
|
+
var ListStyled = styled.ul`
|
|
35
|
+
padding: 0px;
|
|
36
|
+
margin: 0px;
|
|
37
|
+
width: 100%;
|
|
38
|
+
list-style: none;
|
|
39
|
+
display: flex;
|
|
40
|
+
align-items: center;
|
|
41
|
+
white-space: nowrap;
|
|
42
|
+
gap: ${({ theme }) => theme.spacing.spacing_30};
|
|
43
|
+
`;
|
|
44
|
+
var ItemStyled = styled.li`
|
|
45
|
+
${({ theme }) => `
|
|
46
|
+
display: flex;
|
|
47
|
+
|
|
48
|
+
&:not(:last-child) {
|
|
49
|
+
${theme.fontStyles.linkMdRegular}
|
|
50
|
+
color: ${theme.palette.accent.default};
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
|
|
53
|
+
svg {
|
|
54
|
+
color: ${theme.palette.accent.default};
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
& * {
|
|
58
|
+
text-decoration: underline;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
&:hover {
|
|
62
|
+
color: ${theme.palette.accent.dark};
|
|
63
|
+
|
|
64
|
+
svg {
|
|
65
|
+
color: ${theme.palette.accent.dark};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
a {
|
|
71
|
+
color: inherit;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
svg {
|
|
75
|
+
color: ${theme.palette.secondary.default};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
&:last-child * {
|
|
79
|
+
white-space: nowrap;
|
|
80
|
+
text-overflow: ellipsis;
|
|
81
|
+
overflow: hidden;
|
|
82
|
+
}
|
|
83
|
+
`}
|
|
84
|
+
`;
|
|
85
|
+
var ItemContainerStyled = styled.div`
|
|
86
|
+
${({ theme }) => `
|
|
87
|
+
display: flex;
|
|
88
|
+
align-items: center;
|
|
89
|
+
gap: ${theme.spacing.spacing_20};
|
|
90
|
+
`}
|
|
91
|
+
`;
|
|
92
|
+
|
|
93
|
+
// src/hooks/useCollapsedBreadcrumb.tsx
|
|
94
|
+
import {
|
|
95
|
+
Children,
|
|
96
|
+
isValidElement,
|
|
97
|
+
cloneElement,
|
|
98
|
+
useCallback,
|
|
99
|
+
useRef,
|
|
100
|
+
useState
|
|
101
|
+
} from "react";
|
|
102
|
+
import { useTheme as useTheme3 } from "@emotion/react";
|
|
103
|
+
import { useDebounceResize, useMedia } from "@dt-dds/react-core";
|
|
24
104
|
|
|
25
105
|
// ../../dt-dds-react/core/assets/svgs/AllOut.tsx
|
|
26
106
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
@@ -233,85 +313,7 @@ import { jsx as jsx56 } from "react/jsx-runtime";
|
|
|
233
313
|
// ../../dt-dds-react/core/assets/svgs/Settings.tsx
|
|
234
314
|
import { jsx as jsx57 } from "react/jsx-runtime";
|
|
235
315
|
|
|
236
|
-
// src/Breadcrumb.styled.ts
|
|
237
|
-
import styled from "@emotion/styled";
|
|
238
|
-
var BreadcrumbStyled = styled.nav`
|
|
239
|
-
${({ theme }) => `
|
|
240
|
-
${theme.fontStyles.bodyMdRegular}
|
|
241
|
-
color: ${theme.palette.secondary.default};
|
|
242
|
-
overflow: hidden;
|
|
243
|
-
`}
|
|
244
|
-
`;
|
|
245
|
-
var ListStyled = styled.ul`
|
|
246
|
-
padding: 0px;
|
|
247
|
-
margin: 0px;
|
|
248
|
-
width: 100%;
|
|
249
|
-
list-style: none;
|
|
250
|
-
display: flex;
|
|
251
|
-
align-items: center;
|
|
252
|
-
white-space: nowrap;
|
|
253
|
-
gap: ${({ theme }) => theme.spacing.spacing_30};
|
|
254
|
-
`;
|
|
255
|
-
var ItemStyled = styled.li`
|
|
256
|
-
${({ theme }) => `
|
|
257
|
-
display: flex;
|
|
258
|
-
|
|
259
|
-
&:not(:last-child) {
|
|
260
|
-
${theme.fontStyles.linkMdRegular}
|
|
261
|
-
color: ${theme.palette.accent.default};
|
|
262
|
-
cursor: pointer;
|
|
263
|
-
|
|
264
|
-
svg {
|
|
265
|
-
color: ${theme.palette.accent.default};
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
& * {
|
|
269
|
-
text-decoration: underline;
|
|
270
|
-
}
|
|
271
|
-
|
|
272
|
-
&:hover {
|
|
273
|
-
color: ${theme.palette.accent.dark};
|
|
274
|
-
|
|
275
|
-
svg {
|
|
276
|
-
color: ${theme.palette.accent.dark};
|
|
277
|
-
}
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
|
|
281
|
-
a {
|
|
282
|
-
color: inherit;
|
|
283
|
-
}
|
|
284
|
-
|
|
285
|
-
svg {
|
|
286
|
-
color: ${theme.palette.secondary.default};
|
|
287
|
-
}
|
|
288
|
-
|
|
289
|
-
&:last-child * {
|
|
290
|
-
white-space: nowrap;
|
|
291
|
-
text-overflow: ellipsis;
|
|
292
|
-
overflow: hidden;
|
|
293
|
-
}
|
|
294
|
-
`}
|
|
295
|
-
`;
|
|
296
|
-
var ItemContainerStyled = styled.div`
|
|
297
|
-
${({ theme }) => `
|
|
298
|
-
display: flex;
|
|
299
|
-
align-items: center;
|
|
300
|
-
gap: ${theme.spacing.spacing_20};
|
|
301
|
-
`}
|
|
302
|
-
`;
|
|
303
|
-
|
|
304
316
|
// src/hooks/useCollapsedBreadcrumb.tsx
|
|
305
|
-
import { useDebounceResize, useMedia } from "@dt-dds/react-core";
|
|
306
|
-
import { useTheme as useTheme3 } from "@emotion/react";
|
|
307
|
-
import {
|
|
308
|
-
Children,
|
|
309
|
-
isValidElement,
|
|
310
|
-
cloneElement,
|
|
311
|
-
useCallback,
|
|
312
|
-
useRef,
|
|
313
|
-
useState
|
|
314
|
-
} from "react";
|
|
315
317
|
import { jsx as jsx58 } from "react/jsx-runtime";
|
|
316
318
|
var isBreadcrumbRefValid = (breadcrumbRef, breadcrumbListRef) => {
|
|
317
319
|
return !!breadcrumbRef.current && !!breadcrumbListRef.current;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dt-dds/react-breadcrumb",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.65",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dist/index.js"
|
|
@@ -20,10 +20,10 @@
|
|
|
20
20
|
"test:update:snapshot": "jest -u"
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
|
-
"@dt-dds/react-core": "1.0.0-beta.
|
|
24
|
-
"@dt-dds/react-tooltip": "1.0.0-beta.
|
|
25
|
-
"@dt-dds/react-icon": "1.0.0-beta.
|
|
26
|
-
"@dt-dds/themes": "1.0.0-beta.
|
|
23
|
+
"@dt-dds/react-core": "1.0.0-beta.53",
|
|
24
|
+
"@dt-dds/react-tooltip": "1.0.0-beta.62",
|
|
25
|
+
"@dt-dds/react-icon": "1.0.0-beta.56",
|
|
26
|
+
"@dt-dds/themes": "1.0.0-beta.10"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@babel/core": "^7.22.9",
|