wimui 0.51.1 → 0.51.2

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 (56) hide show
  1. package/dist/components/ai/ChatUI/ChatUI.cjs +1 -1
  2. package/dist/components/ai/ChatUI/ChatUI.js +10 -10
  3. package/dist/components/ai/ModelSelector/ModelSelector.cjs +1 -1
  4. package/dist/components/ai/ModelSelector/ModelSelector.js +121 -120
  5. package/dist/components/ai/ThreadList/ThreadList.cjs +1 -1
  6. package/dist/components/ai/ThreadList/ThreadList.js +63 -62
  7. package/dist/components/data-display/Accordion/accordion.module.cjs +1 -1
  8. package/dist/components/data-display/Accordion/accordion.module.js +1 -1
  9. package/dist/components/data-display/Carousel/Carousel.cjs +1 -1
  10. package/dist/components/data-display/Carousel/Carousel.js +46 -46
  11. package/dist/components/data-display/NodeGraph/NodeGraph.cjs +1 -1
  12. package/dist/components/data-display/NodeGraph/NodeGraph.js +48 -48
  13. package/dist/components/data-display/ScheduleView/ScheduleView.cjs +1 -1
  14. package/dist/components/data-display/ScheduleView/ScheduleView.js +49 -48
  15. package/dist/components/feedback/Tour/Tour.cjs +1 -1
  16. package/dist/components/feedback/Tour/Tour.js +125 -100
  17. package/dist/components/form/OtpInput/otp-input.module.cjs +1 -1
  18. package/dist/components/form/OtpInput/otp-input.module.js +1 -1
  19. package/dist/components/form/RangeSlider/RangeSlider.cjs +1 -1
  20. package/dist/components/form/RangeSlider/RangeSlider.js +116 -115
  21. package/dist/components/form/RangeSlider/range-slider.module.cjs +1 -1
  22. package/dist/components/form/RangeSlider/range-slider.module.js +1 -1
  23. package/dist/components/form/ThemeToggle/ThemeToggle.cjs +1 -1
  24. package/dist/components/form/ThemeToggle/ThemeToggle.js +66 -65
  25. package/dist/components/form/Transfer/Transfer.cjs +1 -1
  26. package/dist/components/form/Transfer/Transfer.d.ts +1 -1
  27. package/dist/components/form/Transfer/Transfer.js +104 -104
  28. package/dist/components/form/Transfer/transfer.module.cjs +1 -1
  29. package/dist/components/form/Transfer/transfer.module.js +6 -6
  30. package/dist/components/media/Audio/Audio.cjs +1 -1
  31. package/dist/components/media/Audio/Audio.js +45 -45
  32. package/dist/components/media/Audio/components/AudioCustomControls.cjs +1 -1
  33. package/dist/components/media/Audio/components/AudioCustomControls.js +113 -112
  34. package/dist/components/media/ImageCompare/ImageCompare.cjs +1 -1
  35. package/dist/components/media/ImageCompare/ImageCompare.js +73 -72
  36. package/dist/components/media/Video/Video.cjs +1 -1
  37. package/dist/components/media/Video/Video.js +36 -35
  38. package/dist/components/media/Video/components/VideoAdvancedMenu.cjs +1 -1
  39. package/dist/components/media/Video/components/VideoAdvancedMenu.js +138 -137
  40. package/dist/components/navigation/Tabs/tabs.module.cjs +1 -1
  41. package/dist/components/navigation/Tabs/tabs.module.js +1 -1
  42. package/dist/i18n/generated/keys.d.ts +1 -1
  43. package/dist/i18n/generated/resources.cjs +1 -1
  44. package/dist/i18n/generated/resources.js +192 -12
  45. package/dist/llms-full.txt +4 -4
  46. package/dist/llms.txt +1 -1
  47. package/dist/locales/en/common.json +53 -4
  48. package/dist/locales/en/components.json +3 -1
  49. package/dist/locales/ja/common.json +53 -4
  50. package/dist/locales/ja/components.json +3 -1
  51. package/dist/locales/pt/common.json +53 -4
  52. package/dist/locales/pt/components.json +3 -1
  53. package/dist/styles.css +2 -2
  54. package/dist/wimui.umd.css +1 -1
  55. package/dist/wimui.umd.js +3 -3
  56. package/package.json +7 -7
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/paperclip.cjs"),r=require("../../../icon/send.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("../../../hooks/useAutoResize.cjs"),o=require("./chat-ui.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=({children:e,className:t,...n})=>(0,l.jsx)(`div`,{className:(0,c.default)(`wim-chat-ui`,o.default.container,t),...n,children:e}),d=(0,s.forwardRef)(({children:e,className:t,...n},r)=>(0,l.jsx)(`div`,{ref:r,className:(0,c.default)(o.default.messageList,t),...n,children:e}));d.displayName=`ChatMessageList`;var f=({children:e,position:t=`left`,variant:n=`default`,showAvatar:r=!0,avatar:i,timestamp:a,senderName:s,isTyping:u=!1,actions:d,actionsVisible:f=!0,className:p,...m})=>(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.message,o.default[t],o.default[n],{[o.default.hasAvatar]:r},p),...m,children:[r&&t===`left`&&(0,l.jsx)(`div`,{className:o.default.messageAvatar,children:i}),(0,l.jsxs)(`div`,{className:o.default.contentWrapper,children:[s&&(0,l.jsx)(`div`,{className:o.default.sender,children:s}),(0,l.jsx)(`div`,{className:(0,c.default)(o.default.bubble,{[o.default.typing]:u}),children:u?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{className:o.default.typingDot}),(0,l.jsx)(`span`,{className:o.default.typingDot}),(0,l.jsx)(`span`,{className:o.default.typingDot})]}):e}),d&&(0,l.jsx)(`div`,{className:(0,c.default)(o.default.actions,{[o.default.hoverOnly]:!f}),children:d}),a&&(0,l.jsx)(`div`,{className:o.default.timestamp,children:a})]}),r&&t===`right`&&(0,l.jsx)(`div`,{className:o.default.messageAvatar,children:i})]}),p=({children:e,className:t,...n})=>(0,l.jsx)(`div`,{className:(0,c.default)(o.default.inputArea,t),...n,children:e}),m=(0,s.forwardRef)(({onSend:e,onAttach:c,sendButtonLabel:u,sendButtonIcon:d=r.default,showSendButton:f=!0,showAttach:m=!1,maxRows:h=8,className:g,..._},v)=>{let{t:y}=t.useWimTranslation(`common`),[b,x]=s.default.useState(``),S=_.value!==void 0,C=S?_.value:b,w=a.useAutoResize(C,h);s.default.useImperativeHandle(v,()=>w.current);let T=!!u,E=()=>{e&&(e(C),S||x(``))};return(0,l.jsx)(p,{className:g,children:(0,l.jsxs)(`div`,{className:o.default.fieldContainer,children:[m&&(0,l.jsx)(`button`,{type:`button`,className:o.default.attachButton,onClick:c,"aria-label":y(`a11y.attach_file`),children:(0,l.jsx)(i.Icon,{component:n.default,size:`sm`})}),(0,l.jsx)(`textarea`,{ref:w,className:o.default.field,value:C,onChange:e=>{S||x(e.target.value),_.onChange?.(e)},onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),E())},placeholder:_.placeholder||`Type a message...`,rows:1,..._}),f&&(0,l.jsx)(`button`,{className:o.default.sendButton,onClick:E,disabled:!C.trim(),type:`button`,"aria-label":u||`Send`,children:T?u:(0,l.jsx)(i.Icon,{component:d,size:`sm`})})]})})});m.displayName=`ChatInput`;var h=({src:e,alt:t,fallback:n,size:r=`md`,tone:i=`s18`,className:a,...u})=>{let[d,f]=s.default.useState(!1),p=t||`User Avatar`;return(0,l.jsx)(`div`,{className:(0,c.default)(o.default.avatar,o.default[r],o.default[i],a),...u,children:e&&!d?(0,l.jsx)(`img`,{src:e,alt:p,className:o.default.image,onError:()=>f(!0)}):(0,l.jsx)(`div`,{className:o.default.fallback,children:n||p.charAt(0).toUpperCase()})})};exports.ChatAvatar=h,exports.ChatContainer=u,exports.ChatInput=m,exports.ChatInputArea=p,exports.ChatMessage=f,exports.ChatMessageList=d;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/paperclip.cjs"),r=require("../../../icon/send.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("../../../hooks/useAutoResize.cjs"),o=require("./chat-ui.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=({children:e,className:t,...n})=>(0,l.jsx)(`div`,{className:(0,c.default)(`wim-chat-ui`,o.default.container,t),...n,children:e}),d=(0,s.forwardRef)(({children:e,className:t,...n},r)=>(0,l.jsx)(`div`,{ref:r,className:(0,c.default)(o.default.messageList,t),...n,children:e}));d.displayName=`ChatMessageList`;var f=({children:e,position:t=`left`,variant:n=`default`,showAvatar:r=!0,avatar:i,timestamp:a,senderName:s,isTyping:u=!1,actions:d,actionsVisible:f=!0,className:p,...m})=>(0,l.jsxs)(`div`,{className:(0,c.default)(o.default.message,o.default[t],o.default[n],{[o.default.hasAvatar]:r},p),...m,children:[r&&t===`left`&&(0,l.jsx)(`div`,{className:o.default.messageAvatar,children:i}),(0,l.jsxs)(`div`,{className:o.default.contentWrapper,children:[s&&(0,l.jsx)(`div`,{className:o.default.sender,children:s}),(0,l.jsx)(`div`,{className:(0,c.default)(o.default.bubble,{[o.default.typing]:u}),children:u?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{className:o.default.typingDot}),(0,l.jsx)(`span`,{className:o.default.typingDot}),(0,l.jsx)(`span`,{className:o.default.typingDot})]}):e}),d&&(0,l.jsx)(`div`,{className:(0,c.default)(o.default.actions,{[o.default.hoverOnly]:!f}),children:d}),a&&(0,l.jsx)(`div`,{className:o.default.timestamp,children:a})]}),r&&t===`right`&&(0,l.jsx)(`div`,{className:o.default.messageAvatar,children:i})]}),p=({children:e,className:t,...n})=>(0,l.jsx)(`div`,{className:(0,c.default)(o.default.inputArea,t),...n,children:e}),m=(0,s.forwardRef)(({onSend:e,onAttach:c,sendButtonLabel:u,sendButtonIcon:d=r.default,showSendButton:f=!0,showAttach:m=!1,maxRows:h=8,className:g,..._},v)=>{let{t:y}=t.useWimTranslation(`common`),[b,x]=s.default.useState(``),S=_.value!==void 0,C=S?_.value:b,w=a.useAutoResize(C,h);s.default.useImperativeHandle(v,()=>w.current);let T=!!u,E=()=>{e&&(e(C),S||x(``))};return(0,l.jsx)(p,{className:g,children:(0,l.jsxs)(`div`,{className:o.default.fieldContainer,children:[m&&(0,l.jsx)(`button`,{type:`button`,className:o.default.attachButton,onClick:c,"aria-label":y(`a11y.attach_file`),children:(0,l.jsx)(i.Icon,{component:n.default,size:`sm`})}),(0,l.jsx)(`textarea`,{ref:w,className:o.default.field,value:C,onChange:e=>{S||x(e.target.value),_.onChange?.(e)},onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),E())},placeholder:_.placeholder||`Type a message...`,rows:1,..._}),f&&(0,l.jsx)(`button`,{className:o.default.sendButton,onClick:E,disabled:!C.trim(),type:`button`,"aria-label":u||y(`chat.send`),children:T?u:(0,l.jsx)(i.Icon,{component:d,size:`sm`})})]})})});m.displayName=`ChatInput`;var h=({src:e,alt:n,fallback:r,size:i=`md`,tone:a=`s18`,className:u,...d})=>{let[f,p]=s.default.useState(!1),{t:m}=t.useWimTranslation(`common`),h=n||m(`chat.user_avatar`);return(0,l.jsx)(`div`,{className:(0,c.default)(o.default.avatar,o.default[i],o.default[a],u),...d,children:e&&!f?(0,l.jsx)(`img`,{src:e,alt:h,className:o.default.image,onError:()=>p(!0)}):(0,l.jsx)(`div`,{className:o.default.fallback,children:r||h.charAt(0).toUpperCase()})})};exports.ChatAvatar=h,exports.ChatContainer=u,exports.ChatInput=m,exports.ChatInputArea=p,exports.ChatMessage=f,exports.ChatMessageList=d;
@@ -102,7 +102,7 @@ var m = ({ children: e, position: t = "left", variant: n = "default", showAvatar
102
102
  onClick: D,
103
103
  disabled: !w.trim(),
104
104
  type: "button",
105
- "aria-label": l || "Send",
105
+ "aria-label": l || b("chat.send"),
106
106
  children: E ? l : /* @__PURE__ */ u(r, {
107
107
  component: f,
108
108
  size: "sm"
@@ -113,19 +113,19 @@ var m = ({ children: e, position: t = "left", variant: n = "default", showAvatar
113
113
  });
114
114
  });
115
115
  g.displayName = "ChatInput";
116
- var _ = ({ src: e, alt: t, fallback: n, size: r = "md", tone: i = "s18", className: s, ...l }) => {
117
- let [d, f] = o.useState(!1), p = t || "User Avatar";
116
+ var _ = ({ src: t, alt: n, fallback: r, size: i = "md", tone: s = "s18", className: l, ...d }) => {
117
+ let [f, p] = o.useState(!1), { t: m } = e("common"), h = n || m("chat.user_avatar");
118
118
  return /* @__PURE__ */ u("div", {
119
- className: c(a.avatar, a[r], a[i], s),
120
- ...l,
121
- children: e && !d ? /* @__PURE__ */ u("img", {
122
- src: e,
123
- alt: p,
119
+ className: c(a.avatar, a[i], a[s], l),
120
+ ...d,
121
+ children: t && !f ? /* @__PURE__ */ u("img", {
122
+ src: t,
123
+ alt: h,
124
124
  className: a.image,
125
- onError: () => f(!0)
125
+ onError: () => p(!0)
126
126
  }) : /* @__PURE__ */ u("div", {
127
127
  className: a.fallback,
128
- children: n || p.charAt(0).toUpperCase()
128
+ children: r || h.charAt(0).toUpperCase()
129
129
  })
130
130
  });
131
131
  };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../layout/Transition/Transition.cjs"),n=require("../../../icon/check.cjs"),r=require("../../../icon/chevron-down.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("./model-selector.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=e=>e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}K`:String(e),u=(e,t=`$`)=>`${t}${e}`,d=o.default.forwardRef(({models:e,value:d,defaultValue:f,onChange:p,size:m=`md`,disabled:h=!1,fullWidth:g=!1,showPricing:_=!0,showContext:v=!0,labels:y,className:b,...x},S)=>{let{placeholder:C=`Select a model`,contextLabel:w=`Context`,inputLabel:T=`In`,outputLabel:E=`Out`,perTokensLabel:D=`/1M`,triggerAriaLabel:O=`Select a model`}=y??{},k=d!==void 0,[A,j]=(0,o.useState)(f),M=k?d:A,N=e.find(e=>e.id===M),[P,F]=(0,o.useState)(!1),[I,L]=(0,o.useState)(-1),R=(0,o.useRef)(null),z=(0,o.useRef)(null),B=(0,o.useId)(),V=`${B}-listbox`,H=(0,o.useCallback)(e=>{R.current=e,typeof S==`function`?S(e):S&&(S.current=e)},[S]);(0,o.useEffect)(()=>{if(!P)return;let e=e=>{R.current&&!R.current.contains(e.target)&&F(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[P]);let U=e=>{e.disabled||(k||j(e.id),p?.(e.id,e),F(!1))},W=(t,n)=>{let r=t;for(let t=0;t<e.length;t++){if(!e[r]?.disabled)return r;r=(r+n+e.length)%e.length}return-1},G=t=>{let n=e.findIndex(e=>e.id===M);L(t??(n>=0?n:W(0,1))),F(!0)},K=t=>{L(n=>{let r=n;for(let n=0;n<e.length&&(r=(r+t+e.length)%e.length,e[r]?.disabled);n++);return r})},q=t=>{if(!h)switch(t.key){case`ArrowDown`:case`ArrowUp`:t.preventDefault(),P?K(t.key===`ArrowDown`?1:-1):G();break;case`Home`:case`End`:t.preventDefault(),t.key===`Home`?P?L(W(0,1)):G(W(0,1)):P?L(W(e.length-1,-1)):G(W(e.length-1,-1));break;case`Enter`:case` `:if(t.preventDefault(),!P)G();else{let t=e[I];t&&U(t)}break;case`Escape`:P&&(t.preventDefault(),F(!1));break;case`Tab`:F(!1)}};(0,o.useEffect)(()=>{P&&I>=0&&(z.current?.querySelectorAll(`[role="option"]`)?.[I])?.scrollIntoView({block:`nearest`})},[I,P]);let J=e=>{let t=[];if(v&&e.contextLength&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[w,` `,l(e.contextLength)]},`ctx`)),_&&e.pricing){let{input:n,output:r,currency:i}=e.pricing;n!==void 0&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[T,` `,u(n,i),D]},`in`)),r!==void 0&&t.push((0,c.jsxs)(`span`,{className:a.default.meta,children:[E,` `,u(r,i),D]},`out`))}if(t.length===0)return null;let n=t.flatMap((e,t)=>t===0?[e]:[` `,e]);return(0,c.jsx)(`span`,{className:a.default.metaRow,children:n})};return(0,c.jsxs)(`div`,{ref:H,className:(0,s.default)(`wim-model-selector`,a.default.root,a.default[m],g&&a.default.fullWidth,h&&a.default.disabled,b),...x,children:[(0,c.jsxs)(`button`,{type:`button`,role:`combobox`,className:a.default.trigger,"aria-haspopup":`listbox`,"aria-expanded":P,"aria-controls":P?V:void 0,"aria-activedescendant":P&&I>=0?`${B}-opt-${I}`:void 0,"aria-label":O,disabled:h,onClick:()=>{h||(P?F(!1):G())},onKeyDown:q,onKeyUp:e=>{e.key===` `&&e.preventDefault()},children:[(0,c.jsx)(`span`,{className:a.default.triggerLabel,children:N?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(`span`,{className:a.default.triggerName,children:N.name}),` `,N.badge&&(0,c.jsx)(`span`,{className:a.default.badge,children:N.badge})]}):(0,c.jsx)(`span`,{className:a.default.placeholder,children:C})}),(0,c.jsx)(i.Icon,{component:r.default,size:`sm`,className:(0,s.default)(a.default.chevron,P&&a.default.chevronOpen)})]}),(0,c.jsx)(t.Transition,{show:P,preset:`scale`,unmount:!0,className:a.default.dropdownWrapper,children:(0,c.jsx)(`ul`,{ref:z,id:V,role:`listbox`,"aria-label":O,tabIndex:-1,className:a.default.dropdown,onMouseDown:e=>e.preventDefault(),children:e.map((e,t)=>{let r=e.id===M;return(0,c.jsxs)(`li`,{id:`${B}-opt-${t}`,role:`option`,"aria-selected":r,"aria-disabled":e.disabled||void 0,className:(0,s.default)(a.default.option,t===I&&a.default.active,e.disabled&&a.default.optionDisabled),onMouseEnter:()=>L(t),onClick:()=>U(e),children:[(0,c.jsx)(`span`,{className:a.default.check,"aria-hidden":`true`,children:r&&(0,c.jsx)(i.Icon,{component:n.default,size:`sm`})}),(0,c.jsxs)(`span`,{className:a.default.optionBody,children:[(0,c.jsxs)(`span`,{className:a.default.optionHeader,children:[(0,c.jsx)(`span`,{className:a.default.optionName,children:e.name}),` `,e.badge&&(0,c.jsx)(`span`,{className:a.default.badge,children:e.badge})]}),` `,e.description&&(0,c.jsx)(`span`,{className:a.default.description,children:e.description}),` `,J(e)]})]},e.id)})})})]})});d.displayName=`ModelSelector`,exports.ModelSelector=d;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../layout/Transition/Transition.cjs"),r=require("../../../icon/check.cjs"),i=require("../../../icon/chevron-down.cjs"),a=require("../../media/Icon/Icon.cjs"),o=require("./model-selector.module.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("classnames");c=e.__toESM(c,1);let l=require("react/jsx-runtime");var u=e=>e>=1e6?`${(e/1e6).toFixed(e%1e6==0?0:1)}M`:e>=1e3?`${(e/1e3).toFixed(e%1e3==0?0:1)}K`:String(e),d=(e,t=`$`)=>`${t}${e}`,f=s.default.forwardRef(({models:e,value:f,defaultValue:p,onChange:m,size:h=`md`,disabled:g=!1,fullWidth:_=!1,showPricing:v=!0,showContext:y=!0,labels:b,className:x,...S},C)=>{let{t:w}=t.useWimTranslation(`common`),{placeholder:T=w(`modelSelector.placeholder`),contextLabel:E=w(`modelSelector.context`),inputLabel:D=w(`modelSelector.input`),outputLabel:O=w(`modelSelector.output`),perTokensLabel:k=`/1M`,triggerAriaLabel:A=w(`modelSelector.placeholder`)}=b??{},j=f!==void 0,[M,N]=(0,s.useState)(p),P=j?f:M,F=e.find(e=>e.id===P),[I,L]=(0,s.useState)(!1),[R,z]=(0,s.useState)(-1),B=(0,s.useRef)(null),V=(0,s.useRef)(null),H=(0,s.useId)(),U=`${H}-listbox`,W=(0,s.useCallback)(e=>{B.current=e,typeof C==`function`?C(e):C&&(C.current=e)},[C]);(0,s.useEffect)(()=>{if(!I)return;let e=e=>{B.current&&!B.current.contains(e.target)&&L(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[I]);let G=e=>{e.disabled||(j||N(e.id),m?.(e.id,e),L(!1))},K=(t,n)=>{let r=t;for(let t=0;t<e.length;t++){if(!e[r]?.disabled)return r;r=(r+n+e.length)%e.length}return-1},q=t=>{let n=e.findIndex(e=>e.id===P);z(t??(n>=0?n:K(0,1))),L(!0)},J=t=>{z(n=>{let r=n;for(let n=0;n<e.length&&(r=(r+t+e.length)%e.length,e[r]?.disabled);n++);return r})},Y=t=>{if(!g)switch(t.key){case`ArrowDown`:case`ArrowUp`:t.preventDefault(),I?J(t.key===`ArrowDown`?1:-1):q();break;case`Home`:case`End`:t.preventDefault(),t.key===`Home`?I?z(K(0,1)):q(K(0,1)):I?z(K(e.length-1,-1)):q(K(e.length-1,-1));break;case`Enter`:case` `:if(t.preventDefault(),!I)q();else{let t=e[R];t&&G(t)}break;case`Escape`:I&&(t.preventDefault(),L(!1));break;case`Tab`:L(!1)}};(0,s.useEffect)(()=>{I&&R>=0&&(V.current?.querySelectorAll(`[role="option"]`)?.[R])?.scrollIntoView({block:`nearest`})},[R,I]);let X=e=>{let t=[];if(y&&e.contextLength&&t.push((0,l.jsxs)(`span`,{className:o.default.meta,children:[E,` `,u(e.contextLength)]},`ctx`)),v&&e.pricing){let{input:n,output:r,currency:i}=e.pricing;n!==void 0&&t.push((0,l.jsxs)(`span`,{className:o.default.meta,children:[D,` `,d(n,i),k]},`in`)),r!==void 0&&t.push((0,l.jsxs)(`span`,{className:o.default.meta,children:[O,` `,d(r,i),k]},`out`))}if(t.length===0)return null;let n=t.flatMap((e,t)=>t===0?[e]:[` `,e]);return(0,l.jsx)(`span`,{className:o.default.metaRow,children:n})};return(0,l.jsxs)(`div`,{ref:W,className:(0,c.default)(`wim-model-selector`,o.default.root,o.default[h],_&&o.default.fullWidth,g&&o.default.disabled,x),...S,children:[(0,l.jsxs)(`button`,{type:`button`,role:`combobox`,className:o.default.trigger,"aria-haspopup":`listbox`,"aria-expanded":I,"aria-controls":I?U:void 0,"aria-activedescendant":I&&R>=0?`${H}-opt-${R}`:void 0,"aria-label":A,disabled:g,onClick:()=>{g||(I?L(!1):q())},onKeyDown:Y,onKeyUp:e=>{e.key===` `&&e.preventDefault()},children:[(0,l.jsx)(`span`,{className:o.default.triggerLabel,children:F?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(`span`,{className:o.default.triggerName,children:F.name}),` `,F.badge&&(0,l.jsx)(`span`,{className:o.default.badge,children:F.badge})]}):(0,l.jsx)(`span`,{className:o.default.placeholder,children:T})}),(0,l.jsx)(a.Icon,{component:i.default,size:`sm`,className:(0,c.default)(o.default.chevron,I&&o.default.chevronOpen)})]}),(0,l.jsx)(n.Transition,{show:I,preset:`scale`,unmount:!0,className:o.default.dropdownWrapper,children:(0,l.jsx)(`ul`,{ref:V,id:U,role:`listbox`,"aria-label":A,tabIndex:-1,className:o.default.dropdown,onMouseDown:e=>e.preventDefault(),children:e.map((e,t)=>{let n=e.id===P;return(0,l.jsxs)(`li`,{id:`${H}-opt-${t}`,role:`option`,"aria-selected":n,"aria-disabled":e.disabled||void 0,className:(0,c.default)(o.default.option,t===R&&o.default.active,e.disabled&&o.default.optionDisabled),onMouseEnter:()=>z(t),onClick:()=>G(e),children:[(0,l.jsx)(`span`,{className:o.default.check,"aria-hidden":`true`,children:n&&(0,l.jsx)(a.Icon,{component:r.default,size:`sm`})}),(0,l.jsxs)(`span`,{className:o.default.optionBody,children:[(0,l.jsxs)(`span`,{className:o.default.optionHeader,children:[(0,l.jsx)(`span`,{className:o.default.optionName,children:e.name}),` `,e.badge&&(0,l.jsx)(`span`,{className:o.default.badge,children:e.badge})]}),` `,e.description&&(0,l.jsx)(`span`,{className:o.default.description,children:e.description}),` `,X(e)]})]},e.id)})})})]})});f.displayName=`ModelSelector`,exports.ModelSelector=f;
@@ -1,201 +1,202 @@
1
1
  "use client";
2
- import { Transition as e } from "../../layout/Transition/Transition.js";
3
- import t from "../../../icon/check.js";
4
- import n from "../../../icon/chevron-down.js";
5
- import { Icon as r } from "../../media/Icon/Icon.js";
6
- import i from "./model-selector.module.js";
7
- import a, { useCallback as o, useEffect as s, useId as c, useRef as l, useState as u } from "react";
8
- import d from "classnames";
9
- import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
2
+ import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
3
+ import { Transition as t } from "../../layout/Transition/Transition.js";
4
+ import n from "../../../icon/check.js";
5
+ import r from "../../../icon/chevron-down.js";
6
+ import { Icon as i } from "../../media/Icon/Icon.js";
7
+ import a from "./model-selector.module.js";
8
+ import o, { useCallback as s, useEffect as c, useId as l, useRef as u, useState as d } from "react";
9
+ import f from "classnames";
10
+ import { Fragment as p, jsx as m, jsxs as h } from "react/jsx-runtime";
10
11
  //#region src/components/ai/ModelSelector/ModelSelector.tsx
11
- var h = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(e % 1e6 == 0 ? 0 : 1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(e % 1e3 == 0 ? 0 : 1)}K` : String(e), g = (e, t = "$") => `${t}${e}`, _ = a.forwardRef(({ models: a, value: _, defaultValue: v, onChange: y, size: b = "md", disabled: x = !1, fullWidth: S = !1, showPricing: C = !0, showContext: w = !0, labels: T, className: E, ...D }, O) => {
12
- let { placeholder: k = "Select a model", contextLabel: A = "Context", inputLabel: j = "In", outputLabel: M = "Out", perTokensLabel: N = "/1M", triggerAriaLabel: P = "Select a model" } = T ?? {}, F = _ !== void 0, [I, L] = u(v), R = F ? _ : I, z = a.find((e) => e.id === R), [B, V] = u(!1), [H, U] = u(-1), W = l(null), G = l(null), K = c(), q = `${K}-listbox`, J = o((e) => {
13
- W.current = e, typeof O == "function" ? O(e) : O && (O.current = e);
14
- }, [O]);
15
- s(() => {
16
- if (!B) return;
12
+ var g = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(e % 1e6 == 0 ? 0 : 1)}M` : e >= 1e3 ? `${(e / 1e3).toFixed(e % 1e3 == 0 ? 0 : 1)}K` : String(e), _ = (e, t = "$") => `${t}${e}`, v = o.forwardRef(({ models: o, value: v, defaultValue: y, onChange: b, size: x = "md", disabled: S = !1, fullWidth: C = !1, showPricing: w = !0, showContext: T = !0, labels: E, className: D, ...O }, k) => {
13
+ let { t: A } = e("common"), { placeholder: j = A("modelSelector.placeholder"), contextLabel: M = A("modelSelector.context"), inputLabel: N = A("modelSelector.input"), outputLabel: P = A("modelSelector.output"), perTokensLabel: F = "/1M", triggerAriaLabel: I = A("modelSelector.placeholder") } = E ?? {}, L = v !== void 0, [R, z] = d(y), B = L ? v : R, V = o.find((e) => e.id === B), [H, U] = d(!1), [W, G] = d(-1), K = u(null), q = u(null), J = l(), Y = `${J}-listbox`, X = s((e) => {
14
+ K.current = e, typeof k == "function" ? k(e) : k && (k.current = e);
15
+ }, [k]);
16
+ c(() => {
17
+ if (!H) return;
17
18
  let e = (e) => {
18
- W.current && !W.current.contains(e.target) && V(!1);
19
+ K.current && !K.current.contains(e.target) && U(!1);
19
20
  };
20
21
  return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
21
- }, [B]);
22
- let Y = (e) => {
23
- e.disabled || (F || L(e.id), y?.(e.id, e), V(!1));
24
- }, X = (e, t) => {
22
+ }, [H]);
23
+ let Z = (e) => {
24
+ e.disabled || (L || z(e.id), b?.(e.id, e), U(!1));
25
+ }, Q = (e, t) => {
25
26
  let n = e;
26
- for (let e = 0; e < a.length; e++) {
27
- if (!a[n]?.disabled) return n;
28
- n = (n + t + a.length) % a.length;
27
+ for (let e = 0; e < o.length; e++) {
28
+ if (!o[n]?.disabled) return n;
29
+ n = (n + t + o.length) % o.length;
29
30
  }
30
31
  return -1;
31
- }, Z = (e) => {
32
- let t = a.findIndex((e) => e.id === R);
33
- U(e ?? (t >= 0 ? t : X(0, 1))), V(!0);
34
- }, Q = (e) => {
35
- U((t) => {
32
+ }, $ = (e) => {
33
+ let t = o.findIndex((e) => e.id === B);
34
+ G(e ?? (t >= 0 ? t : Q(0, 1))), U(!0);
35
+ }, ee = (e) => {
36
+ G((t) => {
36
37
  let n = t;
37
- for (let t = 0; t < a.length && (n = (n + e + a.length) % a.length, a[n]?.disabled); t++);
38
+ for (let t = 0; t < o.length && (n = (n + e + o.length) % o.length, o[n]?.disabled); t++);
38
39
  return n;
39
40
  });
40
- }, $ = (e) => {
41
- if (!x) switch (e.key) {
41
+ }, te = (e) => {
42
+ if (!S) switch (e.key) {
42
43
  case "ArrowDown":
43
44
  case "ArrowUp":
44
- e.preventDefault(), B ? Q(e.key === "ArrowDown" ? 1 : -1) : Z();
45
+ e.preventDefault(), H ? ee(e.key === "ArrowDown" ? 1 : -1) : $();
45
46
  break;
46
47
  case "Home":
47
48
  case "End":
48
- e.preventDefault(), e.key === "Home" ? B ? U(X(0, 1)) : Z(X(0, 1)) : B ? U(X(a.length - 1, -1)) : Z(X(a.length - 1, -1));
49
+ e.preventDefault(), e.key === "Home" ? H ? G(Q(0, 1)) : $(Q(0, 1)) : H ? G(Q(o.length - 1, -1)) : $(Q(o.length - 1, -1));
49
50
  break;
50
51
  case "Enter":
51
52
  case " ":
52
- if (e.preventDefault(), !B) Z();
53
+ if (e.preventDefault(), !H) $();
53
54
  else {
54
- let e = a[H];
55
- e && Y(e);
55
+ let e = o[W];
56
+ e && Z(e);
56
57
  }
57
58
  break;
58
59
  case "Escape":
59
- B && (e.preventDefault(), V(!1));
60
+ H && (e.preventDefault(), U(!1));
60
61
  break;
61
- case "Tab": V(!1);
62
+ case "Tab": U(!1);
62
63
  }
63
64
  };
64
- s(() => {
65
- B && H >= 0 && (G.current?.querySelectorAll("[role=\"option\"]")?.[H])?.scrollIntoView({ block: "nearest" });
66
- }, [H, B]);
67
- let ee = (e) => {
65
+ c(() => {
66
+ H && W >= 0 && (q.current?.querySelectorAll("[role=\"option\"]")?.[W])?.scrollIntoView({ block: "nearest" });
67
+ }, [W, H]);
68
+ let ne = (e) => {
68
69
  let t = [];
69
- if (w && e.contextLength && t.push(/* @__PURE__ */ m("span", {
70
- className: i.meta,
70
+ if (T && e.contextLength && t.push(/* @__PURE__ */ h("span", {
71
+ className: a.meta,
71
72
  children: [
72
- A,
73
+ M,
73
74
  " ",
74
- h(e.contextLength)
75
+ g(e.contextLength)
75
76
  ]
76
- }, "ctx")), C && e.pricing) {
77
- let { input: n, output: r, currency: a } = e.pricing;
78
- n !== void 0 && t.push(/* @__PURE__ */ m("span", {
79
- className: i.meta,
77
+ }, "ctx")), w && e.pricing) {
78
+ let { input: n, output: r, currency: i } = e.pricing;
79
+ n !== void 0 && t.push(/* @__PURE__ */ h("span", {
80
+ className: a.meta,
80
81
  children: [
81
- j,
82
+ N,
82
83
  " ",
83
- g(n, a),
84
- N
84
+ _(n, i),
85
+ F
85
86
  ]
86
- }, "in")), r !== void 0 && t.push(/* @__PURE__ */ m("span", {
87
- className: i.meta,
87
+ }, "in")), r !== void 0 && t.push(/* @__PURE__ */ h("span", {
88
+ className: a.meta,
88
89
  children: [
89
- M,
90
+ P,
90
91
  " ",
91
- g(r, a),
92
- N
92
+ _(r, i),
93
+ F
93
94
  ]
94
95
  }, "out"));
95
96
  }
96
97
  if (t.length === 0) return null;
97
98
  let n = t.flatMap((e, t) => t === 0 ? [e] : [" ", e]);
98
- return /* @__PURE__ */ p("span", {
99
- className: i.metaRow,
99
+ return /* @__PURE__ */ m("span", {
100
+ className: a.metaRow,
100
101
  children: n
101
102
  });
102
103
  };
103
- return /* @__PURE__ */ m("div", {
104
- ref: J,
105
- className: d("wim-model-selector", i.root, i[b], S && i.fullWidth, x && i.disabled, E),
106
- ...D,
107
- children: [/* @__PURE__ */ m("button", {
104
+ return /* @__PURE__ */ h("div", {
105
+ ref: X,
106
+ className: f("wim-model-selector", a.root, a[x], C && a.fullWidth, S && a.disabled, D),
107
+ ...O,
108
+ children: [/* @__PURE__ */ h("button", {
108
109
  type: "button",
109
110
  role: "combobox",
110
- className: i.trigger,
111
+ className: a.trigger,
111
112
  "aria-haspopup": "listbox",
112
- "aria-expanded": B,
113
- "aria-controls": B ? q : void 0,
114
- "aria-activedescendant": B && H >= 0 ? `${K}-opt-${H}` : void 0,
115
- "aria-label": P,
116
- disabled: x,
113
+ "aria-expanded": H,
114
+ "aria-controls": H ? Y : void 0,
115
+ "aria-activedescendant": H && W >= 0 ? `${J}-opt-${W}` : void 0,
116
+ "aria-label": I,
117
+ disabled: S,
117
118
  onClick: () => {
118
- x || (B ? V(!1) : Z());
119
+ S || (H ? U(!1) : $());
119
120
  },
120
- onKeyDown: $,
121
+ onKeyDown: te,
121
122
  onKeyUp: (e) => {
122
123
  e.key === " " && e.preventDefault();
123
124
  },
124
- children: [/* @__PURE__ */ p("span", {
125
- className: i.triggerLabel,
126
- children: z ? /* @__PURE__ */ m(f, { children: [
127
- /* @__PURE__ */ p("span", {
128
- className: i.triggerName,
129
- children: z.name
125
+ children: [/* @__PURE__ */ m("span", {
126
+ className: a.triggerLabel,
127
+ children: V ? /* @__PURE__ */ h(p, { children: [
128
+ /* @__PURE__ */ m("span", {
129
+ className: a.triggerName,
130
+ children: V.name
130
131
  }),
131
132
  " ",
132
- z.badge && /* @__PURE__ */ p("span", {
133
- className: i.badge,
134
- children: z.badge
133
+ V.badge && /* @__PURE__ */ m("span", {
134
+ className: a.badge,
135
+ children: V.badge
135
136
  })
136
- ] }) : /* @__PURE__ */ p("span", {
137
- className: i.placeholder,
138
- children: k
137
+ ] }) : /* @__PURE__ */ m("span", {
138
+ className: a.placeholder,
139
+ children: j
139
140
  })
140
- }), /* @__PURE__ */ p(r, {
141
- component: n,
141
+ }), /* @__PURE__ */ m(i, {
142
+ component: r,
142
143
  size: "sm",
143
- className: d(i.chevron, B && i.chevronOpen)
144
+ className: f(a.chevron, H && a.chevronOpen)
144
145
  })]
145
- }), /* @__PURE__ */ p(e, {
146
- show: B,
146
+ }), /* @__PURE__ */ m(t, {
147
+ show: H,
147
148
  preset: "scale",
148
149
  unmount: !0,
149
- className: i.dropdownWrapper,
150
- children: /* @__PURE__ */ p("ul", {
151
- ref: G,
152
- id: q,
150
+ className: a.dropdownWrapper,
151
+ children: /* @__PURE__ */ m("ul", {
152
+ ref: q,
153
+ id: Y,
153
154
  role: "listbox",
154
- "aria-label": P,
155
+ "aria-label": I,
155
156
  tabIndex: -1,
156
- className: i.dropdown,
157
+ className: a.dropdown,
157
158
  onMouseDown: (e) => e.preventDefault(),
158
- children: a.map((e, n) => {
159
- let a = e.id === R;
160
- return /* @__PURE__ */ m("li", {
161
- id: `${K}-opt-${n}`,
159
+ children: o.map((e, t) => {
160
+ let r = e.id === B;
161
+ return /* @__PURE__ */ h("li", {
162
+ id: `${J}-opt-${t}`,
162
163
  role: "option",
163
- "aria-selected": a,
164
+ "aria-selected": r,
164
165
  "aria-disabled": e.disabled || void 0,
165
- className: d(i.option, n === H && i.active, e.disabled && i.optionDisabled),
166
- onMouseEnter: () => U(n),
167
- onClick: () => Y(e),
168
- children: [/* @__PURE__ */ p("span", {
169
- className: i.check,
166
+ className: f(a.option, t === W && a.active, e.disabled && a.optionDisabled),
167
+ onMouseEnter: () => G(t),
168
+ onClick: () => Z(e),
169
+ children: [/* @__PURE__ */ m("span", {
170
+ className: a.check,
170
171
  "aria-hidden": "true",
171
- children: a && /* @__PURE__ */ p(r, {
172
- component: t,
172
+ children: r && /* @__PURE__ */ m(i, {
173
+ component: n,
173
174
  size: "sm"
174
175
  })
175
- }), /* @__PURE__ */ m("span", {
176
- className: i.optionBody,
176
+ }), /* @__PURE__ */ h("span", {
177
+ className: a.optionBody,
177
178
  children: [
178
- /* @__PURE__ */ m("span", {
179
- className: i.optionHeader,
179
+ /* @__PURE__ */ h("span", {
180
+ className: a.optionHeader,
180
181
  children: [
181
- /* @__PURE__ */ p("span", {
182
- className: i.optionName,
182
+ /* @__PURE__ */ m("span", {
183
+ className: a.optionName,
183
184
  children: e.name
184
185
  }),
185
186
  " ",
186
- e.badge && /* @__PURE__ */ p("span", {
187
- className: i.badge,
187
+ e.badge && /* @__PURE__ */ m("span", {
188
+ className: a.badge,
188
189
  children: e.badge
189
190
  })
190
191
  ]
191
192
  }),
192
193
  " ",
193
- e.description && /* @__PURE__ */ p("span", {
194
- className: i.description,
194
+ e.description && /* @__PURE__ */ m("span", {
195
+ className: a.description,
195
196
  children: e.description
196
197
  }),
197
198
  " ",
198
- ee(e)
199
+ ne(e)
199
200
  ]
200
201
  })]
201
202
  }, e.id);
@@ -204,6 +205,6 @@ var h = (e) => e >= 1e6 ? `${(e / 1e6).toFixed(e % 1e6 == 0 ? 0 : 1)}M` : e >= 1
204
205
  })]
205
206
  });
206
207
  });
207
- _.displayName = "ModelSelector";
208
+ v.displayName = "ModelSelector";
208
209
  //#endregion
209
- export { _ as ModelSelector };
210
+ export { v as ModelSelector };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../icon/close.cjs"),n=require("../../../icon/plus.cjs"),r=require("../../media/Icon/Icon.cjs"),i=require("./thread-list.module.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("classnames");o=e.__toESM(o,1);let s=require("react/jsx-runtime");var c=a.default.forwardRef(({threads:e,activeId:a,onSelect:c,onDelete:l,onNewThread:u,labels:d,className:f,...p},m)=>{let{newThread:h=`New conversation`,empty:g=`No conversations yet`,delete:_=`Delete conversation`,listAriaLabel:v=`Conversation history`}=d??{};return(0,s.jsxs)(`nav`,{ref:m,className:(0,o.default)(`wim-thread-list`,i.default.root,f),"aria-label":v,...p,children:[u&&(0,s.jsxs)(`button`,{type:`button`,className:i.default.newButton,onClick:u,children:[(0,s.jsx)(r.Icon,{component:n.default,size:`sm`}),(0,s.jsx)(`span`,{children:h})]}),e.length===0?(0,s.jsx)(`p`,{className:i.default.empty,children:g}):(0,s.jsx)(`ul`,{className:i.default.list,children:e.map(e=>{let n=e.id===a;return(0,s.jsxs)(`li`,{className:i.default.item,children:[(0,s.jsxs)(`button`,{type:`button`,className:(0,o.default)(i.default.thread,n&&i.default.active),"aria-current":n||void 0,onClick:()=>c?.(e.id),children:[e.iconName&&(0,s.jsx)(`span`,{className:i.default.icon,"aria-hidden":`true`,children:(0,s.jsx)(r.Icon,{name:e.iconName,size:`sm`})}),(0,s.jsxs)(`span`,{className:i.default.body,children:[(0,s.jsxs)(`span`,{className:i.default.titleRow,children:[e.unread&&(0,s.jsx)(`span`,{className:i.default.unread,"aria-hidden":`true`}),(0,s.jsx)(`span`,{className:i.default.title,children:e.title}),e.timestamp&&(0,s.jsx)(`span`,{className:i.default.timestamp,children:e.timestamp})]}),e.preview&&(0,s.jsx)(`span`,{className:i.default.preview,children:e.preview})]})]}),l&&(0,s.jsx)(`button`,{type:`button`,className:i.default.deleteButton,"aria-label":_,onClick:()=>l(e.id),children:(0,s.jsx)(r.Icon,{component:t.default,size:`sm`})})]},e.id)})})]})});c.displayName=`ThreadList`;var l=c;exports.ConversationList=l,exports.ThreadList=c;
2
+ const e=require("../../../_virtual/_rolldown/runtime.cjs"),t=require("../../../i18n/useWimTranslation.cjs"),n=require("../../../icon/close.cjs"),r=require("../../../icon/plus.cjs"),i=require("../../media/Icon/Icon.cjs"),a=require("./thread-list.module.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("classnames");s=e.__toESM(s,1);let c=require("react/jsx-runtime");var l=o.default.forwardRef(({threads:e,activeId:o,onSelect:l,onDelete:u,onNewThread:d,labels:f,className:p,...m},h)=>{let{t:g}=t.useWimTranslation(`common`),{newThread:_=g(`threadList.new_thread`),empty:v=g(`threadList.empty`),delete:y=g(`threadList.delete`),listAriaLabel:b=g(`threadList.label`)}=f??{};return(0,c.jsxs)(`nav`,{ref:h,className:(0,s.default)(`wim-thread-list`,a.default.root,p),"aria-label":b,...m,children:[d&&(0,c.jsxs)(`button`,{type:`button`,className:a.default.newButton,onClick:d,children:[(0,c.jsx)(i.Icon,{component:r.default,size:`sm`}),(0,c.jsx)(`span`,{children:_})]}),e.length===0?(0,c.jsx)(`p`,{className:a.default.empty,children:v}):(0,c.jsx)(`ul`,{className:a.default.list,children:e.map(e=>{let t=e.id===o;return(0,c.jsxs)(`li`,{className:a.default.item,children:[(0,c.jsxs)(`button`,{type:`button`,className:(0,s.default)(a.default.thread,t&&a.default.active),"aria-current":t||void 0,onClick:()=>l?.(e.id),children:[e.iconName&&(0,c.jsx)(`span`,{className:a.default.icon,"aria-hidden":`true`,children:(0,c.jsx)(i.Icon,{name:e.iconName,size:`sm`})}),(0,c.jsxs)(`span`,{className:a.default.body,children:[(0,c.jsxs)(`span`,{className:a.default.titleRow,children:[e.unread&&(0,c.jsx)(`span`,{className:a.default.unread,"aria-hidden":`true`}),(0,c.jsx)(`span`,{className:a.default.title,children:e.title}),e.timestamp&&(0,c.jsx)(`span`,{className:a.default.timestamp,children:e.timestamp})]}),e.preview&&(0,c.jsx)(`span`,{className:a.default.preview,children:e.preview})]})]}),u&&(0,c.jsx)(`button`,{type:`button`,className:a.default.deleteButton,"aria-label":y,onClick:()=>u(e.id),children:(0,c.jsx)(i.Icon,{component:n.default,size:`sm`})})]},e.id)})})]})});l.displayName=`ThreadList`;var u=l;exports.ConversationList=u,exports.ThreadList=l;
@@ -1,87 +1,88 @@
1
1
  "use client";
2
- import e from "../../../icon/close.js";
3
- import t from "../../../icon/plus.js";
4
- import { Icon as n } from "../../media/Icon/Icon.js";
5
- import r from "./thread-list.module.js";
6
- import i from "react";
7
- import a from "classnames";
8
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
+ import { useWimTranslation as e } from "../../../i18n/useWimTranslation.js";
3
+ import t from "../../../icon/close.js";
4
+ import n from "../../../icon/plus.js";
5
+ import { Icon as r } from "../../media/Icon/Icon.js";
6
+ import i from "./thread-list.module.js";
7
+ import a from "react";
8
+ import o from "classnames";
9
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
9
10
  //#region src/components/ai/ThreadList/ThreadList.tsx
10
- var c = i.forwardRef(({ threads: i, activeId: c, onSelect: l, onDelete: u, onNewThread: d, labels: f, className: p, ...m }, h) => {
11
- let { newThread: g = "New conversation", empty: _ = "No conversations yet", delete: v = "Delete conversation", listAriaLabel: y = "Conversation history" } = f ?? {};
12
- return /* @__PURE__ */ s("nav", {
13
- ref: h,
14
- className: a("wim-thread-list", r.root, p),
15
- "aria-label": y,
16
- ...m,
17
- children: [d && /* @__PURE__ */ s("button", {
11
+ var l = a.forwardRef(({ threads: a, activeId: l, onSelect: u, onDelete: d, onNewThread: f, labels: p, className: m, ...h }, g) => {
12
+ let { t: _ } = e("common"), { newThread: v = _("threadList.new_thread"), empty: y = _("threadList.empty"), delete: b = _("threadList.delete"), listAriaLabel: x = _("threadList.label") } = p ?? {};
13
+ return /* @__PURE__ */ c("nav", {
14
+ ref: g,
15
+ className: o("wim-thread-list", i.root, m),
16
+ "aria-label": x,
17
+ ...h,
18
+ children: [f && /* @__PURE__ */ c("button", {
18
19
  type: "button",
19
- className: r.newButton,
20
- onClick: d,
21
- children: [/* @__PURE__ */ o(n, {
22
- component: t,
20
+ className: i.newButton,
21
+ onClick: f,
22
+ children: [/* @__PURE__ */ s(r, {
23
+ component: n,
23
24
  size: "sm"
24
- }), /* @__PURE__ */ o("span", { children: g })]
25
- }), i.length === 0 ? /* @__PURE__ */ o("p", {
26
- className: r.empty,
27
- children: _
28
- }) : /* @__PURE__ */ o("ul", {
29
- className: r.list,
30
- children: i.map((t) => {
31
- let i = t.id === c;
32
- return /* @__PURE__ */ s("li", {
33
- className: r.item,
34
- children: [/* @__PURE__ */ s("button", {
25
+ }), /* @__PURE__ */ s("span", { children: v })]
26
+ }), a.length === 0 ? /* @__PURE__ */ s("p", {
27
+ className: i.empty,
28
+ children: y
29
+ }) : /* @__PURE__ */ s("ul", {
30
+ className: i.list,
31
+ children: a.map((e) => {
32
+ let n = e.id === l;
33
+ return /* @__PURE__ */ c("li", {
34
+ className: i.item,
35
+ children: [/* @__PURE__ */ c("button", {
35
36
  type: "button",
36
- className: a(r.thread, i && r.active),
37
- "aria-current": i || void 0,
38
- onClick: () => l?.(t.id),
39
- children: [t.iconName && /* @__PURE__ */ o("span", {
40
- className: r.icon,
37
+ className: o(i.thread, n && i.active),
38
+ "aria-current": n || void 0,
39
+ onClick: () => u?.(e.id),
40
+ children: [e.iconName && /* @__PURE__ */ s("span", {
41
+ className: i.icon,
41
42
  "aria-hidden": "true",
42
- children: /* @__PURE__ */ o(n, {
43
- name: t.iconName,
43
+ children: /* @__PURE__ */ s(r, {
44
+ name: e.iconName,
44
45
  size: "sm"
45
46
  })
46
- }), /* @__PURE__ */ s("span", {
47
- className: r.body,
48
- children: [/* @__PURE__ */ s("span", {
49
- className: r.titleRow,
47
+ }), /* @__PURE__ */ c("span", {
48
+ className: i.body,
49
+ children: [/* @__PURE__ */ c("span", {
50
+ className: i.titleRow,
50
51
  children: [
51
- t.unread && /* @__PURE__ */ o("span", {
52
- className: r.unread,
52
+ e.unread && /* @__PURE__ */ s("span", {
53
+ className: i.unread,
53
54
  "aria-hidden": "true"
54
55
  }),
55
- /* @__PURE__ */ o("span", {
56
- className: r.title,
57
- children: t.title
56
+ /* @__PURE__ */ s("span", {
57
+ className: i.title,
58
+ children: e.title
58
59
  }),
59
- t.timestamp && /* @__PURE__ */ o("span", {
60
- className: r.timestamp,
61
- children: t.timestamp
60
+ e.timestamp && /* @__PURE__ */ s("span", {
61
+ className: i.timestamp,
62
+ children: e.timestamp
62
63
  })
63
64
  ]
64
- }), t.preview && /* @__PURE__ */ o("span", {
65
- className: r.preview,
66
- children: t.preview
65
+ }), e.preview && /* @__PURE__ */ s("span", {
66
+ className: i.preview,
67
+ children: e.preview
67
68
  })]
68
69
  })]
69
- }), u && /* @__PURE__ */ o("button", {
70
+ }), d && /* @__PURE__ */ s("button", {
70
71
  type: "button",
71
- className: r.deleteButton,
72
- "aria-label": v,
73
- onClick: () => u(t.id),
74
- children: /* @__PURE__ */ o(n, {
75
- component: e,
72
+ className: i.deleteButton,
73
+ "aria-label": b,
74
+ onClick: () => d(e.id),
75
+ children: /* @__PURE__ */ s(r, {
76
+ component: t,
76
77
  size: "sm"
77
78
  })
78
79
  })]
79
- }, t.id);
80
+ }, e.id);
80
81
  })
81
82
  })]
82
83
  });
83
84
  });
84
- c.displayName = "ThreadList";
85
- var l = c;
85
+ l.displayName = "ThreadList";
86
+ var u = l;
86
87
  //#endregion
87
- export { l as ConversationList, c as ThreadList };
88
+ export { u as ConversationList, l as ThreadList };
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- var e=`_root_1rbm9_23`,t=`_item_1rbm9_29`,n=`_disabled_1rbm9_38`,r=`_trigger_1rbm9_42`,i=`_open_1rbm9_62`,a=`_triggerContent_1rbm9_88`,o=`_chevron_1rbm9_91`,s=`_content_1rbm9_102`,c=`_contentInner_1rbm9_115`,l=`_contentBody_1rbm9_118`,u={root:e,item:t,disabled:n,trigger:r,open:i,triggerContent:a,chevron:o,content:s,contentInner:c,contentBody:l};exports.chevron=o,exports.content=s,exports.contentBody=l,exports.contentInner=c,exports.default=u,exports.disabled=n,exports.item=t,exports.open=i,exports.root=e,exports.trigger=r,exports.triggerContent=a;
2
+ var e=`_root_vs8b2_23`,t=`_item_vs8b2_29`,n=`_disabled_vs8b2_38`,r=`_trigger_vs8b2_42`,i=`_open_vs8b2_62`,a=`_triggerContent_vs8b2_88`,o=`_chevron_vs8b2_91`,s=`_content_vs8b2_102`,c=`_contentInner_vs8b2_115`,l=`_contentBody_vs8b2_118`,u={root:e,item:t,disabled:n,trigger:r,open:i,triggerContent:a,chevron:o,content:s,contentInner:c,contentBody:l};exports.chevron=o,exports.content=s,exports.contentBody=l,exports.contentInner=c,exports.default=u,exports.disabled=n,exports.item=t,exports.open=i,exports.root=e,exports.trigger=r,exports.triggerContent=a;
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  //#region src/components/data-display/Accordion/accordion.module.scss
3
- var e = "_root_1rbm9_23", t = "_item_1rbm9_29", n = "_disabled_1rbm9_38", r = "_trigger_1rbm9_42", i = "_open_1rbm9_62", a = "_triggerContent_1rbm9_88", o = "_chevron_1rbm9_91", s = "_content_1rbm9_102", c = "_contentInner_1rbm9_115", l = "_contentBody_1rbm9_118", u = {
3
+ var e = "_root_vs8b2_23", t = "_item_vs8b2_29", n = "_disabled_vs8b2_38", r = "_trigger_vs8b2_42", i = "_open_vs8b2_62", a = "_triggerContent_vs8b2_88", o = "_chevron_vs8b2_91", s = "_content_vs8b2_102", c = "_contentInner_vs8b2_115", l = "_contentBody_vs8b2_118", u = {
4
4
  root: e,
5
5
  item: t,
6
6
  disabled: n,