codicent-app-sdk 0.3.119 → 0.4.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 (413) hide show
  1. package/README.md +173 -26
  2. package/dist/cjs/_virtual/jsQR.js +1 -0
  3. package/dist/cjs/bootstrap.d.ts +112 -0
  4. package/dist/cjs/bootstrap.d.ts.map +1 -0
  5. package/dist/cjs/bootstrap.js +1 -0
  6. package/dist/cjs/components/AiInput.js +1 -1
  7. package/dist/cjs/components/AudioIcon.js +1 -1
  8. package/dist/cjs/components/BulkUploadDialog.d.ts +16 -0
  9. package/dist/cjs/components/BulkUploadDialog.d.ts.map +1 -0
  10. package/dist/cjs/components/BulkUploadDialog.js +1 -0
  11. package/dist/cjs/components/ChatInput.js +1 -1
  12. package/dist/cjs/components/ChatMessage.js +1 -1
  13. package/dist/cjs/components/CombinedPlaceholderDialog.js +1 -1
  14. package/dist/cjs/components/ErrorBoundary.d.ts +17 -0
  15. package/dist/cjs/components/ErrorBoundary.d.ts.map +1 -0
  16. package/dist/cjs/components/ErrorBoundary.js +1 -0
  17. package/dist/cjs/components/Footer.js +1 -1
  18. package/dist/cjs/components/GenericJsonRenderer.d.ts +20 -0
  19. package/dist/cjs/components/GenericJsonRenderer.d.ts.map +1 -0
  20. package/dist/cjs/components/GenericJsonRenderer.js +1 -0
  21. package/dist/cjs/components/Header.js +1 -1
  22. package/dist/cjs/components/HtmlView.js +1 -1
  23. package/dist/cjs/components/LanguageSelector.d.ts +11 -0
  24. package/dist/cjs/components/LanguageSelector.d.ts.map +1 -0
  25. package/dist/cjs/components/LanguageSelector.js +1 -0
  26. package/dist/cjs/components/ListView.d.ts +39 -0
  27. package/dist/cjs/components/ListView.d.ts.map +1 -0
  28. package/dist/cjs/components/ListView.js +1 -0
  29. package/dist/cjs/components/MessageInput.js +1 -1
  30. package/dist/cjs/components/MessageItem.js +1 -1
  31. package/dist/cjs/components/OfflineMessage.d.ts +6 -0
  32. package/dist/cjs/components/OfflineMessage.d.ts.map +1 -0
  33. package/dist/cjs/components/OfflineMessage.js +1 -0
  34. package/dist/cjs/components/Profile.js +1 -1
  35. package/dist/cjs/components/Prompt.js +1 -1
  36. package/dist/cjs/components/QrScanner.d.ts +12 -0
  37. package/dist/cjs/components/QrScanner.d.ts.map +1 -0
  38. package/dist/cjs/components/QrScanner.js +1 -0
  39. package/dist/cjs/components/RecordModal.d.ts +13 -0
  40. package/dist/cjs/components/RecordModal.d.ts.map +1 -0
  41. package/dist/cjs/components/RecordModal.js +1 -0
  42. package/dist/cjs/components/SnapFooter.js +1 -1
  43. package/dist/cjs/components/TextHeader.js +1 -1
  44. package/dist/cjs/components/TypingIndicator.js +1 -1
  45. package/dist/cjs/components/UploadFile.js +1 -1
  46. package/dist/cjs/components/UrlProcessor.js +1 -1
  47. package/dist/cjs/components/VoiceIcon.js +1 -1
  48. package/dist/cjs/components/index.d.ts +9 -0
  49. package/dist/cjs/components/index.d.ts.map +1 -1
  50. package/dist/cjs/config/index.d.ts +2 -0
  51. package/dist/cjs/config/index.d.ts.map +1 -1
  52. package/dist/cjs/config/index.js +1 -1
  53. package/dist/cjs/hooks/index.d.ts +3 -0
  54. package/dist/cjs/hooks/index.d.ts.map +1 -1
  55. package/dist/cjs/hooks/useAuthState.d.ts.map +1 -1
  56. package/dist/cjs/hooks/useAuthState.js +1 -1
  57. package/dist/cjs/hooks/useCodicentState.js +1 -1
  58. package/dist/cjs/hooks/useDebugLogs.d.ts +6 -0
  59. package/dist/cjs/hooks/useDebugLogs.d.ts.map +1 -0
  60. package/dist/cjs/hooks/useDebugLogs.js +1 -0
  61. package/dist/cjs/hooks/useObserveDataSchemas.d.ts +42 -0
  62. package/dist/cjs/hooks/useObserveDataSchemas.d.ts.map +1 -0
  63. package/dist/cjs/hooks/useObserveDataSchemas.js +1 -0
  64. package/dist/cjs/index.d.ts +2 -0
  65. package/dist/cjs/index.d.ts.map +1 -1
  66. package/dist/cjs/index.js +1 -1
  67. package/dist/cjs/node_modules/@auth0/auth0-react/dist/auth0-react.esm.js +1 -0
  68. package/dist/cjs/node_modules/@fluentui/react-button/lib/contexts/ButtonContext.js +1 -1
  69. package/dist/cjs/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/Checkbox.js +1 -0
  70. package/dist/cjs/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/renderCheckbox.js +1 -0
  71. package/dist/cjs/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/useCheckbox.js +1 -0
  72. package/dist/cjs/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/useCheckboxStyles.styles.js +1 -0
  73. package/dist/cjs/node_modules/@fluentui/react-combobox/lib/components/Combobox/useCombobox.js +1 -1
  74. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/Dialog/Dialog.js +1 -0
  75. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/Dialog/renderDialog.js +1 -0
  76. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialog.js +1 -0
  77. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialogContextValues.js +1 -0
  78. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogActions/DialogActions.js +1 -0
  79. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogActions/renderDialogActions.js +1 -0
  80. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogActions/useDialogActions.js +1 -0
  81. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogActions/useDialogActionsStyles.styles.js +1 -0
  82. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogBackdropMotion.js +1 -0
  83. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogBody/DialogBody.js +1 -0
  84. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogBody/renderDialogBody.js +1 -0
  85. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogBody/useDialogBody.js +1 -0
  86. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogBody/useDialogBodyStyles.styles.js +1 -0
  87. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogContent/DialogContent.js +1 -0
  88. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogContent/renderDialogContent.js +1 -0
  89. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogContent/useDialogContent.js +1 -0
  90. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogContent/useDialogContentStyles.styles.js +1 -0
  91. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/DialogSurface.js +1 -0
  92. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/renderDialogSurface.js +1 -0
  93. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurface.js +1 -0
  94. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurfaceContextValues.js +1 -0
  95. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurfaceStyles.styles.js +1 -0
  96. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogSurfaceMotion.js +1 -0
  97. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/DialogTitle.js +1 -0
  98. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/renderDialogTitle.js +1 -0
  99. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/useDialogTitle.js +1 -0
  100. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/useDialogTitleStyles.styles.js +1 -0
  101. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/DialogTrigger.js +1 -0
  102. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/renderDialogTrigger.js +1 -0
  103. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/useDialogTrigger.js +1 -0
  104. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/components/MotionRefForwarder.js +1 -0
  105. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/contexts/dialogContext.js +1 -0
  106. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/contexts/dialogSurfaceContext.js +1 -0
  107. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/utils/useDisableBodyScroll.js +1 -0
  108. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/utils/useDisableBodyScroll.styles.js +1 -0
  109. package/dist/cjs/node_modules/@fluentui/react-dialog/lib/utils/useFocusFirstElement.js +1 -0
  110. package/dist/cjs/node_modules/@fluentui/react-icons/lib/contexts/IconDirectionContext.js +1 -1
  111. package/dist/cjs/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-0.js +1 -1
  112. package/dist/cjs/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-1.js +1 -1
  113. package/dist/cjs/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-14.js +1 -1
  114. package/dist/cjs/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-3.js +1 -1
  115. package/dist/cjs/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-5.js +1 -1
  116. package/dist/cjs/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-6.js +1 -1
  117. package/dist/cjs/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js +1 -1
  118. package/dist/cjs/node_modules/@fluentui/react-menu/lib/components/Menu/useMenu.js +1 -1
  119. package/dist/cjs/node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItem.js +1 -1
  120. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/MessageBarActions.js +1 -0
  121. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/renderMessageBarActions.js +1 -0
  122. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActions.js +1 -0
  123. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActionsContextValues.js +1 -0
  124. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActionsStyles.styles.js +1 -0
  125. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/MessageBarTitle.js +1 -0
  126. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/renderMessageBarTitle.js +1 -0
  127. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/useMessageBarTitle.js +1 -0
  128. package/dist/cjs/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/useMessageBarTitleStyles.styles.js +1 -0
  129. package/dist/cjs/node_modules/@fluentui/react-motion/lib/slots/presenceMotionSlot.js +1 -0
  130. package/dist/cjs/node_modules/@fluentui/react-motion-components-preview/lib/components/Fade/Fade.js +1 -0
  131. package/dist/cjs/node_modules/@fluentui/react-positioning/lib/utils/mergeArrowOffset.js +1 -0
  132. package/dist/cjs/node_modules/@fluentui/react-provider/lib/components/FluentProvider/FluentProvider.js +1 -0
  133. package/dist/cjs/node_modules/@fluentui/react-provider/lib/components/FluentProvider/createCSSRuleFromTheme.js +1 -0
  134. package/dist/cjs/node_modules/@fluentui/react-provider/lib/components/FluentProvider/renderFluentProvider.js +1 -0
  135. package/dist/cjs/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProvider.js +1 -0
  136. package/dist/cjs/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderContextValues.js +1 -0
  137. package/dist/cjs/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderStyles.styles.js +1 -0
  138. package/dist/cjs/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderThemeStyleTag.js +1 -0
  139. package/dist/cjs/node_modules/@fluentui/react-search/lib/components/SearchBox/useSearchBox.js +1 -1
  140. package/dist/cjs/node_modules/@fluentui/react-shared-contexts/lib/CustomStyleHooksContext/CustomStyleHooksContext.js +1 -1
  141. package/dist/cjs/node_modules/@fluentui/react-shared-contexts/lib/OverridesContext/OverridesContext.js +1 -1
  142. package/dist/cjs/node_modules/@fluentui/react-shared-contexts/lib/ProviderContext/ProviderContext.js +1 -1
  143. package/dist/cjs/node_modules/@fluentui/react-shared-contexts/lib/ThemeClassNameContext/ThemeClassNameContext.js +1 -1
  144. package/dist/cjs/node_modules/@fluentui/react-shared-contexts/lib/ThemeContext/ThemeContext.js +1 -0
  145. package/dist/cjs/node_modules/@fluentui/react-shared-contexts/lib/TooltipVisibilityContext/TooltipContext.js +1 -0
  146. package/dist/cjs/node_modules/@fluentui/react-tabster/lib/hooks/useIsNavigatingWithKeyboard.js +1 -0
  147. package/dist/cjs/node_modules/@fluentui/react-timepicker-compat/lib/components/TimePicker/useTimePicker.js +1 -1
  148. package/dist/cjs/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/Tooltip.js +1 -0
  149. package/dist/cjs/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/private/constants.js +1 -0
  150. package/dist/cjs/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/renderTooltip.js +1 -0
  151. package/dist/cjs/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltip.js +1 -0
  152. package/dist/cjs/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltipStyles.styles.js +1 -0
  153. package/dist/cjs/node_modules/@fluentui/react-utilities/lib/ssr/SSRContext.js +1 -1
  154. package/dist/cjs/node_modules/@fluentui/tokens/lib/alias/lightColor.js +1 -0
  155. package/dist/cjs/node_modules/@fluentui/tokens/lib/alias/lightColorPalette.js +1 -0
  156. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/borderRadius.js +1 -0
  157. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/colorPalette.js +1 -0
  158. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/colors.js +1 -0
  159. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/curves.js +1 -0
  160. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/durations.js +1 -0
  161. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/fonts.js +1 -0
  162. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/spacings.js +1 -0
  163. package/dist/cjs/node_modules/@fluentui/tokens/lib/global/strokeWidths.js +1 -0
  164. package/dist/cjs/node_modules/@fluentui/tokens/lib/sharedColorNames.js +1 -0
  165. package/dist/cjs/node_modules/@fluentui/tokens/lib/statusColorMapping.js +1 -0
  166. package/dist/cjs/node_modules/@fluentui/tokens/lib/utils/createLightTheme.js +1 -0
  167. package/dist/cjs/node_modules/@fluentui/tokens/lib/utils/shadows.js +1 -0
  168. package/dist/cjs/node_modules/@griffel/react/TextDirectionContext.esm.js +1 -1
  169. package/dist/cjs/node_modules/jsqr/dist/jsQR.js +1 -0
  170. package/dist/cjs/pages/AppFrame.js +1 -1
  171. package/dist/cjs/pages/Chat.js +1 -1
  172. package/dist/cjs/pages/Compose.js +1 -1
  173. package/dist/cjs/pages/CrmPage.js +1 -1
  174. package/dist/cjs/pages/CrmPagePersistent.js +1 -1
  175. package/dist/cjs/pages/Debug.d.ts +4 -0
  176. package/dist/cjs/pages/Debug.d.ts.map +1 -0
  177. package/dist/cjs/pages/Debug.js +1 -0
  178. package/dist/cjs/pages/FormAccept.js +1 -1
  179. package/dist/cjs/pages/FormInvite.js +1 -1
  180. package/dist/cjs/pages/FormPage.d.ts +11 -0
  181. package/dist/cjs/pages/FormPage.d.ts.map +1 -0
  182. package/dist/cjs/pages/FormPage.js +1 -0
  183. package/dist/cjs/pages/Help.d.ts +7 -0
  184. package/dist/cjs/pages/Help.d.ts.map +1 -0
  185. package/dist/cjs/pages/Help.js +1 -0
  186. package/dist/cjs/pages/HtmlViewer.js +1 -1
  187. package/dist/cjs/pages/Login.js +1 -1
  188. package/dist/cjs/pages/Purchase.js +1 -1
  189. package/dist/cjs/pages/QrScan.d.ts +12 -0
  190. package/dist/cjs/pages/QrScan.d.ts.map +1 -0
  191. package/dist/cjs/pages/QrScan.js +1 -0
  192. package/dist/cjs/pages/Sales.js +1 -1
  193. package/dist/cjs/pages/SchemaEditor.d.ts +2 -0
  194. package/dist/cjs/pages/SchemaEditor.d.ts.map +1 -0
  195. package/dist/cjs/pages/SchemaEditor.js +1 -0
  196. package/dist/cjs/pages/Search.js +1 -1
  197. package/dist/cjs/pages/Snap.js +1 -1
  198. package/dist/cjs/pages/index.d.ts +5 -0
  199. package/dist/cjs/pages/index.d.ts.map +1 -1
  200. package/dist/cjs/services/codicent.d.ts +7 -0
  201. package/dist/cjs/services/codicent.d.ts.map +1 -1
  202. package/dist/cjs/services/codicent.js +1 -1
  203. package/dist/cjs/types/index.d.ts +188 -0
  204. package/dist/cjs/types/index.d.ts.map +1 -0
  205. package/dist/cjs/utils/appState.d.ts.map +1 -1
  206. package/dist/cjs/utils/appState.js +1 -1
  207. package/dist/esm/_virtual/jsQR.js +1 -0
  208. package/dist/esm/bootstrap.d.ts +112 -0
  209. package/dist/esm/bootstrap.d.ts.map +1 -0
  210. package/dist/esm/bootstrap.js +1 -0
  211. package/dist/esm/components/AiInput.js +1 -1
  212. package/dist/esm/components/AudioIcon.js +1 -1
  213. package/dist/esm/components/BulkUploadDialog.d.ts +16 -0
  214. package/dist/esm/components/BulkUploadDialog.d.ts.map +1 -0
  215. package/dist/esm/components/BulkUploadDialog.js +1 -0
  216. package/dist/esm/components/ChatInput.js +1 -1
  217. package/dist/esm/components/ChatMessage.js +1 -1
  218. package/dist/esm/components/CombinedPlaceholderDialog.js +1 -1
  219. package/dist/esm/components/ErrorBoundary.d.ts +17 -0
  220. package/dist/esm/components/ErrorBoundary.d.ts.map +1 -0
  221. package/dist/esm/components/ErrorBoundary.js +1 -0
  222. package/dist/esm/components/Footer.js +1 -1
  223. package/dist/esm/components/GenericJsonRenderer.d.ts +20 -0
  224. package/dist/esm/components/GenericJsonRenderer.d.ts.map +1 -0
  225. package/dist/esm/components/GenericJsonRenderer.js +1 -0
  226. package/dist/esm/components/Header.js +1 -1
  227. package/dist/esm/components/HtmlView.js +1 -1
  228. package/dist/esm/components/LanguageSelector.d.ts +11 -0
  229. package/dist/esm/components/LanguageSelector.d.ts.map +1 -0
  230. package/dist/esm/components/LanguageSelector.js +1 -0
  231. package/dist/esm/components/ListView.d.ts +39 -0
  232. package/dist/esm/components/ListView.d.ts.map +1 -0
  233. package/dist/esm/components/ListView.js +1 -0
  234. package/dist/esm/components/MessageInput.js +1 -1
  235. package/dist/esm/components/MessageItem.js +1 -1
  236. package/dist/esm/components/OfflineMessage.d.ts +6 -0
  237. package/dist/esm/components/OfflineMessage.d.ts.map +1 -0
  238. package/dist/esm/components/OfflineMessage.js +1 -0
  239. package/dist/esm/components/Profile.js +1 -1
  240. package/dist/esm/components/Prompt.js +1 -1
  241. package/dist/esm/components/QrScanner.d.ts +12 -0
  242. package/dist/esm/components/QrScanner.d.ts.map +1 -0
  243. package/dist/esm/components/QrScanner.js +1 -0
  244. package/dist/esm/components/RecordModal.d.ts +13 -0
  245. package/dist/esm/components/RecordModal.d.ts.map +1 -0
  246. package/dist/esm/components/RecordModal.js +1 -0
  247. package/dist/esm/components/SnapFooter.js +1 -1
  248. package/dist/esm/components/TextHeader.js +1 -1
  249. package/dist/esm/components/TypingIndicator.js +1 -1
  250. package/dist/esm/components/UploadFile.js +1 -1
  251. package/dist/esm/components/UrlProcessor.js +1 -1
  252. package/dist/esm/components/VoiceIcon.js +1 -1
  253. package/dist/esm/components/index.d.ts +9 -0
  254. package/dist/esm/components/index.d.ts.map +1 -1
  255. package/dist/esm/config/index.d.ts +2 -0
  256. package/dist/esm/config/index.d.ts.map +1 -1
  257. package/dist/esm/config/index.js +1 -1
  258. package/dist/esm/hooks/index.d.ts +3 -0
  259. package/dist/esm/hooks/index.d.ts.map +1 -1
  260. package/dist/esm/hooks/useAuthState.d.ts.map +1 -1
  261. package/dist/esm/hooks/useAuthState.js +1 -1
  262. package/dist/esm/hooks/useCodicentState.js +1 -1
  263. package/dist/esm/hooks/useDebugLogs.d.ts +6 -0
  264. package/dist/esm/hooks/useDebugLogs.d.ts.map +1 -0
  265. package/dist/esm/hooks/useDebugLogs.js +1 -0
  266. package/dist/esm/hooks/useObserveDataSchemas.d.ts +42 -0
  267. package/dist/esm/hooks/useObserveDataSchemas.d.ts.map +1 -0
  268. package/dist/esm/hooks/useObserveDataSchemas.js +1 -0
  269. package/dist/esm/index.d.ts +2 -0
  270. package/dist/esm/index.d.ts.map +1 -1
  271. package/dist/esm/index.js +1 -1
  272. package/dist/esm/node_modules/@auth0/auth0-react/dist/auth0-react.esm.js +1 -0
  273. package/dist/esm/node_modules/@fluentui/react-button/lib/contexts/ButtonContext.js +1 -1
  274. package/dist/esm/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/Checkbox.js +1 -0
  275. package/dist/esm/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/renderCheckbox.js +1 -0
  276. package/dist/esm/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/useCheckbox.js +1 -0
  277. package/dist/esm/node_modules/@fluentui/react-checkbox/lib/components/Checkbox/useCheckboxStyles.styles.js +1 -0
  278. package/dist/esm/node_modules/@fluentui/react-combobox/lib/components/Combobox/useCombobox.js +1 -1
  279. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/Dialog/Dialog.js +1 -0
  280. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/Dialog/renderDialog.js +1 -0
  281. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialog.js +1 -0
  282. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/Dialog/useDialogContextValues.js +1 -0
  283. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogActions/DialogActions.js +1 -0
  284. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogActions/renderDialogActions.js +1 -0
  285. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogActions/useDialogActions.js +1 -0
  286. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogActions/useDialogActionsStyles.styles.js +1 -0
  287. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogBackdropMotion.js +1 -0
  288. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogBody/DialogBody.js +1 -0
  289. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogBody/renderDialogBody.js +1 -0
  290. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogBody/useDialogBody.js +1 -0
  291. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogBody/useDialogBodyStyles.styles.js +1 -0
  292. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogContent/DialogContent.js +1 -0
  293. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogContent/renderDialogContent.js +1 -0
  294. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogContent/useDialogContent.js +1 -0
  295. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogContent/useDialogContentStyles.styles.js +1 -0
  296. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/DialogSurface.js +1 -0
  297. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/renderDialogSurface.js +1 -0
  298. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurface.js +1 -0
  299. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurfaceContextValues.js +1 -0
  300. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogSurface/useDialogSurfaceStyles.styles.js +1 -0
  301. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogSurfaceMotion.js +1 -0
  302. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/DialogTitle.js +1 -0
  303. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/renderDialogTitle.js +1 -0
  304. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/useDialogTitle.js +1 -0
  305. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogTitle/useDialogTitleStyles.styles.js +1 -0
  306. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/DialogTrigger.js +1 -0
  307. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/renderDialogTrigger.js +1 -0
  308. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/DialogTrigger/useDialogTrigger.js +1 -0
  309. package/dist/esm/node_modules/@fluentui/react-dialog/lib/components/MotionRefForwarder.js +1 -0
  310. package/dist/esm/node_modules/@fluentui/react-dialog/lib/contexts/dialogContext.js +1 -0
  311. package/dist/esm/node_modules/@fluentui/react-dialog/lib/contexts/dialogSurfaceContext.js +1 -0
  312. package/dist/esm/node_modules/@fluentui/react-dialog/lib/utils/useDisableBodyScroll.js +1 -0
  313. package/dist/esm/node_modules/@fluentui/react-dialog/lib/utils/useDisableBodyScroll.styles.js +1 -0
  314. package/dist/esm/node_modules/@fluentui/react-dialog/lib/utils/useFocusFirstElement.js +1 -0
  315. package/dist/esm/node_modules/@fluentui/react-icons/lib/contexts/IconDirectionContext.js +1 -1
  316. package/dist/esm/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-0.js +1 -1
  317. package/dist/esm/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-1.js +1 -1
  318. package/dist/esm/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-14.js +1 -1
  319. package/dist/esm/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-3.js +1 -1
  320. package/dist/esm/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-5.js +1 -1
  321. package/dist/esm/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-6.js +1 -1
  322. package/dist/esm/node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js +1 -1
  323. package/dist/esm/node_modules/@fluentui/react-menu/lib/components/Menu/useMenu.js +1 -1
  324. package/dist/esm/node_modules/@fluentui/react-menu/lib/components/MenuItem/useMenuItem.js +1 -1
  325. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/MessageBarActions.js +1 -0
  326. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/renderMessageBarActions.js +1 -0
  327. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActions.js +1 -0
  328. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActionsContextValues.js +1 -0
  329. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarActions/useMessageBarActionsStyles.styles.js +1 -0
  330. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/MessageBarTitle.js +1 -0
  331. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/renderMessageBarTitle.js +1 -0
  332. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/useMessageBarTitle.js +1 -0
  333. package/dist/esm/node_modules/@fluentui/react-message-bar/lib/components/MessageBarTitle/useMessageBarTitleStyles.styles.js +1 -0
  334. package/dist/esm/node_modules/@fluentui/react-motion/lib/slots/presenceMotionSlot.js +1 -0
  335. package/dist/esm/node_modules/@fluentui/react-motion-components-preview/lib/components/Fade/Fade.js +1 -0
  336. package/dist/esm/node_modules/@fluentui/react-positioning/lib/utils/mergeArrowOffset.js +1 -0
  337. package/dist/esm/node_modules/@fluentui/react-provider/lib/components/FluentProvider/FluentProvider.js +1 -0
  338. package/dist/esm/node_modules/@fluentui/react-provider/lib/components/FluentProvider/createCSSRuleFromTheme.js +1 -0
  339. package/dist/esm/node_modules/@fluentui/react-provider/lib/components/FluentProvider/renderFluentProvider.js +1 -0
  340. package/dist/esm/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProvider.js +1 -0
  341. package/dist/esm/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderContextValues.js +1 -0
  342. package/dist/esm/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderStyles.styles.js +1 -0
  343. package/dist/esm/node_modules/@fluentui/react-provider/lib/components/FluentProvider/useFluentProviderThemeStyleTag.js +1 -0
  344. package/dist/esm/node_modules/@fluentui/react-search/lib/components/SearchBox/useSearchBox.js +1 -1
  345. package/dist/esm/node_modules/@fluentui/react-shared-contexts/lib/CustomStyleHooksContext/CustomStyleHooksContext.js +1 -1
  346. package/dist/esm/node_modules/@fluentui/react-shared-contexts/lib/OverridesContext/OverridesContext.js +1 -1
  347. package/dist/esm/node_modules/@fluentui/react-shared-contexts/lib/ProviderContext/ProviderContext.js +1 -1
  348. package/dist/esm/node_modules/@fluentui/react-shared-contexts/lib/ThemeClassNameContext/ThemeClassNameContext.js +1 -1
  349. package/dist/esm/node_modules/@fluentui/react-shared-contexts/lib/ThemeContext/ThemeContext.js +1 -0
  350. package/dist/esm/node_modules/@fluentui/react-shared-contexts/lib/TooltipVisibilityContext/TooltipContext.js +1 -0
  351. package/dist/esm/node_modules/@fluentui/react-tabster/lib/hooks/useIsNavigatingWithKeyboard.js +1 -0
  352. package/dist/esm/node_modules/@fluentui/react-timepicker-compat/lib/components/TimePicker/useTimePicker.js +1 -1
  353. package/dist/esm/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/Tooltip.js +1 -0
  354. package/dist/esm/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/private/constants.js +1 -0
  355. package/dist/esm/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/renderTooltip.js +1 -0
  356. package/dist/esm/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltip.js +1 -0
  357. package/dist/esm/node_modules/@fluentui/react-tooltip/lib/components/Tooltip/useTooltipStyles.styles.js +1 -0
  358. package/dist/esm/node_modules/@fluentui/react-utilities/lib/ssr/SSRContext.js +1 -1
  359. package/dist/esm/node_modules/@fluentui/tokens/lib/alias/lightColor.js +1 -0
  360. package/dist/esm/node_modules/@fluentui/tokens/lib/alias/lightColorPalette.js +1 -0
  361. package/dist/esm/node_modules/@fluentui/tokens/lib/global/borderRadius.js +1 -0
  362. package/dist/esm/node_modules/@fluentui/tokens/lib/global/colorPalette.js +1 -0
  363. package/dist/esm/node_modules/@fluentui/tokens/lib/global/colors.js +1 -0
  364. package/dist/esm/node_modules/@fluentui/tokens/lib/global/curves.js +1 -0
  365. package/dist/esm/node_modules/@fluentui/tokens/lib/global/durations.js +1 -0
  366. package/dist/esm/node_modules/@fluentui/tokens/lib/global/fonts.js +1 -0
  367. package/dist/esm/node_modules/@fluentui/tokens/lib/global/spacings.js +1 -0
  368. package/dist/esm/node_modules/@fluentui/tokens/lib/global/strokeWidths.js +1 -0
  369. package/dist/esm/node_modules/@fluentui/tokens/lib/sharedColorNames.js +1 -0
  370. package/dist/esm/node_modules/@fluentui/tokens/lib/statusColorMapping.js +1 -0
  371. package/dist/esm/node_modules/@fluentui/tokens/lib/utils/createLightTheme.js +1 -0
  372. package/dist/esm/node_modules/@fluentui/tokens/lib/utils/shadows.js +1 -0
  373. package/dist/esm/node_modules/@griffel/react/TextDirectionContext.esm.js +1 -1
  374. package/dist/esm/node_modules/jsqr/dist/jsQR.js +1 -0
  375. package/dist/esm/pages/AppFrame.js +1 -1
  376. package/dist/esm/pages/Chat.js +1 -1
  377. package/dist/esm/pages/Compose.js +1 -1
  378. package/dist/esm/pages/CrmPage.js +1 -1
  379. package/dist/esm/pages/CrmPagePersistent.js +1 -1
  380. package/dist/esm/pages/Debug.d.ts +4 -0
  381. package/dist/esm/pages/Debug.d.ts.map +1 -0
  382. package/dist/esm/pages/Debug.js +1 -0
  383. package/dist/esm/pages/FormAccept.js +1 -1
  384. package/dist/esm/pages/FormInvite.js +1 -1
  385. package/dist/esm/pages/FormPage.d.ts +11 -0
  386. package/dist/esm/pages/FormPage.d.ts.map +1 -0
  387. package/dist/esm/pages/FormPage.js +1 -0
  388. package/dist/esm/pages/Help.d.ts +7 -0
  389. package/dist/esm/pages/Help.d.ts.map +1 -0
  390. package/dist/esm/pages/Help.js +1 -0
  391. package/dist/esm/pages/HtmlViewer.js +1 -1
  392. package/dist/esm/pages/Login.js +1 -1
  393. package/dist/esm/pages/Purchase.js +1 -1
  394. package/dist/esm/pages/QrScan.d.ts +12 -0
  395. package/dist/esm/pages/QrScan.d.ts.map +1 -0
  396. package/dist/esm/pages/QrScan.js +1 -0
  397. package/dist/esm/pages/Sales.js +1 -1
  398. package/dist/esm/pages/SchemaEditor.d.ts +2 -0
  399. package/dist/esm/pages/SchemaEditor.d.ts.map +1 -0
  400. package/dist/esm/pages/SchemaEditor.js +1 -0
  401. package/dist/esm/pages/Search.js +1 -1
  402. package/dist/esm/pages/Snap.js +1 -1
  403. package/dist/esm/pages/index.d.ts +5 -0
  404. package/dist/esm/pages/index.d.ts.map +1 -1
  405. package/dist/esm/services/codicent.d.ts +7 -0
  406. package/dist/esm/services/codicent.d.ts.map +1 -1
  407. package/dist/esm/services/codicent.js +1 -1
  408. package/dist/esm/types/index.d.ts +188 -0
  409. package/dist/esm/types/index.d.ts.map +1 -0
  410. package/dist/esm/utils/appState.d.ts.map +1 -1
  411. package/dist/esm/utils/appState.js +1 -1
  412. package/dist/index.d.ts +523 -28
  413. package/package.json +4 -3
