codicent-app-sdk 0.5.7 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/dist/cjs/components/AiInput.js +1 -1
  2. package/dist/cjs/components/AudioIcon.js +1 -1
  3. package/dist/cjs/components/ChatInput.js +1 -1
  4. package/dist/cjs/components/ChatMessage.js +1 -1
  5. package/dist/cjs/components/CombinedPlaceholderDialog.js +1 -1
  6. package/dist/cjs/components/Footer.js +1 -1
  7. package/dist/cjs/components/Header.js +1 -1
  8. package/dist/cjs/components/HtmlView.js +1 -1
  9. package/dist/cjs/components/MessageInput.js +1 -1
  10. package/dist/cjs/components/MessageItem.js +1 -1
  11. package/dist/cjs/components/Profile.js +1 -1
  12. package/dist/cjs/components/Prompt.js +1 -1
  13. package/dist/cjs/components/SnapFooter.js +1 -1
  14. package/dist/cjs/components/TextHeader.js +1 -1
  15. package/dist/cjs/components/TypingIndicator.js +1 -1
  16. package/dist/cjs/components/UploadFile.js +1 -1
  17. package/dist/cjs/components/UrlProcessor.js +1 -1
  18. package/dist/cjs/components/VoiceIcon.js +1 -1
  19. package/dist/cjs/components/audit/AuditAnswerCell.d.ts +15 -0
  20. package/dist/cjs/components/audit/AuditAnswerCell.d.ts.map +1 -0
  21. package/dist/cjs/components/audit/AuditAnswerCell.js +1 -0
  22. package/dist/cjs/components/audit/AuditBulkExportDialog.d.ts +16 -0
  23. package/dist/cjs/components/audit/AuditBulkExportDialog.d.ts.map +1 -0
  24. package/dist/cjs/components/audit/AuditBulkExportDialog.js +1 -0
  25. package/dist/cjs/components/audit/AuditBulkUploadDialog.d.ts +15 -0
  26. package/dist/cjs/components/audit/AuditBulkUploadDialog.d.ts.map +1 -0
  27. package/dist/cjs/components/audit/AuditBulkUploadDialog.js +1 -0
  28. package/dist/cjs/components/audit/AuditCircularProgress.d.ts +15 -0
  29. package/dist/cjs/components/audit/AuditCircularProgress.d.ts.map +1 -0
  30. package/dist/cjs/components/audit/AuditCircularProgress.js +1 -0
  31. package/dist/cjs/components/audit/AuditFilterBar.d.ts +15 -0
  32. package/dist/cjs/components/audit/AuditFilterBar.d.ts.map +1 -0
  33. package/dist/cjs/components/audit/AuditFilterBar.js +1 -0
  34. package/dist/cjs/components/audit/AuditFilterChips.d.ts +17 -0
  35. package/dist/cjs/components/audit/AuditFilterChips.d.ts.map +1 -0
  36. package/dist/cjs/components/audit/AuditFilterChips.js +1 -0
  37. package/dist/cjs/components/audit/AuditGroupsProgress.d.ts +12 -0
  38. package/dist/cjs/components/audit/AuditGroupsProgress.d.ts.map +1 -0
  39. package/dist/cjs/components/audit/AuditGroupsProgress.js +1 -0
  40. package/dist/cjs/components/audit/AuditHorizontalProgress.d.ts +16 -0
  41. package/dist/cjs/components/audit/AuditHorizontalProgress.d.ts.map +1 -0
  42. package/dist/cjs/components/audit/AuditHorizontalProgress.js +1 -0
  43. package/dist/cjs/components/audit/AuditRequirementDialog.d.ts +16 -0
  44. package/dist/cjs/components/audit/AuditRequirementDialog.d.ts.map +1 -0
  45. package/dist/cjs/components/audit/AuditRequirementDialog.js +1 -0
  46. package/dist/cjs/components/audit/AuditRoleIndicator.d.ts +13 -0
  47. package/dist/cjs/components/audit/AuditRoleIndicator.d.ts.map +1 -0
  48. package/dist/cjs/components/audit/AuditRoleIndicator.js +1 -0
  49. package/dist/cjs/components/audit/AuditSearchBar.d.ts +13 -0
  50. package/dist/cjs/components/audit/AuditSearchBar.d.ts.map +1 -0
  51. package/dist/cjs/components/audit/AuditSearchBar.js +1 -0
  52. package/dist/cjs/components/audit/AuditSortPresets.d.ts +12 -0
  53. package/dist/cjs/components/audit/AuditSortPresets.d.ts.map +1 -0
  54. package/dist/cjs/components/audit/AuditSortPresets.js +1 -0
  55. package/dist/cjs/components/audit/AuditSummaryDashboard.d.ts +13 -0
  56. package/dist/cjs/components/audit/AuditSummaryDashboard.d.ts.map +1 -0
  57. package/dist/cjs/components/audit/AuditSummaryDashboard.js +1 -0
  58. package/dist/cjs/components/audit/AuditUnitExportDialog.d.ts +18 -0
  59. package/dist/cjs/components/audit/AuditUnitExportDialog.d.ts.map +1 -0
  60. package/dist/cjs/components/audit/AuditUnitExportDialog.js +1 -0
  61. package/dist/cjs/components/audit/AuditUnitImportDialog.d.ts +13 -0
  62. package/dist/cjs/components/audit/AuditUnitImportDialog.d.ts.map +1 -0
  63. package/dist/cjs/components/audit/AuditUnitImportDialog.js +1 -0
  64. package/dist/cjs/components/audit/AuditUnitSwitcher.d.ts +20 -0
  65. package/dist/cjs/components/audit/AuditUnitSwitcher.d.ts.map +1 -0
  66. package/dist/cjs/components/audit/AuditUnitSwitcher.js +1 -0
  67. package/dist/cjs/components/audit/index.d.ts +20 -0
  68. package/dist/cjs/components/audit/index.d.ts.map +1 -0
  69. package/dist/cjs/components/index.d.ts +1 -0
  70. package/dist/cjs/components/index.d.ts.map +1 -1
  71. package/dist/cjs/hooks/index.d.ts +12 -0
  72. package/dist/cjs/hooks/index.d.ts.map +1 -1
  73. package/dist/cjs/hooks/useAuditFilters.d.ts +17 -0
  74. package/dist/cjs/hooks/useAuditFilters.d.ts.map +1 -0
  75. package/dist/cjs/hooks/useAuditFilters.js +1 -0
  76. package/dist/cjs/hooks/useAuditManagerData.d.ts +25 -0
  77. package/dist/cjs/hooks/useAuditManagerData.d.ts.map +1 -0
  78. package/dist/cjs/hooks/useAuditManagerData.js +1 -0
  79. package/dist/cjs/hooks/useAuditManagerFilters.d.ts +16 -0
  80. package/dist/cjs/hooks/useAuditManagerFilters.d.ts.map +1 -0
  81. package/dist/cjs/hooks/useAuditManagerFilters.js +1 -0
  82. package/dist/cjs/hooks/useAuditRequirementsFilters.d.ts +17 -0
  83. package/dist/cjs/hooks/useAuditRequirementsFilters.d.ts.map +1 -0
  84. package/dist/cjs/hooks/useAuditRequirementsFilters.js +1 -0
  85. package/dist/cjs/hooks/useAuditRoleCheck.d.ts +26 -0
  86. package/dist/cjs/hooks/useAuditRoleCheck.d.ts.map +1 -0
  87. package/dist/cjs/hooks/useAuditRoleCheck.js +1 -0
  88. package/dist/cjs/hooks/useAuditState.d.ts +34 -0
  89. package/dist/cjs/hooks/useAuditState.d.ts.map +1 -0
  90. package/dist/cjs/hooks/useAuditState.js +1 -0
  91. package/dist/cjs/hooks/useAuthState.js +1 -1
  92. package/dist/cjs/hooks/useCodicentState.js +1 -1
  93. package/dist/cjs/index.js +1 -1
  94. package/dist/cjs/pages/AppFrame.js +1 -1
  95. package/dist/cjs/pages/Chat.js +1 -1
  96. package/dist/cjs/pages/Compose.js +1 -1
  97. package/dist/cjs/pages/CrmPage.js +1 -1
  98. package/dist/cjs/pages/CrmPagePersistent.js +1 -1
  99. package/dist/cjs/pages/FormAccept.js +1 -1
  100. package/dist/cjs/pages/FormInvite.js +1 -1
  101. package/dist/cjs/pages/Home.js +1 -1
  102. package/dist/cjs/pages/HtmlViewer.js +1 -1
  103. package/dist/cjs/pages/ListPage.js +1 -1
  104. package/dist/cjs/pages/Login.js +1 -1
  105. package/dist/cjs/pages/Menu.js +1 -1
  106. package/dist/cjs/pages/Purchase.js +1 -1
  107. package/dist/cjs/pages/Sales.js +1 -1
  108. package/dist/cjs/pages/Search.js +1 -1
  109. package/dist/cjs/pages/Snap.js +1 -1
  110. package/dist/cjs/types/audit.d.ts +365 -0
  111. package/dist/cjs/types/audit.d.ts.map +1 -0
  112. package/dist/cjs/types/index.d.ts +1 -0
  113. package/dist/cjs/types/index.d.ts.map +1 -1
  114. package/dist/cjs/utils/auditExport.d.ts +37 -0
  115. package/dist/cjs/utils/auditExport.d.ts.map +1 -0
  116. package/dist/cjs/utils/auditExport.js +1 -0
  117. package/dist/cjs/utils/auditUtils.d.ts +59 -0
  118. package/dist/cjs/utils/auditUtils.d.ts.map +1 -0
  119. package/dist/cjs/utils/auditUtils.js +1 -0
  120. package/dist/cjs/utils/index.d.ts +2 -0
  121. package/dist/cjs/utils/index.d.ts.map +1 -1
  122. package/dist/esm/components/AiInput.js +1 -1
  123. package/dist/esm/components/AudioIcon.js +1 -1
  124. package/dist/esm/components/ChatInput.js +1 -1
  125. package/dist/esm/components/ChatMessage.js +1 -1
  126. package/dist/esm/components/CombinedPlaceholderDialog.js +1 -1
  127. package/dist/esm/components/Footer.js +1 -1
  128. package/dist/esm/components/Header.js +1 -1
  129. package/dist/esm/components/HtmlView.js +1 -1
  130. package/dist/esm/components/MessageInput.js +1 -1
  131. package/dist/esm/components/MessageItem.js +1 -1
  132. package/dist/esm/components/Profile.js +1 -1
  133. package/dist/esm/components/Prompt.js +1 -1
  134. package/dist/esm/components/SnapFooter.js +1 -1
  135. package/dist/esm/components/TextHeader.js +1 -1
  136. package/dist/esm/components/TypingIndicator.js +1 -1
  137. package/dist/esm/components/UploadFile.js +1 -1
  138. package/dist/esm/components/UrlProcessor.js +1 -1
  139. package/dist/esm/components/VoiceIcon.js +1 -1
  140. package/dist/esm/components/audit/AuditAnswerCell.d.ts +15 -0
  141. package/dist/esm/components/audit/AuditAnswerCell.d.ts.map +1 -0
  142. package/dist/esm/components/audit/AuditAnswerCell.js +1 -0
  143. package/dist/esm/components/audit/AuditBulkExportDialog.d.ts +16 -0
  144. package/dist/esm/components/audit/AuditBulkExportDialog.d.ts.map +1 -0
  145. package/dist/esm/components/audit/AuditBulkExportDialog.js +1 -0
  146. package/dist/esm/components/audit/AuditBulkUploadDialog.d.ts +15 -0
  147. package/dist/esm/components/audit/AuditBulkUploadDialog.d.ts.map +1 -0
  148. package/dist/esm/components/audit/AuditBulkUploadDialog.js +1 -0
  149. package/dist/esm/components/audit/AuditCircularProgress.d.ts +15 -0
  150. package/dist/esm/components/audit/AuditCircularProgress.d.ts.map +1 -0
  151. package/dist/esm/components/audit/AuditCircularProgress.js +1 -0
  152. package/dist/esm/components/audit/AuditFilterBar.d.ts +15 -0
  153. package/dist/esm/components/audit/AuditFilterBar.d.ts.map +1 -0
  154. package/dist/esm/components/audit/AuditFilterBar.js +1 -0
  155. package/dist/esm/components/audit/AuditFilterChips.d.ts +17 -0
  156. package/dist/esm/components/audit/AuditFilterChips.d.ts.map +1 -0
  157. package/dist/esm/components/audit/AuditFilterChips.js +1 -0
  158. package/dist/esm/components/audit/AuditGroupsProgress.d.ts +12 -0
  159. package/dist/esm/components/audit/AuditGroupsProgress.d.ts.map +1 -0
  160. package/dist/esm/components/audit/AuditGroupsProgress.js +1 -0
  161. package/dist/esm/components/audit/AuditHorizontalProgress.d.ts +16 -0
  162. package/dist/esm/components/audit/AuditHorizontalProgress.d.ts.map +1 -0
  163. package/dist/esm/components/audit/AuditHorizontalProgress.js +1 -0
  164. package/dist/esm/components/audit/AuditRequirementDialog.d.ts +16 -0
  165. package/dist/esm/components/audit/AuditRequirementDialog.d.ts.map +1 -0
  166. package/dist/esm/components/audit/AuditRequirementDialog.js +1 -0
  167. package/dist/esm/components/audit/AuditRoleIndicator.d.ts +13 -0
  168. package/dist/esm/components/audit/AuditRoleIndicator.d.ts.map +1 -0
  169. package/dist/esm/components/audit/AuditRoleIndicator.js +1 -0
  170. package/dist/esm/components/audit/AuditSearchBar.d.ts +13 -0
  171. package/dist/esm/components/audit/AuditSearchBar.d.ts.map +1 -0
  172. package/dist/esm/components/audit/AuditSearchBar.js +1 -0
  173. package/dist/esm/components/audit/AuditSortPresets.d.ts +12 -0
  174. package/dist/esm/components/audit/AuditSortPresets.d.ts.map +1 -0
  175. package/dist/esm/components/audit/AuditSortPresets.js +1 -0
  176. package/dist/esm/components/audit/AuditSummaryDashboard.d.ts +13 -0
  177. package/dist/esm/components/audit/AuditSummaryDashboard.d.ts.map +1 -0
  178. package/dist/esm/components/audit/AuditSummaryDashboard.js +1 -0
  179. package/dist/esm/components/audit/AuditUnitExportDialog.d.ts +18 -0
  180. package/dist/esm/components/audit/AuditUnitExportDialog.d.ts.map +1 -0
  181. package/dist/esm/components/audit/AuditUnitExportDialog.js +1 -0
  182. package/dist/esm/components/audit/AuditUnitImportDialog.d.ts +13 -0
  183. package/dist/esm/components/audit/AuditUnitImportDialog.d.ts.map +1 -0
  184. package/dist/esm/components/audit/AuditUnitImportDialog.js +1 -0
  185. package/dist/esm/components/audit/AuditUnitSwitcher.d.ts +20 -0
  186. package/dist/esm/components/audit/AuditUnitSwitcher.d.ts.map +1 -0
  187. package/dist/esm/components/audit/AuditUnitSwitcher.js +1 -0
  188. package/dist/esm/components/audit/index.d.ts +20 -0
  189. package/dist/esm/components/audit/index.d.ts.map +1 -0
  190. package/dist/esm/components/index.d.ts +1 -0
  191. package/dist/esm/components/index.d.ts.map +1 -1
  192. package/dist/esm/hooks/index.d.ts +12 -0
  193. package/dist/esm/hooks/index.d.ts.map +1 -1
  194. package/dist/esm/hooks/useAuditFilters.d.ts +17 -0
  195. package/dist/esm/hooks/useAuditFilters.d.ts.map +1 -0
  196. package/dist/esm/hooks/useAuditFilters.js +1 -0
  197. package/dist/esm/hooks/useAuditManagerData.d.ts +25 -0
  198. package/dist/esm/hooks/useAuditManagerData.d.ts.map +1 -0
  199. package/dist/esm/hooks/useAuditManagerData.js +1 -0
  200. package/dist/esm/hooks/useAuditManagerFilters.d.ts +16 -0
  201. package/dist/esm/hooks/useAuditManagerFilters.d.ts.map +1 -0
  202. package/dist/esm/hooks/useAuditManagerFilters.js +1 -0
  203. package/dist/esm/hooks/useAuditRequirementsFilters.d.ts +17 -0
  204. package/dist/esm/hooks/useAuditRequirementsFilters.d.ts.map +1 -0
  205. package/dist/esm/hooks/useAuditRequirementsFilters.js +1 -0
  206. package/dist/esm/hooks/useAuditRoleCheck.d.ts +26 -0
  207. package/dist/esm/hooks/useAuditRoleCheck.d.ts.map +1 -0
  208. package/dist/esm/hooks/useAuditRoleCheck.js +1 -0
  209. package/dist/esm/hooks/useAuditState.d.ts +34 -0
  210. package/dist/esm/hooks/useAuditState.d.ts.map +1 -0
  211. package/dist/esm/hooks/useAuditState.js +1 -0
  212. package/dist/esm/hooks/useAuthState.js +1 -1
  213. package/dist/esm/hooks/useCodicentState.js +1 -1
  214. package/dist/esm/index.js +1 -1
  215. package/dist/esm/pages/AppFrame.js +1 -1
  216. package/dist/esm/pages/Chat.js +1 -1
  217. package/dist/esm/pages/Compose.js +1 -1
  218. package/dist/esm/pages/CrmPage.js +1 -1
  219. package/dist/esm/pages/CrmPagePersistent.js +1 -1
  220. package/dist/esm/pages/FormAccept.js +1 -1
  221. package/dist/esm/pages/FormInvite.js +1 -1
  222. package/dist/esm/pages/Home.js +1 -1
  223. package/dist/esm/pages/HtmlViewer.js +1 -1
  224. package/dist/esm/pages/ListPage.js +1 -1
  225. package/dist/esm/pages/Login.js +1 -1
  226. package/dist/esm/pages/Menu.js +1 -1
  227. package/dist/esm/pages/Purchase.js +1 -1
  228. package/dist/esm/pages/Sales.js +1 -1
  229. package/dist/esm/pages/Search.js +1 -1
  230. package/dist/esm/pages/Snap.js +1 -1
  231. package/dist/esm/types/audit.d.ts +365 -0
  232. package/dist/esm/types/audit.d.ts.map +1 -0
  233. package/dist/esm/types/index.d.ts +1 -0
  234. package/dist/esm/types/index.d.ts.map +1 -1
  235. package/dist/esm/utils/auditExport.d.ts +37 -0
  236. package/dist/esm/utils/auditExport.d.ts.map +1 -0
  237. package/dist/esm/utils/auditExport.js +1 -0
  238. package/dist/esm/utils/auditUtils.d.ts +59 -0
  239. package/dist/esm/utils/auditUtils.d.ts.map +1 -0
  240. package/dist/esm/utils/auditUtils.js +1 -0
  241. package/dist/esm/utils/index.d.ts +2 -0
  242. package/dist/esm/utils/index.d.ts.map +1 -1
  243. package/dist/index.d.ts +806 -1
  244. package/package.json +2 -1
