mimir-ui-kit 1.60.3 → 1.61.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.
@@ -1 +1 @@
1
- ._wrapper_l1onk_2{position:relative;display:inline-block}._container_l1onk_7{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:var(--mimir-space-xs);cursor:pointer}._container_l1onk_7._disabled_l1onk_14{cursor:not-allowed;opacity:.5}._container_l1onk_7._hovered_l1onk_18:not(._disabled_l1onk_14){cursor:pointer}._text_l1onk_22{-webkit-transition:color .2s ease;transition:color .2s ease}._text_l1onk_22._pressed_l1onk_25{color:var(--citrine-100)}._icon_l1onk_29{-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease;-ms-flex-negative:0;flex-shrink:0;opacity:0;-webkit-transform:translateX(-4px);transform:translate(-4px)}._icon_l1onk_29 path,._icon_l1onk_29 svg{-webkit-transition:fill .2s ease;transition:fill .2s ease}._icon_l1onk_29._visible_l1onk_39{opacity:1;-webkit-transform:translateX(0);transform:translate(0)}._icon_l1onk_29._pressed_l1onk_25 path,._icon_l1onk_29._pressed_l1onk_25 svg{fill:var(--citrine-100)}._toast_l1onk_48{position:absolute;top:100%;left:calc(-1 * var(--mimir-space-xxl));border-radius:var(--mimir-control-radius);padding:var(--mimir-space-m);width:286px;height:52px;-webkit-box-shadow:0 0 0 0 rgba(22,23,39,.02),0 2px 4px 0 rgba(22,23,39,.02);box-shadow:0 0 #16172705,0 2px 4px #16172705;background:var(--white);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;font-size:var(--mimir-size-text-l);line-height:var(--mimir-line-height-text-s1);z-index:1000;-webkit-animation:_slide-in_l1onk_1 .2s ease-out;animation:_slide-in_l1onk_1 .2s ease-out}._toast_l1onk_48._fadeOut_l1onk_65{-webkit-animation:_slide-out_l1onk_1 .2s ease-out forwards;animation:_slide-out_l1onk_1 .2s ease-out forwards}@-webkit-keyframes _slide-in_l1onk_1{0%{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes _slide-in_l1onk_1{0%{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes _slide-out_l1onk_1{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}}@keyframes _slide-out_l1onk_1{0%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}to{opacity:0;-webkit-transform:translateY(-8px);transform:translateY(-8px)}}
1
+ ._wrapper_1t6ix_2{position:relative;display:inline-block}._container_1t6ix_7{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:var(--mimir-space-xs);-webkit-box-align:center;-ms-flex-align:center;align-items:center;cursor:pointer}._container_1t6ix_7._disabled_1t6ix_14{cursor:not-allowed;opacity:.5;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}._container_1t6ix_7._hovered_1t6ix_19:not(._disabled_1t6ix_14){cursor:pointer}._text_1t6ix_23{-webkit-transition:color .2s ease;transition:color .2s ease}._text_1t6ix_23._pressed_1t6ix_26{color:var(--citrine-100)}._icon_1t6ix_30{-ms-flex-negative:0;flex-shrink:0;-webkit-transform:translateX(-4px);transform:translate(-4px);opacity:0;-webkit-transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,-webkit-transform .2s ease;transition:opacity .2s ease,transform .2s ease;transition:opacity .2s ease,transform .2s ease,-webkit-transform .2s ease}._icon_1t6ix_30 path,._icon_1t6ix_30 svg{-webkit-transition:fill .2s ease;transition:fill .2s ease}._icon_1t6ix_30._visible_1t6ix_40{-webkit-transform:translateX(0);transform:translate(0);opacity:1}._icon_1t6ix_30._pressed_1t6ix_26 path,._icon_1t6ix_30._pressed_1t6ix_26 svg{fill:var(--citrine-100)}._toast_1t6ix_49{position:absolute;top:100%;left:calc(-1 * var(--mimir-space-xxl));z-index:1000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:286px;height:52px;padding:var(--mimir-space-m);font-size:var(--mimir-size-text-l);line-height:var(--mimir-line-height-text-s1);background:var(--white);border-radius:var(--mimir-control-radius);-webkit-box-shadow:0 0 0 0 rgba(22,23,39,.02),0 2px 4px 0 rgba(22,23,39,.02);box-shadow:0 0 #16172705,0 2px 4px #16172705;-webkit-animation:_slide-in_1t6ix_1 .2s ease-out;animation:_slide-in_1t6ix_1 .2s ease-out}._toast_1t6ix_49._fadeOut_1t6ix_66{-webkit-animation:_slide-out_1t6ix_1 .2s ease-out forwards;animation:_slide-out_1t6ix_1 .2s ease-out forwards}@-webkit-keyframes _slide-in_1t6ix_1{0%{-webkit-transform:translateY(-8px);transform:translateY(-8px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@keyframes _slide-in_1t6ix_1{0%{-webkit-transform:translateY(-8px);transform:translateY(-8px);opacity:0}to{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}}@-webkit-keyframes _slide-out_1t6ix_1{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(-8px);transform:translateY(-8px);opacity:0}}@keyframes _slide-out_1t6ix_1{0%{-webkit-transform:translateY(0);transform:translateY(0);opacity:1}to{-webkit-transform:translateY(-8px);transform:translateY(-8px);opacity:0}}
@@ -1,96 +1,98 @@
1
- import { jsxs as x, jsx as d } from "react/jsx-runtime";
2
- import { c as r } from "../../index-DIxK0V-G.js";
3
- import { forwardRef as P, useState as i, useCallback as t } from "react";
4
- import { Icon as U } from "../../icons/Icon.js";
5
- import '../../assets/CopyText.css';const j = "_wrapper_l1onk_2", E = "_container_l1onk_7", H = "_disabled_l1onk_14", L = "_hovered_l1onk_18", R = "_text_l1onk_22", q = "_pressed_l1onk_25", z = "_icon_l1onk_29", B = "_visible_l1onk_39", G = "_toast_l1onk_48", J = "_fadeOut_l1onk_65", e = {
6
- wrapper: j,
7
- container: E,
8
- disabled: H,
9
- hovered: L,
10
- text: R,
11
- pressed: q,
12
- icon: z,
13
- visible: B,
14
- toast: G,
15
- "slide-in": "_slide-in_l1onk_1",
16
- fadeOut: J,
17
- "slide-out": "_slide-out_l1onk_1"
18
- }, N = 200, K = P(
1
+ import { jsxs as v, jsx as l } from "react/jsx-runtime";
2
+ import { c as n } from "../../index-DIxK0V-G.js";
3
+ import { forwardRef as E, useState as r, useCallback as a } from "react";
4
+ import { Icon as H } from "../../icons/Icon.js";
5
+ import '../../assets/CopyText.css';const L = "_wrapper_1t6ix_2", R = "_container_1t6ix_7", k = "_disabled_1t6ix_14", B = "_hovered_1t6ix_19", q = "_text_1t6ix_23", z = "_pressed_1t6ix_26", G = "_icon_1t6ix_30", J = "_visible_1t6ix_40", K = "_toast_1t6ix_49", Q = "_fadeOut_1t6ix_66", e = {
6
+ wrapper: L,
7
+ container: R,
8
+ disabled: k,
9
+ hovered: B,
10
+ text: q,
11
+ pressed: z,
12
+ icon: G,
13
+ visible: J,
14
+ toast: K,
15
+ "slide-in": "_slide-in_1t6ix_1",
16
+ fadeOut: Q,
17
+ "slide-out": "_slide-out_1t6ix_1"
18
+ }, N = 200, V = E(
19
19
  (T, b) => {
20
20
  const {
21
- text: a,
22
- className: k,
23
- onCopy: n,
21
+ text: s,
22
+ className: w,
23
+ onCopy: i,
24
24
  showToast: _ = !0,
25
25
  toastDuration: p = 2e3,
26
- toastText: w = "Скопировано в буфер обмена",
27
- disabled: s = !1,
28
- ...M
29
- } = T, [u, f] = i(!1), [o, m] = i(!1), [y, h] = i(!1), [C, l] = i(!1), v = t(async () => {
30
- if (!s)
26
+ toastText: M = "Скопировано в буфер обмена",
27
+ disabled: t = !1,
28
+ showCopyButton: y = !1,
29
+ defaultText: C,
30
+ ...O
31
+ } = T, [u, x] = r(y), [o, f] = r(!1), [I, m] = r(!1), [D, c] = r(!1), h = a(async () => {
32
+ if (!t)
31
33
  try {
32
- if (await navigator.clipboard.writeText(a), _) {
33
- h(!0), l(!1);
34
- const c = Math.max(
34
+ if (await navigator.clipboard.writeText(s), _) {
35
+ m(!0), c(!1);
36
+ const d = Math.max(
35
37
  p - N,
36
38
  0
37
39
  );
38
40
  setTimeout(() => {
39
- l(!0), setTimeout(() => {
40
- h(!1), l(!1);
41
+ c(!0), setTimeout(() => {
42
+ m(!1), c(!1);
41
43
  }, N);
42
- }, c);
44
+ }, d);
43
45
  }
44
- n == null || n(a);
45
- } catch (c) {
46
- console.error("Failed to copy text:", c);
46
+ i == null || i(s);
47
+ } catch (d) {
48
+ console.error("Failed to copy text:", d);
47
49
  }
48
- }, [a, n, _, p, s]), O = t(() => {
49
- s || f(!0);
50
- }, [s]), I = t(() => {
51
- f(!1);
52
- }, []), D = t(() => {
53
- s || m(!0);
54
- }, [s]), S = t(() => {
55
- !s && o && (m(!1), v());
56
- }, [s, o, v]), g = r(e.container, k, {
57
- [e.disabled]: s,
50
+ }, [s, i, _, p, t]), S = a(() => {
51
+ t || x(!0);
52
+ }, [t]), g = a(() => {
53
+ x(!1);
54
+ }, []), A = a(() => {
55
+ !t && s && f(!0);
56
+ }, [t, s]), F = a(() => {
57
+ s && !t && o && (f(!1), h());
58
+ }, [t, o, s, h]), P = n(e.container, w, {
59
+ [e.disabled]: t,
58
60
  [e.hovered]: u,
59
61
  [e.pressed]: o
60
- }), A = r(e.text, {
62
+ }), U = n(e.text, {
61
63
  [e.pressed]: o
62
- }), F = r(e.icon, {
64
+ }), j = n(e.icon, {
63
65
  [e.pressed]: o,
64
66
  [e.visible]: u
65
67
  });
66
- return /* @__PURE__ */ x("div", { ref: b, className: e.wrapper, ...M, children: [
67
- /* @__PURE__ */ x(
68
+ return /* @__PURE__ */ v("div", { ref: b, className: e.wrapper, ...O, children: [
69
+ /* @__PURE__ */ v(
68
70
  "div",
69
71
  {
70
- className: g,
71
- onMouseEnter: O,
72
- onMouseLeave: I,
73
- onMouseDown: D,
74
- onMouseUp: S,
72
+ className: P,
73
+ onMouseEnter: S,
74
+ onMouseLeave: g,
75
+ onMouseDown: A,
76
+ onMouseUp: F,
75
77
  children: [
76
- /* @__PURE__ */ d("span", { className: A, children: a }),
77
- /* @__PURE__ */ d(U, { iconName: "CopyClipboard16px", className: F })
78
+ /* @__PURE__ */ l("span", { className: U, children: s || C }),
79
+ s && /* @__PURE__ */ l(H, { iconName: "CopyClipboard16px", className: j })
78
80
  ]
79
81
  }
80
82
  ),
81
- y && /* @__PURE__ */ d(
83
+ I && /* @__PURE__ */ l(
82
84
  "div",
83
85
  {
84
- className: r(e.toast, {
85
- [e.fadeOut]: C
86
+ className: n(e.toast, {
87
+ [e.fadeOut]: D
86
88
  }),
87
- children: w
89
+ children: M
88
90
  }
89
91
  )
90
92
  ] });
91
93
  }
92
94
  );
93
- K.displayName = "CopyText";
95
+ V.displayName = "CopyText";
94
96
  export {
95
- K as CopyText
97
+ V as CopyText
96
98
  };
@@ -5,6 +5,14 @@ export type TProps = ComponentProps<'div'> & {
5
5
  * Текст для копирования
6
6
  */
7
7
  text: string;
8
+ /**
9
+ * Текст, если props text пустой или undefined
10
+ */
11
+ defaultText?: string;
12
+ /**
13
+ * Флаг, отвечающий за показ кнопки "Скопировать"
14
+ */
15
+ showCopyButton?: boolean;
8
16
  /**
9
17
  * Класс, применяемый к корневому элементу
10
18
  */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mimir-ui-kit",
3
3
  "private": false,
4
- "version": "1.60.3",
4
+ "version": "1.61.0",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {