codicent-app-sdk 0.3.109 → 0.3.111

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":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAkDA,QAAA,MAAM,QAAQ,gBAAiB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,4CA6DjD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAkHA,QAAA,MAAM,QAAQ,gBAAiB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,4CAsEjD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("./MermaidChart.js"),n=require("react"),t=require("../node_modules/@griffel/react/makeStyles.esm.js"),i=require("../node_modules/react-markdown/lib/index.js"),s=require("../node_modules/remark-gfm/lib/index.js"),a=require("../node_modules/rehype-raw/lib/index.js"),o=require("../node_modules/rehype-sanitize/lib/index.js");const d=t.makeStyles({markdownDiv:{"& ul":{paddingLeft:"8px",margin:"8px 0"},"& li":{marginLeft:"16px",marginBottom:"4px",marginTop:"4px"},"& a":{color:"inherit",textDecoration:"underline"}}});class l extends n.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,r){console.error("Markdown rendering error:",e,r)}render(){return this.state.hasError?e.jsx("div",{style:{color:"red"},children:"ERROR: failed to render markdown content"}):this.props.children}}const c=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&/Macintosh/.test(navigator.userAgent)&&!/iPhone|iPad|iPod/.test(navigator.userAgent);exports.default=({content:n})=>{const t=d();return e.jsx(l,{children:e.jsx("div",{className:t.markdownDiv,children:e.jsx(i.Markdown,{remarkPlugins:c?[]:[s.default],rehypePlugins:[a.default,o.default],components:{code({_node:n,inline:t,className:i,children:s,...a}){const o=/language-(\w+)/.exec(i||"");return!t&&o&&"mermaid"===o[1]?e.jsx(r.default,{chart:String(s).replace(/\n$/,"")}):e.jsx("code",{className:i,...a,children:s})},a:({href:r,children:n,...t})=>r?e.jsx("a",{href:r,rel:"noopener noreferrer",...t,children:n}):e.jsx(e.Fragment,{children:n}),...c&&{text:({children:r})=>{if("string"!=typeof r)return e.jsx(e.Fragment,{children:r});const n=/https?:\/\/[^\s<>[\]{}|\\^]+/g,t=r.split(n),i=r.match(n)||[];return 0===i.length?e.jsx(e.Fragment,{children:r}):e.jsx(e.Fragment,{children:t.map(((r,n)=>e.jsxs(e.Fragment,{children:[r,i[n]&&e.jsx("a",{href:i[n],rel:"noopener noreferrer",children:i[n]})]})))})}}},children:n})})})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("./MermaidChart.js"),t=require("react"),n=require("../node_modules/hast-util-sanitize/lib/schema.js"),a=require("../node_modules/@griffel/react/makeStyles.esm.js"),s=require("../node_modules/react-markdown/lib/index.js"),i=require("../node_modules/remark-gfm/lib/index.js"),o=require("../node_modules/rehype-raw/lib/index.js"),l=require("../node_modules/rehype-sanitize/lib/index.js");const d={...n.defaultSchema,tagNames:[...n.defaultSchema.tagNames||[],"iframe","small","br"],attributes:{...n.defaultSchema.attributes,iframe:["src","style","width","height","frameBorder","title","allow","allowFullScreen"],a:[...n.defaultSchema.attributes?.a||[],"target","rel","download"],p:[...n.defaultSchema.attributes?.p||[],"style"],div:[...n.defaultSchema.attributes?.div||[],"style"],small:["style"]},protocols:{...n.defaultSchema.protocols,src:["http","https"]}},c=a.makeStyles({markdownDiv:{"& ul":{paddingLeft:"8px",margin:"8px 0"},"& li":{marginLeft:"16px",marginBottom:"4px",marginTop:"4px"},"& a":{color:"inherit",textDecoration:"underline"}},htmlBlock:{width:"100%",minHeight:"100px",border:"none",backgroundColor:"transparent"}});class m extends t.Component{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,r){console.error("Markdown rendering error:",e,r)}render(){return this.state.hasError?e.jsx("div",{style:{color:"red"},children:"ERROR: failed to render markdown content"}):this.props.children}}const h=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&/Macintosh/.test(navigator.userAgent)&&!/iPhone|iPad|iPod/.test(navigator.userAgent),u=({html:r,className:t})=>{const n=`\n <!DOCTYPE html>\n <html>\n <head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <style>\n body { \n margin: 0; \n padding: 8px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n font-size: 14px;\n line-height: 1.5;\n }\n a { color: inherit; }\n </style>\n </head>\n <body>${r}</body>\n </html>\n `;return e.jsx("iframe",{srcDoc:n,className:t,sandbox:"allow-scripts allow-popups allow-popups-to-escape-sandbox",style:{width:"100%",minHeight:"100px",border:"none"},title:"HTML content"})};exports.default=({content:t})=>{const n=c();return e.jsx(m,{children:e.jsx("div",{className:n.markdownDiv,children:e.jsx(s.Markdown,{remarkPlugins:h?[]:[i.default],rehypePlugins:[o.default,[l.default,d]],components:{code({_node:t,inline:a,className:s,children:i,...o}){const l=/language-(\w+)/.exec(s||""),d=String(i).replace(/\n$/,"");return!a&&l&&"mermaid"===l[1]?e.jsx(r.default,{chart:d}):!a&&l&&"html"===l[1]?e.jsx(u,{html:d,className:n.htmlBlock}):e.jsx("code",{className:s,...o,children:i})},a:({href:r,children:t,...n})=>r?e.jsx("a",{href:r,rel:"noopener noreferrer",...n,children:t}):e.jsx(e.Fragment,{children:t}),...h&&{text:({children:r})=>{if("string"!=typeof r)return e.jsx(e.Fragment,{children:r});const t=/https?:\/\/[^\s<>[\]{}|\\^]+/g,n=r.split(t),a=r.match(t)||[];return 0===a.length?e.jsx(e.Fragment,{children:r}):e.jsx(e.Fragment,{children:n.map(((r,t)=>e.jsxs(e.Fragment,{children:[r,a[t]&&e.jsx("a",{href:a[t],rel:"noopener noreferrer",children:a[t]})]})))})}}},children:t})})})};
@@ -1,7 +1,22 @@
1
+ import { ComponentType, ReactNode } from "react";
1
2
  import { RealtimeVoice } from "../hooks";
2
- declare const VoiceIcon: ({ voice, disabled }: {
3
+ export interface VoiceIconProps {
3
4
  voice: RealtimeVoice;
4
5
  disabled?: boolean;
5
- }) => import("react/jsx-runtime").JSX.Element;
6
+ instructions?: string;
7
+ /** Custom component to display when voice is connected. Can be an icon or any React component. */
8
+ connectedIcon?: ComponentType<{
9
+ onClick?: () => void;
10
+ className?: string;
11
+ }>;
12
+ /** Custom component to display when voice is disconnected. Can be an icon or any React component. */
13
+ disconnectedIcon?: ComponentType<{
14
+ onClick?: () => void;
15
+ className?: string;
16
+ }>;
17
+ /** Custom component or element to display when voice is disabled. Can be an icon, text, or any React node. */
18
+ disabledIcon?: ReactNode | ComponentType;
19
+ }
20
+ declare const VoiceIcon: ({ voice, disabled, instructions, connectedIcon, disconnectedIcon, disabledIcon, }: VoiceIconProps) => import("react/jsx-runtime").JSX.Element;
6
21
  export default VoiceIcon;
7
22
  //# sourceMappingURL=VoiceIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceIcon.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceIcon.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAKvD,QAAA,MAAM,SAAS,wBAAyB;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,4CAanF,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"VoiceIcon.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceIcon.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAGvD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kGAAkG;IAClG,aAAa,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,qGAAqG;IACrG,gBAAgB,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,8GAA8G;IAC9G,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CAC1C;AAID,QAAA,MAAM,SAAS,sFAOZ,cAAc,4CAkChB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react"),require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js");var r=require("../utils/withWakeLock.js");require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../hooks/useLocalization.js");var s=require("../hooks/useAppStyles.js"),i=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js");const a=r.default(i.MicSparkle24Filled);exports.default=({voice:r,disabled:u})=>{const{isConnected:o,connectConversation:t,disconnectConversation:j}=r,{pointer:n}=s.default();return u?e.jsx(i.MicSparkle24Regular,{}):o?e.jsx(a,{onClick:j,className:n}):e.jsx(i.MicSparkle24Regular,{onClick:t,className:n})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js");var s=require("../utils/withWakeLock.js");require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../hooks/useLocalization.js");var i=require("../hooks/useAppStyles.js"),a=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js");const u=s.default(a.MicSparkle24Filled);exports.default=({voice:o,disabled:t,instructions:n,connectedIcon:l,disconnectedIcon:j,disabledIcon:c})=>{const{isConnected:q,connectConversation:p,disconnectConversation:d,updateInstructions:g}=o,{pointer:m}=i.default(),v=r.useMemo((()=>l?s.default(l):u),[l]),C=j||a.MicSparkle24Regular,b=async()=>{n&&g(n),await p()};if(t){if(null==c)return e.jsx(a.MicSparkle24Regular,{});if("function"==typeof c){const r=c;return e.jsx(r,{})}return e.jsx(e.Fragment,{children:c})}return q?e.jsx(v,{onClick:d,className:m}):e.jsx(C,{onClick:b,className:m})};
@@ -15,6 +15,7 @@ export { CombinedPlaceholderDialog } from "./CombinedPlaceholderDialog";
15
15
  export { default as ChatMessage } from "./ChatMessage";
16
16
  export { Header } from "./Header";
17
17
  export { default as VoiceIcon } from "./VoiceIcon";
18
+ export type { VoiceIconProps } from "./VoiceIcon";
18
19
  export { default as AudioIcon } from "./AudioIcon";
19
20
  export { FileThumbnail } from "./FileThumbnail";
20
21
  export { default as MessageInput } from "./MessageInput";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAkDA,QAAA,MAAM,QAAQ,gBAAiB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,4CA6DjD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Markdown.d.ts","sourceRoot":"","sources":["../../../src/components/Markdown.tsx"],"names":[],"mappings":"AAkHA,QAAA,MAAM,QAAQ,gBAAiB;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,4CAsEjD,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- import{jsx as r,Fragment as e,jsxs as n}from"react/jsx-runtime";import t from"./MermaidChart.js";import{Component as o}from"react";import{makeStyles as i}from"../node_modules/@griffel/react/makeStyles.esm.js";import{Markdown as a}from"../node_modules/react-markdown/lib/index.js";import s from"../node_modules/remark-gfm/lib/index.js";import d from"../node_modules/rehype-raw/lib/index.js";import c from"../node_modules/rehype-sanitize/lib/index.js";const l=i({markdownDiv:{"& ul":{paddingLeft:"8px",margin:"8px 0"},"& li":{marginLeft:"16px",marginBottom:"4px",marginTop:"4px"},"& a":{color:"inherit",textDecoration:"underline"}}});class m extends o{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(r,e){console.error("Markdown rendering error:",r,e)}render(){return this.state.hasError?r("div",{style:{color:"red"},children:"ERROR: failed to render markdown content"}):this.props.children}}const h=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&/Macintosh/.test(navigator.userAgent)&&!/iPhone|iPad|iPod/.test(navigator.userAgent),p=({content:o})=>{const i=l();return r(m,{children:r("div",{className:i.markdownDiv,children:r(a,{remarkPlugins:h?[]:[s],rehypePlugins:[d,c],components:{code({_node:e,inline:n,className:o,children:i,...a}){const s=/language-(\w+)/.exec(o||"");return!n&&s&&"mermaid"===s[1]?r(t,{chart:String(i).replace(/\n$/,"")}):r("code",{className:o,...a,children:i})},a:({href:n,children:t,...o})=>n?r("a",{href:n,rel:"noopener noreferrer",...o,children:t}):r(e,{children:t}),...h&&{text:({children:t})=>{if("string"!=typeof t)return r(e,{children:t});const o=/https?:\/\/[^\s<>[\]{}|\\^]+/g,i=t.split(o),a=t.match(o)||[];return 0===a.length?r(e,{children:t}):r(e,{children:i.map(((t,o)=>n(e,{children:[t,a[o]&&r("a",{href:a[o],rel:"noopener noreferrer",children:a[o]})]})))})}}},children:o})})})};export{p as default};
