mimir-ui-kit 1.41.0 → 1.41.1
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.
@@ -1 +1 @@
|
|
1
|
-
._card-
|
1
|
+
._card-trail_pmokd_3{display:flex;flex-direction:column}._card-trail-header_pmokd_7{display:flex;align-items:flex-end;justify-content:space-between}._card-trail-header_pmokd_7:not(:last-child){margin-bottom:var(--mimir-space-xs)}._card-trail-header-title_pmokd_15{font-weight:var(--mimir-font-weight-text-medium);font-size:var(--mimir-size-text-l);font-family:var(--mimir-font-montserrat);line-height:var(--mimir-line-height-text-s1);letter-spacing:calc(var(--mimir-size-text-l) * -.02)}@media (max-width: 600px){._card-trail-header-title_pmokd_15{font-size:var(--mimir-size-text-m);letter-spacing:calc(var(--mimir-size-text-m) * -.02)}}._card-trail-header-merged-button_pmokd_28{margin-left:auto}._card-trail-list_pmokd_31{display:flex;padding:0;overflow:auto;white-space:nowrap;scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}._card-trail-list_pmokd_31::-webkit-scrollbar{display:none}._card-trail-list-item_pmokd_43{scroll-snap-align:start;white-space:normal;white-space:initial}._card-trail-list-item_pmokd_43._pointer_pmokd_47{cursor:pointer}
|
@@ -36,6 +36,10 @@ export type TProps = {
|
|
36
36
|
* Класс, применяемый к списку карточек (ul).
|
37
37
|
*/
|
38
38
|
cardTrailListClassName?: string;
|
39
|
+
/**
|
40
|
+
* Класс, применяемый к кнопкам переключения (MergedButton).
|
41
|
+
*/
|
42
|
+
cardTrailMergedButtonClassName?: string;
|
39
43
|
/**
|
40
44
|
* Класс, применяемый к карточке.
|
41
45
|
*/
|
@@ -1,42 +1,44 @@
|
|
1
|
-
import { jsxs as f, jsx as
|
2
|
-
import { c as
|
3
|
-
import { forwardRef as
|
4
|
-
import { DEFAULT_SPACE_BETWEEN as
|
5
|
-
import { hasHorizontalScroll as
|
6
|
-
import { useMergeRefs as
|
7
|
-
import { useThrottledCallback as
|
8
|
-
import { MergedButton as
|
9
|
-
import '../../assets/CardTrail.css';const
|
10
|
-
"card-trail": "_card-
|
11
|
-
"card-trail-header": "_card-trail-
|
12
|
-
"card-trail-header-title": "_card-trail-header-
|
13
|
-
"card-trail-
|
14
|
-
"card-trail-list
|
15
|
-
|
16
|
-
|
1
|
+
import { jsxs as f, jsx as n } from "react/jsx-runtime";
|
2
|
+
import { c as i } from "../../index-DIxK0V-G.js";
|
3
|
+
import { forwardRef as D, useRef as I, useState as p, useEffect as x, Children as H } from "react";
|
4
|
+
import { DEFAULT_SPACE_BETWEEN as R, DEFAULT_SCROLL_STEP as j } from "./constants.js";
|
5
|
+
import { hasHorizontalScroll as _, isScrollAtEdge as C } from "./utils.js";
|
6
|
+
import { useMergeRefs as F } from "../../hooks/useMergeRefs/useMergeRefs.js";
|
7
|
+
import { useThrottledCallback as U } from "../../hooks/useThrottledCallback/index.js";
|
8
|
+
import { MergedButton as $ } from "../MergedButton/MergedButton.js";
|
9
|
+
import '../../assets/CardTrail.css';const q = "_pointer_pmokd_47", l = {
|
10
|
+
"card-trail": "_card-trail_pmokd_3",
|
11
|
+
"card-trail-header": "_card-trail-header_pmokd_7",
|
12
|
+
"card-trail-header-title": "_card-trail-header-title_pmokd_15",
|
13
|
+
"card-trail-header-merged-button": "_card-trail-header-merged-button_pmokd_28",
|
14
|
+
"card-trail-list": "_card-trail-list_pmokd_31",
|
15
|
+
"card-trail-list-item": "_card-trail-list-item_pmokd_43",
|
16
|
+
pointer: q
|
17
|
+
}, Y = D((g, B) => {
|
17
18
|
const {
|
18
|
-
cardClassName:
|
19
|
+
cardClassName: k,
|
19
20
|
cardTrailClassName: N,
|
20
|
-
cardTrailHeaderClassName:
|
21
|
-
cardTrailListClassName:
|
21
|
+
cardTrailHeaderClassName: b,
|
22
|
+
cardTrailListClassName: S,
|
23
|
+
cardTrailMergedButtonClassName: E,
|
22
24
|
children: d,
|
23
|
-
title:
|
24
|
-
spaceBetween: s =
|
25
|
-
scrollStep:
|
26
|
-
mergedButtonProps:
|
25
|
+
title: m,
|
26
|
+
spaceBetween: s = R,
|
27
|
+
scrollStep: h = j,
|
28
|
+
mergedButtonProps: c,
|
27
29
|
scrollToCard: u = !1
|
28
|
-
} =
|
30
|
+
} = g, t = I(null), [o, T] = p({
|
29
31
|
leftButton: !0,
|
30
32
|
rightButton: !1
|
31
|
-
}), [
|
32
|
-
() =>
|
33
|
-
),
|
34
|
-
const e = !
|
33
|
+
}), [L, v] = p(
|
34
|
+
() => _(t == null ? void 0 : t.current)
|
35
|
+
), y = F(t, B), A = U(() => {
|
36
|
+
const e = !C(t.current, "left"), r = !C(t.current, "right");
|
35
37
|
T({
|
36
38
|
leftButton: !e,
|
37
39
|
rightButton: !r
|
38
40
|
});
|
39
|
-
}, 300),
|
41
|
+
}, 300), W = (e) => () => {
|
40
42
|
var a;
|
41
43
|
if (!u)
|
42
44
|
return;
|
@@ -48,54 +50,58 @@ import '../../assets/CardTrail.css';const U = "_pointer_13qtm_44", c = {
|
|
48
50
|
block: "nearest",
|
49
51
|
inline: "center"
|
50
52
|
}));
|
51
|
-
},
|
53
|
+
}, w = () => {
|
52
54
|
var a;
|
53
|
-
if (!t.current ||
|
55
|
+
if (!t.current || o.leftButton) return;
|
54
56
|
const e = t.current, r = ((a = e.children[0]) == null ? void 0 : a.clientWidth) ?? 0;
|
55
57
|
e.scrollBy({
|
56
|
-
left: -(r + s) *
|
58
|
+
left: -(r + s) * h,
|
57
59
|
behavior: "smooth"
|
58
60
|
});
|
59
|
-
},
|
61
|
+
}, M = () => {
|
60
62
|
var a;
|
61
|
-
if (!t.current ||
|
63
|
+
if (!t.current || o.rightButton) return;
|
62
64
|
const e = t.current, r = ((a = e.children[0]) == null ? void 0 : a.clientWidth) ?? 0;
|
63
65
|
e.scrollBy({
|
64
|
-
left: (r + s) *
|
66
|
+
left: (r + s) * h,
|
65
67
|
behavior: "smooth"
|
66
68
|
});
|
67
69
|
};
|
68
|
-
return
|
69
|
-
|
70
|
-
}, [d]), /* @__PURE__ */ f("section", { className:
|
70
|
+
return x(() => {
|
71
|
+
v(_(t == null ? void 0 : t.current));
|
72
|
+
}, [d]), /* @__PURE__ */ f("section", { className: i(l["card-trail"], N), children: [
|
71
73
|
/* @__PURE__ */ f(
|
72
74
|
"header",
|
73
75
|
{
|
74
|
-
className:
|
75
|
-
|
76
|
-
|
76
|
+
className: i(
|
77
|
+
l["card-trail-header"],
|
78
|
+
b
|
77
79
|
),
|
78
80
|
children: [
|
79
|
-
|
80
|
-
|
81
|
-
|
81
|
+
m && /* @__PURE__ */ n("h3", { className: l["card-trail-header-title"], children: m }),
|
82
|
+
L && /* @__PURE__ */ n(
|
83
|
+
$,
|
82
84
|
{
|
85
|
+
buttonsWrapperClassName: i(
|
86
|
+
l["card-trail-header-merged-button"],
|
87
|
+
E
|
88
|
+
),
|
83
89
|
buttons: [
|
84
90
|
{
|
85
91
|
isIconButton: !0,
|
86
92
|
iconName: "ArrowLeft16px",
|
87
93
|
variant: "gray",
|
88
|
-
onClick:
|
89
|
-
disabled:
|
90
|
-
...
|
94
|
+
onClick: w,
|
95
|
+
disabled: o.leftButton,
|
96
|
+
...c == null ? void 0 : c.leftButton
|
91
97
|
},
|
92
98
|
{
|
93
99
|
isIconButton: !0,
|
94
100
|
iconName: "ArrowRight16px",
|
95
101
|
variant: "gray",
|
96
|
-
onClick:
|
97
|
-
disabled:
|
98
|
-
...
|
102
|
+
onClick: M,
|
103
|
+
disabled: o.rightButton,
|
104
|
+
...c == null ? void 0 : c.rightButton
|
99
105
|
}
|
100
106
|
]
|
101
107
|
}
|
@@ -103,23 +109,23 @@ import '../../assets/CardTrail.css';const U = "_pointer_13qtm_44", c = {
|
|
103
109
|
]
|
104
110
|
}
|
105
111
|
),
|
106
|
-
/* @__PURE__ */
|
112
|
+
/* @__PURE__ */ n(
|
107
113
|
"ul",
|
108
114
|
{
|
109
|
-
onScroll:
|
115
|
+
onScroll: A,
|
110
116
|
style: { gap: s },
|
111
|
-
className:
|
112
|
-
ref:
|
113
|
-
children:
|
117
|
+
className: i(l["card-trail-list"], S),
|
118
|
+
ref: y,
|
119
|
+
children: H.map(d, (e, r) => /* @__PURE__ */ n(
|
114
120
|
"li",
|
115
121
|
{
|
116
|
-
onClick:
|
122
|
+
onClick: W(r),
|
117
123
|
"data-active-card": r,
|
118
124
|
"data-testid": `card-trail-item-${r}`,
|
119
|
-
className:
|
120
|
-
|
121
|
-
{ [
|
122
|
-
|
125
|
+
className: i(
|
126
|
+
l["card-trail-list-item"],
|
127
|
+
{ [l.pointer]: u },
|
128
|
+
k
|
123
129
|
),
|
124
130
|
children: e
|
125
131
|
}
|
@@ -129,5 +135,5 @@ import '../../assets/CardTrail.css';const U = "_pointer_13qtm_44", c = {
|
|
129
135
|
] });
|
130
136
|
});
|
131
137
|
export {
|
132
|
-
|
138
|
+
Y as CardTrail
|
133
139
|
};
|
@@ -10,9 +10,13 @@ type TProps = {
|
|
10
10
|
* Массив кнопок, который отрисуется в контейнере
|
11
11
|
* */
|
12
12
|
buttons: TButtonPropsWithoutStyles[];
|
13
|
+
/**
|
14
|
+
* Класс, применяемый к списку карточек (ul).
|
15
|
+
*/
|
16
|
+
buttonsWrapperClassName?: string;
|
13
17
|
};
|
14
18
|
/**
|
15
19
|
* Компонент объединенных кнопок, с округлением у первой и последней кнопки, а так же с другими variant, нежели у обычного Button.
|
16
20
|
*/
|
17
|
-
export declare const MergedButton: import('react').MemoExoticComponent<({ buttons }: TProps) => import("react/jsx-runtime").JSX.Element>;
|
21
|
+
export declare const MergedButton: import('react').MemoExoticComponent<({ buttons, buttonsWrapperClassName }: TProps) => import("react/jsx-runtime").JSX.Element>;
|
18
22
|
export {};
|
@@ -1,48 +1,50 @@
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
2
|
-
import { c as
|
3
|
-
import { memo as
|
4
|
-
import { EMergedButtonVariantRound as
|
5
|
-
import { Button as
|
6
|
-
import '../../assets/MergedButton.css';const
|
7
|
-
buttons:
|
2
|
+
import { c as s } from "../../index-DIxK0V-G.js";
|
3
|
+
import { memo as u } from "react";
|
4
|
+
import { EMergedButtonVariantRound as g } from "./constants.js";
|
5
|
+
import { Button as p } from "../Button/Button.js";
|
6
|
+
import '../../assets/MergedButton.css';const d = "_buttons_l320r_2", B = "_gray_l320r_28", I = "_white_l320r_36", f = "_transparent_l320r_44", o = {
|
7
|
+
buttons: d,
|
8
8
|
"merged-button": "_merged-button_l320r_6",
|
9
|
-
gray:
|
10
|
-
white:
|
11
|
-
transparent:
|
9
|
+
gray: B,
|
10
|
+
white: I,
|
11
|
+
transparent: f,
|
12
12
|
"is-icon": "_is-icon_l320r_53",
|
13
13
|
"one-button": "_one-button_l320r_57"
|
14
|
-
},
|
15
|
-
({
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
14
|
+
}, h = u(
|
15
|
+
({ buttons: r, buttonsWrapperClassName: c }) => /* @__PURE__ */ e("div", { className: s(o.buttons, c), children: r.map(
|
16
|
+
({
|
17
|
+
variant: i = g.White,
|
18
|
+
disabled: n,
|
19
|
+
className: a,
|
20
|
+
...t
|
21
|
+
}, m) => {
|
22
|
+
const _ = {
|
23
|
+
...t,
|
24
|
+
isIconButton: t.isIconButton ?? !1,
|
25
|
+
iconName: t.isIconButton ? t.iconName : void 0,
|
26
|
+
leftIcon: t.isIconButton ? void 0 : t.leftIcon,
|
27
|
+
rightIcon: t.isIconButton ? void 0 : t.rightIcon
|
28
|
+
}, l = s(o["merged-button"], a, {
|
29
|
+
[o[i]]: !n,
|
30
|
+
[o.disabled]: n,
|
31
|
+
[o["is-icon"]]: t.isIconButton,
|
32
|
+
[o["one-button"]]: r.length === 1
|
33
|
+
});
|
34
|
+
return /* @__PURE__ */ e(
|
35
|
+
p,
|
36
|
+
{
|
37
|
+
clear: !0,
|
38
|
+
disabled: n,
|
39
|
+
className: l,
|
40
|
+
..._
|
41
|
+
},
|
42
|
+
m
|
43
|
+
);
|
44
|
+
}
|
45
|
+
) })
|
46
|
+
);
|
47
|
+
h.displayName = "MergedButton";
|
46
48
|
export {
|
47
|
-
|
49
|
+
h as MergedButton
|
48
50
|
};
|