mimir-ui-kit 1.48.3 → 1.49.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
- ._gos-znak_dr109_2{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:var(--gos-znak-width);height:var(--gos-znak-height);overflow:hidden;background-color:var(--gos-znak-background-color);border-radius:var(--mimir-control-radius-xs1);outline:1px solid var(--gos-znak-outline-color)}._number_dr109_13{font-weight:var(--mimir-font-weight-text-medium);font-size:var(--gos-znak-number-font-size);font-family:var(--mimir-font-montserrat);line-height:var(--mimir-line-height-text-xss);letter-spacing:-.02em;text-align:center;text-transform:lowercase}._number-container_dr109_22{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:var(--gos-znak-number-container-width);height:100%;overflow:hidden;border-right:1px solid var(--number-border-right-color)}._region_dr109_32{font-weight:var(--mimir-font-weight-text-regular);font-size:var(--gos-znak-region-text-size);font-family:var(--mimir-font-inter);line-height:var(--mimir-line-height-text-l)}._region-container_dr109_38{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;overflow:hidden}._country_dr109_46{color:var(--gos-znak-country-color);font-size:var(--gos-znak-country-text-size);line-height:var(--mimir-line-height-text-s1);text-transform:uppercase}._l_dr109_53{--gos-znak-number-font-size: var(--mimir-size-text-xl3);--gos-znak-region-text-size: var(--mimir-size-text-xl);--gos-znak-country-text-size: var(--mimir-size-text-l);--gos-znak-number-container-width: 172px;--gos-znak-width: 242px;--gos-znak-height: 64px}._s_dr109_62{--gos-znak-number-font-size: var(--mimir-size-text-l);--gos-znak-region-text-size: var(--mimir-size-text-xs);--gos-znak-country-text-size: var(--mimir-size-text-xs2);--gos-znak-number-container-width: 86px;--gos-znak-width: 121px;--gos-znak-height: 32px}._normal_dr109_71{--gos-znak-background-color: var(--white);--gos-znak-outline-color: var(--black-20);--number-border-right-color: var(--black-20);--gos-znak-country-color: var(--black-60)}._traffic_dr109_78{--gos-znak-background-color: var(--gos-znak-traffic-background-color);--gos-znak-outline-color: var(--gos-znak-military-background-color);--number-border-right-color: var(--gos-znak-military-background-color);--gos-znak-country-color: var(--black-60)}._military_dr109_85{--gos-znak-background-color: var(--gos-znak-military-background-color);--gos-znak-outline-color: var(--black-5);--number-border-right-color: var(--black-5);--gos-znak-country-color: var(--black-30)}._police_dr109_92{--gos-znak-background-color: var(--gos-znak-police-background-color);--gos-znak-outline-color: var(--black-5);--number-border-right-color: var(--black-5);--gos-znak-country-color: var(--sapphire-30)}._diplomatic_dr109_99{--gos-znak-background-color: var(--gos-znak-diplomatic-background-color);--gos-znak-outline-color: var(--black-5);--number-border-right-color: var(--black-5);--gos-znak-country-color: var(--gos-znak-diplomatic-country-color)}._military_dr109_85,._police_dr109_92,._diplomatic_dr109_99{color:var(--white)}
1
+ ._gos-znak_1nnii_2{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:var(--gos-znak-width);height:var(--gos-znak-height);overflow:hidden;background-color:var(--gos-znak-background-color);border-radius:var(--mimir-control-radius-xs1);outline:1px solid var(--gos-znak-outline-color)}._number_1nnii_13{font-weight:var(--mimir-font-weight-text-medium);font-size:var(--gos-znak-number-font-size);font-family:var(--mimir-font-montserrat);line-height:var(--mimir-line-height-text-xss);letter-spacing:-.02em;text-align:center;text-transform:lowercase}._number-container_1nnii_22{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:var(--gos-znak-number-container-width);height:100%;overflow:hidden;border-right:1px solid var(--number-border-right-color)}._region_1nnii_32{font-weight:var(--mimir-font-weight-text-regular);font-size:var(--gos-znak-region-text-size);font-family:var(--mimir-font-inter);line-height:var(--mimir-line-height-text-l)}._region-container_1nnii_38{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;overflow:hidden}._country_1nnii_46{color:var(--gos-znak-country-color);font-size:var(--gos-znak-country-text-size);line-height:var(--mimir-line-height-text-s1);text-transform:uppercase}._l_1nnii_53{--gos-znak-number-font-size: var(--mimir-size-text-xl3);--gos-znak-region-text-size: var(--mimir-size-text-xl);--gos-znak-country-text-size: var(--mimir-size-text-l);--gos-znak-number-container-width: 172px;--gos-znak-width: 242px;--gos-znak-height: 64px}._s_1nnii_62{--gos-znak-number-font-size: var(--mimir-size-text-l);--gos-znak-region-text-size: var(--mimir-size-text-xs);--gos-znak-country-text-size: var(--mimir-size-text-xs2);--gos-znak-number-container-width: 86px;--gos-znak-width: 121px;--gos-znak-height: 32px}._normal_1nnii_71{--gos-znak-background-color: var(--white);--gos-znak-outline-color: var(--black-20);--number-border-right-color: var(--black-20);--gos-znak-country-color: var(--black-60)}._traffic_1nnii_78{--gos-znak-background-color: var(--gos-znak-traffic-background-color);--gos-znak-outline-color: var(--gos-znak-military-background-color);--number-border-right-color: var(--gos-znak-military-background-color);--gos-znak-country-color: var(--black-60)}._military_1nnii_85{--gos-znak-background-color: var(--gos-znak-military-background-color);--gos-znak-outline-color: var(--black-5);--number-border-right-color: var(--black-5);--gos-znak-country-color: var(--black-30)}._police_1nnii_92{--gos-znak-background-color: var(--gos-znak-police-background-color);--gos-znak-outline-color: var(--black-5);--number-border-right-color: var(--black-5);--gos-znak-country-color: var(--sapphire-30)}._diplomatic_1nnii_99{--gos-znak-background-color: var(--gos-znak-diplomatic-background-color);--gos-znak-outline-color: var(--black-5);--number-border-right-color: var(--black-5);--gos-znak-country-color: var(--gos-znak-diplomatic-country-color)}._military_1nnii_85,._police_1nnii_92,._diplomatic_1nnii_99{color:var(--white)}._simplified_1nnii_112 ._number-container_1nnii_22{width:100%;border-right:none}._simplified_1nnii_112 ._number-container_1nnii_22 ._number_1nnii_13{text-align:center}._copyable-number_1nnii_120{cursor:pointer}
@@ -1,4 +1,3 @@
1
- import { default as React } from 'react';
2
1
  import { TGosZnakProps } from './types';