1
+ import{jsx as e,Fragment as r,jsxs as t}from"react/jsx-runtime";import n from"./MermaidChart.js";import{Component as o}from"react";import{defaultSchema as a}from"../node_modules/hast-util-sanitize/lib/schema.js";import{makeStyles as i}from"../node_modules/@griffel/react/makeStyles.esm.js";import{Markdown as s}from"../node_modules/react-markdown/lib/index.js";import l from"../node_modules/remark-gfm/lib/index.js";import d from"../node_modules/rehype-raw/lib/index.js";import m from"../node_modules/rehype-sanitize/lib/index.js";const c={...a,tagNames:[...a.tagNames||[],"iframe","small","br"],attributes:{...a.attributes,iframe:["src","style","width","height","frameBorder","title","allow","allowFullScreen"],a:[...a.attributes?.a||[],"target","rel","download"],p:[...a.attributes?.p||[],"style"],div:[...a.attributes?.div||[],"style"],small:["style"]},protocols:{...a.protocols,src:["http","https"]}},h=i({markdownDiv:{"& ul":{paddingLeft:"8px",margin:"8px 0"},"& li":{marginLeft:"16px",marginBottom:"4px",marginTop:"4px"},"& a":{color:"inherit",textDecoration:"underline"}},htmlBlock:{width:"100%",minHeight:"100px",border:"none",backgroundColor:"transparent"}});class p extends o{constructor(){super(...arguments),this.state={hasError:!1}}static getDerivedStateFromError(){return{hasError:!0}}componentDidCatch(e,r){console.error("Markdown rendering error:",e,r)}render(){return this.state.hasError?e("div",{style:{color:"red"},children:"ERROR: failed to render markdown content"}):this.props.children}}const u=/^((?!chrome|android).)*safari/i.test(navigator.userAgent)&&/Macintosh/.test(navigator.userAgent)&&!/iPhone|iPad|iPod/.test(navigator.userAgent),g=({html:r,className:t})=>e("iframe",{srcDoc:`\n <!DOCTYPE html>\n <html>\n <head>\n <meta charset="utf-8">\n <meta name="viewport" content="width=device-width, initial-scale=1">\n <style>\n body { \n margin: 0; \n padding: 8px;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;\n font-size: 14px;\n line-height: 1.5;\n }\n a { color: inherit; }\n </style>\n </head>\n <body>${r}</body>\n </html>\n `,className:t,sandbox:"allow-scripts allow-popups allow-popups-to-escape-sandbox",style:{width:"100%",minHeight:"100px",border:"none"},title:"HTML content"}),f=({content:o})=>{const a=h();return e(p,{children:e("div",{className:a.markdownDiv,children:e(s,{remarkPlugins:u?[]:[l],rehypePlugins:[d,[m,c]],components:{code({_node:r,inline:t,className:o,children:i,...s}){const l=/language-(\w+)/.exec(o||""),d=String(i).replace(/\n$/,"");return!t&&l&&"mermaid"===l[1]?e(n,{chart:d}):!t&&l&&"html"===l[1]?e(g,{html:d,className:a.htmlBlock}):e("code",{className:o,...s,children:i})},a:({href:t,children:n,...o})=>t?e("a",{href:t,rel:"noopener noreferrer",...o,children:n}):e(r,{children:n}),...u&&{text:({children:n})=>{if("string"!=typeof n)return e(r,{children:n});const o=/https?:\/\/[^\s<>[\]{}|\\^]+/g,a=n.split(o),i=n.match(o)||[];return 0===i.length?e(r,{children:n}):e(r,{children:a.map(((n,o)=>t(r,{children:[n,i[o]&&e("a",{href:i[o],rel:"noopener noreferrer",children:i[o]})]})))})}}},children:o})})})};export{f as default};
@@ -1,7 +1,22 @@
1
+ import { ComponentType, ReactNode } from "react";
1
2
  import { RealtimeVoice } from "../hooks";
2
- declare const VoiceIcon: ({ voice, disabled }: {
3
+ export interface VoiceIconProps {
3
4
  voice: RealtimeVoice;
4
5
  disabled?: boolean;
5
- }) => import("react/jsx-runtime").JSX.Element;
6
+ instructions?: string;
7
+ /** Custom component to display when voice is connected. Can be an icon or any React component. */
8
+ connectedIcon?: ComponentType<{
9
+ onClick?: () => void;
10
+ className?: string;
11
+ }>;
12
+ /** Custom component to display when voice is disconnected. Can be an icon or any React component. */
13
+ disconnectedIcon?: ComponentType<{
14
+ onClick?: () => void;
15
+ className?: string;
16
+ }>;
17
+ /** Custom component or element to display when voice is disabled. Can be an icon, text, or any React node. */
18
+ disabledIcon?: ReactNode | ComponentType;
19
+ }
20
+ declare const VoiceIcon: ({ voice, disabled, instructions, connectedIcon, disconnectedIcon, disabledIcon, }: VoiceIconProps) => import("react/jsx-runtime").JSX.Element;
6
21
  export default VoiceIcon;
