@epam/ai-dial-ui-kit 0.16.0-dev.6 → 0.16.0-dev.7
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/README.md +1 -1
- package/dist/CHANGELOG.md +8 -0
- package/dist/DateCellRenderer-BZvKj3rU.cjs +1 -0
- package/dist/{DateCellRenderer-ElULb0hY.cjs → DateCellRenderer-CbInykpW.cjs} +2 -2
- package/dist/{IconButton-DHOFapLo.cjs → IconButton-B1Hx0Y3y.cjs} +1 -1
- package/dist/{MarkdownEditorContainer-B5aHwoYF.cjs → MarkdownEditorContainer-DLPODjar.cjs} +1 -1
- package/dist/{Switch-DE6MrcqJ.cjs → Switch-DAaAOaIu.cjs} +1 -1
- package/dist/components/Analytics/Bar/Bar.js +7 -7
- package/dist/components/Analytics/BarGroup/BarGroup.js +18 -18
- package/dist/components/Analytics/Histogram/Histogram.js +10 -10
- package/dist/components/Checkbox/Checkbox.js +9 -9
- package/dist/components/Dropdown/constants.js +2 -2
- package/dist/components/DropdownIcon/DropdownIcon.js +5 -5
- package/dist/components/Grid/Grid.js +11 -11
- package/dist/components/IconButton/IconButton.js +7 -7
- package/dist/components/InputPopup/InputPopup.js +8 -8
- package/dist/components/LoadFileArea/EmptyFileArea.js +28 -28
- package/dist/components/Loader/Loader.js +8 -8
- package/dist/components/New/BottomSheet/BottomSheet.js +1 -1
- package/dist/components/New/Breadcrumbs/constants.js +1 -1
- package/dist/components/New/Calendar/constants.js +4 -4
- package/dist/components/New/Dropdown/constants.js +1 -1
- package/dist/components/New/MenuItem/MenuItem.js +17 -17
- package/dist/components/New/SharedEntityIndicator/SharedEntityIndicator.js +1 -1
- package/dist/components/New/SideDrawer/SideDrawer.js +1 -1
- package/dist/components/Search/Search.js +1 -1
- package/dist/components/Select/Select.js +1 -1
- package/dist/components/Select/constants.js +6 -6
- package/dist/components/Slider/Slider.js +1 -1
- package/dist/components/Steps/Step.js +9 -9
- package/dist/components/TagInput/TagInput.js +1 -1
- package/dist/components-manifest.json +3 -3
- package/dist/dial-ui-kit.cjs +2 -2
- package/dist/editors.cjs +1 -1
- package/dist/file-manager.cjs +1 -1
- package/dist/grid.cjs +1 -1
- package/dist/index.css +2 -6
- package/dist/migration-guides/0.16.0/tailwind-v4-stylesheet.md +98 -0
- package/dist/migration-guides/README.md +1 -0
- package/dist/src/components/ButtonDropdown/constants.d.ts +2 -2
- package/dist/src/components/Dropdown/constants.d.ts +1 -1
- package/dist/src/components/FileManager/FileManagerTooltip.d.ts +1 -1
- package/dist/src/components/FileManager/hooks/use-tree-additional-buttons.d.ts +1 -1
- package/dist/src/components/Grid/Grid.d.ts +1 -1
- package/dist/src/components/JsonEditor/lazy.d.ts +1 -1
- package/dist/src/components/MarkdownEditor/lazy.d.ts +1 -1
- package/dist/src/components/New/Breadcrumbs/constants.d.ts +2 -2
- package/dist/src/components/New/ButtonDropdown/constants.d.ts +1 -1
- package/dist/src/components/New/Calendar/constants.d.ts +5 -5
- package/dist/src/components/New/Dropdown/constants.d.ts +1 -1
- package/dist/src/components/New/FilterChips/FilterChips.d.ts +1 -1
- package/dist/src/components/New/Grid/Grid.d.ts +1 -1
- package/dist/src/components/New/Grid/components/SelectionCell.d.ts +1 -1
- package/dist/src/components/New/Grid/components/SelectionHeader.d.ts +1 -1
- package/dist/src/components/New/InteractiveTooltip/constants.d.ts +1 -1
- package/dist/src/components/New/MarkdownEditor/lazy.d.ts +1 -1
- package/dist/src/components/New/MenuItem/constants.d.ts +1 -1
- package/dist/src/components/New/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/src/components/New/Select/constants.d.ts +4 -4
- package/dist/src/components/New/Tooltip/constants.d.ts +2 -2
- package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +1 -1
- package/dist/src/components/Select/constants.d.ts +3 -3
- package/dist/src/subpaths/editors.d.ts +1 -1
- package/dist/src/utils/sub-menu-floating.d.ts +1 -1
- package/dist/use-file-manager-tabs-aymbCxrD.cjs +3 -0
- package/dist/utils/sub-menu-floating.js +8 -8
- package/package.json +9 -7
- package/dist/DateCellRenderer-C7yExfh5.cjs +0 -1
- package/dist/use-file-manager-tabs-Bgh8mfOJ.cjs +0 -3
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { jsx as t, jsxs as y, Fragment as
|
|
1
|
+
import { jsx as t, jsxs as y, Fragment as z } from "react/jsx-runtime";
|
|
2
2
|
import { DialErrorText as x } from "../CaptionText/CaptionText.js";
|
|
3
3
|
import { ButtonAppearance as Q } from "../../types/button.js";
|
|
4
4
|
import U from "classnames";
|
|
5
|
-
import { useRef as
|
|
5
|
+
import { useRef as B, useState as k, useCallback as C, useMemo as G, useEffect as W } from "react";
|
|
6
6
|
import { DialPrimaryButton as X } from "../Button/ButtonWrappers.js";
|
|
7
7
|
import { useDrop as Y } from "../../node_modules/react-dnd/dist/hooks/useDrop/useDrop.js";
|
|
8
8
|
import { FILE as Z } from "../../node_modules/react-dnd-html5-backend/dist/NativeTypes.js";
|
|
@@ -13,45 +13,45 @@ const nr = ({
|
|
|
13
13
|
emptyButtonLabel: O,
|
|
14
14
|
acceptTypes: A,
|
|
15
15
|
maxFilesCount: m,
|
|
16
|
-
multiple:
|
|
16
|
+
multiple: L,
|
|
17
17
|
fileFormatError: j,
|
|
18
|
-
fileCountError:
|
|
19
|
-
fileSizeError:
|
|
18
|
+
fileCountError: R,
|
|
19
|
+
fileSizeError: g,
|
|
20
20
|
getIsFileFormatError: n,
|
|
21
21
|
getIsFileSizeError: a
|
|
22
22
|
}) => {
|
|
23
|
-
const
|
|
23
|
+
const w = B(null), h = B(null), [c, D] = k([]), [i, f] = k(!1), [d, u] = k(!1), M = C(
|
|
24
24
|
(r) => {
|
|
25
25
|
const e = r.target.files;
|
|
26
26
|
if (e && e.length > 0) {
|
|
27
27
|
const o = Array.from(e), p = n?.(o), v = a?.(o);
|
|
28
|
-
p ? f(!0) : v ?
|
|
28
|
+
p ? f(!0) : v ? u(!0) : l(o);
|
|
29
29
|
}
|
|
30
30
|
},
|
|
31
31
|
[n, a, l]
|
|
32
|
-
), s =
|
|
32
|
+
), s = C(
|
|
33
33
|
(r) => m && r?.length > m,
|
|
34
34
|
[m]
|
|
35
|
-
), F =
|
|
36
|
-
D([]), f(!1),
|
|
37
|
-
},
|
|
38
|
-
w,
|
|
39
|
-
j,
|
|
35
|
+
), F = G(() => i || d || s(c), [i, d, s, c]), b = () => {
|
|
36
|
+
D([]), f(!1), u(!1);
|
|
37
|
+
}, P = G(() => i ? /* @__PURE__ */ t(x, { text: j }) : d ? /* @__PURE__ */ t(x, { text: g }) : s(c) ? /* @__PURE__ */ t(x, { text: R }) : null, [
|
|
40
38
|
R,
|
|
39
|
+
j,
|
|
40
|
+
g,
|
|
41
41
|
c,
|
|
42
42
|
s,
|
|
43
43
|
i,
|
|
44
|
-
|
|
44
|
+
d
|
|
45
45
|
]);
|
|
46
46
|
W(() => {
|
|
47
47
|
b();
|
|
48
48
|
}, [A]);
|
|
49
|
-
const [{ isOver:
|
|
49
|
+
const [{ isOver: S, canDrop: K }, T] = Y(
|
|
50
50
|
() => ({
|
|
51
51
|
accept: [Z],
|
|
52
52
|
drop(r) {
|
|
53
53
|
const e = r.files, o = n?.(e) ?? !1, p = a?.(e) ?? !1, v = s?.(e) ?? !1;
|
|
54
|
-
if (f(o),
|
|
54
|
+
if (f(o), u(p), o || p || v) {
|
|
55
55
|
D(e);
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
@@ -63,27 +63,27 @@ const nr = ({
|
|
|
63
63
|
})
|
|
64
64
|
}),
|
|
65
65
|
[l, n, a, s]
|
|
66
|
-
),
|
|
66
|
+
), V = (r) => {
|
|
67
67
|
(r.key === "Enter" || r.key === "Space") && (r.preventDefault(), h.current?.click());
|
|
68
|
-
},
|
|
68
|
+
}, q = (r) => {
|
|
69
69
|
r?.preventDefault();
|
|
70
70
|
const e = Array.from(r.dataTransfer?.items ?? []);
|
|
71
|
-
f(!!n?.(e)),
|
|
71
|
+
f(!!n?.(e)), u(!!a?.(e)), D(e);
|
|
72
72
|
}, H = (r) => {
|
|
73
73
|
r.target === r.currentTarget && b();
|
|
74
74
|
}, J = U(
|
|
75
|
-
"border border-dashed rounded
|
|
75
|
+
"border border-dashed rounded size-full cursor-pointer relative hover:border-hover",
|
|
76
76
|
!K && !F && "border-primary",
|
|
77
|
-
K && (
|
|
77
|
+
K && (S ? "border-accent-primary" : "border-hover"),
|
|
78
78
|
F && "border-error"
|
|
79
79
|
);
|
|
80
|
-
return
|
|
80
|
+
return T(w), /* @__PURE__ */ y(z, { children: [
|
|
81
81
|
/* @__PURE__ */ y(
|
|
82
82
|
"div",
|
|
83
83
|
{
|
|
84
84
|
className: J,
|
|
85
|
-
ref:
|
|
86
|
-
onDragOver:
|
|
85
|
+
ref: w,
|
|
86
|
+
onDragOver: q,
|
|
87
87
|
onDragLeave: H,
|
|
88
88
|
children: [
|
|
89
89
|
/* @__PURE__ */ y(
|
|
@@ -91,7 +91,7 @@ const nr = ({
|
|
|
91
91
|
{
|
|
92
92
|
htmlFor: "file",
|
|
93
93
|
tabIndex: 0,
|
|
94
|
-
onKeyDown:
|
|
94
|
+
onKeyDown: V,
|
|
95
95
|
className: "flex flex-col items-center cursor-pointer size-full text-secondary dial-tiny-text justify-center",
|
|
96
96
|
children: [
|
|
97
97
|
E && /* @__PURE__ */ t("p", { className: "mb-1", children: E }),
|
|
@@ -110,19 +110,19 @@ const nr = ({
|
|
|
110
110
|
/* @__PURE__ */ t(
|
|
111
111
|
"input",
|
|
112
112
|
{
|
|
113
|
-
multiple:
|
|
113
|
+
multiple: L,
|
|
114
114
|
id: "file",
|
|
115
115
|
type: "file",
|
|
116
116
|
ref: h,
|
|
117
117
|
hidden: !0,
|
|
118
118
|
accept: A,
|
|
119
|
-
onChange:
|
|
119
|
+
onChange: M
|
|
120
120
|
}
|
|
121
121
|
)
|
|
122
122
|
]
|
|
123
123
|
}
|
|
124
124
|
),
|
|
125
|
-
/* @__PURE__ */ t(
|
|
125
|
+
/* @__PURE__ */ t(z, { children: P })
|
|
126
126
|
] });
|
|
127
127
|
};
|
|
128
128
|
export {
|
|
@@ -3,19 +3,19 @@ import e from "classnames";
|
|
|
3
3
|
import { DialIcon as s } from "../Icon/Icon.js";
|
|
4
4
|
import { loaderIconBaseClassName as t, loaderBaseClassName as d } from "./constants.js";
|
|
5
5
|
import c from "../../assets/icons/loader.svg.js";
|
|
6
|
-
const
|
|
6
|
+
const h = ({
|
|
7
7
|
size: o = 18,
|
|
8
8
|
className: a,
|
|
9
|
-
iconClassName:
|
|
10
|
-
fullWidth:
|
|
11
|
-
ariaLabel:
|
|
9
|
+
iconClassName: i,
|
|
10
|
+
fullWidth: l = !0,
|
|
11
|
+
ariaLabel: m = "Loading"
|
|
12
12
|
}) => /* @__PURE__ */ r(
|
|
13
13
|
"div",
|
|
14
14
|
{
|
|
15
15
|
role: "status",
|
|
16
16
|
className: e({
|
|
17
17
|
[d]: !0,
|
|
18
|
-
"
|
|
18
|
+
"size-full": l,
|
|
19
19
|
[a || ""]: !!a
|
|
20
20
|
}),
|
|
21
21
|
children: /* @__PURE__ */ r(
|
|
@@ -26,9 +26,9 @@ const g = ({
|
|
|
26
26
|
{
|
|
27
27
|
width: o,
|
|
28
28
|
height: o,
|
|
29
|
-
className: e(t,
|
|
29
|
+
className: e(t, i),
|
|
30
30
|
role: "img",
|
|
31
|
-
"aria-label":
|
|
31
|
+
"aria-label": m
|
|
32
32
|
}
|
|
33
33
|
)
|
|
34
34
|
}
|
|
@@ -36,5 +36,5 @@ const g = ({
|
|
|
36
36
|
}
|
|
37
37
|
);
|
|
38
38
|
export {
|
|
39
|
-
|
|
39
|
+
h as DialLoader
|
|
40
40
|
};
|
|
@@ -56,7 +56,7 @@ const te = ({
|
|
|
56
56
|
"aria-label": t ? void 0 : c,
|
|
57
57
|
style: x,
|
|
58
58
|
className: o(
|
|
59
|
-
"flex max-h-[85dvh] w-full flex-col rounded-t-lg bg-layer-raised outline-
|
|
59
|
+
"flex max-h-[85dvh] w-full flex-col rounded-t-lg bg-layer-raised outline-hidden",
|
|
60
60
|
"animate-slideUp motion-reduce:animate-none",
|
|
61
61
|
h,
|
|
62
62
|
M.bottomSheet
|
|
@@ -13,7 +13,7 @@ const c = "w-full overflow-hidden", f = "flex min-w-0 flex-nowrap items-center g
|
|
|
13
13
|
first: "shrink-0",
|
|
14
14
|
middle: "min-w-0 max-w-[30%] shrink",
|
|
15
15
|
last: "min-w-0 max-w-[51%] shrink"
|
|
16
|
-
}, p = "flex min-w-0 flex-1 items-center gap-1 rounded-
|
|
16
|
+
}, p = "flex min-w-0 flex-1 items-center gap-1 rounded-xs transition-colors", C = "text-secondary hover:text-accent focus-visible:outline focus-visible:outline-offset-2 focus-visible:outline-focus", S = "cursor-default text-primary", h = "cursor-default text-secondary", I = "inline-flex flex-none items-center leading-none text-secondary", g = "dial-kit-minimum-target flex shrink-0 items-center rounded-xs text-secondary transition-colors hover:text-accent focus-visible:outline focus-visible:outline-offset-2 focus-visible:outline-focus", w = 3, v = 4, _ = /* @__PURE__ */ t(
|
|
17
17
|
s,
|
|
18
18
|
{
|
|
19
19
|
size: i.SM,
|
|
@@ -10,11 +10,11 @@ const u = "en-GB", f = {
|
|
|
10
10
|
[e.Weekday]: "Select day"
|
|
11
11
|
}, x = (
|
|
12
12
|
// TODO: check after design review for input
|
|
13
|
-
"flex w-full items-center justify-between gap-2 rounded-xl border border-secondary bg-layer-raised px-4 py-3 dial-small-text text-primary outline-
|
|
13
|
+
"flex w-full items-center justify-between gap-2 rounded-xl border border-secondary bg-layer-raised px-4 py-3 dial-small-text text-primary outline-hidden transition-colors hover:border-accent-alpha focus-within:border-accent-focus"
|
|
14
14
|
), y = (
|
|
15
15
|
// TODO: check after design review for input
|
|
16
16
|
"!cursor-not-allowed !border-transparent bg-layer-sunken text-control-disable-primary hover:!border-transparent"
|
|
17
|
-
), b = "!border-error",
|
|
17
|
+
), b = "!border-error", h = "z-floating flex w-[248px] flex-col gap-4 rounded-lg bg-layer-raised px-2 py-4 shadow-md", C = "flex size-10 items-center justify-center rounded-full dial-small-text text-primary hover:bg-control-accent-alpha-hover hover:text-primary focus:outline-hidden focus-visible:outline focus-visible:outline-focus", N = "bg-control-accent text-control-permanent", v = "text-accent dial-small-semi-text", D = "text-control-disable-primary", s = "text-secondary", I = /* @__PURE__ */ a(
|
|
18
18
|
l,
|
|
19
19
|
{
|
|
20
20
|
size: t.MD,
|
|
@@ -42,7 +42,7 @@ const u = "en-GB", f = {
|
|
|
42
42
|
};
|
|
43
43
|
export {
|
|
44
44
|
u as DEFAULT_CALENDAR_LOCALE,
|
|
45
|
-
|
|
45
|
+
C as calendarDayButtonBaseClassName,
|
|
46
46
|
D as calendarDayOutsideClassName,
|
|
47
47
|
N as calendarDaySelectedClassName,
|
|
48
48
|
v as calendarDayTodayClassName,
|
|
@@ -53,5 +53,5 @@ export {
|
|
|
53
53
|
I as calendarIcon,
|
|
54
54
|
f as calendarModeDefaultPlaceholder,
|
|
55
55
|
g as calendarNavIcons,
|
|
56
|
-
|
|
56
|
+
h as calendarPopoverClassName
|
|
57
57
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as n, Fragment as g, jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import { DialIcon as k } from "../../Icon/Icon.js";
|
|
3
3
|
import { CheckboxBox as S } from "../Checkbox/CheckboxBox.js";
|
|
4
4
|
import { EllipsisTooltip as T } from "../EllipsisTooltip/EllipsisTooltip.js";
|
|
@@ -13,19 +13,19 @@ const O = ({
|
|
|
13
13
|
description: f,
|
|
14
14
|
mark: s = o.None,
|
|
15
15
|
selected: r = !1,
|
|
16
|
-
danger:
|
|
17
|
-
trailing:
|
|
16
|
+
danger: h = !1,
|
|
17
|
+
trailing: u,
|
|
18
18
|
rightControl: m,
|
|
19
19
|
ellipsisLabel: I = !1,
|
|
20
20
|
labelClassName: x,
|
|
21
|
-
children:
|
|
22
|
-
className:
|
|
21
|
+
children: d,
|
|
22
|
+
className: v,
|
|
23
23
|
disabled: a = !1,
|
|
24
24
|
type: C = "button",
|
|
25
25
|
...w
|
|
26
26
|
}) => {
|
|
27
|
-
const y = r && s === o.Highlight, b = r && (s === o.Checkbox || s === o.Tint),
|
|
28
|
-
|
|
27
|
+
const y = r && s === o.Highlight, b = r && (s === o.Checkbox || s === o.Tint), i = e(
|
|
28
|
+
h && "text-error",
|
|
29
29
|
a && "text-control-disable-primary"
|
|
30
30
|
), p = e(
|
|
31
31
|
j,
|
|
@@ -35,33 +35,33 @@ const O = ({
|
|
|
35
35
|
y && M,
|
|
36
36
|
b && H,
|
|
37
37
|
a && D,
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
h && "text-error",
|
|
39
|
+
v,
|
|
40
40
|
A.menuItem
|
|
41
|
-
), N = /* @__PURE__ */
|
|
41
|
+
), N = /* @__PURE__ */ n(
|
|
42
42
|
"button",
|
|
43
43
|
{
|
|
44
44
|
type: C,
|
|
45
45
|
disabled: a,
|
|
46
46
|
"data-menu-item-row": m ? "" : void 0,
|
|
47
|
-
className: m ? "flex h-full min-w-0 flex-1 items-center gap-2 truncate text-start focus-visible:outline-
|
|
47
|
+
className: m ? "flex h-full min-w-0 flex-1 items-center gap-2 truncate text-start focus-visible:outline-hidden" : p,
|
|
48
48
|
...w,
|
|
49
49
|
children: [
|
|
50
|
-
|
|
50
|
+
d ?? /* @__PURE__ */ n(g, { children: [
|
|
51
51
|
s === o.Checkbox && /* @__PURE__ */ t(S, { isSelected: r, disabled: a }),
|
|
52
|
-
c && /* @__PURE__ */ t(k, { icon: c, className:
|
|
52
|
+
c && /* @__PURE__ */ t(k, { icon: c, className: i }),
|
|
53
53
|
I ? /* @__PURE__ */ t(
|
|
54
54
|
T,
|
|
55
55
|
{
|
|
56
56
|
text: l,
|
|
57
|
-
className: e(
|
|
57
|
+
className: e(i, x)
|
|
58
58
|
}
|
|
59
59
|
) : /* @__PURE__ */ t(
|
|
60
60
|
"span",
|
|
61
61
|
{
|
|
62
62
|
className: e(
|
|
63
63
|
"min-w-0 flex-1 truncate text-start",
|
|
64
|
-
|
|
64
|
+
i,
|
|
65
65
|
x
|
|
66
66
|
),
|
|
67
67
|
children: l
|
|
@@ -79,7 +79,7 @@ const O = ({
|
|
|
79
79
|
),
|
|
80
80
|
r && s === o.Check && L
|
|
81
81
|
] }),
|
|
82
|
-
|
|
82
|
+
u && /* @__PURE__ */ t("span", { className: e("ml-auto shrink-0", i), children: u })
|
|
83
83
|
]
|
|
84
84
|
}
|
|
85
85
|
);
|
|
@@ -88,7 +88,7 @@ const O = ({
|
|
|
88
88
|
`role="none"` so the wrapper does not come between a listbox and its
|
|
89
89
|
options: the row inside it keeps the role, the state and the click.
|
|
90
90
|
*/
|
|
91
|
-
/* @__PURE__ */
|
|
91
|
+
/* @__PURE__ */ n(
|
|
92
92
|
"div",
|
|
93
93
|
{
|
|
94
94
|
role: "none",
|
|
@@ -68,7 +68,7 @@ const ne = ({
|
|
|
68
68
|
inert: !t,
|
|
69
69
|
style: w,
|
|
70
70
|
className: r(
|
|
71
|
-
"fixed inset-y-0 end-0 flex w-full flex-col overflow-hidden bg-layer-raised outline-
|
|
71
|
+
"fixed inset-y-0 end-0 flex w-full flex-col overflow-hidden bg-layer-raised outline-hidden",
|
|
72
72
|
"desktop:w-[540px] desktop:rounded-s-xl desktop:border-s desktop:border-secondary",
|
|
73
73
|
"transition-transform duration-300 motion-reduce:transition-none",
|
|
74
74
|
t ? "translate-x-0" : "translate-x-full rtl:-translate-x-full",
|
|
@@ -410,7 +410,7 @@ const vt = ({
|
|
|
410
410
|
onKeyDown: (e) => {
|
|
411
411
|
e.stopPropagation();
|
|
412
412
|
},
|
|
413
|
-
className: "bg-transparent outline-
|
|
413
|
+
className: "bg-transparent outline-hidden w-full dial-small-text",
|
|
414
414
|
ref: P,
|
|
415
415
|
disabled: c,
|
|
416
416
|
"aria-disabled": c,
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { jsx as e } from "react/jsx-runtime";
|
|
2
2
|
import { DIAL_ICON_SIZE as t } from "../../constants/icon.js";
|
|
3
3
|
import { IconChevronDown as a } from "@tabler/icons-react";
|
|
4
|
-
const
|
|
4
|
+
const o = "dial-input flex w-full items-center justify-between gap-2 dial-small-text cursor-pointer", n = "w-full rounded flex flex-col", r = "flex w-full items-center justify-between gap-2 px-3 h-[34px] dial-small-text text-primary truncate hover:bg-accent-primary-alpha focus:bg-accent-primary-alpha focus:outline-hidden", i = "bg-accent-primary-alpha", p = "bg-accent-primary-alpha border-l border-accent-primary", m = "opacity-75", u = 352, d = 4, f = /* @__PURE__ */ e(a, { size: t.SM });
|
|
5
5
|
export {
|
|
6
6
|
u as dropdownMenuMaxHeight,
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
f as selectChevronIcon,
|
|
8
|
+
r as selectOptionBaseClassName,
|
|
9
9
|
m as selectOptionDisabledClassName,
|
|
10
10
|
i as selectOptionSelectedClassName,
|
|
11
11
|
p as selectOptionSingleSelectedClassName,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
n as selectOverlayBaseClassName,
|
|
13
|
+
d as selectSubMenuGap,
|
|
14
|
+
o as selectTriggerBaseClassName
|
|
15
15
|
};
|
|
@@ -121,7 +121,7 @@ const m = (t) => (t.toString().split(".")[1] ?? "").length, q = ({
|
|
|
121
121
|
"aria-label": j,
|
|
122
122
|
"aria-labelledby": X,
|
|
123
123
|
className: u(
|
|
124
|
-
"dial-small-text absolute -translate-x-1/2 flex size-[38px] cursor-grab select-none items-center justify-center rounded-full bg-layer-3 text-primary shadow focus:outline-
|
|
124
|
+
"dial-small-text absolute -translate-x-1/2 flex size-[38px] cursor-grab select-none items-center justify-center rounded-full bg-layer-3 text-primary shadow focus:outline-hidden focus-visible:ring-2 focus-visible:ring-focus",
|
|
125
125
|
P
|
|
126
126
|
),
|
|
127
127
|
style: { left: `${v}%` },
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
import { jsxs as f, jsx as
|
|
1
|
+
import { jsxs as f, jsx as r } from "react/jsx-runtime";
|
|
2
2
|
import { IconExclamationCircle as x, IconCheck as d } from "@tabler/icons-react";
|
|
3
|
-
import { StepStatus as
|
|
4
|
-
import
|
|
3
|
+
import { StepStatus as e } from "../../models/step.js";
|
|
4
|
+
import i from "classnames";
|
|
5
5
|
import { getCircleClass as C, getStepClass as p } from "./utils.js";
|
|
6
6
|
import { DIAL_ICON_SIZE as o } from "../../constants/icon.js";
|
|
7
7
|
const g = ({
|
|
8
8
|
step: t,
|
|
9
9
|
index: n,
|
|
10
|
-
currentStep:
|
|
10
|
+
currentStep: s,
|
|
11
11
|
onChangeStep: l
|
|
12
12
|
}) => {
|
|
13
|
-
const a = "h-[32px] flex flex-1 min-w-[180px] items-center dial-tiny-text cursor-pointer dial-step", m = "w-[22px] h-[22px] flex justify-center items-center mr-2 rounded-full
|
|
13
|
+
const a = "h-[32px] flex flex-1 min-w-[180px] items-center dial-tiny-text cursor-pointer dial-step", m = "w-[22px] h-[22px] flex justify-center items-center mr-2 rounded-full", c = () => s === t.id && t.status === e.ERROR ? /* @__PURE__ */ r(x, { stroke: 2, size: o.SM }) : s !== t.id && t.status === e.VALID ? /* @__PURE__ */ r(d, { stroke: 2, size: o.SM }) : n + 1;
|
|
14
14
|
return /* @__PURE__ */ f(
|
|
15
15
|
"button",
|
|
16
16
|
{
|
|
17
|
-
className:
|
|
17
|
+
className: i(a, p(t, s)),
|
|
18
18
|
onClick: () => l(t.id),
|
|
19
19
|
children: [
|
|
20
|
-
/* @__PURE__ */
|
|
20
|
+
/* @__PURE__ */ r(
|
|
21
21
|
"span",
|
|
22
22
|
{
|
|
23
|
-
className:
|
|
23
|
+
className: i(m, C(t, s)),
|
|
24
24
|
children: c()
|
|
25
25
|
}
|
|
26
26
|
),
|
|
27
|
-
/* @__PURE__ */
|
|
27
|
+
/* @__PURE__ */ r("span", { children: t.name })
|
|
28
28
|
]
|
|
29
29
|
}
|
|
30
30
|
);
|
|
@@ -121,7 +121,7 @@ const k = 8, ne = 24, fe = ({
|
|
|
121
121
|
onKeyDown: Q,
|
|
122
122
|
onBlur: Y,
|
|
123
123
|
className: v(
|
|
124
|
-
"dial-input outline-
|
|
124
|
+
"dial-input outline-hidden !border-none w-full flex-1 !p-1 !h-auto",
|
|
125
125
|
i ? "min-w-0" : "min-w-[100px]"
|
|
126
126
|
),
|
|
127
127
|
placeholder: X ?? "",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.16.0-dev.
|
|
3
|
-
"generatedAt": "2026-10-
|
|
2
|
+
"version": "0.16.0-dev.7",
|
|
3
|
+
"generatedAt": "2026-10-13T14:08:18.539Z",
|
|
4
4
|
"kit": {
|
|
5
5
|
"name": "@epam/ai-dial-ui-kit",
|
|
6
6
|
"description": "A modern UI kit for building AI DIAL interfaces with React",
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"setupNotes": "## Next.js Integration\n1. Install the package. React is the only peer you have to supply — everything\n the kit renders with, it installs itself.\n\n``` bash\nnpm install @epam/ai-dial-ui-kit\nnpm install react react-dom\n```\n\nAdd the editor packages only if you use the `@epam/ai-dial-ui-kit/editors`\nsubpath. They are optional peers, so `npm install` stays quiet without them, and\nthe kit only reaches for them when a `Lazy*` editor actually mounts:\n\n``` bash\nnpm install monaco-editor @monaco-editor/react @uiw/react-md-editor\n```\n\n2. Import style in the root layout of the project:\n\n```tsx\n// app/layout.tsx\nimport \"@epam/ai-dial-ui-kit/styles.css\";\n```\n\n3. Usage example\n\n```tsx\n// app/page.tsx\n\"use client\";\nimport { DialPrimaryButton } from \"@epam/ai-dial-ui-kit\";\n\nexport default function Home() {\n return (\n <div className=\"w-full h-full flex flex-col gap-3 items-center justify-center\">\n <h1>Test library</h1>\n <DialPrimaryButton onClick={() => alert('Hello AI DIAL!')} />\n </div>\n );\n}\n```\nSee \"🎨 Theming & Customization\" section in README."
|
|
18
18
|
},
|
|
19
19
|
"styles": "# Typography CSS Utility Classes\n\n## Design-system-compliant classes (`dial-*-text`)\n\nUse these by default. They follow the design system type scale.\n\n| Class | Design name | Weight | Size / Line-height |\n| --------------------------------- | --------------------------- | -------- | ----------------------------------- |\n| `.dial-display1-text` | Display 1 | semibold | 32px / 48px |\n| `.dial-display2-text` | Display 2 | semibold | 28px / 40px |\n| `.dial-display3-text` | Display 3 | semibold | 22px / 32px |\n| `.dial-h1-text` | Heading 1 | semibold | 20px / 28px |\n| `.dial-h2-text` | Heading 2 | semibold | 18px / 26px |\n| `.dial-h3-text` | Heading 3 | semibold | 16px / 24px |\n| `.dial-body-text` | Body Text | normal | 16px / 24px |\n| `.dial-body-semi-text` | Body Text (Semi Bold) | semibold | 16px / 24px |\n| `.dial-body-paragraph-text` | Body Paragraph | normal | 16px / 26px |\n| `.dial-body-paragraph-semi-text` | Body Paragraph (Semi Bold) | semibold | 16px / 26px |\n| `.dial-small-text` | Small Text | normal | 14px / 20px |\n| `.dial-small-semi-text` | Small Text (Semi Bold) | semibold | 14px / 20px |\n| `.dial-small-paragraph-text` | Small Paragraph | normal | 14px / 24px |\n| `.dial-small-paragraph-semi-text` | Small Paragraph (Semi Bold) | semibold | 14px / 24px |\n| `.dial-tiny-text` | Tiny Text | normal | 12px / 16px |\n| `.dial-tiny-lead-text` | Tiny Text Lead | normal | 12px / 16px (+0.03em, uppercase) |\n| `.dial-tiny-semi-text` | Tiny Text (Semi Bold) | semibold | 12px / 16px |\n| `.dial-tiny-lead-semi-text` | Tiny Text Lead (Semi Bold) | semibold | 12px / 16px (+0.03em, uppercase) |\n| `.dial-caption-text` | Caption | normal | 10px / 12px |\n| `.dial-caption-lead-semi-text` | Caption Lead (Semi Bold) | semibold | 10px / 12px (+0.06em, uppercase) |\n| `.dial-code-text` | Code | normal | 14px / 20px (Fira Code / monospace) |\n| `.dial-italic-text` | Italic | normal | 18px / 22px (serif, italic) |\n| `.dial-small-italic-text` | Small Italic | normal | 14px / 20px (serif, italic) |\n| `.dial-tiny-italic-text` | Tiny Italic | normal | 12px / 16px (serif, italic) |\n| `.dial-caption-italic-text` | Caption Italic | normal | 10px / 12px (serif, italic) |\n\nThe three `*-lead-*` classes apply `text-transform: uppercase` themselves — pass them the sentence-case string, not a pre-uppercased one, so the accessible name stays readable.\n\n`.dial-code-text` resolves its family through `var(--theme-font-mono, var(--font-fira-code, 'Fira Code'))` before falling back to the system monospace stack. The kit ships no font file; the host provides the face.\n\nThe `*-italic-text` classes use a serif italic face and are intended for mathematical and formula symbols. Their line-heights follow the corresponding typography size; the default 18px variant uses a fixed 22px line-height to keep standalone symbols vertically aligned without changing their container's height.\n\n## Legacy classes (avoid in new code)\n\nClasses like `dial-h1`, `dial-h2`, `dial-body`, `dial-small*`, `dial-tiny*`, `dial-caption` are legacy. They can be used in legacy projects if user explicidly specify they need legacy typography.\n\n## Raw SCSS source\n",
|
|
20
|
-
"theming": "# Theming & CSS Variable Tokens\n\nAI DIAL UI Kit uses CSS custom properties (variables) for theming.\nDark and light themes are switched by setting different values for these variables on `:root` or a theme wrapper element.\n\n## Usage in Tailwind\n\nThe Tailwind config maps CSS variables to utility classes.\nUse these classes in your components:\n\n```tsx\n// Backgrounds\n<div className=\"bg-layer-0\" /> // darkest background\n<div className=\"bg-layer-1\" /> // main content area\n<div className=\"bg-layer-2\" /> // elevated panels\n\n// Text\n<span className=\"text-primary\" /> // main text color\n<span className=\"text-secondary\" /> // muted text\n<span className=\"text-error\" /> // error state\n\n// Borders\n<div className=\"border border-primary\" /> // standard border\n<div className=\"border border-error\" /> // error border\n```\n\n## Override CSS Variables\n\n```css\n:root {\n --bg-layer-0: #000000;\n --bg-layer-1: #0c101d;\n --bg-layer-2: #161b2d;\n --bg-layer-3: #1d2439;\n --text-primary: #eef1f7;\n --text-secondary: #9fa6bd;\n --text-error: #f76464;\n --stroke-primary: #696e7c;\n --controls-bg-accent-primary: #3664e2;\n /* ... see
|
|
20
|
+
"theming": "# Theming & CSS Variable Tokens\n\nAI DIAL UI Kit uses CSS custom properties (variables) for theming.\nDark and light themes are switched by setting different values for these variables on `:root` or a theme wrapper element.\n\n## Usage in Tailwind\n\nThe Tailwind config maps CSS variables to utility classes.\nUse these classes in your components:\n\n```tsx\n// Backgrounds\n<div className=\"bg-layer-0\" /> // darkest background\n<div className=\"bg-layer-1\" /> // main content area\n<div className=\"bg-layer-2\" /> // elevated panels\n\n// Text\n<span className=\"text-primary\" /> // main text color\n<span className=\"text-secondary\" /> // muted text\n<span className=\"text-error\" /> // error state\n\n// Borders\n<div className=\"border border-primary\" /> // standard border\n<div className=\"border border-error\" /> // error border\n```\n\n## Override CSS Variables\n\n```css\n:root {\n --bg-layer-0: #000000;\n --bg-layer-1: #0c101d;\n --bg-layer-2: #161b2d;\n --bg-layer-3: #1d2439;\n --text-primary: #eef1f7;\n --text-secondary: #9fa6bd;\n --text-error: #f76464;\n --stroke-primary: #696e7c;\n --controls-bg-accent-primary: #3664e2;\n /* ... see src/styles/theme.scss for full list */\n}\n```\n\n## Overlay stacking\n\nPortalled overlays stack on a ladder driven by one variable, `--z-overlay`\n(default `52`): `z-popup` (base — `Popup` backdrop), `z-floating` (+1 —\n`Dropdown`/`Select` overlays, submenus, `Calendar`), `z-interactive-tooltip`\n(+2 — `InteractiveTooltip`), `z-tooltip` (+3 — `Tooltip`). To lift every\noverlay above a host's own sticky header or modal, set the base once on `:root`\n(or in a `ThemeScope` class) — the steps move together, so their order is kept:\n\n```css\n:root {\n --z-overlay: 1000;\n}\n```\n\nDo not override `[role='menu']` or hardcode `z-[53]` in a host. To move one\noverlay only, pass a `z-*` utility through its class prop (`listClassName`,\n`overlayClassName`, `contentClassName`, `panelClassName`) — `mergeClasses`\nreplaces the layer's step with it.\n\n## Token Reference\n\n\n### backgroundsColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-base` | `var(--bg-layer-base)` | `#f5f7fa` |\n| `error` | `var(--bg-error)` | `#f3d6d8` |\n| `warning` | `var(--bg-warning)` | `#faf0cf` |\n| `info` | `var(--bg-info)` | `#e1eaf9` |\n| `success` | `var(--bg-success)` | `#dbf1eb` |\n| `gradient-1` | `var(--bg-gradient-1)` | `#1d4ed8` |\n| `gradient-2` | `var(--bg-gradient-2)` | `#885df2` |\n| `blue` | `var(--bg-visual-blue)` | `#d6edf9` |\n| `green-1` | `var(--bg-visual-green-1)` | `#cde8e5` |\n| `green-2` | `var(--bg-visual-green-2)` | `#d1f0dc` |\n| `brown` | `var(--bg-visual-brown)` | `#fde8d8` |\n| `red` | `var(--bg-visual-red)` | `#fce7f3` |\n\n### borderColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `primary` | `var(--stroke-primary)` | `#57647a` |\n| `secondary` | `var(--stroke-secondary)` | `#d1dbea` |\n| `tertiary` | `var(--stroke-tertiary)` | `#e0e6f0` |\n| `error` | `var(--stroke-error)` | `#ae2f2f` |\n| `warning` | `var(--stroke-warning)` | `#eec840` |\n| `info` | `var(--stroke-info)` | `#1d4ed8` |\n| `accent` | `var(--stroke-accent)` | `#1d4ed8` |\n| `success` | `var(--stroke-success)` | `#007274` |\n| `default` | `var(--stroke-default)` | `#b2c2dd` |\n| `gradient-1` | `var(--stroke-gradient-1)` | `#5976e9` |\n| `gradient-2` | `var(--stroke-gradient-2)` | `#885df2` |\n| `focus` | `var(--stroke-focus)` | `#161b2d` |\n\n### textColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `primary` | `var(--text-primary)` | `#161b2d` |\n| `secondary` | `var(--text-secondary)` | `#57647a` |\n| `tertiary` | `var(--text-tertiary)` | `#848e9c` |\n| `accent` | `var(--text-accent)` | `#1d4ed8` |\n| `error` | `var(--text-error)` | `#ae2f2f` |\n| `warning` | `var(--text-warning)` | `#7f6300` |\n| `warning-icon` | `var(--text-warning-icon)` | `#eec840` |\n| `info` | `var(--text-info)` | `#1d4ed8` |\n| `success` | `var(--text-success)` | `#007274` |\n| `blue` | `var(--text-visual-blue)` | `#1189c8` |\n| `green-1` | `var(--text-visual-green-1)` | `#059669` |\n| `green-2` | `var(--text-visual-green-2)` | `#0d6e72` |\n| `green-3` | `var(--text-visual-green-3)` | `#065f46` |\n| `brown-1` | `var(--text-visual-brown-1)` | `#d36817` |\n| `brown-2` | `var(--text-visual-brown-2)` | `#b45309` |\n| `red` | `var(--text-visual-red)` | `#9d174d` |\n| `violet-1` | `var(--text-visual-violet-1)` | `#7c3aed` |\n| `violet-2` | `var(--text-visual-violet-2)` | `#3730b7` |\n\n### placeholderColor\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `primary` | `var(--text-primary)` | `#161b2d` |\n\n### backgroundsColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `layer-0` | `var(--bg-layer-0)` | `#fcfcfc` |\n| `layer-1` | `var(--bg-layer-1)` | `#e0e6f0` |\n| `layer-2` | `var(--bg-layer-2)` | `#eef1f7` |\n| `layer-3` | `var(--bg-layer-3)` | `#fcfcfc` |\n| `layer-4` | `var(--bg-layer-4)` | `#d1dbea` |\n| `blackout` | `var(--bg-blackout)` | `#0c101d4d` |\n| `error` | `var(--bg-error)` | `#f3d6d8` |\n| `warning` | `var(--bg-warning)` | `#faf0cf` |\n| `info` | `var(--bg-info)` | `#d6e2f9` |\n| `success` | `var(--bg-success)` | `#d9f0f1` |\n| `neutral` | `var(--bg-neutral)` | `#fcfcfc` |\n| `accent-primary` | `var(--bg-accent-primary)` | `#5c8dea` |\n| `accent-secondary` | `var(--bg-accent-secondary)` | `#37babc` |\n| `red-400` | `var(--bg-red-400)` | `#f76464` |\n| `controls-error` | `var(--controls-bg-error)` | `#ae2f2f` |\n| `controls-disable` | `var(--controls-bg-disable)` | `#d1dbea` |\n\n### borderColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--stroke-accent-primary)` | `#124ace` |\n| `accent-secondary` | `var(--stroke-accent-secondary)` | `#007274` |\n| `controls-accent` | `var(--controls-bg-accent)` | `#5c8dea` |\n| `hover` | `var(--stroke-hover)` | `#eef1f7` |\n| `red-900` | `var(--red-900)` | `#402027` |\n\n### textColorsToRemove\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `accent-primary` | `var(--text-accent-primary)` | `#7da4ff` |\n| `accent-secondary` | `var(--text-accent-secondary)` | `#37babc` |\n| `accent-tertiary` | `var(--text-accent-tertiary)` | `#a972ff` |\n| `controls-permanent` | `var(--controls-text-permanent)` | `#fcfcfc` |\n| `controls-neutral` | `var(--controls-text-neutral)` | `#161b2d` |\n\n### shadowColors\n| Tailwind class suffix | CSS variable | Default value |\n|---|---|---|\n| `sm` | `var(--shadow-sm)` | `#2764d914` |\n| `md` | `var(--shadow-md)` | `#2764d90f` |\n| `lg` | `var(--shadow-lg)` | `#2764d914` |",
|
|
21
21
|
"components": [
|
|
22
22
|
{
|
|
23
23
|
"name": "Spinner",
|