@epam/ai-dial-ui-kit 0.15.0 → 0.15.1

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
@@ -73,6 +73,8 @@ Versions match the git tags on the `development` branch.
73
73
 
74
74
  ### Changed
75
75
 
76
+ - **`Popup` (2.0) — footer buttons split the row evenly on mobile** — below the `mobile` breakpoint (768px), where the popup fills the screen, the trailing `mainButtons` group now spans the footer and each of its buttons takes an equal share, so a Cancel/Confirm pair renders 50/50 and a single button fills the row. `additionalButtons` in the trailing group stretch with it; with `additionalButtonsOnLeft` they keep their natural width. Desktop is unchanged, a caller's `className` on a button still merges on top, and a custom `footer` node is not touched. The props are unchanged. Reported on the mobile dialogs in ai-dial-chat.
77
+
76
78
  - **`Slider` (2.0) — ticks** — ticks are drawn in the `Controls/Stroke/Accent-focus` token (`--stroke-accent-focus`, was the neutral control grey), and there is one per step after `min`: a 0–1 slider at 0.1 now draws exactly 10. The tick at `min` was always under the thumb or the fill, so nothing visible is lost. Visual only; no props change.
77
79
 
78
80
  - **`Grid` (2.0) — a 1px header divider and an accent outline on hovered and selected rows** — the line under the header was on the thin 0.5px stroke like the rows, so the table body did not read as separate from its header; it is now the 1px main stroke, while the rows keep 0.5px. A hovered or selected row is outlined top and bottom with the design system shadow colour `--shadow-xs-1`, drawn as an inset shadow so the row keeps its height, and tinted with the new `--bg-control-accent-alpha-hover-subtle` (hover) and `--bg-control-accent-alpha-active-subtle` (selected) tokens. The line between the header titles and the filter row is removed, and the search fields use an 8px radius. The 1px line under the header was never drawn — ag-Grid's `border-bottom: none` collapsed it to 0 — and now is; column titles are 10px semibold caps, the header dividers are the design's short 12px marks, and the filter inputs use 12px text. Visual only; no prop changes.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),u=require("./editor-BH6_A1k2.cjs"),d=require("@monaco-editor/react");function f(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(o,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}return o.default=e,Object.freeze(o)}const m=f(d),b=({value:e,onChange:o,onValidateJSON:t,options:a,currentTheme:n,themesConfig:i=u.EDITOR_THEMES_CONFIG})=>{function s(r){r?.editor?.defineTheme(n,i[n]),r.languages.json.jsonDefaults.setDiagnosticsOptions({validate:!0,enableSchemaRequest:!1,schemas:[{uri:"http://custom-schema/object-required.json",fileMatch:["*"],schema:{type:"object",description:"Top-level value must be an object",additionalProperties:!0}}]})}const{Editor:l}=m;return c.jsx(l,{beforeMount:s,height:"100%",defaultLanguage:"json",value:e,onChange:o,theme:n,onValidate:t,options:{minimap:{enabled:!1},formatOnType:!0,formatOnPaste:!0,selectOnLineNumbers:!1,automaticLayout:!0,scrollBeyondLastLine:!1,wordWrap:"on",smoothScrolling:!0,overviewRulerLanes:0,scrollbar:{horizontal:"hidden",verticalScrollbarSize:4,verticalSliderSize:4},...a??{}}})};exports.DialJsonEditor=b;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("react"),O=require("@uiw/react-md-editor"),_=require("./lazy-_W6FYhKg.cjs"),k=require("./merge-classes-BEJXjzkx.cjs"),o=require("@tabler/icons-react"),p=require("./icon-DhjrDQ8I.cjs"),f=require("./icon-CrGVkVpG.cjs");function E(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(i,r,c.get?c:{enumerable:!0,get:()=>n[r]})}}return i.default=n,Object.freeze(i)}const h=E(O),L=f.DIAL_ICON_SIZE.SM,t={size:L,stroke:p.DIAL_KIT_ICON_STROKE},s=(n,i)=>({...n,icon:i}),M=()=>{const{bold:n,code:i,divider:r,group:c,heading1:a,heading2:d,heading3:u,italic:l,link:m,orderedListCommand:I,quote:g,strikethrough:x,table:j,unorderedListCommand:C}=h;return[s(n,e.jsx(o.IconBold,{...t})),s(l,e.jsx(o.IconItalic,{...t})),s(x,e.jsx(o.IconStrikethrough,{...t})),r,c([a,d,u],{name:"heading",groupName:"heading",icon:e.jsx(o.IconTextSize,{...t}),buttonProps:{"aria-label":"Text style",title:"Text style"}}),r,s(C,e.jsx(o.IconList,{...t})),s(I,e.jsx(o.IconListNumbers,{...t})),r,s(g,e.jsx(o.IconQuote,{...t})),s(m,e.jsx(o.IconLink,{...t})),s(i,e.jsx(o.IconCode,{...t})),r,s(j,e.jsx(o.IconTable,{...t}))]},S=()=>{const{codeEdit:n,codeLive:i,codePreview:r,divider:c,fullscreen:a}=h;return[s(n,e.jsx(o.IconPencil,{...t})),s(i,e.jsx(o.IconLayoutColumns,{...t})),s(r,e.jsx(o.IconEye,{...t})),c,s(a,e.jsx(o.IconMaximize,{...t}))]},T=({value:n,onChange:i,height:r=300,theme:c=_.EditorThemes.light,className:a,placeholder:d,defaultPreview:u="edit",id:l,ariaLabel:m,showDragbar:I=!0})=>{const g=b.useMemo(()=>M(),[]),x=b.useMemo(()=>S(),[]);return e.jsx("div",{"data-color-mode":c,className:k.mergeClasses("dial-kit-markdown-editor",a),children:e.jsx(O,{value:n,onChange:j=>i?.(j||""),height:r,preview:u,visibleDragbar:I,commands:g,extraCommands:x,textareaProps:{placeholder:d,id:l,"aria-label":m}})})};exports.MarkdownEditor=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),b=require("react"),O=require("@uiw/react-md-editor"),_=require("./lazy-DMVYJhUR.cjs"),k=require("./merge-classes-BEJXjzkx.cjs"),o=require("@tabler/icons-react"),p=require("./icon-DhjrDQ8I.cjs"),f=require("./icon-CrGVkVpG.cjs");function E(n){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(n){for(const r in n)if(r!=="default"){const c=Object.getOwnPropertyDescriptor(n,r);Object.defineProperty(i,r,c.get?c:{enumerable:!0,get:()=>n[r]})}}return i.default=n,Object.freeze(i)}const h=E(O),L=f.DIAL_ICON_SIZE.SM,t={size:L,stroke:p.DIAL_KIT_ICON_STROKE},s=(n,i)=>({...n,icon:i}),M=()=>{const{bold:n,code:i,divider:r,group:c,heading1:a,heading2:d,heading3:u,italic:l,link:m,orderedListCommand:I,quote:g,strikethrough:x,table:j,unorderedListCommand:C}=h;return[s(n,e.jsx(o.IconBold,{...t})),s(l,e.jsx(o.IconItalic,{...t})),s(x,e.jsx(o.IconStrikethrough,{...t})),r,c([a,d,u],{name:"heading",groupName:"heading",icon:e.jsx(o.IconTextSize,{...t}),buttonProps:{"aria-label":"Text style",title:"Text style"}}),r,s(C,e.jsx(o.IconList,{...t})),s(I,e.jsx(o.IconListNumbers,{...t})),r,s(g,e.jsx(o.IconQuote,{...t})),s(m,e.jsx(o.IconLink,{...t})),s(i,e.jsx(o.IconCode,{...t})),r,s(j,e.jsx(o.IconTable,{...t}))]},S=()=>{const{codeEdit:n,codeLive:i,codePreview:r,divider:c,fullscreen:a}=h;return[s(n,e.jsx(o.IconPencil,{...t})),s(i,e.jsx(o.IconLayoutColumns,{...t})),s(r,e.jsx(o.IconEye,{...t})),c,s(a,e.jsx(o.IconMaximize,{...t}))]},T=({value:n,onChange:i,height:r=300,theme:c=_.EditorThemes.light,className:a,placeholder:d,defaultPreview:u="edit",id:l,ariaLabel:m,showDragbar:I=!0})=>{const g=b.useMemo(()=>M(),[]),x=b.useMemo(()=>S(),[]);return e.jsx("div",{"data-color-mode":c,className:k.mergeClasses("dial-kit-markdown-editor",a),children:e.jsx(O,{value:n,onChange:j=>i?.(j||""),height:r,preview:u,visibleDragbar:I,commands:g,extraCommands:x,textareaProps:{placeholder:d,id:l,"aria-label":m}})})};exports.MarkdownEditor=T;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),m=require("@uiw/react-md-editor"),u=require("./lazy-_W6FYhKg.cjs"),x=require("./merge-classes-BEJXjzkx.cjs"),g=({value:r,onChange:s,height:o=300,preview:i="edit",theme:a=u.EditorThemes.dark,className:n,placeholder:t,showDragbar:d=!0})=>{const l=t!==void 0&&!r;return e.jsxs("div",{"data-color-mode":a,className:x.mergeClasses("relative",n),children:[e.jsx(m,{value:r,onChange:c=>s?.(c||""),height:o,preview:i,visibleDragbar:d}),l&&e.jsx("div",{className:"pointer-events-none absolute left-0 top-8 px-2 dial-small-text text-secondary opacity-40",children:t})]})};exports.DialMarkdownEditor=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),m=require("@uiw/react-md-editor"),u=require("./lazy-DMVYJhUR.cjs"),x=require("./merge-classes-BEJXjzkx.cjs"),g=({value:r,onChange:s,height:o=300,preview:i="edit",theme:a=u.EditorThemes.dark,className:n,placeholder:t,showDragbar:d=!0})=>{const l=t!==void 0&&!r;return e.jsxs("div",{"data-color-mode":a,className:x.mergeClasses("relative",n),children:[e.jsx(m,{value:r,onChange:c=>s?.(c||""),height:o,preview:i,visibleDragbar:d}),l&&e.jsx("div",{className:"pointer-events-none absolute left-0 top-8 px-2 dial-small-text text-secondary opacity-40",children:t})]})};exports.DialMarkdownEditor=g;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react");require("./editor-BH6_A1k2.cjs");const N=require("./lazy-DMVYJhUR.cjs");require("@monaco-editor/react");const m=require("./Switch-DE6MrcqJ.cjs"),b=require("./MarkdownEditor-Dav_pp0T.cjs"),g=({value:o,onChangeValue:l,label:i,headerContent:a,switcherLabel:d,height:c=300,theme:u=N.EditorThemes.dark,onValidateJSON:x,preview:j="edit",showDragbar:w=!0})=>{const C=n.useId(),[t,p]=n.useState(!1),[f,S]=n.useState(null);n.useEffect(()=>{t&&typeof window<"u"&&Promise.resolve().then(()=>require("./JsonEditor-eAV7SaKu.cjs")).then(s=>{S(()=>s.DialJsonEditor)})},[t]);const h=n.useCallback(s=>{l?.(s)},[l]),E=n.useCallback(s=>{x?.(s)},[x]),r=!!d;return e.jsx("div",{className:"size-full flex flex-col",children:e.jsx("div",{className:"flex flex-col gap-8",children:e.jsxs("div",{children:[(i||a||r)&&e.jsxs("div",{className:"flex justify-between items-center mb-2",children:[i&&e.jsx(m.DialLabel,{label:i}),e.jsxs("div",{className:"flex items-center gap-2 flex-1 justify-end",children:[a,r&&e.jsx("label",{className:"flex items-center gap-2 cursor-pointer",children:e.jsx(m.DialSwitch,{isOn:t,label:d,switchId:C,onChange:s=>p(s)})})]})]}),r&&t?e.jsx("div",{className:"border border-primary rounded",style:{height:`${c}px`},children:f&&e.jsx(f,{value:o,onChange:h,onValidateJSON:E,currentTheme:u})}):e.jsx(b.DialMarkdownEditor,{value:o,onChange:h,height:c,preview:j,showDragbar:w,theme:u})]})})})};exports.DialMarkdownEditorContainer=g;
@@ -1,27 +1,29 @@
1
1
  import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
2
  import { useId as J, useState as u, useEffect as S, useCallback as x } from "react";
3
- import { DialSwitch as b } from "../Switch/Switch.js";
4
- import { EditorThemes as v } from "../../types/editor.js";
3
+ import "../../constants/editor.js";
4
+ import { EditorThemes as b } from "../../types/editor.js";
5
+ import "@monaco-editor/react";
6
+ import { DialSwitch as v } from "../Switch/Switch.js";
5
7
  import { DialMarkdownEditor as y } from "./MarkdownEditor.js";
6
8
  import { DialLabel as j } from "../Label/Label.js";
7
- const B = ({
9
+ const q = ({
8
10
  value: s,
9
11
  onChangeValue: l,
10
- label: t,
12
+ label: i,
11
13
  headerContent: d,
12
14
  switcherLabel: a,
13
15
  height: c = 300,
14
- theme: m = v.dark,
16
+ theme: m = b.dark,
15
17
  onValidateJSON: f,
16
18
  preview: C = "edit",
17
19
  showDragbar: N = !0
18
20
  }) => {
19
- const w = J(), [n, D] = u(!1), [p, E] = u(null);
21
+ const w = J(), [t, D] = u(!1), [p, E] = u(null);
20
22
  S(() => {
21
- n && typeof window < "u" && import("../JsonEditor/JsonEditor.js").then((o) => {
23
+ t && typeof window < "u" && import("../JsonEditor/JsonEditor.js").then((o) => {
22
24
  E(() => o.DialJsonEditor);
23
25
  });
24
- }, [n]);
26
+ }, [t]);
25
27
  const h = x(
26
28
  (o) => {
27
29
  l?.(o);
@@ -32,16 +34,16 @@ const B = ({
32
34
  f?.(o);
33
35
  },
34
36
  [f]
35
- ), i = !!a;
37
+ ), n = !!a;
36
38
  return /* @__PURE__ */ e("div", { className: "size-full flex flex-col", children: /* @__PURE__ */ e("div", { className: "flex flex-col gap-8", children: /* @__PURE__ */ r("div", { children: [
37
- (t || d || i) && /* @__PURE__ */ r("div", { className: "flex justify-between items-center mb-2", children: [
38
- t && /* @__PURE__ */ e(j, { label: t }),
39
+ (i || d || n) && /* @__PURE__ */ r("div", { className: "flex justify-between items-center mb-2", children: [
40
+ i && /* @__PURE__ */ e(j, { label: i }),
39
41
  /* @__PURE__ */ r("div", { className: "flex items-center gap-2 flex-1 justify-end", children: [
40
42
  d,
41
- i && /* @__PURE__ */ e("label", { className: "flex items-center gap-2 cursor-pointer", children: /* @__PURE__ */ e(
42
- b,
43
+ n && /* @__PURE__ */ e("label", { className: "flex items-center gap-2 cursor-pointer", children: /* @__PURE__ */ e(
44
+ v,
43
45
  {
44
- isOn: n,
46
+ isOn: t,
45
47
  label: a,
46
48
  switchId: w,
47
49
  onChange: (o) => D(o)
@@ -49,7 +51,7 @@ const B = ({
49
51
  ) })
50
52
  ] })
51
53
  ] }),
52
- i && n ? /* @__PURE__ */ e(
54
+ n && t ? /* @__PURE__ */ e(
53
55
  "div",
54
56
  {
55
57
  className: "border border-primary rounded",
@@ -78,5 +80,5 @@ const B = ({
78
80
  ] }) }) });
79
81
  };
80
82
  export {
81
- B as DialMarkdownEditorContainer
83
+ q as DialMarkdownEditorContainer
82
84
  };
@@ -1,160 +1,183 @@
1
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
- import { useFloating as Q, useRole as U, useDismiss as W, useInteractions as X, FloatingPortal as Y, FloatingOverlay as ee, FloatingFocusManager as oe } from "@floating-ui/react";
3
- import { useRef as re, useId as se } from "react";
4
- import { Button as ae } from "../Button/Button.js";
5
- import { CloseButton as ie } from "../CloseButton/CloseButton.js";
6
- import { GhostIconButton as le } from "../IconButton/IconButtonWrappers.js";
7
- import { Tooltip as te } from "../Tooltip/Tooltip.js";
8
- import { DIAL_KIT_ICON_STROKE as ne } from "../constants/icon.js";
9
- import { DIAL_ICON_SIZE as pe } from "../../../constants/icon.js";
10
- import { ButtonVariant as me } from "../../../types/button.js";
11
- import { PopupSize as ce } from "../../../types/popup.js";
12
- import { ElementSize as de } from "../../../types/size.js";
13
- import { useThemeScope as ue } from "../ThemeScope/ThemeScope.js";
14
- import { mergeClasses as r } from "../../../utils/merge-classes.js";
15
- import { IconChevronLeft as fe } from "@tabler/icons-react";
16
- import { popupActionsGroupClassName as l, popupHeaderDividerClassName as ge, popupHeaderClassName as he, popupSizeClassMap as Ne, popupBaseClassName as Ce, popupOverlayBaseClassName as ve, popupTitleClassName as Ie, popupFooterDividerClassName as Fe, popupFooterClassName as Se } from "./constants.js";
17
- import { DIAL_KIT_CLASS as xe } from "../../../constants/public-class-names.js";
18
- const je = ({
19
- open: t = !1,
20
- header: n,
21
- ariaLabel: F,
22
- portalId: S,
23
- className: x,
24
- overlayClassName: T,
25
- overlayStyle: _,
26
- titleClassName: b,
27
- headerClassName: y,
28
- bodyClassName: z,
1
+ import { jsx as o, jsxs as r } from "react/jsx-runtime";
2
+ import { useFloating as X, useRole as Y, useDismiss as ee, useInteractions as oe, FloatingPortal as se, FloatingOverlay as re, FloatingFocusManager as ae } from "@floating-ui/react";
3
+ import { useRef as ie, useId as le } from "react";
4
+ import { Button as te } from "../Button/Button.js";
5
+ import { CloseButton as ne } from "../CloseButton/CloseButton.js";
6
+ import { GhostIconButton as pe } from "../IconButton/IconButtonWrappers.js";
7
+ import { Tooltip as me } from "../Tooltip/Tooltip.js";
8
+ import { DIAL_KIT_ICON_STROKE as ce } from "../constants/icon.js";
9
+ import { DIAL_ICON_SIZE as ue } from "../../../constants/icon.js";
10
+ import { ButtonVariant as de } from "../../../types/button.js";
11
+ import { PopupSize as fe } from "../../../types/popup.js";
12
+ import { ElementSize as Ne } from "../../../types/size.js";
13
+ import { useThemeScope as ge } from "../ThemeScope/ThemeScope.js";
14
+ import { mergeClasses as s } from "../../../utils/merge-classes.js";
15
+ import { IconChevronLeft as he } from "@tabler/icons-react";
16
+ import { popupActionsGroupClassName as t, popupHeaderDividerClassName as Ce, popupHeaderClassName as ve, popupSizeClassMap as Ie, popupBaseClassName as Fe, popupOverlayBaseClassName as Se, popupTitleClassName as xe, popupMainActionsGroupClassName as Te, popupFooterDividerClassName as _e, popupFooterClassName as be, popupMainActionButtonClassName as F } from "./constants.js";
17
+ import { DIAL_KIT_CLASS as ye } from "../../../constants/public-class-names.js";
18
+ const Ve = ({
19
+ open: n = !1,
20
+ header: p,
21
+ ariaLabel: S,
22
+ portalId: x,
23
+ className: T,
24
+ overlayClassName: _,
25
+ overlayStyle: b,
26
+ titleClassName: y,
27
+ headerClassName: z,
28
+ bodyClassName: A,
29
29
  children: D,
30
- footer: p,
31
- footerClassName: B,
32
- onClose: m,
33
- onBack: c,
34
- backAriaLabel: L = "Back",
30
+ footer: m,
31
+ footerClassName: M,
32
+ onClose: c,
33
+ onBack: u,
34
+ backAriaLabel: B = "Back",
35
35
  headerActions: d,
36
36
  headerDivider: P = !1,
37
- mainButtons: u,
38
- additionalButtons: f,
39
- additionalButtonsOnLeft: g = !1,
40
- footerDivider: A = !1,
41
- size: M = ce.Md,
37
+ mainButtons: f,
38
+ additionalButtons: N,
39
+ additionalButtonsOnLeft: a = !1,
40
+ footerDivider: G = !1,
41
+ size: L = fe.Md,
42
42
  hideClose: R = !1,
43
43
  closeAriaLabel: w = "Close dialog",
44
44
  closeOnOutsideClick: E = !0,
45
- preventKeyboardOnOpen: h = !1
45
+ preventKeyboardOnOpen: g = !1
46
46
  }) => {
47
- const G = ue(), N = re(null), O = se(), { refs: C, context: a } = Q({
48
- open: t,
47
+ const $ = ge(), h = ie(null), j = le(), { refs: C, context: i } = X({
48
+ open: n,
49
49
  onOpenChange: (e) => {
50
- e || m?.(null);
50
+ e || c?.(null);
51
51
  }
52
- }), $ = U(a, { role: "dialog" }), j = W(a, { outsidePress: E }), { getFloatingProps: k } = X([$, j]);
53
- if (!t) return null;
54
- const i = typeof n == "string" ? `popup-heading-${O}` : void 0, H = (e) => e ? typeof e == "string" ? /* @__PURE__ */ o(
52
+ }), k = Y(i, { role: "dialog" }), H = ee(i, { outsidePress: E }), { getFloatingProps: K } = oe([k, H]);
53
+ if (!n) return null;
54
+ const l = typeof p == "string" ? `popup-heading-${j}` : void 0, O = (e) => e ? typeof e == "string" ? /* @__PURE__ */ o(
55
55
  "h2",
56
56
  {
57
- id: i,
58
- className: r(Ie, b),
59
- children: /* @__PURE__ */ o(te, { tooltip: e, triggerClassName: "truncate", children: e })
57
+ id: l,
58
+ className: s(xe, y),
59
+ children: /* @__PURE__ */ o(me, { tooltip: e, triggerClassName: "truncate", children: e })
60
60
  }
61
- ) : e : /* @__PURE__ */ o("span", {}), v = R ? null : /* @__PURE__ */ o(ie, { ariaLabel: w, onClose: (e) => m?.(e) }), I = (e, V = []) => V.map(({ variant: Z = me.Neutral, ...q }, J) => /* @__PURE__ */ o(ae, { variant: Z, ...q }, `${e}-${J}`)), K = () => {
62
- if (p !== void 0) return p;
63
- if (!u?.length && !f?.length) return null;
64
- const e = I("additional", f);
65
- return /* @__PURE__ */ s(
61
+ ) : e : /* @__PURE__ */ o("span", {}), v = R ? null : /* @__PURE__ */ o(ne, { ariaLabel: w, onClose: (e) => c?.(e) }), I = (e, Z = [], q) => Z.map(
62
+ ({ variant: J = de.Neutral, className: Q, ...U }, W) => /* @__PURE__ */ o(
63
+ te,
64
+ {
65
+ variant: J,
66
+ className: s(q, Q),
67
+ ...U
68
+ },
69
+ `${e}-${W}`
70
+ )
71
+ ), V = () => {
72
+ if (m !== void 0) return m;
73
+ if (!f?.length && !N?.length) return null;
74
+ const e = I(
75
+ "additional",
76
+ N,
77
+ a ? void 0 : F
78
+ );
79
+ return /* @__PURE__ */ r(
66
80
  "div",
67
81
  {
68
- className: r(
69
- Se,
70
- A && Fe,
71
- B
82
+ className: s(
83
+ be,
84
+ G && _e,
85
+ M
72
86
  ),
73
87
  children: [
74
- g && e.length > 0 && /* @__PURE__ */ o("div", { className: l, children: e }),
75
- /* @__PURE__ */ s("div", { className: r(l, "ml-auto"), children: [
76
- !g && e,
77
- I("main", u)
78
- ] })
88
+ a && e.length > 0 && /* @__PURE__ */ o("div", { className: t, children: e }),
89
+ /* @__PURE__ */ r(
90
+ "div",
91
+ {
92
+ className: s(
93
+ t,
94
+ Te
95
+ ),
96
+ children: [
97
+ !a && e,
98
+ I("main", f, F)
99
+ ]
100
+ }
101
+ )
79
102
  ]
80
103
  }
81
104
  );
82
105
  };
83
- return /* @__PURE__ */ o(Y, { id: S, children: /* @__PURE__ */ o(
84
- ee,
106
+ return /* @__PURE__ */ o(se, { id: x, children: /* @__PURE__ */ o(
107
+ re,
85
108
  {
86
- style: _,
87
- className: r(
88
- ve,
89
- G,
90
- T
109
+ style: b,
110
+ className: s(
111
+ Se,
112
+ $,
113
+ _
91
114
  ),
92
115
  children: /* @__PURE__ */ o(
93
- oe,
116
+ ae,
94
117
  {
95
- context: a,
96
- initialFocus: h ? N : C.floating,
97
- children: /* @__PURE__ */ s(
118
+ context: i,
119
+ initialFocus: g ? h : C.floating,
120
+ children: /* @__PURE__ */ r(
98
121
  "div",
99
122
  {
100
123
  ref: C.setFloating,
101
- ...k(),
124
+ ...K(),
102
125
  role: "dialog",
103
126
  "aria-modal": "true",
104
- "aria-labelledby": i,
105
- "aria-label": i ? void 0 : F,
106
- className: r(
107
- Ce,
108
- Ne[M],
109
- x,
110
- xe.popup
127
+ "aria-labelledby": l,
128
+ "aria-label": l ? void 0 : S,
129
+ className: s(
130
+ Fe,
131
+ Ie[L],
132
+ T,
133
+ ye.popup
111
134
  ),
112
135
  children: [
113
- h && /* @__PURE__ */ o(
136
+ g && /* @__PURE__ */ o(
114
137
  "div",
115
138
  {
116
- ref: N,
139
+ ref: h,
117
140
  tabIndex: -1,
118
141
  "aria-hidden": !0,
119
142
  className: "absolute size-px -m-px overflow-hidden opacity-0 pointer-events-none"
120
143
  }
121
144
  ),
122
- /* @__PURE__ */ s(
145
+ /* @__PURE__ */ r(
123
146
  "div",
124
147
  {
125
- className: r(
126
- he,
127
- P && ge,
128
- y
148
+ className: s(
149
+ ve,
150
+ P && Ce,
151
+ z
129
152
  ),
130
153
  children: [
131
- c && /* @__PURE__ */ o(
132
- le,
154
+ u && /* @__PURE__ */ o(
155
+ pe,
133
156
  {
134
- "aria-label": L,
135
- size: de.Small,
157
+ "aria-label": B,
158
+ size: Ne.Small,
136
159
  className: "mr-2",
137
- onClick: c,
160
+ onClick: u,
138
161
  icon: /* @__PURE__ */ o(
139
- fe,
162
+ he,
140
163
  {
141
- size: pe.SM,
142
- stroke: ne,
164
+ size: ue.SM,
165
+ stroke: ce,
143
166
  "aria-hidden": "true"
144
167
  }
145
168
  )
146
169
  }
147
170
  ),
148
- H(n),
149
- d ? /* @__PURE__ */ s("div", { className: l, children: [
171
+ O(p),
172
+ d ? /* @__PURE__ */ r("div", { className: t, children: [
150
173
  d,
151
174
  v
152
175
  ] }) : v
153
176
  ]
154
177
  }
155
178
  ),
156
- /* @__PURE__ */ o("div", { className: r("grow overflow-auto", z), children: D }),
157
- K()
179
+ /* @__PURE__ */ o("div", { className: s("grow overflow-auto", A), children: D }),
180
+ V()
158
181
  ]
159
182
  }
160
183
  )
@@ -164,5 +187,5 @@ const je = ({
164
187
  ) });
165
188
  };
166
189
  export {
167
- je as Popup
190
+ Ve as Popup
168
191
  };
@@ -1,17 +1,19 @@
1
1
  import { PopupSize as e } from "../../../types/popup.js";
2
- const a = "z-popup flex items-center justify-center bg-backdrop md:p-4 gap-5 p-6", r = "relative flex w-full max-h-full flex-col rounded-xl bg-layer-raised md:h-auto", o = "flex flex-row items-center justify-between px-6 py-4", t = "flex-1 min-w-0 mr-3 truncate dial-h1-text text-primary", s = "border-b border-tertiary", l = "flex flex-row items-center gap-2 px-6 py-4", m = "border-t border-tertiary", x = "flex shrink-0 flex-row items-center gap-2", i = {
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-h1-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]"
6
6
  };
7
7
  export {
8
- x as popupActionsGroupClassName,
9
- r as popupBaseClassName,
10
- l as popupFooterClassName,
8
+ i as popupActionsGroupClassName,
9
+ a as popupBaseClassName,
10
+ r as popupFooterClassName,
11
11
  m as popupFooterDividerClassName,
12
- o as popupHeaderClassName,
13
- s as popupHeaderDividerClassName,
14
- a as popupOverlayBaseClassName,
15
- i as popupSizeClassMap,
16
- t as popupTitleClassName
12
+ t as popupHeaderClassName,
13
+ l as popupHeaderDividerClassName,
14
+ n as popupMainActionButtonClassName,
15
+ x as popupMainActionsGroupClassName,
16
+ o as popupOverlayBaseClassName,
17
+ u as popupSizeClassMap,
18
+ s as popupTitleClassName
17
19
  };
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.15.0",
3
- "generatedAt": "2026-10-08T15:16:08.527Z",
2
+ "version": "0.15.1",
3
+ "generatedAt": "2026-10-12T13:29:09.309Z",
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",