@epam/ai-dial-ui-kit 0.16.0-dev.16 → 0.16.0-dev.18
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/CHANGELOG.md +5 -1
- package/dist/{DateCellRenderer-D8Th5Hi7.cjs → DateCellRenderer-DDEzIi2B.cjs} +8 -8
- package/dist/components/New/FolderPath/FolderPath.js +136 -77
- package/dist/components/New/Popup/constants.js +1 -1
- package/dist/components-manifest.json +3 -3
- package/dist/dial-ui-kit.cjs +3 -3
- package/dist/grid.cjs +1 -1
- package/dist/index.css +1 -1
- package/dist/src/components/New/FolderPath/FolderPath.d.ts +5 -0
- package/dist/src/components/New/Popup/constants.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,111 +1,170 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { IconFolder as
|
|
3
|
-
import {
|
|
4
|
-
import { breadcrumbListClassName as
|
|
5
|
-
import { DialIcon as
|
|
6
|
-
import { DIAL_KIT_ICON_STROKE as
|
|
7
|
-
import { Tooltip as
|
|
8
|
-
import { DIAL_ICON_SIZE as
|
|
9
|
-
import { mergeClasses as
|
|
10
|
-
import { DIAL_KIT_CLASS as
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import { jsx as s, jsxs as h } from "react/jsx-runtime";
|
|
2
|
+
import { IconFolder as O, IconDots as G, IconChevronRight as V } from "@tabler/icons-react";
|
|
3
|
+
import { useRef as f, useState as X, useCallback as v, useEffect as N } from "react";
|
|
4
|
+
import { breadcrumbListClassName as Z, breadcrumbBaseClassName as $, breadcrumbCurrentClassName as q, breadcrumbLinkBaseClassName as H, breadcrumbItemBaseClassName as x, breadcrumbSeparatorClassName as J } from "../../Breadcrumb/constants.js";
|
|
5
|
+
import { DialIcon as E } from "../../Icon/Icon.js";
|
|
6
|
+
import { DIAL_KIT_ICON_STROKE as b } from "../constants/icon.js";
|
|
7
|
+
import { Tooltip as Q } from "../Tooltip/Tooltip.js";
|
|
8
|
+
import { DIAL_ICON_SIZE as k } from "../../../constants/icon.js";
|
|
9
|
+
import { mergeClasses as o } from "../../../utils/merge-classes.js";
|
|
10
|
+
import { DIAL_KIT_CLASS as U } from "../../../constants/public-class-names.js";
|
|
11
|
+
import { observeElementSize as Y, scheduleMeasure as y } from "../../../utils/element-size-observer.js";
|
|
12
|
+
const ee = 3, fe = ({
|
|
13
|
+
segments: t,
|
|
14
|
+
labelClassName: R = "dial-small-text",
|
|
15
|
+
leafClassName: W = "dial-small-semi-text",
|
|
16
|
+
className: F,
|
|
17
|
+
ariaLabel: M = "Folder path"
|
|
17
18
|
}) => {
|
|
18
|
-
const I =
|
|
19
|
-
|
|
19
|
+
const p = f(null), L = f(null), I = f(null), [i, P] = X(!1), C = f(!1), S = f(0), c = v((e) => {
|
|
20
|
+
C.current = e, P(e);
|
|
21
|
+
}, []), n = v(() => {
|
|
22
|
+
const e = p.current;
|
|
23
|
+
if (!e) return;
|
|
24
|
+
if (C.current) {
|
|
25
|
+
e.clientWidth >= S.current && c(!1);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const r = L.current, a = I.current;
|
|
29
|
+
if (!r || !a) return;
|
|
30
|
+
const d = r.scrollWidth - r.clientWidth, B = parseFloat(getComputedStyle(a).minWidth) || 0, K = a.clientWidth <= B + 1;
|
|
31
|
+
d > 0 && K && (S.current = e.clientWidth + d, c(!0));
|
|
32
|
+
}, [c]);
|
|
33
|
+
N(() => {
|
|
34
|
+
const e = p.current;
|
|
35
|
+
if (e)
|
|
36
|
+
return Y(e, n);
|
|
37
|
+
}, [n]);
|
|
38
|
+
const A = t.join("\0");
|
|
39
|
+
N(() => {
|
|
40
|
+
c(!1), y(n);
|
|
41
|
+
}, [A, n, c]), N(() => {
|
|
42
|
+
i || y(n);
|
|
43
|
+
}, [i, n]);
|
|
44
|
+
const D = /* @__PURE__ */ s(
|
|
45
|
+
E,
|
|
20
46
|
{
|
|
21
|
-
icon: /* @__PURE__ */
|
|
22
|
-
|
|
47
|
+
icon: /* @__PURE__ */ s(
|
|
48
|
+
O,
|
|
23
49
|
{
|
|
24
|
-
size:
|
|
25
|
-
stroke:
|
|
50
|
+
size: k.SM,
|
|
51
|
+
stroke: b,
|
|
26
52
|
"aria-hidden": "true"
|
|
27
53
|
}
|
|
28
54
|
),
|
|
29
55
|
className: "text-secondary"
|
|
30
56
|
}
|
|
31
|
-
),
|
|
32
|
-
|
|
57
|
+
), _ = /* @__PURE__ */ s("span", { className: J, children: /* @__PURE__ */ s(
|
|
58
|
+
E,
|
|
33
59
|
{
|
|
34
|
-
icon: /* @__PURE__ */
|
|
35
|
-
|
|
60
|
+
icon: /* @__PURE__ */ s(
|
|
61
|
+
V,
|
|
36
62
|
{
|
|
37
63
|
size: 14,
|
|
38
|
-
stroke:
|
|
64
|
+
stroke: b,
|
|
39
65
|
"aria-hidden": "true",
|
|
40
66
|
className: "rtl:scale-x-[-1]"
|
|
41
67
|
}
|
|
42
68
|
),
|
|
43
69
|
className: "text-secondary"
|
|
44
70
|
}
|
|
45
|
-
),
|
|
46
|
-
|
|
47
|
-
"text-secondary"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
71
|
+
) }), j = o(
|
|
72
|
+
R,
|
|
73
|
+
"text-secondary cursor-default"
|
|
74
|
+
), l = t.length - 1, T = t.length >= 3 ? l - 1 : -1, g = t.length > ee || i, w = t.slice(
|
|
75
|
+
1,
|
|
76
|
+
i ? l : l - 1
|
|
77
|
+
), u = (e) => {
|
|
78
|
+
const r = e === l, a = e === T;
|
|
79
|
+
let d = t[e];
|
|
80
|
+
return r && (d = /* @__PURE__ */ s("span", { className: W, children: t[e] })), /* @__PURE__ */ h(
|
|
81
|
+
"li",
|
|
53
82
|
{
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
83
|
+
className: o(
|
|
84
|
+
x,
|
|
85
|
+
r && "min-w-0",
|
|
86
|
+
// Gives up its width long before the leaf does.
|
|
87
|
+
a && "shrink-[1000]",
|
|
88
|
+
!r && !a && "shrink-0"
|
|
89
|
+
),
|
|
90
|
+
children: [
|
|
91
|
+
/* @__PURE__ */ h(
|
|
92
|
+
"span",
|
|
93
|
+
{
|
|
94
|
+
className: o(
|
|
95
|
+
H,
|
|
96
|
+
q,
|
|
97
|
+
"pointer-events-none opacity-75",
|
|
98
|
+
// Lets the label's own minimum width hold the folder at one character.
|
|
99
|
+
a && "min-w-auto"
|
|
100
|
+
),
|
|
101
|
+
"aria-current": r ? "page" : void 0,
|
|
102
|
+
"aria-disabled": "true",
|
|
103
|
+
children: [
|
|
104
|
+
e === 0 && D,
|
|
105
|
+
/* @__PURE__ */ s(
|
|
106
|
+
"span",
|
|
107
|
+
{
|
|
108
|
+
ref: r && L || a && I || void 0,
|
|
109
|
+
className: o(
|
|
110
|
+
"truncate",
|
|
111
|
+
r && "min-w-0 flex-1",
|
|
112
|
+
a && "min-w-[2ch]",
|
|
113
|
+
j
|
|
114
|
+
),
|
|
115
|
+
children: d
|
|
116
|
+
}
|
|
117
|
+
)
|
|
118
|
+
]
|
|
119
|
+
}
|
|
120
|
+
),
|
|
121
|
+
!r && _
|
|
122
|
+
]
|
|
61
123
|
},
|
|
62
|
-
`item-${
|
|
124
|
+
`item-${e}`
|
|
63
125
|
);
|
|
64
|
-
},
|
|
65
|
-
|
|
66
|
-
"nav",
|
|
126
|
+
}, z = () => /* @__PURE__ */ h(
|
|
127
|
+
"li",
|
|
67
128
|
{
|
|
68
|
-
"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
F.folderPath
|
|
73
|
-
),
|
|
74
|
-
children: /* @__PURE__ */ r("ol", { className: D, children: u ? /* @__PURE__ */ l(C, { children: [
|
|
75
|
-
o(0),
|
|
76
|
-
/* @__PURE__ */ l(
|
|
77
|
-
"li",
|
|
129
|
+
className: o(x, "shrink-0"),
|
|
130
|
+
children: [
|
|
131
|
+
/* @__PURE__ */ h(
|
|
132
|
+
Q,
|
|
78
133
|
{
|
|
79
|
-
|
|
134
|
+
tooltip: t.join(" > "),
|
|
135
|
+
triggerClassName: "inline-flex cursor-default items-center text-secondary",
|
|
80
136
|
children: [
|
|
81
|
-
/* @__PURE__ */
|
|
82
|
-
|
|
137
|
+
/* @__PURE__ */ s(
|
|
138
|
+
G,
|
|
83
139
|
{
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
/* @__PURE__ */ r(
|
|
88
|
-
_,
|
|
89
|
-
{
|
|
90
|
-
size: n.SM,
|
|
91
|
-
stroke: t,
|
|
92
|
-
"aria-hidden": "true"
|
|
93
|
-
}
|
|
94
|
-
),
|
|
95
|
-
/* @__PURE__ */ r("span", { className: "sr-only", children: b.join(", ") })
|
|
96
|
-
]
|
|
140
|
+
size: k.SM,
|
|
141
|
+
stroke: b,
|
|
142
|
+
"aria-hidden": "true"
|
|
97
143
|
}
|
|
98
144
|
),
|
|
99
|
-
/* @__PURE__ */
|
|
145
|
+
/* @__PURE__ */ s("span", { className: "sr-only", children: w.join(", ") })
|
|
100
146
|
]
|
|
101
147
|
}
|
|
102
148
|
),
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
149
|
+
_
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
"ellipsis"
|
|
153
|
+
), m = [];
|
|
154
|
+
return g ? (m.push(u(0), z()), i || m.push(u(l - 1)), m.push(u(l))) : t.forEach((e, r) => m.push(u(r))), /* @__PURE__ */ s(
|
|
155
|
+
"nav",
|
|
156
|
+
{
|
|
157
|
+
ref: p,
|
|
158
|
+
"aria-label": M,
|
|
159
|
+
className: o(
|
|
160
|
+
$,
|
|
161
|
+
F,
|
|
162
|
+
U.folderPath
|
|
163
|
+
),
|
|
164
|
+
children: /* @__PURE__ */ s("ol", { className: Z, children: m })
|
|
106
165
|
}
|
|
107
166
|
);
|
|
108
167
|
};
|
|
109
168
|
export {
|
|
110
|
-
|
|
169
|
+
fe as FolderPath
|
|
111
170
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PopupSize as e } from "../../../types/popup.js";
|
|
2
|
-
const o = "z-popup flex items-center justify-center bg-backdrop md:p-4 gap-5 p-6", a = "relative flex w-full max-h-full flex-col rounded-xl bg-layer-raised md:h-auto", t = "flex flex-row items-center justify-between px-6 py-4", s = "flex-1 min-w-0 mr-3 truncate dial-
|
|
2
|
+
const o = "z-popup flex items-center justify-center bg-backdrop md:p-4 gap-5 p-6", a = "relative flex w-full max-h-full flex-col rounded-xl bg-layer-raised md:h-auto", t = "flex flex-row items-center justify-between px-6 py-4", s = "flex-1 min-w-0 mr-3 truncate dial-h3-text text-primary", l = "border-b border-tertiary", r = "flex flex-row items-center gap-2 px-6 py-4", m = "border-t border-tertiary", i = "flex shrink-0 flex-row items-center gap-2", x = "ml-auto mobile:flex-1", n = "mobile:flex-1", u = {
|
|
3
3
|
[e.Sm]: "max-w-full md:max-w-[400px]",
|
|
4
4
|
[e.Md]: "max-w-full md:max-w-[800px]",
|
|
5
5
|
[e.Lg]: "max-w-full md:max-w-[1200px]"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.16.0-dev.
|
|
3
|
-
"generatedAt": "2026-10-
|
|
2
|
+
"version": "0.16.0-dev.18",
|
|
3
|
+
"generatedAt": "2026-10-19T21:01:06.483Z",
|
|
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",
|
|
@@ -532,7 +532,7 @@
|
|
|
532
532
|
"name": "FolderPath",
|
|
533
533
|
"category": "Components_2_0",
|
|
534
534
|
"generation": "2.0",
|
|
535
|
-
"description": "A read-only, non-clickable folder/location path styled like `DialBreadcrumb`.\naliases: FolderBreadcrumb|LocationPath\nDesign system 2.0\n\nEvery segment is disabled (no navigation); the first segment gets a leading\nfolder icon and the last segment is styled as the current/leaf item. A path\nof more than three segments collapses its middle into a non-interactive `…`\nthat shows the full path (`Shared > Team > Sub > Reports`) in a tooltip on\nhover; the hidden segments stay in the accessible text.",
|
|
535
|
+
"description": "A read-only, non-clickable folder/location path styled like `DialBreadcrumb`.\naliases: FolderBreadcrumb|LocationPath\nDesign system 2.0\n\nEvery segment is disabled (no navigation); the first segment gets a leading\nfolder icon and the last segment is styled as the current/leaf item. A path\nof more than three segments collapses its middle into a non-interactive `…`\nthat shows the full path (`Shared > Team > Sub > Reports`) in a tooltip on\nhover; the hidden segments stay in the accessible text.\n\nWhen the path is too wide, the leaf keeps its width longest: the folder\nbefore it truncates first, down to about one character, and if the leaf\nstill does not fit, that folder joins the `…` as well. Only then does the\nleaf truncate.",
|
|
536
536
|
"props": [
|
|
537
537
|
{
|
|
538
538
|
"name": "segments",
|