codicent-app-sdk 0.3.76 → 0.3.77

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 (111) hide show
  1. package/README.md +1 -0
  2. package/dist/cjs/components/AiInput.js +1 -1
  3. package/dist/cjs/components/AudioIcon.js +1 -1
  4. package/dist/cjs/components/ChatInput.js +1 -1
  5. package/dist/cjs/components/ChatMessage.d.ts.map +1 -1
  6. package/dist/cjs/components/ChatMessage.js +1 -1
  7. package/dist/cjs/components/CombinedPlaceholderDialog.js +1 -1
  8. package/dist/cjs/components/Footer.js +1 -1
  9. package/dist/cjs/components/Header.js +1 -1
  10. package/dist/cjs/components/HtmlView.js +1 -1
  11. package/dist/cjs/components/MessageInput.js +1 -1
  12. package/dist/cjs/components/MessageItem.js +1 -1
  13. package/dist/cjs/components/Profile.js +1 -1
  14. package/dist/cjs/components/Prompt.d.ts.map +1 -1
  15. package/dist/cjs/components/Prompt.js +1 -1
  16. package/dist/cjs/components/SnapFooter.js +1 -1
  17. package/dist/cjs/components/TextHeader.js +1 -1
  18. package/dist/cjs/components/TypingIndicator.js +1 -1
  19. package/dist/cjs/components/UploadFile.js +1 -1
  20. package/dist/cjs/components/UrlProcessor.js +1 -1
  21. package/dist/cjs/components/VoiceIcon.js +1 -1
  22. package/dist/cjs/config/index.d.ts +1 -0
  23. package/dist/cjs/config/index.d.ts.map +1 -1
  24. package/dist/cjs/config/index.js +1 -1
  25. package/dist/cjs/hooks/index.d.ts +1 -1
  26. package/dist/cjs/hooks/index.d.ts.map +1 -1
  27. package/dist/cjs/hooks/useAuthState.js +1 -1
  28. package/dist/cjs/hooks/useCodicentState.js +1 -1
  29. package/dist/cjs/hooks/useLocalization.d.ts +6 -1
  30. package/dist/cjs/hooks/useLocalization.d.ts.map +1 -1
  31. package/dist/cjs/hooks/useLocalization.js +1 -1
  32. package/dist/cjs/hooks/useLocalizationStub.d.ts +1 -0
  33. package/dist/cjs/hooks/useLocalizationStub.d.ts.map +1 -0
  34. package/dist/cjs/index.js +1 -1
  35. package/dist/cjs/node_modules/i18next/dist/esm/i18next.js +1 -1
  36. package/dist/cjs/node_modules/react-i18next/dist/es/context.js +1 -1
  37. package/dist/cjs/node_modules/react-i18next/dist/es/defaults.js +1 -1
  38. package/dist/cjs/node_modules/react-i18next/dist/es/i18nInstance.js +1 -1
  39. package/dist/cjs/node_modules/react-i18next/dist/es/initReactI18next.js +1 -1
  40. package/dist/cjs/node_modules/react-i18next/dist/es/unescape.js +1 -1
  41. package/dist/cjs/node_modules/react-i18next/dist/es/useTranslation.js +1 -1
  42. package/dist/cjs/node_modules/react-i18next/dist/es/utils.js +1 -1
  43. package/dist/cjs/pages/AppFrame.js +1 -1
  44. package/dist/cjs/pages/CrmPage.js +1 -1
  45. package/dist/cjs/pages/FormAccept.js +1 -1
  46. package/dist/cjs/pages/FormInvite.js +1 -1
  47. package/dist/cjs/pages/Login.js +1 -1
  48. package/dist/cjs/pages/Sales.js +1 -1
  49. package/dist/cjs/pages/Search.js +1 -1
  50. package/dist/cjs/pages/Snap.js +1 -1
  51. package/dist/cjs/services/index.d.ts +1 -0
  52. package/dist/cjs/services/index.d.ts.map +1 -1
  53. package/dist/cjs/services/translationService.d.ts +37 -0
  54. package/dist/cjs/services/translationService.d.ts.map +1 -0
  55. package/dist/cjs/services/translationService.js +1 -0
  56. package/dist/esm/components/AiInput.js +1 -1
  57. package/dist/esm/components/AudioIcon.js +1 -1
  58. package/dist/esm/components/ChatInput.js +1 -1
  59. package/dist/esm/components/ChatMessage.d.ts.map +1 -1
  60. package/dist/esm/components/ChatMessage.js +1 -1
  61. package/dist/esm/components/CombinedPlaceholderDialog.js +1 -1
  62. package/dist/esm/components/Footer.js +1 -1
  63. package/dist/esm/components/Header.js +1 -1
  64. package/dist/esm/components/HtmlView.js +1 -1
  65. package/dist/esm/components/MessageInput.js +1 -1
  66. package/dist/esm/components/MessageItem.js +1 -1
  67. package/dist/esm/components/Profile.js +1 -1
  68. package/dist/esm/components/Prompt.d.ts.map +1 -1
  69. package/dist/esm/components/Prompt.js +1 -1
  70. package/dist/esm/components/SnapFooter.js +1 -1
  71. package/dist/esm/components/TextHeader.js +1 -1
  72. package/dist/esm/components/TypingIndicator.js +1 -1
  73. package/dist/esm/components/UploadFile.js +1 -1
  74. package/dist/esm/components/UrlProcessor.js +1 -1
  75. package/dist/esm/components/VoiceIcon.js +1 -1
  76. package/dist/esm/config/index.d.ts +1 -0
  77. package/dist/esm/config/index.d.ts.map +1 -1
  78. package/dist/esm/config/index.js +1 -1
  79. package/dist/esm/hooks/index.d.ts +1 -1
  80. package/dist/esm/hooks/index.d.ts.map +1 -1
  81. package/dist/esm/hooks/useAuthState.js +1 -1
  82. package/dist/esm/hooks/useCodicentState.js +1 -1
  83. package/dist/esm/hooks/useLocalization.d.ts +6 -1
  84. package/dist/esm/hooks/useLocalization.d.ts.map +1 -1
  85. package/dist/esm/hooks/useLocalization.js +1 -1
  86. package/dist/esm/hooks/useLocalizationStub.d.ts +1 -0
  87. package/dist/esm/hooks/useLocalizationStub.d.ts.map +1 -0
  88. package/dist/esm/index.js +1 -1
  89. package/dist/esm/node_modules/i18next/dist/esm/i18next.js +1 -1
  90. package/dist/esm/node_modules/react-i18next/dist/es/context.js +1 -1
  91. package/dist/esm/node_modules/react-i18next/dist/es/defaults.js +1 -1
  92. package/dist/esm/node_modules/react-i18next/dist/es/i18nInstance.js +1 -1
  93. package/dist/esm/node_modules/react-i18next/dist/es/initReactI18next.js +1 -1
  94. package/dist/esm/node_modules/react-i18next/dist/es/unescape.js +1 -1
  95. package/dist/esm/node_modules/react-i18next/dist/es/useTranslation.js +1 -1
  96. package/dist/esm/node_modules/react-i18next/dist/es/utils.js +1 -1
  97. package/dist/esm/pages/AppFrame.js +1 -1
  98. package/dist/esm/pages/CrmPage.js +1 -1
  99. package/dist/esm/pages/FormAccept.js +1 -1
  100. package/dist/esm/pages/FormInvite.js +1 -1
  101. package/dist/esm/pages/Login.js +1 -1
  102. package/dist/esm/pages/Sales.js +1 -1
  103. package/dist/esm/pages/Search.js +1 -1
  104. package/dist/esm/pages/Snap.js +1 -1
  105. package/dist/esm/services/index.d.ts +1 -0
  106. package/dist/esm/services/index.d.ts.map +1 -1
  107. package/dist/esm/services/translationService.d.ts +37 -0
  108. package/dist/esm/services/translationService.d.ts.map +1 -0
  109. package/dist/esm/services/translationService.js +1 -0
  110. package/dist/index.d.ts +55 -13
  111. package/package.json +1 -3
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useState as o,useEffect as r}from"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.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"../_virtual/index.js";import"../config/index.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"./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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import s from"../hooks/useLocalization.js";import"../hooks/useAppStyles.js";import{makeStyles as a}from"../node_modules/@griffel/react/makeStyles.esm.js";import{Image as n}from"../node_modules/@fluentui/react-image/lib/components/Image/Image.js";import{Input as m}from"../node_modules/@fluentui/react-input/lib/components/Input/Input.js";import{Button as l}from"../node_modules/@fluentui/react-button/lib/components/Button/Button.js";import{ArrowUndo20Regular as p}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-1.js";import{Edit20Regular as c}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js";import{Text as u}from"../node_modules/@fluentui/react-text/lib/components/Text/Text.js";const d=a({container:{display:"flex",flexDirection:"row",alignItems:"start",justifyContent:"start",gap:"1rem",marginBottom:"1rem"},properties:{display:"flex",flexDirection:"column",alignItems:"start",justifyContent:"center",gap:"0.5rem",width:"100%"},editButton:{marginLeft:"0.5rem"},saveButton:{marginTop:"0.3rem"}}),j=({state:a})=>{const j=d(),{isAuthenticated:g,isLoading:f,user:h,nickname:v}=a.auth,[b,I]=o(),[x,y]=o(!1),[w,C]=o(!1),[_,k]=o(""),[S,B]=o(""),{t:z}=s();r((()=>{a.service.getUserInfo(v).then(I)}),[a.service,v]);const A=()=>{k(b?.name||h?.name||""),B(b?.email||h?.email||""),y(!1),C(!1)},F=async e=>{const t=await a.service.updateUserInfo({nickname:v,name:e.name,email:e.email||""});I(t)};return f?e("div",{children:z("Laddar...")}):g&&h&&t("div",{className:j.container,children:[e(n,{shape:"circular",width:100,src:b?.picture||h.picture,alt:h.name}),t("div",{className:j.properties,children:[e("h2",{children:x?e(i,{children:e(m,{type:"text",value:_,onChange:e=>{k(e.target.value)},contentAfter:e(l,{icon:e(p,{}),size:"small",onClick:A})})}):t(i,{children:[b?.name||h.name,e(l,{className:j.editButton,icon:e(c,{}),size:"small",onClick:()=>{y(!0),k(b?.name||h?.name||"")}})]})}),t(u,{children:[e(i,w?{children:e(m,{type:"text",value:S,onChange:e=>{B(e.target.value)},contentAfter:e(l,{icon:e(p,{}),size:"small",onClick:A})})}:{children:b?.email||h.email}),(x||w)&&e("div",{children:e(l,{className:j.saveButton,appearance:"primary",size:"small",onClick:()=>{y(!1),C(!1),F({...b,name:_,email:S})},children:"Spara"})})]})]})]})};export{j as default};
1
+ import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useState as o,useEffect as r}from"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.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"../_virtual/index.js";import"../config/index.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"./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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useAppStyles.js";import s from"../hooks/useLocalization.js";import{makeStyles as a}from"../node_modules/@griffel/react/makeStyles.esm.js";import{Image as n}from"../node_modules/@fluentui/react-image/lib/components/Image/Image.js";import{Input as m}from"../node_modules/@fluentui/react-input/lib/components/Input/Input.js";import{Button as l}from"../node_modules/@fluentui/react-button/lib/components/Button/Button.js";import{ArrowUndo20Regular as p}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-1.js";import{Edit20Regular as c}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js";import{Text as u}from"../node_modules/@fluentui/react-text/lib/components/Text/Text.js";const d=a({container:{display:"flex",flexDirection:"row",alignItems:"start",justifyContent:"start",gap:"1rem",marginBottom:"1rem"},properties:{display:"flex",flexDirection:"column",alignItems:"start",justifyContent:"center",gap:"0.5rem",width:"100%"},editButton:{marginLeft:"0.5rem"},saveButton:{marginTop:"0.3rem"}}),j=({state:a})=>{const j=d(),{isAuthenticated:g,isLoading:f,user:h,nickname:v}=a.auth,[b,I]=o(),[x,y]=o(!1),[w,C]=o(!1),[_,k]=o(""),[S,B]=o(""),{t:z}=s();r((()=>{a.service.getUserInfo(v).then(I)}),[a.service,v]);const A=()=>{k(b?.name||h?.name||""),B(b?.email||h?.email||""),y(!1),C(!1)},F=async e=>{const t=await a.service.updateUserInfo({nickname:v,name:e.name,email:e.email||""});I(t)};return f?e("div",{children:z("Laddar...")}):g&&h&&t("div",{className:j.container,children:[e(n,{shape:"circular",width:100,src:b?.picture||h.picture,alt:h.name}),t("div",{className:j.properties,children:[e("h2",{children:x?e(i,{children:e(m,{type:"text",value:_,onChange:e=>{k(e.target.value)},contentAfter:e(l,{icon:e(p,{}),size:"small",onClick:A})})}):t(i,{children:[b?.name||h.name,e(l,{className:j.editButton,icon:e(c,{}),size:"small",onClick:()=>{y(!0),k(b?.name||h?.name||"")}})]})}),t(u,{children:[e(i,w?{children:e(m,{type:"text",value:S,onChange:e=>{B(e.target.value)},contentAfter:e(l,{icon:e(p,{}),size:"small",onClick:A})})}:{children:b?.email||h.email}),(x||w)&&e("div",{children:e(l,{className:j.saveButton,appearance:"primary",size:"small",onClick:()=>{y(!1),C(!1),F({...b,name:_,email:S})},children:"Spara"})})]})]})]})};export{j as default};
@@ -1 +1 @@
1
- {"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../src/components/Prompt.tsx"],"names":[],"mappings":"AAcA,QAAA,MAAM,MAAM,2CAMT;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,4CAsBA,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Prompt.d.ts","sourceRoot":"","sources":["../../../src/components/Prompt.tsx"],"names":[],"mappings":"AAeA,QAAA,MAAM,MAAM,2CAMT;IACD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB,4CAuBA,CAAC;AAEF,eAAe,MAAM,CAAC"}
@@ -1 +1 @@
1
- import{jsxs as o,jsx as i}from"react/jsx-runtime";import"./Markdown.js";import"./Textarea.js";import{Button as t}from"./Button.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import{Dialog as r,DialogTitle as s,DialogContent as e,DialogActions as p}from"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"react";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import"../config/index.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"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useLocalization.js";import"../hooks/useAppStyles.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";const a=({open:a,onYes:m,onNo:n,title:j,content:l})=>o(r,{open:a,children:[i(s,{children:j}),i(e,{children:l}),o(p,{children:[i(t,{appearance:"secondary",onClick:n,children:"Nej"}),i(t,{type:"submit",appearance:"primary",onClick:m,children:"Ja"})]})]});export{a as default};
1
+ import{jsxs as o,jsx as t}from"react/jsx-runtime";import"./Markdown.js";import"./Textarea.js";import{Button as i}from"./Button.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"react";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import"../config/index.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"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useAppStyles.js";import r from"../hooks/useLocalization.js";import{Dialog as s,DialogTitle as e,DialogContent as p,DialogActions as a}from"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.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";const m=({open:m,onYes:n,onNo:j,title:l,content:c})=>{const{t:d}=r();return o(s,{open:m,children:[t(e,{children:l}),t(p,{children:c}),o(a,{children:[t(i,{appearance:"secondary",onClick:j,children:d("Nej")}),t(i,{type:"submit",appearance:"primary",onClick:n,children:d("Ja")})]})]})};export{m as default};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e}from"react/jsx-runtime";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.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"../_virtual/index.js";import{getConfigValue as t}from"../config/index.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"./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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import i from"../hooks/useLocalization.js";import"../hooks/useAppStyles.js";import{makeStyles as r}from"../node_modules/@griffel/react/makeStyles.esm.js";import{shorthands as s}from"../node_modules/@griffel/core/index.esm.js";import{tokens as n}from"../node_modules/@fluentui/tokens/lib/tokens.js";import{Home24Regular as a}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-8.js";import{Camera24Regular as m,CameraSwitch24Regular as l}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-3.js";import{MicPulse24Filled as p,MicRecord24Filled as c,Mic24Regular as d}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js";const j=r({footer:{...s.padding("14px"),backgroundColor:t("APP_HEADER_COLOR")||n.colorBrandBackground,color:t("APP_HEADER_TEXT_COLOR")||n.colorNeutralForegroundOnBrand,textAlign:"center",display:"flex",justifyContent:"space-around",alignItems:"center",position:"sticky",bottom:0,zIndex:1e3,paddingBottom:"22px",width:"100%"},container:{display:"flex",justifyContent:"space-around",alignItems:"center",maxWidth:"480px",width:"100%"},button:{color:n.colorNeutralForegroundOnBrand,height:"24px",width:"24px",...s.borderWidth("0")},link:{textDecoration:"none",color:"inherit","&.selected":{border:"none"},"&:hover":{textDecoration:"none"},minWidth:"48px"},buttonText:{fontSize:"12px"}}),u=({onHome:t,onTakePhoto:r,onSwichCamera:s,audio:n,tag:u})=>{const g=j(),{isRecording:h,isSoundCaptured:f,startRecording:k,stopRecording:x}=n,{t:b}=i();return o("footer",{className:g.footer,children:e("div",{className:g.container,children:[e("div",{className:g.link,onClick:t,children:[o(a,{}),o("p",{className:g.buttonText,children:b("Hem")})]}),e("div",{className:g.link,children:[h&&f&&o(p,{onClick:x}),h&&!f&&o(c,{onClick:x}),!h&&o(d,{onClick:()=>k(u)}),o("p",{className:g.buttonText,children:b("Ljud")})]}),e("div",{className:g.link,onClick:()=>{h?(x(),r(),k(u)):r()},children:[o(m,{}),o("p",{className:g.buttonText,children:b("Ta kort")})]}),e("div",{className:g.link,onClick:s,children:[o(l,{}),o("p",{className:g.buttonText,children:b("Byt kamera")})]})]})})};export{u as default};
1
+ import{jsx as o,jsxs as e}from"react/jsx-runtime";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.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"../_virtual/index.js";import{getConfigValue as t}from"../config/index.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"./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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useAppStyles.js";import i from"../hooks/useLocalization.js";import{makeStyles as r}from"../node_modules/@griffel/react/makeStyles.esm.js";import{shorthands as s}from"../node_modules/@griffel/core/index.esm.js";import{tokens as n}from"../node_modules/@fluentui/tokens/lib/tokens.js";import{Home24Regular as a}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-8.js";import{Camera24Regular as m,CameraSwitch24Regular as l}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-3.js";import{MicPulse24Filled as p,MicRecord24Filled as c,Mic24Regular as d}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js";const j=r({footer:{...s.padding("14px"),backgroundColor:t("APP_HEADER_COLOR")||n.colorBrandBackground,color:t("APP_HEADER_TEXT_COLOR")||n.colorNeutralForegroundOnBrand,textAlign:"center",display:"flex",justifyContent:"space-around",alignItems:"center",position:"sticky",bottom:0,zIndex:1e3,paddingBottom:"22px",width:"100%"},container:{display:"flex",justifyContent:"space-around",alignItems:"center",maxWidth:"480px",width:"100%"},button:{color:n.colorNeutralForegroundOnBrand,height:"24px",width:"24px",...s.borderWidth("0")},link:{textDecoration:"none",color:"inherit","&.selected":{border:"none"},"&:hover":{textDecoration:"none"},minWidth:"48px"},buttonText:{fontSize:"12px"}}),u=({onHome:t,onTakePhoto:r,onSwichCamera:s,audio:n,tag:u})=>{const g=j(),{isRecording:h,isSoundCaptured:f,startRecording:k,stopRecording:x}=n,{t:b}=i();return o("footer",{className:g.footer,children:e("div",{className:g.container,children:[e("div",{className:g.link,onClick:t,children:[o(a,{}),o("p",{className:g.buttonText,children:b("Hem")})]}),e("div",{className:g.link,children:[h&&f&&o(p,{onClick:x}),h&&!f&&o(c,{onClick:x}),!h&&o(d,{onClick:()=>k(u)}),o("p",{className:g.buttonText,children:b("Ljud")})]}),e("div",{className:g.link,onClick:()=>{h?(x(),r(),k(u)):r()},children:[o(m,{}),o("p",{className:g.buttonText,children:b("Ta kort")})]}),e("div",{className:g.link,onClick:s,children:[o(l,{}),o("p",{className:g.buttonText,children:b("Byt kamera")})]})]})})};export{u as default};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as o}from"react/jsx-runtime";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import{Button as e}from"./Button.js";import{Title as i}from"./Title.js";import{Text as r}from"./Text.js";import"./Spinner.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"../_virtual/index.js";import"../config/index.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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import s from"../hooks/useLocalization.js";import p from"../hooks/useAppStyles.js";import{makeStyles as a}from"../node_modules/@griffel/react/makeStyles.esm.js";import{shorthands as m}from"../node_modules/@griffel/core/index.esm.js";const l=a({header:{...m.padding("16px"),textAlign:"start",position:"sticky",top:0,zIndex:1e3,alignItems:"center",justifyContent:"space-between",width:"100%",display:"flex"}}),n=({title:a,onNewChat:m,subtitle:n})=>{const j=l(),c=p(),{t:d}=s();return t("header",{className:j.header,children:[a&&o(i,{children:a}),n&&o(r,{size:300,weight:"regular",children:n}),m&&o(e,{className:c.button,appearance:"primary",title:d("Ny chatt"),icon:"ArrowClockwiseRegular",onClick:m})]})};export{n as default};
1
+ import{jsxs as t,jsx as o}from"react/jsx-runtime";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import{Button as e}from"./Button.js";import{Title as i}from"./Title.js";import{Text as r}from"./Text.js";import"./Spinner.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"../_virtual/index.js";import"../config/index.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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import s from"../hooks/useAppStyles.js";import p from"../hooks/useLocalization.js";import{makeStyles as a}from"../node_modules/@griffel/react/makeStyles.esm.js";import{shorthands as m}from"../node_modules/@griffel/core/index.esm.js";const l=a({header:{...m.padding("16px"),textAlign:"start",position:"sticky",top:0,zIndex:1e3,alignItems:"center",justifyContent:"space-between",width:"100%",display:"flex"}}),n=({title:a,onNewChat:m,subtitle:n})=>{const j=l(),c=s(),{t:d}=p();return t("header",{className:j.header,children:[a&&o(i,{children:a}),n&&o(r,{size:300,weight:"regular",children:n}),m&&o(e,{className:c.button,appearance:"primary",title:d("Ny chatt"),icon:"ArrowClockwiseRegular",onClick:m})]})};export{n as default};
@@ -1 +1 @@
1
- import{jsxs as o,jsx as t}from"react/jsx-runtime";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import{Text as s}from"./Text.js";import{Spinner as i}from"./Spinner.js";import"./TextHeader.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"../_virtual/index.js";import"../config/index.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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import r from"../hooks/useLocalization.js";import"../hooks/useAppStyles.js";import{makeStyles as e}from"../node_modules/@griffel/react/makeStyles.esm.js";const p=e({typingContainer:{display:"flex",gap:"8px"}}),m=()=>{const e=p(),{t:m}=r();return o("div",{className:e.typingContainer,children:[t(i,{size:"extra-small"}),t(s,{size:400,children:m("Tänker...")})]})};export{m as default};
1
+ import{jsxs as o,jsx as t}from"react/jsx-runtime";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import{Text as s}from"./Text.js";import{Spinner as i}from"./Spinner.js";import"./TextHeader.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"../_virtual/index.js";import"../config/index.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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useAppStyles.js";import r from"../hooks/useLocalization.js";import{makeStyles as e}from"../node_modules/@griffel/react/makeStyles.esm.js";const p=e({typingContainer:{display:"flex",gap:"8px"}}),m=()=>{const e=p(),{t:m}=r();return o("div",{className:e.typingContainer,children:[t(i,{size:"extra-small"}),t(s,{size:400,children:m("Tänker...")})]})};export{m as default};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{forwardRef as e,useState as t,useRef as i,useEffect as r,useImperativeHandle as s}from"react";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import"../config/index.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{isMobileDevice as a}from"../utils/device.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import{Spinner as p}from"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"../services/codicent.js";import"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useLocalization.js";import"../hooks/useAppStyles.js";import"./FileThumbnail.js";import"./MessageInput.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{makeStyles as m}from"../node_modules/@griffel/react/makeStyles.esm.js";const l=m({imageUpload:{display:"none"},spinner:{marginTop:"10px"}}),n=e((({onFileUploaded:e,accept:m,capture:n,multiple:c=!1,onUploading:j,className:d,id:g,codicentService:u},f)=>{const h=l(),[y,v]=t(!1),w=i(null);r((()=>{j(y)}),[y,j]);const b=async(o,e)=>{const t=new FormData;t.append("file",e),v(!0);try{const e=await u.uploadFile(o,t);return v(!1),e}catch(e){return console.error("Upload failed for file:",o,e),v(!1),null}},S=()=>{w.current?.click()};s(f,(()=>({triggerUpload:S})));const F=n&&a();return o("div",{id:g,className:d,children:y?o(p,{"aria-label":"Uploading...",className:h.spinner}):o("input",{ref:w,type:"file",className:h.imageUpload,onChange:async()=>{try{const o=w.current;if(o&&o.files){const t=[];for(let e=0;e<o.files.length;e++){const i=o.files[e],r=i.name.split("\\").pop()||i.name,s=await b(r,i);s&&t.push(s)}t.length>0&&e(t)}}catch(o){console.error("Error uploading files:",o)}},accept:m,multiple:c,...F?{capture:n}:{}})})}));export{n as default};
1
+ import{jsx as o}from"react/jsx-runtime";import{forwardRef as e,useState as t,useRef as r,useEffect as i,useImperativeHandle as s}from"react";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import"../config/index.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{isMobileDevice as a}from"../utils/device.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import{Spinner as p}from"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"../services/codicent.js";import"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useAppStyles.js";import"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"./FileThumbnail.js";import"./MessageInput.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{makeStyles as m}from"../node_modules/@griffel/react/makeStyles.esm.js";const l=m({imageUpload:{display:"none"},spinner:{marginTop:"10px"}}),n=e((({onFileUploaded:e,accept:m,capture:n,multiple:c=!1,onUploading:j,className:d,id:g,codicentService:u},f)=>{const h=l(),[y,v]=t(!1),w=r(null);i((()=>{j(y)}),[y,j]);const b=async(o,e)=>{const t=new FormData;t.append("file",e),v(!0);try{const e=await u.uploadFile(o,t);return v(!1),e}catch(e){return console.error("Upload failed for file:",o,e),v(!1),null}},S=()=>{w.current?.click()};s(f,(()=>({triggerUpload:S})));const F=n&&a();return o("div",{id:g,className:d,children:y?o(p,{"aria-label":"Uploading...",className:h.spinner}):o("input",{ref:w,type:"file",className:h.imageUpload,onChange:async()=>{try{const o=w.current;if(o&&o.files){const t=[];for(let e=0;e<o.files.length;e++){const r=o.files[e],i=r.name.split("\\").pop()||r.name,s=await b(i,r);s&&t.push(s)}t.length>0&&e(t)}}catch(o){console.error("Error uploading files:",o)}},accept:m,multiple:c,...F?{capture:n}:{}})})}));export{n as default};
@@ -1 +1 @@
1
- import{jsxs as e,Fragment as o,jsx as i}from"react/jsx-runtime";import{useState as t}from"react";import{CombinedPlaceholderDialog as r}from"./CombinedPlaceholderDialog.js";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./ChatMessage.js";import"./Header.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import"../config/index.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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useLocalization.js";import{useTemplateVariables as s}from"../hooks/useTemplateVariables.js";import"../hooks/useAppStyles.js";const a=({service:a,children:l})=>{const[p,m]=t(!1),[n,j]=t([]),[c,d]=t([]),[g,h]=t(null),{extractTemplateVariables:u,extractFilePlaceholders:f,replaceTemplateVariables:b,replaceFilePlaceholders:w}=s(a.uploadFile);return e(o,{children:[l((async e=>{h(e);const o=f(e),i=u(e);0!==o.length||0!==i.length?(d(o),j(i),m(!0)):window.location.href=e})),i(r,{open:p,templateVariables:n,filePlaceholders:c,onTemplateVariablesChange:j,onFilePlaceholdersChange:d,onConfirm:async()=>{if(g)try{let e=g;if(c.length>0){c.filter((e=>e.fileId)).length!==c.length&&console.warn("Some file placeholders are missing fileIds:",c.filter((e=>!e.fileId)).map((e=>e.description))),e=w(e,c)}n.length>0&&(e=b(e,n)),m(!1),window.location.href=e}catch(e){console.error("Failed to process URL:",e)}finally{h(null)}},onCancel:()=>{m(!1),h(null),j([]),d([])},uploadFile:a.uploadFile})]})};export{a as UrlProcessor,a as default};
1
+ import{jsxs as e,Fragment as o,jsx as i}from"react/jsx-runtime";import{useState as r}from"react";import{CombinedPlaceholderDialog as t}from"./CombinedPlaceholderDialog.js";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./ChatMessage.js";import"./Header.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import"../config/index.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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import{useTemplateVariables as s}from"../hooks/useTemplateVariables.js";import"../hooks/useAppStyles.js";const a=({service:a,children:l})=>{const[p,m]=r(!1),[n,j]=r([]),[c,d]=r([]),[g,h]=r(null),{extractTemplateVariables:f,extractFilePlaceholders:u,replaceTemplateVariables:b,replaceFilePlaceholders:w}=s(a.uploadFile);return e(o,{children:[l((async e=>{h(e);const o=u(e),i=f(e);0!==o.length||0!==i.length?(d(o),j(i),m(!0)):window.location.href=e})),i(t,{open:p,templateVariables:n,filePlaceholders:c,onTemplateVariablesChange:j,onFilePlaceholdersChange:d,onConfirm:async()=>{if(g)try{let e=g;if(c.length>0){c.filter((e=>e.fileId)).length!==c.length&&console.warn("Some file placeholders are missing fileIds:",c.filter((e=>!e.fileId)).map((e=>e.description))),e=w(e,c)}n.length>0&&(e=b(e,n)),m(!1),window.location.href=e}catch(e){console.error("Failed to process URL:",e)}finally{h(null)}},onCancel:()=>{m(!1),h(null),j([]),d([])},uploadFile:a.uploadFile})]})};export{a as UrlProcessor,a as default};
@@ -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"./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"../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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import"../hooks/useLocalization.js";import i from"../hooks/useAppStyles.js";import{MicSparkle24Regular as t,MicSparkle24Filled as r}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js";const e=s(r),p=({voice:s,disabled:r})=>{const{isConnected:p,connectConversation:m,disconnectConversation:a}=s,{pointer:n}=i();return r?o(t,{}):p?o(e,{onClick:a,className:n}):o(t,{onClick:m,className:n})};export{p as default};
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"./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"../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/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";import"../stores/chatStore.js";import t from"../hooks/useAppStyles.js";import{MicSparkle24Regular as i,MicSparkle24Filled as r}from"../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js";const e=s(r),p=({voice:s,disabled:r})=>{const{isConnected:p,connectConversation:m,disconnectConversation:a}=s,{pointer:n}=t();return r?o(i,{}):p?o(e,{onClick:a,className:n}):o(i,{onClick:m,className:n})};export{p as default};
@@ -31,6 +31,7 @@ export interface AppConfigOptions {
31
31
  APP_CHAT_TITLE: undefined | string;
32
32
  APP_CONFIG: AppConfig;
33
33
  APP_FOOTER_COLOR: undefined | string;
34
+ TRANSLATIONS: Record<string, Record<string, string>> | undefined;
34
35
  APP_FOOTER_SELECTED_COLOR: undefined | string;
35
36
  APP_FOOTER_TEXT_COLOR: undefined | string;
36
37
  APP_HEADER_COLOR: undefined | string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"AAGA,qBAAa,SAAS;;IAKpB,iBAAiB,EAAE,MAAM,CAAM;IAC/B,2BAA2B,EAAE,MAAM,CAAM;IACzC,IAAI,EAAE;QACJ,CAAC,GAAG,EAAE,MAAM,GAAG;YACb,OAAO,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,GAAG,EAAE,MAAM,CAAA;aAAE,EAAE,CAAC;YAC1C,KAAK,EAAE;gBAAE,EAAE,EAAE,MAAM,CAAC;gBAAC,KAAK,EAAE,MAAM,CAAC;gBAAC,OAAO,EAAE,MAAM,CAAA;aAAE,EAAE,CAAC;YACxD,iBAAiB,EAAE,MAAM,CAAC;YAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;YACvB,gBAAgB,EAAE,MAAM,CAAC;YACzB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;SACtB,CAAC;KACH,CAAC;CAyBH;AAED,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,OAAO,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC,UAAU,EAAE,SAAS,CAAC;IACtB,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,qBAAqB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1C,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,mBAAmB,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,qBAAqB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1C,YAAY,EAAE,SAAS,GAAG,MAAM,CAAC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAC7B,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC,gBAAgB,EAAE,SAAS,GAAG,MAAM,CAAC;IACrC,UAAU,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/B,eAAe,EAAE,SAAS,GAAG,MAAM,CAAC;IACpC,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,GAAG,MAAM,CAAC;IAE9B,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,mBAAmB,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,uBAAuB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC5C,oBAAoB,EAAE,SAAS,GAAG,MAAM,CAAC;IACzC,kBAAkB,EAAE,SAAS,GAAG,MAAM,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,mBAAmB,EAAE,SAAS,GAAG,MAAM,CAAC;IACxC,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,0BAA0B,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/C,oBAAoB,EAAE,SAAS,GAAG,MAAM,CAAC;IACzC,YAAY,EAAE,MAAM,CAAC;IACrB,4BAA4B,EAAE,SAAS,GAAG,MAAM,CAAC;IACjD,qBAAqB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC1C,0BAA0B,EAAE,SAAS,GAAG,MAAM,CAAC;IAC/C,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,WAAW,EAAE,SAAS,GAAG,MAAM,CAAC;IAChC,uBAAuB,EAAE;QACvB,CAAC,MAAM,EAAE,MAAM,GAAG;YAChB,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,SAAS,CAAC,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;IACF,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,YAAY,EAAE,OAAO,CAAC;IACtB,oBAAoB,EAAE,SAAS,GAAG,MAAM,CAAC;IACzC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,4BAA4B,EAAE,OAAO,CAAC;IACtC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,sBAAsB,EAAE,OAAO,CAAC;IAChC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,aAAa,EAAE,SAAS,GAAG,MAAM,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,yBAAyB,EAAE,SAAS,GAAG,MAAM,CAAC;IAC9C,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAInC,iBAAiB,EAAE,SAAS,GAAG,MAAM,CAAC;IACtC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,yBAAyB,EAAE,OAAO,CAAC;IACnC,oBAAoB,EAAE,SAAS,GAAG,MAAM,CAAC;CAC1C;AAsHD,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC7D,GAAG,EAAE,CAAC,GACL,gBAAgB,CAAC,CAAC,CAAC,CAGrB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,GAAE,OAAO,CAAC,gBAAgB,CAAM,QAUtE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- import _ from"../node_modules/mermaid/dist/mermaid.core.js";class O{constructor(){this.CHAT_INSTRUCTIONS="",this.REALTIME_VOICE_INSTRUCTIONS="",this.apps={}}}const T={LOGIN_REDIRECT:!1,ABOUT_TEXT:"Codicent APP SDK",ANONYMOUS_CODICENT:void 0,ANONYMOUS_TOKEN:void 0,API_BASE_URL:"https://codicent.com/",APP_BUTTONS:void 0,APP_CHAT_TEXT_PLACEHOLDER:void 0,APP_CHAT_TITLE:void 0,APP_CONFIG:new O,APP_FOOTER_COLOR:void 0,APP_FOOTER_SELECTED_COLOR:void 0,APP_FOOTER_TEXT_COLOR:void 0,APP_HEADER_COLOR:void 0,APP_HEADER_ICON_URL:void 0,APP_HEADER_TEXT_COLOR:void 0,APP_ICON_URL:void 0,APP_LOG_CODICENT:"",APP_LOG_TOKEN:"",APP_LOGBOOK_TITLE:void 0,APP_MENU_TITLE:void 0,APP_NAME:void 0,APP_PREFIX:void 0,APP_SAVE_TITLE:void 0,APP_SEARCH_TITLE:void 0,APP_SLOGAN:void 0,APP_SPLASH_TEXT:void 0,APP_SPLASH_URL:void 0,APP_TEMPLATE:"",APP_TITLE:void 0,AUTH_REDIRECT_URL:void 0,AUTH0_AUDIENCE:"https://codicent.com/api",AUTH0_CLIENT_ID:"80STzWmmzN3Tgf76HgFRyv54keYmvnaw",AUTH0_DOMAIN:"auth.codicent.com",AUTH0_PROVIDER_SCOPE:"read:current_user update:current_user_metadata openid profile email",AUTH0_SCOPE:"read:current_user",AUTH0_USER_DOMAIN:void 0,BUTTON_ACTIVE_COLOR:void 0,BUTTON_BACKGROUND_COLOR:void 0,BUTTON_BORDER_RADIUS:void 0,BUTTON_HOVER_COLOR:void 0,BUTTON_TAG:"app-button",BUTTON_TEXT_COLOR:void 0,CHAT_BACKGROUND_IMAGE_URL:void 0,CHAT_BOT_BACKGROUND_COLOR:void 0,CHAT_BOT_TEXT_COLOR:void 0,CHAT_INSTRUCTIONS:void 0,CHAT_USER_BACKGROUND_COLOR:void 0,CHAT_USER_TEXT_COLOR:void 0,CHAT_WELCOME:"Welcome",COMPOSE_BACKGROUND_IMAGE_URL:void 0,COMPOSE_HIDE_LOCATION:void 0,COMPOSE_SIMPLE_ATTACH_FILE:void 0,DEFAULT_LANGUAGE:"en",HIDE_CHAT_BUTTON:!1,HIDE_MENU_BUTTON:!1,HIDE_REGISTER_BUTTON:!1,HIDE_SAVE_BUTTON:!1,HOME_BACKGROUND_IMAGE_URL:void 0,INDEX_TITLE:void 0,LOGBOOK_TAG_DEFINITIONS:{},LOGBOOK_TAGS:"[]",MENU_BACKGROUND_IMAGE_URL:void 0,MESSAGE_HIDE_BAR:!1,MODULE_VOICE:!1,PUBLIC_FLOW_CODICENT:void 0,REALTIME_VOICE_API_KEY:"",SEND_BUTTON_ROUND_BACKGROUND:!1,SHOW_CANVAS_BUTTON:!1,SHOW_CHAT_PROMPTS:!1,SHOW_HELP_BUTTON:!1,SHOW_LOGBOOK_BUTTON:!1,SHOW_MICROPHONE_BUTTON:!1,SHOW_SETTINGS_BUTTON:!1,SHOW_SNAP_BUTTON:!1,SHOW_VOICE_BUTTON:!1,STRIP_CUSTOMER_PORTAL:"",STRIPE_PRICE_ID:"",STRIPE_PUBLIC_KEY:"",SUBSCRIPTION_NEEDED:!1,THEME_WELCOME:void 0,USER_PREFIX:void 0,WELCOME_STATUS_PROMPT:"",SHOW_SEND_BUTTON_TEXT:!1,SHOW_SAVE_BUTTON_TEXT:!1,FORM_BACKGROUND_IMAGE_URL:void 0,AUTO_TRANSLATE:!0,FORCE_LANGUAGE:void 0,LOGIN_WELCOME_TEXT:void 0,LOGIN_HIDE_WELCOME:!1,LOGIN_LOGO_URL:void 0,HIDE_CHAT_ADD_FILE_BUTTON:!1,FORM_ACCEPT_MARKDOWN:void 0};const E=function(_){return new Proxy(_,{get:(_,O,T)=>Reflect.get(_,O,T)})}(T);function A(_){return E[_]}function R(O={}){for(const[_,E]of Object.entries(O))void 0!==E&&(T[_]=E);_.initialize({startOnLoad:!1})}export{O as AppConfig,A as getConfigValue,R as initCodicentApp};
1
+ import _ from"../node_modules/mermaid/dist/mermaid.core.js";class O{constructor(){this.CHAT_INSTRUCTIONS="",this.REALTIME_VOICE_INSTRUCTIONS="",this.apps={}}}const T={LOGIN_REDIRECT:!1,ABOUT_TEXT:"Codicent APP SDK",ANONYMOUS_CODICENT:void 0,ANONYMOUS_TOKEN:void 0,API_BASE_URL:"https://codicent.com/",APP_BUTTONS:void 0,APP_CHAT_TEXT_PLACEHOLDER:void 0,APP_CHAT_TITLE:void 0,APP_CONFIG:new O,APP_FOOTER_COLOR:void 0,APP_FOOTER_SELECTED_COLOR:void 0,APP_FOOTER_TEXT_COLOR:void 0,APP_HEADER_COLOR:void 0,APP_HEADER_ICON_URL:void 0,APP_HEADER_TEXT_COLOR:void 0,APP_ICON_URL:void 0,APP_LOG_CODICENT:"",APP_LOG_TOKEN:"",APP_LOGBOOK_TITLE:void 0,APP_MENU_TITLE:void 0,APP_NAME:void 0,APP_PREFIX:void 0,APP_SAVE_TITLE:void 0,APP_SEARCH_TITLE:void 0,APP_SLOGAN:void 0,APP_SPLASH_TEXT:void 0,APP_SPLASH_URL:void 0,APP_TEMPLATE:"",APP_TITLE:void 0,AUTH_REDIRECT_URL:void 0,AUTH0_AUDIENCE:"https://codicent.com/api",AUTH0_CLIENT_ID:"80STzWmmzN3Tgf76HgFRyv54keYmvnaw",AUTH0_DOMAIN:"auth.codicent.com",AUTH0_PROVIDER_SCOPE:"read:current_user update:current_user_metadata openid profile email",AUTH0_SCOPE:"read:current_user",AUTH0_USER_DOMAIN:void 0,BUTTON_ACTIVE_COLOR:void 0,BUTTON_BACKGROUND_COLOR:void 0,BUTTON_BORDER_RADIUS:void 0,BUTTON_HOVER_COLOR:void 0,BUTTON_TAG:"app-button",BUTTON_TEXT_COLOR:void 0,CHAT_BACKGROUND_IMAGE_URL:void 0,CHAT_BOT_BACKGROUND_COLOR:void 0,CHAT_BOT_TEXT_COLOR:void 0,CHAT_INSTRUCTIONS:void 0,CHAT_USER_BACKGROUND_COLOR:void 0,CHAT_USER_TEXT_COLOR:void 0,CHAT_WELCOME:"Welcome",COMPOSE_BACKGROUND_IMAGE_URL:void 0,COMPOSE_HIDE_LOCATION:void 0,COMPOSE_SIMPLE_ATTACH_FILE:void 0,DEFAULT_LANGUAGE:"en",HIDE_CHAT_BUTTON:!1,HIDE_MENU_BUTTON:!1,HIDE_REGISTER_BUTTON:!1,HIDE_SAVE_BUTTON:!1,HOME_BACKGROUND_IMAGE_URL:void 0,INDEX_TITLE:void 0,LOGBOOK_TAG_DEFINITIONS:{},LOGBOOK_TAGS:"[]",MENU_BACKGROUND_IMAGE_URL:void 0,MESSAGE_HIDE_BAR:!1,MODULE_VOICE:!1,PUBLIC_FLOW_CODICENT:void 0,REALTIME_VOICE_API_KEY:"",SEND_BUTTON_ROUND_BACKGROUND:!1,SHOW_CANVAS_BUTTON:!1,SHOW_CHAT_PROMPTS:!1,SHOW_HELP_BUTTON:!1,SHOW_LOGBOOK_BUTTON:!1,SHOW_MICROPHONE_BUTTON:!1,SHOW_SETTINGS_BUTTON:!1,SHOW_SNAP_BUTTON:!1,SHOW_VOICE_BUTTON:!1,STRIP_CUSTOMER_PORTAL:"",STRIPE_PRICE_ID:"",STRIPE_PUBLIC_KEY:"",SUBSCRIPTION_NEEDED:!1,THEME_WELCOME:void 0,USER_PREFIX:void 0,WELCOME_STATUS_PROMPT:"",SHOW_SEND_BUTTON_TEXT:!1,SHOW_SAVE_BUTTON_TEXT:!1,FORM_BACKGROUND_IMAGE_URL:void 0,AUTO_TRANSLATE:!0,FORCE_LANGUAGE:void 0,LOGIN_WELCOME_TEXT:void 0,LOGIN_HIDE_WELCOME:!1,LOGIN_LOGO_URL:void 0,HIDE_CHAT_ADD_FILE_BUTTON:!1,FORM_ACCEPT_MARKDOWN:void 0,TRANSLATIONS:void 0};const E=function(_){return new Proxy(_,{get:(_,O,T)=>Reflect.get(_,O,T)})}(T);function A(_){return E[_]}function R(O={}){for(const[_,E]of Object.entries(O))void 0!==E&&(T[_]=E);_.initialize({startOnLoad:!1})}export{O as AppConfig,A as getConfigValue,R as initCodicentApp};
@@ -6,11 +6,11 @@ export * from "./useAudioRecorder";
6
6
  export { default as useTools } from "./useTools";
7
7
  export { default as useRealtimeVoiceAI } from "./useRealtimeVoiceAI";
8
8
  export * from "./useRealtimeVoiceAI";
9
- export { default as useLocalization } from "./useLocalization";
10
9
  export * from "./useTemplateVariables";
11
10
  export { type AudioRecorder } from "./useAudioRecorder";
12
11
  export type { AudioRecorderState } from "./useAudioRecorder";
13
12
  export * from "./useCodicentApp";
14
13
  export { default as useAppStyles } from "./useAppStyles";
15
14
  export { default as useToaster } from "./useToaster";
15
+ export { default as useLocalization } from "./useLocalization";
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5E,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC/D,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC5E,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACjE,cAAc,oBAAoB,CAAC;AAEnC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AACrE,cAAc,sBAAsB,CAAC;AACrC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,OAAO,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- import{useState as o,useMemo as e,useEffect as t}from"react";import{CodicentService as s}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"react/jsx-runtime";import"../components/Spinner.js";import"../components/TextHeader.js";import"../components/TypingIndicator.js";import"../components/Dialog.js";import"../components/ChatInput.js";import"../components/CombinedPlaceholderDialog.js";import"../components/ChatMessage.js";import"../components/Header.js";import{getConfigValue as n}from"../config/index.js";import"../stores/chatStore.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.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"./useLocalization.js";import"./useAppStyles.js";import"../components/FileThumbnail.js";import"../components/MessageInput.js";import"../components/UploadFile.js";import"../components/SnapFooter.js";import"../components/Profile.js";import"../components/MessageItem.js";import"../components/Content.js";import"../components/AiInput.js";import"../components/SearchBox.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";const i=i=>{const{isAuthenticated:r,getAccessTokenSilently:p,user:a,isLoading:m,logout:c,getAccessTokenWithPopup:l,loginWithRedirect:g}=i,[j,u]=o(null),[E,T]=o(void 0),[_,P]=o(null),[d,A]=o(""),C=e((()=>new s({API_BASE_URL:n("API_BASE_URL"),APP_LOG_CODICENT:n("APP_LOG_CODICENT"),APP_LOG_TOKEN:n("APP_LOG_TOKEN"),APP_NAME:n("APP_NAME"),APP_PREFIX:n("APP_PREFIX"),APP_TEMPLATE:n("APP_TEMPLATE"),BUTTON_TAG:n("BUTTON_TAG"),STRIPE_PUBLIC_KEY:n("STRIPE_PUBLIC_KEY"),SUBSCRIPTION_NEEDED:n("SUBSCRIPTION_NEEDED"),USER_PREFIX:n("USER_PREFIX"),ANONYMOUS_TOKEN:n("ANONYMOUS_TOKEN")})),[]);t((()=>{m||(async()=>{try{const o=await p({});console.debug("CODICENT: ACCESS TOKEN",o),u(o)}catch(o){console.debug("CODICENT: Failed to get access token",o);const e=o;if(e&&"object"==typeof e&&"error"in e&&"login_required"===e.error)console.warn("CODICENT: Login required"),I();else if(e&&"object"==typeof e&&"error"in e&&"consent_required"===e.error)try{const o=await l();if(!o)return void P("Failed to get access token: no token from auth0 with popup");console.log("CODICENT: GOT ACCESS TOKEN"),u(o)}catch(o){console.warn("CODICENT: Failed to get access token with popup",o),I()}else P("Failed to get access token: "+(e.message?.toString()||e.toString())),console.log("CODICENT: ACCESS TOKEN ERROR",e)}})().then((()=>{}))}),[r,l,p,g,m]),t((()=>{if(a&&a.sub&&j&&void 0===E){let o=!0;return C.loginUser(a.sub,j).then((e=>{o&&(null===e?T(!1):""===e?P("Kontrollera internetanslutningen och försök igen."):(C.setToken(j),C.getNickname().then(A),T(!0)))})).catch((()=>{o&&(P("Ett fel uppstod. Försök igen senare."),T(!1))})),()=>{o=!1}}}),[a,j,E,C]);const I=()=>{C.logout(),u(null),P(null),T(void 0),A(""),c({logoutParams:{returnTo:n("AUTH_REDIRECT_URL")}})};return t((()=>{C.onUnauthorized=I}),[C]),{isAuthenticated:r,isRegistered:E,accessToken:j,authError:_,isLoading:m,user:a,nickname:d,logout:I,registerUser:async o=>{const e=await C.registerUser(o,a.email,a.sub,j);return e&&(C.setToken(j),T(!0)),e},codicentService:C,loginWithRedirect:g}};export{i as default};
1
+ import{useState as o,useMemo as e,useEffect as t}from"react";import{CodicentService as s}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"react/jsx-runtime";import"../components/Spinner.js";import"../components/TextHeader.js";import"../components/TypingIndicator.js";import{getConfigValue as n}from"../config/index.js";import"../stores/chatStore.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.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"./useAppStyles.js";import"../components/Dialog.js";import"../components/ChatInput.js";import"../components/CombinedPlaceholderDialog.js";import"../components/ChatMessage.js";import"../components/Header.js";import"../components/FileThumbnail.js";import"../components/MessageInput.js";import"../components/UploadFile.js";import"../components/SnapFooter.js";import"../components/Profile.js";import"../components/MessageItem.js";import"../components/Content.js";import"../components/AiInput.js";import"../components/SearchBox.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";const r=r=>{const{isAuthenticated:i,getAccessTokenSilently:p,user:a,isLoading:m,logout:c,getAccessTokenWithPopup:l,loginWithRedirect:g}=r,[E,j]=o(null),[u,T]=o(void 0),[_,P]=o(null),[d,A]=o(""),C=e((()=>new s({API_BASE_URL:n("API_BASE_URL"),APP_LOG_CODICENT:n("APP_LOG_CODICENT"),APP_LOG_TOKEN:n("APP_LOG_TOKEN"),APP_NAME:n("APP_NAME"),APP_PREFIX:n("APP_PREFIX"),APP_TEMPLATE:n("APP_TEMPLATE"),BUTTON_TAG:n("BUTTON_TAG"),STRIPE_PUBLIC_KEY:n("STRIPE_PUBLIC_KEY"),SUBSCRIPTION_NEEDED:n("SUBSCRIPTION_NEEDED"),USER_PREFIX:n("USER_PREFIX"),ANONYMOUS_TOKEN:n("ANONYMOUS_TOKEN")})),[]);t((()=>{m||(async()=>{try{const o=await p({});console.debug("CODICENT: ACCESS TOKEN",o),j(o)}catch(o){console.debug("CODICENT: Failed to get access token",o);const e=o;if(e&&"object"==typeof e&&"error"in e&&"login_required"===e.error)console.warn("CODICENT: Login required"),I();else if(e&&"object"==typeof e&&"error"in e&&"consent_required"===e.error)try{const o=await l();if(!o)return void P("Failed to get access token: no token from auth0 with popup");console.log("CODICENT: GOT ACCESS TOKEN"),j(o)}catch(o){console.warn("CODICENT: Failed to get access token with popup",o),I()}else P("Failed to get access token: "+(e.message?.toString()||e.toString())),console.log("CODICENT: ACCESS TOKEN ERROR",e)}})().then((()=>{}))}),[i,l,p,g,m]),t((()=>{if(a&&a.sub&&E&&void 0===u){let o=!0;return C.loginUser(a.sub,E).then((e=>{o&&(null===e?T(!1):""===e?P("Kontrollera internetanslutningen och försök igen."):(C.setToken(E),C.getNickname().then(A),T(!0)))})).catch((()=>{o&&(P("Ett fel uppstod. Försök igen senare."),T(!1))})),()=>{o=!1}}}),[a,E,u,C]);const I=()=>{C.logout(),j(null),P(null),T(void 0),A(""),c({logoutParams:{returnTo:n("AUTH_REDIRECT_URL")}})};return t((()=>{C.onUnauthorized=I}),[C]),{isAuthenticated:i,isRegistered:u,accessToken:E,authError:_,isLoading:m,user:a,nickname:d,logout:I,registerUser:async o=>{const e=await C.registerUser(o,a.email,a.sub,E);return e&&(C.setToken(E),T(!0)),e},codicentService:C,loginWithRedirect:g}};export{r as default};
@@ -1 +1 @@
1
- import{useState as t,useRef as o,useCallback as e,useEffect as s}from"react";import p from"./useStateWithLocalStorage.js";import"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"react/jsx-runtime";import"../components/Spinner.js";import"../components/TextHeader.js";import"../components/TypingIndicator.js";import"../components/Dialog.js";import"../components/ChatInput.js";import"../components/CombinedPlaceholderDialog.js";import"../components/ChatMessage.js";import"../components/Header.js";import{getConfigValue as r}from"../config/index.js";import"../stores/chatStore.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.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"./useLocalization.js";import"./useAppStyles.js";import"../components/FileThumbnail.js";import"../components/MessageInput.js";import"../components/UploadFile.js";import"../components/SnapFooter.js";import"../components/Profile.js";import"../components/MessageItem.js";import"../components/Content.js";import"../components/AiInput.js";import"../components/SearchBox.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";const i=i=>{const[n,m]=p("APP_WELCOME_STATE_TEXT_"+i.context.selectedApp,""),[a,c]=p("CODICENT_STATE_LAST_TIMESTAMP_"+i.context.selectedApp,0),{service:j,current:l}=i,[T,g]=t(!1),S=o(!1),_=e((async()=>{if(!S.current){S.current=!0;try{const t=await j.getMessagesFast(r("LOGBOOK_TAGS").split(",").filter((t=>"chat"!==t))),o=t.length>0?t[0].createdAt.getTime():a;if(o>a){c(o),g(!0);const t=await j.chat(r("WELCOME_STATUS_PROMPT"));m(t.content)}}finally{g(!1),S.current=!1}}}),[j,a,c,m]),u=e((()=>{j&&r("CHAT_INSTRUCTIONS")}),[j]);return s((()=>{l===i.allStates.hasAccess&&r("WELCOME_STATUS_PROMPT")?(_(),u()):r("WELCOME_STATUS_PROMPT")||m("")}),[l,i,_,u,m]),{welcomeStatusText:n,updating:T}};export{i as default};
1
+ import{useState as t,useRef as o,useCallback as e,useEffect as s}from"react";import p from"./useStateWithLocalStorage.js";import"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"react/jsx-runtime";import"../components/Spinner.js";import"../components/TextHeader.js";import"../components/TypingIndicator.js";import{getConfigValue as r}from"../config/index.js";import"../stores/chatStore.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.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"./useAppStyles.js";import"../components/Dialog.js";import"../components/ChatInput.js";import"../components/CombinedPlaceholderDialog.js";import"../components/ChatMessage.js";import"../components/Header.js";import"../components/FileThumbnail.js";import"../components/MessageInput.js";import"../components/UploadFile.js";import"../components/SnapFooter.js";import"../components/Profile.js";import"../components/MessageItem.js";import"../components/Content.js";import"../components/AiInput.js";import"../components/SearchBox.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../pages/AppFrame.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Login.js";import"../pages/CrmPage.js";import"../pages/ImageView.js";import"../pages/FormInvite.js";import"../pages/FormAccept.js";import"../pages/Sales.js";const i=i=>{const[n,m]=p("APP_WELCOME_STATE_TEXT_"+i.context.selectedApp,""),[a,c]=p("CODICENT_STATE_LAST_TIMESTAMP_"+i.context.selectedApp,0),{service:j,current:l}=i,[T,g]=t(!1),S=o(!1),_=e((async()=>{if(!S.current){S.current=!0;try{const t=await j.getMessagesFast(r("LOGBOOK_TAGS").split(",").filter((t=>"chat"!==t))),o=t.length>0?t[0].createdAt.getTime():a;if(o>a){c(o),g(!0);const t=await j.chat(r("WELCOME_STATUS_PROMPT"));m(t.content)}}finally{g(!1),S.current=!1}}}),[j,a,c,m]),u=e((()=>{j&&r("CHAT_INSTRUCTIONS")}),[j]);return s((()=>{l===i.allStates.hasAccess&&r("WELCOME_STATUS_PROMPT")?(_(),u()):r("WELCOME_STATUS_PROMPT")||m("")}),[l,i,_,u,m]),{welcomeStatusText:n,updating:T}};export{i as default};
@@ -2,12 +2,17 @@ interface LanguageSource {
2
2
  source: "force_config" | "url_param" | "browser" | "default";
3
3
  language: string;
4
4
  }
5
- declare const useLocalization: () => {
5
+ /**
6
+ * Enhanced translation hook that supports both static translations and auto-translation
7
+ */
8
+ declare function useLocalization(): {
6
9
  t: (key: string) => string;
10
+ translateAsync: (text: string) => Promise<string>;
7
11
  currentLanguage: string;
8
12
  setCurrentLanguage: (lang: string) => void;
9
13
  getLanguageInfo: () => LanguageSource;
10
14
  isForced: boolean;
15
+ translationVersion: number;
11
16
  };
12
17
  export default useLocalization;
13
18
  //# sourceMappingURL=useLocalization.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLocalization.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLocalization.ts"],"names":[],"mappings":"AAOA,UAAU,cAAc;IACtB,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AA4DD,QAAA,MAAM,eAAe;aAiCX,MAAM;;+BApByB,MAAM;;;CAwG9C,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"useLocalization.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLocalization.ts"],"names":[],"mappings":"AAeA,UAAU,cAAc;IACtB,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAqGD;;GAEG;AACH,iBAAS,eAAe;aA8Hd,MAAM,KAAG,MAAM;2BA/DR,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;;+BAlBA,MAAM;;;;EAmH9C;AAED,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- import{useState as e,useRef as t,useEffect as n,useCallback as r}from"react";import a from"../node_modules/i18next/dist/esm/i18next.js";import{CodicentService as o}from"../services/codicent.js";import{getConfigValue as s}from"../config/index.js";import{initReactI18next as i}from"../node_modules/react-i18next/dist/es/initReactI18next.js";import{useTranslation as c}from"../node_modules/react-i18next/dist/es/useTranslation.js";const g=()=>{const e=s("FORCE_LANGUAGE");if(e)return{source:"force_config",language:e};if("undefined"!=typeof window){const e=new URLSearchParams(window.location.search),t=e.get("lang")||e.get("language");if(t)return{source:"url_param",language:t}}if("undefined"!=typeof navigator&&navigator.language){return{source:"browser",language:navigator.language.split("-")[0]}}return{source:"default",language:s("DEFAULT_LANGUAGE")||"sv"}},l=()=>{const{language:e,source:t}=g();return"development"===process.env.NODE_ENV&&console.log(`Language selected: ${e} (source: ${t})`),e};a.use(i).init({resources:{en:{translation:{Hello:"Hello"}},sv:{translation:{Hello:"Hej"}}},lng:l(),fallbackLng:s("DEFAULT_LANGUAGE")||"sv",interpolation:{escapeValue:!1}});const u=()=>{const{t:a,i18n:i}=c(),[u,d]=e(l()),[m,f]=e(JSON.parse(localStorage.getItem("app-translations")||"{}")),p=t([]);n((()=>{i.changeLanguage(u)}),[u,i]);const L=r((e=>{const{source:t}=g();"force_config"!==t?"url_param"!==t?d(e):console.warn("Language setting ignored due to URL parameter"):console.warn("Language setting ignored due to FORCE_LANGUAGE configuration")}),[]),_=r((()=>g()),[]);return{t:r((e=>(i.exists(e)||(async(e,t)=>{const n=`${t} - ${e}`;let r=m[t]?.[e]||void 0;return s("AUTO_TRANSLATE")&&!r&&-1===p.current.indexOf(n)&&(p.current=[...p.current,n],localStorage.setItem("app-translations",JSON.stringify(m)),r=await o.getMiniChatReply(`Översätt '${e}' till språk '${t}' och svara endast med översättningen.`),r&&r.includes("Error code:")&&(r=void 0),r&&(!e.trim().startsWith('"')&&r.trim().startsWith('"')&&r.trim().endsWith('"')&&(r=r.trim().slice(1,-1)),!e.trim().startsWith("'")&&r.trim().startsWith("'")&&r.trim().endsWith("'")&&(r=r.trim().slice(1,-1)),m[t]={...m[t],[e]:r},localStorage.setItem("app-translations",JSON.stringify(m)),f(m))),r||e})(e,u).then((t=>{i.addResource(u,"translation",e,t)})),a(e))),[i,a,m,u]),currentLanguage:u,setCurrentLanguage:L,getLanguageInfo:_,isForced:["force_config","url_param"].includes(g().source)}};export{u as default};
1
+ import{useState as t,useRef as e,useEffect as n,useCallback as r}from"react";import{getConfigValue as a}from"../config/index.js";const o=new Set,i=new Map,s=()=>("undefined"==typeof window||window.translationEventTarget||(window.translationEventTarget=new EventTarget),"undefined"!=typeof window?window.translationEventTarget:null),c=()=>{const t=a("FORCE_LANGUAGE");if(t)return{source:"force_config",language:t};if("undefined"!=typeof window){const t=new URLSearchParams(window.location.search),e=t.get("lang")||t.get("language");if(e)return{source:"url_param",language:e}}if("undefined"!=typeof navigator&&navigator.language){return{source:"browser",language:navigator.language.split("-")[0]}}return{source:"default",language:a("DEFAULT_LANGUAGE")||"sv"}},l=t=>{try{const e=JSON.parse(localStorage.getItem("app-translations")||"{}");return t?e[t]||{}:e}catch(t){return console.warn("Failed to load stored translations:",t),{}}};function u(){const[u,g]=t((()=>{const{language:t,source:e}=c();return t})()),[d,f]=t(0),[w,p]=t((()=>l())),m=e(!0),v=a("TRANSLATIONS");n((()=>{const{language:t}=c();t!==u&&g(t)}),[u]),n((()=>{const t=s();if(!t)return;const e=()=>{m.current&&(f((t=>t+1)),p(l()))};return t.addEventListener("translationUpdate",e),()=>{t.removeEventListener("translationUpdate",e)}}),[]),n((()=>()=>{m.current=!1}),[]);const E=r((t=>{const{source:e}=c();"force_config"!==e?"url_param"!==e?g(t):console.warn("Language setting ignored due to URL parameter"):console.warn("Language setting ignored due to FORCE_LANGUAGE configuration")}),[]),h=r((()=>c()),[]),A=r((async t=>{if(!t||""===t.trim())return t;if(v&&v[u]&&v[u][t])return v[u][t];if(w[u]&&w[u][t])return w[u][t];if(!a("AUTO_TRANSLATE"))return t;const e=`${t}-${u}`;if(o.has(e))return i.get(e)||Promise.resolve(t);o.add(e);const n=(async(t,e)=>{const{CodicentService:n}=await import("../services/codicent.js"),r=await n.getMiniChatReply(`Översätt '${t}' till språk '${e}' och svara endast med översättningen.`);if(r&&r.includes("Error code:"))throw new Error("Translation API error");if(!r)throw new Error("No translation received");let a=r;return!t.trim().startsWith('"')&&a.trim().startsWith('"')&&a.trim().endsWith('"')&&(a=a.trim().slice(1,-1)),!t.trim().startsWith("'")&&a.trim().startsWith("'")&&a.trim().endsWith("'")&&(a=a.trim().slice(1,-1)),a})(t,u).then((e=>{((t,e,n)=>{try{const r=JSON.parse(localStorage.getItem("app-translations")||"{}");r[n]||(r[n]={}),r[n][t]=e,localStorage.setItem("app-translations",JSON.stringify(r))}catch(t){console.warn("Failed to save translation:",t)}})(t,e,u);const n=s();return n&&n.dispatchEvent(new CustomEvent("translationUpdate",{detail:{text:t,translated:e,language:u}})),e})).catch((e=>(console.warn(`Translation failed for "${t}":`,e),t))).finally((()=>{o.delete(e),i.delete(e)}));return i.set(e,n),n}),[u,v,w]);return{t:r((t=>t&&""!==t.trim()?v&&v[u]&&v[u][t]?v[u][t]:w[u]&&w[u][t]?w[u][t]:(a("AUTO_TRANSLATE")&&A(t),t):t),[A,u,v,w]),translateAsync:A,currentLanguage:u,setCurrentLanguage:E,getLanguageInfo:h,isForced:["force_config","url_param"].includes(c().source),translationVersion:d}}export{u as default};
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=useLocalizationStub.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useLocalizationStub.d.ts","sourceRoot":"","sources":["../../../src/hooks/useLocalizationStub.ts"],"names":[],"mappings":""}
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{CodicentService}from"./services/codicent.js";export{default as Markdown}from"./components/Markdown.js";export{Textarea}from"./components/Textarea.js";export{Button}from"./components/Button.js";export{Title}from"./components/Title.js";export{Text}from"./components/Text.js";export{Spinner}from"./components/Spinner.js";export{Label}from"./components/Label.js";export{Input}from"./components/Input.js";export{default as TextHeader}from"./components/TextHeader.js";export{default as TypingIndicator}from"./components/TypingIndicator.js";export{default as Prompt}from"./components/Prompt.js";export{default as ChatInput}from"./components/ChatInput.js";export{CombinedPlaceholderDialog}from"./components/CombinedPlaceholderDialog.js";export{default as ChatMessage}from"./components/ChatMessage.js";export{Header}from"./components/Header.js";export{default as VoiceIcon}from"./components/VoiceIcon.js";export{default as AudioIcon}from"./components/AudioIcon.js";export{FileThumbnail}from"./components/FileThumbnail.js";export{default as MessageInput}from"./components/MessageInput.js";export{default as UploadFile}from"./components/UploadFile.js";export{default as SnapFooter}from"./components/SnapFooter.js";export{default as Profile}from"./components/Profile.js";export{default as MessageItem}from"./components/MessageItem.js";export{default as Content}from"./components/Content.js";export{default as AiInput}from"./components/AiInput.js";export{default as SearchBox}from"./components/SearchBox.js";export{default as HtmlView}from"./components/HtmlView.js";export{Footer}from"./components/Footer.js";export{Page}from"./components/Page.js";export{UrlProcessor}from"./components/UrlProcessor.js";export{DatePicker}from"./components/DatePicker.js";export{ColorPicker}from"./components/ColorPicker.js";export{TimePicker}from"./components/TimePicker.js";export{default as useStateWithLocalStorage}from"./hooks/useStateWithLocalStorage.js";export{default as useAuthState}from"./hooks/useAuthState.js";export{useChat}from"./hooks/useChat.js";export{default as useCodicentState}from"./hooks/useCodicentState.js";export{useAudioRecorder}from"./hooks/useAudioRecorder.js";export{default as useTools}from"./hooks/useTools.js";export{default as useRealtimeVoiceAI}from"./hooks/useRealtimeVoiceAI.js";export{default as useLocalization}from"./hooks/useLocalization.js";export{useTemplateVariables}from"./hooks/useTemplateVariables.js";export{useCodicentApp}from"./hooks/useCodicentApp.js";export{default as useAppStyles}from"./hooks/useAppStyles.js";export{default as useToaster}from"./hooks/useToaster.js";export{default as MessageContent}from"./utils/MessageContent.js";export{default as generateBrandVariants}from"./utils/theme.js";export{default as log}from"./utils/logging.js";export{default as withWakeLock}from"./utils/withWakeLock.js";export{AppStateMachine,createAppStateMachine}from"./utils/appState.js";import{d as e}from"./_virtual/index.js";import"./lib/wavtools/lib/wav_packer.js";import"./lib/wavtools/lib/analysis/audio_analysis.js";export{WavStreamPlayer}from"./lib/wavtools/lib/wav_stream_player.js";export{WavRecorder}from"./lib/wavtools/lib/wav_recorder.js";export{getGpsLocation,isMobileDevice}from"./utils/device.js";export{getTimeString}from"./utils/helpers.js";export{AppConfig,getConfigValue,initCodicentApp}from"./config/index.js";export{default as AppFrame}from"./pages/AppFrame.js";export{default as Snap}from"./pages/Snap.js";export{default as Search}from"./pages/Search.js";export{default as Login}from"./pages/Login.js";export{Logout}from"./pages/Logout.js";export{CrmPage}from"./pages/CrmPage.js";export{default as ImageView}from"./pages/ImageView.js";export{default as FormInvite}from"./pages/FormInvite.js";export{default as FormAccept}from"./pages/FormAccept.js";export{Sales}from"./pages/Sales.js";var o=e.StateMachine;export{o as StateMachine};
1
+ export{CodicentService}from"./services/codicent.js";export{clearStoredTranslations,getStoredTranslations,saveTranslation,translateText,translationService}from"./services/translationService.js";export{default as Markdown}from"./components/Markdown.js";export{Textarea}from"./components/Textarea.js";export{Button}from"./components/Button.js";export{Title}from"./components/Title.js";export{Text}from"./components/Text.js";export{Spinner}from"./components/Spinner.js";export{Label}from"./components/Label.js";export{Input}from"./components/Input.js";export{default as TextHeader}from"./components/TextHeader.js";export{default as TypingIndicator}from"./components/TypingIndicator.js";export{default as Prompt}from"./components/Prompt.js";export{default as ChatInput}from"./components/ChatInput.js";export{CombinedPlaceholderDialog}from"./components/CombinedPlaceholderDialog.js";export{default as ChatMessage}from"./components/ChatMessage.js";export{Header}from"./components/Header.js";export{default as VoiceIcon}from"./components/VoiceIcon.js";export{default as AudioIcon}from"./components/AudioIcon.js";export{FileThumbnail}from"./components/FileThumbnail.js";export{default as MessageInput}from"./components/MessageInput.js";export{default as UploadFile}from"./components/UploadFile.js";export{default as SnapFooter}from"./components/SnapFooter.js";export{default as Profile}from"./components/Profile.js";export{default as MessageItem}from"./components/MessageItem.js";export{default as Content}from"./components/Content.js";export{default as AiInput}from"./components/AiInput.js";export{default as SearchBox}from"./components/SearchBox.js";export{default as HtmlView}from"./components/HtmlView.js";export{Footer}from"./components/Footer.js";export{Page}from"./components/Page.js";export{UrlProcessor}from"./components/UrlProcessor.js";export{DatePicker}from"./components/DatePicker.js";export{ColorPicker}from"./components/ColorPicker.js";export{TimePicker}from"./components/TimePicker.js";export{default as useStateWithLocalStorage}from"./hooks/useStateWithLocalStorage.js";export{default as useAuthState}from"./hooks/useAuthState.js";export{useChat}from"./hooks/useChat.js";export{default as useCodicentState}from"./hooks/useCodicentState.js";export{useAudioRecorder}from"./hooks/useAudioRecorder.js";export{default as useTools}from"./hooks/useTools.js";export{default as useRealtimeVoiceAI}from"./hooks/useRealtimeVoiceAI.js";export{useTemplateVariables}from"./hooks/useTemplateVariables.js";export{useCodicentApp}from"./hooks/useCodicentApp.js";export{default as useAppStyles}from"./hooks/useAppStyles.js";export{default as useToaster}from"./hooks/useToaster.js";export{default as useLocalization}from"./hooks/useLocalization.js";export{default as MessageContent}from"./utils/MessageContent.js";export{default as generateBrandVariants}from"./utils/theme.js";export{default as log}from"./utils/logging.js";export{default as withWakeLock}from"./utils/withWakeLock.js";export{AppStateMachine,createAppStateMachine}from"./utils/appState.js";import{d as e}from"./_virtual/index.js";import"./lib/wavtools/lib/wav_packer.js";import"./lib/wavtools/lib/analysis/audio_analysis.js";export{WavStreamPlayer}from"./lib/wavtools/lib/wav_stream_player.js";export{WavRecorder}from"./lib/wavtools/lib/wav_recorder.js";export{getGpsLocation,isMobileDevice}from"./utils/device.js";export{getTimeString}from"./utils/helpers.js";export{AppConfig,getConfigValue,initCodicentApp}from"./config/index.js";export{default as AppFrame}from"./pages/AppFrame.js";export{default as Snap}from"./pages/Snap.js";export{default as Search}from"./pages/Search.js";export{default as Login}from"./pages/Login.js";export{Logout}from"./pages/Logout.js";export{CrmPage}from"./pages/CrmPage.js";export{default as ImageView}from"./pages/ImageView.js";export{default as FormInvite}from"./pages/FormInvite.js";export{default as FormAccept}from"./pages/FormAccept.js";export{Sales}from"./pages/Sales.js";var o=e.StateMachine;export{o as StateMachine};