7
22
  //# sourceMappingURL=VoiceIcon.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VoiceIcon.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceIcon.tsx"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAKvD,QAAA,MAAM,SAAS,wBAAyB;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,4CAanF,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"VoiceIcon.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceIcon.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAW,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,aAAa,EAAgB,MAAM,UAAU,CAAC;AAGvD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kGAAkG;IAClG,aAAa,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,qGAAqG;IACrG,gBAAgB,CAAC,EAAE,aAAa,CAAC;QAAE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/E,8GAA8G;IAC9G,YAAY,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CAC1C;AAID,QAAA,MAAM,SAAS,sFAOZ,cAAc,4CAkChB,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import s from"../utils/withWakeLock.js";import"../_virtual/index.js";import"../config/index.js";import"../utils/cacheManager.js";import"../lib/wavtools/lib/wav_packer.js";import"../lib/wavtools/lib/analysis/audio_analysis.js";import"../lib/wavtools/lib/wav_stream_player.js";import"../lib/wavtools/lib/wav_recorder.js";import"./FileThumbnail.js";import"./MessageInput.js";import"./UploadFile.js";import"./SnapFooter.js";import"./Profile.js";import"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"../pages/AppFrame.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/CrmPagePersistent.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../pages/Purchase.js";import"../hooks/useLocalization.js";import t from"../hooks/useAppStyles.js";import{MicSparkle24Regular as i,MicSparkle24Filled as e}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js";const r=s(e),p=({voice:s,disabled:e})=>{const{isConnected:p,connectConversation:a,disconnectConversation:m}=s,{pointer:n}=t();return e?o(i,{}):p?o(r,{onClick:m,className:n}):o(i,{onClick:a,className:n})};export{p as default};
1
+ import{jsx as o,Fragment as s}from"react/jsx-runtime";import{useMemo as t}from"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import i from"../utils/withWakeLock.js";import"../_virtual/index.js";import"../config/index.js";import"../utils/cacheManager.js";import"../lib/wavtools/lib/wav_packer.js";import"../lib/wavtools/lib/analysis/audio_analysis.js";import"../lib/wavtools/lib/wav_stream_player.js";import"../lib/wavtools/lib/wav_recorder.js";import"./FileThumbnail.js";import"./MessageInput.js";import"./UploadFile.js";import"./SnapFooter.js";import"./Profile.js";import"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"../pages/AppFrame.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/CrmPagePersistent.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../pages/Purchase.js";import"../hooks/useLocalization.js";import e from"../hooks/useAppStyles.js";import{MicSparkle24Regular as r,MicSparkle24Filled as p}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js";const a=i(p),m=({voice:p,disabled:m,instructions:n,connectedIcon:j,disconnectedIcon:c,disabledIcon:l})=>{const{isConnected:u,connectConversation:d,disconnectConversation:g,updateInstructions:C}=p,{pointer:f}=e(),h=t((()=>j?i(j):a),[j]),b=c||r,v=async()=>{n&&C(n),await d()};if(m){if(null==l)return o(r,{});if("function"==typeof l){return o(l,{})}return o(s,{children:l})}return u?o(h,{onClick:g,className:f}):o(b,{onClick:v,className:f})};export{m as default};
@@ -15,6 +15,7 @@ export { CombinedPlaceholderDialog } from "./CombinedPlaceholderDialog";
15
15
  export { default as ChatMessage } from "./ChatMessage";
16
16
  export { Header } from "./Header";
17
17
  export { default as VoiceIcon } from "./VoiceIcon";
18
+ export type { VoiceIconProps } from "./VoiceIcon";
18
19
  export { default as AudioIcon } from "./AudioIcon";
19
20
  export { FileThumbnail } from "./FileThumbnail";
20
21
  export { default as MessageInput } from "./MessageInput";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,MAAM,MAAM,UAAU,CAAC;AAC9B,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.d.ts CHANGED
@@ -779,10 +779,24 @@ declare const Header: React.FC<{
779
779
  voice?: RealtimeVoice;
780
780
  }>;
781
781
 
782
- declare const VoiceIcon: ({ voice, disabled }: {
782
+ interface VoiceIconProps {
783
783
  voice: RealtimeVoice;
784
784
  disabled?: boolean;
785
- }) => react_jsx_runtime.JSX.Element;
785
+ instructions?: string;
786
+ /** Custom component to display when voice is connected. Can be an icon or any React component. */
787
+ connectedIcon?: ComponentType<{
788
+ onClick?: () => void;
789
+ className?: string;
790
+ }>;
791
+ /** Custom component to display when voice is disconnected. Can be an icon or any React component. */
792
+ disconnectedIcon?: ComponentType<{
793
+ onClick?: () => void;
794
+ className?: string;
795
+ }>;
796
+ /** Custom component or element to display when voice is disabled. Can be an icon, text, or any React node. */
797
+ disabledIcon?: ReactNode | ComponentType;
798
+ }
799
+ declare const VoiceIcon: ({ voice, disabled, instructions, connectedIcon, disconnectedIcon, disabledIcon, }: VoiceIconProps) => react_jsx_runtime.JSX.Element;
786
800
 
