@epam/ai-dial-ui-kit 0.15.0-dev.47 → 0.15.0-dev.48

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 CHANGED
@@ -67,6 +67,8 @@ Versions match the git tags on the `development` branch.
67
67
 
68
68
  ### Changed
69
69
 
70
+ - **`StarterButton` (2.0) — a sparkles icon by default** — the design puts a sparkles glyph before every starter label, so each host was passing the same `iconBefore`. `iconBefore` now defaults to a 20px `IconSparkles` at the 1.5 stroke, `aria-hidden`, and stroked with the starter gradient like any other icon. A caller-supplied `iconBefore` replaces it; `iconBefore={null}` keeps a label-only pill. A `StarterButton` that passed no `iconBefore` now draws the icon; no other API changes.
71
+
70
72
  - **`Select` (2.0) — multi-select tags are 24px, and the field wraps them with an 8px gap** — the tags in a multi-select field used the 32px pill of `Tag`, taller than the design's field chip. They are now 24px with a `rounded-md` shape, a `layer-sunken` fill and a `stroke-secondary` rim, and the wrapped field pads 8px vertically with 8px between tags, so one row of tags still fills the 40px field. `Tag` itself is unchanged. Visual only; no API changes.
71
73
 
72
74
  ### Fixed
@@ -1,30 +1,33 @@
1
- import { jsx as r, jsxs as B, Fragment as f } from "react/jsx-runtime";
2
- import { useId as h } from "react";
3
- import { ButtonAppearance as n, ButtonVariant as o } from "../../../types/button.js";
1
+ import { jsx as t, jsxs as B, Fragment as g } from "react/jsx-runtime";
2
+ import { IconSparkles as y } from "@tabler/icons-react";
3
+ import { useId as S } from "react";
4
+ import { DIAL_KIT_ICON_STROKE as h } from "../constants/icon.js";
5
+ import { DIAL_ICON_SIZE as k } from "../../../constants/icon.js";
6
+ import { ButtonAppearance as o, ButtonVariant as n } from "../../../types/button.js";
4
7
  import { Button as d } from "./Button.js";