@@ -0,0 +1,20 @@
1
+ import React from "react";
2
+ import { Schema } from "../hooks/useObserveDataSchemas";
3
+ interface Message {
4
+ id: string;
5
+ content: string;
6
+ parentId?: string;
7
+ type?: string;
8
+ createdAt: Date;
9
+ }
10
+ interface GenericJsonRendererProps {
11
+ schema: Schema;
12
+ item: Message;
13
+ onPhotoUpdate?: (newPhoto: string) => void;
14
+ onStatusUpdate?: (isOpen: boolean) => void;
15
+ onUpdated?: (content: string) => void;
16
+ onSend?: (content: string, parentId?: string) => Promise<string>;
17
+ }
18
+ declare const GenericJsonRenderer: React.FC<GenericJsonRendererProps>;
19
+ export default GenericJsonRenderer;
20
+ //# sourceMappingURL=GenericJsonRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GenericJsonRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/GenericJsonRenderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,OAAO,EAAE,MAAM,EAAc,MAAM,gCAAgC,CAAC;AAEpE,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,UAAU,wBAAwB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;IACd,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAClE;AAED,QAAA,MAAM,mBAAmB,EAAE,KAAK,CAAC,EAAE,CAAC,wBAAwB,CAoR3D,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),i=require("react"),t=require("./Button.js"),n=require("./Text.js"),r=require("../hooks/useLocalization.js"),s=require("../utils/MessageContent.js");require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var o=require("./FileThumbnail.js"),l=require("../services/codicent.js"),a=require("./TimePicker.js"),c=require("./DatePicker.js"),d=require("./ColorPicker.js"),u=require("../node_modules/@fluentui/react-image/lib/components/Image/Image.js"),m=require("../node_modules/@fluentui/react-combobox/lib/components/Dropdown/Dropdown.js"),j=require("../node_modules/@fluentui/react-combobox/lib/components/Option/Option.js"),x=require("../node_modules/@fluentui/react-switch/lib/components/Switch/Switch.js");exports.default=({schema:h,item:p,onUpdated:g,onSend:y})=>{const v=new s.default(p.content),{mentions:f,tags:b}=v,[S,q]=i.useState(v.data),[w,k]=i.useState(S),[T,B]=i.useState(!1),[C,_]=i.useState(p.id),{t:D}=r.default();i.useEffect((()=>{B(JSON.stringify(w)!==JSON.stringify(S))}),[w,S,B]);const O=()=>`${f.length>0?"@"+f.join(" @"):""} #${b.join(" #")}\n${JSON.stringify(w)}`;i.useEffect((()=>{if(g){const e=O();g(e)}}),[p.content,w,g]),i.useEffect((()=>console.log("Modified data:",w)),[w]);return e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:20},children:[e.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[e.jsx(n.Text,{size:600,children:h.title}),h["ui:options"]?.icon&&e.jsx(u.Image,{src:l.CodicentService.getImageUrl(h["ui:options"]?.icon,32),alt:"icon",fit:"contain",width:32,height:32})]}),e.jsx(n.Text,{children:h.description}),e.jsx("div",{style:{display:"flex",flexDirection:"column",gap:4},children:Object.keys(h.properties).map((i=>((i,t,r)=>{const{title:s,type:u,description:h,format:p,items:g,default:y}=t,v=!0===t.readonly,f=void 0!==w[i]?w[i]:y,b=e.jsxs(e.Fragment,{children:[e.jsx(n.Text,{size:500,children:s}),e.jsx("br",{})]}),S=h?e.jsxs(e.Fragment,{children:[e.jsx(n.Text,{children:h}),e.jsx("br",{})]}):null;switch(u){case"string":return!0===v?e.jsxs("div",{style:{marginBottom:8},children:[e.jsx(n.Text,{size:"title"===p?600:500,style:{display:"block"},children:s}),h&&e.jsx(n.Text,{style:{display:"block",marginBottom:2},children:h}),"title"===p?null:e.jsx(n.Text,{children:f||"N/A"})]},i):"photo"===p?e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(o.FileThumbnail,{thumbnailSize:280,file:{id:f,filename:"",contentType:"image/png",createdAt:(new Date).toLocaleString()},getImageUrl:l.CodicentService.getImageUrl,onDelete:()=>r("")})]},i):"color"===p?e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(d.ColorPicker,{color:f,onChange:(e,i)=>r(i.str)})]},i):"date"===p?e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(c.DatePicker,{value:f?new Date(f):void 0,onSelectDate:e=>r(e?.toISOString()||"")})]},i):"time"===p?e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(a.TimePicker,{value:f,onTimeChange:(e,i)=>r(i?.toString()||"")})]},i):e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx("textarea",{value:f||"",onChange:e=>r(e.target.value),style:{width:"100%",minWidth:300,resize:"vertical",fontSize:16,padding:8},rows:Math.max(1,(f||"").split("\n").length)})]},i);case"boolean":return"open"===p?e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(x.Switch,{checked:"true"===w[i]||!0===w[i],onChange:(e,i)=>r(i.checked),disabled:v})]},i):e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(n.Text,{children:f?"Yes":"No"})]},i);case"array":return e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(m.Dropdown,{value:f&&""!==f?f:y||void 0,onOptionSelect:(e,i)=>r(i.optionValue),disabled:v,children:(g?.enum||[]).map((i=>e.jsx(j.Option,{value:i,children:i},i)))})]},i);default:return e.jsxs("div",{style:{marginBottom:8},children:[b,S,e.jsx(n.Text,{children:f||"N/A"})]},i)}})(i,h.properties[i],(e=>{"boolean"===h.properties[i].type&&(e=e.toString()),k({...w,[i]:e})}))))}),T&&!g&&e.jsxs("div",{style:{display:"flex",flexDirection:"row",gap:10,justifyContent:"flex-end"},children:[e.jsx(t.Button,{appearance:"secondary",disabled:!T,onClick:()=>k(S),children:D("Undo")}),e.jsx(t.Button,{appearance:"primary",disabled:!T,onClick:()=>{const e=O();y?y(e,C).then((e=>{_(e),q(w),B(!1)})):g&&g(e)},children:D("Save")})]}),y&&g&&e.jsx("div",{children:e.jsx(t.Button,{appearance:"primary",title:D("Skicka"),disabled:!T,icon:"SendFilled",onClick:()=>{const e=O();y&&y(e)},children:D("Spara")})})]})};
@@ -1 +1 @@
1
- "use strict";var e=require("react/jsx-runtime"),r=require("react-router-dom");require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js");var s=require("./VoiceIcon.js"),i=require("./AudioIcon.js");require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("react"),require("../services/codicent.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var a=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../hooks/useLocalization.js"),require("../hooks/useAppStyles.js"),require("./QrCodeDialog.js");var o=require("../node_modules/@griffel/react/makeStyles.esm.js"),t=require("../node_modules/@griffel/core/index.esm.js"),u=require("../node_modules/@fluentui/tokens/lib/tokens.js"),n=require("../node_modules/@fluentui/react-image/lib/components/Image/Image.js"),l=require("../node_modules/@fluentui/react-text/lib/components/presets/Title3/Title3.js"),j=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-13.js");const c=o.makeStyles({header:{...t.shorthands.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"}});exports.Header=({imageUrl:o,title:t,audio:d,voice:g})=>{const q=c(),p={backgroundColor:a.getConfigValue("APP_HEADER_COLOR")||u.tokens.colorBrandBackground,color:a.getConfigValue("APP_HEADER_TEXT_COLOR")||u.tokens.colorNeutralForegroundOnBrand};return e.jsxs("header",{className:q.header,style:p,children:[e.jsxs("div",{className:q.headerItem,children:[o&&e.jsx(n.Image,{className:q.logo,alt:"Logo",src:o,height:40}),t&&e.jsx(l.Title3,{children:t})]}),e.jsxs("div",{className:q.headerItem,children:[d&&a.getConfigValue("SHOW_MICROPHONE_BUTTON")&&e.jsx(i.default,{audio:d,disabled:g?.isConnected}),g&&a.getConfigValue("SHOW_VOICE_BUTTON")&&e.jsx(s.default,{voice:g,disabled:d?.isRecording}),a.getConfigValue("SHOW_SETTINGS_BUTTON")&&e.jsx(r.Link,{to:"/menu",className:q.link,children:e.jsx(j.Settings24Regular,{})})]})]})};
1
+ "use strict";var e=require("react/jsx-runtime"),r=require("react-router-dom");require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js");var s=require("./VoiceIcon.js"),i=require("./AudioIcon.js");require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("react"),require("../services/codicent.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var a=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("../hooks/useLocalization.js"),require("react-dom/client"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js");var o=require("../node_modules/@griffel/react/makeStyles.esm.js"),u=require("../node_modules/@griffel/core/index.esm.js"),t=require("../node_modules/@fluentui/tokens/lib/tokens.js"),n=require("../node_modules/@fluentui/react-image/lib/components/Image/Image.js"),l=require("../node_modules/@fluentui/react-text/lib/components/presets/Title3/Title3.js"),j=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-13.js");const c=o.makeStyles({header:{...u.shorthands.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"}});exports.Header=({imageUrl:o,title:u,audio:d,voice:q})=>{const g=c(),m={backgroundColor:a.getConfigValue("APP_HEADER_COLOR")||t.tokens.colorBrandBackground,color:a.getConfigValue("APP_HEADER_TEXT_COLOR")||t.tokens.colorNeutralForegroundOnBrand};return e.jsxs("header",{className:g.header,style:m,children:[e.jsxs("div",{className:g.headerItem,children:[o&&e.jsx(n.Image,{className:g.logo,alt:"Logo",src:o,height:40}),u&&e.jsx(l.Title3,{children:u})]}),e.jsxs("div",{className:g.headerItem,children:[d&&a.getConfigValue("SHOW_MICROPHONE_BUTTON")&&e.jsx(i.default,{audio:d,disabled:q?.isConnected}),q&&a.getConfigValue("SHOW_VOICE_BUTTON")&&e.jsx(s.default,{voice:q,disabled:d?.isRecording}),a.getConfigValue("SHOW_SETTINGS_BUTTON")&&e.jsx(r.Link,{to:"/menu",className:g.link,children:e.jsx(j.Settings24Regular,{})})]})]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js");var r=require("../hooks/useLocalization.js");require("../hooks/useAppStyles.js");var n=require("../node_modules/@griffel/react/makeStyles.esm.js"),o=require("../node_modules/@fluentui/react-menu/lib/components/Menu/Menu.js"),i=require("../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/MenuTrigger.js"),s=require("../node_modules/@fluentui/react-button/lib/components/Button/Button.js"),a=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js"),u=require("../node_modules/@fluentui/react-menu/lib/components/MenuPopover/MenuPopover.js"),l=require("../node_modules/@fluentui/react-menu/lib/components/MenuList/MenuList.js"),c=require("../node_modules/@fluentui/react-menu/lib/components/MenuItem/MenuItem.js"),d=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-3.js"),m=require("../node_modules/@fluentui/tokens/lib/tokens.js"),p=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-1.js");const h=n.makeStyles({container:{position:"relative",width:"100%",height:"100%"},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:m.tokens.colorNeutralBackground1,boxShadow:m.tokens.shadow16}});exports.default=({html:n,onDismiss:m})=>{const g=t.useRef(null),j=t.useRef(null),[q,f]=t.useState(1),b=h(),{t:x}=r.default();t.useEffect((()=>{const e=e=>{try{const t=e.contentDocument||e.contentWindow?.document;if(!t)return;if(t.getElementById("print-color-preserve-styles"))return;const r=t.createElement("style");r.id="print-color-preserve-styles",r.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 ",t.head.appendChild(r)}catch(e){console.warn("Failed to inject print styles into iframe:",e)}},t=g.current,r=j.current;let n,o;return t&&(n=()=>e(t),t.addEventListener("load",n),"complete"===t.contentDocument?.readyState&&e(t)),r&&(o=()=>e(r),r.addEventListener("load",o),"complete"===r.contentDocument?.readyState&&e(r)),()=>{t&&n&&t.removeEventListener("load",n),r&&o&&r.removeEventListener("load",o)}}),[n]);return e.jsxs("div",{className:b.container,onTouchStart:e=>{if(2===e.touches.length){const t=e.touches[0],r=e.touches[1],n=Math.sqrt(Math.pow(r.clientX-t.clientX,2)+Math.pow(r.clientY-t.clientY,2));g.current?.setAttribute("data-initial-distance",n.toString()),g.current?.setAttribute("data-initial-scale",q.toString())}},onTouchMove:e=>{if(2===e.touches.length){const t=e.touches[0],r=e.touches[1],n=parseFloat(g.current?.getAttribute("data-initial-distance")||"0"),o=parseFloat(g.current?.getAttribute("data-initial-scale")||"1"),i=Math.sqrt(Math.pow(r.clientX-t.clientX,2)+Math.pow(r.clientY-t.clientY,2));if(n>0){const e=Math.min(Math.max(o*(i/n),.5),3);f(e),g.current&&(g.current.style.transform=`scale(${e})`),j.current&&(j.current.style.transform=`scale(${e})`)}}},onTouchEnd:()=>{g.current?.removeAttribute("data-initial-distance"),g.current?.removeAttribute("data-initial-scale")},children:[e.jsx("iframe",{ref:g,className:b.iframe,title:"html",srcDoc:n}),e.jsx("iframe",{ref:j,className:b.iframe2,title:"html",srcDoc:n})," ",e.jsxs(o.Menu,{children:[e.jsx(i.MenuTrigger,{children:e.jsx(s.Button,{icon:e.jsx(a.MoreHorizontal24Regular,{}),className:b.menuButton})}),e.jsx(u.MenuPopover,{className:b.menuPopover,children:e.jsxs(l.MenuList,{children:[e.jsx(c.MenuItem,{icon:e.jsx(p.DismissRegular,{}),onClick:m,children:x("Stäng")}),e.jsx(c.MenuItem,{icon:e.jsx(d.PrintRegular,{}),onClick:()=>{g.current&&g.current.contentWindow?.print()},children:x("Skriv ut")}),e.jsx(c.MenuItem,{icon:e.jsx(p.CopyRegular,{}),onClick:async()=>{if(j.current)try{const e=j.current,t=e.contentWindow,r=e.contentDocument||t?.document;if(!r||!t)return;r.querySelectorAll("canvas").forEach((e=>{const t=r.createElement("img");t.src=e.toDataURL("image/png"),t.style.cssText=window.getComputedStyle(e).cssText,t.width=e.width,t.height=e.height,e.parentNode?.insertBefore(t,e),e.parentNode?.removeChild(e)}));let n="";Array.from(r.styleSheets).forEach((e=>{try{Array.from(e.cssRules||[]).forEach((e=>{n+=e.cssText+"\n"}))}catch(e){console.warn("Could not access stylesheet",e)}}));r.body.querySelectorAll("*").forEach((e=>{const r=t.getComputedStyle(e);let n="";if(["fontFamily","fontSize","fontWeight","color","backgroundColor","margin","padding","border","textAlign","lineHeight","letterSpacing","display","width","height"].forEach((e=>{r[e]&&"initial"!==r[e]&&"none"!==r[e]&&"normal"!==r[e]&&(n+=`${String(e)}:${r[e]};`)})),n){const t=e.getAttribute("style")||"";e.setAttribute("style",t+n)}}));const o=r.createElement("style");o.textContent=n,r.head.appendChild(o);const i=r.documentElement.outerHTML,s=r.body.innerText,a=document.createElement("div");a.innerHTML=i;const u=window.location.href;if(a.querySelectorAll("img").forEach((e=>{!e.src||e.src.startsWith("http")||e.src.startsWith("data:")||(e.src=new URL(e.src,u).href)})),navigator.clipboard&&window.ClipboardItem){const e=new Blob([a.outerHTML],{type:"text/html"}),t=new Blob([s],{type:"text/plain"}),r=new ClipboardItem({"text/html":e,"text/plain":t});await navigator.clipboard.write([r])}else{const e=t.getSelection();if(e){e.removeAllRanges();const t=r.createRange();t.selectNodeContents(r.body),e.addRange(t),r.execCommand("copy"),e.removeAllRanges()}}}catch(e){console.error("Copy failed:",e),navigator.clipboard.writeText(n)}},children:x("Kopiera")})]})})]})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js");var r=require("../hooks/useLocalization.js");require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js");var n=require("../node_modules/@griffel/react/makeStyles.esm.js"),o=require("../node_modules/@fluentui/react-menu/lib/components/Menu/Menu.js"),i=require("../node_modules/@fluentui/react-menu/lib/components/MenuTrigger/MenuTrigger.js"),s=require("../node_modules/@fluentui/react-button/lib/components/Button/Button.js"),a=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js"),u=require("../node_modules/@fluentui/react-menu/lib/components/MenuPopover/MenuPopover.js"),c=require("../node_modules/@fluentui/react-menu/lib/components/MenuList/MenuList.js"),l=require("../node_modules/@fluentui/react-menu/lib/components/MenuItem/MenuItem.js"),d=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-3.js"),m=require("../node_modules/@fluentui/tokens/lib/tokens.js"),p=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-1.js");const h=n.makeStyles({container:{position:"relative",width:"100%",height:"100%"},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:m.tokens.colorNeutralBackground1,boxShadow:m.tokens.shadow16}});exports.default=({html:n,onDismiss:m})=>{const g=t.useRef(null),j=t.useRef(null),[q,f]=t.useState(1),b=h(),{t:x}=r.default();t.useEffect((()=>{const e=e=>{try{const t=e.contentDocument||e.contentWindow?.document;if(!t)return;if(t.getElementById("print-color-preserve-styles"))return;const r=t.createElement("style");r.id="print-color-preserve-styles",r.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 ",t.head.appendChild(r)}catch(e){console.warn("Failed to inject print styles into iframe:",e)}},t=g.current,r=j.current;let n,o;return t&&(n=()=>e(t),t.addEventListener("load",n),"complete"===t.contentDocument?.readyState&&e(t)),r&&(o=()=>e(r),r.addEventListener("load",o),"complete"===r.contentDocument?.readyState&&e(r)),()=>{t&&n&&t.removeEventListener("load",n),r&&o&&r.removeEventListener("load",o)}}),[n]);return e.jsxs("div",{className:b.container,onTouchStart:e=>{if(2===e.touches.length){const t=e.touches[0],r=e.touches[1],n=Math.sqrt(Math.pow(r.clientX-t.clientX,2)+Math.pow(r.clientY-t.clientY,2));g.current?.setAttribute("data-initial-distance",n.toString()),g.current?.setAttribute("data-initial-scale",q.toString())}},onTouchMove:e=>{if(2===e.touches.length){const t=e.touches[0],r=e.touches[1],n=parseFloat(g.current?.getAttribute("data-initial-distance")||"0"),o=parseFloat(g.current?.getAttribute("data-initial-scale")||"1"),i=Math.sqrt(Math.pow(r.clientX-t.clientX,2)+Math.pow(r.clientY-t.clientY,2));if(n>0){const e=Math.min(Math.max(o*(i/n),.5),3);f(e),g.current&&(g.current.style.transform=`scale(${e})`),j.current&&(j.current.style.transform=`scale(${e})`)}}},onTouchEnd:()=>{g.current?.removeAttribute("data-initial-distance"),g.current?.removeAttribute("data-initial-scale")},children:[e.jsx("iframe",{ref:g,className:b.iframe,title:"html",srcDoc:n}),e.jsx("iframe",{ref:j,className:b.iframe2,title:"html",srcDoc:n})," ",e.jsxs(o.Menu,{children:[e.jsx(i.MenuTrigger,{children:e.jsx(s.Button,{icon:e.jsx(a.MoreHorizontal24Regular,{}),className:b.menuButton})}),e.jsx(u.MenuPopover,{className:b.menuPopover,children:e.jsxs(c.MenuList,{children:[e.jsx(l.MenuItem,{icon:e.jsx(p.DismissRegular,{}),onClick:m,children:x("Stäng")}),e.jsx(l.MenuItem,{icon:e.jsx(d.PrintRegular,{}),onClick:()=>{g.current&&g.current.contentWindow?.print()},children:x("Skriv ut")}),e.jsx(l.MenuItem,{icon:e.jsx(p.CopyRegular,{}),onClick:async()=>{if(j.current)try{const e=j.current,t=e.contentWindow,r=e.contentDocument||t?.document;if(!r||!t)return;r.querySelectorAll("canvas").forEach((e=>{const t=r.createElement("img");t.src=e.toDataURL("image/png"),t.style.cssText=window.getComputedStyle(e).cssText,t.width=e.width,t.height=e.height,e.parentNode?.insertBefore(t,e),e.parentNode?.removeChild(e)}));let n="";Array.from(r.styleSheets).forEach((e=>{try{Array.from(e.cssRules||[]).forEach((e=>{n+=e.cssText+"\n"}))}catch(e){console.warn("Could not access stylesheet",e)}}));r.body.querySelectorAll("*").forEach((e=>{const r=t.getComputedStyle(e);let n="";if(["fontFamily","fontSize","fontWeight","color","backgroundColor","margin","padding","border","textAlign","lineHeight","letterSpacing","display","width","height"].forEach((e=>{r[e]&&"initial"!==r[e]&&"none"!==r[e]&&"normal"!==r[e]&&(n+=`${String(e)}:${r[e]};`)})),n){const t=e.getAttribute("style")||"";e.setAttribute("style",t+n)}}));const o=r.createElement("style");o.textContent=n,r.head.appendChild(o);const i=r.documentElement.outerHTML,s=r.body.innerText,a=document.createElement("div");a.innerHTML=i;const u=window.location.href;if(a.querySelectorAll("img").forEach((e=>{!e.src||e.src.startsWith("http")||e.src.startsWith("data:")||(e.src=new URL(e.src,u).href)})),navigator.clipboard&&window.ClipboardItem){const e=new Blob([a.outerHTML],{type:"text/html"}),t=new Blob([s],{type:"text/plain"}),r=new ClipboardItem({"text/html":e,"text/plain":t});await navigator.clipboard.write([r])}else{const e=t.getSelection();if(e){e.removeAllRanges();const t=r.createRange();t.selectNodeContents(r.body),e.addRange(t),r.execCommand("copy"),e.removeAllRanges()}}}catch(e){console.error("Copy failed:",e),navigator.clipboard.writeText(n)}},children:x("Kopiera")})]})})]})]})};
@@ -0,0 +1,11 @@
1
+ interface LanguageOption {
2
+ key: string;
3
+ name: string;
4
+ }
5
+ interface LanguageSelectorProps {
6
+ languages?: LanguageOption[];
7
+ defaultLanguage?: string;
8
+ }
9
+ export declare const LanguageSelector: React.FC<LanguageSelectorProps>;
10
+ export default LanguageSelector;
11
+ //# sourceMappingURL=LanguageSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LanguageSelector.d.ts","sourceRoot":"","sources":["../../../src/components/LanguageSelector.tsx"],"names":[],"mappings":"AAuCA,UAAU,cAAc;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,qBAAqB;IAC7B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAaD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA0D5D,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),a=require("../hooks/useLocalization.js"),t=require("react"),n=require("../node_modules/@griffel/react/makeStyles.esm.js"),o=require("../node_modules/@fluentui/react-combobox/lib/components/Dropdown/Dropdown.js"),r=require("../node_modules/@fluentui/react-combobox/lib/components/Option/Option.js");const s=n.makeStyles({container:{marginTop:"16px",marginBottom:"16px"},label:{fontSize:"14px",fontWeight:"600",marginBottom:"8px"}}),u=[{key:"en",name:"English"},{key:"sv",name:"Svenska"},{key:"de",name:"Deutsch"},{key:"dk",name:"Dansk"},{key:"fr",name:"Français"},{key:"no",name:"Norsk"},{key:"zh",name:"中文"},{key:"pl",name:"Polski"}],l=e=>{if("undefined"!=typeof navigator&&navigator.language){const a=navigator.language.toLowerCase().split("-")[0];if(e.some((e=>e.key===a)))return a}return"en"},i=({languages:n=u,defaultLanguage:i="en"})=>{const g=s(),{t:c,currentLanguage:m,setCurrentLanguage:d}=a.default(),[p,k]=t.useState((()=>localStorage.getItem("user_language")||"auto"));t.useEffect((()=>{const e=localStorage.getItem("user_language");k(e&&"auto"!==e?e:"auto")}),[m]);const f=l(n),x=n.find((e=>e.key===f))?.name||"English";return e.jsxs("div",{className:g.container,children:[e.jsx("div",{className:g.label,children:c("Language")}),e.jsxs(o.Dropdown,{value:"auto"===p?`${c("Auto")} (${x})`:n.find((e=>e.key===p))?.name||c("Select language"),selectedOptions:[p],onOptionSelect:(e,a)=>{const t=a.value;if(k(t),"auto"===t){const e=l(n);localStorage.setItem("user_language","auto"),d(e)}else localStorage.setItem("user_language",t),d(t)},children:[e.jsxs(r.Option,{value:"auto",text:`${c("Auto")} (${x})`,children:[c("Auto")," (",x,")"]}),n.map((a=>e.jsx(r.Option,{value:a.key,text:a.name,children:a.name},a.key)))]})]})};exports.LanguageSelector=i,exports.default=i;
@@ -0,0 +1,39 @@
1
+ import React from "react";
2
+ /** Action configuration for a column, similar to app button actions */
3
+ export interface ColumnAction {
4
+ /** Icon component to display (e.g., from @fluentui/react-icons). Pass the component itself, not a string name. */
5
+ icon: React.ComponentType;
6
+ /** Tooltip text for the action icon */
7
+ tooltip?: string;
8
+ /** Callback when the action icon is clicked, receives the row data as context */
9
+ onClick: (rowData: Record<string, unknown>) => void;
10
+ }
11
+ export interface ColumnDefinition {
12
+ key: string | string[];
13
+ title?: string;
14
+ hidden?: boolean;
15
+ hideOnMobile?: boolean;
16
+ maxWidth?: number;
17
+ type?: "file" | "checkbox" | undefined;
18
+ editable?: boolean;
19
+ filterable?: boolean;
20
+ /** Default sort direction for this column. If multiple columns have defaultSort, only the first one is used. */
21
+ defaultSort?: "asc" | "desc";
22
+ /** Optional action icon configuration. When set, displays an icon in the cell that triggers the callback with row data. */
23
+ action?: ColumnAction;
24
+ /** Optional formatter function to transform the cell value for display. Receives the raw value and returns the formatted string. */
25
+ format?: (value: unknown) => string;
26
+ }
27
+ export interface ListViewProps {
28
+ data: Record<string, unknown>[];
29
+ columns?: ColumnDefinition[];
30
+ canEdit?: boolean;
31
+ onEdit?: (item: Record<string, unknown>, index: number) => void;
32
+ onDelete?: (item: Record<string, unknown>, index: number) => void;
33
+ onToggleCheckbox?: (item: Record<string, unknown>, key: string | string[], newValue: boolean, index: number) => void;
34
+ onFilteredDataChange?: (filteredData: Record<string, unknown>[]) => void;
35
+ }
36
+ export declare const ListView: React.FC<ListViewProps>;
37
+ declare const _default: React.NamedExoticComponent<ListViewProps>;
38
+ export default _default;
39
+ //# sourceMappingURL=ListView.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../../src/components/ListView.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAuC,MAAM,OAAO,CAAC;AAgB5D,uEAAuE;AACvE,MAAM,WAAW,YAAY;IAC3B,kHAAkH;IAClH,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC;IAC1B,uCAAuC;IACvC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;CACrD;AA2JD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gHAAgH;IAChH,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,2HAA2H;IAC3H,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,oIAAoI;IACpI,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;CACrC;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClE,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrH,oBAAoB,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC;CAC1E;AAID,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA8b5C,CAAC;;AAGF,wBAAoC"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),o=require("../services/codicent.js"),n=require("../hooks/useLocalization.js"),i=require("../node_modules/@griffel/react/makeStyles.esm.js"),r=require("../node_modules/@fluentui/react-button/lib/components/Button/Button.js"),l=require("../node_modules/@fluentui/react-checkbox/lib/components/Checkbox/Checkbox.js"),a=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js"),s=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-5.js"),c=require("../node_modules/@fluentui/react-dialog/lib/components/Dialog/Dialog.js"),d=require("../node_modules/@fluentui/react-dialog/lib/components/DialogSurface/DialogSurface.js"),u=require("../node_modules/@fluentui/react-dialog/lib/components/DialogBody/DialogBody.js"),p=require("../node_modules/@fluentui/react-dialog/lib/components/DialogTitle/DialogTitle.js"),h=require("../node_modules/@fluentui/react-dialog/lib/components/DialogContent/DialogContent.js"),x=require("../node_modules/@fluentui/react-tooltip/lib/components/Tooltip/Tooltip.js");const m=i.makeStyles({container:{width:"100%",overflowX:"auto",userSelect:"text"},table:{width:"100%",borderCollapse:"collapse",backgroundColor:"#ffffff",fontSize:"14px",tableLayout:"fixed",userSelect:"text"},th:{textAlign:"left",padding:"12px 8px",borderBottom:"2px solid #e0e0e0",fontWeight:"600",backgroundColor:"#f5f5f5",position:"sticky",top:0,zIndex:1,cursor:"pointer",userSelect:"none","&:hover":{backgroundColor:"#e8e8e8"}},td:{padding:"12px 8px",borderBottom:"1px solid #e0e0e0",verticalAlign:"top",wordWrap:"break-word",overflow:"hidden",userSelect:"text"},tdTruncated:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap","@media (hover: none)":{cursor:"pointer"}},tr:{"&:hover":{backgroundColor:"#f9f9f9"}},emptyState:{padding:"20px",textAlign:"center",color:"#666"},sortIndicator:{marginLeft:"4px",fontSize:"10px"},hideOnMobile:{"@media (max-width: 768px)":{display:"none"}},dialogContent:{wordWrap:"break-word",whiteSpace:"pre-wrap",maxHeight:"60vh",overflowY:"auto"},thumbnail:{maxWidth:"50px",maxHeight:"50px",objectFit:"cover"},tooltip:{maxWidth:"600px",whiteSpace:"normal",wordWrap:"break-word"},editButton:{minWidth:"auto",padding:"4px 8px"},actionsColumn:{width:"100px",textAlign:"center"},filterInput:{width:"100%",padding:"4px 8px",fontSize:"14px",border:"1px solid #e0e0e0",borderRadius:"4px",paddingRight:"28px"},filterWrapper:{position:"relative"},clearFilterButton:{position:"absolute",right:"6px",top:"50%",transform:"translateY(-50%)",minWidth:"auto",height:"20px",padding:"0 6px",lineHeight:"18px"},filterToolbar:{display:"flex",justifyContent:"flex-end",padding:"8px",gap:"8px"},cellWithAction:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"4px"},actionIcon:{minWidth:"auto",padding:"2px",marginLeft:"4px",flexShrink:0,cursor:"pointer",opacity:.7,"&:hover":{opacity:1}},cellText:{flex:1,overflow:"hidden",textOverflow:"ellipsis"}}),f=(e,t)=>{if("string"==typeof t)return e[t];for(const o of t)if(void 0!==e[o])return e[o]},g=({data:i,columns:g,canEdit:j,onEdit:b,onDelete:y,onToggleCheckbox:k,onFilteredDataChange:C})=>{const S=m(),{visibleColumns:w,defaultSortIndex:v,defaultSortDirection:W}=t.useMemo((()=>{const e=i&&i.length>0?Array.from(new Set(i.flatMap((e=>Object.keys(e))))):[],t=(g||e.map((e=>({key:e})))).filter((e=>!e.hidden)),o=t.findIndex((e=>e.defaultSort));return{visibleColumns:t,defaultSortIndex:o,defaultSortDirection:o>=0&&t[o].defaultSort||null}}),[i,g]),[N,D]=t.useState(v>=0?v:null),[$,B]=t.useState(W),[q,T]=t.useState(!1),[_,I]=t.useState({title:"",text:""}),[M,A]=t.useState({}),[O,z]=t.useState(0),{t:F}=n.default(),L=e=>e.title?F(e.title):Array.isArray(e.key)?e.key[0]:e.key,E=e=>{const t=[];return e.hideOnMobile&&t.push(S.hideOnMobile),t.join(" ")},H=e=>null==e||"string"==typeof e&&e.startsWith("[")&&e.endsWith("]")?"":"object"==typeof e?JSON.stringify(e):String(e),P=[...i];if(null!==N&&$){const e=w[N];P.sort(((t,o)=>{const n=f(t,e.key),i=f(o,e.key);if(null==n)return 1;if(null==i)return-1;let r=0;return r="string"==typeof n&&"string"==typeof i?n.localeCompare(i):"number"==typeof n&&"number"==typeof i?n-i:String(n).localeCompare(String(i)),"asc"===$?r:-r}))}const R=t.useMemo((()=>P.filter((e=>{for(const[t,o]of Object.entries(M)){const n=parseInt(t),i=w[n],r=f(e,i.key),l=H(r).toLowerCase(),a=o.toLowerCase();if(!l.includes(a))return!1}return!0}))),[P,M,w]);t.useEffect((()=>{C&&C(R)}),[R,C]);const Y="undefined"!=typeof window?window.innerHeight-250:600,J=Math.max(0,Math.floor(O/49)-5),U=Math.min(R.length,Math.ceil((O+Y)/49)+5),V=R.slice(J,U),X=49*R.length,G=49*J,K=(e,t)=>{if(void 0!==e.id)return String(e.id);return`row-${t}-${(e=>{let t=0;for(let o=0;o<e.length;o++)t=(t<<5)-t+e.charCodeAt(o),t|=0;return Math.abs(t)})(w.slice(0,3).map((t=>String(f(e,t.key)??""))).join("-"))}`};return i&&0!==i.length?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:S.container,onScroll:e=>{z(e.currentTarget.scrollTop)},style:{maxHeight:"calc(100vh - 200px)",overflowY:"auto"},children:e.jsxs("table",{className:S.table,children:[e.jsxs("thead",{children:[e.jsxs("tr",{children:[w.map(((t,o)=>{const n=t.maxWidth?{width:`${t.maxWidth}px`,maxWidth:`${t.maxWidth}px`}:{};return e.jsxs("th",{className:`${S.th} ${E(t)}`.trim(),style:n,onClick:()=>(e=>{N===e?"asc"===$?B("desc"):"desc"===$&&(D(null),B(null)):(D(e),B("asc"))})(o),children:[L(t),N===o&&e.jsx("span",{className:S.sortIndicator,children:"asc"===$?"▲":"▼"})]},o)})),j&&e.jsx("th",{className:`${S.th} ${S.actionsColumn}`,style:{width:"100px"},children:F("Actions")})]}),e.jsxs("tr",{children:[w.map(((t,o)=>{const n=t.maxWidth?{width:`${t.maxWidth}px`,maxWidth:`${t.maxWidth}px`}:{};return e.jsx("th",{className:E(t),style:n,children:t.filterable&&e.jsxs("div",{className:S.filterWrapper,children:[e.jsx("input",{type:"text",className:S.filterInput,placeholder:F("Filter")+"...",value:M[o]||"",onChange:e=>((e,t)=>{A((o=>{const n={...o};return""===t.trim()?delete n[e]:n[e]=t,n}))})(o,e.target.value),onClick:e=>e.stopPropagation()}),(M[o]||"").length>0&&e.jsx(r.Button,{appearance:"subtle",className:S.clearFilterButton,onClick:e=>{e.stopPropagation(),(e=>{A((t=>{const o={...t};return delete o[e],o}))})(o)},children:"×"})]})},o)})),j&&e.jsx("th",{className:S.actionsColumn})]})]}),e.jsxs("tbody",{children:[J>0&&e.jsx("tr",{style:{height:`${G}px`},children:e.jsx("td",{colSpan:w.length+(j?1:0),style:{padding:0,border:"none"}})}),V.map(((t,n)=>{const i=t._index,c="number"==typeof i?i:J+n;return e.jsxs("tr",{className:S.tr,children:[w.map(((n,i)=>{const a=f(t,n.key),s=n.format?n.format(a):H(a),d=n.maxWidth?`${S.td} ${S.tdTruncated} ${E(n)}`.trim():`${S.td} ${E(n)}`.trim(),u=()=>{window.matchMedia("(hover: hover)").matches||n.maxWidth&&s.length>0&&(I({title:L(n),text:s}),T(!0))};if("file"===n.type&&s)return e.jsx("td",{className:d,onClick:u,children:e.jsx("a",{href:o.CodicentService.getFileUrl(s),target:"_blank",rel:"noopener noreferrer",children:F("Download")})},i);if("checkbox"===n.type){const o=!0===a||"true"===a||"yes"===a||"1"===a;return e.jsx("td",{className:d,children:e.jsx(l.Checkbox,{checked:o,onChange:(e,o)=>{k&&k(t,n.key,!0===o.checked,c)}})},i)}const p=()=>n.maxWidth&&s.length>0?e.jsx(x.Tooltip,{content:{children:s,style:{maxWidth:"600px",whiteSpace:"normal"}},relationship:"description",children:e.jsx("span",{children:s})}):s;return e.jsx("td",{className:d,onClick:u,children:n.action?e.jsxs("div",{className:S.cellWithAction,children:[e.jsx("span",{className:S.cellText,children:p()}),(()=>{if(!n.action)return null;const o=n.action,i=n.action.icon,l=e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(i,{}),className:S.actionIcon,onClick:e=>{e.stopPropagation(),o.onClick(t)},size:"small"});return o.tooltip?e.jsx(x.Tooltip,{content:F(o.tooltip),relationship:"label",children:l}):l})()]}):p()},i)})),j&&(b||y)&&e.jsx("td",{className:`${S.td} ${S.actionsColumn}`,children:e.jsxs("div",{style:{display:"flex",gap:"4px",justifyContent:"center"},children:[b&&e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(a.Edit24Regular,{}),className:S.editButton,onClick:()=>b(t,c),title:F("Edit")}),y&&e.jsx(r.Button,{appearance:"subtle",icon:e.jsx(s.Delete24Regular,{}),className:S.editButton,onClick:()=>y(t,c),title:F("Delete")})]})})]},K(t,c))})),U<R.length&&e.jsx("tr",{style:{height:X-G-49*V.length+"px"},children:e.jsx("td",{colSpan:w.length+(j?1:0),style:{padding:0,border:"none"}})})]})]})}),e.jsx(c.Dialog,{open:q,onOpenChange:(e,t)=>T(t.open),children:e.jsx(d.DialogSurface,{children:e.jsxs(u.DialogBody,{children:[e.jsx(p.DialogTitle,{children:_.title}),e.jsx(h.DialogContent,{className:S.dialogContent,children:_.text})]})})})]}):e.jsx("div",{className:S.emptyState,children:F("No data to display")})};var j=t.memo(g);exports.ListView=g,exports.default=j;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../services/codicent.js"),require("./Markdown.js");var a=require("./Textarea.js"),t=require("./Button.js");require("./CompoundButton.js");var i=require("./Spinner.js");require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js");var s=require("../utils/MessageContent.js");require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var o=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var n=require("./FileThumbnail.js");require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js");var l=require("../hooks/useLocalization.js");require("../hooks/useAppStyles.js");var u=require("../hooks/useToaster.js"),c=require("../node_modules/@griffel/react/makeStyles.esm.js"),p=require("../node_modules/@fluentui/tokens/lib/tokens.js");const d=c.makeStyles({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:p.tokens.colorNeutralForeground2,"&:hover":{color:p.tokens.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:p.tokens.colorNeutralStroke1,borderRadius:"3px"}}});exports.default=({defaultText:c,onSend:p,onLocationChange:g,hasLocation:j,files:f=[],onFilesChange:m,onUploadFile:q,onUploadImage:x,onUploadCamera:h,getImageUrl:v,isUploading:b,rows:k,size:y,disableSend:C,placeholder:S,onChange:w,onImagePasted:B,onHandleDefaultFiles:T})=>{const[_,D]=r.useState(""),[F,N]=r.useState([]),I=d(),z=u.default(),{t:A}=l.default();r.useEffect((()=>{w?.(_)}),[_,w]),r.useEffect((()=>{const e=new s.default(c||"");D(e.content||""),N(e.tags||[]),e.files.length>0&&T?.(e.files)}),[c]);const P=async()=>{if(""===_.trim()&&0===f.length)return void z.notify(A("Meddelandet får inte vara tomt"),"","","error");const e=F.length>0?`#${F.join(" #")} `:"#log ";p(e+_),D("");const r=new s.default(c||"");N(r.tags||[]),m?.([])};return e.jsx("div",{className:I.container,onDrop:async e=>{if(e.preventDefault(),!m)return;const r=Array.from(e.dataTransfer.files);if(r.length>0)if(B&&r.every((e=>e.type&&e.type.startsWith("image/"))))for(const e of r)B(e);else m(r)},onDragOver:e=>{e.preventDefault()},children:e.jsxs("div",{className:I.textareaWrapper,children:[v&&f.length>0&&e.jsxs("div",{className:I.fileList,children:[f.map((r=>e.jsx(n.FileThumbnail,{file:r,getImageUrl:v,onDelete:()=>{return e=r.id,void m?.(f.filter((r=>r.id!==e)));var e}},r.id))),b&&e.jsx(i.Spinner,{})]}),e.jsx(a.Textarea,{size:"large",resize:"vertical",rows:k||7,value:_,onChange:e=>D(e.target.value),placeholder:S||A("Skriv vad du vill spara här..."),onKeyDown:e=>{!0!==C?"Enter"!==e.key||e.shiftKey||(e.preventDefault(),P()):"Enter"===e.key&&e.ctrlKey&&(e.preventDefault(),P())},onPaste:e=>{if(!m&&!B)return;const r=e.clipboardData.items;for(const a of r)if("file"===a.kind){const r=a.getAsFile();r&&(B&&r.type.startsWith("image/")?(e.preventDefault(),B(r)):m&&(e.preventDefault(),m([r])))}},className:I.textarea}),e.jsxs("div",{className:I.actionButtonRow,children:[e.jsxs("div",{className:I.leftButtonGroup,children:[q&&e.jsx(t.Button,{appearance:"transparent",icon:x?"AttachRegular":"AddRegular",size:"small",title:A("Lägg till fil"),onClick:q,className:I.actionButton}),x&&e.jsx(t.Button,{appearance:"transparent",icon:"ImageRegular",size:"small",title:A("Lägg till bild"),onClick:x,className:I.actionButton}),h&&e.jsx(t.Button,{appearance:"transparent",icon:"CameraRegular",size:"small",title:A("Ta kort"),onClick:h,className:I.actionButton}),g&&e.jsx(t.Button,{appearance:"transparent",icon:j?"LocationFilled":"LocationRegular",size:"small",title:A("Spara plats"),onClick:()=>g(!j),className:I.actionButton})]}),e.jsx(t.Button,{appearance:o.getConfigValue("SHOW_SAVE_BUTTON_TEXT")?"primary":"subtle",onClick:P,icon:"SendFilled",iconPosition:"before",title:A("Spara"),size:y||(o.getConfigValue("SHOW_SAVE_BUTTON_TEXT")?"small":"large"),children:o.getConfigValue("SHOW_SAVE_BUTTON_TEXT")&&e.jsx("span",{children:A("Spara")})})]})]})})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../services/codicent.js"),require("./Markdown.js");var a=require("./Textarea.js"),t=require("./Button.js");require("./CompoundButton.js");var i=require("./Spinner.js");require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js");var s=require("../utils/MessageContent.js");require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var o=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var n=require("./FileThumbnail.js");require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js");var l=require("../hooks/useLocalization.js");require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js");var u=require("../hooks/useToaster.js"),c=require("../node_modules/@griffel/react/makeStyles.esm.js"),d=require("../node_modules/@fluentui/tokens/lib/tokens.js");const p=c.makeStyles({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:d.tokens.colorNeutralForeground2,"&:hover":{color:d.tokens.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:d.tokens.colorNeutralStroke1,borderRadius:"3px"}}});exports.default=({defaultText:c,onSend:d,onLocationChange:g,hasLocation:j,files:f=[],onFilesChange:m,onUploadFile:q,onUploadImage:h,onUploadCamera:x,getImageUrl:v,isUploading:b,rows:k,size:y,disableSend:S,placeholder:w,onChange:C,onImagePasted:B,onHandleDefaultFiles:T})=>{const[_,D]=r.useState(""),[F,N]=r.useState([]),I=p(),L=u.default(),{t:z}=l.default();r.useEffect((()=>{C?.(_)}),[_,C]),r.useEffect((()=>{const e=new s.default(c||"");D(e.content||""),N(e.tags||[]),e.files.length>0&&T?.(e.files)}),[c]);const A=async()=>{if(""===_.trim()&&0===f.length)return void L.notify(z("Meddelandet får inte vara tomt"),"","","error");const e=F.length>0?`#${F.join(" #")} `:"#log ";d(e+_),D("");const r=new s.default(c||"");N(r.tags||[]),m?.([])};return e.jsx("div",{className:I.container,onDrop:async e=>{if(e.preventDefault(),!m)return;const r=Array.from(e.dataTransfer.files);if(r.length>0)if(B&&r.every((e=>e.type&&e.type.startsWith("image/"))))for(const e of r)B(e);else m(r)},onDragOver:e=>{e.preventDefault()},children:e.jsxs("div",{className:I.textareaWrapper,children:[v&&f.length>0&&e.jsxs("div",{className:I.fileList,children:[f.map((r=>e.jsx(n.FileThumbnail,{file:r,getImageUrl:v,onDelete:()=>{return e=r.id,void m?.(f.filter((r=>r.id!==e)));var e}},r.id))),b&&e.jsx(i.Spinner,{})]}),e.jsx(a.Textarea,{size:"large",resize:"vertical",rows:k||7,value:_,onChange:e=>D(e.target.value),placeholder:w||z("Skriv vad du vill spara här..."),onKeyDown:e=>{!0!==S?"Enter"!==e.key||e.shiftKey||(e.preventDefault(),A()):"Enter"===e.key&&e.ctrlKey&&(e.preventDefault(),A())},onPaste:e=>{if(!m&&!B)return;const r=e.clipboardData.items;for(const a of r)if("file"===a.kind){const r=a.getAsFile();r&&(B&&r.type.startsWith("image/")?(e.preventDefault(),B(r)):m&&(e.preventDefault(),m([r])))}},className:I.textarea}),e.jsxs("div",{className:I.actionButtonRow,children:[e.jsxs("div",{className:I.leftButtonGroup,children:[q&&e.jsx(t.Button,{appearance:"transparent",icon:h?"AttachRegular":"AddRegular",size:"small",title:z("Lägg till fil"),onClick:q,className:I.actionButton}),h&&e.jsx(t.Button,{appearance:"transparent",icon:"ImageRegular",size:"small",title:z("Lägg till bild"),onClick:h,className:I.actionButton}),x&&e.jsx(t.Button,{appearance:"transparent",icon:"CameraRegular",size:"small",title:z("Ta kort"),onClick:x,className:I.actionButton}),g&&e.jsx(t.Button,{appearance:"transparent",icon:j?"LocationFilled":"LocationRegular",size:"small",title:z("Spara plats"),onClick:()=>g(!j),className:I.actionButton})]}),e.jsx(t.Button,{appearance:o.getConfigValue("SHOW_SAVE_BUTTON_TEXT")?"primary":"subtle",onClick:A,icon:"SendFilled",iconPosition:"before",title:z("Spara"),size:y||(o.getConfigValue("SHOW_SAVE_BUTTON_TEXT")?"small":"large"),children:o.getConfigValue("SHOW_SAVE_BUTTON_TEXT")&&e.jsx("span",{children:z("Spara")})})]})]})})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("react-router-dom"),i=require("../services/codicent.js"),s=require("./Markdown.js");require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js");var o=require("./Text.js");require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js");var n=require("../utils/MessageContent.js");require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var a=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js");var l=require("../hooks/useLocalization.js");require("../hooks/useAppStyles.js");var u=require("./FileThumbnail.js");require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js");var d=require("../node_modules/@griffel/react/makeStyles.esm.js"),c=require("../node_modules/@fluentui/react-card/lib/components/Card/Card.js"),m=require("../node_modules/@fluentui/react-switch/lib/components/Switch/Switch.js"),g=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-2.js"),p=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-0.js"),h=require("../node_modules/@fluentui/react-card/lib/components/CardHeader/CardHeader.js"),j=require("../node_modules/@fluentui/react-skeleton/lib/components/Skeleton/Skeleton.js"),x=require("../node_modules/@fluentui/react-skeleton/lib/components/SkeletonItem/SkeletonItem.js"),f=require("../node_modules/@fluentui/react-text/lib/components/presets/Caption1/Caption1.js"),S=require("../node_modules/@fluentui/tokens/lib/tokens.js"),q=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js");const b=d.makeStyles({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.tokens.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.tokens.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"}}});exports.default=({header:d,description:S,timestamp:k,text:w,image:C,tags:v,id:I,fileIds:_,codicentService:O,busy:E,onEdit:N,onShowHtmlPreview:T,maxHeightPx:y})=>{const A=b(),R=r.useNavigate(),[F,B]=t.useState(!1),[P,H]=t.useState(!1),[L,D]=t.useState("unknown"),[G,M]=t.useState(!1),z=t.useRef(null),V=Object.keys(a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")),K=V.find((e=>v.includes(e)))||(_.length>0?V.find((e=>"file"===e)):void 0),[W,$]=t.useState([]),U=v.includes("todo"),{t:Y}=l.default(),Q=["TYPE","CUSTOMER","CONTACT","SALESPERSON","MESSAGE","COMPANY","PHONE","EMAIL","WEBSITE","INFO","FÖRETAG","ROLE","KONTAKT"],X=[Y("Typ"),Y("Kund"),Y("Kontakt"),Y("Säljare"),Y("Meddelande"),Y("Företag"),Y("Telefon"),Y("E-post"),Y("Hemsida"),Y("Info"),Y("Företag"),Y("Roll"),Y("Kontakt")];t.useEffect((()=>{Promise.all(_.map((e=>O.getFileInfo(e)))).then((e=>{$(e)}))}),[O,$,_]),t.useEffect((()=>{const e=()=>{if(z.current){const e=y??100,t=z.current.scrollHeight>e+(W.length>0?-72:0);H(t)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[w,W,y]),t.useEffect((()=>{if(U){(async()=>{try{const e=await O.getTodoStatus(I);D(e)}catch(e){console.error("Error loading todo status:",e),D("unknown")}})()}}),[U,I,O]);const J=()=>B(!F),Z=v.includes("chat")&&(w.includes("#function_result")||w.includes("#finish_reason_function_call")),ee=e=>{const t=e.indexOf("```html");if(-1===t)return e;const r=e.indexOf("```",t+7);if(-1===r)return e.substring(t+7);return e.substring(t+7,r)},te=new n.default(w).data,re=K&&a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].editable,ie=K&&a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].imageSize||void 0;return e.jsxs(c.Card,{className:F?A.expandedCard:A.card,style:{backgroundColor:a.getConfigValue("MESSAGE_HIDE_BAR")?K?a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].color:a.getConfigValue("APP_HEADER_COLOR")||"#eee":"#eee",maxHeight:!F&&y?`${y}px`:void 0},onClick:v.includes("chat")?e=>{v.includes("chat")&&(e&&e.stopPropagation(),R("/chat?id="+I))}:void 0,children:[!a.getConfigValue("MESSAGE_HIDE_BAR")&&e.jsx("div",{className:A.rectangle,style:{backgroundColor:K?a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].color:a.getConfigValue("APP_HEADER_COLOR")||void 0}}),e.jsxs("div",{className:A.iconButtonRow,children:[U&&e.jsx(m.Switch,{className:A.todoSwitch,checked:"done"===L,onChange:(e,t)=>(async e=>{if(!G){M(!0);try{const t=e?"done":"undone";await O.updateTodoStatus(I,t)&&D(t)}catch(e){console.error("Error updating todo status:",e)}finally{M(!1)}}})(t.checked),disabled:G||"unknown"===L,label:Y("done"===L?"Done":"Todo")}),re&&N&&e.jsx(q.Edit20Regular,{className:A.htmlButton,onClick:()=>N()}),T&&!re&&v.includes("html")&&e.jsx(g.FullScreenMaximizeRegular,{className:A.htmlButton,onClick:e=>{e.stopPropagation(),T(ee(w))}}),P&&!v.includes("chat")&&F&&e.jsx(p.ArrowCollapseAllRegular,{className:A.headerButton,onClick:J}),P&&!v.includes("chat")&&!F&&e.jsx(p.ArrowExpandAllRegular,{className:A.headerButton,onClick:J})]}),e.jsx(h.CardHeader,{image:C?e.jsx("img",{className:A.headerImage,src:"app_logo.svg",alt:"User"}):null,header:E?e.jsx(j.Skeleton,{style:{width:"50%"},children:e.jsx(x.SkeletonItem,{})}):e.jsxs("div",{className:A.header,children:[e.jsx(o.Text,{weight:"semibold",children:d}),k&&e.jsx(o.Text,{weight:"regular",children:k})]}),description:e.jsx(f.Caption1,{className:A.caption,children:S})}),e.jsxs("div",{ref:z,className:`${A.content} ${F?"":A.truncated}`,style:{maxHeight:!F&&y?`${y}px`:void 0},children:[W.length>0&&e.jsx("div",{className:A.fileList,children:W.map((t=>e.jsx(u.FileThumbnail,{file:t,thumbnailSize:ie,getImageUrl:i.CodicentService.getImageUrl,onClick:()=>{t.contentType.startsWith("image")?R(`/image?id=${I}&file=${t.id}`):i.CodicentService.downloadFile(t)}},t.id)))}),E?e.jsxs(j.Skeleton,{style:{width:"100%"},children:[e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{})]}):e.jsx("div",{className:A.text,children:v.includes("html")?e.jsx("iframe",{className:A.iframe,title:"html",srcDoc:ee(w),sandbox:"allow-same-origin allow-scripts"}):v.includes("crm")&&0===Object.keys(te).length?e.jsx(s.default,{content:Z?"*"+Y("Tänker")+"...*":te?(()=>{const e=new RegExp(`(${Q.join("|")})\\s*:\\s*`,"gi"),t=w.replace(e,((e,t)=>{const r=Q.indexOf(t.toUpperCase());-1===r&&console.log("Field not found:",t);return`\n**${-1!==r?X[r]:t}:** `}));return t.trim()})():w}):e.jsx(s.default,{content:Z?"*"+Y("Tänker")+"...*":te&&te&&Object.keys(te).length>0?Object.keys(te).map((e=>{const t=Q.indexOf(e.toUpperCase());return`**${-1!==t?X[t]:e}:** ${te[e]}\n`})).join("\n"):w})})]})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),t=require("react-router-dom"),i=require("../services/codicent.js"),s=require("./Markdown.js");require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js");var o=require("./Text.js");require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js");var n=require("../utils/MessageContent.js");require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var a=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("./Content.js"),require("./Page.js"),require("../pages/QrScan.js");var l=require("../hooks/useLocalization.js"),u=require("./FileThumbnail.js");require("react-dom/client"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js");var d=require("../node_modules/@griffel/react/makeStyles.esm.js"),c=require("../node_modules/@fluentui/react-card/lib/components/Card/Card.js"),m=require("../node_modules/@fluentui/react-switch/lib/components/Switch/Switch.js"),g=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-2.js"),p=require("../node_modules/@fluentui/react-icons/lib/icons/chunk-0.js"),h=require("../node_modules/@fluentui/react-card/lib/components/CardHeader/CardHeader.js"),j=require("../node_modules/@fluentui/react-skeleton/lib/components/Skeleton/Skeleton.js"),x=require("../node_modules/@fluentui/react-skeleton/lib/components/SkeletonItem/SkeletonItem.js"),f=require("../node_modules/@fluentui/react-text/lib/components/presets/Caption1/Caption1.js"),q=require("../node_modules/@fluentui/tokens/lib/tokens.js"),S=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js");const b=d.makeStyles({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:q.tokens.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:q.tokens.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"}}});exports.default=({header:d,description:q,timestamp:k,text:w,image:C,tags:_,id:I,fileIds:v,codicentService:O,busy:E,onEdit:N,onShowHtmlPreview:T,maxHeightPx:y})=>{const A=b(),R=t.useNavigate(),[B,F]=r.useState(!1),[L,P]=r.useState(!1),[H,D]=r.useState("unknown"),[M,G]=r.useState(!1),z=r.useRef(null),V=Object.keys(a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")),K=V.find((e=>_.includes(e)))||(v.length>0?V.find((e=>"file"===e)):void 0),[W,$]=r.useState([]),U=_.includes("todo"),{t:Q}=l.default(),Y=["TYPE","CUSTOMER","CONTACT","SALESPERSON","MESSAGE","COMPANY","PHONE","EMAIL","WEBSITE","INFO","FÖRETAG","ROLE","KONTAKT"],X=[Q("Typ"),Q("Kund"),Q("Kontakt"),Q("Säljare"),Q("Meddelande"),Q("Företag"),Q("Telefon"),Q("E-post"),Q("Hemsida"),Q("Info"),Q("Företag"),Q("Roll"),Q("Kontakt")];r.useEffect((()=>{Promise.all(v.map((e=>O.getFileInfo(e)))).then((e=>{$(e)}))}),[O,$,v]),r.useEffect((()=>{const e=()=>{if(z.current){const e=y??100,r=z.current.scrollHeight>e+(W.length>0?-72:0);P(r)}};return e(),window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[w,W,y]),r.useEffect((()=>{if(U){(async()=>{try{const e=await O.getTodoStatus(I);D(e)}catch(e){console.error("Error loading todo status:",e),D("unknown")}})()}}),[U,I,O]);const J=()=>F(!B),Z=_.includes("chat")&&(w.includes("#function_result")||w.includes("#finish_reason_function_call")),ee=e=>{const r=e.indexOf("```html");if(-1===r)return e;const t=e.indexOf("```",r+7);if(-1===t)return e.substring(r+7);return e.substring(r+7,t)},re=new n.default(w).data,te=K&&a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].editable,ie=K&&a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].imageSize||void 0;return e.jsxs(c.Card,{className:B?A.expandedCard:A.card,style:{backgroundColor:a.getConfigValue("MESSAGE_HIDE_BAR")?K?a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].color:a.getConfigValue("APP_HEADER_COLOR")||"#eee":"#eee",maxHeight:!B&&y?`${y}px`:void 0},onClick:_.includes("chat")?e=>{_.includes("chat")&&(e&&e.stopPropagation(),R("/chat?id="+I))}:void 0,children:[!a.getConfigValue("MESSAGE_HIDE_BAR")&&e.jsx("div",{className:A.rectangle,style:{backgroundColor:K?a.getConfigValue("LOGBOOK_TAG_DEFINITIONS")[K].color:a.getConfigValue("APP_HEADER_COLOR")||void 0}}),e.jsxs("div",{className:A.iconButtonRow,children:[U&&e.jsx(m.Switch,{className:A.todoSwitch,checked:"done"===H,onChange:(e,r)=>(async e=>{if(!M){G(!0);try{const r=e?"done":"undone";await O.updateTodoStatus(I,r)&&D(r)}catch(e){console.error("Error updating todo status:",e)}finally{G(!1)}}})(r.checked),disabled:M||"unknown"===H,label:Q("done"===H?"Done":"Todo")}),te&&N&&e.jsx(S.Edit20Regular,{className:A.htmlButton,onClick:()=>N()}),T&&!te&&_.includes("html")&&e.jsx(g.FullScreenMaximizeRegular,{className:A.htmlButton,onClick:e=>{e.stopPropagation(),T(ee(w))}}),L&&!_.includes("chat")&&B&&e.jsx(p.ArrowCollapseAllRegular,{className:A.headerButton,onClick:J}),L&&!_.includes("chat")&&!B&&e.jsx(p.ArrowExpandAllRegular,{className:A.headerButton,onClick:J})]}),e.jsx(h.CardHeader,{image:C?e.jsx("img",{className:A.headerImage,src:"app_logo.svg",alt:"User"}):null,header:E?e.jsx(j.Skeleton,{style:{width:"50%"},children:e.jsx(x.SkeletonItem,{})}):e.jsxs("div",{className:A.header,children:[e.jsx(o.Text,{weight:"semibold",children:d}),k&&e.jsx(o.Text,{weight:"regular",children:k})]}),description:e.jsx(f.Caption1,{className:A.caption,children:q})}),e.jsxs("div",{ref:z,className:`${A.content} ${B?"":A.truncated}`,style:{maxHeight:!B&&y?`${y}px`:void 0},children:[W.length>0&&e.jsx("div",{className:A.fileList,children:W.map((r=>e.jsx(u.FileThumbnail,{file:r,thumbnailSize:ie,getImageUrl:i.CodicentService.getImageUrl,onClick:()=>{r.contentType.startsWith("image")?R(`/image?id=${I}&file=${r.id}`):i.CodicentService.downloadFile(r)}},r.id)))}),E?e.jsxs(j.Skeleton,{style:{width:"100%"},children:[e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{}),e.jsx(x.SkeletonItem,{})]}):e.jsx("div",{className:A.text,children:_.includes("html")?e.jsx("iframe",{className:A.iframe,title:"html",srcDoc:ee(w),sandbox:"allow-same-origin allow-scripts"}):_.includes("crm")&&0===Object.keys(re).length?e.jsx(s.default,{content:Z?"*"+Q("Tänker")+"...*":re?(()=>{const e=new RegExp(`(${Y.join("|")})\\s*:\\s*`,"gi"),r=w.replace(e,((e,r)=>{const t=Y.indexOf(r.toUpperCase());-1===t&&console.log("Field not found:",r);return`\n**${-1!==t?X[t]:r}:** `}));return r.trim()})():w}):e.jsx(s.default,{content:Z?"*"+Q("Tänker")+"...*":re&&re&&Object.keys(re).length>0?Object.keys(re).map((e=>{const r=Y.indexOf(e.toUpperCase());return`**${-1!==r?X[r]:e}:** ${re[e]}\n`})).join("\n"):w})})]})]})};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Component to display when the app is offline
3
+ */
4
+ declare const OfflineMessage: () => import("react/jsx-runtime").JSX.Element;
5
+ export default OfflineMessage;
6
+ //# sourceMappingURL=OfflineMessage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OfflineMessage.d.ts","sourceRoot":"","sources":["../../../src/components/OfflineMessage.tsx"],"names":[],"mappings":"AAiDA;;GAEG;AACH,QAAA,MAAM,cAAc,+CAoBnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("../hooks/useLocalization.js"),o=require("../node_modules/@griffel/react/makeStyles.esm.js"),n=require("../node_modules/@fluentui/react-button/lib/components/Button/Button.js"),r=require("../node_modules/@fluentui/tokens/lib/tokens.js");const i=o.makeStyles({container:{position:"fixed",top:"0",left:"0",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100vh",width:"100vw",backgroundColor:r.tokens.colorNeutralBackground1,padding:"20px",textAlign:"center",zIndex:"9999"},icon:{fontSize:"64px",marginBottom:"20px",color:r.tokens.colorPaletteRedBorder1},title:{fontSize:"24px",fontWeight:"600",marginBottom:"12px",color:r.tokens.colorNeutralForeground1},message:{fontSize:"16px",color:r.tokens.colorNeutralForeground2,marginBottom:"24px",maxWidth:"400px"}});exports.default=()=>{const o=i(),{t:r}=t.default();return e.jsxs("div",{className:o.container,role:"alert",children:[e.jsx("div",{className:o.icon,children:"📡"}),e.jsx("h1",{className:o.title,children:r("Du är offline")}),e.jsx("p",{className:o.message,children:r("Kontrollera din internetanslutning och försök igen. Appen kräver en aktiv anslutning för att fungera.")}),e.jsx(n.Button,{appearance:"primary",onClick:()=>{window.location.reload()},"aria-label":r("Försök igen"),children:r("Försök igen")})]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js");var s=require("../hooks/useLocalization.js");require("../hooks/useAppStyles.js");var i=require("../node_modules/@griffel/react/makeStyles.esm.js"),t=require("../node_modules/@fluentui/react-image/lib/components/Image/Image.js"),a=require("../node_modules/@fluentui/react-input/lib/components/Input/Input.js"),n=require("../node_modules/@fluentui/react-button/lib/components/Button/Button.js"),u=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-1.js"),o=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js"),l=require("../node_modules/@fluentui/react-text/lib/components/Text/Text.js");const c=i.makeStyles({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"}});exports.default=({state:i})=>{const j=c(),{isAuthenticated:m,isLoading:d,user:p,nickname:q}=i.auth,[g,x]=r.useState(),[h,v]=r.useState(!1),[f,I]=r.useState(!1),[C,b]=r.useState(""),[y,w]=r.useState(""),{t:_}=s.default();r.useEffect((()=>{i.service.getUserInfo(q).then(x)}),[i.service,q]);const S=()=>{b(g?.name||p?.name||""),w(g?.email||p?.email||""),v(!1),I(!1)},k=async e=>{const r=await i.service.updateUserInfo({nickname:q,name:e.name,email:e.email||""});x(r)};return d?e.jsx("div",{children:_("Laddar...")}):m&&p&&e.jsxs("div",{className:j.container,children:[e.jsx(t.Image,{shape:"circular",width:100,src:g?.picture||p.picture,alt:p.name}),e.jsxs("div",{className:j.properties,children:[e.jsx("h2",{children:h?e.jsx(e.Fragment,{children:e.jsx(a.Input,{type:"text",value:C,onChange:e=>{b(e.target.value)},contentAfter:e.jsx(n.Button,{icon:e.jsx(u.ArrowUndo20Regular,{}),size:"small",onClick:S})})}):e.jsxs(e.Fragment,{children:[g?.name||p.name,e.jsx(n.Button,{className:j.editButton,icon:e.jsx(o.Edit20Regular,{}),size:"small",onClick:()=>{v(!0),b(g?.name||p?.name||"")}})]})}),e.jsxs(l.Text,{children:[f?e.jsx(e.Fragment,{children:e.jsx(a.Input,{type:"text",value:y,onChange:e=>{w(e.target.value)},contentAfter:e.jsx(n.Button,{icon:e.jsx(u.ArrowUndo20Regular,{}),size:"small",onClick:S})})}):e.jsx(e.Fragment,{children:g?.email||p.email}),(h||f)&&e.jsx("div",{children:e.jsx(n.Button,{className:j.saveButton,appearance:"primary",size:"small",onClick:()=>{v(!1),I(!1),k({...g,name:C,email:y})},children:"Spara"})})]})]})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js");var s=require("../hooks/useLocalization.js");require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js");var i=require("../node_modules/@griffel/react/makeStyles.esm.js"),t=require("../node_modules/@fluentui/react-image/lib/components/Image/Image.js"),a=require("../node_modules/@fluentui/react-input/lib/components/Input/Input.js"),n=require("../node_modules/@fluentui/react-button/lib/components/Button/Button.js"),u=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-1.js"),o=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-7.js"),l=require("../node_modules/@fluentui/react-text/lib/components/Text/Text.js");const c=i.makeStyles({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"}});exports.default=({state:i})=>{const j=c(),{isAuthenticated:m,isLoading:d,user:q,nickname:p}=i.auth,[g,x]=r.useState(),[h,f]=r.useState(!1),[v,I]=r.useState(!1),[C,b]=r.useState(""),[y,S]=r.useState(""),{t:w}=s.default();r.useEffect((()=>{i.service.getUserInfo(p).then(x)}),[i.service,p]);const _=()=>{b(g?.name||q?.name||""),S(g?.email||q?.email||""),f(!1),I(!1)},k=async e=>{const r=await i.service.updateUserInfo({nickname:p,name:e.name,email:e.email||""});x(r)};return d?e.jsx("div",{children:w("Laddar...")}):m&&q&&e.jsxs("div",{className:j.container,children:[e.jsx(t.Image,{shape:"circular",width:100,src:g?.picture||q.picture,alt:q.name}),e.jsxs("div",{className:j.properties,children:[e.jsx("h2",{children:h?e.jsx(e.Fragment,{children:e.jsx(a.Input,{type:"text",value:C,onChange:e=>{b(e.target.value)},contentAfter:e.jsx(n.Button,{icon:e.jsx(u.ArrowUndo20Regular,{}),size:"small",onClick:_})})}):e.jsxs(e.Fragment,{children:[g?.name||q.name,e.jsx(n.Button,{className:j.editButton,icon:e.jsx(o.Edit20Regular,{}),size:"small",onClick:()=>{f(!0),b(g?.name||q?.name||"")}})]})}),e.jsxs(l.Text,{children:[v?e.jsx(e.Fragment,{children:e.jsx(a.Input,{type:"text",value:y,onChange:e=>{S(e.target.value)},contentAfter:e.jsx(n.Button,{icon:e.jsx(u.ArrowUndo20Regular,{}),size:"small",onClick:_})})}):e.jsx(e.Fragment,{children:g?.email||q.email}),(h||v)&&e.jsx("div",{children:e.jsx(n.Button,{className:j.saveButton,appearance:"primary",size:"small",onClick:()=>{f(!1),I(!1),k({...g,name:C,email:y})},children:"Spara"})})]})]})]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("./Markdown.js"),require("./Textarea.js");var r=require("./Button.js");require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js");var s=require("./Dialog.js");require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("react"),require("../services/codicent.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../hooks/useLocalization.js"),require("../hooks/useAppStyles.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js");exports.default=({open:i,onYes:a,onNo:u,title:o,content:t})=>e.jsxs(s.Dialog,{open:i,children:[e.jsx(s.DialogTitle,{children:o}),e.jsx(s.DialogContent,{children:t}),e.jsxs(s.DialogActions,{children:[e.jsx(r.Button,{appearance:"secondary",onClick:u,children:"Nej"}),e.jsx(r.Button,{type:"submit",appearance:"primary",onClick:a,children:"Ja"})]})]});
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("./Markdown.js"),require("./Textarea.js");var r=require("./Button.js");require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js");var s=require("./Dialog.js");require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("react"),require("../services/codicent.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("./Content.js"),require("./Page.js"),require("../pages/QrScan.js"),require("../hooks/useLocalization.js"),require("./FileThumbnail.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js");exports.default=({open:i,onYes:a,onNo:u,title:o,content:t})=>e.jsxs(s.Dialog,{open:i,children:[e.jsx(s.DialogTitle,{children:o}),e.jsx(s.DialogContent,{children:t}),e.jsxs(s.DialogActions,{children:[e.jsx(r.Button,{appearance:"secondary",onClick:u,children:"Nej"}),e.jsx(r.Button,{type:"submit",appearance:"primary",onClick:a,children:"Ja"})]})]});
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ interface QrScannerProps {
3
+ onScan?: (result: string) => void;
4
+ onError?: (error: string) => void;
5
+ width?: number;
6
+ height?: number;
7
+ facingMode?: "user" | "environment";
8
+ className?: string;
9
+ }
10
+ declare const QrScanner: React.FC<QrScannerProps>;
11
+ export default QrScanner;
12
+ //# sourceMappingURL=QrScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QrScanner.d.ts","sourceRoot":"","sources":["../../../src/components/QrScanner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAsB9D,UAAU,cAAc;IACtB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CA2HvC,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),r=require("../node_modules/jsqr/dist/jsQR.js");const n=require("../node_modules/@griffel/react/makeStyles.esm.js").makeStyles({container:{overflow:"hidden",width:"var(--qr-scanner-width)",height:"var(--qr-scanner-height)"},video:{width:"100%",height:"100%",objectFit:"contain"},canvas:{display:"none"}});exports.default=({onScan:a,onError:c,width:s=300,height:o=300,facingMode:i="environment",className:d})=>{const u=t.useRef(null),l=t.useRef(null),g=t.useRef(null),h=n();t.useEffect((()=>{navigator.mediaDevices&&navigator.mediaDevices.getSupportedConstraints&&console.log("Supported constraints:",navigator.mediaDevices.getSupportedConstraints())}),[]);const m=t.useCallback((async()=>{g.current&&(console.log("Stopping previous stream:",g.current),g.current.getTracks().forEach((e=>e.stop())),g.current=null);const e={video:{facingMode:i,width:{exact:s},height:{exact:o}},audio:!1};try{const t=await navigator.mediaDevices.getUserMedia(e);console.log("MediaStream obtained:",t),g.current=t,u.current&&u.current.srcObject!==t&&(u.current.srcObject=t,console.log("Video element srcObject set:",u.current.srcObject),u.current.onloadedmetadata=()=>{u.current?.play().then((()=>{console.log("Video is playing")})).catch((e=>{console.error("Error playing video:",e)}))})}catch(e){console.error("Error accessing camera:",e),c?.(e instanceof Error?e.message:"Failed to access camera")}}),[i,o,c,s]);return t.useEffect((()=>(m(),()=>{g.current&&(console.log("Cleaning up stream:",g.current),g.current.getTracks().forEach((e=>e.stop())),g.current=null)})),[m]),t.useEffect((()=>{if(!u.current||!l.current)return;const e=u.current,t=l.current,n=t.getContext("2d");if(!n)return;let c;const s=()=>{if(e.readyState===e.HAVE_ENOUGH_DATA){t.width=e.videoWidth,t.height=e.videoHeight,n.drawImage(e,0,0,t.width,t.height);const c=n.getImageData(0,0,t.width,t.height),s=r.default(c.data,c.width,c.height);s&&a?.(s.data)}c=requestAnimationFrame(s)};return s(),()=>{cancelAnimationFrame(c)}}),[a]),e.jsxs("div",{className:`${h.container} ${d||""}`,style:{"--qr-scanner-width":"number"==typeof s?`${s}px`:s,"--qr-scanner-height":"number"==typeof o?`${o}px`:o},children:[e.jsx("video",{ref:u,className:h.video,playsInline:!0}),e.jsx("canvas",{ref:l,className:h.canvas})]})};
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ import { ColumnDefinition } from "./ListView";
3
+ export interface RecordModalProps {
4
+ open: boolean;
5
+ onClose: () => void;
6
+ onSave: (data: Record<string, unknown>) => Promise<void>;
7
+ columns: ColumnDefinition[];
8
+ initialData?: Record<string, unknown>;
9
+ title?: string;
10
+ }
11
+ export declare const RecordModal: React.FC<RecordModalProps>;
12
+ export default RecordModal;
13
+ //# sourceMappingURL=RecordModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RecordModal.d.ts","sourceRoot":"","sources":["../../../src/components/RecordModal.tsx"],"names":[],"mappings":"AAWA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAenD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAiB9C,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAqGlD,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),o=require("react"),l=require("../hooks/useLocalization.js"),i=require("../node_modules/@griffel/react/makeStyles.esm.js"),n=require("../node_modules/@fluentui/react-dialog/lib/components/Dialog/Dialog.js"),t=require("../node_modules/@fluentui/react-dialog/lib/components/DialogSurface/DialogSurface.js"),a=require("../node_modules/@fluentui/react-dialog/lib/components/DialogBody/DialogBody.js"),r=require("../node_modules/@fluentui/react-dialog/lib/components/DialogTitle/DialogTitle.js"),s=require("../node_modules/@fluentui/react-dialog/lib/components/DialogContent/DialogContent.js"),c=require("../node_modules/@fluentui/react-field/lib/components/Field/Field.js"),u=require("../node_modules/@fluentui/react-checkbox/lib/components/Checkbox/Checkbox.js"),d=require("../node_modules/@fluentui/react-input/lib/components/Input/Input.js"),p=require("../node_modules/@fluentui/react-dialog/lib/components/DialogActions/DialogActions.js"),m=require("../node_modules/@fluentui/react-button/lib/components/Button/Button.js");const f=i.makeStyles({content:{display:"flex",flexDirection:"column",gap:"16px",minWidth:"400px",maxHeight:"60vh",overflowY:"auto"},field:{display:"flex",flexDirection:"column"}}),g=({open:i,onClose:g,onSave:x,columns:h,initialData:j,title:b})=>{const y=f(),{t:D}=l.default(),[k,q]=o.useState({}),[C,_]=o.useState(!1);o.useEffect((()=>{i&&q(j||{})}),[i,j]);const S=e=>Array.isArray(e.key)?e.key[0]:e.key,v=(e,o)=>{const l=S(e);q((e=>({...e,[l]:o})))},A=h.filter((e=>!e.hidden&&"file"!==e.type&&"createdAt"!==S(e)));return e.jsx(n.Dialog,{open:i,onOpenChange:(e,o)=>!C&&!1===o.open&&g(),children:e.jsx(t.DialogSurface,{children:e.jsxs(a.DialogBody,{children:[e.jsx(r.DialogTitle,{children:b||D(j?"Edit Record":"Add Record")}),e.jsx(s.DialogContent,{className:y.content,children:A.map(((o,l)=>{const i=S(o),n=(e=>{const o=S(e);return k[o]})(o),t=o.title||i;return"checkbox"===o.type?e.jsx(c.Field,{label:t,className:y.field,children:e.jsx(u.Checkbox,{checked:!0===n||"true"===n||"yes"===n||"1"===n,onChange:(e,l)=>v(o,l.checked)})},l):e.jsx(c.Field,{label:t,className:y.field,children:e.jsx(d.Input,{value:String(n??""),onChange:(e,l)=>v(o,l.value),placeholder:D("Enter")+" "+t.toLowerCase()})},l)}))}),e.jsxs(p.DialogActions,{children:[e.jsx(m.Button,{appearance:"secondary",onClick:g,disabled:C,children:D("Cancel")}),e.jsx(m.Button,{appearance:"primary",onClick:async()=>{_(!0);try{await x(k),g()}catch(e){console.error("Failed to save record:",e)}finally{_(!1)}},disabled:C,children:D(C?"Saving...":"Save")})]})]})})})};exports.RecordModal=g,exports.default=g;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react"),require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var r=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js");var s=require("../hooks/useLocalization.js");require("../hooks/useAppStyles.js");var i=require("../node_modules/@griffel/react/makeStyles.esm.js"),o=require("../node_modules/@griffel/core/index.esm.js"),a=require("../node_modules/@fluentui/tokens/lib/tokens.js"),n=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-8.js"),t=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-3.js"),u=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js");const l=i.makeStyles({footer:{...o.shorthands.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:a.tokens.colorNeutralForegroundOnBrand,height:"24px",width:"24px",...o.shorthands.borderWidth("0")},link:{textDecoration:"none",color:"inherit","&.selected":{border:"none"},"&:hover":{textDecoration:"none"},minWidth:"48px"},buttonText:{fontSize:"12px"}});exports.default=({onHome:i,onTakePhoto:o,onSwichCamera:c,audio:d,tag:j})=>{const q=l(),{isRecording:g,isSoundCaptured:p,startRecording:m,stopRecording:x}=d,{t:h}=s.default(),k={backgroundColor:r.getConfigValue("APP_HEADER_COLOR")||a.tokens.colorBrandBackground,color:r.getConfigValue("APP_HEADER_TEXT_COLOR")||a.tokens.colorNeutralForegroundOnBrand};return e.jsx("footer",{className:q.footer,style:k,children:e.jsxs("div",{className:q.container,children:[e.jsxs("div",{className:q.link,onClick:i,children:[e.jsx(n.Home24Regular,{}),e.jsx("p",{className:q.buttonText,children:h("Hem")})]}),e.jsxs("div",{className:q.link,children:[g&&p&&e.jsx(u.MicPulse24Filled,{onClick:x}),g&&!p&&e.jsx(u.MicRecord24Filled,{onClick:x}),!g&&e.jsx(u.Mic24Regular,{onClick:()=>m(j)}),e.jsx("p",{className:q.buttonText,children:h("Ljud")})]}),e.jsxs("div",{className:q.link,onClick:()=>{r.getConfigValue("RESTART_AUDIO_ON_TAKE_PHOTO")&&g?(x(),o(),m(j)):o()},children:[e.jsx(t.Camera24Regular,{}),e.jsx("p",{className:q.buttonText,children:h("Ta kort")})]}),e.jsxs("div",{className:q.link,onClick:c,children:[e.jsx(t.CameraSwitch24Regular,{}),e.jsx("p",{className:q.buttonText,children:h("Byt kamera")})]})]})})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react"),require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js");var r=require("../config/index.js");require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js");var s=require("../hooks/useLocalization.js");require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js");var i=require("../node_modules/@griffel/react/makeStyles.esm.js"),o=require("../node_modules/@griffel/core/index.esm.js"),a=require("../node_modules/@fluentui/tokens/lib/tokens.js"),t=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-8.js"),n=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-3.js"),u=require("../node_modules/@fluentui/react-icons/lib/sizedIcons/chunk-10.js");const l=i.makeStyles({footer:{...o.shorthands.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:a.tokens.colorNeutralForegroundOnBrand,height:"24px",width:"24px",...o.shorthands.borderWidth("0")},link:{textDecoration:"none",color:"inherit","&.selected":{border:"none"},"&:hover":{textDecoration:"none"},minWidth:"48px"},buttonText:{fontSize:"12px"}});exports.default=({onHome:i,onTakePhoto:o,onSwichCamera:c,audio:d,tag:j})=>{const q=l(),{isRecording:g,isSoundCaptured:p,startRecording:m,stopRecording:h}=d,{t:x}=s.default(),k={backgroundColor:r.getConfigValue("APP_HEADER_COLOR")||a.tokens.colorBrandBackground,color:r.getConfigValue("APP_HEADER_TEXT_COLOR")||a.tokens.colorNeutralForegroundOnBrand};return e.jsx("footer",{className:q.footer,style:k,children:e.jsxs("div",{className:q.container,children:[e.jsxs("div",{className:q.link,onClick:i,children:[e.jsx(t.Home24Regular,{}),e.jsx("p",{className:q.buttonText,children:x("Hem")})]}),e.jsxs("div",{className:q.link,children:[g&&p&&e.jsx(u.MicPulse24Filled,{onClick:h}),g&&!p&&e.jsx(u.MicRecord24Filled,{onClick:h}),!g&&e.jsx(u.Mic24Regular,{onClick:()=>m(j)}),e.jsx("p",{className:q.buttonText,children:x("Ljud")})]}),e.jsxs("div",{className:q.link,onClick:()=>{r.getConfigValue("RESTART_AUDIO_ON_TAKE_PHOTO")&&g?(h(),o(),m(j)):o()},children:[e.jsx(n.Camera24Regular,{}),e.jsx("p",{className:q.buttonText,children:x("Ta kort")})]}),e.jsxs("div",{className:q.link,onClick:c,children:[e.jsx(n.CameraSwitch24Regular,{}),e.jsx("p",{className:q.buttonText,children:x("Byt kamera")})]})]})})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react"),require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js");var r=require("./Button.js");require("./CompoundButton.js");var s=require("./Title.js"),i=require("./Text.js");require("./Spinner.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js");var a=require("../hooks/useLocalization.js"),t=require("../hooks/useAppStyles.js"),u=require("../node_modules/@griffel/react/makeStyles.esm.js"),o=require("../node_modules/@griffel/core/index.esm.js");const l=u.makeStyles({header:{...o.shorthands.padding("16px"),textAlign:"start",position:"sticky",top:0,zIndex:1e3,alignItems:"center",justifyContent:"space-between",width:"100%",display:"flex"}});exports.default=({title:u,onNewChat:o,subtitle:j})=>{const n=l(),q=t.default(),{t:p}=a.default();return e.jsxs("header",{className:n.header,children:[u&&e.jsx(s.Title,{children:u}),j&&e.jsx(i.Text,{size:300,weight:"regular",children:j}),o&&e.jsx(r.Button,{className:q.button,appearance:"primary",title:p("Ny chatt"),icon:"ArrowClockwiseRegular",onClick:o})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react"),require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js");var r=require("./Button.js");require("./CompoundButton.js");var s=require("./Title.js"),i=require("./Text.js");require("./Spinner.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js");var a=require("../hooks/useLocalization.js");require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js");var u=require("../hooks/useAppStyles.js"),t=require("../node_modules/@griffel/react/makeStyles.esm.js"),o=require("../node_modules/@griffel/core/index.esm.js");const l=t.makeStyles({header:{...o.shorthands.padding("16px"),textAlign:"start",position:"sticky",top:0,zIndex:1e3,alignItems:"center",justifyContent:"space-between",width:"100%",display:"flex"}});exports.default=({title:t,onNewChat:o,subtitle:j})=>{const n=l(),q=u.default(),{t:c}=a.default();return e.jsxs("header",{className:n.header,children:[t&&e.jsx(s.Title,{children:t}),j&&e.jsx(i.Text,{size:300,weight:"regular",children:j}),o&&e.jsx(r.Button,{className:q.button,appearance:"primary",title:c("Ny chatt"),icon:"ArrowClockwiseRegular",onClick:o})]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react"),require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js");var r=require("./Text.js"),s=require("./Spinner.js");require("./TextHeader.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js");var i=require("../hooks/useLocalization.js");require("../hooks/useAppStyles.js");const a=require("../node_modules/@griffel/react/makeStyles.esm.js").makeStyles({typingContainer:{display:"flex",gap:"8px"}});exports.default=()=>{const u=a(),{t:t}=i.default();return e.jsxs("div",{className:u.typingContainer,children:[e.jsx(s.Spinner,{size:"extra-small"}),e.jsx(r.Text,{size:400,children:t("Tänker...")})]})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime");require("react"),require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js");var r=require("./Text.js"),s=require("./Spinner.js");require("./TextHeader.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js");var i=require("../hooks/useLocalization.js");require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js");const a=require("../node_modules/@griffel/react/makeStyles.esm.js").makeStyles({typingContainer:{display:"flex",gap:"8px"}});exports.default=()=>{const u=a(),{t:t}=i.default();return e.jsxs("div",{className:u.typingContainer,children:[e.jsx(s.Spinner,{size:"extra-small"}),e.jsx(r.Text,{size:400,children:t("Tänker...")})]})};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var s=require("../utils/device.js");require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js");var i=require("./Spinner.js");require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../services/codicent.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../hooks/useLocalization.js"),require("../hooks/useAppStyles.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js");const a=require("../node_modules/@griffel/react/makeStyles.esm.js").makeStyles({imageUpload:{display:"none"},spinner:{marginTop:"10px"}}),u=r.forwardRef((({onFileUploaded:u,accept:o,capture:t,multiple:l=!1,onUploading:n,className:p,id:c,codicentService:j},q)=>{const d=a(),[g,m]=r.useState(!1),f=r.useRef(null);r.useEffect((()=>{n(g)}),[g,n]);const v=async(e,r)=>{const s=new FormData;s.append("file",r),m(!0);try{const r=await j.uploadFile(e,s);return m(!1),r}catch(r){return console.error("Upload failed for file:",e,r),m(!1),null}},h=()=>{f.current?.click()};r.useImperativeHandle(q,(()=>({triggerUpload:h})));const y=t&&s.isMobileDevice();return e.jsx("div",{id:c,className:p,children:g?e.jsx(i.Spinner,{"aria-label":"Uploading...",className:d.spinner}):e.jsx("input",{ref:f,type:"file",className:d.imageUpload,onChange:async()=>{try{const e=f.current;if(e&&e.files){const r=[];for(let s=0;s<e.files.length;s++){const i=e.files[s],a=i.name.split("\\").pop()||i.name,u=await v(a,i);u&&r.push(u)}r.length>0&&u(r)}}catch(e){console.error("Error uploading files:",e)}},accept:o,multiple:l,...y?{capture:t}:{}})})}));exports.default=u;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react");require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js");var s=require("../utils/device.js");require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js");var i=require("./Spinner.js");require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./CombinedPlaceholderDialog.js"),require("./ChatMessage.js"),require("./Header.js"),require("../services/codicent.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("./Content.js"),require("./Page.js"),require("../pages/QrScan.js"),require("../hooks/useLocalization.js"),require("./FileThumbnail.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js"),require("../hooks/useAppStyles.js"),require("./MessageInput.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js");const a=require("../node_modules/@griffel/react/makeStyles.esm.js").makeStyles({imageUpload:{display:"none"},spinner:{marginTop:"10px"}}),u=r.forwardRef((({onFileUploaded:u,accept:t,capture:o,multiple:l=!1,onUploading:n,className:c,id:j,codicentService:p},q)=>{const d=a(),[g,m]=r.useState(!1),f=r.useRef(null);r.useEffect((()=>{n(g)}),[g,n]);const h=async(e,r)=>{const s=new FormData;s.append("file",r),m(!0);try{const r=await p.uploadFile(e,s);return m(!1),r}catch(r){return console.error("Upload failed for file:",e,r),m(!1),null}},v=()=>{f.current?.click()};r.useImperativeHandle(q,(()=>({triggerUpload:v})));const y=o&&s.isMobileDevice();return e.jsx("div",{id:j,className:c,children:g?e.jsx(i.Spinner,{"aria-label":"Uploading...",className:d.spinner}):e.jsx("input",{ref:f,type:"file",className:d.imageUpload,onChange:async()=>{try{const e=f.current;if(e&&e.files){const r=[];for(let s=0;s<e.files.length;s++){const i=e.files[s],a=i.name.split("\\").pop()||i.name,u=await h(a,i);u&&r.push(u)}r.length>0&&u(r)}}catch(e){console.error("Error uploading files:",e)}},accept:t,multiple:l,...y?{capture:o}:{}})})}));exports.default=u;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),s=require("./CombinedPlaceholderDialog.js");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../hooks/useLocalization.js");var i=require("../hooks/useTemplateVariables.js");require("../hooks/useAppStyles.js");const a=({service:a,children:l})=>{const[o,t]=r.useState(!1),[u,n]=r.useState([]),[j,q]=r.useState([]),[c,p]=r.useState(null),{extractTemplateVariables:g,extractFilePlaceholders:d,replaceTemplateVariables:h,replaceFilePlaceholders:m}=i.useTemplateVariables(a.uploadFile);return e.jsxs(e.Fragment,{children:[l((async e=>{p(e);const r=d(e),s=g(e);0!==r.length||0!==s.length?(q(r),n(s),t(!0)):window.location.href=e})),e.jsx(s.CombinedPlaceholderDialog,{open:o,templateVariables:u,filePlaceholders:j,onTemplateVariablesChange:n,onFilePlaceholdersChange:q,onConfirm:async()=>{if(c)try{let e=c;if(j.length>0){j.filter((e=>e.fileId)).length!==j.length&&console.warn("Some file placeholders are missing fileIds:",j.filter((e=>!e.fileId)).map((e=>e.description))),e=m(e,j)}u.length>0&&(e=h(e,u)),t(!1),window.location.href=e}catch(e){console.error("Failed to process URL:",e)}finally{p(null)}},onCancel:()=>{t(!1),p(null),n([]),q([])},uploadFile:a.uploadFile})]})};exports.UrlProcessor=a,exports.default=a;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),r=require("react"),s=require("./CombinedPlaceholderDialog.js");require("../services/codicent.js"),require("./Markdown.js"),require("./Textarea.js"),require("./Button.js"),require("./CompoundButton.js"),require("./Spinner.js"),require("./TextHeader.js"),require("./TypingIndicator.js"),require("./Dialog.js"),require("./ChatInput.js"),require("./ChatMessage.js"),require("./Header.js"),require("../utils/MessageContent.js"),require("../node_modules/tinycolor2/esm/tinycolor.js"),require("../_virtual/index.js"),require("../config/index.js"),require("../utils/cacheManager.js"),require("../lib/wavtools/lib/wav_packer.js"),require("../lib/wavtools/lib/analysis/audio_analysis.js"),require("../lib/wavtools/lib/wav_stream_player.js"),require("../lib/wavtools/lib/wav_recorder.js"),require("./FileThumbnail.js"),require("./MessageInput.js"),require("./UploadFile.js"),require("./SnapFooter.js"),require("./Profile.js"),require("./MessageItem.js"),require("./Content.js"),require("./AiInput.js"),require("./SearchBox.js"),require("./HtmlView.js"),require("./Footer.js"),require("./Page.js"),require("./QrCodeDialog.js"),require("./QrScanner.js"),require("../hooks/useLocalization.js"),require("./OfflineMessage.js"),require("./LanguageSelector.js"),require("./ListView.js"),require("./RecordModal.js"),require("./BulkUploadDialog.js"),require("../pages/AppFrame.js"),require("../pages/Chat.js"),require("../pages/Compose.js"),require("../pages/Snap.js"),require("../pages/Search.js"),require("../pages/Login.js"),require("../pages/CrmPage.js"),require("../pages/CrmPagePersistent.js"),require("../pages/ImageView.js"),require("../pages/FormInvite.js"),require("../pages/FormAccept.js"),require("../pages/Sales.js"),require("../pages/Purchase.js"),require("../pages/QrScan.js"),require("react-dom/client"),require("react-router-dom"),require("../node_modules/@auth0/auth0-react/dist/auth0-react.esm.js");var i=require("../hooks/useTemplateVariables.js");require("../hooks/useAppStyles.js");const a=({service:a,children:l})=>{const[o,u]=r.useState(!1),[t,n]=r.useState([]),[j,q]=r.useState([]),[c,p]=r.useState(null),{extractTemplateVariables:d,extractFilePlaceholders:g,replaceTemplateVariables:h,replaceFilePlaceholders:m}=i.useTemplateVariables(a.uploadFile);return e.jsxs(e.Fragment,{children:[l((async e=>{p(e);const r=g(e),s=d(e);0!==r.length||0!==s.length?(q(r),n(s),u(!0)):window.location.href=e})),e.jsx(s.CombinedPlaceholderDialog,{open:o,templateVariables:t,filePlaceholders:j,onTemplateVariablesChange:n,onFilePlaceholdersChange:q,onConfirm:async()=>{if(c)try{let e=c;if(j.length>0){j.filter((e=>e.fileId)).length!==j.length&&console.warn("Some file placeholders are missing fileIds:",j.filter((e=>!e.fileId)).map((e=>e.description))),e=m(e,j)}t.length>0&&(e=h(e,t)),u(!1),window.location.href=e}catch(e){console.error("Failed to process URL:",e)}finally{p(null)}},onCancel:()=>{u(!1),p(null),n([]),q([])},uploadFile:a.uploadFile})]})};exports.UrlProcessor=a,exports.default=a;