@epam/ai-dial-skills 1.2.0-dev.101 → 1.2.0-dev.106

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.
@@ -1 +1 @@
1
- {"version":3,"file":"FavoriteSkillsPanel.d.ts","sourceRoot":"","sources":["../../../src/components/FavoriteSkillsPanel/FavoriteSkillsPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,EAKL,KAAK,EAAE,EAER,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAYzF,sHAAsH;AACtH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CAiQ5D,CAAC"}
1
+ {"version":3,"file":"FavoriteSkillsPanel.d.ts","sourceRoot":"","sources":["../../../src/components/FavoriteSkillsPanel/FavoriteSkillsPanel.tsx"],"names":[],"mappings":"AAaA,OAAO,EAKL,KAAK,EAAE,EAER,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAYzF,sHAAsH;AACtH,eAAO,MAAM,mBAAmB,EAAE,EAAE,CAAC,wBAAwB,CA4Q5D,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { FC } from 'react';
2
+ import { SkillSelectorFieldProps } from '../../models/skill-selector-field-props';
3
+ /** Controlled skill input with favorites, catalog browsing, and explicit removal. */
4
+ export declare const SkillSelectorField: FC<SkillSelectorFieldProps>;
5
+ //# sourceMappingURL=SkillSelectorField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillSelectorField.d.ts","sourceRoot":"","sources":["../../../src/components/SkillSelectorField/SkillSelectorField.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAsC,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAGpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAOvF,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CA0O1D,CAAC"}
@@ -1,4 +1,6 @@
1
1
  export declare const SKILLS_CLASS: {
2
+ /** Controlled skill selector root carrying theme overrides. */
3
+ readonly selectorField: "dial-skills-selector-field";
2
4
  /** The favorite-skills panel root, which carries the themed CSS variables. */
3
5
  readonly favoritesPanel: "dial-skills-favorites-panel";
4
6
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"public-class-names.d.ts","sourceRoot":"","sources":["../../src/constants/public-class-names.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY;IACvB,8EAA8E;;IAE9E;;;;;;OAMG;;CAEK,CAAC"}
1
+ {"version":3,"file":"public-class-names.d.ts","sourceRoot":"","sources":["../../src/constants/public-class-names.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,YAAY;IACvB,+DAA+D;;IAE/D,8EAA8E;;IAE9E;;;;;;OAMG;;CAEK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSkillSelectorOverlay.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSkillSelectorOverlay/useSkillSelectorOverlay.tsx"],"names":[],"mappings":"AAsBA,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,qCAAqC,CAAC;AAG7C;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,6MAYrC,8BAA8B,KAAG,6BAoTnC,CAAC"}
1
+ {"version":3,"file":"useSkillSelectorOverlay.d.ts","sourceRoot":"","sources":["../../../src/hooks/useSkillSelectorOverlay/useSkillSelectorOverlay.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC9B,MAAM,qCAAqC,CAAC;AAG7C;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB,GAAI,6MAYrC,8BAA8B,KAAG,6BA0TnC,CAAC"}
package/index.css CHANGED
@@ -1,2 +1,2 @@
1
- ._row_1ovug_1:hover,._row_1ovug_1:focus-visible{background:var(--fs-row-hover-bg,var(--bg-layer-sunken,#eef1f7))}._header_1ovug_5{color:var(--fs-header-text,var(--text-tertiary,#848e9c))}._emptyHint_1ovug_9{color:var(--fs-empty-hint-text,var(--text-icon-tertiary,#848e9c))}._star_1ovug_13{color:var(--fs-star-color,var(--text-warning-icon,#eec840))}._footer_1ovug_17{border-top-color:var(--fs-footer-border,var(--stroke-tertiary,#e0e6f0))}._rowEnter_1ovug_25{animation:.2s ease-out _rowFadeIn_1ovug_1}._rowLeaving_1ovug_29{pointer-events:none;animation:.18s ease-out forwards _rowFadeOut_1ovug_1}@keyframes _rowFadeIn_1ovug_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _rowFadeOut_1ovug_1{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}._listContent_1ovug_57{transition:max-height .2s}@media (prefers-reduced-motion:reduce){._rowEnter_1ovug_25,._rowLeaving_1ovug_29{animation:none}._listContent_1ovug_57{transition:none}}
2
- /*$vite$:1*/.visible{visibility:visible}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.h-\[24px\]{height:24px}.h-\[40px\]{height:40px}.h-\[min\(80vh\2c 840px\)\]{height:min(80vh,840px)}.h-\[min\(90vh\2c 860px\)\]{height:min(90vh,860px)}.h-auto{height:auto}.max-h-72{max-height:18rem}.min-h-0{min-height:0}.w-full{width:100%}.min-w-0{min-width:0}.\!max-w-\[min\(95vw\2c 1200px\)\]{max-width:min(95vw,1200px)!important}.max-w-\[550px\]{max-width:550px}.flex-1{flex:1 1 0%}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-transparent{border-color:transparent}.bg-error{background-color:var(--bg-error,#f3d6d8)}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pt-2{padding-top:.5rem}.text-start{text-align:start}.text-error{color:var(--text-error,#ae2f2f)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:1280px){.desktop\:inline{display:inline}.desktop\:hidden{display:none}.desktop\:w-\[280px\]{width:280px}}
1
+ ._row_1ovug_1:hover,._row_1ovug_1:focus-visible{background:var(--fs-row-hover-bg,var(--bg-layer-sunken,#eef1f7))}._header_1ovug_5{color:var(--fs-header-text,var(--text-tertiary,#848e9c))}._emptyHint_1ovug_9{color:var(--fs-empty-hint-text,var(--text-icon-tertiary,#848e9c))}._star_1ovug_13{color:var(--fs-star-color,var(--text-warning-icon,#eec840))}._footer_1ovug_17{border-top-color:var(--fs-footer-border,var(--stroke-tertiary,#e0e6f0))}._rowEnter_1ovug_25{animation:.2s ease-out _rowFadeIn_1ovug_1}._rowLeaving_1ovug_29{pointer-events:none;animation:.18s ease-out forwards _rowFadeOut_1ovug_1}@keyframes _rowFadeIn_1ovug_1{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes _rowFadeOut_1ovug_1{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.96)}}._listContent_1ovug_57{transition:max-height .2s}@media (prefers-reduced-motion:reduce){._rowEnter_1ovug_25,._rowLeaving_1ovug_29{animation:none}._listContent_1ovug_57{transition:none}}._background_14zdf_1{background:var(--ssf-bg)}._border_14zdf_5{border-color:var(--ssf-border)}._value_14zdf_9{color:var(--ssf-text)}._clear_14zdf_13{margin-block:-.5rem}._invalid_14zdf_17{color:var(--ssf-error,var(--text-error,#9c2222));border-color:var(--ssf-error,var(--text-error,#9c2222))}._invalid_14zdf_17 input{color:var(--ssf-error,var(--text-error,#9c2222))}
2
+ /*$vite$:1*/.visible{visibility:visible}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden{display:none}.size-11{height:2.75rem;width:2.75rem}.h-\[24px\]{height:24px}.h-\[40px\]{height:40px}.h-\[min\(80vh\2c 840px\)\]{height:min(80vh,840px)}.h-\[min\(90vh\2c 860px\)\]{height:min(90vh,860px)}.h-auto{height:auto}.max-h-72{max-height:18rem}.min-h-0{min-height:0}.min-h-11{min-height:2.75rem}.w-\[min\(var\(--reference-width\)\2c calc\(100vw-2rem\)\)\]{width:min(var(--reference-width),calc(100vw - 2rem))}.w-full{width:100%}.min-w-0{min-width:0}.\!max-w-\[min\(95vw\2c 1200px\)\]{max-width:min(95vw,1200px)!important}.max-w-\[550px\]{max-width:550px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;white-space:nowrap}.text-ellipsis,.truncate{text-overflow:ellipsis}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.border-t{border-top-width:1px}.border-transparent{border-color:transparent}.bg-error{background-color:var(--bg-error,#f3d6d8)}.p-2{padding:.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0{padding-bottom:0;padding-top:0}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.pb-0{padding-bottom:0}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pt-2{padding-top:.5rem}.text-start{text-align:start}.text-error{color:var(--text-error,#ae2f2f)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}@media (min-width:1280px){.desktop\:inline{display:inline}.desktop\:hidden{display:none}.desktop\:w-\[280px\]{width:280px}.desktop\:w-full{width:100%}}
package/index.d.ts CHANGED
@@ -15,4 +15,6 @@ export type { SkillDetailsSidePanelProps } from './models/skill-details-side-pan
15
15
  export type { SkillInfoTooltipContentProps } from './models/skill-info-tooltip-content-props';
16
16
  export type { SkillDetailsPanelComponentProps, SkillSelectorOverlayLabels, UseSkillSelectorOverlayOptions, UseSkillSelectorOverlayResult, } from './models/skill-selector-overlay';
17
17
  export { SKILLS_CLASS } from './constants/public-class-names';
18
+ export { SkillSelectorField } from './components/SkillSelectorField/SkillSelectorField';
19
+ export type { SkillSelectorFieldProps, SkillSelectorFieldLabels, SkillSelectorFieldStyles, } from './models/skill-selector-field-props';
18
20
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EACV,eAAe,EACf,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,4CAA4C,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,YAAY,EACV,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,wBAAwB,EAAE,MAAM,gEAAgE,CAAC;AAC1G,OAAO,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,0DAA0D,CAAC;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,8DAA8D,CAAC;AACvG,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,YAAY,EACV,eAAe,EACf,cAAc,GACf,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,4CAA4C,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACjF,YAAY,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,YAAY,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AAC9F,YAAY,EACV,+BAA+B,EAC/B,0BAA0B,EAC1B,8BAA8B,EAC9B,6BAA6B,GAC9B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,YAAY,EACV,uBAAuB,EACvB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,qCAAqC,CAAC"}
package/index.js CHANGED
@@ -1,56 +1,57 @@
1
- import { DeploymentIcon as e, buildCssVars as t, mergeClasses as n } from "@epam/ai-dial-chat-shared";
2
- import { BASE_ICON_SIZE as r, Button as i, ButtonAppearance as a, ButtonVariant as o, DIAL_ICON_SIZE as s, DIAL_KIT_ICON_STROKE as c, FileDropzone as l, GhostButton as u, Highlight as d, InteractiveTooltip as f, Popup as p, PopupSize as m, ToggleIconButton as h, TooltipPlacement as g } from "@epam/ai-dial-ui-kit";
3
- import { Suspense as _, useCallback as v, useEffect as y, useLayoutEffect as b, useMemo as x, useRef as S, useState as C } from "react";
4
- import { IconBlocks as w, IconEye as T, IconStarFilled as E } from "@tabler/icons-react";
5
- import { Fragment as D, jsx as O, jsxs as k } from "react/jsx-runtime";
6
- import { DetailsPanel as A } from "@epam/ai-dial-catalog";
1
+ import { DeploymentIcon as e, buildCssVars as t, isSkillSelectionUnsupported as n, mergeClasses as r } from "@epam/ai-dial-chat-shared";
2
+ import { BASE_ICON_SIZE as i, Button as a, ButtonAppearance as o, ButtonVariant as s, DIAL_ICON_SIZE as c, DIAL_KIT_ICON_STROKE as l, Dropdown as u, FileDropzone as d, GhostButton as f, Highlight as p, Input as m, InteractiveTooltip as h, Popup as g, PopupSize as _, Search as v, ToggleIconButton as y, TooltipPlacement as b } from "@epam/ai-dial-ui-kit";
3
+ import { Suspense as x, useCallback as S, useEffect as C, useId as w, useLayoutEffect as T, useMemo as E, useRef as D, useState as O } from "react";
4
+ import { IconBlocks as k, IconChevronDown as A, IconEye as j, IconStarFilled as M, IconX as N } from "@tabler/icons-react";
5
+ import { Fragment as P, jsx as F, jsxs as I } from "react/jsx-runtime";
6
+ import { DetailsPanel as L } from "@epam/ai-dial-catalog";
7
7
  //#region src/constants/public-class-names.ts
8
- var j = {
8
+ var R = {
9
+ selectorField: "dial-skills-selector-field",
9
10
  favoritesPanel: "dial-skills-favorites-panel",
10
11
  chip: "dial-skills-chip"
11
- }, M = ({ description: e, unsupportedMessage: t, viewDetailsLabel: n = "View details", onViewDetails: r }) => t == null ? /* @__PURE__ */ k("div", {
12
+ }, z = ({ description: e, unsupportedMessage: t, viewDetailsLabel: n = "View details", onViewDetails: r }) => t == null ? /* @__PURE__ */ I("div", {
12
13
  className: "flex flex-col gap-3",
13
- children: [e != null && e !== "" && /* @__PURE__ */ O("p", {
14
+ children: [e != null && e !== "" && /* @__PURE__ */ F("p", {
14
15
  className: "text-start",
15
16
  children: e
16
- }), /* @__PURE__ */ O(i, {
17
- variant: o.Primary,
18
- appearance: a.Link,
17
+ }), /* @__PURE__ */ F(a, {
18
+ variant: s.Primary,
19
+ appearance: o.Link,
19
20
  className: "h-[24px] self-start",
20
21
  label: n,
21
- iconBefore: /* @__PURE__ */ O(T, {
22
- size: s.SM,
23
- stroke: c,
22
+ iconBefore: /* @__PURE__ */ F(j, {
23
+ size: c.SM,
24
+ stroke: l,
24
25
  "aria-hidden": !0
25
26
  }),
26
27
  onClick: r
27
28
  })]
28
- }) : /* @__PURE__ */ O("p", {
29
+ }) : /* @__PURE__ */ F("p", {
29
30
  className: "text-start",
30
31
  children: t
31
- }), N = ({ name: e, path: t, description: r, isUnsupported: i = !1, labelClassName: a = "dial-body-paragraph-text", unsupportedLabelClassName: o = "text-error", unsupportedClassName: s = "bg-error", onViewDetails: c, labels: l = {} }) => {
32
- let { viewDetailsLabel: d = "View details", unsupportedTooltipLabel: p = "Selected model does not support skills. Remove the skill or select different model to proceed." } = l, [m, h] = C(0);
33
- return /* @__PURE__ */ O(f, {
32
+ }), B = ({ name: e, path: t, description: n, isUnsupported: i = !1, labelClassName: a = "dial-body-paragraph-text", unsupportedLabelClassName: o = "text-error", unsupportedClassName: s = "bg-error", onViewDetails: c, labels: l = {} }) => {
33
+ let { viewDetailsLabel: u = "View details", unsupportedTooltipLabel: d = "Selected model does not support skills. Remove the skill or select different model to proceed." } = l, [p, m] = O(0);
34
+ return /* @__PURE__ */ F(h, {
34
35
  asChild: !0,
35
- placement: g.Top,
36
+ placement: b.Top,
36
37
  contentClassName: "max-w-[550px]",
37
- content: i ? /* @__PURE__ */ O(M, { unsupportedMessage: p }) : /* @__PURE__ */ O(M, {
38
- description: r,
39
- viewDetailsLabel: d,
38
+ content: i ? /* @__PURE__ */ F(z, { unsupportedMessage: d }) : /* @__PURE__ */ F(z, {
39
+ description: n,
40
+ viewDetailsLabel: u,
40
41
  onViewDetails: () => {
41
- h((e) => e + 1), c(t);
42
+ m((e) => e + 1), c(t);
42
43
  }
43
44
  }),
44
- children: /* @__PURE__ */ O("span", {
45
+ children: /* @__PURE__ */ F("span", {
45
46
  className: "inline-flex items-center",
46
- children: /* @__PURE__ */ O(u, {
47
+ children: /* @__PURE__ */ F(f, {
47
48
  label: `/${e}`,
48
- textClassName: i ? n(a, o) : a,
49
- className: n("h-auto px-2 py-0", i && s, j.chip)
49
+ textClassName: i ? r(a, o) : a,
50
+ className: r("h-auto px-2 py-0", i && s, R.chip)
50
51
  })
51
52
  })
52
- }, m);
53
- }, P = {
53
+ }, p);
54
+ }, V = {
54
55
  row: "_row_1ovug_1",
55
56
  header: "_header_1ovug_5",
56
57
  emptyHint: "_emptyHint_1ovug_9",
@@ -61,140 +62,141 @@ var j = {
61
62
  rowLeaving: "_rowLeaving_1ovug_29",
62
63
  rowFadeOut: "_rowFadeOut_1ovug_1",
63
64
  listContent: "_listContent_1ovug_57"
64
- }, F = "px-3 pb-0.5 pt-2", I = 180, L = 288, R = ({ favorites: r, onSelect: i, onToggleFavorite: a, onBrowse: o, onViewDetails: c, searchQuery: l, labels: p = {}, colors: m, nameClassName: g = "dial-small-text", headerClassName: _ = "dial-tiny-lead-semi-text", emptyHintClassName: v = "dial-small-text" }) => {
65
- let { myCollectionLabel: x = "My Collection", emptyHintLabel: w = "Star a skill to pin it here", browseLabel: T = "Browse", removeFromFavoritesLabel: D = "Remove from favorites", viewDetailsLabel: A = "View details", noMatchingSkillsLabel: N = "No matching skills" } = p, R = t({
66
- "--fs-row-hover-bg": m?.rowHoverBackground,
67
- "--fs-header-text": m?.headerText,
68
- "--fs-empty-hint-text": m?.emptyHintText,
69
- "--fs-star-color": m?.starColor,
70
- "--fs-footer-border": m?.footerBorder
71
- }), [z, B] = C(/* @__PURE__ */ new Set()), V = S(/* @__PURE__ */ new Map());
72
- y(() => {
73
- let e = V.current;
65
+ }, H = "px-3 pb-0.5 pt-2", U = 180, W = 288, G = ({ favorites: n, onSelect: i, onToggleFavorite: a, onBrowse: o, onViewDetails: s, className: l, rowClassName: u, searchQuery: d, labels: m = {}, colors: g, nameClassName: _ = "dial-small-text", headerClassName: v = "dial-tiny-lead-semi-text", emptyHintClassName: b = "dial-small-text" }) => {
66
+ let { myCollectionLabel: x = "My Collection", emptyHintLabel: S = "Star a skill to pin it here", browseLabel: w = "Browse", removeFromFavoritesLabel: E = "Remove from favorites", viewDetailsLabel: k = "View details", noMatchingSkillsLabel: A = "No matching skills" } = m, j = t({
67
+ "--fs-row-hover-bg": g?.rowHoverBackground,
68
+ "--fs-header-text": g?.headerText,
69
+ "--fs-empty-hint-text": g?.emptyHintText,
70
+ "--fs-star-color": g?.starColor,
71
+ "--fs-footer-border": g?.footerBorder
72
+ }), [N, P] = O(/* @__PURE__ */ new Set()), L = D(/* @__PURE__ */ new Map());
73
+ C(() => {
74
+ let e = L.current;
74
75
  return () => {
75
76
  e.forEach((e) => clearTimeout(e)), e.clear();
76
77
  };
77
78
  }, []);
78
- let H = l != null, U = l?.toLowerCase() ?? "", W = H ? r.filter((e) => e.name.toLowerCase().includes(U)) : r, G = S(null), [K, q] = C();
79
- b(() => {
80
- G.current && q(Math.min(G.current.scrollHeight, L));
81
- }, [r, l]);
82
- let J = (e, t) => {
79
+ let B = d != null, G = d?.toLowerCase() ?? "", K = B ? n.filter((e) => e.name.toLowerCase().includes(G)) : n, q = D(null), [J, Y] = O();
80
+ T(() => {
81
+ q.current && Y(Math.min(q.current.scrollHeight, W));
82
+ }, [n, d]);
83
+ let X = (e, t) => {
83
84
  e.target === e.currentTarget && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), i(t));
84
- }, Y = (e) => {
85
- B((t) => new Set(t).add(e));
85
+ }, Z = (e) => {
86
+ P((t) => new Set(t).add(e));
86
87
  let t = setTimeout(() => {
87
- a(e), B((t) => {
88
+ a?.(e), P((t) => {
88
89
  let n = new Set(t);
89
90
  return n.delete(e), n;
90
- }), V.current.delete(e);
91
- }, I);
92
- V.current.set(e, t);
91
+ }), L.current.delete(e);
92
+ }, U);
93
+ L.current.set(e, t);
93
94
  };
94
- return /* @__PURE__ */ k("div", {
95
- className: n("flex w-full flex-col desktop:w-[280px]", j.favoritesPanel),
96
- style: R,
95
+ return /* @__PURE__ */ I("div", {
96
+ className: r("flex w-full flex-col desktop:w-[280px]", l, R.favoritesPanel),
97
+ style: j,
97
98
  children: [
98
- /* @__PURE__ */ O("p", {
99
- className: n(_, F, P.header),
99
+ /* @__PURE__ */ F("p", {
100
+ className: r(v, H, V.header),
100
101
  children: x
101
102
  }),
102
- /* @__PURE__ */ O("div", {
103
- className: n("max-h-72 min-h-0 flex-1 overflow-y-auto", P.listContent),
104
- style: { maxHeight: K },
105
- children: /* @__PURE__ */ O("div", {
106
- ref: G,
107
- children: W.length > 0 ? /* @__PURE__ */ O("ul", {
103
+ /* @__PURE__ */ F("div", {
104
+ className: r("max-h-72 min-h-0 flex-1 overflow-y-auto", V.listContent),
105
+ style: { maxHeight: J },
106
+ children: /* @__PURE__ */ F("div", {
107
+ ref: q,
108
+ children: K.length > 0 ? /* @__PURE__ */ F("ul", {
108
109
  className: "flex flex-col gap-1 px-1 pb-1",
109
- children: W.map((t) => {
110
- let r = /* @__PURE__ */ k("div", {
110
+ children: K.map((t) => {
111
+ let n = /* @__PURE__ */ I("div", {
111
112
  role: "button",
113
+ "aria-label": t.name,
112
114
  tabIndex: 0,
113
- className: n("flex cursor-pointer items-center gap-2 rounded-lg border border-transparent px-2 py-1.5 transition-colors", P.row),
115
+ className: r("flex cursor-pointer items-center gap-2 rounded-lg border border-transparent px-2 py-1.5 transition-colors", V.row, u),
114
116
  onClick: () => i(t),
115
- onKeyDown: (e) => J(e, t),
117
+ onKeyDown: (e) => X(e, t),
116
118
  children: [
117
- /* @__PURE__ */ O(e, {
118
- size: s.MD,
119
+ /* @__PURE__ */ F(e, {
120
+ size: c.MD,
119
121
  initialsName: t.name
120
122
  }),
121
- l == null ? /* @__PURE__ */ O("span", {
122
- className: n(g, "min-w-0 flex-1 truncate text-start"),
123
+ d == null ? /* @__PURE__ */ F("span", {
124
+ className: r(_, "min-w-0 flex-1 truncate text-start"),
123
125
  children: t.name
124
- }) : /* @__PURE__ */ O(d, {
126
+ }) : /* @__PURE__ */ F(p, {
125
127
  text: t.name,
126
- query: l,
128
+ query: d,
127
129
  maxLines: 1,
128
- className: n(g, "min-w-0 flex-1 text-start")
130
+ className: r(_, "min-w-0 flex-1 text-start")
129
131
  }),
130
- /* @__PURE__ */ O(h, {
131
- icon: /* @__PURE__ */ O(E, {
132
- size: s.SM,
133
- className: P.star,
132
+ a && /* @__PURE__ */ F(y, {
133
+ icon: /* @__PURE__ */ F(M, {
134
+ size: c.SM,
135
+ className: V.star,
134
136
  "aria-hidden": !0
135
137
  }),
136
- "aria-label": D,
138
+ "aria-label": E,
137
139
  isSelected: !0,
138
140
  onClick: (e) => {
139
- e.stopPropagation(), Y(t.id);
141
+ e.stopPropagation(), Z(t.id);
140
142
  }
141
143
  })
142
144
  ]
143
145
  });
144
- return /* @__PURE__ */ O("li", {
145
- className: z.has(t.id) ? P.rowLeaving : P.rowEnter,
146
- children: /* @__PURE__ */ O(f, {
146
+ return /* @__PURE__ */ F("li", {
147
+ className: N.has(t.id) ? V.rowLeaving : V.rowEnter,
148
+ children: s ? /* @__PURE__ */ F(h, {
147
149
  asChild: !0,
148
150
  contentClassName: "max-w-[550px]",
149
- content: /* @__PURE__ */ O(M, {
151
+ content: /* @__PURE__ */ F(z, {
150
152
  description: t.description,
151
- viewDetailsLabel: A,
152
- onViewDetails: () => c(t)
153
+ viewDetailsLabel: k,
154
+ onViewDetails: () => s(t)
153
155
  }),
154
- children: r
155
- })
156
+ children: n
157
+ }) : n
156
158
  }, t.id);
157
159
  })
158
- }) : H && U !== "" ? /* @__PURE__ */ O("p", {
160
+ }) : B && G !== "" ? /* @__PURE__ */ F("p", {
159
161
  role: "status",
160
162
  "aria-live": "polite",
161
- className: n(v, "px-4 py-4 text-start", P.emptyHint),
162
- children: N
163
- }) : /* @__PURE__ */ O("p", {
164
- className: n(v, "px-4 py-4 text-start", P.emptyHint),
165
- children: w
163
+ className: r(b, "px-4 py-4 text-start", V.emptyHint),
164
+ children: A
165
+ }) : /* @__PURE__ */ F("p", {
166
+ className: r(b, "px-4 py-4 text-start", V.emptyHint),
167
+ children: S
166
168
  })
167
169
  })
168
170
  }),
169
- /* @__PURE__ */ O("div", {
170
- className: n("border-t px-2 py-3", P.footer),
171
- children: /* @__PURE__ */ O(u, {
172
- label: T,
171
+ /* @__PURE__ */ F("div", {
172
+ className: r("border-t px-2 py-3", V.footer),
173
+ children: /* @__PURE__ */ F(f, {
174
+ label: w,
173
175
  className: "w-full justify-center",
174
176
  onClick: o
175
177
  })
176
178
  })
177
179
  ]
178
180
  });
179
- }, z = ".zip,.md", B = ({ isOpen: e, errorText: t, accept: n = z, labels: r, onClose: i, onFilesSelected: a, onFilesRejected: o }) => {
180
- let { dialogTitle: s = "Upload skill", dropZoneLabel: c = "Drag and drop it or click here to upload", dropZoneMobileLabel: u = "Click here to upload", formatsLabel: d = "File formats .zip and SKILL.md", fileInputAriaLabel: f = "Upload a skill ZIP archive or a SKILL.md file", closeAriaLabel: h = "Close" } = r ?? {};
181
- return /* @__PURE__ */ O(p, {
181
+ }, K = ".zip,.md", q = ({ isOpen: e, errorText: t, accept: n = K, labels: r, onClose: i, onFilesSelected: a, onFilesRejected: o }) => {
182
+ let { dialogTitle: s = "Upload skill", dropZoneLabel: c = "Drag and drop it or click here to upload", dropZoneMobileLabel: l = "Click here to upload", formatsLabel: u = "File formats .zip and SKILL.md", fileInputAriaLabel: f = "Upload a skill ZIP archive or a SKILL.md file", closeAriaLabel: p = "Close" } = r ?? {};
183
+ return /* @__PURE__ */ F(g, {
182
184
  open: e,
183
- size: m.Sm,
185
+ size: _.Sm,
184
186
  header: s,
185
- closeAriaLabel: h,
187
+ closeAriaLabel: p,
186
188
  onClose: i,
187
- children: /* @__PURE__ */ O("div", {
189
+ children: /* @__PURE__ */ F("div", {
188
190
  className: "px-6 py-4",
189
- children: /* @__PURE__ */ O(l, {
190
- label: /* @__PURE__ */ k(D, { children: [/* @__PURE__ */ O("span", {
191
+ children: /* @__PURE__ */ F(d, {
192
+ label: /* @__PURE__ */ I(P, { children: [/* @__PURE__ */ F("span", {
191
193
  className: "desktop:hidden",
192
- children: u
193
- }), /* @__PURE__ */ O("span", {
194
+ children: l
195
+ }), /* @__PURE__ */ F("span", {
194
196
  className: "hidden desktop:inline",
195
197
  children: c
196
198
  })] }),
197
- description: d,
199
+ description: u,
198
200
  ariaLabel: f,
199
201
  accept: n,
200
202
  errorText: t,
@@ -203,155 +205,158 @@ var j = {
203
205
  })
204
206
  })
205
207
  });
206
- }, V = ({ isOpen: e, onClose: t, onSelect: n, title: r, renderContent: i }) => /* @__PURE__ */ O(p, {
208
+ }, J = ({ isOpen: e, onClose: t, onSelect: n, title: r, renderContent: i }) => /* @__PURE__ */ F(g, {
207
209
  open: e,
208
210
  header: r,
209
- size: m.Lg,
211
+ size: _.Lg,
210
212
  className: "h-[min(90vh,860px)] !max-w-[min(95vw,1200px)] overflow-hidden",
211
213
  onClose: t,
212
- children: /* @__PURE__ */ O("div", {
214
+ children: /* @__PURE__ */ F("div", {
213
215
  className: "h-[min(80vh,840px)] overflow-auto",
214
- children: /* @__PURE__ */ O(_, {
216
+ children: /* @__PURE__ */ F(x, {
215
217
  fallback: null,
216
218
  children: e && i(n, t)
217
219
  })
218
220
  })
219
- }), H = (e) => /* @__PURE__ */ O(A, { ...e }), U = (e) => ({
221
+ }), Y = (e) => /* @__PURE__ */ F(L, { ...e }), X = (e) => ({
220
222
  id: e.url,
221
223
  name: e.name,
222
224
  description: e.description
223
- }), W = (e) => {
225
+ }), Z = (e) => {
224
226
  let t = e.split("/").filter((e) => e.length > 0);
225
227
  return t[t.length - 1] ?? e;
226
- }, G = ({ isEnabled: e, isSkillsSupported: t, skills: n, sharedWithMe: i, publicSkills: a, favoriteIds: o, onToggleFavorite: s, labels: l, historyChipLabelClassName: u, renderCatalogContent: d, detailsPanelComponent: f }) => {
227
- let { addMenuLabel: p = "Skills", backLabel: m = "Back", catalogModalTitleLabel: h = "Use skill", emptyQueryHintLabel: g = "Type to filter", unsupportedTooltipLabel: y = "Selected model does not support skills. Remove the skill or select different model to proceed.", panelLabels: b } = l ?? {}, S = e && t, [T, E] = C(!1), [D, k] = C(null), [A, j] = C(null), M = x(() => [
228
- ...n,
229
- ...i ?? [],
230
- ...a ?? []
228
+ }, ee = ({ isEnabled: e, isSkillsSupported: t, skills: r, sharedWithMe: a, publicSkills: o, favoriteIds: s, onToggleFavorite: c, labels: u, historyChipLabelClassName: d, renderCatalogContent: f, detailsPanelComponent: p }) => {
229
+ let { addMenuLabel: m = "Skills", backLabel: h = "Back", catalogModalTitleLabel: g = "Use skill", emptyQueryHintLabel: _ = "Type to filter", unsupportedTooltipLabel: v = "Selected model does not support skills. Remove the skill or select different model to proceed.", panelLabels: y } = u ?? {}, b = e && t, [C, w] = O(!1), [T, D] = O(null), [A, j] = O(null), M = E(() => [
230
+ ...r,
231
+ ...a ?? [],
232
+ ...o ?? []
231
233
  ], [
232
- n,
233
- i,
234
- a
235
- ]), P = x(() => new Map(M.map((e) => [e.url, e])), [M]), F = x(() => M.filter((e) => o.has(e.url)).map((e) => U(e)), [M, o]), I = x(() => A == null ? null : P.get(A) ?? null, [P, A]), L = I != null && !t, z = v((e) => {
234
+ r,
235
+ a,
236
+ o
237
+ ]), N = E(() => new Map(M.map((e) => [e.url, e])), [M]), P = E(() => M.filter((e) => s.has(e.url)).map((e) => X(e)), [M, s]), I = E(() => A == null ? null : N.get(A) ?? {
238
+ url: A,
239
+ name: A
240
+ }, [N, A]), L = n(A, t), R = S((e) => {
236
241
  j(e);
237
- }, []), B = v(() => {
242
+ }, []), z = S(() => {
238
243
  j(null);
239
- }, []), H = A, G = x(() => A == null ? void 0 : [{ url: A }], [A]), K = x(() => I == null ? null : /* @__PURE__ */ O(N, {
244
+ }, []), V = A, H = E(() => A == null ? void 0 : [{ url: A }], [A]), U = E(() => I == null ? null : /* @__PURE__ */ F(B, {
240
245
  name: I.name,
241
246
  path: I.url,
242
247
  description: I.description,
243
248
  isUnsupported: L,
244
- onViewDetails: k,
249
+ onViewDetails: D,
245
250
  labels: {
246
- viewDetailsLabel: b?.viewDetailsLabel,
247
- unsupportedTooltipLabel: y
251
+ viewDetailsLabel: y?.viewDetailsLabel,
252
+ unsupportedTooltipLabel: v
248
253
  }
249
254
  }), [
250
255
  I,
251
256
  L,
252
- b,
253
- y
254
- ]), q = v((e) => e == null || e.length === 0 ? null : e.map((e) => {
255
- let t = P.get(e.url);
256
- return /* @__PURE__ */ O(N, {
257
- name: t?.name ?? W(e.url),
257
+ y,
258
+ v
259
+ ]), W = S((e) => e == null || e.length === 0 ? null : e.map((e) => {
260
+ let t = N.get(e.url);
261
+ return /* @__PURE__ */ F(B, {
262
+ name: t?.name ?? Z(e.url),
258
263
  path: e.url,
259
- labelClassName: u,
264
+ labelClassName: d,
260
265
  description: t?.description,
261
- onViewDetails: k,
262
- labels: { viewDetailsLabel: b?.viewDetailsLabel }
266
+ onViewDetails: D,
267
+ labels: { viewDetailsLabel: y?.viewDetailsLabel }
263
268
  }, e.url);
264
269
  }), [
265
- P,
266
- u,
267
- b
268
- ]), J = v((e) => /* @__PURE__ */ O(R, {
269
- favorites: F,
270
+ N,
271
+ d,
272
+ y
273
+ ]), K = S((e) => /* @__PURE__ */ F(G, {
274
+ favorites: P,
270
275
  onSelect: (t) => {
271
- z(t.id), e();
276
+ R(t.id), e();
272
277
  },
273
- onToggleFavorite: s,
278
+ onToggleFavorite: c,
274
279
  onBrowse: () => {
275
- e(), E(!0);
280
+ e(), w(!0);
276
281
  },
277
282
  onViewDetails: (t) => {
278
- e(), k(t.id);
283
+ e(), D(t.id);
279
284
  },
280
- labels: b
285
+ labels: y
281
286
  }), [
282
- F,
283
- z,
284
- s,
285
- b
286
- ]), Y = x(() => S ? {
287
+ P,
288
+ R,
289
+ c,
290
+ y
291
+ ]), q = E(() => b ? {
287
292
  key: "skills",
288
- title: p,
289
- icon: /* @__PURE__ */ O(w, {
290
- size: r,
293
+ title: m,
294
+ icon: /* @__PURE__ */ F(k, {
295
+ size: i,
291
296
  "aria-hidden": !0,
292
- stroke: c
297
+ stroke: l
293
298
  }),
294
- renderOverlay: J,
295
- backLabel: m
299
+ renderOverlay: K,
300
+ backLabel: h
296
301
  } : void 0, [
297
- S,
298
- p,
302
+ b,
299
303
  m,
300
- J
301
- ]), X = x(() => S ? {
304
+ h,
305
+ K
306
+ ]), Y = E(() => b ? {
302
307
  triggerPrefix: "/",
303
- menuLabel: p,
304
- emptyQueryHint: g,
305
- renderMenu: ({ query: e, close: t }) => /* @__PURE__ */ O(R, {
306
- favorites: F,
308
+ menuLabel: m,
309
+ emptyQueryHint: _,
310
+ renderMenu: ({ query: e, close: t }) => /* @__PURE__ */ F(G, {
311
+ favorites: P,
307
312
  searchQuery: e,
308
313
  onSelect: (e) => {
309
- t({ consumeQuery: !0 }), z(e.id);
314
+ t({ consumeQuery: !0 }), R(e.id);
310
315
  },
311
- onToggleFavorite: s,
316
+ onToggleFavorite: c,
312
317
  onBrowse: () => {
313
- t({ consumeQuery: !0 }), E(!0);
318
+ t({ consumeQuery: !0 }), w(!0);
314
319
  },
315
320
  onViewDetails: (e) => {
316
- t({ consumeQuery: !0 }), k(e.id);
321
+ t({ consumeQuery: !0 }), D(e.id);
317
322
  },
318
- labels: b
323
+ labels: y
319
324
  })
320
325
  } : void 0, [
321
- S,
322
- p,
323
- g,
324
- F,
325
- z,
326
- s,
327
- b
326
+ b,
327
+ m,
328
+ _,
329
+ P,
330
+ R,
331
+ c,
332
+ y
328
333
  ]);
329
334
  return e ? {
330
- skillMenuOverlay: Y,
331
- commandMenu: X,
332
- skillCatalogModal: /* @__PURE__ */ O(V, {
333
- isOpen: T,
334
- onClose: () => E(!1),
335
+ skillMenuOverlay: q,
336
+ commandMenu: Y,
337
+ skillCatalogModal: /* @__PURE__ */ F(J, {
338
+ isOpen: C,
339
+ onClose: () => w(!1),
335
340
  onSelect: (e) => {
336
- z(e), E(!1);
341
+ R(e), w(!1);
337
342
  },
338
- title: h,
339
- renderContent: d
343
+ title: g,
344
+ renderContent: f
340
345
  }),
341
- skillDetailsPanel: /* @__PURE__ */ O(_, {
346
+ skillDetailsPanel: /* @__PURE__ */ F(x, {
342
347
  fallback: null,
343
- children: /* @__PURE__ */ O(f, {
344
- skillId: D,
345
- onClose: () => k(null)
348
+ children: /* @__PURE__ */ F(p, {
349
+ skillId: T,
350
+ onClose: () => D(null)
346
351
  })
347
352
  }),
348
- selectedSkillElement: K,
349
- selectedSkillPath: H,
350
- selectedSkills: G,
353
+ selectedSkillElement: U,
354
+ selectedSkillPath: V,
355
+ selectedSkills: H,
351
356
  isSkillUnsupported: L,
352
- selectSkill: z,
353
- removeSelectedSkill: B,
354
- renderHistorySkills: q
357
+ selectSkill: R,
358
+ removeSelectedSkill: z,
359
+ renderHistorySkills: W
355
360
  } : {
356
361
  skillMenuOverlay: void 0,
357
362
  commandMenu: void 0,
@@ -365,6 +370,139 @@ var j = {
365
370
  removeSelectedSkill: () => void 0,
366
371
  renderHistorySkills: () => null
367
372
  };
373
+ }, Q = {
374
+ background: "_background_14zdf_1",
375
+ border: "_border_14zdf_5",
376
+ value: "_value_14zdf_9",
377
+ clear: "_clear_14zdf_13",
378
+ invalid: "_invalid_14zdf_17"
379
+ }, te = [], $ = ({ value: e, onChange: i, displayName: a, favorites: o = te, onToggleFavorite: s, onViewDetails: c, renderOverlay: d, isSkillsSupported: p, isDisabled: h = !1, isInvalid: g = !1, labelledById: _, describedById: y, labels: b, renderCatalogContent: x, className: S, styles: T }) => {
380
+ let [E, k] = O(!1), [j, M] = O(!1), [L, z] = O(""), B = D(null), V = w(), H = D(null), U = D(!1), W = n(e, p), K = p && !h, q = E && K, Y = j && K, X = () => {
381
+ H.current && !H.current.disabled ? H.current.focus() : B.current?.querySelector("button:not(:disabled)")?.focus();
382
+ };
383
+ C(() => {
384
+ U.current && !q && !Y && ((document.activeElement === document.body || B.current?.contains(document.activeElement)) && X(), k(!1), M(!1)), U.current = q || Y;
385
+ }, [q, Y]);
386
+ let Z = (e) => {
387
+ e && !K || (z(""), k(e));
388
+ }, ee = (e) => {
389
+ K && i(e), k(!1), M(!1);
390
+ }, $ = {
391
+ ...t({
392
+ "--ssf-text": T?.colors?.text,
393
+ "--ssf-bg": T?.colors?.background,
394
+ "--ssf-border": T?.colors?.border,
395
+ "--ssf-error": T?.colors?.error
396
+ }),
397
+ ...T?.cssVars
398
+ }, ne = /* @__PURE__ */ I("div", {
399
+ id: V,
400
+ className: "w-full min-w-0",
401
+ children: [/* @__PURE__ */ F("div", {
402
+ className: "p-2",
403
+ children: /* @__PURE__ */ F(v, {
404
+ value: L,
405
+ onChange: (e) => z(e ?? ""),
406
+ placeholder: b.searchPlaceholder ?? "Search skills",
407
+ "aria-label": b.searchPlaceholder ?? "Search skills",
408
+ clearLabel: b.clearSearchLabel ?? "Clear search"
409
+ })
410
+ }), /* @__PURE__ */ F(G, {
411
+ className: "min-w-0 desktop:w-full",
412
+ rowClassName: "min-h-11",
413
+ favorites: o,
414
+ searchQuery: L,
415
+ labels: b.panelLabels,
416
+ onSelect: (e) => ee(e.id),
417
+ onToggleFavorite: s,
418
+ onViewDetails: c ? (e) => {
419
+ k(!1), c(e);
420
+ } : void 0,
421
+ onBrowse: () => {
422
+ k(!1), M(!0);
423
+ }
424
+ })]
425
+ }), re = /* @__PURE__ */ F(m, {
426
+ inputRef: H,
427
+ readOnly: !0,
428
+ role: "combobox",
429
+ "aria-haspopup": "dialog",
430
+ "aria-expanded": q,
431
+ "aria-controls": q ? V : void 0,
432
+ "aria-labelledby": _,
433
+ "aria-describedby": y,
434
+ "aria-invalid": g || W,
435
+ disabled: !K,
436
+ invalid: g || W,
437
+ value: e ? a || e : "",
438
+ placeholder: b.placeholder,
439
+ title: p ? e ? a || e : void 0 : b.unsupportedTooltipLabel,
440
+ containerClassName: "w-full min-w-0",
441
+ wrapperClassName: r("cursor-pointer", "--ssf-bg" in $ && Q.background, "--ssf-border" in $ && Q.border, (g || W) && Q.invalid, T?.triggerClassName),
442
+ className: r("min-w-0 cursor-pointer text-ellipsis", "--ssf-text" in $ && Q.value, T?.typography?.fontClassName ?? "dial-small-text"),
443
+ onKeyDown: (e) => {
444
+ [
445
+ "Enter",
446
+ " ",
447
+ "ArrowDown"
448
+ ].includes(e.key) ? (e.preventDefault(), e.stopPropagation(), Z(e.key === "ArrowDown" || !q)) : e.key === "Escape" && Z(!1);
449
+ },
450
+ iconAfter: /* @__PURE__ */ I("span", {
451
+ className: "flex shrink-0 items-center",
452
+ children: [e && /* @__PURE__ */ F(f, {
453
+ type: "button",
454
+ className: r("size-11 shrink-0", Q.clear),
455
+ disabled: h,
456
+ "aria-label": b.removeSkillLabel,
457
+ onKeyDown: (e) => e.stopPropagation(),
458
+ onClick: (e) => {
459
+ e.stopPropagation(), i(void 0), k(!1), K ? H.current?.focus() : B.current?.focus();
460
+ },
461
+ iconBefore: /* @__PURE__ */ F(N, {
462
+ "aria-hidden": !0,
463
+ size: 18,
464
+ stroke: l
465
+ })
466
+ }), /* @__PURE__ */ F(A, {
467
+ "aria-hidden": !0,
468
+ size: 20,
469
+ stroke: l,
470
+ className: r("transition-transform", q && "rotate-180")
471
+ })]
472
+ })
473
+ });
474
+ return /* @__PURE__ */ I("div", {
475
+ ref: B,
476
+ role: "group",
477
+ "aria-labelledby": _,
478
+ tabIndex: -1,
479
+ className: r("min-w-0", S, R.selectorField),
480
+ style: $,
481
+ children: [d ? /* @__PURE__ */ I(P, { children: [/* @__PURE__ */ F("div", {
482
+ className: "w-full min-w-0",
483
+ onClick: () => Z(!q),
484
+ children: re
485
+ }), d(ne, q, () => Z(!1))] }) : /* @__PURE__ */ F(u, {
486
+ open: q,
487
+ onOpenChange: Z,
488
+ disabled: !K,
489
+ className: "w-full min-w-0",
490
+ listClassName: "w-[min(var(--reference-width),calc(100vw-2rem))] max-w-full",
491
+ renderOverlay: () => /* @__PURE__ */ F("div", {
492
+ role: "dialog",
493
+ "aria-labelledby": _,
494
+ children: ne
495
+ }),
496
+ initialFocus: 0,
497
+ children: re
498
+ }), Y && /* @__PURE__ */ F(J, {
499
+ isOpen: !0,
500
+ onClose: () => M(!1),
501
+ title: b.modalTitle,
502
+ onSelect: ee,
503
+ renderContent: x
504
+ })]
505
+ });
368
506
  };
369
507
  //#endregion
370
- export { N as ChatSkill, R as FavoriteSkillsPanel, j as SKILLS_CLASS, B as SkillArchiveUploadDialog, V as SkillCatalogModal, H as SkillDetailsSidePanel, M as SkillInfoTooltipContent, U as buildFavoriteSkillItem, G as useSkillSelectorOverlay };
508
+ export { B as ChatSkill, G as FavoriteSkillsPanel, R as SKILLS_CLASS, q as SkillArchiveUploadDialog, J as SkillCatalogModal, Y as SkillDetailsSidePanel, z as SkillInfoTooltipContent, $ as SkillSelectorField, X as buildFavoriteSkillItem, ee as useSkillSelectorOverlay };
@@ -33,12 +33,16 @@ export interface FavoriteSkillsPanelProps {
33
33
  favorites: FavoriteSkillItem[];
34
34
  /** Called when a row is activated (click, Enter, or Space). */
35
35
  onSelect: (item: FavoriteSkillItem) => void;
36
- /** Called with a skill's id when its row's star button is clicked to remove it from favorites. */
37
- onToggleFavorite: (id: string) => void;
36
+ /** Removes a favorite by id; omitted hides the star action. */
37
+ onToggleFavorite?: (id: string) => void;
38
38
  /** Called when the "Browse" button is clicked. */
39
39
  onBrowse: () => void;
40
- /** Called when a row tooltip's "View details" button is clicked. */
41
- onViewDetails: (item: FavoriteSkillItem) => void;
40
+ /** Opens skill details; omitted hides the details tooltip. */
41
+ onViewDetails?: (item: FavoriteSkillItem) => void;
42
+ /** Additional classes applied to the panel root. */
43
+ className?: string;
44
+ /** Additional classes applied to each favorite row. */
45
+ rowClassName?: string;
42
46
  /**
43
47
  * When provided, the panel enters search mode: rows are filtered to names
44
48
  * containing this string case-insensitively and matched names render with a
@@ -1 +1 @@
1
- {"version":3,"file":"favorite-skills-panel-props.d.ts","sourceRoot":"","sources":["../../src/models/favorite-skills-panel-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,kFAAkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6GAA6G;IAC7G,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oGAAoG;IACpG,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,6DAA6D;AAC7D,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+CAA+C;AAC/C,MAAM,WAAW,wBAAwB;IACvC,iEAAiE;IACjE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,kGAAkG;IAClG,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,aAAa,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACjD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,wDAAwD;IACxD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oIAAoI;IACpI,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
1
+ {"version":3,"file":"favorite-skills-panel-props.d.ts","sourceRoot":"","sources":["../../src/models/favorite-skills-panel-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,kFAAkF;AAClF,MAAM,WAAW,yBAAyB;IACxC,sEAAsE;IACtE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,2FAA2F;IAC3F,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6GAA6G;IAC7G,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,qFAAqF;IACrF,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oGAAoG;IACpG,qBAAqB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,6DAA6D;AAC7D,MAAM,WAAW,yBAAyB;IACxC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,+EAA+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,+CAA+C;AAC/C,MAAM,WAAW,wBAAwB;IACvC,iEAAiE;IACjE,SAAS,EAAE,iBAAiB,EAAE,CAAC;IAC/B,+DAA+D;IAC/D,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,+DAA+D;IAC/D,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,kDAAkD;IAClD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,wDAAwD;IACxD,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,gFAAgF;IAChF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,oIAAoI;IACpI,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sFAAsF;IACtF,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
@@ -0,0 +1,80 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ import { FavoriteSkillItem } from './favorite-skill-item';
3
+ import { FavoriteSkillsPanelLabels } from './favorite-skills-panel-props';
4
+ import { SkillCatalogModalProps } from './skill-catalog-modal-props';
5
+ /** Translated text for a controlled skill field. */
6
+ export interface SkillSelectorFieldLabels {
7
+ /** Empty selection text. */
8
+ placeholder: string;
9
+ /** Browse dialog title. */
10
+ modalTitle: string;
11
+ /** Accessible name of the removal control. */
12
+ removeSkillLabel: string;
13
+ /** Explanation shown when the selected model cannot use skills. */
14
+ unsupportedTooltipLabel: string;
15
+ /** Favorites panel text; omitted entries use the panel's English defaults. */
16
+ panelLabels?: FavoriteSkillsPanelLabels;
17
+ /** Favorites search label and placeholder. Defaults to 'Search skills'. */
18
+ searchPlaceholder?: string;
19
+ /** Accessible search clear label. Defaults to 'Clear search'. */
20
+ clearSearchLabel?: string;
21
+ }
22
+ /** Per-instance theme and typography overrides for the skill field. */
23
+ export interface SkillSelectorFieldStyles {
24
+ /** Field color overrides; omitted values use the host theme. */
25
+ colors?: {
26
+ /** Text color. */
27
+ text?: string;
28
+ /** Field background. */
29
+ background?: string;
30
+ /** Field border. */
31
+ border?: string;
32
+ /** Invalid-state text and border. */
33
+ error?: string;
34
+ };
35
+ /** Label typography overrides. */
36
+ typography?: {
37
+ /** CSS classes applied to the value. Defaults to 'dial-small-text'. */
38
+ fontClassName?: string;
39
+ };
40
+ /** Additional classes applied to the input wrapper. */
41
+ triggerClassName?: string;
42
+ /** CSS custom properties merged after the typed overrides. */
43
+ cssVars?: CSSProperties;
44
+ }
45
+ /** Host-controlled selection; catalog data and rendering belong to the caller. */
46
+ export interface SkillSelectorFieldProps {
47
+ /** Selected reference, independent of catalog loading. */
48
+ value?: string;
49
+ /** Called to replace or remove the selected reference. */
50
+ onChange: (value: string | undefined) => void;
51
+ /** Resolved name; defaults to the full selected reference. */
52
+ displayName?: string;
53
+ /** Host-resolved favorite skills. Defaults to an empty list. */
54
+ favorites?: FavoriteSkillItem[];
55
+ /** Removes a skill from favorites; omitted hides the star action. */
56
+ onToggleFavorite?: (id: string) => void;
57
+ /** Opens host-owned skill details; omitted hides the details tooltip. */
58
+ onViewDetails?: (item: FavoriteSkillItem) => void;
59
+ /** Optional popup presentation, such as a mobile sheet. Defaults to a dropdown. */
60
+ renderOverlay?: (panel: ReactNode, isOpen: boolean, onClose: () => void) => ReactNode;
61
+ /** Explicit skill support for the selected model. */
62
+ isSkillsSupported: boolean;
63
+ /** Disables all controls. Defaults to false. */
64
+ isDisabled?: boolean;
65
+ /** Host validation state. Defaults to false. */
66
+ isInvalid?: boolean;
67
+ /** ID of the host-rendered label. */
68
+ labelledById: string;
69
+ /** ID of host-rendered feedback. */
70
+ describedById?: string;
71
+ /** Translated visible and accessible text. */
72
+ labels: SkillSelectorFieldLabels;
73
+ /** Catalog content that calls back with the selected reference. */
74
+ renderCatalogContent: SkillCatalogModalProps['renderContent'];
75
+ /** Additional classes applied to the root. */
76
+ className?: string;
77
+ /** Theme and typography overrides. */
78
+ styles?: SkillSelectorFieldStyles;
79
+ }
80
+ //# sourceMappingURL=skill-selector-field-props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skill-selector-field-props.d.ts","sourceRoot":"","sources":["../../src/models/skill-selector-field-props.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC/E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAE1E,oDAAoD;AACpD,MAAM,WAAW,wBAAwB;IACvC,4BAA4B;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,gBAAgB,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,uBAAuB,EAAE,MAAM,CAAC;IAChC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,2EAA2E;IAC3E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,uEAAuE;AACvE,MAAM,WAAW,wBAAwB;IACvC,gEAAgE;IAChE,MAAM,CAAC,EAAE;QACP,kBAAkB;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,wBAAwB;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,oBAAoB;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,qCAAqC;QACrC,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,kCAAkC;IAClC,UAAU,CAAC,EAAE;QACX,uEAAuE;QACvE,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,uDAAuD;IACvD,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8DAA8D;IAC9D,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB;AAED,kFAAkF;AAClF,MAAM,WAAW,uBAAuB;IACtC,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gEAAgE;IAChE,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAChC,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yEAAyE;IACzE,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAClD,mFAAmF;IACnF,aAAa,CAAC,EAAE,CACd,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,IAAI,KAChB,SAAS,CAAC;IACf,qDAAqD;IACrD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,qCAAqC;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,oCAAoC;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,MAAM,EAAE,wBAAwB,CAAC;IACjC,mEAAmE;IACnE,oBAAoB,EAAE,sBAAsB,CAAC,eAAe,CAAC,CAAC;IAC9D,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,MAAM,CAAC,EAAE,wBAAwB,CAAC;CACnC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@epam/ai-dial-skills",
3
3
  "description": "Host-agnostic UI for picking a favorite skill to attach to a chat input",
4
- "version": "1.2.0-dev.101",
4
+ "version": "1.2.0-dev.106",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
7
7
  "main": "./index.js",
@@ -18,11 +18,11 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@tabler/icons-react": "^3.44.0",
21
- "@epam/ai-dial-catalog": "1.2.0-dev.101",
22
- "@epam/ai-dial-conversation-input": "1.2.0-dev.101"
21
+ "@epam/ai-dial-catalog": "1.2.0-dev.106",
22
+ "@epam/ai-dial-conversation-input": "1.2.0-dev.106"
23
23
  },
24
24
  "peerDependencies": {
25
- "@epam/ai-dial-chat-shared": "1.2.0-dev.101",
25
+ "@epam/ai-dial-chat-shared": "1.2.0-dev.106",
26
26
  "@epam/ai-dial-ui-kit": "^0.15.0-dev.12",
27
27
  "react": "^19.2.8"
28
28
  },
package/test-setup.d.ts CHANGED
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=test-setup.d.ts.map