@faststore/components 3.4.4 → 3.5.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/dist/cjs/molecules/Breadcrumb/BreadcrumbBase.js +9 -4
- package/dist/cjs/molecules/Breadcrumb/BreadcrumbBase.js.map +1 -1
- package/dist/esm/molecules/Breadcrumb/BreadcrumbBase.js +10 -5
- package/dist/esm/molecules/Breadcrumb/BreadcrumbBase.js.map +1 -1
- package/package.json +4 -4
- package/src/molecules/Breadcrumb/BreadcrumbBase.tsx +52 -24
|
@@ -4,8 +4,12 @@ const tslib_1 = require("tslib");
|
|
|
4
4
|
const react_1 = tslib_1.__importStar(require("react"));
|
|
5
5
|
const Icon_1 = tslib_1.__importDefault(require("../../atoms/Icon"));
|
|
6
6
|
const Link_1 = tslib_1.__importDefault(require("../../atoms/Link"));
|
|
7
|
-
const Dropdown_1 = tslib_1.__importStar(require("../Dropdown"));
|
|
8
7
|
const BreadcrumbPure_1 = tslib_1.__importDefault(require("./BreadcrumbPure"));
|
|
8
|
+
const Dropdown = (0, react_1.lazy)(() => Promise.resolve().then(() => tslib_1.__importStar(require(/* webpackChunkName: "Dropdown" */ '../Dropdown/Dropdown'))));
|
|
9
|
+
const DropdownButton = (0, react_1.lazy)(() => Promise.resolve().then(() => tslib_1.__importStar(require(
|
|
10
|
+
/* webpackChunkName: "DropdownButton" */ '../Dropdown/DropdownButton'))));
|
|
11
|
+
const DropdownMenu = (0, react_1.lazy)(() => Promise.resolve().then(() => tslib_1.__importStar(require(/* webpackChunkName: "DropdownMenu" */ '../Dropdown/DropdownMenu'))));
|
|
12
|
+
const DropdownItem = (0, react_1.lazy)(() => Promise.resolve().then(() => tslib_1.__importStar(require(/* webpackChunkName: "DropdownItem" */ '../Dropdown/DropdownItem'))));
|
|
9
13
|
const BreadcrumbBase = (0, react_1.forwardRef)(function BreadcrumbBase({ children, divider: rawDivider = '', testId = 'fs-breadcrumb', breadcrumbList, isDesktop = false, renderLink, homeLink, dropdownButtonIcon = react_1.default.createElement(Icon_1.default, { name: "DotsThree" }), collapsedItemsIcon = (react_1.default.createElement(Icon_1.default, { "data-fs-dropdown-item-icon": true, name: "ArrowElbowDownRight" })), ...otherProps }, ref) {
|
|
10
14
|
const firstItem = isDesktop ? breadcrumbList[0] : null;
|
|
11
15
|
const mediumItems = isDesktop
|
|
@@ -36,9 +40,10 @@ const BreadcrumbBase = (0, react_1.forwardRef)(function BreadcrumbBase({ childre
|
|
|
36
40
|
collapseBreadcrumb &&
|
|
37
41
|
firstItem &&
|
|
38
42
|
breadcrumbLink({ itemProps: firstItem, collapsed: false }),
|
|
39
|
-
collapseBreadcrumb && (react_1.default.createElement(
|
|
40
|
-
react_1.default.createElement(
|
|
41
|
-
|
|
43
|
+
collapseBreadcrumb && (react_1.default.createElement(react_1.Suspense, null,
|
|
44
|
+
react_1.default.createElement(Dropdown, null,
|
|
45
|
+
react_1.default.createElement(DropdownButton, { "aria-label": "View More", "data-fs-breadcrumb-dropdown-button": true, size: "small" }, dropdownButtonIcon),
|
|
46
|
+
react_1.default.createElement(DropdownMenu, { "data-fs-breadcrumb-dropdown-menu": true }, mediumItems.map((item) => (react_1.default.createElement(DropdownItem, { "data-fs-breadcrumb-dropdown-item": true, key: String(item.position), icon: collapsedItemsIcon }, breadcrumbLink({ itemProps: item, collapsed: true })))))))),
|
|
42
47
|
collapseBreadcrumb &&
|
|
43
48
|
lastItems.map((item, index) => {
|
|
44
49
|
return lastItems.length === index + 1 ? (react_1.default.createElement("span", { key: String(item.position) }, item.name)) : (breadcrumbLink({ itemProps: item, collapsed: false }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadcrumbBase.js","sourceRoot":"","sources":["../../../../src/molecules/Breadcrumb/BreadcrumbBase.tsx"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"BreadcrumbBase.js","sourceRoot":"","sources":["../../../../src/molecules/Breadcrumb/BreadcrumbBase.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import React, { cloneElement, forwardRef, useCallback, } from 'react';
|
|
1
|
+
import React, { cloneElement, forwardRef, lazy, Suspense, useCallback, } from 'react';
|
|
2
2
|
import Icon from '../../atoms/Icon';
|
|
3
3
|
import Link from '../../atoms/Link';
|
|
4
|
-
import Dropdown, { DropdownButton, DropdownItem, DropdownMenu, } from '../Dropdown';
|
|
5
4
|
import BreadcrumbPure from './BreadcrumbPure';
|
|
5
|
+
const Dropdown = lazy(() => import(/* webpackChunkName: "Dropdown" */ '../Dropdown/Dropdown'));
|
|
6
|
+
const DropdownButton = lazy(() => import(
|
|
7
|
+
/* webpackChunkName: "DropdownButton" */ '../Dropdown/DropdownButton'));
|
|
8
|
+
const DropdownMenu = lazy(() => import(/* webpackChunkName: "DropdownMenu" */ '../Dropdown/DropdownMenu'));
|
|
9
|
+
const DropdownItem = lazy(() => import(/* webpackChunkName: "DropdownItem" */ '../Dropdown/DropdownItem'));
|
|
6
10
|
const BreadcrumbBase = forwardRef(function BreadcrumbBase({ children, divider: rawDivider = '', testId = 'fs-breadcrumb', breadcrumbList, isDesktop = false, renderLink, homeLink, dropdownButtonIcon = React.createElement(Icon, { name: "DotsThree" }), collapsedItemsIcon = (React.createElement(Icon, { "data-fs-dropdown-item-icon": true, name: "ArrowElbowDownRight" })), ...otherProps }, ref) {
|
|
7
11
|
const firstItem = isDesktop ? breadcrumbList[0] : null;
|
|
8
12
|
const mediumItems = isDesktop
|
|
@@ -33,9 +37,10 @@ const BreadcrumbBase = forwardRef(function BreadcrumbBase({ children, divider: r
|
|
|
33
37
|
collapseBreadcrumb &&
|
|
34
38
|
firstItem &&
|
|
35
39
|
breadcrumbLink({ itemProps: firstItem, collapsed: false }),
|
|
36
|
-
collapseBreadcrumb && (React.createElement(
|
|
37
|
-
React.createElement(
|
|
38
|
-
|
|
40
|
+
collapseBreadcrumb && (React.createElement(Suspense, null,
|
|
41
|
+
React.createElement(Dropdown, null,
|
|
42
|
+
React.createElement(DropdownButton, { "aria-label": "View More", "data-fs-breadcrumb-dropdown-button": true, size: "small" }, dropdownButtonIcon),
|
|
43
|
+
React.createElement(DropdownMenu, { "data-fs-breadcrumb-dropdown-menu": true }, mediumItems.map((item) => (React.createElement(DropdownItem, { "data-fs-breadcrumb-dropdown-item": true, key: String(item.position), icon: collapsedItemsIcon }, breadcrumbLink({ itemProps: item, collapsed: true })))))))),
|
|
39
44
|
collapseBreadcrumb &&
|
|
40
45
|
lastItems.map((item, index) => {
|
|
41
46
|
return lastItems.length === index + 1 ? (React.createElement("span", { key: String(item.position) }, item.name)) : (breadcrumbLink({ itemProps: item, collapsed: false }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BreadcrumbBase.js","sourceRoot":"","sources":["../../../../src/molecules/Breadcrumb/BreadcrumbBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EACZ,YAAY,
|
|
1
|
+
{"version":3,"file":"BreadcrumbBase.js","sourceRoot":"","sources":["../../../../src/molecules/Breadcrumb/BreadcrumbBase.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@faststore/components",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.5.0",
|
|
4
4
|
"main": "dist/cjs/index.js",
|
|
5
5
|
"module": "dist/esm/index.js",
|
|
6
6
|
"typings": "dist/esm/index.d.ts",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"react-dom": "^18.2.0"
|
|
36
36
|
},
|
|
37
37
|
"devDependencies": {
|
|
38
|
-
"@faststore/eslint-config": "^3.
|
|
39
|
-
"@faststore/shared": "^3.
|
|
38
|
+
"@faststore/eslint-config": "^3.5.0",
|
|
39
|
+
"@faststore/shared": "^3.5.0",
|
|
40
40
|
"@testing-library/jest-dom": "^6.5.0",
|
|
41
41
|
"@testing-library/react": "^14.3.0",
|
|
42
42
|
"@types/jest-axe": "^3.5.9",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"volta": {
|
|
53
53
|
"extends": "../../package.json"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "180554c88fee738fb4fffe62f9dd6d0ceab6bdfb"
|
|
56
56
|
}
|
|
@@ -1,19 +1,45 @@
|
|
|
1
1
|
import React, {
|
|
2
2
|
cloneElement,
|
|
3
|
+
ComponentType,
|
|
3
4
|
forwardRef,
|
|
5
|
+
lazy,
|
|
6
|
+
PropsWithChildren,
|
|
4
7
|
ReactElement,
|
|
5
8
|
ReactNode,
|
|
9
|
+
Suspense,
|
|
6
10
|
useCallback,
|
|
7
11
|
} from 'react'
|
|
8
12
|
import Icon from '../../atoms/Icon'
|
|
9
13
|
import Link from '../../atoms/Link'
|
|
10
|
-
import
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
+
import type {
|
|
15
|
+
DropdownButtonProps,
|
|
16
|
+
DropdownItemProps,
|
|
17
|
+
DropdownMenuProps,
|
|
18
|
+
DropdownProps,
|
|
14
19
|
} from '../Dropdown'
|
|
15
20
|
import BreadcrumbPure, { BreadcrumbPureProps } from './BreadcrumbPure'
|
|
16
21
|
|
|
22
|
+
const Dropdown = lazy<ComponentType<PropsWithChildren<DropdownProps>>>(
|
|
23
|
+
() => import(/* webpackChunkName: "Dropdown" */ '../Dropdown/Dropdown')
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
const DropdownButton = lazy<ComponentType<DropdownButtonProps>>(
|
|
27
|
+
() =>
|
|
28
|
+
import(
|
|
29
|
+
/* webpackChunkName: "DropdownButton" */ '../Dropdown/DropdownButton'
|
|
30
|
+
)
|
|
31
|
+
)
|
|
32
|
+
|
|
33
|
+
const DropdownMenu = lazy<ComponentType<DropdownMenuProps>>(
|
|
34
|
+
() =>
|
|
35
|
+
import(/* webpackChunkName: "DropdownMenu" */ '../Dropdown/DropdownMenu')
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
const DropdownItem = lazy<ComponentType<DropdownItemProps>>(
|
|
39
|
+
() =>
|
|
40
|
+
import(/* webpackChunkName: "DropdownItem" */ '../Dropdown/DropdownItem')
|
|
41
|
+
)
|
|
42
|
+
|
|
17
43
|
type ItemElement = {
|
|
18
44
|
item: string
|
|
19
45
|
name: string
|
|
@@ -137,26 +163,28 @@ const BreadcrumbBase = forwardRef<HTMLDivElement, BreadcrumbBaseProps>(
|
|
|
137
163
|
breadcrumbLink({ itemProps: firstItem, collapsed: false })}
|
|
138
164
|
|
|
139
165
|
{collapseBreadcrumb && (
|
|
140
|
-
<
|
|
141
|
-
<
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
166
|
+
<Suspense>
|
|
167
|
+
<Dropdown>
|
|
168
|
+
<DropdownButton
|
|
169
|
+
aria-label="View More"
|
|
170
|
+
data-fs-breadcrumb-dropdown-button
|
|
171
|
+
size="small"
|
|
172
|
+
>
|
|
173
|
+
{dropdownButtonIcon}
|
|
174
|
+
</DropdownButton>
|
|
175
|
+
<DropdownMenu data-fs-breadcrumb-dropdown-menu>
|
|
176
|
+
{mediumItems.map((item) => (
|
|
177
|
+
<DropdownItem
|
|
178
|
+
data-fs-breadcrumb-dropdown-item
|
|
179
|
+
key={String(item.position)}
|
|
180
|
+
icon={collapsedItemsIcon}
|
|
181
|
+
>
|
|
182
|
+
{breadcrumbLink({ itemProps: item, collapsed: true })}
|
|
183
|
+
</DropdownItem>
|
|
184
|
+
))}
|
|
185
|
+
</DropdownMenu>
|
|
186
|
+
</Dropdown>
|
|
187
|
+
</Suspense>
|
|
160
188
|
)}
|
|
161
189
|
|
|
162
190
|
{collapseBreadcrumb &&
|