skillgrid 0.0.85 → 0.0.87
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/dist/assets/components/Dialog/Dialog.module-BvSBnHQm.css +1 -0
- package/dist/assets/components/Snackbar/Provider/SnackbarProvider.module-CXp57W1g.css +1 -0
- package/dist/assets/components/Snackbar/Snackbar.module-gnMPmaUr.css +1 -0
- package/dist/components/Dialog/Dialog.js +23 -22
- package/dist/components/Dialog/Dialog.module.css.js +12 -12
- package/dist/components/Dialog/lib/use-dialog-draggable.d.ts +6 -2
- package/dist/components/Dialog/lib/use-dialog-draggable.js +91 -80
- package/dist/components/Snackbar/Provider/SnackbarProvider.js +153 -64
- package/dist/components/Snackbar/Provider/SnackbarProvider.module.css.js +14 -6
- package/dist/components/Snackbar/Provider/SnackbarProvider.type.d.ts +9 -4
- package/dist/components/Snackbar/Snackbar.js +172 -134
- package/dist/components/Snackbar/Snackbar.module.css.js +42 -40
- package/dist/components/Snackbar/Snackbar.type.d.ts +8 -1
- package/dist/components/Tabs/ScrollWrapper.js +10 -8
- package/dist/components/Tabs/Tabs.js +77 -76
- package/dist/components/Tabs/Tabs.type.d.ts +7 -0
- package/dist/index.cjs.js +3 -3
- package/dist/index.css +1 -1
- package/package.json +1 -1
- package/dist/assets/components/Dialog/Dialog.module-OXi8ThCq.css +0 -1
- package/dist/assets/components/Snackbar/Provider/SnackbarProvider.module-F1FVM9qU.css +0 -1
- package/dist/assets/components/Snackbar/Snackbar.module-KVPJ2b4w.css +0 -1
|
@@ -1,164 +1,165 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import F, { useState as U, createContext as
|
|
3
|
-
import { ScrollWrapper as
|
|
4
|
-
import { clsx as
|
|
1
|
+
import { jsx as l, jsxs as w } from "react/jsx-runtime";
|
|
2
|
+
import F, { useState as U, createContext as V, useContext as M } from "react";
|
|
3
|
+
import { ScrollWrapper as R } from "./ScrollWrapper.js";
|
|
4
|
+
import { clsx as p } from "clsx";
|
|
5
5
|
import f from "../../styles/typography.module.css.js";
|
|
6
6
|
import a from "./Tabs.module.css.js";
|
|
7
|
-
import { useIsMobile as
|
|
8
|
-
import { Badge as
|
|
9
|
-
const
|
|
10
|
-
const t =
|
|
7
|
+
import { useIsMobile as j } from "../../hooks/useIsMobile.js";
|
|
8
|
+
import { Badge as k } from "../Badge/Badge.js";
|
|
9
|
+
const G = "md", W = !1, Y = !1, Z = 8, z = "top-right-inside", P = V(null), h = () => {
|
|
10
|
+
const t = M(P);
|
|
11
11
|
if (!t) throw new Error("useTabs должен использоваться внутри TabsProvider");
|
|
12
12
|
return t;
|
|
13
|
-
},
|
|
13
|
+
}, H = ({
|
|
14
14
|
children: t,
|
|
15
|
-
defaultActiveTab:
|
|
15
|
+
defaultActiveTab: i,
|
|
16
16
|
activeTab: e,
|
|
17
|
-
onChange:
|
|
17
|
+
onChange: c
|
|
18
18
|
}) => {
|
|
19
|
-
const [
|
|
20
|
-
r || s(
|
|
19
|
+
const [b, s] = U(i), r = e !== void 0, d = r ? e : b, n = (o) => {
|
|
20
|
+
r || s(o), c && c(o);
|
|
21
21
|
};
|
|
22
|
-
return /* @__PURE__ */
|
|
23
|
-
},
|
|
22
|
+
return /* @__PURE__ */ l(P.Provider, { value: { activeTab: d, setTab: n }, children: t });
|
|
23
|
+
}, K = ({
|
|
24
24
|
mode: t,
|
|
25
|
-
item:
|
|
25
|
+
item: i,
|
|
26
26
|
isActive: e,
|
|
27
|
-
showBadge:
|
|
28
|
-
badgeProps:
|
|
27
|
+
showBadge: c,
|
|
28
|
+
badgeProps: b,
|
|
29
29
|
size: s,
|
|
30
30
|
isDisabled: r,
|
|
31
|
-
onSelectTab:
|
|
31
|
+
onSelectTab: d
|
|
32
32
|
}) => {
|
|
33
33
|
const {
|
|
34
|
-
value:
|
|
35
|
-
label:
|
|
36
|
-
ariaLabel:
|
|
34
|
+
value: n,
|
|
35
|
+
label: o,
|
|
36
|
+
ariaLabel: C,
|
|
37
37
|
prefix: u,
|
|
38
|
-
prefixWrapperProps:
|
|
39
|
-
postfix:
|
|
40
|
-
postfixWrapperProps:
|
|
41
|
-
} =
|
|
38
|
+
prefixWrapperProps: _ = {},
|
|
39
|
+
postfix: T,
|
|
40
|
+
postfixWrapperProps: g = {}
|
|
41
|
+
} = i, { className: v, ...y } = _, { className: A, ...L } = g, m = {
|
|
42
42
|
primary: f["typography-label-3-medium"],
|
|
43
43
|
secondary: f["typography-label-3-regular"],
|
|
44
44
|
prefix: f["typography-label-3-medium"],
|
|
45
45
|
postfix: f["typography-label-3-medium"]
|
|
46
|
-
},
|
|
47
|
-
size:
|
|
48
|
-
position:
|
|
49
|
-
...
|
|
50
|
-
},
|
|
46
|
+
}, N = {
|
|
47
|
+
size: Z,
|
|
48
|
+
position: z,
|
|
49
|
+
...b
|
|
50
|
+
}, S = p(a.tab, a[t], a[s], {
|
|
51
51
|
[a.selected]: e,
|
|
52
52
|
[a.disabled]: r
|
|
53
|
-
}),
|
|
53
|
+
}), E = p(
|
|
54
54
|
a.tabPrefix,
|
|
55
|
-
|
|
55
|
+
v,
|
|
56
56
|
a[t],
|
|
57
57
|
m.prefix,
|
|
58
58
|
{
|
|
59
59
|
[a.selected]: e,
|
|
60
60
|
[a.disabled]: r
|
|
61
61
|
}
|
|
62
|
-
),
|
|
62
|
+
), B = p(
|
|
63
63
|
a.tabPostfix,
|
|
64
|
-
|
|
64
|
+
A,
|
|
65
65
|
a[t],
|
|
66
66
|
m.postfix,
|
|
67
67
|
{
|
|
68
68
|
[a.selected]: e,
|
|
69
69
|
[a.disabled]: r
|
|
70
70
|
}
|
|
71
|
-
),
|
|
72
|
-
e || r || (
|
|
73
|
-
},
|
|
71
|
+
), D = p(a.tabLabel, a[t], m[t]), I = C ?? (typeof o == "string" ? o : void 0), O = ($) => {
|
|
72
|
+
e || r || (d(n), $.currentTarget.scrollIntoView({ behavior: "smooth", inline: "center", block: "nearest" }));
|
|
73
|
+
}, x = /* @__PURE__ */ w(
|
|
74
74
|
"button",
|
|
75
75
|
{
|
|
76
|
-
className:
|
|
76
|
+
className: S,
|
|
77
77
|
role: "tab",
|
|
78
|
-
"aria-label":
|
|
78
|
+
"aria-label": I,
|
|
79
79
|
"aria-selected": e,
|
|
80
80
|
"aria-disabled": r,
|
|
81
|
-
"aria-controls": `tab-panel-${
|
|
82
|
-
"data-testid": `tab-item-${
|
|
83
|
-
onClick:
|
|
81
|
+
"aria-controls": `tab-panel-${n}`,
|
|
82
|
+
"data-testid": `tab-item-${n}`,
|
|
83
|
+
onClick: O,
|
|
84
84
|
children: [
|
|
85
|
-
u && /* @__PURE__ */
|
|
85
|
+
u && /* @__PURE__ */ l(
|
|
86
86
|
"span",
|
|
87
87
|
{
|
|
88
|
-
className:
|
|
89
|
-
...
|
|
90
|
-
"data-testid": `tab-prefix-${
|
|
88
|
+
className: E,
|
|
89
|
+
...y,
|
|
90
|
+
"data-testid": `tab-prefix-${n}`,
|
|
91
91
|
children: u
|
|
92
92
|
}
|
|
93
93
|
),
|
|
94
|
-
/* @__PURE__ */
|
|
95
|
-
|
|
94
|
+
/* @__PURE__ */ l("span", { className: D, "data-testid": `tab-label-${n}`, children: o }),
|
|
95
|
+
T && /* @__PURE__ */ l(
|
|
96
96
|
"span",
|
|
97
97
|
{
|
|
98
|
-
className:
|
|
99
|
-
...
|
|
100
|
-
"data-testid": `tab-postfix-${
|
|
101
|
-
children:
|
|
98
|
+
className: B,
|
|
99
|
+
...L,
|
|
100
|
+
"data-testid": `tab-postfix-${n}`,
|
|
101
|
+
children: T
|
|
102
102
|
}
|
|
103
103
|
)
|
|
104
104
|
]
|
|
105
105
|
}
|
|
106
106
|
);
|
|
107
|
-
return
|
|
107
|
+
return c ? /* @__PURE__ */ l(k, { ...N, "data-testid": `tab-badge-${n}`, children: x }) : x;
|
|
108
108
|
}, q = ({
|
|
109
109
|
mode: t,
|
|
110
|
-
items:
|
|
111
|
-
size: e =
|
|
112
|
-
isAllItemsDisabled:
|
|
110
|
+
items: i,
|
|
111
|
+
size: e = G,
|
|
112
|
+
isAllItemsDisabled: c = W,
|
|
113
|
+
scrollControlsOnDesktop: b = Y
|
|
113
114
|
}) => {
|
|
114
|
-
const { activeTab:
|
|
115
|
-
return /* @__PURE__ */
|
|
115
|
+
const { activeTab: s, setTab: r } = h(), n = j() || b;
|
|
116
|
+
return /* @__PURE__ */ l(R, { size: e, withControls: n, children: /* @__PURE__ */ l(
|
|
116
117
|
"div",
|
|
117
118
|
{
|
|
118
119
|
role: "tablist",
|
|
119
120
|
"data-testid": "tabs-bar",
|
|
120
121
|
"aria-orientation": "horizontal",
|
|
121
|
-
className:
|
|
122
|
-
children:
|
|
123
|
-
|
|
122
|
+
className: p(a.tabBar, a[t]),
|
|
123
|
+
children: i.map((o) => /* @__PURE__ */ l(
|
|
124
|
+
K,
|
|
124
125
|
{
|
|
125
126
|
size: e,
|
|
126
127
|
item: o,
|
|
127
128
|
mode: t,
|
|
128
129
|
showBadge: o.showBadge,
|
|
129
130
|
badgeProps: o.badgeProps,
|
|
130
|
-
isActive:
|
|
131
|
-
isDisabled:
|
|
132
|
-
onSelectTab:
|
|
131
|
+
isActive: s === o.value,
|
|
132
|
+
isDisabled: c || o.isDisabled,
|
|
133
|
+
onSelectTab: r
|
|
133
134
|
},
|
|
134
135
|
o.value
|
|
135
136
|
))
|
|
136
137
|
}
|
|
137
138
|
) });
|
|
138
|
-
}, J = ({ tabValue: t, children:
|
|
139
|
+
}, J = ({ tabValue: t, children: i, ...e }) => /* @__PURE__ */ l(
|
|
139
140
|
"div",
|
|
140
141
|
{
|
|
141
142
|
role: "tabpanel",
|
|
142
143
|
"data-testid": `tab-panel-${t}`,
|
|
143
144
|
"aria-labelledby": `tab-item-${t}`,
|
|
144
145
|
...e,
|
|
145
|
-
children:
|
|
146
|
+
children: i
|
|
146
147
|
}
|
|
147
|
-
),
|
|
148
|
-
const { activeTab: e } = h(),
|
|
149
|
-
return /* @__PURE__ */
|
|
150
|
-
},
|
|
151
|
-
Provider:
|
|
152
|
-
Content:
|
|
148
|
+
), Q = ({ children: t, ...i }) => {
|
|
149
|
+
const { activeTab: e } = h(), c = Array.isArray(t) ? t : [t], b = (s, r) => F.isValidElement(s) && typeof s.props == "object" && s.props !== null && r in s.props;
|
|
150
|
+
return /* @__PURE__ */ l("div", { "data-testid": "tab-content", ...i, children: c.map((s) => b(s, "tabValue") && String(s.props.tabValue) === e ? s : null) });
|
|
151
|
+
}, lt = {
|
|
152
|
+
Provider: H,
|
|
153
|
+
Content: Q,
|
|
153
154
|
Panel: J,
|
|
154
155
|
Bar: q
|
|
155
156
|
};
|
|
156
157
|
export {
|
|
157
158
|
q as Bar,
|
|
158
159
|
J as TabPanel,
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
160
|
+
lt as Tabs,
|
|
161
|
+
Q as TabsContent,
|
|
162
|
+
H as TabsProvider,
|
|
162
163
|
q as default,
|
|
163
164
|
h as useTabs
|
|
164
165
|
};
|
|
@@ -127,6 +127,13 @@ export interface TabsBarProps {
|
|
|
127
127
|
* @default false
|
|
128
128
|
*/
|
|
129
129
|
isAllItemsDisabled?: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* scrollControlsOnDesktop — показывать кнопки прокрутки на десктопе при переполнении табов.
|
|
132
|
+
* На мобильной ширине стрелки включены по умолчанию.
|
|
133
|
+
*
|
|
134
|
+
* @default false
|
|
135
|
+
*/
|
|
136
|
+
scrollControlsOnDesktop?: boolean;
|
|
130
137
|
}
|
|
131
138
|
/**
|
|
132
139
|
* TabsItemProps - пропсы для одной вкладки (TabElement)
|