@@ -1 +1 @@
1
- import{jsxs as o,jsx as e,Fragment as t}from"react/jsx-runtime";import{useState as i,useEffect as r}from"react";import{makeStyles as s,useId as a,Combobox as p,Option as m}from"@fluentui/react-components";import"./Markdown.js";import"./Textarea.js";import{Button as n}from"./Button.js";import"./CompoundButton.js";import{Text as l}from"./Text.js";import{Spinner as c}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 j from"../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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 d from"../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"./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 g=s({root:{display:"grid",gridTemplateRows:"repeat(1fr)",justifyItems:"start",gap:"2px",maxWidth:"400px",padding:"8px"},combo:{width:"100%"},horizonal:{display:"flex",flexDirection:"row",verticalAlign:"middle"}}),u=s=>{const{id:u,options:f,title:h,placeholder:x,onChangeValue:w,value:v="",prompt:C,service:b}=s,y=a(u+"-combo"),[S,k]=i([...f||[]]),[L,M]=i(),[P,T]=i(!1),z=g(),{t:_}=d();r((()=>{w(L)}),[L,w]);return o("div",{id:u,className:z.root,children:[o("div",{className:z.horizonal,children:[e(l,{size:400,id:y,children:h}),C&&o(t,{children:[!P&&e(n,{icon:"WandRegular",title:_("Autoskapa"),style:{fontSize:16,marginLeft:6},onClick:async()=>{T(!0),await(async o=>{if(o){const e=await b.chat(o);if(e){const o=new j(e.content).content;w(o)}}})(C),T(!1)},appearance:"transparent",size:"small"}),P&&e(c,{size:"extra-small",style:{marginLeft:12},children:_("Arbetar...")})]})]}),o(p,{className:z.combo,"aria-labelledby":y,freeform:!0,placeholder:x||_("Välj..."),onChange:o=>{const e=o.target.value;M(e);const t=(f||[]).filter((o=>0===o.toLowerCase().indexOf(e.toLowerCase())));k(t)},onOptionSelect:(o,e)=>{e.optionText&&(f||[]).includes(e.optionText);M(e.optionText)},size:"large",value:v,children:[L?e(m,{text:L,children:_("Sök efter ")+L},"freeform"):null,S.map((o=>e(m,{children:o},o)))]})]})};export{u as default};
1
+ import{jsxs as t,jsx as i,Fragment as o}from"react/jsx-runtime";import{useState as r,useEffect as e}from"react";import{makeStyles as s,useId as a,Combobox as p,Option as m}from"@fluentui/react-components";import"./Markdown.js";import"./Textarea.js";import{Button as l}from"./Button.js";import"./CompoundButton.js";import{Text as n}from"./Text.js";import{Spinner as d}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 j from"../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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 u from"../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"./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";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";const c=s({root:{display:"grid",gridTemplateRows:"repeat(1fr)",justifyItems:"start",gap:"2px",maxWidth:"400px",padding:"8px"},combo:{width:"100%"},horizonal:{display:"flex",flexDirection:"row",verticalAlign:"middle"}}),g=s=>{const{id:g,options:h,title:f,placeholder:x,onChangeValue:A,value:w="",prompt:C,service:v}=s,b=a(g+"-combo"),[S,y]=r([...h||[]]),[P,k]=r(),[D,L]=r(!1),M=c(),{t:z}=u();e((()=>{A(P)}),[P,A]);return t("div",{id:g,className:M.root,children:[t("div",{className:M.horizonal,children:[i(n,{size:400,id:b,children:f}),C&&t(o,{children:[!D&&i(l,{icon:"WandRegular",title:z("Autoskapa"),style:{fontSize:16,marginLeft:6},onClick:async()=>{L(!0),await(async t=>{if(t){const i=await v.chat(t);if(i){const t=new j(i.content).content;A(t)}}})(C),L(!1)},appearance:"transparent",size:"small"}),D&&i(d,{size:"extra-small",style:{marginLeft:12},children:z("Arbetar...")})]})]}),t(p,{className:M.combo,"aria-labelledby":b,freeform:!0,placeholder:x||z("Välj..."),onChange:t=>{const i=t.target.value;k(i);const o=(h||[]).filter((t=>0===t.toLowerCase().indexOf(i.toLowerCase())));y(o)},onOptionSelect:(t,i)=>{i.optionText&&(h||[]).includes(i.optionText);k(i.optionText)},size:"large",value:w,children:[P?i(m,{text:P,children:z("Sök efter ")+P},"freeform"):null,S.map((t=>i(m,{children:t},t)))]})]})};export{g as default};
@@ -1 +1 @@
1
- import{jsx as o}from"react/jsx-runtime";import{Mic24Regular as t,MicPulse24Filled as s,MicRecord24Filled as i}from"@fluentui/react-icons";import"react";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 r 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"exceljs";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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 e from"../hooks/useAppStyles.js";const p=r((({isSoundCaptured:t,stopRecording:r})=>{const{pointer:p}=e();return o(t?s:i,{onClick:r,className:p})})),a=({audio:s,disabled:i})=>{const{isRecording:r,isSoundCaptured:a,startRecording:m,stopRecording:j}=s,{pointer:n}=e();return i?o(t,{}):r?o(p,{isSoundCaptured:a,stopRecording:j}):o(t,{onClick:()=>m(""),className:n})};export{a as default};
1
+ import{jsx as t}from"react/jsx-runtime";import{Mic24Regular as i,MicPulse24Filled as o,MicRecord24Filled as r}from"@fluentui/react-icons";import"react";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 s from"../utils/withWakeLock.js";import"../_virtual/index.js";import"../config/index.js";import"../utils/cacheManager.js";import"../lib/wavtools/lib/wav_packer.js";import"../lib/wavtools/lib/analysis/audio_analysis.js";import"../lib/wavtools/lib/wav_stream_player.js";import"../lib/wavtools/lib/wav_recorder.js";import"exceljs";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"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 e from"../hooks/useAppStyles.js";const p=s((({isSoundCaptured:i,stopRecording:s})=>{const{pointer:p}=e();return t(i?o:r,{onClick:s,className:p})})),a=({audio:o,disabled:r})=>{const{isRecording:s,isSoundCaptured:a,startRecording:m,stopRecording:j}=o,{pointer:u}=e();return r?t(i,{}):s?t(p,{isSoundCaptured:a,stopRecording:j}):t(i,{onClick:()=>m(""),className:u})};export{a as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as o,useState as i,useEffect as r}from"react";import{makeStyles as a,tokens as s,Button as l,Spinner as n,mergeClasses as p}from"@fluentui/react-components";import{AddRegular as m,SendRegular as c,SendFilled as d}from"@fluentui/react-icons";import{FileThumbnail as u}from"./FileThumbnail.js";import g from"../hooks/useStateWithLocalStorage.js";import"../services/codicent.js";import"./Markdown.js";import{Textarea as j}from"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.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 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"exceljs";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 h 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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 b from"../hooks/useAppStyles.js";const x=a({inputContainer:{display:"flex",flexDirection:"column",padding:"8px",width:"100%",position:"relative",gap:"8px"},textareaWrapper:{position:"relative",width:"100%",display:"flex",flexDirection:"column"},actionButtonRow:{position:"absolute",left:"8px",bottom:"8px",right:"8px",zIndex:1,display:"flex",justifyContent:"space-between",alignItems:"center"},fileList:{display:"flex",overflowX:"auto",overflowY:"hidden",scrollbarWidth:"thin",msOverflowStyle:"none",padding:"4px 0",maxWidth:"100%",boxSizing:"border-box",gap:"4px",minHeight:"72px",backgroundColor:s.colorNeutralBackground2,borderRadius:s.borderRadiusMedium,"&::-webkit-scrollbar":{height:"6px"},"&::-webkit-scrollbar-track":{background:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:s.colorNeutralStroke1,borderRadius:"3px"}},hiddenInput:{display:"none"},button:{color:s.colorNeutralForeground2,"&:hover":{color:s.colorBrandBackground,backgroundColor:"transparent"}}}),v=({onSend:a,disableSend:s,onSelectFiles:v,getImageUrl:w,getFileInfo:S,codicent:T,defaultText:_,rows:k,noMemory:y,selectAll:C,id:D})=>{const N=x(),[B,F]=g("chatInput-"+T,""),I=o(null),[O,E]=i([]),[P,H]=i([]),[L,A]=i(!1),[M,U]=i([]),{t:R}=h(),W=b();r((()=>{_&&F(_)}),[F,_]),r((()=>{!0===y&&F("")}),[y,F]);const z=()=>{if(""===B.trim()&&0===M.length)return;const e=O.length>0?" #"+O.join(" #"):"",t=P.length>0?"\n#file:"+P.join("\n#file:"):"";a(e+B+t),F(""),E([]),H([]),U([])};return e("div",{className:N.inputContainer,children:[t("input",{title:R("Välj fil att ladda upp"),type:"file",ref:I,className:N.hiddenInput,onChange:async e=>{const t=e.target.files;if(t&&t.length>0&&v){A(!0);try{const e=await v(t),o=await Promise.all(e.map((e=>S(e))));H((t=>[...t,...e])),U((e=>[...e,...o]))}catch(e){console.error("Failed to upload files",e)}finally{A(!1),I.current&&(I.current.value="")}}},multiple:!0,accept:"image/*,.pdf,.doc,.docx,.xls,.xlsx,.txt"}),M.length>0&&t("div",{className:N.fileList,children:M.map((e=>t(u,{file:e,getImageUrl:w,onDelete:()=>{return t=e.id,H((e=>e.filter((e=>e!==t)))),void U((e=>e.filter((e=>e.id!==t))));var t}},e.id)))}),e("div",{className:N.textareaWrapper,onPaste:async e=>{for(const t of e.clipboardData.items)if(-1!==t.type.indexOf("image")){const o=t.getAsFile();if(o&&(e.preventDefault(),v))try{A(!0);const e=new DataTransfer;e.items.add(o);const t=await v(e.files),i=await Promise.all(t.map((e=>S(e))));H((e=>[...e,...t])),U((e=>[...e,...i]))}catch(e){console.error("Failed to upload pasted image",e)}finally{A(!1)}}},children:[t(j,{size:"large",id:D||"chat-input",placeholder:R(f("APP_CHAT_TEXT_PLACEHOLDER")||"Skriv ditt meddelande här..."),value:B,onChange:e=>F(e.target.value),onKeyDown:e=>{s||"Enter"!==e.key||e.shiftKey||(e.preventDefault(),z())},autoFocus:!1,rows:k||4,onFocus:e=>{if(!0===C){e.target.select()}}}),e("div",{className:N.actionButtonRow,children:[t("div",{children:!f("HIDE_CHAT_ADD_FILE_BUTTON")&&v&&t(l,{appearance:"subtle",size:"small",title:R("Lägg till fil"),icon:t(L?n:m,{}),onClick:()=>I.current?.click(),className:N.button})}),t(l,{appearance:f("SHOW_SEND_BUTTON_TEXT")?"primary":"subtle",size:f("SHOW_SEND_BUTTON_TEXT")?"small":"large",title:R("Skicka"),disabled:s,icon:""===B.trim()&&0===M.length?t(c,{}):t(d,{}),onClick:z,className:f("SEND_BUTTON_ROUND_BACKGROUND")?p(W.roundButton,N.button):f("SHOW_SEND_BUTTON_TEXT")?void 0:N.button,children:f("SHOW_SEND_BUTTON_TEXT")&&t("span",{children:R("Skicka")})})]})]})]})};export{v as default};
1
+ import{jsxs as t,jsx as i}from"react/jsx-runtime";import{useRef as e,useState as o,useEffect as r}from"react";import{makeStyles as a,tokens as s,Button as l,Spinner as p,mergeClasses as n}from"@fluentui/react-components";import{AddRegular as m,SendRegular as d,SendFilled as c}from"@fluentui/react-icons";import{FileThumbnail as u}from"./FileThumbnail.js";import g from"../hooks/useStateWithLocalStorage.js";import"../services/codicent.js";import"./Markdown.js";import{Textarea as j}from"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.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 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"exceljs";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 h from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 b from"../hooks/useAppStyles.js";const x=a({inputContainer:{display:"flex",flexDirection:"column",padding:"8px",width:"100%",position:"relative",gap:"8px"},textareaWrapper:{position:"relative",width:"100%",display:"flex",flexDirection:"column"},actionButtonRow:{position:"absolute",left:"8px",bottom:"8px",right:"8px",zIndex:1,display:"flex",justifyContent:"space-between",alignItems:"center"},fileList:{display:"flex",overflowX:"auto",overflowY:"hidden",scrollbarWidth:"thin",msOverflowStyle:"none",padding:"4px 0",maxWidth:"100%",boxSizing:"border-box",gap:"4px",minHeight:"72px",backgroundColor:s.colorNeutralBackground2,borderRadius:s.borderRadiusMedium,"&::-webkit-scrollbar":{height:"6px"},"&::-webkit-scrollbar-track":{background:"transparent"},"&::-webkit-scrollbar-thumb":{backgroundColor:s.colorNeutralStroke1,borderRadius:"3px"}},hiddenInput:{display:"none"},button:{color:s.colorNeutralForeground2,"&:hover":{color:s.colorBrandBackground,backgroundColor:"transparent"}}}),S=({onSend:a,disableSend:s,onSelectFiles:S,getImageUrl:w,getFileInfo:v,codicent:k,defaultText:D,rows:T,noMemory:_,selectAll:A,id:C})=>{const y=x(),[N,B]=g("chatInput-"+k,""),P=e(null),[F,I]=o([]),[E,O]=o([]),[U,H]=o(!1),[L,M]=o([]),{t:R}=h(),W=b();r((()=>{D&&B(D)}),[B,D]),r((()=>{!0===_&&B("")}),[_,B]);const z=()=>{if(""===N.trim()&&0===L.length)return;const t=F.length>0?" #"+F.join(" #"):"",i=E.length>0?"\n#file:"+E.join("\n#file:"):"";a(t+N+i),B(""),I([]),O([]),M([])};return t("div",{className:y.inputContainer,children:[i("input",{title:R("Välj fil att ladda upp"),type:"file",ref:P,className:y.hiddenInput,onChange:async t=>{const i=t.target.files;if(i&&i.length>0&&S){H(!0);try{const t=await S(i),e=await Promise.all(t.map((t=>v(t))));O((i=>[...i,...t])),M((t=>[...t,...e]))}catch(t){console.error("Failed to upload files",t)}finally{H(!1),P.current&&(P.current.value="")}}},multiple:!0,accept:"image/*,.pdf,.doc,.docx,.xls,.xlsx,.txt"}),L.length>0&&i("div",{className:y.fileList,children:L.map((t=>i(u,{file:t,getImageUrl:w,onDelete:()=>{return i=t.id,O((t=>t.filter((t=>t!==i)))),void M((t=>t.filter((t=>t.id!==i))));var i}},t.id)))}),t("div",{className:y.textareaWrapper,onPaste:async t=>{for(const i of t.clipboardData.items)if(-1!==i.type.indexOf("image")){const e=i.getAsFile();if(e&&(t.preventDefault(),S))try{H(!0);const t=new DataTransfer;t.items.add(e);const i=await S(t.files),o=await Promise.all(i.map((t=>v(t))));O((t=>[...t,...i])),M((t=>[...t,...o]))}catch(t){console.error("Failed to upload pasted image",t)}finally{H(!1)}}},children:[i(j,{size:"large",id:C||"chat-input",placeholder:R(f("APP_CHAT_TEXT_PLACEHOLDER")||"Skriv ditt meddelande här..."),value:N,onChange:t=>B(t.target.value),onKeyDown:t=>{s||"Enter"!==t.key||t.shiftKey||(t.preventDefault(),z())},autoFocus:!1,rows:T||4,onFocus:t=>{if(!0===A){t.target.select()}}}),t("div",{className:y.actionButtonRow,children:[i("div",{children:!f("HIDE_CHAT_ADD_FILE_BUTTON")&&S&&i(l,{appearance:"subtle",size:"small",title:R("Lägg till fil"),icon:i(U?p:m,{}),onClick:()=>P.current?.click(),className:y.button})}),i(l,{appearance:f("SHOW_SEND_BUTTON_TEXT")?"primary":"subtle",size:f("SHOW_SEND_BUTTON_TEXT")?"small":"large",title:R("Skicka"),disabled:s,icon:""===N.trim()&&0===L.length?i(d,{}):i(c,{}),onClick:z,className:f("SEND_BUTTON_ROUND_BACKGROUND")?n(W.roundButton,y.button):f("SHOW_SEND_BUTTON_TEXT")?void 0:y.button,children:f("SHOW_SEND_BUTTON_TEXT")&&i("span",{children:R("Skicka")})})]})]})]})};export{S as default};
@@ -1 +1 @@
1
- import{jsx as e,jsxs as t}from"react/jsx-runtime";import{makeStyles as o,mergeClasses as s,tokens as r,Text as i}from"@fluentui/react-components";import{ChannelRegular as a}from"@fluentui/react-icons";import"react";import"../services/codicent.js";import p from"./Markdown.js";import"./Textarea.js";import{Button as n}from"./Button.js";import"./CompoundButton.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./Header.js";import m from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as l}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"exceljs";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 c 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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 g=o({message:{display:"flex",marginBottom:"16px",webkitUserSelect:"text",userSelect:"text"},user:{justifyContent:"flex-end"},bot:{justifyContent:"flex-start"},messageContent:{maxWidth:"80%",padding:"12px 16px",borderRadius:"16px",fontSize:"1rem",lineHeight:"1.4",whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"auto"},userMessage:{borderTopRightRadius:"0"},botMessage:{borderTopLeftRadius:"0"},newMessage:{animation:"$fadeIn 0.5s ease-in-out"}}),j=({sender:o,content:j,isNew:d,children:u,showSuggestions:f,onSuggestionClicked:h})=>{const C=g(),{t:w}=c();let x=[];if("bot"===o&&j.includes("#suggested_questions")){const e=j.split("#suggested_questions");j=e[0],x=e[1].split("\n").filter((e=>""!==e.trim())).map((e=>e.trim()))}const _=new m(j);let b=_.content;"user"===o&&_.content.includes("---")&&(b=_.content.split("---")[0]);const S=_.content.startsWith("Error code: ")?w("Ett fel uppstod 😟 => starta en ny chatt"):null;return e("div",{className:s(C.message,"user"===o?C.user:C.bot),children:t("div",{className:s(C.messageContent,"user"===o?C.userMessage:C.botMessage,d&&C.newMessage),style:{backgroundColor:"user"===o?l("CHAT_USER_BACKGROUND_COLOR")||r.colorBrandBackground:l("CHAT_BOT_BACKGROUND_COLOR")||r.colorBrandBackground2,color:"user"===o?l("CHAT_USER_TEXT_COLOR")||r.colorNeutralForegroundInverted:l("CHAT_BOT_TEXT_COLOR")||r.colorNeutralForeground1},children:[t(i,{size:400,children:[S,!S&&e(p,{content:b}),_.files.length>0&&e(a,{}),f&&x&&x.length>0&&e("div",{style:{marginTop:"8px",display:"flex",gap:"8px",flexWrap:"wrap"},children:x.map(((t,o)=>e(n,{size:"small",shape:"circular",onClick:()=>h?.(t),style:{textAlign:"left"},children:t},o)))})]}),u]})})};export{j as default};
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{makeStyles as o,mergeClasses as i,tokens as r,Text as s}from"@fluentui/react-components";import{ChannelRegular as a}from"@fluentui/react-icons";import"react";import"../services/codicent.js";import p from"./Markdown.js";import"./Textarea.js";import{Button as m}from"./Button.js";import"./CompoundButton.js";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./Header.js";import n from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as l}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"exceljs";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 u from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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=o({message:{display:"flex",marginBottom:"16px",webkitUserSelect:"text",userSelect:"text"},user:{justifyContent:"flex-end"},bot:{justifyContent:"flex-start"},messageContent:{maxWidth:"80%",padding:"12px 16px",borderRadius:"16px",fontSize:"1rem",lineHeight:"1.4",whiteSpace:"pre-wrap",wordBreak:"break-word",overflow:"auto"},userMessage:{borderTopRightRadius:"0"},botMessage:{borderTopLeftRadius:"0"},newMessage:{animation:"$fadeIn 0.5s ease-in-out"}}),j=({sender:o,content:j,isNew:g,children:c,showSuggestions:h,onSuggestionClicked:C})=>{const f=d(),{t:A}=u();let w=[];if("bot"===o&&j.includes("#suggested_questions")){const t=j.split("#suggested_questions");j=t[0],w=t[1].split("\n").filter((t=>""!==t.trim())).map((t=>t.trim()))}const x=new n(j);let b=x.content;"user"===o&&x.content.includes("---")&&(b=x.content.split("---")[0]);const S=x.content.startsWith("Error code: ")?A("Ett fel uppstod 😟 => starta en ny chatt"):null;return t("div",{className:i(f.message,"user"===o?f.user:f.bot),children:e("div",{className:i(f.messageContent,"user"===o?f.userMessage:f.botMessage,g&&f.newMessage),style:{backgroundColor:"user"===o?l("CHAT_USER_BACKGROUND_COLOR")||r.colorBrandBackground:l("CHAT_BOT_BACKGROUND_COLOR")||r.colorBrandBackground2,color:"user"===o?l("CHAT_USER_TEXT_COLOR")||r.colorNeutralForegroundInverted:l("CHAT_BOT_TEXT_COLOR")||r.colorNeutralForeground1},children:[e(s,{size:400,children:[S,!S&&t(p,{content:b}),x.files.length>0&&t(a,{}),h&&w&&w.length>0&&t("div",{style:{marginTop:"8px",display:"flex",gap:"8px",flexWrap:"wrap"},children:w.map(((e,o)=>t(m,{size:"small",shape:"circular",onClick:()=>C?.(e),style:{textAlign:"left"},children:e},o)))})]}),c]})})};export{j as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as o}from"react/jsx-runtime";import{makeStyles as i,shorthands as t,tokens as r}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import{Textarea as a}from"./Textarea.js";import{Button as s}from"./Button.js";import"./CompoundButton.js";import{Text as p}from"./Text.js";import"./Spinner.js";import{Label as l}from"./Label.js";import"./TextHeader.js";import"./TypingIndicator.js";import{Dialog as m,DialogTitle as n,DialogContent as c,DialogActions as j}from"./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"exceljs";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 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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 g=i({container:{display:"flex",flexDirection:"column",...t.gap("12px")},section:{display:"flex",flexDirection:"column",...t.gap("8px")},field:{display:"flex",flexDirection:"column",...t.gap("4px")},fileItem:{display:"flex",alignItems:"center",...t.gap("8px")},label:{fontWeight:r.fontWeightSemibold},textarea:{minHeight:"100px",resize:"vertical"},dialogSurface:{backgroundColor:r.colorNeutralBackground1,boxShadow:r.shadow16},dialogBody:{backgroundColor:"transparent"}}),u=({open:i,templateVariables:t,filePlaceholders:r,onTemplateVariablesChange:u,onFilePlaceholdersChange:h,onConfirm:f,onCancel:x,uploadFile:v})=>{const C=g(),{t:b}=d();return e(m,{open:i,children:[o(n,{children:b("Fyll i information")}),o(c,{children:e("div",{className:C.container,children:[t.length>0&&o("div",{className:C.section,children:t.map(((i,r)=>e("div",{className:C.field,children:[o(l,{className:C.label,children:i.name}),o(a,{className:C.textarea,value:i.value,onChange:e=>{const o=[...t];o[r].value=e.target.value,u(o)}})]},r)))}),r.length>0&&o("div",{className:C.section,children:r.map(((i,t)=>e("div",{className:C.fileItem,children:[o(p,{weight:"semibold",children:i.description}),o(s,{appearance:"primary",onClick:()=>(async e=>{const o=document.createElement("input");o.type="file";const i=await new Promise((e=>{o.onchange=o=>e(o.target.files),o.click()}));if(i&&i.length>0){const o=i[0],t=new FormData;t.append("file",o);const a=await v(o.name,t),s=[...r];s[e].fileId=a,h(s)}})(t),children:i.fileId?b("Fil vald"):b("Välj fil")})]},t)))})]})}),e(j,{children:[o(s,{appearance:"secondary",onClick:x,children:b("Avbryt")}),o(s,{appearance:"primary",onClick:f,children:b("OK")})]})]})};export{u as CombinedPlaceholderDialog};
1
+ import{jsxs as i,jsx as t}from"react/jsx-runtime";import{makeStyles as e,shorthands as o,tokens as r}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import{Textarea as a}from"./Textarea.js";import{Button as s}from"./Button.js";import"./CompoundButton.js";import{Text as p}from"./Text.js";import"./Spinner.js";import{Label as m}from"./Label.js";import"./TextHeader.js";import"./TypingIndicator.js";import{Dialog as l,DialogTitle as n,DialogContent as d,DialogActions as c}from"./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"exceljs";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 j from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 u=e({container:{display:"flex",flexDirection:"column",...o.gap("12px")},section:{display:"flex",flexDirection:"column",...o.gap("8px")},field:{display:"flex",flexDirection:"column",...o.gap("4px")},fileItem:{display:"flex",alignItems:"center",...o.gap("8px")},label:{fontWeight:r.fontWeightSemibold},textarea:{minHeight:"100px",resize:"vertical"},dialogSurface:{backgroundColor:r.colorNeutralBackground1,boxShadow:r.shadow16},dialogBody:{backgroundColor:"transparent"}}),g=({open:e,templateVariables:o,filePlaceholders:r,onTemplateVariablesChange:g,onFilePlaceholdersChange:h,onConfirm:f,onCancel:x,uploadFile:C})=>{const v=u(),{t:A}=j();return i(l,{open:e,children:[t(n,{children:A("Fyll i information")}),t(d,{children:i("div",{className:v.container,children:[o.length>0&&t("div",{className:v.section,children:o.map(((e,r)=>i("div",{className:v.field,children:[t(m,{className:v.label,children:e.name}),t(a,{className:v.textarea,value:e.value,onChange:i=>{const t=[...o];t[r].value=i.target.value,g(t)}})]},r)))}),r.length>0&&t("div",{className:v.section,children:r.map(((e,o)=>i("div",{className:v.fileItem,children:[t(p,{weight:"semibold",children:e.description}),t(s,{appearance:"primary",onClick:()=>(async i=>{const t=document.createElement("input");t.type="file";const e=await new Promise((i=>{t.onchange=t=>i(t.target.files),t.click()}));if(e&&e.length>0){const t=e[0],o=new FormData;o.append("file",t);const a=await C(t.name,o),s=[...r];s[i].fileId=a,h(s)}})(o),children:e.fileId?A("Fil vald"):A("Välj fil")})]},o)))})]})}),i(c,{children:[t(s,{appearance:"secondary",onClick:x,children:A("Avbryt")}),t(s,{appearance:"primary",onClick:f,children:A("OK")})]})]})};export{g as CombinedPlaceholderDialog};
@@ -1 +1 @@
1
- import{jsx as o,jsxs as e}from"react/jsx-runtime";import{useState as t,useEffect as i}from"react";import{makeStyles as s,shorthands as a,tokens as r,Badge as n}from"@fluentui/react-components";import{Home24Filled as l,Home24Regular as p,Chat24Filled as c,Chat24Regular as m,AddSquare24Filled as d,AddSquare24Regular as g,ClipboardDay24Filled as j,ClipboardDay24Regular as u,SlideText24Filled as h,SlideText24Regular as v,Whiteboard24Filled as T,Whiteboard24Regular as f,Apps24Filled as x,Apps24Regular as _}from"@fluentui/react-icons";import{useLocation as b,Link as k}from"react-router-dom";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"exceljs";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"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import O 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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";const N=s({footer:{...a.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",...a.borderWidth("0")},link:{textDecoration:"none",color:"inherit",display:"flex",flexDirection:"column",alignItems:"center","&.selected":{border:"none"},"&:hover":{textDecoration:"none"}},buttonText:{fontSize:"12px"},logbookIconWrapper:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center"},notificationBadge:{position:"absolute",top:"-4px",right:"-4px"}}),w=()=>{const s=N(),a=b(),[w,y]=t(null),{t:S}=O(),[I,P]=t((()=>"true"===localStorage.getItem("logbook-has-notification"))),B={backgroundColor:C("APP_FOOTER_COLOR")||r.colorBrandBackground,color:C("APP_FOOTER_TEXT_COLOR")||r.colorNeutralForegroundOnBrand},E=C("APP_FOOTER_SELECTED_COLOR")||void 0;return i((()=>{const o=a.pathname;"/"===o?y("home"):"/chat"===o?y("chat"):"/new"===o?y("save"):"/menu"===o?y("menu"):"/log"===o?y("log"):"/canvas"===o?y("canvas"):"/snap"===o&&y("snap")}),[a]),i((()=>{w&&console.log(`footer-button: ${w}`)}),[w]),i((()=>{const o=()=>{P("true"===localStorage.getItem("logbook-has-notification"))};return window.addEventListener("storage",o),window.addEventListener("logbook-notification-changed",o),()=>{window.removeEventListener("storage",o),window.removeEventListener("logbook-notification-changed",o)}}),[]),o("footer",{className:s.footer,style:B,children:e("div",{className:s.container,children:[e(k,{to:"/",className:`${s.link} ${"home"===w?"selected":""}`,onClick:()=>y("home"),style:"home"===w?{color:E}:void 0,children:[o("home"===w?l:p,{}),o("p",{className:s.buttonText,children:S("Hem")})]}),!C("HIDE_CHAT_BUTTON")&&e(k,{to:"/chat",className:`${s.link} ${"chat"===w?"selected":""}`,onClick:()=>y("chat"),style:"chat"===w?{color:E}:void 0,children:[o("chat"===w?c:m,{}),o("p",{className:s.buttonText,children:S(C("APP_CHAT_TITLE")||"Chatt")})]}),!C("HIDE_SAVE_BUTTON")&&e(k,{to:"/new",className:`${s.link} ${"save"===w?"selected":""}`,onClick:()=>y("save"),style:"save"===w?{color:E}:void 0,children:[o("save"===w?d:g,{}),o("p",{className:s.buttonText,children:S(C("APP_SAVE_TITLE")||"Spara")})]}),C("SHOW_SNAP_BUTTON")&&e(k,{to:"/snap",className:`${s.link} ${"snap"===w?"selected":""}`,onClick:()=>y("snap"),style:"snap"===w?{color:E}:void 0,children:[o("snap"===w?j:u,{}),o("p",{className:s.buttonText,children:S("Snap")})]}),C("SHOW_LOGBOOK_BUTTON")&&e(k,{to:"/log",className:`${s.link} ${"log"===w?"selected":""}`,onClick:()=>{y("log"),localStorage.removeItem("logbook-has-notification"),P(!1)},style:"log"===w?{color:E}:void 0,children:[e("div",{className:s.logbookIconWrapper,children:[o("log"===w?h:v,{}),I&&"log"!==w&&o(n,{appearance:"filled",color:"danger",size:"extra-small",className:s.notificationBadge})]}),o("p",{className:s.buttonText,children:S(C("APP_LOGBOOK_TITLE")||"Loggbok")})]}),C("SHOW_CANVAS_BUTTON")&&e(k,{to:"/canvas",className:`${s.link} ${"canvas"===w?"selected":""}`,onClick:()=>y("canvas"),style:"canvas"===w?{color:E}:void 0,children:[o("canvas"===w?T:f,{}),o("p",{className:s.buttonText,children:S("Kanvas")})]}),!C("HIDE_MENU_BUTTON")&&e(k,{to:"/menu",className:`${s.link} ${"menu"===w?"selected":""}`,onClick:()=>y("menu"),style:"menu"===w?{color:E}:void 0,children:[o("menu"===w?x:_,{}),o("p",{className:s.buttonText,children:S("Meny")})]})]})})};export{w as Footer,w as default};
1
+ import{jsx as o,jsxs as t}from"react/jsx-runtime";import{useState as e,useEffect as i}from"react";import{makeStyles as a,shorthands as s,tokens as r,Badge as n}from"@fluentui/react-components";import{Home24Filled as l,Home24Regular as p,Chat24Filled as m,Chat24Regular as c,AddSquare24Filled as d,AddSquare24Regular as u,ClipboardDay24Filled as g,ClipboardDay24Regular as j,SlideText24Filled as h,SlideText24Regular as v,Whiteboard24Filled as T,Whiteboard24Regular as x,Apps24Filled as f,Apps24Regular as k}from"@fluentui/react-icons";import{useLocation as A,Link as C}from"react-router-dom";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 b}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"exceljs";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"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import _ from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.js";const O=a({footer:{...s.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",...s.borderWidth("0")},link:{textDecoration:"none",color:"inherit",display:"flex",flexDirection:"column",alignItems:"center","&.selected":{border:"none"},"&:hover":{textDecoration:"none"}},buttonText:{fontSize:"12px"},logbookIconWrapper:{position:"relative",display:"inline-flex",alignItems:"center",justifyContent:"center"},notificationBadge:{position:"absolute",top:"-4px",right:"-4px"}}),N=()=>{const a=O(),s=A(),[N,S]=e(null),{t:w}=_(),[P,y]=e((()=>"true"===localStorage.getItem("logbook-has-notification"))),I={backgroundColor:b("APP_FOOTER_COLOR")||r.colorBrandBackground,color:b("APP_FOOTER_TEXT_COLOR")||r.colorNeutralForegroundOnBrand},B=b("APP_FOOTER_SELECTED_COLOR")||void 0;return i((()=>{const o=s.pathname;"/"===o?S("home"):"/chat"===o?S("chat"):"/new"===o?S("save"):"/menu"===o?S("menu"):"/log"===o?S("log"):"/canvas"===o?S("canvas"):"/snap"===o&&S("snap")}),[s]),i((()=>{N&&console.log(`footer-button: ${N}`)}),[N]),i((()=>{const o=()=>{y("true"===localStorage.getItem("logbook-has-notification"))};return window.addEventListener("storage",o),window.addEventListener("logbook-notification-changed",o),()=>{window.removeEventListener("storage",o),window.removeEventListener("logbook-notification-changed",o)}}),[]),o("footer",{className:a.footer,style:I,children:t("div",{className:a.container,children:[t(C,{to:"/",className:`${a.link} ${"home"===N?"selected":""}`,onClick:()=>S("home"),style:"home"===N?{color:B}:void 0,children:[o("home"===N?l:p,{}),o("p",{className:a.buttonText,children:w("Hem")})]}),!b("HIDE_CHAT_BUTTON")&&t(C,{to:"/chat",className:`${a.link} ${"chat"===N?"selected":""}`,onClick:()=>S("chat"),style:"chat"===N?{color:B}:void 0,children:[o("chat"===N?m:c,{}),o("p",{className:a.buttonText,children:w(b("APP_CHAT_TITLE")||"Chatt")})]}),!b("HIDE_SAVE_BUTTON")&&t(C,{to:"/new",className:`${a.link} ${"save"===N?"selected":""}`,onClick:()=>S("save"),style:"save"===N?{color:B}:void 0,children:[o("save"===N?d:u,{}),o("p",{className:a.buttonText,children:w(b("APP_SAVE_TITLE")||"Spara")})]}),b("SHOW_SNAP_BUTTON")&&t(C,{to:"/snap",className:`${a.link} ${"snap"===N?"selected":""}`,onClick:()=>S("snap"),style:"snap"===N?{color:B}:void 0,children:[o("snap"===N?g:j,{}),o("p",{className:a.buttonText,children:w("Snap")})]}),b("SHOW_LOGBOOK_BUTTON")&&t(C,{to:"/log",className:`${a.link} ${"log"===N?"selected":""}`,onClick:()=>{S("log"),localStorage.removeItem("logbook-has-notification"),y(!1)},style:"log"===N?{color:B}:void 0,children:[t("div",{className:a.logbookIconWrapper,children:[o("log"===N?h:v,{}),P&&"log"!==N&&o(n,{appearance:"filled",color:"danger",size:"extra-small",className:a.notificationBadge})]}),o("p",{className:a.buttonText,children:w(b("APP_LOGBOOK_TITLE")||"Loggbok")})]}),b("SHOW_CANVAS_BUTTON")&&t(C,{to:"/canvas",className:`${a.link} ${"canvas"===N?"selected":""}`,onClick:()=>S("canvas"),style:"canvas"===N?{color:B}:void 0,children:[o("canvas"===N?T:x,{}),o("p",{className:a.buttonText,children:w("Kanvas")})]}),!b("HIDE_MENU_BUTTON")&&t(C,{to:"/menu",className:`${a.link} ${"menu"===N?"selected":""}`,onClick:()=>S("menu"),style:"menu"===N?{color:B}:void 0,children:[o("menu"===N?f:k,{}),o("p",{className:a.buttonText,children:w("Meny")})]})]})})};export{N as Footer,N as default};
@@ -1 +1 @@
1
- import{jsxs as o,jsx as e}from"react/jsx-runtime";import{makeStyles as t,shorthands as i,tokens as r,Image as s,Title3 as a}from"@fluentui/react-components";import{Settings24Regular as p}from"@fluentui/react-icons";import{Link as m}from"react-router-dom";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 n from"./VoiceIcon.js";import l from"./AudioIcon.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"react";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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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"../hooks/useLocalization.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.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 j=t({header:{...i.padding("14px"),textAlign:"center",position:"sticky",top:0,zIndex:1e3,alignItems:"center",height:"64px",display:"flex",justifyContent:"space-between"},logo:{height:"40px",shape:"circular"},link:{textDecoration:"none",color:"inherit"},headerItem:{display:"flex",alignItems:"center",gap:"16px"}}),g=({imageUrl:t,title:i,audio:g,voice:d})=>{const u=j(),h={backgroundColor:c("APP_HEADER_COLOR")||r.colorBrandBackground,color:c("APP_HEADER_TEXT_COLOR")||r.colorNeutralForegroundOnBrand};return o("header",{className:u.header,style:h,children:[o("div",{className:u.headerItem,children:[t&&e(s,{className:u.logo,alt:"Logo",src:t,height:40}),i&&e(a,{children:i})]}),o("div",{className:u.headerItem,children:[g&&c("SHOW_MICROPHONE_BUTTON")&&e(l,{audio:g,disabled:d?.isConnected}),d&&c("SHOW_VOICE_BUTTON")&&e(n,{voice:d,disabled:g?.isRecording}),c("SHOW_SETTINGS_BUTTON")&&e(m,{to:"/menu",className:u.link,children:e(p,{})})]})]})};export{g as Header};
1
+ import{jsxs as t,jsx as i}from"react/jsx-runtime";import{makeStyles as o,shorthands as r,tokens as e,Image as s,Title3 as a}from"@fluentui/react-components";import{Settings24Regular as p}from"@fluentui/react-icons";import{Link as m}from"react-router-dom";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 l from"./VoiceIcon.js";import n from"./AudioIcon.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"react";import"../services/codicent.js";import"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as d}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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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"../hooks/useLocalization.js";import"react-dom/client";import"../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js";import"../hooks/useAppStyles.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";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";const j=o({header:{...r.padding("14px"),textAlign:"center",position:"sticky",top:0,zIndex:1e3,alignItems:"center",height:"64px",display:"flex",justifyContent:"space-between"},logo:{height:"40px",shape:"circular"},link:{textDecoration:"none",color:"inherit"},headerItem:{display:"flex",alignItems:"center",gap:"16px"}}),u=({imageUrl:o,title:r,audio:u,voice:c})=>{const g=j(),h={backgroundColor:d("APP_HEADER_COLOR")||e.colorBrandBackground,color:d("APP_HEADER_TEXT_COLOR")||e.colorNeutralForegroundOnBrand};return t("header",{className:g.header,style:h,children:[t("div",{className:g.headerItem,children:[o&&i(s,{className:g.logo,alt:"Logo",src:o,height:40}),r&&i(a,{children:r})]}),t("div",{className:g.headerItem,children:[u&&d("SHOW_MICROPHONE_BUTTON")&&i(n,{audio:u,disabled:c?.isConnected}),c&&d("SHOW_VOICE_BUTTON")&&i(l,{voice:c,disabled:u?.isRecording}),d("SHOW_SETTINGS_BUTTON")&&i(m,{to:"/menu",className:g.link,children:i(p,{})})]})]})};export{u as Header};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useRef as o,useState as r,useEffect as i}from"react";import{makeStyles as n,tokens as a,Menu as s,MenuTrigger as c,Button as l,MenuPopover as p,MenuList as m,MenuItem as d}from"@fluentui/react-components";import{MoreHorizontal24Regular as u,DismissRegular as h,PrintRegular as g,CopyRegular as j}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"exceljs";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"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import f 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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 b=n({container:{position:"relative",width:"100%",height:"100%",flex:"1 1 auto"},iframe:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:1e3,backgroundColor:"white",borderRadius:"0",border:"none",width:"100%",height:"100%",transformOrigin:"0 0"},iframe2:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:0,backgroundColor:"white",borderRadius:"0",border:"none",width:"100%",height:"100%",transformOrigin:"0 0"},menuButton:{position:"absolute",top:"10px",right:"10px",zIndex:1100},menuPopover:{backgroundColor:a.colorNeutralBackground1,boxShadow:a.shadow16}}),w=({html:n,onDismiss:a})=>{const w=o(null),y=o(null),[v,x]=r(1),C=b(),{t:S}=f();i((()=>{const t=t=>{try{const e=t.contentDocument||t.contentWindow?.document;if(!e)return;if(e.getElementById("print-color-preserve-styles"))return;const o=e.createElement("style");o.id="print-color-preserve-styles",o.textContent="\n @media print {\n /* Force browsers to preserve colors when printing */\n * {\n -webkit-print-color-adjust: exact !important;\n print-color-adjust: exact !important;\n color-adjust: exact !important;\n }\n \n /* Ensure backgrounds and colors are preserved */\n body, html {\n -webkit-print-color-adjust: exact !important;\n print-color-adjust: exact !important;\n color-adjust: exact !important;\n }\n }\n ",e.head.appendChild(o)}catch(t){console.warn("Failed to inject print styles into iframe:",t)}},e=w.current,o=y.current;let r,i;return e&&(r=()=>t(e),e.addEventListener("load",r),"complete"===e.contentDocument?.readyState&&t(e)),o&&(i=()=>t(o),o.addEventListener("load",i),"complete"===o.contentDocument?.readyState&&t(o)),()=>{e&&r&&e.removeEventListener("load",r),o&&i&&o.removeEventListener("load",i)}}),[n]);return t("div",{className:C.container,onTouchStart:t=>{if(2===t.touches.length){const e=t.touches[0],o=t.touches[1],r=Math.sqrt(Math.pow(o.clientX-e.clientX,2)+Math.pow(o.clientY-e.clientY,2));w.current?.setAttribute("data-initial-distance",r.toString()),w.current?.setAttribute("data-initial-scale",v.toString())}},onTouchMove:t=>{if(2===t.touches.length){const e=t.touches[0],o=t.touches[1],r=parseFloat(w.current?.getAttribute("data-initial-distance")||"0"),i=parseFloat(w.current?.getAttribute("data-initial-scale")||"1"),n=Math.sqrt(Math.pow(o.clientX-e.clientX,2)+Math.pow(o.clientY-e.clientY,2));if(r>0){const t=Math.min(Math.max(i*(n/r),.5),3);x(t),w.current&&(w.current.style.transform=`scale(${t})`),y.current&&(y.current.style.transform=`scale(${t})`)}}},onTouchEnd:()=>{w.current?.removeAttribute("data-initial-distance"),w.current?.removeAttribute("data-initial-scale")},children:[e("iframe",{ref:w,className:C.iframe,title:"html",srcDoc:n}),e("iframe",{ref:y,className:C.iframe2,title:"html",srcDoc:n})," ",t(s,{children:[e(c,{children:e(l,{icon:e(u,{}),className:C.menuButton})}),e(p,{className:C.menuPopover,children:t(m,{children:[e(d,{icon:e(h,{}),onClick:a,children:S("Stäng")}),e(d,{icon:e(g,{}),onClick:()=>{w.current&&w.current.contentWindow?.print()},children:S("Skriv ut")}),e(d,{icon:e(j,{}),onClick:async()=>{if(y.current)try{const t=y.current,e=t.contentWindow,o=t.contentDocument||e?.document;if(!o||!e)return;o.querySelectorAll("canvas").forEach((t=>{const e=o.createElement("img");e.src=t.toDataURL("image/png"),e.style.cssText=window.getComputedStyle(t).cssText,e.width=t.width,e.height=t.height,t.parentNode?.insertBefore(e,t),t.parentNode?.removeChild(t)}));let r="";Array.from(o.styleSheets).forEach((t=>{try{Array.from(t.cssRules||[]).forEach((t=>{r+=t.cssText+"\n"}))}catch(t){console.warn("Could not access stylesheet",t)}}));o.body.querySelectorAll("*").forEach((t=>{const o=e.getComputedStyle(t);let r="";if(["fontFamily","fontSize","fontWeight","color","backgroundColor","margin","padding","border","textAlign","lineHeight","letterSpacing","display","width","height"].forEach((t=>{o[t]&&"initial"!==o[t]&&"none"!==o[t]&&"normal"!==o[t]&&(r+=`${String(t)}:${o[t]};`)})),r){const e=t.getAttribute("style")||"";t.setAttribute("style",e+r)}}));const i=o.createElement("style");i.textContent=r,o.head.appendChild(i);const n=o.documentElement.outerHTML,a=o.body.innerText,s=document.createElement("div");s.innerHTML=n;const c=window.location.href;if(s.querySelectorAll("img").forEach((t=>{!t.src||t.src.startsWith("http")||t.src.startsWith("data:")||(t.src=new URL(t.src,c).href)})),navigator.clipboard&&window.ClipboardItem){const t=new Blob([s.outerHTML],{type:"text/html"}),e=new Blob([a],{type:"text/plain"}),o=new ClipboardItem({"text/html":t,"text/plain":e});await navigator.clipboard.write([o])}else{const t=e.getSelection();if(t){t.removeAllRanges();const e=o.createRange();e.selectNodeContents(o.body),t.addRange(e),o.execCommand("copy"),t.removeAllRanges()}}}catch(t){console.error("Copy failed:",t),navigator.clipboard.writeText(n)}},children:S("Kopiera")})]})})]})]})};export{w as default};
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useRef as o,useState as r,useEffect as i}from"react";import{makeStyles as n,tokens as a,Menu as s,MenuTrigger as c,Button as l,MenuPopover as p,MenuList as m,MenuItem as d}from"@fluentui/react-components";import{MoreHorizontal24Regular as u,DismissRegular as h,PrintRegular as g,CopyRegular as j}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"exceljs";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"./Footer.js";import"./Page.js";import"./QrCodeDialog.js";import"./QrScanner.js";import f from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 b=n({container:{position:"relative",width:"100%",height:"100%",flex:"1 1 auto"},iframe:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:1e3,backgroundColor:"white",borderRadius:"0",border:"none",width:"100%",height:"100%",transformOrigin:"0 0"},iframe2:{position:"absolute",top:0,left:0,bottom:0,right:0,zIndex:0,backgroundColor:"white",borderRadius:"0",border:"none",width:"100%",height:"100%",transformOrigin:"0 0"},menuButton:{position:"absolute",top:"10px",right:"10px",zIndex:1100},menuPopover:{backgroundColor:a.colorNeutralBackground1,boxShadow:a.shadow16}}),w=({html:n,onDismiss:a})=>{const w=o(null),y=o(null),[v,x]=r(1),A=b(),{t:C}=f();i((()=>{const t=t=>{try{const e=t.contentDocument||t.contentWindow?.document;if(!e)return;if(e.getElementById("print-color-preserve-styles"))return;const o=e.createElement("style");o.id="print-color-preserve-styles",o.textContent="\n @media print {\n /* Force browsers to preserve colors when printing */\n * {\n -webkit-print-color-adjust: exact !important;\n print-color-adjust: exact !important;\n color-adjust: exact !important;\n }\n \n /* Ensure backgrounds and colors are preserved */\n body, html {\n -webkit-print-color-adjust: exact !important;\n print-color-adjust: exact !important;\n color-adjust: exact !important;\n }\n }\n ",e.head.appendChild(o)}catch(t){console.warn("Failed to inject print styles into iframe:",t)}},e=w.current,o=y.current;let r,i;return e&&(r=()=>t(e),e.addEventListener("load",r),"complete"===e.contentDocument?.readyState&&t(e)),o&&(i=()=>t(o),o.addEventListener("load",i),"complete"===o.contentDocument?.readyState&&t(o)),()=>{e&&r&&e.removeEventListener("load",r),o&&i&&o.removeEventListener("load",i)}}),[n]);return t("div",{className:A.container,onTouchStart:t=>{if(2===t.touches.length){const e=t.touches[0],o=t.touches[1],r=Math.sqrt(Math.pow(o.clientX-e.clientX,2)+Math.pow(o.clientY-e.clientY,2));w.current?.setAttribute("data-initial-distance",r.toString()),w.current?.setAttribute("data-initial-scale",v.toString())}},onTouchMove:t=>{if(2===t.touches.length){const e=t.touches[0],o=t.touches[1],r=parseFloat(w.current?.getAttribute("data-initial-distance")||"0"),i=parseFloat(w.current?.getAttribute("data-initial-scale")||"1"),n=Math.sqrt(Math.pow(o.clientX-e.clientX,2)+Math.pow(o.clientY-e.clientY,2));if(r>0){const t=Math.min(Math.max(i*(n/r),.5),3);x(t),w.current&&(w.current.style.transform=`scale(${t})`),y.current&&(y.current.style.transform=`scale(${t})`)}}},onTouchEnd:()=>{w.current?.removeAttribute("data-initial-distance"),w.current?.removeAttribute("data-initial-scale")},children:[e("iframe",{ref:w,className:A.iframe,title:"html",srcDoc:n}),e("iframe",{ref:y,className:A.iframe2,title:"html",srcDoc:n})," ",t(s,{children:[e(c,{children:e(l,{icon:e(u,{}),className:A.menuButton})}),e(p,{className:A.menuPopover,children:t(m,{children:[e(d,{icon:e(h,{}),onClick:a,children:C("Stäng")}),e(d,{icon:e(g,{}),onClick:()=>{w.current&&w.current.contentWindow?.print()},children:C("Skriv ut")}),e(d,{icon:e(j,{}),onClick:async()=>{if(y.current)try{const t=y.current,e=t.contentWindow,o=t.contentDocument||e?.document;if(!o||!e)return;o.querySelectorAll("canvas").forEach((t=>{const e=o.createElement("img");e.src=t.toDataURL("image/png"),e.style.cssText=window.getComputedStyle(t).cssText,e.width=t.width,e.height=t.height,t.parentNode?.insertBefore(e,t),t.parentNode?.removeChild(t)}));let r="";Array.from(o.styleSheets).forEach((t=>{try{Array.from(t.cssRules||[]).forEach((t=>{r+=t.cssText+"\n"}))}catch(t){console.warn("Could not access stylesheet",t)}}));o.body.querySelectorAll("*").forEach((t=>{const o=e.getComputedStyle(t);let r="";if(["fontFamily","fontSize","fontWeight","color","backgroundColor","margin","padding","border","textAlign","lineHeight","letterSpacing","display","width","height"].forEach((t=>{o[t]&&"initial"!==o[t]&&"none"!==o[t]&&"normal"!==o[t]&&(r+=`${String(t)}:${o[t]};`)})),r){const e=t.getAttribute("style")||"";t.setAttribute("style",e+r)}}));const i=o.createElement("style");i.textContent=r,o.head.appendChild(i);const n=o.documentElement.outerHTML,a=o.body.innerText,s=document.createElement("div");s.innerHTML=n;const c=window.location.href;if(s.querySelectorAll("img").forEach((t=>{!t.src||t.src.startsWith("http")||t.src.startsWith("data:")||(t.src=new URL(t.src,c).href)})),navigator.clipboard&&window.ClipboardItem){const t=new Blob([s.outerHTML],{type:"text/html"}),e=new Blob([a],{type:"text/plain"}),o=new ClipboardItem({"text/html":t,"text/plain":e});await navigator.clipboard.write([o])}else{const t=e.getSelection();if(t){t.removeAllRanges();const e=o.createRange();e.selectNodeContents(o.body),t.addRange(e),o.execCommand("copy"),t.removeAllRanges()}}}catch(t){console.error("Copy failed:",t),navigator.clipboard.writeText(n)}},children:C("Kopiera")})]})})]})]})};export{w as default};
@@ -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"exceljs";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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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"}}}),j=({defaultText:r,onSend:i,onLocationChange:j,hasLocation:f,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,L]=o(""),[I,P]=o([]),z=u(),A=g(),{t:U}=d();a((()=>{D?.(F)}),[F,D]),a((()=>{const e=new p(r||"");L(e.content||""),P(e.tags||[]),e.files.length>0&&N?.(e.files)}),[r]);const M=async()=>{if(""===F.trim()&&0===h.length)return void A.notify(U("Meddelandet får inte vara tomt"),"","","error");const e=I.length>0?`#${I.join(" #")} `:"#log ";i(e+F),L("");const t=new p(r||"");P(t.tags||[]),v?.([])};return e("div",{className:z.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:z.textareaWrapper,children:[y&&h.length>0&&t("div",{className:z.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=>L(e.target.value),placeholder:T||U("Skriv vad du vill spara här..."),onKeyDown:e=>{!0!==B?"Enter"!==e.key||e.shiftKey||(e.preventDefault(),M()):"Enter"===e.key&&e.ctrlKey&&(e.preventDefault(),M())},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:z.textarea}),t("div",{className:z.actionButtonRow,children:[t("div",{className:z.leftButtonGroup,children:[x&&e(n,{appearance:"transparent",icon:b?"AttachRegular":"AddRegular",size:"small",title:U("Lägg till fil"),onClick:x,className:z.actionButton}),b&&e(n,{appearance:"transparent",icon:"ImageRegular",size:"small",title:U("Lägg till bild"),onClick:b,className:z.actionButton}),w&&e(n,{appearance:"transparent",icon:"CameraRegular",size:"small",title:U("Ta kort"),onClick:w,className:z.actionButton}),j&&e(n,{appearance:"transparent",icon:f?"LocationFilled":"LocationRegular",size:"small",title:U("Spara plats"),onClick:()=>j(!f),className:z.actionButton})]}),e(n,{appearance:m("SHOW_SAVE_BUTTON_TEXT")?"primary":"subtle",onClick:M,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{j as default};
1
+ import{jsx as t,jsxs as e}from"react/jsx-runtime";import{useState as o,useEffect as i}from"react";import{makeStyles as r,tokens as a}from"@fluentui/react-components";import"../services/codicent.js";import"./Markdown.js";import{Textarea as s}from"./Textarea.js";import{Button as l}from"./Button.js";import"./CompoundButton.js";import{Spinner as n}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"exceljs";import{FileThumbnail as d}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 c from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 u from"../hooks/useToaster.js";const g=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:a.colorNeutralForeground2,"&:hover":{color:a.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:a.colorNeutralStroke1,borderRadius:"3px"}}}),j=({defaultText:r,onSend:a,onLocationChange:j,hasLocation:f,files:h=[],onFilesChange:v,onUploadFile:x,onUploadImage:b,onUploadCamera:w,getImageUrl:C,isUploading:S,rows:k,size:y,disableSend:A,placeholder:B,onChange:D,onImagePasted:T,onHandleDefaultFiles:_})=>{const[F,P]=o(""),[N,U]=o([]),I=g(),L=u(),{t:z}=c();i((()=>{D?.(F)}),[F,D]),i((()=>{const t=new p(r||"");P(t.content||""),U(t.tags||[]),t.files.length>0&&_?.(t.files)}),[r]);const R=async()=>{if(""===F.trim()&&0===h.length)return void L.notify(z("Meddelandet får inte vara tomt"),"","","error");const t=N.length>0?`#${N.join(" #")} `:"#log ";a(t+F),P("");const e=new p(r||"");U(e.tags||[]),v?.([])};return t("div",{className:I.container,onDrop:async t=>{if(t.preventDefault(),!v)return;const e=Array.from(t.dataTransfer.files);if(e.length>0)if(T&&e.every((t=>t.type&&t.type.startsWith("image/"))))for(const t of e)T(t);else v(e)},onDragOver:t=>{t.preventDefault()},children:e("div",{className:I.textareaWrapper,children:[C&&h.length>0&&e("div",{className:I.fileList,children:[h.map((e=>t(d,{file:e,getImageUrl:C,onDelete:()=>{return t=e.id,void v?.(h.filter((e=>e.id!==t)));var t}},e.id))),S&&t(n,{})]}),t(s,{size:"large",resize:"vertical",rows:k||7,value:F,onChange:t=>P(t.target.value),placeholder:B||z("Skriv vad du vill spara här..."),onKeyDown:t=>{!0!==A?"Enter"!==t.key||t.shiftKey||(t.preventDefault(),R()):"Enter"===t.key&&t.ctrlKey&&(t.preventDefault(),R())},onPaste:t=>{if(!v&&!T)return;const e=t.clipboardData.items;for(const o of e)if("file"===o.kind){const e=o.getAsFile();e&&(T&&e.type.startsWith("image/")?(t.preventDefault(),T(e)):v&&(t.preventDefault(),v([e])))}},className:I.textarea}),e("div",{className:I.actionButtonRow,children:[e("div",{className:I.leftButtonGroup,children:[x&&t(l,{appearance:"transparent",icon:b?"AttachRegular":"AddRegular",size:"small",title:z("Lägg till fil"),onClick:x,className:I.actionButton}),b&&t(l,{appearance:"transparent",icon:"ImageRegular",size:"small",title:z("Lägg till bild"),onClick:b,className:I.actionButton}),w&&t(l,{appearance:"transparent",icon:"CameraRegular",size:"small",title:z("Ta kort"),onClick:w,className:I.actionButton}),j&&t(l,{appearance:"transparent",icon:f?"LocationFilled":"LocationRegular",size:"small",title:z("Spara plats"),onClick:()=>j(!f),className:I.actionButton})]}),t(l,{appearance:m("SHOW_SAVE_BUTTON_TEXT")?"primary":"subtle",onClick:R,icon:"SendFilled",iconPosition:"before",title:z("Spara"),size:y||(m("SHOW_SAVE_BUTTON_TEXT")?"small":"large"),children:m("SHOW_SAVE_BUTTON_TEXT")&&t("span",{children:z("Spara")})})]})]})})};export{j as default};
@@ -1 +1 @@
1
- import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useState as o,useRef as i,useEffect as r}from"react";import{makeStyles as a,tokens as s,Card as n,Switch as l,CardHeader as m,Skeleton as c,SkeletonItem as p,Caption1 as d}from"@fluentui/react-components";import{useNavigate as g}from"react-router-dom";import{Edit20Regular as u,FullScreenMaximizeRegular as h,ArrowCollapseAllRegular as f,ArrowExpandAllRegular as j}from"@fluentui/react-icons";import{CodicentService as x}from"../services/codicent.js";import b from"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import{Text as w}from"./Text.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 S from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as O}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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 _ from"../hooks/useLocalization.js";import{FileThumbnail as I}from"./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"./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 v=a({iframe:{border:"none",width:"100%",height:"100%"},main:{gap:"36px",display:"flex",flexDirection:"column",flexWrap:"wrap"},card:{minWidth:"300px",maxWidth:"100%",height:"fit-content",marginBottom:"1em",paddingLeft:"1em",maxHeight:"11em",borderRadius:"10px",position:"relative"},expandedCard:{minWidth:"320px",maxWidth:"100%",height:"fit-content",marginBottom:"1em",paddingLeft:"1em",borderRadius:"10px",position:"relative"},text:{margin:"0.5em",whiteSpace:"normal",fontSize:"larger"},caption:{color:s.colorNeutralForeground3},headerImage:{borderRadius:"4px",maxWidth:"44px",maxHeight:"44px"},rectangle:{margin:0,top:"-5px",left:"-2px",width:"5px",position:"absolute",height:"100%"},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:s.colorNeutralStroke1,borderRadius:"3px"}},htmlButton:{fontSize:"1.5em",cursor:"pointer",marginLeft:"0.5em"},headerButton:{fontSize:"1.5em",cursor:"pointer",marginLeft:"0.5em"},iconButtonRow:{position:"absolute",top:"0.5em",right:"0.5em",display:"flex",alignItems:"center",gap:"0.5em",zIndex:2},content:{overflow:"hidden",transition:"max-height 0.3s ease-out",userSelect:"text"},truncated:{maxHeight:"10em"},header:{display:"flex",flexDirection:"row",gap:"0.5em",alignItems:"center"},todoSwitch:{transform:"scale(0.8)","& .fui-Switch__label":{fontSize:"0.75rem"}}}),k=({header:a,description:s,timestamp:k,timestampTitle:E,text:T,image:C,tags:N,id:y,fileIds:A,codicentService:L,busy:B,onEdit:P,onShowHtmlPreview:F,maxHeightPx:R})=>{const D=v(),H=g(),[G,M]=o(!1),[z,K]=o(!1),[W,$]=o("unknown"),[U,Q]=o(!1),V=i(null),Y=Object.keys(O("LOGBOOK_TAG_DEFINITIONS")),X=Y.find((e=>N.includes(e)))||(A.length>0?Y.find((e=>"file"===e)):void 0),[q,J]=o([]),Z=N.includes("todo"),{t:ee}=_(),te=["TYPE","CUSTOMER","CONTACT","SALESPERSON","MESSAGE","COMPANY","PHONE","EMAIL","WEBSITE","INFO","FÖRETAG","ROLE","KONTAKT"],oe=[ee("Typ"),ee("Kund"),ee("Kontakt"),ee("Säljare"),ee("Meddelande"),ee("Företag"),ee("Telefon"),ee("E-post"),ee("Hemsida"),ee("Info"),ee("Företag"),ee("Roll"),ee("Kontakt")];r((()=>{Promise.all(A.map((e=>L.getFileInfo(e)))).then((e=>{J(e)}))}),[L,J,A]),r((()=>{const e=()=>{if(V.current){const e=R??100,t=V.current.scrollHeight>e+(q.length>0?-72:0);K(t)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[T,q,R]),r((()=>{if(Z){(async()=>{try{const e=await L.getTodoStatus(y);$(e)}catch(e){console.error("Error loading todo status:",e),$("unknown")}})()}}),[Z,y,L]);const ie=()=>M(!G),re=N.includes("chat")&&(T.includes("#function_result")||T.includes("#finish_reason_function_call")||T.includes("#function_results_batch")||T.includes("#finish_reason_tool_calls_batch")),ae=e=>{const t=e.indexOf("```html");if(-1===t)return e;const o=e.indexOf("```",t+7);if(-1===o)return e.substring(t+7);return e.substring(t+7,o)},se=new S(T),ne=se.data,le=O("LOGBOOK_STRIP_TAGS")?se.content:T,me=X&&O("LOGBOOK_TAG_DEFINITIONS")[X].editable,ce=X&&O("LOGBOOK_TAG_DEFINITIONS")[X].imageSize||void 0;return e(n,{className:G?D.expandedCard:D.card,style:{backgroundColor:O("MESSAGE_HIDE_BAR")?X?O("LOGBOOK_TAG_DEFINITIONS")[X].color:O("APP_HEADER_COLOR")||"#eee":"#eee",maxHeight:!G&&R?`${R}px`:void 0},onClick:N.includes("chat")?e=>{N.includes("chat")&&(e&&e.stopPropagation(),H("/chat?id="+y))}:void 0,children:[!O("MESSAGE_HIDE_BAR")&&t("div",{className:D.rectangle,style:{backgroundColor:X?O("LOGBOOK_TAG_DEFINITIONS")[X].color:O("APP_HEADER_COLOR")||void 0}}),e("div",{className:D.iconButtonRow,children:[Z&&t(l,{className:D.todoSwitch,checked:"done"===W,onChange:(e,t)=>(async e=>{if(!U){Q(!0);try{const t=e?"done":"undone";await L.updateTodoStatus(y,t)&&$(t)}catch(e){console.error("Error updating todo status:",e)}finally{Q(!1)}}})(t.checked),disabled:U||"unknown"===W,label:ee("done"===W?"Done":"Todo")}),me&&P&&t(u,{className:D.htmlButton,onClick:()=>P()}),F&&!me&&N.includes("html")&&t(h,{className:D.htmlButton,onClick:e=>{e.stopPropagation(),F(ae(T))}}),z&&!N.includes("chat")&&G&&t(f,{className:D.headerButton,onClick:ie}),z&&!N.includes("chat")&&!G&&t(j,{className:D.headerButton,onClick:ie})]}),t(m,{image:C?t("img",{className:D.headerImage,src:"app_logo.svg",alt:"User"}):null,header:B?t(c,{style:{width:"50%"},children:t(p,{})}):e("div",{className:D.header,children:[t(w,{weight:"semibold",children:a}),k&&t("span",{title:E||void 0,children:t(w,{weight:"regular",children:k})})]}),description:t(d,{className:D.caption,children:s})}),e("div",{ref:V,className:`${D.content} ${G?"":D.truncated}`,style:{maxHeight:!G&&R?`${R}px`:void 0},children:[q.length>0&&t("div",{className:D.fileList,children:q.map((e=>t(I,{file:e,thumbnailSize:ce,getImageUrl:x.getImageUrl,onClick:()=>{e.contentType.startsWith("image")?H(`/image?id=${y}&file=${e.id}`):x.downloadFile(e)}},e.id)))}),B?e(c,{style:{width:"100%"},children:[t(p,{}),t(p,{}),t(p,{}),t(p,{}),t(p,{})]}):t("div",{className:D.text,children:N.includes("html")?t("iframe",{className:D.iframe,title:"html",srcDoc:ae(T),sandbox:"allow-same-origin allow-scripts"}):N.includes("crm")&&0===Object.keys(ne).length?t(b,{content:re?"*"+ee("Tänker")+"...*":ne?(()=>{const e=new RegExp(`(${te.join("|")})\\s*:\\s*`,"gi");return le.replace(e,((e,t)=>{const o=te.indexOf(t.toUpperCase());-1===o&&console.log("Field not found:",t);return`\n**${-1!==o?oe[o]:t}:** `})).trim()})():T}):t(b,{content:re?"*"+ee("Tänker")+"...*":ne?ne&&Object.keys(ne).length>0?Object.keys(ne).map((e=>{const t=te.indexOf(e.toUpperCase());return`**${-1!==t?oe[t]:e}:** ${ne[e]}\n`})).join("\n"):le:T})})]})]})};export{k as default};
1
+ import{jsxs as t,jsx as e}from"react/jsx-runtime";import{useState as i,useRef as o,useEffect as r}from"react";import{makeStyles as a,tokens as s,Card as n,Switch as l,CardHeader as m,Skeleton as d,SkeletonItem as p,Caption1 as c}from"@fluentui/react-components";import{useNavigate as u}from"react-router-dom";import{Edit20Regular as g,FullScreenMaximizeRegular as h,ArrowCollapseAllRegular as j,ArrowExpandAllRegular as f}from"@fluentui/react-icons";import{CodicentService as x}from"../services/codicent.js";import S from"./Markdown.js";import"./Textarea.js";import"./Button.js";import"./CompoundButton.js";import{Text as w}from"./Text.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 b from"../utils/MessageContent.js";import"../node_modules/tinycolor2/esm/tinycolor.js";import"../_virtual/index.js";import{getConfigValue as O}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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 A from"../hooks/useLocalization.js";import{FileThumbnail as _}from"./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"./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";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";const I=a({iframe:{border:"none",width:"100%",height:"100%"},main:{gap:"36px",display:"flex",flexDirection:"column",flexWrap:"wrap"},card:{minWidth:"300px",maxWidth:"100%",height:"fit-content",marginBottom:"1em",paddingLeft:"1em",maxHeight:"11em",borderRadius:"10px",position:"relative"},expandedCard:{minWidth:"320px",maxWidth:"100%",height:"fit-content",marginBottom:"1em",paddingLeft:"1em",borderRadius:"10px",position:"relative"},text:{margin:"0.5em",whiteSpace:"normal",fontSize:"larger"},caption:{color:s.colorNeutralForeground3},headerImage:{borderRadius:"4px",maxWidth:"44px",maxHeight:"44px"},rectangle:{margin:0,top:"-5px",left:"-2px",width:"5px",position:"absolute",height:"100%"},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:s.colorNeutralStroke1,borderRadius:"3px"}},htmlButton:{fontSize:"1.5em",cursor:"pointer",marginLeft:"0.5em"},headerButton:{fontSize:"1.5em",cursor:"pointer",marginLeft:"0.5em"},iconButtonRow:{position:"absolute",top:"0.5em",right:"0.5em",display:"flex",alignItems:"center",gap:"0.5em",zIndex:2},content:{overflow:"hidden",transition:"max-height 0.3s ease-out",userSelect:"text"},truncated:{maxHeight:"10em"},header:{display:"flex",flexDirection:"row",gap:"0.5em",alignItems:"center"},todoSwitch:{transform:"scale(0.8)","& .fui-Switch__label":{fontSize:"0.75rem"}}}),k=({header:a,description:s,timestamp:k,timestampTitle:v,text:C,image:E,tags:T,id:N,fileIds:y,codicentService:B,busy:P,onEdit:L,onShowHtmlPreview:D,maxHeightPx:F})=>{const R=I(),H=u(),[G,M]=i(!1),[z,U]=i(!1),[K,W]=i("unknown"),[$,Q]=i(!1),V=o(null),Y=Object.keys(O("LOGBOOK_TAG_DEFINITIONS")),q=Y.find((t=>T.includes(t)))||(y.length>0?Y.find((t=>"file"===t)):void 0),[X,J]=i([]),Z=T.includes("todo"),{t:tt}=A(),et=["TYPE","CUSTOMER","CONTACT","SALESPERSON","MESSAGE","COMPANY","PHONE","EMAIL","WEBSITE","INFO","FÖRETAG","ROLE","KONTAKT"],it=[tt("Typ"),tt("Kund"),tt("Kontakt"),tt("Säljare"),tt("Meddelande"),tt("Företag"),tt("Telefon"),tt("E-post"),tt("Hemsida"),tt("Info"),tt("Företag"),tt("Roll"),tt("Kontakt")];r((()=>{Promise.all(y.map((t=>B.getFileInfo(t)))).then((t=>{J(t)}))}),[B,J,y]),r((()=>{const t=()=>{if(V.current){const t=F??100,e=V.current.scrollHeight>t+(X.length>0?-72:0);U(e)}};return t(),window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)}),[C,X,F]),r((()=>{if(Z){(async()=>{try{const t=await B.getTodoStatus(N);W(t)}catch(t){console.error("Error loading todo status:",t),W("unknown")}})()}}),[Z,N,B]);const ot=()=>M(!G),rt=T.includes("chat")&&(C.includes("#function_result")||C.includes("#finish_reason_function_call")||C.includes("#function_results_batch")||C.includes("#finish_reason_tool_calls_batch")),at=t=>{const e=t.indexOf("```html");if(-1===e)return t;const i=t.indexOf("```",e+7);if(-1===i)return t.substring(e+7);return t.substring(e+7,i)},st=new b(C),nt=st.data,lt=O("LOGBOOK_STRIP_TAGS")?st.content:C,mt=q&&O("LOGBOOK_TAG_DEFINITIONS")[q].editable,dt=q&&O("LOGBOOK_TAG_DEFINITIONS")[q].imageSize||void 0;return t(n,{className:G?R.expandedCard:R.card,style:{backgroundColor:O("MESSAGE_HIDE_BAR")?q?O("LOGBOOK_TAG_DEFINITIONS")[q].color:O("APP_HEADER_COLOR")||"#eee":"#eee",maxHeight:!G&&F?`${F}px`:void 0},onClick:T.includes("chat")?t=>{T.includes("chat")&&(t&&t.stopPropagation(),H("/chat?id="+N))}:void 0,children:[!O("MESSAGE_HIDE_BAR")&&e("div",{className:R.rectangle,style:{backgroundColor:q?O("LOGBOOK_TAG_DEFINITIONS")[q].color:O("APP_HEADER_COLOR")||void 0}}),t("div",{className:R.iconButtonRow,children:[Z&&e(l,{className:R.todoSwitch,checked:"done"===K,onChange:(t,e)=>(async t=>{if(!$){Q(!0);try{const e=t?"done":"undone";await B.updateTodoStatus(N,e)&&W(e)}catch(t){console.error("Error updating todo status:",t)}finally{Q(!1)}}})(e.checked),disabled:$||"unknown"===K,label:tt("done"===K?"Done":"Todo")}),mt&&L&&e(g,{className:R.htmlButton,onClick:()=>L()}),D&&!mt&&T.includes("html")&&e(h,{className:R.htmlButton,onClick:t=>{t.stopPropagation(),D(at(C))}}),z&&!T.includes("chat")&&G&&e(j,{className:R.headerButton,onClick:ot}),z&&!T.includes("chat")&&!G&&e(f,{className:R.headerButton,onClick:ot})]}),e(m,{image:E?e("img",{className:R.headerImage,src:"app_logo.svg",alt:"User"}):null,header:P?e(d,{style:{width:"50%"},children:e(p,{})}):t("div",{className:R.header,children:[e(w,{weight:"semibold",children:a}),k&&e("span",{title:v||void 0,children:e(w,{weight:"regular",children:k})})]}),description:e(c,{className:R.caption,children:s})}),t("div",{ref:V,className:`${R.content} ${G?"":R.truncated}`,style:{maxHeight:!G&&F?`${F}px`:void 0},children:[X.length>0&&e("div",{className:R.fileList,children:X.map((t=>e(_,{file:t,thumbnailSize:dt,getImageUrl:x.getImageUrl,onClick:()=>{t.contentType.startsWith("image")?H(`/image?id=${N}&file=${t.id}`):x.downloadFile(t)}},t.id)))}),P?t(d,{style:{width:"100%"},children:[e(p,{}),e(p,{}),e(p,{}),e(p,{}),e(p,{})]}):e("div",{className:R.text,children:T.includes("html")?e("iframe",{className:R.iframe,title:"html",srcDoc:at(C),sandbox:"allow-same-origin allow-scripts"}):T.includes("crm")&&0===Object.keys(nt).length?e(S,{content:rt?"*"+tt("Tänker")+"...*":nt?(()=>{const t=new RegExp(`(${et.join("|")})\\s*:\\s*`,"gi");return lt.replace(t,((t,e)=>{const i=et.indexOf(e.toUpperCase());-1===i&&console.log("Field not found:",e);return`\n**${-1!==i?it[i]:e}:** `})).trim()})():C}):e(S,{content:rt?"*"+tt("Tänker")+"...*":nt?nt&&Object.keys(nt).length>0?Object.keys(nt).map((t=>{const e=et.indexOf(t.toUpperCase());return`**${-1!==e?it[e]:t}:** ${nt[t]}\n`})).join("\n"):lt:C})})]})]})};export{k 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 s,Image as a,Input as m,Button as p,Text as n}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"exceljs";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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 g=s({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"}}),d=({state:s})=>{const d=g(),{isAuthenticated:u,isLoading:h,user:v,nickname:f}=s.auth,[C,w]=r(),[y,x]=r(!1),[k,I]=r(!1),[S,b]=r(""),[B,M]=r(""),{t:L}=j();o((()=>{s.service.getUserInfo(f).then(w)}),[s.service,f]);const P=()=>{b(C?.name||v?.name||""),M(C?.email||v?.email||""),x(!1),I(!1)},_=async e=>{const t=await s.service.updateUserInfo({nickname:f,name:e.name,email:e.email||""});w(t)};return h?e("div",{children:L("Laddar...")}):u&&v&&t("div",{className:d.container,children:[e(a,{shape:"circular",width:100,src:C?.picture||v.picture,alt:v.name}),t("div",{className:d.properties,children:[e("h2",{children:y?e(i,{children:e(m,{type:"text",value:S,onChange:e=>{b(e.target.value)},contentAfter:e(p,{icon:e(l,{}),size:"small",onClick:P})})}):t(i,{children:[C?.name||v.name,e(p,{className:d.editButton,icon:e(c,{}),size:"small",onClick:()=>{x(!0),b(C?.name||v?.name||"")}})]})}),t(n,{children:[e(i,k?{children:e(m,{type:"text",value:B,onChange:e=>{M(e.target.value)},contentAfter:e(p,{icon:e(l,{}),size:"small",onClick:P})})}:{children:C?.email||v.email}),(y||k)&&e("div",{children:e(p,{className:d.saveButton,appearance:"primary",size:"small",onClick:()=>{x(!1),I(!1),_({...C,name:S,email:B})},children:"Spara"})})]})]})]})};export{d as default};
1
+ import{jsx as t,jsxs as i,Fragment as e}from"react/jsx-runtime";import{useState as r,useEffect as o}from"react";import{makeStyles as s,Image as a,Input as m,Button as p,Text as n}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"exceljs";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 d from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 u=s({container:{display:"flex",flexDirection:"row",alignItems:"start",justifyContent:"start",gap:"1rem",marginBottom:"1rem"},properties:{display:"flex",flexDirection:"column",alignItems:"start",justifyContent:"center",gap:"0.5rem",width:"100%"},editButton:{marginLeft:"0.5rem"},saveButton:{marginTop:"0.3rem"}}),j=({state:s})=>{const j=u(),{isAuthenticated:g,isLoading:h,user:v,nickname:A}=s.auth,[C,f]=r(),[w,x]=r(!1),[y,k]=r(!1),[S,B]=r(""),[D,I]=r(""),{t:P}=d();o((()=>{s.service.getUserInfo(A).then(f)}),[s.service,A]);const b=()=>{B(C?.name||v?.name||""),I(C?.email||v?.email||""),x(!1),k(!1)},M=async t=>{const i=await s.service.updateUserInfo({nickname:A,name:t.name,email:t.email||""});f(i)};return h?t("div",{children:P("Laddar...")}):g&&v&&i("div",{className:j.container,children:[t(a,{shape:"circular",width:100,src:C?.picture||v.picture,alt:v.name}),i("div",{className:j.properties,children:[t("h2",{children:w?t(e,{children:t(m,{type:"text",value:S,onChange:t=>{B(t.target.value)},contentAfter:t(p,{icon:t(l,{}),size:"small",onClick:b})})}):i(e,{children:[C?.name||v.name,t(p,{className:j.editButton,icon:t(c,{}),size:"small",onClick:()=>{x(!0),B(C?.name||v?.name||"")}})]})}),i(n,{children:[t(e,y?{children:t(m,{type:"text",value:D,onChange:t=>{I(t.target.value)},contentAfter:t(p,{icon:t(l,{}),size:"small",onClick:b})})}:{children:C?.email||v.email}),(w||y)&&t("div",{children:t(p,{className:j.saveButton,appearance:"primary",size:"small",onClick:()=>{x(!1),k(!1),M({...C,name:S,email:D})},children:"Spara"})})]})]})]})};export{j 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 e}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 r,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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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:j,title:n,content:l})=>o(i,{open:a,children:[t(r,{children:n}),t(s,{children:l}),o(p,{children:[t(e,{appearance:"secondary",onClick:j,children:"Nej"}),t(e,{type:"submit",appearance:"primary",onClick:m,children:"Ja"})]})]});export{a as default};
1
+ import{jsxs as t,jsx as i}from"react/jsx-runtime";import"./Markdown.js";import"./Textarea.js";import{Button as o}from"./Button.js";import"./CompoundButton.js";import"@fluentui/react-components";import"./Spinner.js";import"./TextHeader.js";import"./TypingIndicator.js";import{Dialog as r,DialogTitle as s,DialogContent as e,DialogActions as p}from"./Dialog.js";import"./ChatInput.js";import"./CombinedPlaceholderDialog.js";import"./ChatMessage.js";import"./Header.js";import"react";import"@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"exceljs";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";const a=({open:a,onYes:m,onNo:j,title:n,content:l})=>t(r,{open:a,children:[i(s,{children:n}),i(e,{children:l}),t(p,{children:[i(o,{appearance:"secondary",onClick:j,children:"Nej"}),i(o,{type:"submit",appearance:"primary",onClick:m,children:"Ja"})]})]});export{a 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 p,Mic24Regular as n,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"exceljs";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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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"}}),g=({onHome:e,onTakePhoto:i,onSwichCamera:g,audio:u,tag:h})=>{const x=j(),{isRecording:C,isSoundCaptured:k,startRecording:b,stopRecording:f}=u,{t:v}=d(),T={backgroundColor:c("APP_HEADER_COLOR")||r.colorBrandBackground,color:c("APP_HEADER_TEXT_COLOR")||r.colorNeutralForegroundOnBrand};return o("footer",{className:x.footer,style:T,children:t("div",{className:x.container,children:[t("div",{className:x.link,onClick:e,children:[o(s,{}),o("p",{className:x.buttonText,children:v("Hem")})]}),t("div",{className:x.link,children:[C&&k&&o(a,{onClick:f}),C&&!k&&o(p,{onClick:f}),!C&&o(n,{onClick:()=>b(h)}),o("p",{className:x.buttonText,children:v("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:v("Ta kort")})]}),t("div",{className:x.link,onClick:g,children:[o(l,{}),o("p",{className:x.buttonText,children:v("Byt kamera")})]})]})})};export{g as default};
1
+ import{jsx as t,jsxs as o}from"react/jsx-runtime";import{makeStyles as i,shorthands as r,tokens as e}from"@fluentui/react-components";import{Home24Regular as s,MicPulse24Filled as a,MicRecord24Filled as p,Mic24Regular as m,Camera24Regular as n,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 d}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"exceljs";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 c from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 u=i({footer:{...r.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:e.colorNeutralForegroundOnBrand,height:"24px",width:"24px",...r.borderWidth("0")},link:{textDecoration:"none",color:"inherit","&.selected":{border:"none"},"&:hover":{textDecoration:"none"},minWidth:"48px"},buttonText:{fontSize:"12px"}}),j=({onHome:i,onTakePhoto:r,onSwichCamera:j,audio:g,tag:h})=>{const x=u(),{isRecording:A,isSoundCaptured:C,startRecording:k,stopRecording:b}=g,{t:f}=c(),P={backgroundColor:d("APP_HEADER_COLOR")||e.colorBrandBackground,color:d("APP_HEADER_TEXT_COLOR")||e.colorNeutralForegroundOnBrand};return t("footer",{className:x.footer,style:P,children:o("div",{className:x.container,children:[o("div",{className:x.link,onClick:i,children:[t(s,{}),t("p",{className:x.buttonText,children:f("Hem")})]}),o("div",{className:x.link,children:[A&&C&&t(a,{onClick:b}),A&&!C&&t(p,{onClick:b}),!A&&t(m,{onClick:()=>k(h)}),t("p",{className:x.buttonText,children:f("Ljud")})]}),o("div",{className:x.link,onClick:()=>{d("RESTART_AUDIO_ON_TAKE_PHOTO")&&A?(b(),r(),k(h)):r()},children:[t(n,{}),t("p",{className:x.buttonText,children:f("Ta kort")})]}),o("div",{className:x.link,onClick:j,children:[t(l,{}),t("p",{className:x.buttonText,children:f("Byt kamera")})]})]})})};export{j as default};
@@ -1 +1 @@
1
- import{jsxs as t,jsx as o}from"react/jsx-runtime";import{makeStyles as e,shorthands as s}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import{Button as i}from"./Button.js";import"./CompoundButton.js";import{Title as r}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"exceljs";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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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:{...s.padding("16px"),textAlign:"start",position:"sticky",top:0,zIndex:1e3,alignItems:"center",justifyContent:"space-between",width:"100%",display:"flex"}}),j=({title:e,onNewChat:s,subtitle:j})=>{const l=n(),c=m(),{t:g}=a();return t("header",{className:l.header,children:[e&&o(r,{children:e}),j&&o(p,{size:300,weight:"regular",children:j}),s&&o(i,{className:c.button,appearance:"primary",title:g("Ny chatt"),icon:"ArrowClockwiseRegular",onClick:s})]})};export{j as default};
1
+ import{jsxs as t,jsx as i}from"react/jsx-runtime";import{makeStyles as o,shorthands as r}from"@fluentui/react-components";import"react";import"../services/codicent.js";import"./Markdown.js";import"./Textarea.js";import{Button as s}from"./Button.js";import"./CompoundButton.js";import{Title as e}from"./Title.js";import{Text as a}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"exceljs";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 p from"../hooks/useLocalization.js";import"./OfflineMessage.js";import"./LanguageSelector.js";import"./ListView.js";import"./RecordModal.js";import"./BulkUploadDialog.js";import"./CookieBanner.js";import"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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 j=o({header:{...r.padding("16px"),textAlign:"start",position:"sticky",top:0,zIndex:1e3,alignItems:"center",justifyContent:"space-between",width:"100%",display:"flex"}}),l=({title:o,onNewChat:r,subtitle:l})=>{const n=j(),u=m(),{t:d}=p();return t("header",{className:n.header,children:[o&&i(e,{children:o}),l&&i(a,{size:300,weight:"regular",children:l}),r&&i(s,{className:u.button,appearance:"primary",title:d("Ny chatt"),icon:"ArrowClockwiseRegular",onClick:r})]})};export{l as default};
@@ -1 +1 @@
1
- import{jsxs as o,jsx as t}from"react/jsx-runtime";import{makeStyles as s}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 r}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"exceljs";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/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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=s({typingContainer:{display:"flex",gap:"8px"}}),a=()=>{const s=p(),{t:a}=e();return o("div",{className:s.typingContainer,children:[t(i,{size:"extra-small"}),t(r,{size:400,children:a("Tänker...")})]})};export{a as default};
1
+ import{jsxs as t,jsx as i}from"react/jsx-runtime";import{makeStyles as o}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 r}from"./Text.js";import{Spinner as s}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"exceljs";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"./audit/AuditCircularProgress.js";import"./audit/AuditHorizontalProgress.js";import"./audit/AuditRoleIndicator.js";import"./audit/AuditUnitSwitcher.js";import"./audit/AuditAnswerCell.js";import"./audit/AuditSearchBar.js";import"./audit/AuditFilterChips.js";import"./audit/AuditFilterBar.js";import"./audit/AuditGroupsProgress.js";import"./audit/AuditSummaryDashboard.js";import"./audit/AuditRequirementDialog.js";import"./audit/AuditUnitExportDialog.js";import"./audit/AuditUnitImportDialog.js";import"./audit/AuditBulkExportDialog.js";import"./audit/AuditBulkUploadDialog.js";import"./audit/AuditSortPresets.js";import"../pages/AppFrame.js";import"../pages/Canvas.js";import"../pages/Chat.js";import"../pages/Compose.js";import"../pages/Snap.js";import"../pages/Search.js";import"../pages/Menu.js";import"../pages/Log.js";import"../pages/Login.js";import"../pages/Home.js";import"../pages/ListPage.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=o({typingContainer:{display:"flex",gap:"8px"}}),a=()=>{const o=p(),{t:a}=e();return t("div",{className:o.typingContainer,children:[i(s,{size:"extra-small"}),i(r,{size:400,children:a("Tänker...")})]})};export{a as default};