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-trail_13qtm_3{display:flex;flex-direction:column}._card-trail-header_13qtm_7{display:flex;align-items:flex-end;justify-content:space-between}._card-trail-header_13qtm_7:not(:last-child){margin-bottom:var(--mimir-space-xs)}._card-trail-header-title_13qtm_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_13qtm_15{font-size:var(--mimir-size-text-m);letter-spacing:calc(var(--mimir-size-text-m) * -.02)}}._card-trail-list_13qtm_28{display:flex;padding:0;overflow:auto;white-space:nowrap;scroll-behavior:smooth;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}._card-trail-list_13qtm_28::-webkit-scrollbar{display:none}._card-trail-list-item_13qtm_40{scroll-snap-align:start;white-space:normal;white-space:initial}._card-trail-list-item_13qtm_40._pointer_13qtm_44{cursor:pointer}
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 o } from "react/jsx-runtime";
2
- import { c as n } from "../../index-DIxK0V-G.js";
3
- import { forwardRef as W, useRef as D, useState as _, useEffect as I, Children as M } from "react";
4
- import { DEFAULT_SPACE_BETWEEN as x, DEFAULT_SCROLL_STEP as H } from "./constants.js";
5
- import { hasHorizontalScroll as p, isScrollAtEdge as B } from "./utils.js";
6
- import { useMergeRefs as R } from "../../hooks/useMergeRefs/useMergeRefs.js";
7
- import { useThrottledCallback as j } from "../../hooks/useThrottledCallback/index.js";
8
- import { MergedButton as F } from "../MergedButton/MergedButton.js";
9
- import '../../assets/CardTrail.css';const U = "_pointer_13qtm_44", c = {
10
- "card-trail": "_card-trail_13qtm_3",
11
- "card-trail-header": "_card-trail-header_13qtm_7",
12
- "card-trail-header-title": "_card-trail-header-title_13qtm_15",
13
- "card-trail-list": "_card-trail-list_13qtm_28",
14
- "card-trail-list-item": "_card-trail-list-item_13qtm_40",
15
- pointer: U
16
- }, X = W((C, S) => {
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: g,
19
+ cardClassName: k,
19
20
  cardTrailClassName: N,
20
- cardTrailHeaderClassName: E,
21
- cardTrailListClassName: b,
21
+ cardTrailHeaderClassName: b,
22
+ cardTrailListClassName: S,
23
+ cardTrailMergedButtonClassName: E,
22
24
  children: d,
23
- title: h,
24
- spaceBetween: s = x,
25
- scrollStep: m = H,
26
- mergedButtonProps: l,
25
+ title: m,
26
+ spaceBetween: s = R,
27
+ scrollStep: h = j,
28
+ mergedButtonProps: c,
27
29
  scrollToCard: u = !1
28
- } = C, t = D(null), [i, T] = _({
30
+ } = g, t = I(null), [o, T] = p({
29
31
  leftButton: !0,
30
32
  rightButton: !1
31
- }), [k, L] = _(
32
- () => p(t == null ? void 0 : t.current)
33
- ), q = R(t, S), v = j(() => {
34
- const e = !B(t.current, "left"), r = !B(t.current, "right");
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), y = (e) => () => {
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
- }, A = () => {
53
+ }, w = () => {
52
54
  var a;
53
- if (!t.current || i.leftButton) return;
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) * m,
58
+ left: -(r + s) * h,
57
59
  behavior: "smooth"
58
60
  });
59
- }, w = () => {
61
+ }, M = () => {
60
62
  var a;
61
- if (!t.current || i.rightButton) return;
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) * m,
66
+ left: (r + s) * h,
65
67
  behavior: "smooth"
66
68
  });
67
69
  };
68
- return I(() => {
69
- L(p(t == null ? void 0 : t.current));
70
- }, [d]), /* @__PURE__ */ f("section", { className: n(c["card-trail"], N), children: [
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: n(
75
- c["card-trail-header"],
76
- E
76
+ className: i(
77
+ l["card-trail-header"],
78
+ b
77
79
  ),
78
80
  children: [
79
- h && /* @__PURE__ */ o("h3", { className: c["card-trail-header-title"], children: h }),
80
- k && /* @__PURE__ */ o(
81
- F,
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: A,
89
- disabled: i.leftButton,
90
- ...l == null ? void 0 : l.leftButton
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: w,
97
- disabled: i.rightButton,
98
- ...l == null ? void 0 : l.rightButton
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__ */ o(
112
+ /* @__PURE__ */ n(
107
113
  "ul",
108
114
  {
109
- onScroll: v,
115
+ onScroll: A,
110
116
  style: { gap: s },
111
- className: n(c["card-trail-list"], b),
112
- ref: q,
113
- children: M.map(d, (e, r) => /* @__PURE__ */ o(
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: y(r),
122
+ onClick: W(r),
117
123
  "data-active-card": r,
118
124
  "data-testid": `card-trail-item-${r}`,
119
- className: n(
120
- c["card-trail-list-item"],
121
- { [c.pointer]: u },
122
- g
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
- X as CardTrail
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 _ } from "../../index-DIxK0V-G.js";
3
- import { memo as l } from "react";
4
- import { EMergedButtonVariantRound as u } from "./constants.js";
5
- import { Button as g } from "../Button/Button.js";
6
- import '../../assets/MergedButton.css';const p = "_buttons_l320r_2", d = "_gray_l320r_28", B = "_white_l320r_36", I = "_transparent_l320r_44", o = {
7
- buttons: p,
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: d,
10
- white: B,
11
- transparent: I,
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
- }, f = l(({ buttons: r }) => /* @__PURE__ */ e("div", { className: o.buttons, children: r.map(
15
- ({
16
- variant: s = u.White,
17
- disabled: n,
18
- className: c,
19
- ...t
20
- }, i) => {
21
- const a = {
22
- ...t,
23
- isIconButton: t.isIconButton ?? !1,
24
- iconName: t.isIconButton ? t.iconName : void 0,
25
- leftIcon: t.isIconButton ? void 0 : t.leftIcon,
26
- rightIcon: t.isIconButton ? void 0 : t.rightIcon
27
- }, m = _(o["merged-button"], c, {
28
- [o[s]]: !n,
29
- [o.disabled]: n,
30
- [o["is-icon"]]: t.isIconButton,
31
- [o["one-button"]]: r.length === 1
32
- });
33
- return /* @__PURE__ */ e(
34
- g,
35
- {
36
- clear: !0,
37
- disabled: n,
38
- className: m,
39
- ...a
40
- },
41
- i
42
- );
43
- }
44
- ) }));
45
- f.displayName = "MergedButton";
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
- f as MergedButton
49
+ h as MergedButton
48
50
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mimir-ui-kit",
3
3
  "private": false,
4
- "version": "1.41.0",
4
+ "version": "1.41.1",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {