@epam/ai-dial-ui-kit 0.15.0-dev.14 → 0.15.0-dev.16
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 +2 -0
- package/dist/components/FileManager/FileManager.js +2 -2
- package/dist/components/New/Notification/Notification.js +37 -35
- package/dist/components-manifest.json +9 -3
- package/dist/dial-ui-kit.cjs +2 -2
- package/dist/file-manager.cjs +1 -1
- package/dist/src/components/New/Notification/Notification.d.ts +18 -0
- package/dist/{use-file-manager-tabs-Atz7tLcd.cjs → use-file-manager-tabs-DgIKWJoV.cjs} +1 -1
- package/package.json +1 -1
package/dist/CHANGELOG.md
CHANGED
|
@@ -19,6 +19,8 @@ Versions match the git tags on the `development` branch.
|
|
|
19
19
|
|
|
20
20
|
- **`Dropdown` (2.0) — `listStyle`** — the floating panel renders in a portal at the end of `<body>`, so CSS custom properties a caller sets on its own wrapper never reach the panel's rows or `menuHeader`, and `listClassName` can carry a class but not a runtime value. A wrapping component that themes its menu through `var(--…)` — a composer's model picker colouring its selected row and check — had no way to deliver the values. `listStyle` is an inline style on that panel. Positioning stays the dropdown's own: `floatingStyles` is applied on top, so a caller's `position`, `top` or `transform` cannot unanchor it. Additive; nothing renders differently without it. Requested in [ai-dial-chat#8943](https://github.com/epam/ai-dial-chat/issues/8943).
|
|
21
21
|
|
|
22
|
+
- **`Notification` (2.0) — `action` slot** — a notification had nowhere to put a control of its own: a "Try again" or "Reload" button had to be packed into `message`, where it sat inside the text column, wrapped with the copy and could not line up against a title. `action` takes any node and renders it at the inline end of the notification, after the text and before the close button, vertically centred and never shrunk by a long message. It sits inside the live region, so the control is reachable right where the error is announced; the caller supplies its visible label and handler. The slot is additive — a notification without `action` renders exactly as before. Requested in [ai-dial-chat#8979](https://github.com/epam/ai-dial-chat/issues/8979), where a failed chat response offers "Try again" inside its error banner.
|
|
23
|
+
|
|
22
24
|
- **`FilterChips` (2.0)** — a row of filter chips that picks one value out of a few, the chip-shaped sibling of `Tabs` and `SegmentedControl`. It draws `TagAppearance.Selectable` tags: no fill until selected, a semibold label once selected. Each chip is a toggle button carrying its state on `aria-pressed` inside a named `role="group"`, so every chip is its own tab stop and arrowing across the row never changes the filter by accident — unlike a `radiogroup`. `stretch` grows the chips to share the row width equally for a filter row spanning a side panel; without it they hug their labels. There is no disabled chip: an option the user must not pick is left out of `items`. Labels carry no English defaults, so the caller translates them. The row carries the public class `dial-kit-filter-chips` (`DIAL_KIT_CLASS.filterChips`); its chips are `Tag` pills, so they carry `dial-kit-tag`.
|
|
23
25
|
|
|
24
26
|
- **`Tabs` — `tabListClassName`, and a public class on the selected tab** — `className` lands on whichever element is outermost, so a `Tabs` with a `sectionLabel` left its `role="tablist"` unreachable: a caller wanting to repad the list had to choose between that and styling the wrapper. `tabListClassName` reaches the list in either case, and is additive to `className` when there is no heading and the two elements are one. The selected tab now also carries `dial-kit-tab-selected` (`DIAL_KIT_CLASS.tabSelected`) in both orientations, additive to `dial-kit-tab` — a wrapping component could mark a tab but not its selection, since the horizontal row's `dial-kit-tab-selected-underline` carries the gradient rule and the vertical rail draws its selection in Tailwind utilities alone. Like every entry in the record it carries no declarations. Both are additive: nothing renders differently.
|
|
@@ -620,10 +620,10 @@ const fn = (O) => /* @__PURE__ */ o(ni, { ...O, children: /* @__PURE__ */ o(Ai,
|
|
|
620
620
|
[I, K]
|
|
621
621
|
), mo = f(
|
|
622
622
|
() => ({
|
|
623
|
-
...M.additionalGridOptions,
|
|
624
|
-
onCellClicked: ro,
|
|
625
623
|
headerHeight: Co,
|
|
626
624
|
rowHeight: Co,
|
|
625
|
+
...M.additionalGridOptions,
|
|
626
|
+
onCellClicked: ro,
|
|
627
627
|
rowClass: "group/grid-row",
|
|
628
628
|
defaultColDef: {
|
|
629
629
|
...M.additionalGridOptions?.defaultColDef,
|
|
@@ -1,63 +1,65 @@
|
|
|
1
1
|
import { jsxs as r, jsx as a } from "react/jsx-runtime";
|
|
2
|
-
import { useMemo as
|
|
3
|
-
import { DialIcon as
|
|
4
|
-
import { NotificationVariant as
|
|
5
|
-
import { mergeClasses as
|
|
6
|
-
import { CloseButton as
|
|
7
|
-
import { variantIcons as I, notificationVariantRoleMap as M, notificationVariantClassNameMap as T, alertBaseClassName as
|
|
8
|
-
import { DIAL_KIT_CLASS as
|
|
9
|
-
const
|
|
10
|
-
variant: e =
|
|
11
|
-
type:
|
|
2
|
+
import { useMemo as k } from "react";
|
|
3
|
+
import { DialIcon as u } from "../../Icon/Icon.js";
|
|
4
|
+
import { NotificationVariant as c, NotificationType as s } from "../../../types/notification.js";
|
|
5
|
+
import { mergeClasses as d } from "../../../utils/merge-classes.js";
|
|
6
|
+
import { CloseButton as v } from "../CloseButton/CloseButton.js";
|
|
7
|
+
import { variantIcons as I, notificationVariantRoleMap as M, notificationVariantClassNameMap as T, alertBaseClassName as L } from "./constants.js";
|
|
8
|
+
import { DIAL_KIT_CLASS as V } from "../../../constants/public-class-names.js";
|
|
9
|
+
const R = ({
|
|
10
|
+
variant: e = c.Info,
|
|
11
|
+
type: i = s.Toast,
|
|
12
12
|
title: o,
|
|
13
|
-
message:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
message: l,
|
|
14
|
+
action: t,
|
|
15
|
+
className: f,
|
|
16
|
+
iconSize: m = 24,
|
|
17
|
+
iconStroke: n = 2,
|
|
18
|
+
closable: p = !1,
|
|
19
|
+
onClose: x,
|
|
20
|
+
children: h,
|
|
21
|
+
textClassName: N,
|
|
21
22
|
...w
|
|
22
23
|
}) => {
|
|
23
|
-
const
|
|
24
|
+
const g = k(() => I({ size: m, stroke: n })[e], [e, m, n]), C = N ?? (i === s.SectionMessage ? "flex-row flex-wrap items-baseline gap-x-1" : "flex-col");
|
|
24
25
|
return /* @__PURE__ */ r(
|
|
25
26
|
"div",
|
|
26
27
|
{
|
|
27
28
|
role: M[e],
|
|
28
29
|
...w,
|
|
29
|
-
className:
|
|
30
|
-
|
|
30
|
+
className: d(
|
|
31
|
+
L,
|
|
31
32
|
T[e],
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
i === s.Toast && "min-w-[200px] max-w-[600px] shadow-lg",
|
|
34
|
+
i === s.SectionMessage && e === c.Loading && "border-secondary",
|
|
35
|
+
f,
|
|
36
|
+
V.notification
|
|
36
37
|
),
|
|
37
38
|
children: [
|
|
38
39
|
/* @__PURE__ */ r("div", { className: "flex items-start gap-3 flex-1 min-w-0", children: [
|
|
39
|
-
/* @__PURE__ */ a("span", { "aria-hidden": "true", className: "flex shrink-0", children: /* @__PURE__ */ a(
|
|
40
|
+
/* @__PURE__ */ a("span", { "aria-hidden": "true", className: "flex shrink-0", children: /* @__PURE__ */ a(u, { icon: g }) }),
|
|
40
41
|
o ? /* @__PURE__ */ r(
|
|
41
42
|
"div",
|
|
42
43
|
{
|
|
43
|
-
className:
|
|
44
|
+
className: d(
|
|
44
45
|
"flex min-w-0 text-primary break-words",
|
|
45
|
-
|
|
46
|
+
C
|
|
46
47
|
),
|
|
47
48
|
children: [
|
|
48
49
|
/* @__PURE__ */ a("div", { className: "dial-small-paragraph-semi-text min-w-0 break-words", children: o }),
|
|
49
|
-
/* @__PURE__ */ a("div", { className: "dial-small-paragraph-text min-w-0 break-words", children:
|
|
50
|
+
/* @__PURE__ */ a("div", { className: "dial-small-paragraph-text min-w-0 break-words", children: l })
|
|
50
51
|
]
|
|
51
52
|
}
|
|
52
|
-
) : /* @__PURE__ */ a("div", { className: "dial-small-paragraph-text min-w-0 text-primary break-words", children:
|
|
53
|
+
) : /* @__PURE__ */ a("div", { className: "dial-small-paragraph-text min-w-0 text-primary break-words", children: l })
|
|
53
54
|
] }),
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
55
|
+
t != null && /* @__PURE__ */ a("div", { className: "flex shrink-0 items-center", children: t }),
|
|
56
|
+
h,
|
|
57
|
+
p && /* @__PURE__ */ a(
|
|
58
|
+
v,
|
|
57
59
|
{
|
|
58
60
|
className: "shrink-0 self-start",
|
|
59
61
|
ariaLabel: "Close notification",
|
|
60
|
-
onClose: (
|
|
62
|
+
onClose: (b) => x?.(b)
|
|
61
63
|
}
|
|
62
64
|
)
|
|
63
65
|
]
|
|
@@ -65,5 +67,5 @@ const K = ({
|
|
|
65
67
|
);
|
|
66
68
|
};
|
|
67
69
|
export {
|
|
68
|
-
|
|
70
|
+
R as Notification
|
|
69
71
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.15.0-dev.
|
|
3
|
-
"generatedAt": "2026-09-
|
|
2
|
+
"version": "0.15.0-dev.16",
|
|
3
|
+
"generatedAt": "2026-09-24T13:53:43.935Z",
|
|
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",
|
|
@@ -212,6 +212,12 @@
|
|
|
212
212
|
"required": true,
|
|
213
213
|
"description": "Message text to display inside the alert"
|
|
214
214
|
},
|
|
215
|
+
{
|
|
216
|
+
"name": "action",
|
|
217
|
+
"type": "ReactNode",
|
|
218
|
+
"required": false,
|
|
219
|
+
"description": "Optional control (typically a small `Button`) rendered at the inline end, after the text and before the close button; the caller supplies its accessible name"
|
|
220
|
+
},
|
|
215
221
|
{
|
|
216
222
|
"name": "closable",
|
|
217
223
|
"type": "boolean",
|
|
@@ -247,7 +253,7 @@
|
|
|
247
253
|
}
|
|
248
254
|
],
|
|
249
255
|
"examples": [
|
|
250
|
-
"<Notification\n variant={NotificationVariant.Info}\n message=\"This is an info alert.\"\n/>\n\n<Notification\n variant={NotificationVariant.Success}\n title=\"Saved\"\n message=\"Changes saved successfully.\"\n/>\n\n<Notification\n variant={NotificationVariant.Error}\n closable\n message=\"Something went wrong.\"\n onClose={(e) => console.log('closed', e)}\n/>\n\n<Notification\n variant={NotificationVariant.Loading}\n title=\"Processing\"\n message=\"Please wait...\"\n/>\n\n<Notification\n variant={NotificationVariant.General}\n type={NotificationType.SectionMessage}\n title=\"Title\"\n message=\"Description text example\"\n/>"
|
|
256
|
+
"<Notification\n variant={NotificationVariant.Info}\n message=\"This is an info alert.\"\n/>\n\n<Notification\n variant={NotificationVariant.Success}\n title=\"Saved\"\n message=\"Changes saved successfully.\"\n/>\n\n<Notification\n variant={NotificationVariant.Error}\n closable\n message=\"Something went wrong.\"\n onClose={(e) => console.log('closed', e)}\n/>\n\n<Notification\n variant={NotificationVariant.Loading}\n title=\"Processing\"\n message=\"Please wait...\"\n/>\n\n<Notification\n variant={NotificationVariant.General}\n type={NotificationType.SectionMessage}\n title=\"Title\"\n message=\"Description text example\"\n/>\n\n<Notification\n variant={NotificationVariant.Error}\n type={NotificationType.SectionMessage}\n title=\"Couldn't finish this response\"\n message=\"Something went wrong. Try again in a moment.\"\n action={\n <Button\n variant={ButtonVariant.Neutral}\n appearance={ButtonAppearance.Outlined}\n size={ElementSize.Small}\n label=\"Try again\"\n onClick={handleRetry}\n />\n }\n/>"
|
|
251
257
|
],
|
|
252
258
|
"sourceFile": "components/New/Notification/Notification.tsx"
|
|
253
259
|
},
|