3
2
 
4
- export declare const GosZnak: React.FC<TGosZnakProps>;
3
+ export declare const GosZnak: ({ number, region, country, size, type, className, numberClassName, regionClassName, countryClassName, numberContainerClassName, regionContainerClassName, simplified, copyable, onCopy }: TGosZnakProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,63 +1,111 @@
1
- import { jsxs as c, jsx as o } from "react/jsx-runtime";
2
- import { c as n } from "../../index-DIxK0V-G.js";
3
- import { EGosZnakSize as g, EGosZnakType as f } from "./constants.js";
4
- import '../../assets/GosZnak.css';const y = "_number_dr109_13", N = "_region_dr109_32", b = "_country_dr109_46", h = "_l_dr109_53", k = "_s_dr109_62", z = "_normal_dr109_71", v = "_traffic_dr109_78", x = "_military_dr109_85", G = "_police_dr109_92", Z = "_diplomatic_dr109_99", r = {
5
- "gos-znak": "_gos-znak_dr109_2",
6
- number: y,
7
- "number-container": "_number-container_dr109_22",
8
- region: N,
9
- "region-container": "_region-container_dr109_38",
10
- country: b,
11
- l: h,
12
- s: k,
13
- normal: z,
14
- traffic: v,
15
- military: x,
16
- police: G,
17
- diplomatic: Z
18
- }, S = ({
19
- number: i,
20
- region: s,
21
- country: a,
22
- size: e = g.L,
23
- type: _ = f.Normal,
1
+ import { jsx as o, jsxs as f } from "react/jsx-runtime";
2
+ import { c as i } from "../../index-DIxK0V-G.js";
3
+ import { EGosZnakSize as k, EGosZnakType as T, COPY_TEXT_TITLE as z } from "./constants.js";
4
+ import '../../assets/GosZnak.css';const E = "_number_1nnii_13", x = "_region_1nnii_32", G = "_country_1nnii_46", Z = "_l_1nnii_53", j = "_s_1nnii_62", w = "_normal_1nnii_71", L = "_traffic_1nnii_78", F = "_military_1nnii_85", I = "_police_1nnii_92", O = "_diplomatic_1nnii_99", P = "_simplified_1nnii_112", n = {
5
+ "gos-znak": "_gos-znak_1nnii_2",
6
+ number: E,
7
+ "number-container": "_number-container_1nnii_22",
8
+ region: x,
9
+ "region-container": "_region-container_1nnii_38",
10
+ country: G,
11
+ l: Z,
12
+ s: j,
13
+ normal: w,
14
+ traffic: L,
15
+ military: F,
16
+ police: I,
17
+ diplomatic: O,
18
+ simplified: P,
19
+ "copyable-number": "_copyable-number_1nnii_120"
20
+ }, q = ({
21
+ number: e,
22
+ region: u,
23
+ country: g,
24
+ size: a = k.L,
25
+ type: s = T.Normal,
24
26
  className: t,
25
- numberClassName: l,
26
- regionClassName: m,
27
- countryClassName: d,
28
- numberContainerClassName: p,
29
- regionContainerClassName: u
30
- }) => /* @__PURE__ */ c(
31
- "div",
32
- {
33
- className: n(r["gos-znak"], r[e], r[_], t),
34
- children: [
35
- /* @__PURE__ */ o(
36
- "div",
37
- {
38
- className: n(
39
- r["number-container"],
40
- p
41
- ),
42
- children: /* @__PURE__ */ o("span", { className: n(r.number, l), children: i })
43
- }
27
+ numberClassName: y,
28
+ regionClassName: b,
29
+ countryClassName: h,
30
+ numberContainerClassName: _,
31
+ regionContainerClassName: N,
32
+ simplified: l = !1,
33
+ copyable: m = !1,
34
+ onCopy: d
35
+ }) => {
36
+ const v = async (r) => {
37
+ try {
38
+ await navigator.clipboard.writeText(r), d && d(r);
39
+ } catch (c) {
40
+ console.error("Failed to copy text: ", c);
41
+ }
42
+ }, p = (r, c = !1) => /* @__PURE__ */ o(
43
+ "span",
44
+ {
45
+ className: i(
46
+ n.number,
47
+ c && n["copyable-number"],
48
+ l && n["simplified-number"],
49
+ y
50
+ ),
51
+ onClick: c ? () => v(r) : void 0,
52
+ title: c ? z : void 0,
53
+ children: r
54
+ }
55
+ );
56
+ return l ? /* @__PURE__ */ o(
57
+ "div",
58
+ {
59
+ className: i(
60
+ n["gos-znak"],
61
+ n[a],
62
+ n[s],
63
+ n.simplified,
64
+ t
44
65
  ),
45
- /* @__PURE__ */ c(
66
+ children: /* @__PURE__ */ o(
46
67
  "div",
47
68
  {
48
- className: n(
49
- r["region-container"],
50
- u
69
+ className: i(
70
+ n["number-container"],
71
+ _
51
72
  ),
52
- children: [
53
- /* @__PURE__ */ o("span", { className: n(r.region, m), children: s }),
54
- /* @__PURE__ */ o("span", { className: n(r.country, d), children: a })
55
- ]
73
+ children: p(e, m)
56
74
  }
57
75
  )
58
- ]
59
- }
60
- );
76
+ }
77
+ ) : /* @__PURE__ */ f(
78
+ "div",
79
+ {
80
+ className: i(n["gos-znak"], n[a], n[s], t),
81
+ children: [
82
+ /* @__PURE__ */ o(
83
+ "div",
84
+ {
85
+ className: i(
86
+ n["number-container"],
87
+ _
88
+ ),
89
+ children: p(e, m)
90
+ }
91
+ ),
92
+ /* @__PURE__ */ f(
93
+ "div",
94
+ {
95
+ className: i(
96
+ n["region-container"],
97
+ N
98
+ ),
99
+ children: [
100
+ /* @__PURE__ */ o("span", { className: i(n.region, b), children: u }),
101
+ /* @__PURE__ */ o("span", { className: i(n.country, h), children: g })
102
+ ]
103
+ }
104
+ )
105
+ ]
106
+ }
107
+ );
108
+ };
61
109
  export {
62
- S as GosZnak
110
+ q as GosZnak
63
111
  };
@@ -9,3 +9,4 @@ export declare enum EGosZnakType {
9
9
  Police = "police",
10
10
  Diplomatic = "diplomatic"
11
11
  }
12
+ export declare const COPY_TEXT_TITLE = "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 \u0447\u0442\u043E\u0431\u044B \u0441\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C";
@@ -1,5 +1,7 @@
1
1
  var i = /* @__PURE__ */ ((r) => (r.S = "s", r.L = "l", r))(i || {}), l = /* @__PURE__ */ ((r) => (r.Normal = "normal", r.Traffic = "traffic", r.Military = "military", r.Police = "police", r.Diplomatic = "diplomatic", r))(l || {});
2
+ const t = "Нажмите чтобы скопировать";
2
3
  export {
4
+ t as COPY_TEXT_TITLE,
3
5
  i as EGosZnakSize,
4
6
  l as EGosZnakType
5
7
  };
@@ -1,12 +1,12 @@
1
1
  import { EGosZnakSize, EGosZnakType } from './constants';
2
2
 
3
3
  export type TGosZnakProps = {
4
- /** Номер государственного знака */
4
+ /** Номер государственного знака. Может быть полным номером (например "А123МО199") или номерной частью (например "А123МО") */
5
5
  number: string;
6
- /** Код региона */
7
- region: string;
8
- /** Код страны */
9
- country: string;
6
+ /** Код региона (необязателен для упрощенного варианта) */
7
+ region?: string;
8
+ /** Код страны (необязателен, убирается в упрощенном варианте) */
9
+ country?: string;
10
10
  /** Размер госзнака. Если не указан, по умолчанию используется большой размер */
11
11
  size?: EGosZnakSize | `${EGosZnakSize}`;
12
12
  /** Тип госзнака. Если не указан, по умолчанию используется обычный тип */
@@ -23,4 +23,10 @@ export type TGosZnakProps = {
23
23
  numberContainerClassName?: string;
24
24
  /** Дополнительный CSS класс для стилизации контейнера региона */
25
25
  regionContainerClassName?: string;
26
+ /** Упрощенный режим отображения (без региона и страны) */
27
+ simplified?: boolean;
28
+ /** Включить функцию копирования номера при клике */
29
+ copyable?: boolean;
30
+ /** Callback, который вызывается после успешного копирования */
31
+ onCopy?: (copiedText: string) => void;
26
32
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mimir-ui-kit",
3
3
  "private": false,
4
- "version": "1.48.3",
4
+ "version": "1.49.0",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {