@epam/ai-dial-ui-kit 0.15.0-dev.53 → 0.15.0-dev.55

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.
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("react/jsx-runtime"),a=require("./lazy-_W6FYhKg.cjs"),c=require("@monaco-editor/react");function g(e){const o=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const t=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(o,r,t.get?t:{enumerable:!0,get:()=>e[r]})}}return o.default=e,Object.freeze(o)}const f=g(c),b={[a.EditorThemes.dark]:{base:"vs-dark",inherit:!1,rules:[{token:"string.key.json",foreground:"#37BABC"},{token:"string.value.json",foreground:"#5C8DEA"},{token:"number",foreground:"#D97C27"},{token:"keyword.json",foreground:"#F4CE46"},{token:"delimiter",foreground:"#EEF1F7"},{token:"delimiter.bracket.json",foreground:"#A972FF"},{token:"delimiter.parenthesis",foreground:"#A972FF"}],colors:{"editor.foreground":"#F76464","editor.background":"#161B2D","editorCursor.foreground":"#EEF1F7","editor.selectionBackground":"#5C8DEA2B","editorLineNumber.foreground":"#242C42","scrollbarSlider.background":"#242C42","scrollbarSlider.hoverBackground":"#242C42","scrollbarSlider.activeBackground":"#242C42"}},[a.EditorThemes.light]:{base:"vs",inherit:!1,rules:[{token:"string.key.json",foreground:"#009D9F"},{token:"string.value.json",foreground:"#2764D9"},{token:"number",foreground:"#B25500"},{token:"keyword.json",foreground:"#3F3D25"},{token:"delimiter",foreground:"#161B2D"},{token:"delimiter.bracket.json",foreground:"#7E39EC"},{token:"delimiter.parenthesis",foreground:"#7E39EC"}],colors:{"editor.foreground":"#AE2F2F","editor.background":"#EEF1F7","editorCursor.foreground":"#161B2D","editor.selectionBackground":"#5C8DEA2B","editorLineNumber.foreground":"#242C42","scrollbarSlider.background":"#242C42","scrollbarSlider.hoverBackground":"#242C42","scrollbarSlider.activeBackground":"#242C42"}}},k=({value:e,onChange:o,onValidateJSON:r,options:t,currentTheme:n,themesConfig:s=b})=>{function d(i){i?.editor?.defineTheme(n,s[n]),i.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}=f;return u.jsx(l,{beforeMount:d,height:"100%",defaultLanguage:"json",value:e,onChange:o,theme:n,onValidate:r,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},...t??{}}})};exports.DialJsonEditor=k;
@@ -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-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
+ "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 +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-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;
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;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react"),m=require("./Switch-DE6MrcqJ.cjs"),N=require("./lazy-_W6FYhKg.cjs"),b=require("./MarkdownEditor-Bapd1ycU.cjs"),g=({value:r,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-Bxui5wJH.cjs")).then(s=>{S(()=>s.DialJsonEditor)})},[t]);const h=n.useCallback(s=>{l?.(s)},[l]),E=n.useCallback(s=>{x?.(s)},[x]),o=!!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||o)&&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,o&&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)})})]})]}),o&&t?e.jsx("div",{className:"border border-primary rounded",style:{height:`${c}px`},children:f&&e.jsx(f,{value:r,onChange:h,onValidateJSON:E,currentTheme:u})}):e.jsx(b.DialMarkdownEditor,{value:r,onChange:h,height:c,preview:j,showDragbar:w,theme:u})]})})})};exports.DialMarkdownEditorContainer=g;
@@ -1,29 +1,27 @@
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 "../../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";
3
+ import { DialSwitch as b } from "../Switch/Switch.js";
4
+ import { EditorThemes as v } from "../../types/editor.js";
7
5
  import { DialMarkdownEditor as y } from "./MarkdownEditor.js";
8
6
  import { DialLabel as j } from "../Label/Label.js";
