@epam/ai-dial-ui-kit 0.15.0-dev.41 → 0.15.0-dev.42

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.
Files changed (30) hide show
  1. package/README.md +1 -0
  2. package/dist/CHANGELOG.md +2 -0
  3. package/dist/{DateCellRenderer-DFknFcs1.cjs → DateCellRenderer-ChqbDlQ2.cjs} +1 -1
  4. package/dist/{DateCellRenderer-J9A5gyDz.cjs → DateCellRenderer-Cl_mNbi1.cjs} +2 -2
  5. package/dist/JsonEditor-CpSpVa0v.cjs +1 -0
  6. package/dist/{MarkdownEditor-FVzYMdkC.cjs → MarkdownEditor-CPzMv3lE.cjs} +1 -1
  7. package/dist/{MarkdownEditor-C7BONfsl.cjs → MarkdownEditor-NYMcKLJy.cjs} +1 -1
  8. package/dist/MarkdownEditorContainer-DVPRplYf.cjs +1 -0
  9. package/dist/components/MarkdownEditor/MarkdownEditorContainer.js +18 -16
  10. package/dist/components/New/AutocompleteTagInput/AutocompleteTagInput.js +206 -0
  11. package/dist/components/New/AutocompleteTagInput/utils.js +11 -0
  12. package/dist/components-manifest.json +166 -3
  13. package/dist/constants/public-class-names.js +2 -0
  14. package/dist/dial-ui-kit.cjs +2 -2
  15. package/dist/dial-ui-kit.js +87 -85
  16. package/dist/editor-Bc9xzKuR.cjs +1 -0
  17. package/dist/editors.cjs +1 -1
  18. package/dist/file-manager.cjs +1 -1
  19. package/dist/grid.cjs +1 -1
  20. package/dist/lazy-Cy9WobJf.cjs +1 -0
  21. package/dist/src/components/New/AutocompleteTagInput/AutocompleteTagInput.d.ts +97 -0
  22. package/dist/src/components/New/AutocompleteTagInput/utils.d.ts +17 -0
  23. package/dist/src/components/New/AutocompleteTagInput/utils.spec.d.ts +1 -0
  24. package/dist/src/constants/public-class-names.d.ts +2 -0
  25. package/dist/src/index.d.ts +2 -0
  26. package/dist/{use-file-manager-tabs-Bj_ENNKt.cjs → use-file-manager-tabs-C-dMqEFy.cjs} +1 -1
  27. package/package.json +1 -1
  28. package/dist/JsonEditor-BDe6elKO.cjs +0 -1
  29. package/dist/MarkdownEditorContainer-GvlxX6kx.cjs +0 -1
  30. package/dist/lazy-BEsZqouS.cjs +0 -1
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),u=require("./editor-Bc9xzKuR.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"),c=require("@uiw/react-md-editor"),m=require("./lazy-BEsZqouS.cjs"),u=require("./merge-classes-BEJXjzkx.cjs"),x=({value:t,onChange:s,height:o=300,preview:i="edit",theme:a=m.EditorThemes.dark,className:n,placeholder:r})=>{const d=r!==void 0&&!t;return e.jsxs("div",{"data-color-mode":a,className:u.mergeClasses("relative",n),children:[e.jsx(c,{value:t,onChange:l=>s?.(l||""),height:o,preview:i}),d&&e.jsx("div",{className:"pointer-events-none absolute left-0 top-8 px-2 dial-small-text text-secondary opacity-40",children:r})]})};exports.DialMarkdownEditor=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),c=require("@uiw/react-md-editor"),m=require("./lazy-Cy9WobJf.cjs"),u=require("./merge-classes-BEJXjzkx.cjs"),x=({value:t,onChange:s,height:o=300,preview:i="edit",theme:a=m.EditorThemes.dark,className:n,placeholder:r})=>{const d=r!==void 0&&!t;return e.jsxs("div",{"data-color-mode":a,className:u.mergeClasses("relative",n),children:[e.jsx(c,{value:t,onChange:l=>s?.(l||""),height:o,preview:i}),d&&e.jsx("div",{className:"pointer-events-none absolute left-0 top-8 px-2 dial-small-text text-secondary opacity-40",children:r})]})};exports.DialMarkdownEditor=x;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),j=require("react"),O=require("@uiw/react-md-editor"),_=require("./lazy-BEsZqouS.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 b=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:x,strikethrough:g,table:h,unorderedListCommand:C}=b;return[s(n,e.jsx(o.IconBold,{...t})),s(l,e.jsx(o.IconItalic,{...t})),s(g,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(x,e.jsx(o.IconQuote,{...t})),s(m,e.jsx(o.IconLink,{...t})),s(i,e.jsx(o.IconCode,{...t})),r,s(h,e.jsx(o.IconTable,{...t}))]},S=()=>{const{codeEdit:n,codeLive:i,codePreview:r,divider:c,fullscreen:a}=b;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})=>{const I=j.useMemo(()=>M(),[]),x=j.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:g=>i?.(g||""),height:r,preview:u,commands:I,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"),j=require("react"),O=require("@uiw/react-md-editor"),_=require("./lazy-Cy9WobJf.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 b=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:x,strikethrough:g,table:h,unorderedListCommand:C}=b;return[s(n,e.jsx(o.IconBold,{...t})),s(l,e.jsx(o.IconItalic,{...t})),s(g,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(x,e.jsx(o.IconQuote,{...t})),s(m,e.jsx(o.IconLink,{...t})),s(i,e.jsx(o.IconCode,{...t})),r,s(h,e.jsx(o.IconTable,{...t}))]},S=()=>{const{codeEdit:n,codeLive:i,codePreview:r,divider:c,fullscreen:a}=b;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})=>{const I=j.useMemo(()=>M(),[]),x=j.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:g=>i?.(g||""),height:r,preview:u,commands:I,extraCommands:x,textareaProps:{placeholder:d,id:l,"aria-label":m}})})};exports.MarkdownEditor=T;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),n=require("react");require("./editor-Bc9xzKuR.cjs");const E=require("./lazy-Cy9WobJf.cjs");require("@monaco-editor/react");const m=require("./Switch-DE6MrcqJ.cjs"),N=require("./MarkdownEditor-CPzMv3lE.cjs"),b=({value:o,onChangeValue:l,label:i,headerContent:a,switcherLabel:d,height:c=300,theme:u=E.EditorThemes.dark,onValidateJSON:x,preview:j="edit"})=>{const w=n.useId(),[t,C]=n.useState(!1),[f,p]=n.useState(null);n.useEffect(()=>{t&&typeof window<"u"&&Promise.resolve().then(()=>require("./JsonEditor-CpSpVa0v.cjs")).then(s=>{p(()=>s.DialJsonEditor)})},[t]);const h=n.useCallback(s=>{l?.(s)},[l]),S=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:w,onChange:s=>C(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:S,currentTheme:u})}):e.jsx(N.DialMarkdownEditor,{value:o,onChange:h,height:c,preview:j,theme:u})]})})})};exports.DialMarkdownEditorContainer=b;
@@ -1,26 +1,28 @@
1
1
  import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
2
  import { useId as g, useState as x, useEffect as J, useCallback as u } from "react";
3
- import { DialSwitch as S } from "../Switch/Switch.js";
4
- import { EditorThemes as b } from "../../types/editor.js";
3
+ import "../../constants/editor.js";
4
+ import { EditorThemes as S } from "../../types/editor.js";
5
+ import "@monaco-editor/react";
6
+ import { DialSwitch as b } from "../Switch/Switch.js";
5
7
  import { DialMarkdownEditor as v } from "./MarkdownEditor.js";
6
8
  import { DialLabel as y } from "../Label/Label.js";
7
- const z = ({
9
+ const $ = ({
8
10
  value: s,
9
11
  onChangeValue: l,
10
- label: i,
12
+ label: t,
11
13
  headerContent: d,
12
14
  switcherLabel: a,
13
15
  height: c = 300,
14
- theme: m = b.dark,
16
+ theme: m = S.dark,
15
17
  onValidateJSON: f,
16
18
  preview: C = "edit"
17
19
  }) => {
18
- const N = g(), [n, w] = x(!1), [p, D] = x(null);
20
+ const N = g(), [i, w] = x(!1), [p, D] = x(null);
19
21
  J(() => {
20
- n && typeof window < "u" && import("../JsonEditor/JsonEditor.js").then((o) => {
22
+ i && typeof window < "u" && import("../JsonEditor/JsonEditor.js").then((o) => {
21
23
  D(() => o.DialJsonEditor);
22
24
  });
23
- }, [n]);
25
+ }, [i]);
24
26
  const h = u(
25
27
  (o) => {
26
28
  l?.(o);
@@ -31,16 +33,16 @@ const z = ({
31
33
  f?.(o);
32
34
  },
33
35
  [f]
34
- ), t = !!a;
36
+ ), n = !!a;
35
37
  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: [
36
- (i || d || t) && /* @__PURE__ */ r("div", { className: "flex justify-between items-center mb-2", children: [
37
- i && /* @__PURE__ */ e(y, { label: i }),
38
+ (t || d || n) && /* @__PURE__ */ r("div", { className: "flex justify-between items-center mb-2", children: [
39
+ t && /* @__PURE__ */ e(y, { label: t }),
38
40
  /* @__PURE__ */ r("div", { className: "flex items-center gap-2 flex-1 justify-end", children: [
39
41
  d,
40
- t && /* @__PURE__ */ e("label", { className: "flex items-center gap-2 cursor-pointer", children: /* @__PURE__ */ e(
41
- S,
42
+ n && /* @__PURE__ */ e("label", { className: "flex items-center gap-2 cursor-pointer", children: /* @__PURE__ */ e(
43
+ b,
42
44
  {
43
- isOn: n,
45
+ isOn: i,
44
46
  label: a,
45
47
  switchId: N,
46
48
  onChange: (o) => w(o)
@@ -48,7 +50,7 @@ const z = ({
48
50
  ) })
49
51
  ] })
50
52
  ] }),
51
- t && n ? /* @__PURE__ */ e(
53
+ n && i ? /* @__PURE__ */ e(
52
54
  "div",
53
55
  {
54
56
  className: "border border-primary rounded",
@@ -76,5 +78,5 @@ const z = ({
76
78
  ] }) }) });
77
79
  };
78
80
  export {
79
- z as DialMarkdownEditorContainer
81
+ $ as DialMarkdownEditorContainer
80
82
  };
@@ -0,0 +1,206 @@
1
+ import { jsxs as le, Fragment as se, jsx as l } from "react/jsx-runtime";
2
+ import { useFloating as ne, autoUpdate as ie, offset as ce, flip as me, size as pe, FloatingPortal as fe } from "@floating-ui/react";
3
+ import { useId as de, useState as d, useMemo as ue, useCallback as he } from "react";
4
+ import { Input as ge } from "../Input/Input.js";
5
+ import { MenuItem as we } from "../MenuItem/MenuItem.js";
6
+ import { selectTagClassName as ve } from "../Select/MultiSelectTags.js";
7
+ import { Tag as Ie } from "../Tag/Tag.js";
8
+ import { useThemeScope as xe } from "../ThemeScope/ThemeScope.js";
9
+ import { overlayGap as T, overlayListClassName as Te, overlaySurfaceClassName as Se } from "../constants/overlay.js";
10
+ import { DIAL_KIT_CLASS as be } from "../../../constants/public-class-names.js";
11
+ import { MenuItemMark as ye } from "../../../types/menu-item.js";
12
+ import { ElementSize as U } from "../../../types/size.js";
13
+ import { mergeClasses as i } from "../../../utils/merge-classes.js";
14
+ import { filterAutocompleteSuggestions as De } from "./utils.js";
15
+ const Ce = 5, Re = ({
16
+ id: z,
17
+ value: S,
18
+ defaultValue: _,
19
+ suggestions: b,
20
+ maxSuggestions: y = Ce,
21
+ size: D = U.Standard,
22
+ labelProps: $,
23
+ placeholder: B,
24
+ caption: G,
25
+ error: K,
26
+ invalid: C = !1,
27
+ disabled: u = !1,
28
+ readOnly: h = !1,
29
+ ariaLabel: R,
30
+ tagListLabel: M = "Tags",
31
+ getRemoveTagLabel: j,
32
+ className: H,
33
+ fieldClassName: O,
34
+ tagClassName: V,
35
+ listClassName: P,
36
+ onChange: A
37
+ }) => {
38
+ const X = de(), N = z || X, g = `${N}-listbox`, q = xe(), J = D === U.Small, w = S !== void 0, [Q, W] = d(
39
+ _ ?? []
40
+ ), o = w ? S : Q, c = o.length > 0, m = !h && !u, [s, E] = d(""), [Y, v] = d(!1), [Z, p] = d(0), r = ue(
41
+ () => De(
42
+ b,
43
+ s,
44
+ o,
45
+ y
46
+ ),
47
+ [s, y, b, o]
48
+ ), a = Y && m && r.length > 0, f = Math.min(Z, r.length - 1), k = (e) => `${g}-option-${e}`, { refs: F, floatingStyles: ee } = ne({
49
+ open: a,
50
+ placement: "bottom-start",
51
+ whileElementsMounted: ie,
52
+ middleware: [
53
+ ce(T),
54
+ me({ padding: T }),
55
+ pe({
56
+ padding: T,
57
+ apply({ rects: e, availableHeight: t, elements: n }) {
58
+ n.floating.style.width = `${Math.round(e.reference.width)}px`, n.floating.style.maxHeight = `${Math.floor(t)}px`;
59
+ }
60
+ })
61
+ ]
62
+ }), I = he(
63
+ (e) => {
64
+ w || W(e), A?.(e);
65
+ },
66
+ [w, A]
67
+ ), x = () => {
68
+ v(!1), p(0);
69
+ }, L = (e) => {
70
+ const t = e.trim();
71
+ t && !o.includes(t) && I([...o, t]), E(""), x();
72
+ }, te = (e) => I(o.filter((t) => t !== e)), oe = (e) => {
73
+ const t = e ?? "";
74
+ E(t), v(!!t.trim()), p(0);
75
+ }, ae = (e) => {
76
+ if (m)
77
+ switch (e.key) {
78
+ case "ArrowDown":
79
+ case "ArrowUp": {
80
+ if (e.preventDefault(), v(!0), !a) return;
81
+ const t = e.key === "ArrowDown" ? 1 : -1;
82
+ p(
83
+ (f + t + r.length) % r.length
84
+ );
85
+ return;
86
+ }
87
+ case "Enter":
88
+ case ",":
89
+ e.preventDefault(), L(a ? r[f].value : s);
90
+ return;
91
+ case "Escape":
92
+ a && e.preventDefault(), x();
93
+ return;
94
+ case "Backspace":
95
+ !s && c && (e.preventDefault(), I(o.slice(0, -1)));
96
+ return;
97
+ }
98
+ }, re = (e) => e.preventDefault();
99
+ return /* @__PURE__ */ le(se, { children: [
100
+ /* @__PURE__ */ l(
101
+ ge,
102
+ {
103
+ id: N,
104
+ role: "combobox",
105
+ "aria-autocomplete": "list",
106
+ "aria-expanded": a,
107
+ "aria-controls": g,
108
+ "aria-activedescendant": a ? k(f) : void 0,
109
+ "aria-invalid": C || void 0,
110
+ "aria-label": R,
111
+ size: D,
112
+ labelProps: $,
113
+ caption: G,
114
+ error: K,
115
+ invalid: C,
116
+ disabled: u,
117
+ readOnly: h,
118
+ value: s,
119
+ placeholder: c ? void 0 : B,
120
+ wrapperRef: F.setReference,
121
+ onChange: oe,
122
+ onKeyDown: ae,
123
+ onBlur: x,
124
+ containerClassName: i("w-full", H),
125
+ wrapperClassName: i(
126
+ c && [
127
+ "!h-auto flex-wrap gap-1 py-2",
128
+ J ? "min-h-[24px]" : "min-h-[40px]"
129
+ ],
130
+ O,
131
+ be.autocompleteTagInput
132
+ ),
133
+ className: i(
134
+ "w-auto min-w-[100px] flex-1",
135
+ h && "cursor-default"
136
+ ),
137
+ children: c && /* @__PURE__ */ l(
138
+ "span",
139
+ {
140
+ role: "list",
141
+ "aria-label": M,
142
+ className: "flex min-w-0 flex-wrap items-center gap-1",
143
+ children: o.map((e) => /* @__PURE__ */ l(
144
+ Ie,
145
+ {
146
+ role: "listitem",
147
+ label: e,
148
+ className: i(
149
+ ve,
150
+ "min-w-0",
151
+ V
152
+ ),
153
+ disabled: u,
154
+ closable: m,
155
+ removeLabel: j?.(e),
156
+ onRemove: m ? () => te(e) : void 0
157
+ },
158
+ e
159
+ ))
160
+ }
161
+ )
162
+ }
163
+ ),
164
+ /* @__PURE__ */ l(fe, { children: /* @__PURE__ */ l(
165
+ "div",
166
+ {
167
+ ref: F.setFloating,
168
+ id: g,
169
+ role: "listbox",
170
+ "aria-label": M,
171
+ hidden: !a,
172
+ style: ee,
173
+ className: i(
174
+ "z-floating overflow-y-auto",
175
+ Se,
176
+ Te,
177
+ q,
178
+ P
179
+ ),
180
+ children: a && r.map((e, t) => {
181
+ const n = t === f;
182
+ return /* @__PURE__ */ l(
183
+ we,
184
+ {
185
+ id: k(t),
186
+ role: "option",
187
+ "aria-selected": n,
188
+ tabIndex: -1,
189
+ label: e.label,
190
+ description: e.description,
191
+ mark: ye.Tint,
192
+ selected: n,
193
+ onMouseDown: re,
194
+ onMouseEnter: () => p(t),
195
+ onClick: () => L(e.value)
196
+ },
197
+ e.value
198
+ );
199
+ })
200
+ }
201
+ ) })
202
+ ] });
203
+ };
204
+ export {
205
+ Re as AutocompleteTagInput
206
+ };
@@ -0,0 +1,11 @@
1
+ const m = (t, o, s, r) => {
2
+ const n = o.trim().toLowerCase(), i = new Set(s);
3
+ return t.filter(
4
+ ({ value: e, label: a, description: c }) => !i.has(e) && [a, e, c].some(
5
+ (l) => l?.toLowerCase().includes(n)
6
+ )
7
+ ).slice(0, Math.max(r, 0));
8
+ };
9
+ export {
10
+ m as filterAutocompleteSuggestions
11
+ };
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.15.0-dev.41",
3
- "generatedAt": "2026-10-06T21:32:55.937Z",
2
+ "version": "0.15.0-dev.42",
3
+ "generatedAt": "2026-10-07T14:20:38.576Z",
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",
@@ -4137,6 +4137,150 @@
4137
4137
  ],
4138
4138
  "sourceFile": "components/New/TagInput/TagInput.tsx"
4139
4139
  },
4140
+ {
4141
+ "name": "AutocompleteTagInput",
4142
+ "category": "Components_2_0",
4143
+ "generation": "2.0",
4144
+ "description": "A tag input that suggests values while typing and also accepts its own.\naliases: Autocomplete|Combobox|TagAutocomplete|ChipAutocomplete|MultiValueAutocomplete\nDesign system 2.0\n\nTyping opens a list of the `suggestions` that match the text (by label, value\nor description) and are not already tags, capped at `maxSuggestions`, with the\nfirst one highlighted. Enter or comma adds the highlighted suggestion, or the\ntyped text when nothing matches; clicking a suggestion adds it too. The arrow\nkeys move the highlight and wrap at the ends; Escape and leaving the field\nclose the list without adding what was typed. Backspace on an empty input\nremoves the last tag, and duplicate tags are ignored. Entered text is not\nvalidated — say what format is expected through `caption`.\n\nReach for when there is nothing to suggest, and for a\nmultiple `Select` when only listed values are allowed.\n\nThe input follows the ARIA combobox pattern: it keeps focus while the list is\nopen, and the highlighted suggestion is announced through\n`aria-activedescendant`. The tags are a list named by `tagListLabel`, and each\nremove button is named after its tag.\n\nWorks controlled (`value` + `onChange`) or uncontrolled (`defaultValue`).",
4145
+ "props": [
4146
+ {
4147
+ "name": "id",
4148
+ "type": "string",
4149
+ "required": false,
4150
+ "description": "The id of the text input, linked to the label."
4151
+ },
4152
+ {
4153
+ "name": "value",
4154
+ "type": "string[]",
4155
+ "required": false,
4156
+ "description": "Controlled tag list."
4157
+ },
4158
+ {
4159
+ "name": "defaultValue",
4160
+ "type": "string[]",
4161
+ "required": false,
4162
+ "description": "Initial tag list when uncontrolled."
4163
+ },
4164
+ {
4165
+ "name": "suggestions",
4166
+ "type": "AutocompleteTagInputSuggestion[]",
4167
+ "required": true,
4168
+ "description": "Values offered while typing."
4169
+ },
4170
+ {
4171
+ "name": "maxSuggestions",
4172
+ "type": "number",
4173
+ "required": false,
4174
+ "defaultValue": "DEFAULT_MAX_SUGGESTIONS",
4175
+ "description": "How many matching suggestions the list shows at most."
4176
+ },
4177
+ {
4178
+ "name": "size",
4179
+ "type": "ElementSize",
4180
+ "required": false,
4181
+ "defaultValue": "ElementSize.Standard",
4182
+ "description": "Field height: standard is 40px, small is 24px."
4183
+ },
4184
+ {
4185
+ "name": "labelProps",
4186
+ "type": "LabelProps",
4187
+ "required": false,
4188
+ "description": "Props of the rendered above the field."
4189
+ },
4190
+ {
4191
+ "name": "placeholder",
4192
+ "type": "string",
4193
+ "required": false,
4194
+ "description": "Placeholder shown while there are no tags."
4195
+ },
4196
+ {
4197
+ "name": "caption",
4198
+ "type": "string",
4199
+ "required": false,
4200
+ "description": "Helper text rendered below the field when there is no `error`."
4201
+ },
4202
+ {
4203
+ "name": "error",
4204
+ "type": "string",
4205
+ "required": false,
4206
+ "description": "Error message rendered below the field (pass `invalid` too for error styling)."
4207
+ },
4208
+ {
4209
+ "name": "invalid",
4210
+ "type": "boolean",
4211
+ "required": false,
4212
+ "defaultValue": "false",
4213
+ "description": "Applies the field's error styling and marks the input `aria-invalid`."
4214
+ },
4215
+ {
4216
+ "name": "disabled",
4217
+ "type": "boolean",
4218
+ "required": false,
4219
+ "defaultValue": "false",
4220
+ "description": "Disables typing and tag removal."
4221
+ },
4222
+ {
4223
+ "name": "readOnly",
4224
+ "type": "boolean",
4225
+ "required": false,
4226
+ "defaultValue": "false",
4227
+ "description": "Shows the tags without allowing new ones or removal."
4228
+ },
4229
+ {
4230
+ "name": "ariaLabel",
4231
+ "type": "string",
4232
+ "required": false,
4233
+ "description": "Accessible name for the input; use it when there is no visible label."
4234
+ },
4235
+ {
4236
+ "name": "tagListLabel",
4237
+ "type": "string",
4238
+ "required": false,
4239
+ "defaultValue": "'Tags'",
4240
+ "description": "Accessible name of the tag list."
4241
+ },
4242
+ {
4243
+ "name": "getRemoveTagLabel",
4244
+ "type": "(tag: string) => string",
4245
+ "required": false,
4246
+ "description": "Accessible name of a tag's remove button, given the tag; pass a translated one, as the default is the English `Remove <tag>`."
4247
+ },
4248
+ {
4249
+ "name": "className",
4250
+ "type": "string",
4251
+ "required": false,
4252
+ "description": "Additional CSS classes for the outer container."
4253
+ },
4254
+ {
4255
+ "name": "fieldClassName",
4256
+ "type": "string",
4257
+ "required": false,
4258
+ "description": "Additional CSS classes for the field itself."
4259
+ },
4260
+ {
4261
+ "name": "tagClassName",
4262
+ "type": "string",
4263
+ "required": false,
4264
+ "description": "Additional CSS classes applied to every tag."
4265
+ },
4266
+ {
4267
+ "name": "listClassName",
4268
+ "type": "string",
4269
+ "required": false,
4270
+ "description": "Additional CSS classes for the floating suggestion list."
4271
+ },
4272
+ {
4273
+ "name": "onChange",
4274
+ "type": "(tags: string[]) => void",
4275
+ "required": false,
4276
+ "description": "Called with the new list whenever a tag is added or removed."
4277
+ }
4278
+ ],
4279
+ "examples": [
4280
+ "const [types, setTypes] = useState<string[]>([]);\n\n<AutocompleteTagInput\n id=\"attachment-types\"\n labelProps={{ label: 'Attachment types', required: true }}\n caption=\"Choose a suggested MIME type or add one as <type>/<subtype>\"\n suggestions={[\n { value: 'image/png', label: 'PNG', description: 'image/png' },\n { value: 'application/pdf', label: 'PDF', description: 'application/pdf' },\n ]}\n value={types}\n onChange={setTypes}\n/>"
4281
+ ],
4282
+ "sourceFile": "components/New/AutocompleteTagInput/AutocompleteTagInput.tsx"
4283
+ },
4140
4284
  {
4141
4285
  "name": "Search",
4142
4286
  "category": "Components_2_0",
@@ -11764,6 +11908,25 @@
11764
11908
  ],
11765
11909
  "sourceFile": "types/tag.ts"
11766
11910
  },
11911
+ {
11912
+ "name": "AutocompleteTagInputSuggestion",
11913
+ "kind": "interface",
11914
+ "members": [
11915
+ {
11916
+ "name": "value",
11917
+ "value": "string"
11918
+ },
11919
+ {
11920
+ "name": "label",
11921
+ "value": "string"
11922
+ },
11923
+ {
11924
+ "name": "description?",
11925
+ "value": "string"
11926
+ }
11927
+ ],
11928
+ "sourceFile": "components/New/AutocompleteTagInput/utils.ts"
11929
+ },
11767
11930
  {
11768
11931
  "name": "TooltipContainerOptions",
11769
11932
  "kind": "interface",
@@ -12173,7 +12336,7 @@
12173
12336
  {
12174
12337
  "name": "DIAL_KIT_CLASS",
12175
12338
  "sourceFile": "constants/public-class-names.ts",
12176
- "signature": "DIAL_KIT_CLASS = {\n /* ── Feedback and status ───────────────────────────────────────────────── */\n /** The `role=\"status\"` root of a `Spinner`. */\n spinner: 'dial-kit-spinner',\n /**\n * The outermost element of a `ProgressBar`: the box wrapping its label,\n * track and readout — or the track itself, which is the root when the bar\n * has neither.\n */\n progressBar: 'dial-kit-progress-bar',\n /** The root of a `Skeleton`, wrapping its avatar and text rows. */\n skeleton: 'dial-kit-skeleton',\n /**\n * The `Notification` surface. Present on every wrapper too — the toast and\n * section-message variants of error, info, success, warning, loading and\n * general all render this component.\n */\n notification: 'dial-kit-notification',\n /** The empty-state root of `NoDataContent`. */\n noDataContent: 'dial-kit-no-data-content',\n /** The `role=\"status\"` panel of a `TransferQueue`: header, rows and aggregate bar. */\n transferQueue: 'dial-kit-transfer-queue',\n\n /* ── Text ──────────────────────────────────────────────────────────────── */\n /** The text element of a `Highlight`, which renders the matched query. */\n highlight: 'dial-kit-highlight',\n /** The caption line under a field, rendered by `CaptionText`. */\n captionText: 'dial-kit-caption-text',\n /**\n * A caption in its error variant — what `ErrorText` renders. Additive to\n * `captionText`, since one component draws both.\n */\n errorText: 'dial-kit-error-text',\n /** The `Label` root, which wraps the `label` element and its info button. */\n label: 'dial-kit-label',\n\n /* ── Containers ────────────────────────────────────────────────────────── */\n /** The `article` element of a `CardShell`. */\n cardShell: 'dial-kit-card-shell',\n /** The `aside` element of a `CollapsibleSidebar`. */\n collapsibleSidebar: 'dial-kit-collapsible-sidebar',\n /** The content box inside a `ResizableContainer`'s resize frame. */\n resizableContainer: 'dial-kit-resizable-container',\n /**\n * The `role=\"dialog\"` panel of a `Popup`. Its backdrop is reached through\n * `overlayClassName`.\n */\n popup: 'dial-kit-popup',\n /** The `role=\"dialog\"` panel of a `BottomSheet`. */\n bottomSheet: 'dial-kit-bottom-sheet',\n /** The `role=\"dialog\"` panel of a `SideDrawer`, open or closed. */\n sideDrawer: 'dial-kit-side-drawer',\n /** The `Popup` panel of a `ConfirmationPopup`, additive to `popup`. */\n confirmationPopup: 'dial-kit-confirmation-popup',\n /** The root of an `Accordion`. */\n accordion: 'dial-kit-accordion',\n /** The breadcrumb root of a `FolderPath`. */\n folderPath: 'dial-kit-folder-path',\n /** The `nav` element of a `Breadcrumbs` trail. */\n breadcrumbs: 'dial-kit-breadcrumbs',\n /**\n * One segment of a `Breadcrumbs` trail: the link, button or plain span that\n * draws the label — not the `li`, which also holds the separator after it.\n */\n breadcrumbsItem: 'dial-kit-breadcrumbs-item',\n\n /* ── Menus and overlays ────────────────────────────────────────────────── */\n /**\n * The trigger wrapper of a `Dropdown`. Its floating panel is reached through\n * `listClassName`.\n */\n dropdown: 'dial-kit-dropdown',\n /**\n * The `role=\"none\"` item list inside a dropdown overlay — the box that holds\n * the rows and owns their vertical padding. Present in both generations, and\n * on a submenu's own list. It is *not* the floating panel.\n */\n dropdownList: 'dial-kit-dropdown-list',\n /**\n * One row of a floating overlay: a dropdown item, a `Select` option, a\n * submenu trigger, or a submenu child. It sits on the element that draws the\n * row box — so on the wrapper, not the inner button, for a row that has a\n * `rightControl` beside it.\n */\n menuItem: 'dial-kit-menuitem',\n /**\n * The trailing check of a chosen `MenuItemMark.Check` row. Decorative, like\n * the glyph itself — the row's `aria-checked` / `aria-selected` carries the\n * state.\n */\n menuItemCheck: 'dial-kit-menuitem-check',\n /** The primary icon of a `DialDropdownIcon` trigger. */\n dropdownIcon: 'dial-kit-dropdown-icon',\n /**\n * The caret badge of a `DialDropdownIcon` trigger — the round plate the\n * chevron sits on. Absent when `showCaret` is `false`.\n */\n dropdownIconCaret: 'dial-kit-dropdown-icon-caret',\n /** The bubble of a `Tooltip`, rendered by `TooltipContent` into a portal. */\n tooltip: 'dial-kit-tooltip',\n /** The panel of an `InteractiveTooltip` — the one whose content takes focus. */\n interactiveTooltip: 'dial-kit-interactive-tooltip',\n /** The text element of an `EllipsisTooltip`, which is also its trigger. */\n ellipsisTooltip: 'dial-kit-ellipsis-tooltip',\n\n /* ── Fields ────────────────────────────────────────────────────────────── */\n /** The `Search` field, additive to the `dial-kit-input` its `Input` carries. */\n search: 'dial-kit-search',\n /** The `PasswordInput` field, additive to `dial-kit-input`. */\n passwordInput: 'dial-kit-password-input',\n /** The `NumberInput` field, additive to `dial-kit-input`. */\n numberInput: 'dial-kit-number-input',\n /** The `TagInput` field, additive to `dial-kit-input`. */\n tagInput: 'dial-kit-tag-input',\n /** The root of a `Select`, wrapping its label, field and caption. */\n select: 'dial-kit-select',\n /** The trigger button of an `InlineSelect`. */\n inlineSelect: 'dial-kit-inline-select',\n /** The root of a `Calendar`, wrapping its label and date field. */\n calendar: 'dial-kit-calendar',\n /** The drop area of a `FileDropzone`. */\n fileDropzone: 'dial-kit-file-dropzone',\n /**\n * The root of a `FileIcon`, wrapping the file or folder glyph (or\n * its spinner while loading) and the shared badge.\n */\n fileIcon: 'dial-kit-file-icon',\n /** The row of a `FileName`: its type icon, the name and any details. */\n fileName: 'dial-kit-file-name',\n /** The `FileName` row of a `FolderName`, additive to `fileName`. */\n folderName: 'dial-kit-folder-name',\n /**\n * The `role=\"img\"` badge of a `SharedEntityIndicator` — standalone, or the\n * shared badge a `FileIcon` draws over its glyph.\n */\n sharedEntityIndicator: 'dial-kit-shared-entity-indicator',\n /** The root of a `Badge`: the label box, with its icon when it has one. */\n badge: 'dial-kit-badge',\n /** The root of an `Avatar`: the image, or the initials box that replaces it. */\n avatar: 'dial-kit-avatar',\n /** The root row of an `EntityIdentity`: its icon, type label, name and version. */\n entityIdentity: 'dial-kit-entity-identity',\n\n /* ── Controls ──────────────────────────────────────────────────────────── */\n /** The row of a `Switch`: the control and its label. */\n switch: 'dial-kit-switch',\n /** The row of a `Checkbox`: the box and its label. */\n checkbox: 'dial-kit-checkbox',\n /** The decorative box a `CheckboxBox` draws, in a checkbox or a menu row. */\n checkboxBox: 'dial-kit-checkbox-box',\n /** The row of a `Radio`: the circle and its label. */\n radio: 'dial-kit-radio',\n /** The root of a `RadioGroup`, wrapping its label and its radios. */\n radioGroup: 'dial-kit-radio-group',\n /**\n * The root of a `RadioGroupPopupField`, wrapping its label and the collapsed\n * field that opens the group.\n */\n radioGroupPopupField: 'dial-kit-radio-group-popup-field',\n /** The `role=\"radiogroup\"` track of a `SegmentedControl`. */\n segmentedControl: 'dial-kit-segmented-control',\n /** One segment of a `SegmentedControl`. */\n segmentedControlItem: 'dial-kit-segmented-control-item',\n /**\n * The outermost element of a `Tabs`: the box wrapping its heading and tab\n * list — or the `role=\"tablist\"` itself, which is the root when the tabs\n * carry no `sectionLabel`.\n */\n tabs: 'dial-kit-tabs',\n /**\n * The `role=\"tablist\"` holding the tabs, in either orientation. Additive to\n * `tabs` when there is no heading above it, since one element is then both.\n */\n tabList: 'dial-kit-tab-list',\n /**\n * One tab inside `Tabs`, in either orientation. The selected tab of a\n * horizontal row keeps its own `dial-kit-tab-selected-underline`.\n */\n tab: 'dial-kit-tab',\n /**\n * The selected tab, additive to `tab`. A horizontal row draws its selection\n * with `dial-kit-tab-selected-underline`, which carries the gradient rule;\n * this one carries no declarations and marks the selected tab in either\n * orientation.\n */\n tabSelected: 'dial-kit-tab-selected',\n /** The `sectionLabel` heading above a `Tabs`. Absent when there is none. */\n tabsSectionLabel: 'dial-kit-tabs-section-label',\n /**\n * The `role=\"group\"` row of a `FilterChips`. Its chips are `Tag` pills, so\n * they carry `dial-kit-tag` and have no entry of their own.\n */\n filterChips: 'dial-kit-filter-chips',\n /** A `Tag` pill, wherever it is rendered — including a `TagInput`'s rows. */\n tag: 'dial-kit-tag',\n /**\n * A `ToggleIconButton`, additive to the `dial-kit-base-icon-button` it\n * already carries.\n */\n toggleIconButton: 'dial-kit-toggle-icon-button',\n /** A `CloseButton`, additive to `dial-kit-base-icon-button`. */\n closeButton: 'dial-kit-close-button',\n /** An `InfoButton`, additive to `dial-kit-base-icon-button`. */\n infoButton: 'dial-kit-info-button',\n /**\n * The wrapper of a `ButtonDropdown` — its trigger carries\n * `dial-kit-base-button`.\n */\n buttonDropdown: 'dial-kit-button-dropdown',\n} as const"
12339
+ "signature": "DIAL_KIT_CLASS = {\n /* ── Feedback and status ───────────────────────────────────────────────── */\n /** The `role=\"status\"` root of a `Spinner`. */\n spinner: 'dial-kit-spinner',\n /**\n * The outermost element of a `ProgressBar`: the box wrapping its label,\n * track and readout — or the track itself, which is the root when the bar\n * has neither.\n */\n progressBar: 'dial-kit-progress-bar',\n /** The root of a `Skeleton`, wrapping its avatar and text rows. */\n skeleton: 'dial-kit-skeleton',\n /**\n * The `Notification` surface. Present on every wrapper too — the toast and\n * section-message variants of error, info, success, warning, loading and\n * general all render this component.\n */\n notification: 'dial-kit-notification',\n /** The empty-state root of `NoDataContent`. */\n noDataContent: 'dial-kit-no-data-content',\n /** The `role=\"status\"` panel of a `TransferQueue`: header, rows and aggregate bar. */\n transferQueue: 'dial-kit-transfer-queue',\n\n /* ── Text ──────────────────────────────────────────────────────────────── */\n /** The text element of a `Highlight`, which renders the matched query. */\n highlight: 'dial-kit-highlight',\n /** The caption line under a field, rendered by `CaptionText`. */\n captionText: 'dial-kit-caption-text',\n /**\n * A caption in its error variant — what `ErrorText` renders. Additive to\n * `captionText`, since one component draws both.\n */\n errorText: 'dial-kit-error-text',\n /** The `Label` root, which wraps the `label` element and its info button. */\n label: 'dial-kit-label',\n\n /* ── Containers ────────────────────────────────────────────────────────── */\n /** The `article` element of a `CardShell`. */\n cardShell: 'dial-kit-card-shell',\n /** The `aside` element of a `CollapsibleSidebar`. */\n collapsibleSidebar: 'dial-kit-collapsible-sidebar',\n /** The content box inside a `ResizableContainer`'s resize frame. */\n resizableContainer: 'dial-kit-resizable-container',\n /**\n * The `role=\"dialog\"` panel of a `Popup`. Its backdrop is reached through\n * `overlayClassName`.\n */\n popup: 'dial-kit-popup',\n /** The `role=\"dialog\"` panel of a `BottomSheet`. */\n bottomSheet: 'dial-kit-bottom-sheet',\n /** The `role=\"dialog\"` panel of a `SideDrawer`, open or closed. */\n sideDrawer: 'dial-kit-side-drawer',\n /** The `Popup` panel of a `ConfirmationPopup`, additive to `popup`. */\n confirmationPopup: 'dial-kit-confirmation-popup',\n /** The root of an `Accordion`. */\n accordion: 'dial-kit-accordion',\n /** The breadcrumb root of a `FolderPath`. */\n folderPath: 'dial-kit-folder-path',\n /** The `nav` element of a `Breadcrumbs` trail. */\n breadcrumbs: 'dial-kit-breadcrumbs',\n /**\n * One segment of a `Breadcrumbs` trail: the link, button or plain span that\n * draws the label — not the `li`, which also holds the separator after it.\n */\n breadcrumbsItem: 'dial-kit-breadcrumbs-item',\n\n /* ── Menus and overlays ────────────────────────────────────────────────── */\n /**\n * The trigger wrapper of a `Dropdown`. Its floating panel is reached through\n * `listClassName`.\n */\n dropdown: 'dial-kit-dropdown',\n /**\n * The `role=\"none\"` item list inside a dropdown overlay — the box that holds\n * the rows and owns their vertical padding. Present in both generations, and\n * on a submenu's own list. It is *not* the floating panel.\n */\n dropdownList: 'dial-kit-dropdown-list',\n /**\n * One row of a floating overlay: a dropdown item, a `Select` option, a\n * submenu trigger, or a submenu child. It sits on the element that draws the\n * row box — so on the wrapper, not the inner button, for a row that has a\n * `rightControl` beside it.\n */\n menuItem: 'dial-kit-menuitem',\n /**\n * The trailing check of a chosen `MenuItemMark.Check` row. Decorative, like\n * the glyph itself — the row's `aria-checked` / `aria-selected` carries the\n * state.\n */\n menuItemCheck: 'dial-kit-menuitem-check',\n /** The primary icon of a `DialDropdownIcon` trigger. */\n dropdownIcon: 'dial-kit-dropdown-icon',\n /**\n * The caret badge of a `DialDropdownIcon` trigger — the round plate the\n * chevron sits on. Absent when `showCaret` is `false`.\n */\n dropdownIconCaret: 'dial-kit-dropdown-icon-caret',\n /** The bubble of a `Tooltip`, rendered by `TooltipContent` into a portal. */\n tooltip: 'dial-kit-tooltip',\n /** The panel of an `InteractiveTooltip` — the one whose content takes focus. */\n interactiveTooltip: 'dial-kit-interactive-tooltip',\n /** The text element of an `EllipsisTooltip`, which is also its trigger. */\n ellipsisTooltip: 'dial-kit-ellipsis-tooltip',\n\n /* ── Fields ────────────────────────────────────────────────────────────── */\n /** The `Search` field, additive to the `dial-kit-input` its `Input` carries. */\n search: 'dial-kit-search',\n /** The `PasswordInput` field, additive to `dial-kit-input`. */\n passwordInput: 'dial-kit-password-input',\n /** The `NumberInput` field, additive to `dial-kit-input`. */\n numberInput: 'dial-kit-number-input',\n /** The `TagInput` field, additive to `dial-kit-input`. */\n tagInput: 'dial-kit-tag-input',\n /** The `AutocompleteTagInput` field, additive to `dial-kit-input`. */\n autocompleteTagInput: 'dial-kit-autocomplete-tag-input',\n /** The root of a `Select`, wrapping its label, field and caption. */\n select: 'dial-kit-select',\n /** The trigger button of an `InlineSelect`. */\n inlineSelect: 'dial-kit-inline-select',\n /** The root of a `Calendar`, wrapping its label and date field. */\n calendar: 'dial-kit-calendar',\n /** The drop area of a `FileDropzone`. */\n fileDropzone: 'dial-kit-file-dropzone',\n /**\n * The root of a `FileIcon`, wrapping the file or folder glyph (or\n * its spinner while loading) and the shared badge.\n */\n fileIcon: 'dial-kit-file-icon',\n /** The row of a `FileName`: its type icon, the name and any details. */\n fileName: 'dial-kit-file-name',\n /** The `FileName` row of a `FolderName`, additive to `fileName`. */\n folderName: 'dial-kit-folder-name',\n /**\n * The `role=\"img\"` badge of a `SharedEntityIndicator` — standalone, or the\n * shared badge a `FileIcon` draws over its glyph.\n */\n sharedEntityIndicator: 'dial-kit-shared-entity-indicator',\n /** The root of a `Badge`: the label box, with its icon when it has one. */\n badge: 'dial-kit-badge',\n /** The root of an `Avatar`: the image, or the initials box that replaces it. */\n avatar: 'dial-kit-avatar',\n /** The root row of an `EntityIdentity`: its icon, type label, name and version. */\n entityIdentity: 'dial-kit-entity-identity',\n\n /* ── Controls ──────────────────────────────────────────────────────────── */\n /** The row of a `Switch`: the control and its label. */\n switch: 'dial-kit-switch',\n /** The row of a `Checkbox`: the box and its label. */\n checkbox: 'dial-kit-checkbox',\n /** The decorative box a `CheckboxBox` draws, in a checkbox or a menu row. */\n checkboxBox: 'dial-kit-checkbox-box',\n /** The row of a `Radio`: the circle and its label. */\n radio: 'dial-kit-radio',\n /** The root of a `RadioGroup`, wrapping its label and its radios. */\n radioGroup: 'dial-kit-radio-group',\n /**\n * The root of a `RadioGroupPopupField`, wrapping its label and the collapsed\n * field that opens the group.\n */\n radioGroupPopupField: 'dial-kit-radio-group-popup-field',\n /** The `role=\"radiogroup\"` track of a `SegmentedControl`. */\n segmentedControl: 'dial-kit-segmented-control',\n /** One segment of a `SegmentedControl`. */\n segmentedControlItem: 'dial-kit-segmented-control-item',\n /**\n * The outermost element of a `Tabs`: the box wrapping its heading and tab\n * list — or the `role=\"tablist\"` itself, which is the root when the tabs\n * carry no `sectionLabel`.\n */\n tabs: 'dial-kit-tabs',\n /**\n * The `role=\"tablist\"` holding the tabs, in either orientation. Additive to\n * `tabs` when there is no heading above it, since one element is then both.\n */\n tabList: 'dial-kit-tab-list',\n /**\n * One tab inside `Tabs`, in either orientation. The selected tab of a\n * horizontal row keeps its own `dial-kit-tab-selected-underline`.\n */\n tab: 'dial-kit-tab',\n /**\n * The selected tab, additive to `tab`. A horizontal row draws its selection\n * with `dial-kit-tab-selected-underline`, which carries the gradient rule;\n * this one carries no declarations and marks the selected tab in either\n * orientation.\n */\n tabSelected: 'dial-kit-tab-selected',\n /** The `sectionLabel` heading above a `Tabs`. Absent when there is none. */\n tabsSectionLabel: 'dial-kit-tabs-section-label',\n /**\n * The `role=\"group\"` row of a `FilterChips`. Its chips are `Tag` pills, so\n * they carry `dial-kit-tag` and have no entry of their own.\n */\n filterChips: 'dial-kit-filter-chips',\n /** A `Tag` pill, wherever it is rendered — including a `TagInput`'s rows. */\n tag: 'dial-kit-tag',\n /**\n * A `ToggleIconButton`, additive to the `dial-kit-base-icon-button` it\n * already carries.\n */\n toggleIconButton: 'dial-kit-toggle-icon-button',\n /** A `CloseButton`, additive to `dial-kit-base-icon-button`. */\n closeButton: 'dial-kit-close-button',\n /** An `InfoButton`, additive to `dial-kit-base-icon-button`. */\n infoButton: 'dial-kit-info-button',\n /**\n * The wrapper of a `ButtonDropdown` — its trigger carries\n * `dial-kit-base-button`.\n */\n buttonDropdown: 'dial-kit-button-dropdown',\n} as const"
12177
12340
  }
12178
12341
  ]
12179
12342
  }
@@ -108,6 +108,8 @@ const i = {
108
108
  numberInput: "dial-kit-number-input",
109
109
  /** The `TagInput` field, additive to `dial-kit-input`. */
110
110
  tagInput: "dial-kit-tag-input",
111
+ /** The `AutocompleteTagInput` field, additive to `dial-kit-input`. */
112
+ autocompleteTagInput: "dial-kit-autocomplete-tag-input",
111
113
  /** The root of a `Select`, wrapping its label, field and caption. */
112
114
  select: "dial-kit-select",
113
115
  /** The trigger button of an `InlineSelect`. */