@cloud-ru/ds-uikit-product-header 1.2.2 → 1.3.1-preview-2d29e3f3.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 +10 -0
- package/README.md +273 -3
- package/dist/cjs/components/MainMenu/helperComponents/Content/Content.js +1 -1
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +3 -2
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +4 -4
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +2 -1
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +2 -2
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +2 -1
- package/dist/cjs/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +2 -2
- package/dist/cjs/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +4 -2
- package/dist/cjs/components/MainMenu/index.d.ts +1 -0
- package/dist/cjs/components/MainMenu/index.js +3 -0
- package/dist/cjs/components/MainMenu/types.d.ts +2 -0
- package/dist/esm/components/MainMenu/helperComponents/Content/Content.js +1 -1
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.d.ts +3 -2
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.js +4 -4
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.d.ts +2 -1
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.js +2 -2
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.d.ts +2 -1
- package/dist/esm/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.js +2 -2
- package/dist/esm/components/MainMenu/helperComponents/ServiceCard/ServiceCard.js +4 -2
- package/dist/esm/components/MainMenu/index.d.ts +1 -0
- package/dist/esm/components/MainMenu/index.js +1 -0
- package/dist/esm/components/MainMenu/types.d.ts +2 -0
- package/dist/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +27 -27
- package/src/components/MainMenu/helperComponents/Content/Content.tsx +3 -2
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/SortableGroup.tsx +6 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SortableGroupCards.tsx +3 -0
- package/src/components/MainMenu/helperComponents/Content/helperComponents/SortableGroup/components/SubCategory/SubCategory.tsx +3 -1
- package/src/components/MainMenu/helperComponents/ServiceCard/ServiceCard.tsx +4 -2
- package/src/components/MainMenu/index.ts +1 -0
- package/src/components/MainMenu/types.ts +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cloud-ru/ds-uikit-product-header",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.1-preview-2d29e3f3.0",
|
|
4
4
|
"description": "Продуктовая шапка консоли — HeaderLayout, MainMenu, UserMenu, Logo, PathBreadcrumbs и PlatformLogo.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -45,32 +45,32 @@
|
|
|
45
45
|
"@dnd-kit/utilities": "^3.2.2",
|
|
46
46
|
"classnames": "^2.5.1",
|
|
47
47
|
"fuse.js": "^7.1.0",
|
|
48
|
-
"@cloud-ru/ds-accordion": "
|
|
49
|
-
"@cloud-ru/ds-
|
|
50
|
-
"@cloud-ru/ds-
|
|
51
|
-
"@cloud-ru/ds-
|
|
52
|
-
"@cloud-ru/ds-
|
|
53
|
-
"@cloud-ru/ds-divider": "
|
|
54
|
-
"@cloud-ru/ds-
|
|
55
|
-
"@cloud-ru/ds-drawer": "
|
|
56
|
-
"@cloud-ru/ds-
|
|
57
|
-
"@cloud-ru/ds-
|
|
58
|
-
"@cloud-ru/ds-
|
|
59
|
-
"@cloud-ru/ds-
|
|
60
|
-
"@cloud-ru/ds-
|
|
61
|
-
"@cloud-ru/ds-locale": "
|
|
62
|
-
"@cloud-ru/ds-
|
|
63
|
-
"@cloud-ru/ds-
|
|
64
|
-
"@cloud-ru/ds-
|
|
65
|
-
"@cloud-ru/ds-
|
|
66
|
-
"@cloud-ru/ds-
|
|
67
|
-
"@cloud-ru/ds-
|
|
68
|
-
"@cloud-ru/ds-tooltip": "
|
|
69
|
-
"@cloud-ru/ds-
|
|
70
|
-
"@cloud-ru/ds-uikit-product-switch-row": "
|
|
71
|
-
"@cloud-ru/ds-uikit-product-
|
|
72
|
-
"@cloud-ru/ds-
|
|
73
|
-
"@cloud-ru/ds-utils": "
|
|
48
|
+
"@cloud-ru/ds-accordion": "1.0.6",
|
|
49
|
+
"@cloud-ru/ds-button": "1.0.2",
|
|
50
|
+
"@cloud-ru/ds-breadcrumbs": "1.0.13",
|
|
51
|
+
"@cloud-ru/ds-avatar": "1.0.3-preview-2d29e3f3.0",
|
|
52
|
+
"@cloud-ru/ds-adaptive": "1.0.1",
|
|
53
|
+
"@cloud-ru/ds-divider": "1.0.1",
|
|
54
|
+
"@cloud-ru/ds-drag-and-drop": "1.1.1",
|
|
55
|
+
"@cloud-ru/ds-drawer": "1.1.1",
|
|
56
|
+
"@cloud-ru/ds-icons": "1.1.0",
|
|
57
|
+
"@cloud-ru/ds-info-block": "1.0.1",
|
|
58
|
+
"@cloud-ru/ds-modal": "1.1.1",
|
|
59
|
+
"@cloud-ru/ds-list": "2.1.2",
|
|
60
|
+
"@cloud-ru/ds-promo-tag": "1.0.1",
|
|
61
|
+
"@cloud-ru/ds-locale": "1.0.0",
|
|
62
|
+
"@cloud-ru/ds-scroll": "1.0.2",
|
|
63
|
+
"@cloud-ru/ds-portal-context": "1.0.1",
|
|
64
|
+
"@cloud-ru/ds-search": "1.0.6",
|
|
65
|
+
"@cloud-ru/ds-segment-control": "1.0.5-preview-2d29e3f3.0",
|
|
66
|
+
"@cloud-ru/ds-skeleton": "1.0.1",
|
|
67
|
+
"@cloud-ru/ds-theme": "1.1.0",
|
|
68
|
+
"@cloud-ru/ds-tooltip": "1.0.4",
|
|
69
|
+
"@cloud-ru/ds-typography": "1.0.0",
|
|
70
|
+
"@cloud-ru/ds-uikit-product-switch-row": "1.0.5",
|
|
71
|
+
"@cloud-ru/ds-uikit-product-card-predefined": "3.0.5-preview-2d29e3f3.0",
|
|
72
|
+
"@cloud-ru/ds-uikit-product-title-clickable": "1.0.8-preview-2d29e3f3.0",
|
|
73
|
+
"@cloud-ru/ds-utils": "1.1.0"
|
|
74
74
|
},
|
|
75
75
|
"publishConfig": {
|
|
76
76
|
"access": "public"
|
|
@@ -225,7 +225,7 @@ export function Content({
|
|
|
225
225
|
return (
|
|
226
226
|
<SortableContext items={visibleGroups.map(({ id }) => id)} strategy={verticalListSortingStrategy}>
|
|
227
227
|
<Accordion selectionMode='multiple' expanded={expandedIds} onExpandedChange={onExpandedChange}>
|
|
228
|
-
{visibleGroups.map(({ id, label, icon, items, favoritesEnabled
|
|
228
|
+
{visibleGroups.map(({ id, label, icon, items, favoritesEnabled, blockColor, highlight }) => (
|
|
229
229
|
<SortableGroup
|
|
230
230
|
key={id}
|
|
231
231
|
id={id}
|
|
@@ -237,7 +237,8 @@ export function Content({
|
|
|
237
237
|
showDescription={showDescription}
|
|
238
238
|
isMobile={isMobile}
|
|
239
239
|
enableServiceDrag={enableServiceDrag}
|
|
240
|
-
favorite={
|
|
240
|
+
favorite={favorite}
|
|
241
|
+
groupFavoritesEnabled={favoritesEnabled}
|
|
241
242
|
onServiceClick={handleLinkClick}
|
|
242
243
|
highlight={highlight}
|
|
243
244
|
/>
|
|
@@ -20,6 +20,8 @@ export type SortableGroupProps = Omit<SortableGroupCardsProps, 'groupId'> &
|
|
|
20
20
|
blockColor?: LinksGroupBlockColor;
|
|
21
21
|
|
|
22
22
|
highlight?: boolean;
|
|
23
|
+
|
|
24
|
+
groupFavoritesEnabled?: boolean;
|
|
23
25
|
};
|
|
24
26
|
|
|
25
27
|
export function SortableGroup({
|
|
@@ -32,6 +34,7 @@ export function SortableGroup({
|
|
|
32
34
|
isMobile,
|
|
33
35
|
enableServiceDrag,
|
|
34
36
|
favorite,
|
|
37
|
+
groupFavoritesEnabled = true,
|
|
35
38
|
onServiceClick,
|
|
36
39
|
blockColor,
|
|
37
40
|
highlight,
|
|
@@ -89,6 +92,7 @@ export function SortableGroup({
|
|
|
89
92
|
isMobile={isMobile}
|
|
90
93
|
enableServiceDrag={enableServiceDrag}
|
|
91
94
|
favorite={favorite}
|
|
95
|
+
groupFavoritesEnabled={groupFavoritesEnabled}
|
|
92
96
|
onServiceClick={onServiceClick}
|
|
93
97
|
/>
|
|
94
98
|
</Accordion.CollapseBlockTertiary>
|
|
@@ -104,6 +108,7 @@ export function SortableGroupDragPreview({
|
|
|
104
108
|
showDescription,
|
|
105
109
|
isMobile,
|
|
106
110
|
favorite,
|
|
111
|
+
groupFavoritesEnabled,
|
|
107
112
|
blockColor,
|
|
108
113
|
highlight,
|
|
109
114
|
}: Omit<SortableGroupProps, 'enableServiceDrag'>) {
|
|
@@ -128,6 +133,7 @@ export function SortableGroupDragPreview({
|
|
|
128
133
|
showDescription={showDescription}
|
|
129
134
|
isMobile={isMobile}
|
|
130
135
|
favorite={favorite}
|
|
136
|
+
groupFavoritesEnabled={groupFavoritesEnabled}
|
|
131
137
|
/>
|
|
132
138
|
)}
|
|
133
139
|
</div>
|
|
@@ -11,6 +11,7 @@ export type SortableGroupCardsProps = Pick<
|
|
|
11
11
|
groupId: string;
|
|
12
12
|
items: InnerLink[];
|
|
13
13
|
enableServiceDrag?: boolean;
|
|
14
|
+
groupFavoritesEnabled?: boolean;
|
|
14
15
|
};
|
|
15
16
|
|
|
16
17
|
export function SortableGroupCards({
|
|
@@ -20,6 +21,7 @@ export function SortableGroupCards({
|
|
|
20
21
|
isMobile,
|
|
21
22
|
enableServiceDrag,
|
|
22
23
|
favorite,
|
|
24
|
+
groupFavoritesEnabled,
|
|
23
25
|
onServiceClick,
|
|
24
26
|
}: SortableGroupCardsProps) {
|
|
25
27
|
return (
|
|
@@ -41,6 +43,7 @@ export function SortableGroupCards({
|
|
|
41
43
|
isMobile={isMobile}
|
|
42
44
|
dragDisabled={!enableServiceDrag}
|
|
43
45
|
favorite={favorite}
|
|
46
|
+
groupFavoritesEnabled={groupFavoritesEnabled}
|
|
44
47
|
onServiceClick={onServiceClick}
|
|
45
48
|
/>
|
|
46
49
|
);
|
|
@@ -14,6 +14,7 @@ export type SubCategoryProps = Pick<
|
|
|
14
14
|
> & {
|
|
15
15
|
groupId: string;
|
|
16
16
|
dragDisabled?: boolean;
|
|
17
|
+
groupFavoritesEnabled?: boolean;
|
|
17
18
|
};
|
|
18
19
|
|
|
19
20
|
export function SubCategory({
|
|
@@ -24,6 +25,7 @@ export function SubCategory({
|
|
|
24
25
|
dragDisabled,
|
|
25
26
|
favorite,
|
|
26
27
|
onServiceClick,
|
|
28
|
+
groupFavoritesEnabled,
|
|
27
29
|
}: SubCategoryProps) {
|
|
28
30
|
const subcategoryId = getSubCategoryId(groupId, service.id);
|
|
29
31
|
const nestedGroupId = getNestedServiceGroupId(groupId, service.id);
|
|
@@ -54,7 +56,7 @@ export function SubCategory({
|
|
|
54
56
|
showDescription={showDescription}
|
|
55
57
|
isMobile={isMobile}
|
|
56
58
|
dragDisabled={dragDisabled}
|
|
57
|
-
favorite={favorite}
|
|
59
|
+
favorite={groupFavoritesEnabled ? favorite : undefined}
|
|
58
60
|
onServiceClick={onServiceClick}
|
|
59
61
|
/>
|
|
60
62
|
}
|
|
@@ -31,13 +31,14 @@ export function ServiceCard({
|
|
|
31
31
|
expandable,
|
|
32
32
|
}: ServiceCardProps) {
|
|
33
33
|
const isInFavorites = favorite?.value.includes(service.id) ?? false;
|
|
34
|
+
const isFavoriteEnabled = service.favoritesEnabled ?? true;
|
|
34
35
|
|
|
35
36
|
const favoriteProps: CardServiceLightProps['favorite'] =
|
|
36
37
|
!dragPreview && favorite
|
|
37
38
|
? {
|
|
38
39
|
checked: isInFavorites,
|
|
39
40
|
onChange: favorite.onChange(service.id),
|
|
40
|
-
enabled: !service.disabled,
|
|
41
|
+
enabled: !service.disabled && isFavoriteEnabled,
|
|
41
42
|
}
|
|
42
43
|
: undefined;
|
|
43
44
|
|
|
@@ -83,7 +84,8 @@ export function DraggableServiceCard({
|
|
|
83
84
|
dragDisabled,
|
|
84
85
|
...props
|
|
85
86
|
}: DraggableServiceCardProps) {
|
|
86
|
-
const
|
|
87
|
+
const isFavoriteEnabled = service.favoritesEnabled ?? true;
|
|
88
|
+
const disabled = dragDisabled || service.disabled || favorite?.value.includes(service.id) || !isFavoriteEnabled;
|
|
87
89
|
|
|
88
90
|
const { attributes, listeners, setNodeRef, isDragging } = useDraggable({
|
|
89
91
|
id: getServiceSourceDragId(groupId, service.id),
|
|
@@ -36,6 +36,8 @@ export type InnerLink = {
|
|
|
36
36
|
disabled?: boolean;
|
|
37
37
|
hidden?: boolean;
|
|
38
38
|
badge?: CardServiceLightProps['promoTag'];
|
|
39
|
+
/** Разрешено ли добавление карточки в избранное. default=true - разрешено */
|
|
40
|
+
favoritesEnabled?: boolean;
|
|
39
41
|
/**
|
|
40
42
|
* Вложенные сервисы подкатегории.
|
|
41
43
|
*
|