9
- const q = ({
7
+ const B = ({
10
8
  value: s,
11
9
  onChangeValue: l,
12
- label: i,
10
+ label: t,
13
11
  headerContent: d,
14
12
  switcherLabel: a,
15
13
  height: c = 300,
16
- theme: m = b.dark,
14
+ theme: m = v.dark,
17
15
  onValidateJSON: f,
18
16
  preview: C = "edit",
19
17
  showDragbar: N = !0
20
18
  }) => {
21
- const w = J(), [t, D] = u(!1), [p, E] = u(null);
19
+ const w = J(), [n, D] = u(!1), [p, E] = u(null);
22
20
  S(() => {
23
- t && typeof window < "u" && import("../JsonEditor/JsonEditor.js").then((o) => {
21
+ n && typeof window < "u" && import("../JsonEditor/JsonEditor.js").then((o) => {
24
22
  E(() => o.DialJsonEditor);
25
23
  });
26
- }, [t]);
24
+ }, [n]);
27
25
  const h = x(
28
26
  (o) => {
29
27
  l?.(o);
@@ -34,16 +32,16 @@ const q = ({
34
32
  f?.(o);
35
33
  },
36
34
  [f]
37
- ), n = !!a;
35
+ ), i = !!a;
38
36
  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: [
39
- (i || d || n) && /* @__PURE__ */ r("div", { className: "flex justify-between items-center mb-2", children: [
40
- i && /* @__PURE__ */ e(j, { label: i }),
37
+ (t || d || i) && /* @__PURE__ */ r("div", { className: "flex justify-between items-center mb-2", children: [
38
+ t && /* @__PURE__ */ e(j, { label: t }),
41
39
  /* @__PURE__ */ r("div", { className: "flex items-center gap-2 flex-1 justify-end", children: [
42
40
  d,
43
- n && /* @__PURE__ */ e("label", { className: "flex items-center gap-2 cursor-pointer", children: /* @__PURE__ */ e(
44
- v,
41
+ i && /* @__PURE__ */ e("label", { className: "flex items-center gap-2 cursor-pointer", children: /* @__PURE__ */ e(
42
+ b,
45
43
  {
46
- isOn: t,
44
+ isOn: n,
47
45
  label: a,
48
46
  switchId: w,
49
47
  onChange: (o) => D(o)
@@ -51,7 +49,7 @@ const q = ({
51
49
  ) })
52
50
  ] })
53
51
  ] }),
54
- n && t ? /* @__PURE__ */ e(
52
+ i && n ? /* @__PURE__ */ e(
55
53
  "div",
56
54
  {
57
55
  className: "border border-primary rounded",
@@ -80,5 +78,5 @@ const q = ({
80
78
  ] }) }) });
81
79
  };
82
80
  export {
83
- q as DialMarkdownEditorContainer
81
+ B as DialMarkdownEditorContainer
84
82
  };
@@ -1,63 +1,64 @@
1
1
  import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
- import { useFloating as J, useRole as Q, useDismiss as U, useInteractions as W, FloatingPortal as X, FloatingOverlay as Y, FloatingFocusManager as ee } from "@floating-ui/react";
3
- import { useRef as oe, useId as re } from "react";
4
- import { Button as se } from "../Button/Button.js";
5
- import { CloseButton as ae } from "../CloseButton/CloseButton.js";
6
- import { GhostIconButton as ie } from "../IconButton/IconButtonWrappers.js";
7
- import { Tooltip as le } from "../Tooltip/Tooltip.js";
8
- import { DIAL_KIT_ICON_STROKE as te } from "../constants/icon.js";
9
- import { DIAL_ICON_SIZE as ne } from "../../../constants/icon.js";
10
- import { ButtonVariant as pe } from "../../../types/button.js";
11
- import { PopupSize as me } from "../../../types/popup.js";
12
- import { ElementSize as ce } from "../../../types/size.js";
13
- import { useThemeScope as de } from "../ThemeScope/ThemeScope.js";
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
14
  import { mergeClasses as r } from "../../../utils/merge-classes.js";
15
- import { IconChevronLeft as ue } from "@tabler/icons-react";
16
- import { popupActionsGroupClassName as l, popupHeaderDividerClassName as fe, popupHeaderClassName as ge, popupSizeClassMap as he, popupBaseClassName as Ne, popupOverlayBaseClassName as Ce, popupTitleClassName as ve, popupFooterDividerClassName as Ie, popupFooterClassName as Fe } from "./constants.js";
17
- import { DIAL_KIT_CLASS as Se } from "../../../constants/public-class-names.js";
18
- const $e = ({
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
19
  open: t = !1,
20
20
  header: n,
21
21
  ariaLabel: F,
22
22
  portalId: S,
23
23
  className: x,
24
24
  overlayClassName: T,
25
- titleClassName: _,
26
- headerClassName: b,
25
+ overlayStyle: _,
26
+ titleClassName: b,
27
+ headerClassName: y,
27
28
  bodyClassName: z,
28
29
  children: D,
29
30
  footer: p,
30
- footerClassName: y,
31
+ footerClassName: B,
31
32
  onClose: m,
32
33
  onBack: c,
33
- backAriaLabel: B = "Back",
34
+ backAriaLabel: L = "Back",
34
35
  headerActions: d,
35
- headerDivider: L = !1,
36
+ headerDivider: P = !1,
36
37
  mainButtons: u,
37
38
  additionalButtons: f,
38
39
  additionalButtonsOnLeft: g = !1,
39
- footerDivider: P = !1,
40
- size: A = me.Md,
41
- hideClose: M = !1,
42
- closeAriaLabel: R = "Close dialog",
43
- closeOnOutsideClick: w = !0,
40
+ footerDivider: A = !1,
41
+ size: M = ce.Md,
42
+ hideClose: R = !1,
43
+ closeAriaLabel: w = "Close dialog",
44
+ closeOnOutsideClick: E = !0,
44
45
  preventKeyboardOnOpen: h = !1
45
46
  }) => {
46
- const E = de(), N = oe(null), G = re(), { refs: C, context: a } = J({
47
+ const G = ue(), N = re(null), O = se(), { refs: C, context: a } = Q({
47
48
  open: t,
48
49
  onOpenChange: (e) => {
49
50
  e || m?.(null);
50
51
  }
51
- }), O = Q(a, { role: "dialog" }), $ = U(a, { outsidePress: w }), { getFloatingProps: j } = W([O, $]);
52
+ }), $ = U(a, { role: "dialog" }), j = W(a, { outsidePress: E }), { getFloatingProps: k } = X([$, j]);
52
53
  if (!t) return null;
53
- const i = typeof n == "string" ? `popup-heading-${G}` : void 0, k = (e) => e ? typeof e == "string" ? /* @__PURE__ */ o(
54
+ const i = typeof n == "string" ? `popup-heading-${O}` : void 0, H = (e) => e ? typeof e == "string" ? /* @__PURE__ */ o(
54
55
  "h2",
55
56
  {
56
57
  id: i,
57
- className: r(ve, _),
58
- children: /* @__PURE__ */ o(le, { tooltip: e, triggerClassName: "truncate", children: e })
58
+ className: r(Ie, b),
59
+ children: /* @__PURE__ */ o(te, { tooltip: e, triggerClassName: "truncate", children: e })
59
60
  }
60
- ) : e : /* @__PURE__ */ o("span", {}), v = M ? null : /* @__PURE__ */ o(ae, { ariaLabel: R, onClose: (e) => m?.(e) }), I = (e, K = []) => K.map(({ variant: V = pe.Neutral, ...Z }, q) => /* @__PURE__ */ o(se, { variant: V, ...Z }, `${e}-${q}`)), H = () => {
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 = () => {
61
62
  if (p !== void 0) return p;
62
63
  if (!u?.length && !f?.length) return null;
63
64
  const e = I("additional", f);
@@ -65,9 +66,9 @@ const $e = ({
65
66
  "div",
66
67
  {
67
68
  className: r(
68
- Fe,
69
- P && Ie,
70
- y
69
+ Se,
70
+ A && Fe,
71
+ B
71
72
  ),
72
73
  children: [
73
74
  g && e.length > 0 && /* @__PURE__ */ o("div", { className: l, children: e }),
@@ -79,16 +80,17 @@ const $e = ({
79
80
  }
80
81
  );
81
82
  };
82
- return /* @__PURE__ */ o(X, { id: S, children: /* @__PURE__ */ o(
83
- Y,
83
+ return /* @__PURE__ */ o(Y, { id: S, children: /* @__PURE__ */ o(
84
+ ee,
84
85
  {
86
+ style: _,
85
87
  className: r(
86
- Ce,
87
- E,
88
+ ve,
89
+ G,
88
90
  T
89
91
  ),
90
92
  children: /* @__PURE__ */ o(
91
- ee,
93
+ oe,
92
94
  {
93
95
  context: a,
94
96
  initialFocus: h ? N : C.floating,
@@ -96,16 +98,16 @@ const $e = ({
96
98
  "div",
97
99
  {
98
100
  ref: C.setFloating,
99
- ...j(),
101
+ ...k(),
100
102
  role: "dialog",
101
103
  "aria-modal": "true",
102
104
  "aria-labelledby": i,
103
105
  "aria-label": i ? void 0 : F,
104
106
  className: r(
105
- Ne,
106
- he[A],
107
+ Ce,
108
+ Ne[M],
107
109
  x,
108
- Se.popup
110
+ xe.popup
109
111
  ),
110
112
  children: [
111
113
  h && /* @__PURE__ */ o(
@@ -121,29 +123,29 @@ const $e = ({
121
123
  "div",
122
124
  {
123
125
  className: r(
124
- ge,
125
- L && fe,
126
- b
126
+ he,
127
+ P && ge,
128
+ y
127
129
  ),
128
130
  children: [
129
131
  c && /* @__PURE__ */ o(
130
- ie,
132
+ le,
131
133
  {
132
- "aria-label": B,
133
- size: ce.Small,
134
+ "aria-label": L,
135
+ size: de.Small,
134
136
  className: "mr-2",
135
137
  onClick: c,
136
138
  icon: /* @__PURE__ */ o(
137
- ue,
139
+ fe,
138
140
  {
139
- size: ne.SM,
140
- stroke: te,
141
+ size: pe.SM,
142
+ stroke: ne,
141
143
  "aria-hidden": "true"
142
144
  }
143
145
  )
144
146
  }
145
147
  ),
146
- k(n),
148
+ H(n),
147
149
  d ? /* @__PURE__ */ s("div", { className: l, children: [
148
150
  d,
149
151
  v
@@ -152,7 +154,7 @@ const $e = ({
152
154
  }
153
155
  ),
154
156
  /* @__PURE__ */ o("div", { className: r("grow overflow-auto", z), children: D }),
155
- H()
157
+ K()
156
158
  ]
157
159
  }
158
160
  )
@@ -162,5 +164,5 @@ const $e = ({
162
164
  ) });
163
165
  };
164
166
  export {
165
- $e as Popup
167
+ je as Popup
166
168
  };
@@ -1,56 +1,56 @@
1
1
  import { jsxs as n, jsx as e, Fragment as j } from "react/jsx-runtime";
2
- import { useId as Y, useState as P, useCallback as b } from "react";
2
+ import { useId as Y, useState as P, useCallback as y } from "react";
3
3
  import { ElementSize as ee } from "../../../types/size.js";
4
4
  import { mergeClasses as s } from "../../../utils/merge-classes.js";
5
5
  import { resolveAccessibleName as D } from "../../../utils/accessible-name.js";
6
6
  import { ErrorText as te, CaptionText as ne } from "../CaptionText/CaptionText.js";
7
7
  import { Label as re } from "../Label/Label.js";
8
- import { NumberInput as le } from "../NumberInput/NumberInput.js";
9
- import { getTickPercents as ae, getStepPrecision as ie, snapToStep as se } from "./utils.js";
10
- const oe = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * oe}px)`, ce = (r, t) => r && t ? "grid-cols-[auto_minmax(0,1fr)_auto]" : r ? "grid-cols-[auto_minmax(0,1fr)]" : t ? "grid-cols-[minmax(0,1fr)_auto]" : "grid-cols-[minmax(0,1fr)]", Ne = ({
8
+ import { NumberInput as ae } from "../NumberInput/NumberInput.js";
9
+ import { getTickPercents as le, getStepPrecision as ie, snapToStep as se } from "./utils.js";
10
+ const ce = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * ce}px)`, oe = (r, t) => r && t ? "grid-cols-[auto_minmax(0,1fr)_auto]" : r ? "grid-cols-[auto_minmax(0,1fr)]" : t ? "grid-cols-[minmax(0,1fr)_auto]" : "grid-cols-[minmax(0,1fr)]", Ne = ({
11
11
  id: r,
12
12
  value: t,
13
- min: o = 0,
13
+ min: c = 0,
14
14
  max: m = 1,
15
- step: c = 0.1,
16
- disabled: l,
15
+ step: o = 0.1,
16
+ disabled: a,
17
17
  labelProps: d,
18
- labels: a,
19
- formatValue: p,
20
- showValue: y = !1,
18
+ labels: l,
19
+ formatValue: x,
20
+ showValue: S = !1,
21
21
  showTooltip: A = !1,
22
22
  showTicks: G = !1,
23
23
  leftContent: I,
24
- rightContent: S,
25
- showValueInput: w = !1,
24
+ rightContent: C,
25
+ showValueInput: h = !1,
26
26
  valueInputAriaLabel: H,
27
- caption: C,
27
+ caption: T,
28
28
  error: u,
29
29
  onChange: f,
30
30
  containerClassName: U,
31
- trackClassName: V,
32
- fillClassName: Z,
33
- className: q,
34
- ...T
31
+ trackClassName: Z,
32
+ fillClassName: q,
33
+ className: J,
34
+ ...w
35
35
  }) => {
36
- const J = Y(), h = r ?? J, F = C && !u ? `${h}-caption` : void 0, _ = u ? `${h}-error` : void 0, x = m - o, K = x > 0 ? Math.min(100, Math.max(0, (t - o) / x * 100)) : 0, z = L(K), O = G && !l ? ae(x, c) : [], B = A && !l, g = I != null, M = w || S != null, $ = ie(c), [Q, k] = P(null), v = p ? p(t) : t.toFixed($), R = b(
36
+ const K = Y(), p = r ?? K, F = T && !u ? `${p}-caption` : void 0, _ = u ? `${p}-error` : void 0, g = m - c, O = g > 0 ? Math.min(100, Math.max(0, (t - c) / g * 100)) : 0, z = L(O), Q = G && !a ? le(g, o) : [], B = A && !a, v = I != null, M = h || C != null, $ = ie(o), [R, k] = P(null), N = x ? x(t) : t.toFixed($), V = y(
37
37
  (i) => {
38
38
  f?.(Number(i.target.value));
39
39
  },
40
40
  [f]
41
- ), W = b(
41
+ ), W = y(
42
42
  (i) => {
43
- const N = i == null ? "" : String(i);
44
- k(N);
45
- const E = Number(N);
46
- N !== "" && Number.isFinite(E) && f?.(se(E, o, m, c));
43
+ const b = i == null ? "" : String(i);
44
+ k(b);
45
+ const E = Number(b);
46
+ b !== "" && Number.isFinite(E) && f?.(se(E, c, m, o));
47
47
  },
48
- [m, o, f, c]
49
- ), X = b(() => k(null), []);
48
+ [m, c, f, o]
49
+ ), X = y(() => k(null), []);
50
50
  return /* @__PURE__ */ n("div", { className: s("flex flex-col gap-2", U), children: [
51
- (d || y) && /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
52
- d && /* @__PURE__ */ e(re, { ...d, htmlFor: h }),
53
- y && // The input already reports its value to assistive tech, so this is
51
+ (d || S) && /* @__PURE__ */ n("div", { className: "flex items-center gap-2", children: [
52
+ d && /* @__PURE__ */ e(re, { ...d, htmlFor: p }),
53
+ S && // The input already reports its value to assistive tech, so this is
54
54
  // a visual echo rather than a second announcement.
55
55
  /* @__PURE__ */ e(
56
56
  "span",
@@ -58,9 +58,9 @@ const oe = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * oe}px)`, ce = (r, t)
58
58
  "aria-hidden": "true",
59
59
  className: s(
60
60
  "dial-small-text ml-auto",
61
- l ? "text-control-disable-primary" : "text-primary"
61
+ a ? "text-control-disable-primary" : "text-primary"
62
62
  ),
63
- children: v
63
+ children: N
64
64
  }
65
65
  )
66
66
  ] }),
@@ -69,25 +69,28 @@ const oe = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * oe}px)`, ce = (r, t)
69
69
  "div",
70
70
  {
71
71
  className: s(
72
- "grid items-center gap-x-3 gap-y-1",
73
- ce(g, M),
72
+ "grid items-center gap-y-1",
73
+ // The value field reads as part of the control, so it sits closer
74
+ // to the track than free-form side content does.
75
+ h ? "gap-x-2" : "gap-x-3",
76
+ oe(v, M),
74
77
  // Room for the value bubble, which hangs above the track row.
75
- B && "mt-7"
78
+ B && "mt-2"
76
79
  ),
77
80
  children: [
78
- g && /* @__PURE__ */ e("div", { className: "flex items-center", children: I }),
81
+ v && /* @__PURE__ */ e("div", { className: "flex items-center", children: I }),
79
82
  /* @__PURE__ */ n("div", { className: "relative flex h-6 items-center", children: [
80
83
  /* @__PURE__ */ e(
81
84
  "div",
82
85
  {
83
86
  className: s(
84
87
  "pointer-events-none absolute inset-x-0 h-1 rounded-full",
85
- l ? "bg-control-disable-primary" : "bg-control-accent-muted",
86
- V
88
+ a ? "bg-control-disable-primary" : "bg-control-accent-muted",
89
+ Z
87
90
  )
88
91
  }
89
92
  ),
90
- O.map((i) => /* @__PURE__ */ e(
93
+ Q.map((i) => /* @__PURE__ */ e(
91
94
  "span",
92
95
  {
93
96
  "aria-hidden": "true",
@@ -101,8 +104,8 @@ const oe = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * oe}px)`, ce = (r, t)
101
104
  {
102
105
  className: s(
103
106
  "pointer-events-none absolute left-0 h-1 rounded-full",
104
- l ? "bg-control-disable-secondary" : "bg-control-accent",
105
- Z
107
+ a ? "bg-control-disable-secondary" : "bg-control-accent",
108
+ q
106
109
  ),
107
110
  style: { width: z }
108
111
  }
@@ -116,7 +119,7 @@ const oe = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * oe}px)`, ce = (r, t)
116
119
  className: "pointer-events-none absolute bottom-full mb-0.5 flex -translate-x-1/2 flex-col items-center",
117
120
  style: { left: z },
118
121
  children: [
119
- /* @__PURE__ */ e("span", { className: "whitespace-nowrap rounded-md bg-control-inverted px-2 py-0.5 dial-small-text text-control-inverted shadow-xs", children: v }),
122
+ /* @__PURE__ */ e("span", { className: "whitespace-nowrap rounded-md bg-control-inverted px-2 py-0.5 dial-small-text text-control-inverted shadow-xs", children: N }),
120
123
  /* @__PURE__ */ e(
121
124
  "svg",
122
125
  {
@@ -133,59 +136,59 @@ const oe = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * oe}px)`, ce = (r, t)
133
136
  /* @__PURE__ */ e(
134
137
  "input",
135
138
  {
136
- ...T,
139
+ ...w,
137
140
  type: "range",
138
- id: h,
141
+ id: p,
139
142
  value: t,
140
- min: o,
143
+ min: c,
141
144
  max: m,
142
- step: c,
143
- disabled: l,
144
- onChange: R,
145
+ step: o,
146
+ disabled: a,
147
+ onChange: V,
145
148
  "aria-label": D(
146
- typeof d?.label != "string" ? T["aria-label"] : void 0
149
+ typeof d?.label != "string" ? w["aria-label"] : void 0
147
150
  ),
148
- "aria-valuetext": p ? v : void 0,
151
+ "aria-valuetext": x ? N : void 0,
149
152
  "aria-describedby": _ ?? F,
150
153
  className: s(
151
154
  "dial-kit-slider absolute inset-0 h-full w-full",
152
- q
155
+ J
153
156
  )
154
157
  }
155
158
  )
156
159
  ] }),
157
- M && /* @__PURE__ */ e("div", { className: "flex items-center", children: w ? /* @__PURE__ */ e(
158
- le,
160
+ M && /* @__PURE__ */ e("div", { className: "flex items-center", children: h ? /* @__PURE__ */ e(
161
+ ae,
159
162
  {
160
163
  "aria-label": D(
161
164
  H ?? (typeof d?.label == "string" ? d.label : void 0)
162
165
  ),
163
- value: Q ?? t.toFixed($),
164
- min: o,
166
+ value: R ?? t.toFixed($),
167
+ min: c,
165
168
  max: m,
166
- step: c,
167
- disabled: l,
169
+ step: o,
170
+ disabled: a,
168
171
  size: ee.Small,
169
172
  containerClassName: "w-12",
170
173
  className: "text-center",
171
174
  onChange: W,
172
175
  onBlur: X
173
176
  }
174
- ) : S }),
175
- a && /* @__PURE__ */ e(
177
+ ) : C }),
178
+ l && /* @__PURE__ */ e(
176
179
  "div",
177
180
  {
178
181
  className: s(
179
182
  "dial-tiny-text flex text-secondary",
180
- g && "col-start-2"
183
+ v && "col-start-2"
181
184
  ),
182
- children: a.length === 3 ? /* @__PURE__ */ n(j, { children: [
183
- /* @__PURE__ */ e("span", { children: a[0] }),
184
- /* @__PURE__ */ e("span", { className: "flex-1 text-center", children: a[1] }),
185
- /* @__PURE__ */ e("span", { children: a[2] })
185
+ children: l.length === 3 ? /* @__PURE__ */ n(j, { children: [
186
+ /* @__PURE__ */ e("span", { children: l[0] }),
187
+ /* @__PURE__ */ e("span", { className: "flex-1 text-center", children: l[1] }),
188
+ /* @__PURE__ */ e("span", { children: l[2] })
186
189
  ] }) : /* @__PURE__ */ n(j, { children: [
187
- /* @__PURE__ */ e("span", { children: a[0] }),
188
- /* @__PURE__ */ e("span", { className: "ml-auto", children: a[1] })
190
+ /* @__PURE__ */ e("span", { children: l[0] }),
191
+ /* @__PURE__ */ e("span", { className: "ml-auto", children: l[1] })
189
192
  ] })
190
193
  }
191
194
  )
@@ -193,7 +196,7 @@ const oe = 12, L = (r) => `calc(${r}% + ${(0.5 - r / 100) * oe}px)`, ce = (r, t)
193
196
  }
194
197
  ),
195
198
  /* @__PURE__ */ e(te, { id: _, text: u }),
196
- !u && /* @__PURE__ */ e(ne, { id: F, text: C })
199
+ !u && /* @__PURE__ */ e(ne, { id: F, text: T })
197
200
  ] })
198
201
  ] });
199
202
  };
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.15.0-dev.53",
3
- "generatedAt": "2026-10-08T11:41:20.370Z",
2
+ "version": "0.15.0-dev.55",
3
+ "generatedAt": "2026-10-08T12:08:27.140Z",
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",
@@ -1768,6 +1768,12 @@
1768
1768
  "required": false,
1769
1769
  "description": "Additional CSS classes applied to the overlay"
1770
1770
  },
1771
+ {
1772
+ "name": "overlayStyle",
1773
+ "type": "CSSProperties",
1774
+ "required": false,
1775
+ "description": "Inline styles merged over Floating UI's own overlay styles (`position`, `inset`, `overflow: auto`)"
1776
+ },
1771
1777
  {
1772
1778
  "name": "titleClassName",
1773
1779
  "type": "string",