5
- const l = (a, t) => ({ appearance: s, ...u }) => /* @__PURE__ */ r(
8
+ const p = (a, r) => ({ appearance: s, ...u }) => /* @__PURE__ */ t(
6
9
  d,
7
10
  {
8
11
  ...u,
9
12
  variant: a,
10
- appearance: s || t
13
+ appearance: s || r
11
14
  }
12
- ), p = (a, t) => ({ variant: s, ...u }) => /* @__PURE__ */ r(
15
+ ), c = (a, r) => ({ variant: s, ...u }) => /* @__PURE__ */ t(
13
16
  d,
14
17
  {
15
18
  ...u,
16
- variant: s || t,
19
+ variant: s || r,
17
20
  appearance: a
18
21
  }
19
- ), N = l(
20
- o.Primary,
21
- n.Solid
22
- ), C = l(
23
- o.Neutral,
24
- n.Solid
25
- ), G = l(
26
- o.Danger,
27
- n.Solid
22
+ ), A = p(
23
+ n.Primary,
24
+ o.Solid
25
+ ), E = p(
26
+ n.Neutral,
27
+ o.Solid
28
+ ), R = p(
29
+ n.Danger,
30
+ o.Solid
28
31
  ), e = {
29
32
  x1: "-5.06",
30
33
  y1: "2.26",
@@ -32,69 +35,76 @@ const l = (a, t) => ({ appearance: s, ...u }) => /* @__PURE__ */ r(
32
35
  y2: "22.63",
33
36
  from: "var(--stroke-gradient-1, #5976E9)",
34
37
  to: "var(--stroke-gradient-2, #885DF2)"
35
- }, O = ({
36
- appearance: a = n.Outlined,
37
- iconBefore: t,
38
+ }, x = /* @__PURE__ */ t(
39
+ y,
40
+ {
41
+ size: k.MD,
42
+ stroke: h,
43
+ "aria-hidden": !0
44
+ }
45
+ ), G = ({
46
+ appearance: a = o.Outlined,
47
+ iconBefore: r = x,
38
48
  iconAfter: i,
39
49
  style: s,
40
50
  ...u
41
51
  }) => {
42
- const c = `dial-kit-starter-gradient-${h().replace(/[^\w-]/g, "")}`, g = /* @__PURE__ */ r(
52
+ const l = `dial-kit-starter-gradient-${S().replace(/[^\w-]/g, "")}`, f = /* @__PURE__ */ t(
43
53
  "svg",
44
54
  {
45
55
  className: "pointer-events-none absolute size-0 overflow-hidden",
46
56
  "aria-hidden": "true",
47
57
  focusable: "false",
48
- children: /* @__PURE__ */ r("defs", { children: /* @__PURE__ */ B(
58
+ children: /* @__PURE__ */ t("defs", { children: /* @__PURE__ */ B(
49
59
  "linearGradient",
50
60
  {
51
- id: c,
61
+ id: l,
52
62
  x1: e.x1,
53
63
  y1: e.y1,
54
64
  x2: e.x2,
55
65
  y2: e.y2,
56
66
  gradientUnits: "userSpaceOnUse",
57
67
  children: [
58
- /* @__PURE__ */ r("stop", { stopColor: e.from }),
59
- /* @__PURE__ */ r("stop", { offset: "1", stopColor: e.to })
68
+ /* @__PURE__ */ t("stop", { stopColor: e.from }),
69
+ /* @__PURE__ */ t("stop", { offset: "1", stopColor: e.to })
60
70
  ]
61
71
  }
62
72
  ) })
63
73
  }
64
- ), m = (y) => /* @__PURE__ */ B(f, { children: [
65
- g,
66
- y
74
+ ), m = (I) => /* @__PURE__ */ B(g, { children: [
75
+ f,
76
+ I
67
77
  ] });
68
- return /* @__PURE__ */ r(
78
+ return /* @__PURE__ */ t(
69
79
  d,
70
80
  {
71
81
  ...u,
72
- variant: o.Starter,
82
+ variant: n.Starter,
73
83
  appearance: a,
74
- iconBefore: t ? m(t) : void 0,
75
- iconAfter: i && !t ? m(i) : i,
84
+ iconBefore: r ? m(r) : void 0,
85
+ iconAfter: i && !r ? m(i) : i,
76
86
  style: {
77
- "--dial-kit-starter-icon-stroke": `url(#${c})`,
87
+ "--dial-kit-starter-icon-stroke": `url(#${l})`,
78
88
  ...s
79
89
  }
80
90
  }
81
91
  );
82
- }, D = p(
83
- n.Link,
84
- o.Primary
85
- ), I = p(
86
- n.Ghost,
87
- o.Primary
88
- ), P = p(
89
- n.Outlined,
90
- o.Neutral
92
+ }, L = c(
93
+ o.Link,
94
+ n.Primary
95
+ ), P = c(
96
+ o.Ghost,
97
+ n.Primary
98
+ ), W = c(
99
+ o.Outlined,
100
+ n.Neutral
91
101
  );
92
102
  export {
93
- G as DangerButton,
94
- I as GhostButton,
95
- D as LinkButton,
96
- C as NeutralButton,
97
- P as OutlinedButton,
98
- N as PrimaryButton,
99
- O as StarterButton
103
+ R as DangerButton,
104
+ P as GhostButton,
105
+ L as LinkButton,
106
+ E as NeutralButton,
107
+ W as OutlinedButton,
108
+ A as PrimaryButton,
109
+ G as StarterButton
100
110
  };
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.15.0-dev.47",
3
- "generatedAt": "2026-10-07T20:31:41.572Z",
2
+ "version": "0.15.0-dev.48",
3
+ "generatedAt": "2026-10-07T21:46:14.687Z",
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",
@@ -709,10 +709,10 @@
709
709
  "name": "StarterButton",
710
710
  "category": "Components_2_0",
711
711
  "generation": "2.0",
712
- "description": "A Starter Button component — a conversation starter: an outlined neutral\npill whose icons are stroked with the accent gradient\nDesign system 2.0\n\nAn SVG stroke cannot take a CSS gradient, so the button renders its own\n`linearGradient` with a per-instance id and hands it to its icons through\nthe `--dial-kit-starter-icon-stroke` custom property. Any icon that strokes\nwith `currentColor`, as Tabler icons do, picks it up.",
712
+ "description": "A Starter Button component — a conversation starter: an outlined neutral\npill whose icons are stroked with the accent gradient\nDesign system 2.0\n\n`iconBefore` defaults to a sparkles icon; pass `null` for a label-only pill.\n\nAn SVG stroke cannot take a CSS gradient, so the button renders its own\n`linearGradient` with a per-instance id and hands it to its icons through\nthe `--dial-kit-starter-icon-stroke` custom property. Any icon that strokes\nwith `currentColor`, as Tabler icons do, picks it up.",
713
713
  "props": [],
714
714
  "examples": [
715
- "<StarterButton\n label=\"Summarize this document\"\n iconBefore={<IconSparkles />}\n onClick={handleClick}\n/>"
715
+ "<StarterButton\n label=\"Summarize this document\"\n onClick={handleClick}\n/>"
716
716
  ],
717
717
  "sourceFile": "components/New/Button/ButtonWrappers.tsx"
718
718
  },