codicent-app-sdk 0.5.2 → 0.5.3
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.
- package/dist/cjs/components/AiInput.js +1 -1
- package/dist/cjs/components/AudioIcon.js +1 -1
- package/dist/cjs/components/ChatInput.js +1 -1
- package/dist/cjs/components/ChatMessage.js +1 -1
- package/dist/cjs/components/CombinedPlaceholderDialog.js +1 -1
- package/dist/cjs/components/HtmlView.d.ts.map +1 -1
- package/dist/cjs/components/HtmlView.js +1 -1
- package/dist/cjs/components/MessageInput.js +1 -1
- package/dist/cjs/components/Profile.js +1 -1
- package/dist/cjs/components/Prompt.js +1 -1
- package/dist/cjs/components/RecordModal.d.ts.map +1 -1
- package/dist/cjs/components/RecordModal.js +1 -1
- package/dist/cjs/components/SearchBox.d.ts +6 -2
- package/dist/cjs/components/SearchBox.d.ts.map +1 -1
- package/dist/cjs/components/SearchBox.js +1 -1
- package/dist/cjs/components/SnapFooter.js +1 -1
- package/dist/cjs/components/TextHeader.js +1 -1
- package/dist/cjs/components/TypingIndicator.js +1 -1
- package/dist/cjs/components/UploadFile.js +1 -1
- package/dist/cjs/components/UrlProcessor.js +1 -1
- package/dist/cjs/components/VoiceIcon.js +1 -1
- package/dist/cjs/hooks/useAuthState.js +1 -1
- package/dist/cjs/hooks/useCodicentState.js +1 -1
- package/dist/cjs/pages/AppFrame.js +1 -1
- package/dist/cjs/pages/Chat.d.ts.map +1 -1
- package/dist/cjs/pages/Chat.js +1 -1
- package/dist/cjs/pages/CrmPage.js +1 -1
- package/dist/cjs/pages/CrmPagePersistent.js +1 -1
- package/dist/cjs/pages/FormAccept.js +1 -1
- package/dist/cjs/pages/FormInvite.js +1 -1
- package/dist/cjs/pages/HtmlViewer.d.ts.map +1 -1
- package/dist/cjs/pages/HtmlViewer.js +1 -1
- package/dist/cjs/pages/Login.js +1 -1
- package/dist/cjs/pages/Search.js +1 -1
- package/dist/esm/components/AiInput.js +1 -1
- package/dist/esm/components/AudioIcon.js +1 -1
- package/dist/esm/components/ChatInput.js +1 -1
- package/dist/esm/components/ChatMessage.js +1 -1
- package/dist/esm/components/CombinedPlaceholderDialog.js +1 -1
- package/dist/esm/components/HtmlView.d.ts.map +1 -1
- package/dist/esm/components/HtmlView.js +1 -1
- package/dist/esm/components/MessageInput.js +1 -1
- package/dist/esm/components/Profile.js +1 -1
- package/dist/esm/components/Prompt.js +1 -1
- package/dist/esm/components/RecordModal.d.ts.map +1 -1
- package/dist/esm/components/RecordModal.js +1 -1
- package/dist/esm/components/SearchBox.d.ts +6 -2
- package/dist/esm/components/SearchBox.d.ts.map +1 -1
- package/dist/esm/components/SearchBox.js +1 -1
- package/dist/esm/components/SnapFooter.js +1 -1
- package/dist/esm/components/TextHeader.js +1 -1
- package/dist/esm/components/TypingIndicator.js +1 -1
- package/dist/esm/components/UploadFile.js +1 -1
- package/dist/esm/components/UrlProcessor.js +1 -1
- package/dist/esm/components/VoiceIcon.js +1 -1
- package/dist/esm/hooks/useAuthState.js +1 -1
- package/dist/esm/hooks/useCodicentState.js +1 -1
- package/dist/esm/pages/AppFrame.js +1 -1
- package/dist/esm/pages/Chat.d.ts.map +1 -1
- package/dist/esm/pages/Chat.js +1 -1
- package/dist/esm/pages/CrmPage.js +1 -1
- package/dist/esm/pages/CrmPagePersistent.js +1 -1
- package/dist/esm/pages/FormAccept.js +1 -1
- package/dist/esm/pages/FormInvite.js +1 -1
- package/dist/esm/pages/HtmlViewer.d.ts.map +1 -1
- package/dist/esm/pages/HtmlViewer.js +1 -1
- package/dist/esm/pages/Login.js +1 -1
- package/dist/esm/pages/Search.js +1 -1
- package/dist/index.d.ts +6 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useState as o,useEffect as a}from"react";import{makeStyles as r,tokens as i}from"@fluentui/react-components";import"../services/codicent.js";import"./Markdown.js";import{Textarea as s}from"./Textarea.js";import{Button as n}from"./Button.js";import"./CompoundButton.js";import{Spinner as l}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"@fluentui/react-icons";import p from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as m}from"../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 as c}from"./FileThumbnail.js";import"./UploadFile.js";import"./SnapFooter.js";import"./Profile.js";import"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import d from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{useState as o,useEffect as a}from"react";import{makeStyles as r,tokens as i}from"@fluentui/react-components";import"../services/codicent.js";import"./Markdown.js";import{Textarea as s}from"./Textarea.js";import{Button as n}from"./Button.js";import"./CompoundButton.js";import{Spinner as l}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"@fluentui/react-icons";import p from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as m}from"../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 as c}from"./FileThumbnail.js";import"./UploadFile.js";import"./SnapFooter.js";import"./Profile.js";import"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import d from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";import g from"../hooks/useToaster.js";const u=r({container:{display:"flex",padding:"8px",width:"100%",position:"relative"},textareaWrapper:{position:"relative",flexGrow:1,display:"flex",flexDirection:"column",maxWidth:"100%"},textarea:{width:"100%",paddingBottom:"40px"},actionButtonRow:{position:"absolute",left:"8px",bottom:"8px",right:"8px",zIndex:1,display:"flex",justifyContent:"space-between"},leftButtonGroup:{display:"flex",gap:"4px"},actionButton:{color:i.colorNeutralForeground2,"&:hover":{color:i.colorBrandBackground,backgroundColor:"transparent"}},fileList:{display:"flex",overflowX:"auto",overflowY:"hidden",scrollbarWidth:"thin",msOverflowStyle:"none",padding:"4px",margin:"0 -4px",maxWidth:"100%",boxSizing:"border-box","&::-webkit-scrollbar":{height:"6px"},"&::-webkit-scrollbar-track":{background:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:i.colorNeutralStroke1,borderRadius:"3px"}}}),f=({defaultText:r,onSend:i,onLocationChange:f,hasLocation:j,files:h=[],onFilesChange:v,onUploadFile:x,onUploadImage:b,onUploadCamera:w,getImageUrl:y,isUploading:k,rows:C,size:S,disableSend:B,placeholder:T,onChange:D,onImagePasted:_,onHandleDefaultFiles:N})=>{const[F,I]=o(""),[L,z]=o([]),A=u(),P=g(),{t:U}=d();a((()=>{D?.(F)}),[F,D]),a((()=>{const e=new p(r||"");I(e.content||""),z(e.tags||[]),e.files.length>0&&N?.(e.files)}),[r]);const W=async()=>{if(""===F.trim()&&0===h.length)return void P.notify(U("Meddelandet får inte vara tomt"),"","","error");const e=L.length>0?`#${L.join(" #")} `:"#log ";i(e+F),I("");const t=new p(r||"");z(t.tags||[]),v?.([])};return e("div",{className:A.container,onDrop:async e=>{if(e.preventDefault(),!v)return;const t=Array.from(e.dataTransfer.files);if(t.length>0)if(_&&t.every((e=>e.type&&e.type.startsWith("image/"))))for(const e of t)_(e);else v(t)},onDragOver:e=>{e.preventDefault()},children:t("div",{className:A.textareaWrapper,children:[y&&h.length>0&&t("div",{className:A.fileList,children:[h.map((t=>e(c,{file:t,getImageUrl:y,onDelete:()=>{return e=t.id,void v?.(h.filter((t=>t.id!==e)));var e}},t.id))),k&&e(l,{})]}),e(s,{size:"large",resize:"vertical",rows:C||7,value:F,onChange:e=>I(e.target.value),placeholder:T||U("Skriv vad du vill spara här..."),onKeyDown:e=>{!0!==B?"Enter"!==e.key||e.shiftKey||(e.preventDefault(),W()):"Enter"===e.key&&e.ctrlKey&&(e.preventDefault(),W())},onPaste:e=>{if(!v&&!_)return;const t=e.clipboardData.items;for(const o of t)if("file"===o.kind){const t=o.getAsFile();t&&(_&&t.type.startsWith("image/")?(e.preventDefault(),_(t)):v&&(e.preventDefault(),v([t])))}},className:A.textarea}),t("div",{className:A.actionButtonRow,children:[t("div",{className:A.leftButtonGroup,children:[x&&e(n,{appearance:"transparent",icon:b?"AttachRegular":"AddRegular",size:"small",title:U("Lägg till fil"),onClick:x,className:A.actionButton}),b&&e(n,{appearance:"transparent",icon:"ImageRegular",size:"small",title:U("Lägg till bild"),onClick:b,className:A.actionButton}),w&&e(n,{appearance:"transparent",icon:"CameraRegular",size:"small",title:U("Ta kort"),onClick:w,className:A.actionButton}),f&&e(n,{appearance:"transparent",icon:j?"LocationFilled":"LocationRegular",size:"small",title:U("Spara plats"),onClick:()=>f(!j),className:A.actionButton})]}),e(n,{appearance:m("SHOW_SAVE_BUTTON_TEXT")?"primary":"subtle",onClick:W,icon:"SendFilled",iconPosition:"before",title:U("Spara"),size:S||(m("SHOW_SAVE_BUTTON_TEXT")?"small":"large"),children:m("SHOW_SAVE_BUTTON_TEXT")&&e("span",{children:U("Spara")})})]})]})})};export{f as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useState as r,useEffect as o}from"react";import{makeStyles as a,Image as s,Input as m,Button as n,Text as p}from"@fluentui/react-components";import{ArrowUndo20Regular as l,Edit20Regular as c}from"@fluentui/react-icons";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"../_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"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import j from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{jsx as e,jsxs as t,Fragment as i}from"react/jsx-runtime";import{useState as r,useEffect as o}from"react";import{makeStyles as a,Image as s,Input as m,Button as n,Text as p}from"@fluentui/react-components";import{ArrowUndo20Regular as l,Edit20Regular as c}from"@fluentui/react-icons";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"../_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"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import j from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.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"}}),g=({state:a})=>{const g=d(),{isAuthenticated:u,isLoading:h,user:v,nickname:f}=a.auth,[C,w]=r(),[y,k]=r(!1),[x,I]=r(!1),[S,b]=r(""),[B,M]=r(""),{t:_}=j();o((()=>{a.service.getUserInfo(f).then(w)}),[a.service,f]);const A=()=>{b(C?.name||v?.name||""),M(C?.email||v?.email||""),k(!1),I(!1)},D=async e=>{const t=await a.service.updateUserInfo({nickname:f,name:e.name,email:e.email||""});w(t)};return h?e("div",{children:_("Laddar...")}):u&&v&&t("div",{className:g.container,children:[e(s,{shape:"circular",width:100,src:C?.picture||v.picture,alt:v.name}),t("div",{className:g.properties,children:[e("h2",{children:y?e(i,{children:e(m,{type:"text",value:S,onChange:e=>{b(e.target.value)},contentAfter:e(n,{icon:e(l,{}),size:"small",onClick:A})})}):t(i,{children:[C?.name||v.name,e(n,{className:g.editButton,icon:e(c,{}),size:"small",onClick:()=>{k(!0),b(C?.name||v?.name||"")}})]})}),t(p,{children:[e(i,x?{children:e(m,{type:"text",value:B,onChange:e=>{M(e.target.value)},contentAfter:e(n,{icon:e(l,{}),size:"small",onClick:A})})}:{children:C?.email||v.email}),(y||x)&&e("div",{children:e(n,{className:g.saveButton,appearance:"primary",size:"small",onClick:()=>{k(!1),I(!1),D({...C,name:S,email:B})},children:"Spara"})})]})]})]})};export{g as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,jsx as t}from"react/jsx-runtime";import"./Markdown.js";import"./Textarea.js";import{Button as r}from"./Button.js";import"./CompoundButton.js";import"@fluentui/react-components";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import{Dialog as i,DialogTitle as e,DialogContent as s,DialogActions as p}from"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"react";import"@fluentui/react-icons";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"../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"./Content.js";import"./Page.js";import"../pages/QrScan.js";import"../hooks/useLocalization.js";import"./FileThumbnail.js";import"react-dom/client";import"
|
|
1
|
+
import{jsxs as o,jsx as t}from"react/jsx-runtime";import"./Markdown.js";import"./Textarea.js";import{Button as r}from"./Button.js";import"./CompoundButton.js";import"@fluentui/react-components";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import{Dialog as i,DialogTitle as e,DialogContent as s,DialogActions as p}from"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"react";import"@fluentui/react-icons";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"../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"react-router-dom";import"../pages/Purchase.js";import"./Content.js";import"./Page.js";import"../pages/QrScan.js";import"../hooks/useLocalization.js";import"./FileThumbnail.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";import"./MessageInput.js";import"./UploadFile.js";import"./SnapFooter.js";import"./Profile.js";import"./MessageItem.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./QrCodeDialog.js";import"./QrScanner.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";const a=({open:a,onYes:m,onNo:n,title:j,content:l})=>o(i,{open:a,children:[t(e,{children:j}),t(s,{children:l}),o(p,{children:[t(r,{appearance:"secondary",onClick:n,children:"Nej"}),t(r,{type:"submit",appearance:"primary",onClick:m,children:"Ja"})]})]});export{a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecordModal.d.ts","sourceRoot":"","sources":["../../../src/components/RecordModal.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAoB5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"RecordModal.d.ts","sourceRoot":"","sources":["../../../src/components/RecordModal.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAoB5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AA+G9C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAuJlD,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as n}from"react/jsx-runtime";import a,{useState as r,useEffect as o,useMemo as l}from"react";import{makeStyles as t,tokens as i,Dialog as c,DialogSurface as s,DialogBody as d,DialogTitle as u,DialogContent as p,Field as h,Checkbox as m,Textarea as f,Select as y,Input as g,DialogActions as v,Button as C,Combobox as
|
|
1
|
+
import{jsx as e,jsxs as n}from"react/jsx-runtime";import a,{useState as r,useEffect as o,useMemo as l}from"react";import{makeStyles as t,tokens as i,Dialog as c,DialogSurface as s,DialogBody as d,DialogTitle as u,DialogContent as p,Field as h,Checkbox as m,Textarea as f,Select as y,Input as g,DialogActions as v,Button as C,Combobox as x,Option as b}from"@fluentui/react-components";import k from"../hooks/useLocalization.js";const w=t({surface:{backgroundColor:i.colorNeutralBackground1,width:"min(calc(100vw - 32px), 560px)",maxWidth:"calc(100vw - 32px)"},content:{display:"flex",flexDirection:"column",gap:"16px",minWidth:"0",maxHeight:"60vh",overflowY:"auto"},field:{display:"flex",flexDirection:"column"}}),L=({value:n,options:t,optionsLoader:i,minChars:c=2,maxResults:s=50,label:d,onChange:u,t:p})=>{const[h,m]=r(n),[f,y]=r([]),[g,v]=r(!1),C=a.useRef(null);o((()=>{m(n)}),[n]),o((()=>{if(i){if(!(h.length<c))return C.current&&clearTimeout(C.current),C.current=setTimeout((async()=>{v(!0);try{const e=await i(h);y(e.slice(0,s))}finally{v(!1)}}),250),()=>{C.current&&clearTimeout(C.current)};y([])}}),[h,i,c,s]);const k=l((()=>(t??[]).filter((e=>e.toLowerCase().includes(h.toLowerCase()))).slice(0,s)),[t,h,s]),w=i?f:k;return e(x,{value:h,freeform:!0,"aria-label":d,placeholder:g?p("Loading..."):i&&h.length<c?p(`Type ${c}+ characters to search...`):void 0,onChange:e=>m(e.target.value),onOptionSelect:(e,n)=>{n.optionValue&&(m(n.optionValue),u(n.optionValue))},onBlur:()=>u(h),style:{width:"100%"},children:w.map((n=>e(b,{value:n,children:n},n)))})},O=({open:a,onClose:l,onSave:t,columns:i,initialData:x,title:b})=>{const O=w(),{t:N}=k(),[S,A]=r({}),[R,T]=r(!1);o((()=>{a&&A(x||{})}),[a,x]);const D=e=>Array.isArray(e.key)?e.key[0]:e.key,E=e=>{if(Array.isArray(e.key))for(const n of e.key)if(void 0!==S[n])return n;return D(e)},V=(e,n)=>{const a=E(e);A((e=>({...e,[a]:n})))},j=i.filter((e=>!e.hidden&&"file"!==e.type&&"createdAt"!==D(e)));return e(c,{open:a,onOpenChange:(e,n)=>!R&&!1===n.open&&l(),children:e(s,{className:O.surface,backdrop:{style:{backgroundColor:"rgba(0, 0, 0, 0.4)"}},children:n(d,{children:[e(u,{children:b||N(x?"Edit Record":"Add Record")}),e(p,{className:O.content,children:j.map(((n,a)=>{const r=D(n),o=(e=>{const n=E(e);return S[n]})(n),l=n.title||r;return"checkbox"===n.type?e(h,{label:l,className:O.field,children:e(m,{checked:!0===o||"true"===o||"yes"===o||"1"===o,onChange:(e,a)=>V(n,a.checked)})},a):"textarea"===n.type?e(h,{label:l,className:O.field,children:e(f,{value:String(o??""),rows:n.rows??3,onChange:(e,a)=>V(n,a.value),placeholder:N("Enter")+" "+l.toLowerCase(),resize:"vertical"})},a):"enum"===n.type&&n.enumOptions?e(h,{label:l,className:O.field,children:e(y,{value:String(o??""),onChange:(e,a)=>V(n,a.value),children:n.enumOptions.map((n=>e("option",{value:n,children:n||N("(None)")},n)))})},a):"combobox"===n.type&&(n.enumOptions||n.enumOptionsLoader)?e(h,{label:l,className:O.field,children:e(L,{value:String(o??""),options:n.enumOptions,optionsLoader:n.enumOptionsLoader,minChars:n.enumOptionsLoaderMinChars,maxResults:n.enumOptionsLoaderMaxResults,label:l,onChange:e=>V(n,e),t:N})},a):e(h,{label:l,className:O.field,children:e(g,{value:String(o??""),onChange:(e,a)=>V(n,a.value),placeholder:N("Enter")+" "+l.toLowerCase()})},a)}))}),n(v,{children:[e(C,{appearance:"secondary",onClick:l,disabled:R,children:N("Cancel")}),e(C,{appearance:"primary",onClick:async()=>{T(!0);try{await t(S),l()}catch(e){console.error("Failed to save record:",e)}finally{T(!1)}},disabled:R,children:N(R?"Saving...":"Save")})]})]})})})};export{O as RecordModal,O as default};
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
export interface SearchBoxProps {
|
|
2
2
|
value: string;
|
|
3
3
|
onChange: (newValue: string) => void;
|
|
4
4
|
placeholder: string;
|
|
5
|
-
|
|
5
|
+
recentSearches?: string[];
|
|
6
|
+
onCommitSearch?: (value: string) => void;
|
|
7
|
+
onRemoveRecentSearch?: (value: string) => void;
|
|
8
|
+
}
|
|
9
|
+
declare const SearchBox: ({ value, onChange, placeholder, recentSearches, onCommitSearch, onRemoveRecentSearch }: SearchBoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
10
|
export default SearchBox;
|
|
7
11
|
//# sourceMappingURL=SearchBox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchBox.d.ts","sourceRoot":"","sources":["../../../src/components/SearchBox.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SearchBox.d.ts","sourceRoot":"","sources":["../../../src/components/SearchBox.tsx"],"names":[],"mappings":"AA6FA,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAChD;AAED,QAAA,MAAM,SAAS,2FAA4F,cAAc,4CAiIxH,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{makeStyles as r,tokens as n,SearchBox as t}from"@fluentui/react-components";import{History16Regular as l,Dismiss12Regular as a}from"@fluentui/react-icons";import{useState as d,useRef as c}from"react";import i from"../hooks/useLocalization.js";const s=r({root:{position:"relative",width:"100%"},searchBox:{width:"100%"},dropdown:{position:"absolute",top:"calc(100% + 4px)",left:0,right:0,zIndex:100,backgroundColor:n.colorNeutralBackground1,border:`1px solid ${n.colorNeutralStroke2}`,borderRadius:n.borderRadiusMedium,boxShadow:n.shadow16,overflow:"hidden"},dropdownList:{maxHeight:"280px",overflowY:"auto"},dropdownHeader:{padding:"8px 12px 4px",fontSize:"11px",fontWeight:600,color:n.colorNeutralForeground3,textTransform:"uppercase",letterSpacing:"0.05em"},dropdownItem:{display:"flex",alignItems:"center",gap:"8px",padding:"8px 12px",cursor:"pointer",border:"none",backgroundColor:"transparent",width:"100%",textAlign:"left",fontSize:"14px",color:n.colorNeutralForeground1,":hover":{backgroundColor:n.colorNeutralBackground1Hover}},dropdownItemActive:{backgroundColor:n.colorNeutralBackground1Hover},dropdownItemText:{flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},dropdownItemIcon:{flexShrink:0,color:n.colorNeutralForeground3,display:"flex",alignItems:"center"},dropdownItemDismiss:{flexShrink:0,color:n.colorNeutralForeground3,display:"flex",alignItems:"center",padding:"2px",borderRadius:n.borderRadiusSmall,":hover":{backgroundColor:n.colorNeutralBackground3Hover,color:n.colorNeutralForeground1}}}),u=({value:r,onChange:n,placeholder:u,recentSearches:p,onCommitSearch:m,onRemoveRecentSearch:w})=>{const h=s(),{t:g}=i(),[f,x]=d(!1),[v,k]=d(-1),N=c(null),b=!!p&&p.length>0,I=b?r.trim()?p.filter((e=>e.toLowerCase().includes(r.trim().toLowerCase())&&e!==r)):p:[],S=f&&I.length>0,C=e=>{n(e),m?.(e),x(!1),k(-1)};return e("div",{className:h.root,children:[o(t,{size:"large",className:h.searchBox,placeholder:u,value:r,onChange:(e,o)=>{n(o.value),b&&x(!0)},onFocus:()=>{null!==N.current&&(window.clearTimeout(N.current),N.current=null),b&&x(!0)},onBlur:()=>{N.current=window.setTimeout((()=>{x(!1),k(-1)}),150)},onKeyDown:e=>{S?"ArrowDown"===e.key?(e.preventDefault(),k((e=>(e+1)%I.length))):"ArrowUp"===e.key?(e.preventDefault(),k((e=>e<=0?I.length-1:e-1))):"Enter"===e.key?v>=0?(e.preventDefault(),C(I[v])):(m?.(r),x(!1)):"Escape"===e.key&&(e.preventDefault(),x(!1),k(-1)):"Enter"===e.key&&m?.(r)}}),S&&e("div",{className:h.dropdown,children:[o("div",{className:h.dropdownHeader,children:g("Senaste sökningar")}),o("div",{className:h.dropdownList,children:I.map(((r,n)=>e("button",{type:"button",className:`${h.dropdownItem} ${n===v?h.dropdownItemActive:""}`,onMouseDown:e=>e.preventDefault(),onClick:()=>C(r),children:[o("span",{className:h.dropdownItemIcon,children:o(l,{})}),o("span",{className:h.dropdownItemText,children:r}),w&&o("span",{className:h.dropdownItemDismiss,onMouseDown:e=>e.preventDefault(),onClick:e=>((e,o)=>{e.stopPropagation(),w?.(o),null!==N.current&&(window.clearTimeout(N.current),N.current=null)})(e,r),role:"button","aria-label":`${g("Ta bort")} "${r}"`,children:o(a,{})})]},r)))})]})]})};export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as t}from"react/jsx-runtime";import{makeStyles as e,shorthands as i,tokens as r}from"@fluentui/react-components";import{Home24Regular as s,MicPulse24Filled as a,MicRecord24Filled as n,Mic24Regular as p,Camera24Regular as m,CameraSwitch24Regular as l}from"@fluentui/react-icons";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"../_virtual/index.js";import{getConfigValue as c}from"../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"./Profile.js";import"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import d from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{jsx as o,jsxs as t}from"react/jsx-runtime";import{makeStyles as e,shorthands as i,tokens as r}from"@fluentui/react-components";import{Home24Regular as s,MicPulse24Filled as a,MicRecord24Filled as n,Mic24Regular as p,Camera24Regular as m,CameraSwitch24Regular as l}from"@fluentui/react-icons";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"../_virtual/index.js";import{getConfigValue as c}from"../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"./Profile.js";import"./MessageItem.js";import"./Content.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import d from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";const j=e({footer:{...i.padding("14px"),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:r.colorNeutralForegroundOnBrand,height:"24px",width:"24px",...i.borderWidth("0")},link:{textDecoration:"none",color:"inherit","&.selected":{border:"none"},"&:hover":{textDecoration:"none"},minWidth:"48px"},buttonText:{fontSize:"12px"}}),u=({onHome:e,onTakePhoto:i,onSwichCamera:u,audio:g,tag:h})=>{const x=j(),{isRecording:C,isSoundCaptured:k,startRecording:b,stopRecording:f}=g,{t:T}=d(),_={backgroundColor:c("APP_HEADER_COLOR")||r.colorBrandBackground,color:c("APP_HEADER_TEXT_COLOR")||r.colorNeutralForegroundOnBrand};return o("footer",{className:x.footer,style:_,children:t("div",{className:x.container,children:[t("div",{className:x.link,onClick:e,children:[o(s,{}),o("p",{className:x.buttonText,children:T("Hem")})]}),t("div",{className:x.link,children:[C&&k&&o(a,{onClick:f}),C&&!k&&o(n,{onClick:f}),!C&&o(p,{onClick:()=>b(h)}),o("p",{className:x.buttonText,children:T("Ljud")})]}),t("div",{className:x.link,onClick:()=>{c("RESTART_AUDIO_ON_TAKE_PHOTO")&&C?(f(),i(),b(h)):i()},children:[o(m,{}),o("p",{className:x.buttonText,children:T("Ta kort")})]}),t("div",{className:x.link,onClick:u,children:[o(l,{}),o("p",{className:x.buttonText,children:T("Byt kamera")})]})]})})};export{u as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as t,jsx as o}from"react/jsx-runtime";import{makeStyles as e,shorthands as i}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import{Button as r}from"./Button.js";import"./CompoundButton.js";import{Title as s}from"./Title.js";import{Text as p}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"@fluentui/react-icons";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import a from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{jsxs as t,jsx as o}from"react/jsx-runtime";import{makeStyles as e,shorthands as i}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import{Button as r}from"./Button.js";import"./CompoundButton.js";import{Title as s}from"./Title.js";import{Text as p}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"@fluentui/react-icons";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import a from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import m from"../hooks/useAppStyles.js";const n=e({header:{...i.padding("16px"),textAlign:"start",position:"sticky",top:0,zIndex:1e3,alignItems:"center",justifyContent:"space-between",width:"100%",display:"flex"}}),j=({title:e,onNewChat:i,subtitle:j})=>{const l=n(),c=m(),{t:g}=a();return t("header",{className:l.header,children:[e&&o(s,{children:e}),j&&o(p,{size:300,weight:"regular",children:j}),i&&o(r,{className:c.button,appearance:"primary",title:g("Ny chatt"),icon:"ArrowClockwiseRegular",onClick:i})]})};export{j as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as o,jsx as t}from"react/jsx-runtime";import{makeStyles as r}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.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"@fluentui/react-icons";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import e from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{jsxs as o,jsx as t}from"react/jsx-runtime";import{makeStyles as r}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.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"@fluentui/react-icons";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import e from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";const p=r({typingContainer:{display:"flex",gap:"8px"}}),a=()=>{const r=p(),{t:a}=e();return o("div",{className:r.typingContainer,children:[t(i,{size:"extra-small"}),t(s,{size:400,children:a("Tänker...")})]})};export{a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{forwardRef as t,useState as e,useRef as r,useEffect as i,useImperativeHandle as s}from"react";import{makeStyles as a}from"@fluentui/react-components";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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{isMobileDevice as p}from"../utils/device.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import{Spinner as m}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"@fluentui/react-icons";import"../services/codicent.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"./Content.js";import"./Page.js";import"../pages/QrScan.js";import"../hooks/useLocalization.js";import"./FileThumbnail.js";import"react-dom/client";import"
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{forwardRef as t,useState as e,useRef as r,useEffect as i,useImperativeHandle as s}from"react";import{makeStyles as a}from"@fluentui/react-components";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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{isMobileDevice as p}from"../utils/device.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import{Spinner as m}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"@fluentui/react-icons";import"../services/codicent.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"react-router-dom";import"../pages/Purchase.js";import"./Content.js";import"./Page.js";import"../pages/QrScan.js";import"../hooks/useLocalization.js";import"./FileThumbnail.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";import"./MessageInput.js";import"./SnapFooter.js";import"./Profile.js";import"./MessageItem.js";import"./AiInput.js";import"./SearchBox.js";import"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./QrCodeDialog.js";import"./QrScanner.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";const n=a({imageUpload:{display:"none"},spinner:{marginTop:"10px"}}),l=t((({onFileUploaded:t,accept:a,capture:l,multiple:c=!1,onUploading:j,className:g,id:u,codicentService:d},f)=>{const h=n(),[w,v]=e(!1),y=r(null);i((()=>{j(w)}),[w,j]);const C=async(o,t)=>{const e=new FormData;e.append("file",t),v(!0);try{const t=await d.uploadFile(o,e);return v(!1),t}catch(t){return console.error("Upload failed for file:",o,t),v(!1),null}},b=()=>{y.current?.click()};s(f,(()=>({triggerUpload:b})));const S=l&&p();return o("div",{id:u,className:g,children:w?o(m,{"aria-label":"Uploading...",className:h.spinner}):o("input",{ref:y,type:"file",className:h.imageUpload,onChange:async()=>{try{const o=y.current;if(o&&o.files){const e=[];for(let t=0;t<o.files.length;t++){const r=o.files[t],i=r.name.split("\\").pop()||r.name,s=await C(i,r);s&&e.push(s)}e.length>0&&t(e)}}catch(o){console.error("Error uploading files:",o)}},accept:a,multiple:c,...S?{capture:l}:{}})})}));export{l as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,Fragment as o,jsx as t}from"react/jsx-runtime";import{useState as i}from"react";import{CombinedPlaceholderDialog as r}from"./CombinedPlaceholderDialog.js";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"@fluentui/react-components";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./ChatMessage.js";import"./Header.js";import"@fluentui/react-icons";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{jsxs as e,Fragment as o,jsx as t}from"react/jsx-runtime";import{useState as i}from"react";import{CombinedPlaceholderDialog as r}from"./CombinedPlaceholderDialog.js";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"@fluentui/react-components";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./ChatMessage.js";import"./Header.js";import"@fluentui/react-icons";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import{useTemplateVariables as s}from"../hooks/useTemplateVariables.js";import"../hooks/useAppStyles.js";const a=({service:a,children:p})=>{const[l,m]=i(!1),[n,j]=i([]),[c,g]=i([]),[d,u]=i(null),{extractTemplateVariables:h,extractFilePlaceholders:f,replaceTemplateVariables:w,replaceFilePlaceholders:C}=s(a.uploadFile);return e(o,{children:[p((async e=>{u(e);const o=f(e),t=h(e);0!==o.length||0!==t.length?(g(o),j(t),m(!0)):window.location.href=e})),t(r,{open:l,templateVariables:n,filePlaceholders:c,onTemplateVariablesChange:j,onFilePlaceholdersChange:g,onConfirm:async()=>{if(d)try{let e=d;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=C(e,c)}n.length>0&&(e=w(e,n)),m(!1),window.location.href=e}catch(e){console.error("Failed to process URL:",e)}finally{u(null)}},onCancel:()=>{m(!1),u(null),j([]),g([])},uploadFile:a.uploadFile})]})};export{a as UrlProcessor,a as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,Fragment as t}from"react/jsx-runtime";import{useMemo as i}from"react";import{MicSparkle24Regular as s,MicSparkle24Filled as r}from"@fluentui/react-icons";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"@fluentui/react-components";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 e 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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{jsx as o,Fragment as t}from"react/jsx-runtime";import{useMemo as i}from"react";import{MicSparkle24Regular as s,MicSparkle24Filled as r}from"@fluentui/react-icons";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"@fluentui/react-components";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 e 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"./DataMessagePicker.js";import"./HtmlView.js";import"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import p from"../hooks/useAppStyles.js";const a=e(r),m=({voice:r,disabled:m,instructions:n,connectedIcon:j,disconnectedIcon:c,disabledIcon:l})=>{const{isConnected:u,connectConversation:d,disconnectConversation:g,updateInstructions:f}=r,{pointer:C}=p(),h=i((()=>j?e(j):a),[j]),v=c||s,w=async()=>{n&&f(n),await d()};if(m){if(null==l)return o(s,{});if("function"==typeof l){return o(l,{})}return o(t,{children:l})}return u?o(h,{onClick:g,className:C}):o(v,{onClick:w,className:C})};export{m as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as o,useMemo as e,useEffect as t,useCallback as s}from"react";import{CodicentService as n}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"react/jsx-runtime";import"@fluentui/react-components";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"@fluentui/react-icons";import{getConfigValue as i}from"../config/index.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/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"./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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{useState as o,useMemo as e,useEffect as t,useCallback as s}from"react";import{CodicentService as n}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"react/jsx-runtime";import"@fluentui/react-components";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"@fluentui/react-icons";import{getConfigValue as i}from"../config/index.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/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"./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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";const r=(r,p)=>{const{isAuthenticated:a,getAccessTokenSilently:m,user:c,isLoading:l,logout:g,getAccessTokenWithPopup:u,loginWithRedirect:j,loginWithPopup:P}=r,[E,d]=o(null),[_,T]=o(void 0),[S,C]=o(null),[A,I]=o(""),h=e((()=>new n({API_BASE_URL:i("API_BASE_URL"),PUBSUB_URL:i("PUBSUB_URL"),APP_LOG_CODICENT:i("APP_LOG_CODICENT"),APP_LOG_TOKEN:i("APP_LOG_TOKEN"),APP_NAME:i("APP_NAME"),APP_PREFIX:i("APP_PREFIX"),APP_TEMPLATE:i("APP_TEMPLATE"),BUTTON_TAG:i("BUTTON_TAG"),STRIPE_PUBLIC_KEY:i("STRIPE_PUBLIC_KEY"),STRIPE_SOURCE:i("STRIPE_SOURCE"),STRIPE_TRIAL_PERIOD_DAYS:i("STRIPE_TRIAL_PERIOD_DAYS"),SUBSCRIPTION_NEEDED:i("SUBSCRIPTION_NEEDED"),USER_PREFIX:i("USER_PREFIX"),ANONYMOUS_TOKEN:i("ANONYMOUS_TOKEN")})),[]);t((()=>{!l&&a&&(async()=>{try{const o=await m({});console.debug("CODICENT: ACCESS TOKEN",o),d(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: Session expired (login_required)"),d(null);else if(e&&"object"==typeof e&&"error"in e&&"consent_required"===e.error)try{const o=await u();if(!o)return void C("Failed to get access token: no token from auth0 with popup");console.log("CODICENT: GOT ACCESS TOKEN"),d(o)}catch(o){console.warn("CODICENT: Failed to get access token with popup",o),C("Samtycke krävs för inloggning. Tillåt popup-fönster och försök igen."),d(null)}else C("Failed to get access token: "+(e.message?.toString()||e.toString())),console.log("CODICENT: ACCESS TOKEN ERROR",e)}})().then((()=>{}))}),[a,u,m,j,l]),t((()=>{if(c&&c.sub&&E&&void 0===_){let o=!0;return(p?.loginFn?p.loginFn(h,c.sub,E):h.loginUser(c.sub,E)).then((e=>{o&&(null===e?T(!1):""===e?C("Kontrollera internetanslutningen och försök igen."):(h.setToken(e),h.getNickname().then(I),T(!0)))})).catch((()=>{o&&(C("Ett fel uppstod. Försök igen senare."),T(!1))})),()=>{o=!1}}}),[c,E,_,h]);const O=s((()=>{h.logout(),d(null),C(null),T(void 0),I(""),g({logoutParams:{returnTo:i("AUTH_REDIRECT_URL")}})}),[h,g]),R=s((async o=>{const e=p?.registerFn?await p.registerFn(h,o,c.email,c.sub,E):await h.registerUser(o,c.email,c.sub,E);return e&&(h.setToken(e),T(!0)),e}),[h,c,E]);t((()=>{h.onUnauthorized=O}),[h]);const N=s((async o=>{try{await P({authorizationParams:{connection:"email",login_hint:o}})}catch(o){console.error("Passwordless login failed:",o),C(`Passwordless login failed: ${o}`)}}),[P]);return e((()=>({isAuthenticated:a,isRegistered:_,accessToken:E,authError:S,isLoading:l,user:c,nickname:A,logout:O,registerUser:R,codicentService:h,loginWithRedirect:j,loginPasswordless:N})),[a,_,E,S,l,c,A,O,R,h,j,N])};export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{useState as o,useRef as t,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"../components/CompoundButton.js";import"react/jsx-runtime";import"@fluentui/react-components";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"@fluentui/react-icons";import{getConfigValue as r}from"../config/index.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/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"./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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.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"../pages/QrScan.js";import"react-dom/client";import"
|
|
1
|
+
import{useState as o,useRef as t,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"../components/CompoundButton.js";import"react/jsx-runtime";import"@fluentui/react-components";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"@fluentui/react-icons";import{getConfigValue as r}from"../config/index.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/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"./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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.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"react-router-dom";import"../pages/Purchase.js";import"../pages/QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";const n=n=>{const[i,m]=p("APP_WELCOME_STATE_TEXT_"+n.context.selectedApp,""),[a,c]=p("CODICENT_STATE_LAST_TIMESTAMP_"+n.context.selectedApp,0),{service:j,current:l}=n,[g,u]=o(!1),d=t(!1),T=e((async()=>{if(!d.current){d.current=!0;try{const o=await j.getMessagesFast(r("LOGBOOK_TAGS").split(",").filter((o=>"chat"!==o))),t=o.length>0?o[0].createdAt.getTime():a;if(t>a){c(t),u(!0);const o=await j.chat(r("WELCOME_STATUS_PROMPT"));m(o.content)}}finally{u(!1),d.current=!1}}}),[j,a,c,m]),S=e((()=>{j&&r("CHAT_INSTRUCTIONS")}),[j]);return s((()=>{l===n.allStates.hasAccess&&r("WELCOME_STATUS_PROMPT")?(T(),S()):r("WELCOME_STATUS_PROMPT")||m("")}),[l,n,T,S,m]),{welcomeStatusText:i,updating:g}};export{n as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o}from"react/jsx-runtime";import{makeStyles as t}from"@fluentui/react-components";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";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"react";import"@fluentui/react-icons";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPage.js";import"./CrmPagePersistent.js";import"./ImageView.js";import"./FormInvite.js";import"./FormAccept.js";import"./Sales.js";import"./Purchase.js";import"../components/Content.js";import{Page as e}from"../components/Page.js";import"./QrScan.js";import"../hooks/useLocalization.js";import"../components/FileThumbnail.js";import"react-dom/client";import"
|
|
1
|
+
import{jsx as o}from"react/jsx-runtime";import{makeStyles as t}from"@fluentui/react-components";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";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"react";import"@fluentui/react-icons";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.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"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPage.js";import"./CrmPagePersistent.js";import"./ImageView.js";import"./FormInvite.js";import"./FormAccept.js";import"./Sales.js";import"react-router-dom";import"./Purchase.js";import"../components/Content.js";import{Page as e}from"../components/Page.js";import"./QrScan.js";import"../hooks/useLocalization.js";import"../components/FileThumbnail.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";import"../components/MessageInput.js";import"../components/UploadFile.js";import"../components/SnapFooter.js";import"../components/Profile.js";import"../components/MessageItem.js";import"../components/AiInput.js";import"../components/SearchBox.js";import"../components/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.js";const s=t({iframe:{width:"100%",height:"100%",border:"none"},scrollable:{overflow:"auto"},nonScrollable:{overflow:"hidden"},fixFrameHeight:{height:"calc(100% - 5px)"}}),r=({src:t,showFooter:r,title:i})=>{const m=s();return r?o(e,{hideFooter:!r,hideHeader:!0,children:o("iframe",{title:i,src:t,className:`${m.iframe} ${r?m.fixFrameHeight:""}`})}):o("iframe",{title:i,src:t,className:m.iframe})};export{r as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/pages/Chat.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAa3D,OAAO,EACL,gBAAgB,EAOjB,MAAM,UAAU,CAAC;AAuClB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACnB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,
|
|
1
|
+
{"version":3,"file":"Chat.d.ts","sourceRoot":"","sources":["../../../src/pages/Chat.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAa3D,OAAO,EACL,gBAAgB,EAOjB,MAAM,UAAU,CAAC;AAuClB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACnB,KAAK,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAoTA,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/dist/esm/pages/Chat.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useRef as t,useState as n,useEffect as r}from"react";import{makeStyles as s}from"@fluentui/react-components";import{useNavigate as i,useSearchParams as a}from"react-router-dom";import{CalendarWeekStart24Regular as m}from"@fluentui/react-icons";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"../components/Spinner.js";import
|
|
1
|
+
import{jsxs as e,jsx as o}from"react/jsx-runtime";import{useRef as t,useState as n,useEffect as r}from"react";import{makeStyles as s}from"@fluentui/react-components";import{useNavigate as i,useSearchParams as a}from"react-router-dom";import{CalendarWeekStart24Regular as m}from"@fluentui/react-icons";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"../components/Spinner.js";import c from"../components/TextHeader.js";import l from"../components/TypingIndicator.js";import p from"../components/Prompt.js";import d from"../components/ChatInput.js";import{CombinedPlaceholderDialog as h}from"../components/CombinedPlaceholderDialog.js";import g from"../components/ChatMessage.js";import"../components/Header.js";import u from"../hooks/useStateWithLocalStorage.js";import{CodicentService as j}from"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as f}from"../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"./AppFrame.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPage.js";import"./CrmPagePersistent.js";import"./ImageView.js";import"./FormInvite.js";import"./FormAccept.js";import"./Sales.js";import"./Purchase.js";import"../components/Content.js";import{Page as b}from"../components/Page.js";import"./QrScan.js";import C from"../hooks/useLocalization.js";import"../components/FileThumbnail.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import{useChat as x}from"../hooks/useChat.js";import{useTemplateVariables as w}from"../hooks/useTemplateVariables.js";import"../hooks/useAppStyles.js";import"../components/MessageInput.js";import"../components/UploadFile.js";import"../components/SnapFooter.js";import"../components/Profile.js";import"../components/MessageItem.js";import"../components/AiInput.js";import"../components/SearchBox.js";import"../components/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.js";const S=s({chatContainer:{width:"100%",flex:1,maxWidth:"1600px",height:"100%",display:"flex",flexDirection:"column",margin:"0 auto",overflow:"hidden","@media (max-width: 768px)":{maxWidth:"100%",borderRadius:"0"},"@media (max-width: 480px)":{},backgroundPosition:"calc(50%) center",backgroundRepeat:"no-repeat",backgroundSize:"contain",touchAction:"pan-y"},chatMessages:{display:"flex",flexDirection:"column",flex:1,padding:"16px",overflowY:"auto",touchAction:"pan-y"}}),v=({state:s,hideFooter:v,codicent:y,title:k,welcomeMessage:I})=>{const P=S(),{t:_,tAsync:F,getLanguageInfo:T}=C(),A=i(),M=t(null),[L,H]=a(),[V]=n((()=>{const e=L.get("codicent");return e?(sessionStorage.setItem("chat_codicent",e),e):y?(sessionStorage.removeItem("chat_codicent"),null):sessionStorage.getItem("chat_codicent")})),B=V||y,{messages:R,isBotTyping:N,handleSend:U,newChat:D,openChat:O}=x(s.stateMachine,B||void 0),[W,E]=n(null),[z,Q]=n(!1),[G,Y]=n(!1),{service:$,currentStateName:K}=s,[q,J]=n([]),[X,Z]=n([]),[ee,oe]=n(!1),[te,ne]=n(),[re,se]=u(s.context.selectedApp+"_prompts",[]),[ie,ae]=n(!1),{extractTemplateVariables:me,replaceTemplateVariables:ce,extractFilePlaceholders:le,replaceFilePlaceholders:pe,handleSelectFiles:de}=w($.uploadFile),he=t(!1),ge=t(null);r((()=>{const e=window.history.length>1,o=Boolean(document.referrer&&document.referrer!==window.location.href);Y(e||o)}),[]);r((()=>{f("SHOW_CHAT_PROMPTS")&&0===R.length&&s.service.getAppPrompts(B||void 0).then(se).catch((e=>{console.error("Failed to get prompts",e)}))}),[s.service,se,R.length,B]),r((()=>{setTimeout((()=>{M.current?.scrollIntoView({behavior:"smooth"})}),10)}),[R]),r((()=>{if(he.current)return;he.current=!0;const e=L.get("text"),o=L.get("id"),t=L.get("fid");if(V){console.log("Using temporary codicent from URL param:",V);const e=new URLSearchParams(L);e.delete("codicent"),H(e,{replace:!0})}if(e){(async()=>{const o=le(e),t=me(e);D(),o.length>0||t.length>0?(Z(o),J(t),oe(!0),E(_(e))):E(_(e))})()}else o?O(o):t&&ne(t)}),[]),r((()=>{te&&"anonymous"===K&&ge.current!==te&&(ge.current=te,$.getFormById(te).then((async e=>{D();const o=T().language,t=e.prompt.replace("{{fid}}",te).replace("{{fname}}",e.name).replace("{{language}}",o);ae(!0);const n=await F(t);ae(!1),E(n),Y(!1)})))}),[te,D,$,E,K,F,T,ae]),r((()=>{if(W&&!ee){let e=W;X.length>0&&(e=pe(e,X)),q.length>0&&(e=ce(e,q)),U(e),H({},{replace:!0}),E(null),J([]),Z([])}}),[W,ee,U,H,pe,ce,X,q]);const ue=e=>{const o=L.get("append");o&&(e+="\n---\n"+o),U(e)};return e(b,{hideHeader:!0,hideFooter:!!te||v,children:[e("div",{id:"chat-container",className:P.chatContainer,style:{backgroundImage:`url(${f("CHAT_BACKGROUND_IMAGE_URL")})`},children:[G&&o("button",{onClick:()=>{G&&A(-1)},"aria-label":_("Tillbaka"),style:{position:"absolute",top:12,left:12,zIndex:100,background:"var(--colorNeutralBackground1)",border:"none",cursor:"pointer",padding:8,borderRadius:8,boxShadow:"0 2px 8px rgba(0,0,0,0.08)",display:"flex",alignItems:"center",justifyContent:"center"},children:o(m,{style:{transform:"rotate(180deg)"}})}),o("div",{style:{marginLeft:G?40:0},children:o(c,{title:k||_(f("APP_CHAT_TITLE")||"Chatt"),onNewChat:te?void 0:()=>Q(!0)})}),e("div",{className:P.chatMessages,children:[I&&o(g,{sender:"bot",content:I}),f("SHOW_CHAT_PROMPTS")&&re.length>0&&0===R.length&&o(g,{sender:"bot",content:_(f("CHAT_WELCOME")||_("Välkommen!")),children:re.map(((t,n)=>e("div",{children:["> ",o("a",{href:"./#/chat",onClick:()=>{ue(t.title+"\n---\n"+t.prompt)},children:_(t.title)}),o("br",{})]},`prompt-${n}`)))}),R.map(((t,n)=>e("div",{children:[(N&&n===R.length-1||!N&&n===R.length-2)&&o("div",{ref:M}),o(g,{sender:t.sender,content:t.content,isNew:t.isNew,showSuggestions:n===R.length-1,onSuggestionClicked:U},t.id)]},t.id))),ie&&o(g,{sender:"user",content:_("Översätter...")}),N&&o(l,{})]}),o(d,{codicent:B||s.context.selectedApp,disableSend:N,onSend:ue,onSelectFiles:de,getImageUrl:j.getImageUrl,getFileInfo:e=>$.getFileInfo(e)})]}),o(p,{open:z,title:_("Vill du rensa chatten?"),content:_("En ny startas, men chatten kommer först sparas."),onYes:()=>{Q(!1),D()},onNo:()=>Q(!1)}),o(h,{open:ee,templateVariables:q,filePlaceholders:X,onTemplateVariablesChange:J,onFilePlaceholdersChange:Z,onConfirm:()=>oe(!1),onCancel:()=>{oe(!1),E(null),J([]),Z([])},uploadFile:$.uploadFile})]})};export{v as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as t,useRef as n,useCallback as r,useEffect as i,useMemo as a}from"react";import{makeStyles as s,shorthands as m,tokens as p,Button as c,MessageBar as l,MessageBarBody as d}from"@fluentui/react-components";import{ArrowLeft24Regular as u}from"@fluentui/react-icons";import{CodicentService as j}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"../components/Spinner.js";import g from"../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 h from"../components/VoiceIcon.js";import f from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as v}from"../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"../components/FileThumbnail.js";import k from"../components/MessageInput.js";import S from"../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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import{Page as x}from"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import b from"../hooks/useLocalization.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.js";import"./AppFrame.js";import"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPagePersistent.js";import"./ImageView.js";import"./FormInvite.js";import"./FormAccept.js";import"./Sales.js";import"./Purchase.js";import"./QrScan.js";import"react-dom/client";import
|
|
1
|
+
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as t,useRef as n,useCallback as r,useEffect as i,useMemo as a}from"react";import{makeStyles as s,shorthands as m,tokens as p,Button as c,MessageBar as l,MessageBarBody as d}from"@fluentui/react-components";import{ArrowLeft24Regular as u}from"@fluentui/react-icons";import{CodicentService as j}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"../components/Spinner.js";import g from"../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 h from"../components/VoiceIcon.js";import f from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as v}from"../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"../components/FileThumbnail.js";import k from"../components/MessageInput.js";import S from"../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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import{Page as x}from"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import b from"../hooks/useLocalization.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.js";import"./AppFrame.js";import"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPagePersistent.js";import"./ImageView.js";import"./FormInvite.js";import"./FormAccept.js";import"./Sales.js";import{useNavigate as w,useSearchParams as C}from"react-router-dom";import"./Purchase.js";import"./QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";import I from"../hooks/useToaster.js";import{l as y}from"../node_modules/lodash/lodash.js";const U=s({main:{flexGrow:1,...m.padding("10px"),overflowY:"auto"},container:{maxWidth:"640px",margin:"0 auto",backgroundPosition:"calc(50% + 100px) center",backgroundRepeat:"no-repeat",backgroundSize:"contain",height:"100%",position:"relative"},root:{height:"100%"},item:{height:"auto",width:"auto",flexShrink:1,marginBottom:"1rem"},chat:{flexGrow:1,boxSizing:"border-box",overflow:"hidden",border:"none"},attachmentBar:{display:"none"},iconButton:{width:"24px",height:"24px"},imageCard:{alignContent:"center",borderRadius:p.borderRadiusLarge,height:"240px",textAlign:"left",position:"relative"},review:{padding:"10px",wordBreak:"break-word",whiteSpace:"pre-line",maxWidth:"100%",overflowWrap:"break-word"},voiceIcon:{position:"absolute",top:"20px",right:"12px",zIndex:1001,cursor:"pointer"},backButton:{marginBottom:"10px"}}),_=({state:s,voice:m})=>{const p=U(),{t:_}=b(),M=w(),[A,B]=t(!1),P=n(null),T=n(null),F=n(null),[N]=t(null),[E,L]=t([]),{service:O}=s,[R,$]=C(),[V,D]=t(""),[H,z]=t(void 0),G=I(),[W,Q]=t(void 0),[J,K]=t("info"),X=r((e=>{for(const o of e)O.getFileInfo(o).then((e=>{L((o=>[...o,e]))}))}),[O,L]),Y=r((e=>{const o=new FormData;o.append("file",e),O.uploadFile(e.name,o).then((e=>{X([e])})).catch((()=>{G.notify(_("Error"),_("Error uploading pasted image"),"")}))}),[O,X,G,_]),q=e=>{B(e)};i((()=>{const e=R.get("text"),o=R.get("url");e&&(D(e),R.delete("text")),o&&(R.delete("url"),D(((e||"")+" "+o).trim())),$(R,{replace:!0})}),[R,$,D,O,X]);const Z=r((async e=>{if(!e||e.length<10)return;Q(_("Analyserar...")),K("info");const o=await O.chat((e=>`Skapa kort ja/nej-status över hur CRM-aktiviteten som följer, givet dessa punkter: \n1. Namn på kunden finns med? ja/nej \n2. Syftet med mötet finns (varför träffar du kunden, kan täckas av 3 nedan) ja/nej\n3. Vad som framkommer under mötet (viktiga punkter och diskussioner) ja/nej\n4. Nästa steg finns med (hur ni kommer att träffas igen, och om något har sålts) ja/nej. \n\nSvara endast med ja/nej för varje punkt, ett svar per rad i följande exempel i JSON-format:\n{\n "customerName": "true",\n "purpose": "false",\n "meetingNotes": "true",\n "nextSteps": "false",\n "shortSummary": "Syfte med mötet och nästa steg saknas."\n}\n\n---\nTEXT:\n\n${e}`)(e));if(o){const e=new f(o.content);try{const o=JSON.parse(e.content);console.log("json",o);let t=0;for(const e in o)"true"===o[e]&&t++;Q(_(4===t?"Allt är med":o.shortSummary||"Något saknas")),K(4===t?"success":"warning")}catch{Q("Error: "+e.content),K("error")}}}),[O]),ee=a((()=>y.debounce(Z,2e3)),[Z]);return i((()=>()=>{ee.cancel()}),[ee]),e(x,{hideHeader:!0,children:o("div",{className:p.container,style:{backgroundImage:`url(${v("COMPOSE_BACKGROUND_IMAGE_URL")})`},children:[m&&v("SHOW_VOICE_BUTTON")&&e("div",{className:p.voiceIcon,children:e(h,{voice:m})}),e("div",{className:p.backButton,children:e(c,{appearance:"subtle",icon:e(u,{}),onClick:()=>M(-1),children:_("Tillbaka")})}),e(g,{title:v("APP_SAVE_TITLE")?_(v("APP_SAVE_TITLE")):_("Spara")}),e(k,{defaultText:V,onSend:e=>{e=`${e=`#crm\n${e.replace("#log ","")}\nSALESPERSON: ${s.context.name||s.context.user?.email||s.context.nickname||"-"}`}${N?" "+N:""}${E.length>0?"\n":""}${E.map((e=>`#file:${e.id}`)).join(" ")}`,O.sendMessage(e).then((()=>{G.notify(_("Meddelande"),_("Meddelandet är sparat."),"")}))},files:E,onFilesChange:L,isUploading:A,onUploadImage:()=>{T.current?.triggerUpload()},onUploadCamera:()=>{F.current?.triggerUpload()},getImageUrl:j.getImageUrl,hasLocation:!!N,disableSend:!0,rows:9,placeholder:_("Beskriv CRM-aktivitet här..."),onChange:e=>{e!==H&&(z(e),e&&e.trim().length>0?ee(e):(Q(void 0),ee.cancel()))},onImagePasted:Y}),W&&o("div",{className:p.review,children:[e("h3",{children:_("Analys")}),e(l,{intent:J,layout:"multiline",children:e(d,{children:_(W)})})]}),e(S,{ref:P,onFileUploaded:X,onUploading:q,multiple:!0,codicentService:O}),e(S,{codicentService:O,ref:T,onFileUploaded:X,onUploading:q,multiple:!0,accept:"image/*"}),e(S,{codicentService:O,ref:F,onFileUploaded:X,onUploading:q,multiple:!0,accept:"image/*",capture:"environment"})]})})};export{_ as CrmPage,_ as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as t,useRef as n,useCallback as r,useEffect as i,useMemo as a}from"react";import{makeStyles as s,shorthands as l,tokens as m,Text as c,Spinner as p,Card as d,Button as u,MessageBar as g,MessageBarBody as h}from"@fluentui/react-components";import{ArrowLeft24Regular as f}from"@fluentui/react-icons";import{CodicentService as j}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"../components/Spinner.js";import x from"../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 S from"../components/VoiceIcon.js";import v from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as y}from"../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{isMobileDevice as k}from"../utils/device.js";import"../components/FileThumbnail.js";import w from"../components/MessageInput.js";import b from"../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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import{Page as C}from"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import M from"../hooks/useLocalization.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.js";import"./AppFrame.js";import"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPage.js";import"./ImageView.js";import"./FormInvite.js";import"./FormAccept.js";import"./Sales.js";import"./Purchase.js";import"./QrScan.js";import"react-dom/client";import
|
|
1
|
+
import{jsx as e,jsxs as o}from"react/jsx-runtime";import{useState as t,useRef as n,useCallback as r,useEffect as i,useMemo as a}from"react";import{makeStyles as s,shorthands as l,tokens as m,Text as c,Spinner as p,Card as d,Button as u,MessageBar as g,MessageBarBody as h}from"@fluentui/react-components";import{ArrowLeft24Regular as f}from"@fluentui/react-icons";import{CodicentService as j}from"../services/codicent.js";import"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import"../components/Spinner.js";import x from"../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 S from"../components/VoiceIcon.js";import v from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as y}from"../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{isMobileDevice as k}from"../utils/device.js";import"../components/FileThumbnail.js";import w from"../components/MessageInput.js";import b from"../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/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import{Page as C}from"../components/Page.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import M from"../hooks/useLocalization.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.js";import"./AppFrame.js";import"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPage.js";import"./ImageView.js";import"./FormInvite.js";import"./FormAccept.js";import"./Sales.js";import{useNavigate as N,useSearchParams as I}from"react-router-dom";import"./Purchase.js";import"./QrScan.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";import T from"../hooks/useToaster.js";import{l as B}from"../node_modules/lodash/lodash.js";const D=s({main:{flexGrow:1,...l.padding("10px"),overflowY:"auto"},container:{display:"flex",flexDirection:"row",height:"100%",...l.gap("16px"),...l.padding("10px")},containerMobile:{display:"flex",flexDirection:"column",height:"100%",...l.gap("16px"),...l.padding("10px")},inputSection:{display:"flex",flexDirection:"column",flexGrow:1,maxWidth:"640px",backgroundPosition:"calc(50% + 100px) center",backgroundRepeat:"no-repeat",backgroundSize:"contain",position:"relative"},inputSectionMobile:{display:"flex",flexDirection:"column",width:"100%",position:"relative"},historySection:{flexBasis:"300px",flexShrink:0,display:"flex",flexDirection:"column",...l.gap("8px"),overflowY:"auto",...l.padding("8px")},historySectionMobile:{display:"flex",flexDirection:"column",...l.gap("8px"),overflowY:"auto",...l.padding("8px"),maxHeight:"300px"},historyCard:{...l.padding("12px"),cursor:"pointer","&:hover":{backgroundColor:m.colorNeutralBackground1Hover}},historyCardContent:{display:"flex",flexDirection:"column",...l.gap("4px")},historyDate:{fontSize:m.fontSizeBase200,color:m.colorNeutralForeground3},historyText:{fontSize:m.fontSizeBase300,wordBreak:"break-word",whiteSpace:"pre-wrap",maxHeight:"100px",overflow:"hidden",textOverflow:"ellipsis"},review:{padding:"10px",wordBreak:"break-word",whiteSpace:"pre-line",maxWidth:"100%",overflowWrap:"break-word"},voiceIcon:{position:"absolute",top:"20px",right:"12px",zIndex:1001,cursor:"pointer"},historyTitle:{fontSize:m.fontSizeBase400,fontWeight:m.fontWeightSemibold,marginBottom:"8px"},emptyState:{textAlign:"center",color:m.colorNeutralForeground3,padding:"20px"},backButton:{marginBottom:"10px"}}),U=({state:s,voice:l})=>{const m=D(),{t:U}=M(),_=N(),[A,E]=t(!1),F=n(null),P=n(null),$=n(null),[O]=t(null),[L,z]=t([]),{service:R}=s,[H,V]=I(),[W,G]=t(""),[J,Q]=t(void 0),Y=T(),[K,X]=t(void 0),[q,Z]=t("info"),[ee,oe]=t([]),[te,ne]=t(!1),re=k(),ie=r((e=>{for(const o of e)R.getFileInfo(o).then((e=>{z((o=>[...o,e]))}))}),[R,z]),ae=r((e=>{const o=new FormData;o.append("file",e),R.uploadFile(e.name,o).then((e=>{ie([e])})).catch((()=>{Y.notify(U("Error"),U("Error uploading pasted image"),"")}))}),[R,ie,Y,U]),se=e=>{E(e)},le=r((async()=>{ne(!0);try{const e=await R.getMessages(["crm"]);oe(e)}catch(e){console.error("Error loading CRM messages:",e),Y.notify(U("Error"),U("Failed to load CRM messages"),"","error")}finally{ne(!1)}}),[R,Y,U]);i((()=>{le()}),[le]),i((()=>{const e=H.get("text"),o=H.get("url");e&&(G(e),H.delete("text")),o&&(H.delete("url"),G(((e||"")+" "+o).trim())),V(H,{replace:!0})}),[H,V,G,R,ie]);const me=e=>{e=`${e=`#crm\n${e.replace("#log ","")}\nSALESPERSON: ${s.context.name||s.context.user?.email||s.context.nickname||"-"}`}${O?" "+O:""}${L.length>0?"\n":""}${L.map((e=>`#file:${e.id}`)).join(" ")}`,R.sendMessage(e).then((()=>{Y.notify(U("Meddelande"),U("Meddelandet är sparat."),""),le(),Q(""),X(void 0)}))},ce=r((async e=>{if(!e||e.length<10)return;X(U("Analyserar...")),Z("info");const o=await R.chat((e=>`Skapa kort ja/nej-status över hur CRM-aktiviteten som följer, givet dessa punkter: \n1. Namn på kunden finns med? ja/nej \n2. Syftet med mötet finns (varför träffar du kunden, kan täckas av 3 nedan) ja/nej\n3. Vad som framkommer under mötet (viktiga punkter och diskussioner) ja/nej\n4. Nästa steg finns med (hur ni kommer att träffas igen, och om något har sålts) ja/nej. \n\nSvara endast med ja/nej för varje punkt, ett svar per rad i följande exempel i JSON-format:\n{\n "customerName": "true",\n "purpose": "false",\n "meetingNotes": "true",\n "nextSteps": "false",\n "shortSummary": "Syfte med mötet och nästa steg saknas."\n}\n\n---\nTEXT:\n\n${e}`)(e));if(o){const e=new v(o.content);try{const o=JSON.parse(e.content);console.log("json",o);let t=0;for(const e in o)"true"===o[e]&&t++;X(U(4===t?"Allt är med":o.shortSummary||"Något saknas")),Z(4===t?"success":"warning")}catch{X("Error: "+e.content),Z("error")}}}),[R,U]),pe=a((()=>B.debounce(ce,2e3)),[ce]);i((()=>()=>{pe.cancel()}),[pe]);const de=e=>{const o=new Date,t=new Date(e),n=o.getTime()-t.getTime(),r=Math.floor(n/6e4),i=Math.floor(n/36e5),a=Math.floor(n/864e5);return r<1?U("Just now"):r<60?`${r} ${U("minutes ago")}`:i<24?`${i} ${U("hours ago")}`:a<7?`${a} ${U("days ago")}`:t.toLocaleDateString()},ue=e=>{const o=e.split("\n").filter((e=>!e.startsWith("#")&&!e.startsWith("SALESPERSON:")&&e.trim().length>0)).join("\n");return o.substring(0,150)+(o.length>150?"...":"")},ge=()=>o("div",{className:re?m.historySectionMobile:m.historySection,children:[e(c,{className:m.historyTitle,children:U("Tidigare sparade")}),te?e("div",{className:m.emptyState,children:e(p,{size:"small"})}):0===ee.length?e("div",{className:m.emptyState,children:e(c,{children:U("Inga sparade meddelanden än")})}):ee.map((t=>e(d,{className:m.historyCard,onClick:()=>(e=>{const o=ue(e.content);Q(o)})(t),children:o("div",{className:m.historyCardContent,children:[e(c,{className:m.historyDate,children:de(t.createdAt)}),e(c,{className:m.historyText,children:ue(t.content)})]})},t.id)))]});return e(C,{hideHeader:!0,children:o("div",{className:re?m.containerMobile:m.container,children:[!re&&ge(),o("div",{className:re?m.inputSectionMobile:m.inputSection,style:re?void 0:{backgroundImage:`url(${y("COMPOSE_BACKGROUND_IMAGE_URL")})`},children:[l&&y("SHOW_VOICE_BUTTON")&&e("div",{className:m.voiceIcon,children:e(S,{voice:l})}),e("div",{className:m.backButton,children:e(u,{appearance:"subtle",icon:e(f,{}),onClick:()=>_(-1),children:U("Tillbaka")})}),e(x,{title:y("APP_SAVE_TITLE")?U(y("APP_SAVE_TITLE")):U("Spara")}),e(w,{defaultText:W,onSend:me,files:L,onFilesChange:z,isUploading:A,onUploadImage:()=>{P.current?.triggerUpload()},onUploadCamera:()=>{$.current?.triggerUpload()},getImageUrl:j.getImageUrl,hasLocation:!!O,disableSend:!0,rows:9,placeholder:U("Beskriv CRM-aktivitet här..."),onChange:e=>{e!==J&&(Q(e),e&&e.trim().length>0?pe(e):(X(void 0),pe.cancel()))},onImagePasted:ae}),K&&o("div",{className:m.review,children:[e("h3",{children:U("Analys")}),e(g,{intent:q,layout:"multiline",children:e(h,{children:U(K)})})]}),e(b,{ref:F,onFileUploaded:ie,onUploading:se,multiple:!0,codicentService:R}),e(b,{codicentService:R,ref:P,onFileUploaded:ie,onUploading:se,multiple:!0,accept:"image/*"}),e(b,{codicentService:R,ref:$,onFileUploaded:ie,onUploading:se,multiple:!0,accept:"image/*",capture:"environment"})]}),re&&ge()]})})};export{U as CrmPagePersistent,U as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import r from"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import{Title as i}from"../components/Title.js";import{Text as n}from"../components/Text.js";import"../components/Spinner.js";import{makeStyles as s,Button as m}from"@fluentui/react-components";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{useState as p,useEffect as a}from"react";import"@fluentui/react-icons";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as c}from"../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{formatGuidToShorterReadableCode as l}from"../utils/helpers.js";import"./AppFrame.js";import"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPage.js";import"./CrmPagePersistent.js";import"./ImageView.js";import"./FormInvite.js";import"./Sales.js";import"./Purchase.js";import
|
|
1
|
+
import{jsx as o,jsxs as t,Fragment as e}from"react/jsx-runtime";import r from"../components/Markdown.js";import"../components/Textarea.js";import"../components/Button.js";import"../components/CompoundButton.js";import{Title as i}from"../components/Title.js";import{Text as n}from"../components/Text.js";import"../components/Spinner.js";import{makeStyles as s,Button as m}from"@fluentui/react-components";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{useState as p,useEffect as a}from"react";import"@fluentui/react-icons";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as c}from"../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{formatGuidToShorterReadableCode as l}from"../utils/helpers.js";import"./AppFrame.js";import"./Chat.js";import"./Compose.js";import"./Snap.js";import"./Search.js";import"./Login.js";import"./CrmPage.js";import"./CrmPagePersistent.js";import"./ImageView.js";import"./FormInvite.js";import"./Sales.js";import{useSearchParams as d,useNavigate as j}from"react-router-dom";import"./Purchase.js";import u from"../components/Content.js";import{Page as h}from"../components/Page.js";import"./QrScan.js";import g from"../hooks/useLocalization.js";import"../components/FileThumbnail.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";import"../components/MessageInput.js";import"../components/UploadFile.js";import"../components/SnapFooter.js";import"../components/Profile.js";import"../components/MessageItem.js";import"../components/AiInput.js";import"../components/SearchBox.js";import"../components/DataMessagePicker.js";import"../components/HtmlView.js";import"../components/Footer.js";import"../components/QrCodeDialog.js";import"../components/QrScanner.js";import"../components/OfflineMessage.js";import"../components/LanguageSelector.js";import"../components/ListView.js";import"../components/RecordModal.js";import"../components/BulkUploadDialog.js";import"../components/CookieBanner.js";const f=s({container:{maxWidth:"640px",margin:"0 auto",backgroundPosition:"calc(50% + 100px) center",backgroundRepeat:"no-repeat",backgroundSize:"contain",height:"100%"},instructionParagraph:{fontWeight:"bold",marginBottom:"1em"},orderedList:{marginLeft:"20px",marginBottom:"1em",fontSize:"1.3em"}}),k=()=>{const{t:s,tAsync:k}=g(),[C]=d(),M=j(),_=C.get("id"),b=f(),[v,S]=p(""),[P,w]=p(!1);return a((()=>{(async()=>{const o=c("FORM_ACCEPT_MARKDOWN");if(o){w(!0);const t=await k(o);w(!1),S(t.replace("{{code}}",l(_||"")))}})()}),[k,_]),o(h,{hideFooter:!0,hideHeader:!0,children:o("div",{className:b.container,style:{backgroundImage:`url(${c("FORM_BACKGROUND_IMAGE_URL")})`},children:t(u,{children:[P&&o(n,{children:s("Översätter...")}),c("FORM_ACCEPT_MARKDOWN")&&v&&!P&&o(r,{content:v}),!c("FORM_ACCEPT_MARKDOWN")&&t(e,{children:[o(i,{children:s("Din kod för formuläret")}),o("p",{className:b.instructionParagraph,children:s("Instruktioner:")}),t("ol",{className:b.orderedList,children:[o("li",{children:s("Skriv ner eller kopiera den kod som visas nedan, du behöver den för att identifiera din session.")}),o("li",{children:s("Klicka på 'Starta' för att komma igång med chatten.")})]}),o(n,{size:500,children:s("Din kod är (skriv ner den):")}),o(n,{size:600,style:{userSelect:"all"},children:l(_||"")})]}),_&&o(m,{appearance:"primary",onClick:()=>M(`/chat?fid=${_}`),children:s("Starta")})]})})})};export{k as default};
|