787
801
  declare const AudioIcon: ({ audio, disabled }: {
788
802
  audio: AudioRecorder;
@@ -1143,4 +1157,4 @@ declare const Purchase: ({ state }: {
1143
1157
  state: CodicentAppState;
1144
1158
  }) => react_jsx_runtime.JSX.Element;
1145
1159
 
1146
- export { AiInput, AppConfig, AppConfigOptions, AppFrame, AppInfo, AppStateDefinition, AppStateMachine, AudioIcon, AudioRecorder, AudioRecorderState, Button, CacheEntry, CacheManager, CachedUserSession, Chat, ChatInput, ChatMessage, CodicentAppState, CodicentService, CodicentServiceOptions, ColorPicker, CombinedPlaceholderDialog, Compose, CompoundButton, Content, CrmPage, CrmPagePersistent, DatePicker, FilePlaceholder, FileThumbnail, Footer, Form, FormAccept, FormInvite, Header, HtmlView, HtmlViewer, ImageViewer as ImageView, Input, ItemType, Label, Login, Logout, Markdown, Message$1 as Message, Content$1 as MessageContent, MessageInput, MessageItem, Page, Profile, Prompt, Purchase, RealtimeVoice, Sales, Search, SearchBox, Snap, SnapFooter, Spinner, StateContext, TemplateVariable, Text, TextHeader, Textarea, TimePicker, Title, Tool, ToolMergeStrategy, ToolsConfig, TranslationResponse, TypingIndicator, UploadFile, UploadFileProps, UploadFileRef, UrlProcessor, UseAuthState, UseCodicentAppOptions, UserInfo, VoiceIcon, WavRecorder, WavStreamPlayer, createAppStateMachine, generateBrandVariants, getConfigValue, getGpsLocation, getTimeString, initCodicentApp, isMobileDevice, log, stateMachineCacheManager, useAppStyles, useAudioRecorder, useAuthState, useChat, useCodicentApp, useCodicentState, useLocalization, useRealtimeVoiceAI, useStateWithLocalStorage, useTemplateVariables, useToaster, useTools, withWakeLock };
1160
+ export { AiInput, AppConfig, AppConfigOptions, AppFrame, AppInfo, AppStateDefinition, AppStateMachine, AudioIcon, AudioRecorder, AudioRecorderState, Button, CacheEntry, CacheManager, CachedUserSession, Chat, ChatInput, ChatMessage, CodicentAppState, CodicentService, CodicentServiceOptions, ColorPicker, CombinedPlaceholderDialog, Compose, CompoundButton, Content, CrmPage, CrmPagePersistent, DatePicker, FilePlaceholder, FileThumbnail, Footer, Form, FormAccept, FormInvite, Header, HtmlView, HtmlViewer, ImageViewer as ImageView, Input, ItemType, Label, Login, Logout, Markdown, Message$1 as Message, Content$1 as MessageContent, MessageInput, MessageItem, Page, Profile, Prompt, Purchase, RealtimeVoice, Sales, Search, SearchBox, Snap, SnapFooter, Spinner, StateContext, TemplateVariable, Text, TextHeader, Textarea, TimePicker, Title, Tool, ToolMergeStrategy, ToolsConfig, TranslationResponse, TypingIndicator, UploadFile, UploadFileProps, UploadFileRef, UrlProcessor, UseAuthState, UseCodicentAppOptions, UserInfo, VoiceIcon, VoiceIconProps, WavRecorder, WavStreamPlayer, createAppStateMachine, generateBrandVariants, getConfigValue, getGpsLocation, getTimeString, initCodicentApp, isMobileDevice, log, stateMachineCacheManager, useAppStyles, useAudioRecorder, useAuthState, useChat, useCodicentApp, useCodicentState, useLocalization, useRealtimeVoiceAI, useStateWithLocalStorage, useTemplateVariables, useToaster, useTools, withWakeLock };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "codicent-app-sdk",
3
- "version": "0.3.109",
3
+ "version": "0.3.111",
4
4
  "description": "SDK for building AI-powered applications with Codicent",
5
5
  "type": "module",
6
6
  "main": "dist/cjs/index.js",