@memori.ai/memori-react 8.45.1 → 8.45.4

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 (511) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/dist/components/Chat/Chat.js +4 -1
  3. package/dist/components/Chat/Chat.js.map +1 -1
  4. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.d.ts +4 -1
  5. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js +7 -57
  6. package/dist/components/ChatHistoryDrawer/ChatResumeDrawer.js.map +1 -1
  7. package/dist/components/IconButton/IconButton.d.ts +1 -1
  8. package/dist/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  9. package/dist/components/MemoriWidget/MemoriWidget.js +2 -1
  10. package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
  11. package/dist/components/PositionPopover/PositionPopover.js +38 -25
  12. package/dist/components/PositionPopover/PositionPopover.js.map +1 -1
  13. package/dist/components/UploadButton/UploadButton.js +3 -0
  14. package/dist/components/UploadButton/UploadButton.js.map +1 -1
  15. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js +14 -2
  16. package/dist/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  17. package/dist/components/layouts/chat.css +27 -4
  18. package/dist/context/widgetSurfaceContext.js +2 -2
  19. package/dist/context/widgetSurfaceContext.js.map +1 -1
  20. package/dist/helpers/constants.d.ts +3 -2
  21. package/dist/helpers/constants.js +19 -20
  22. package/dist/helpers/constants.js.map +1 -1
  23. package/dist/helpers/positionPopover.d.ts +2 -1
  24. package/dist/helpers/positionPopover.js +12 -3
  25. package/dist/helpers/positionPopover.js.map +1 -1
  26. package/dist/helpers/tts/muteSpeaker.js +4 -3
  27. package/dist/helpers/tts/muteSpeaker.js.map +1 -1
  28. package/dist/helpers/usePressTooltip.js +2 -1
  29. package/dist/helpers/usePressTooltip.js.map +1 -1
  30. package/dist/helpers/utils.d.ts +2 -1
  31. package/dist/helpers/utils.js +7 -1
  32. package/dist/helpers/utils.js.map +1 -1
  33. package/dist/icons/MemoriIcon.js +1 -1
  34. package/dist/icons/MemoriIcon.js.map +1 -1
  35. package/dist/styles.css +1 -2
  36. package/dist/version.d.ts +1 -1
  37. package/dist/version.js +1 -1
  38. package/esm/components/Chat/Chat.js +4 -1
  39. package/esm/components/Chat/Chat.js.map +1 -1
  40. package/esm/components/MemoriWidget/MemoriWidget.d.ts +1 -1
  41. package/esm/components/MemoriWidget/MemoriWidget.js +2 -1
  42. package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
  43. package/esm/components/UploadButton/UploadButton.js +4 -1
  44. package/esm/components/UploadButton/UploadButton.js.map +1 -1
  45. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js +16 -4
  46. package/esm/components/UploadButton/UploadDocuments/UploadDocuments.js.map +1 -1
  47. package/esm/components/layouts/chat.css +27 -4
  48. package/esm/helpers/constants.d.ts +3 -2
  49. package/esm/helpers/constants.js +18 -19
  50. package/esm/helpers/constants.js.map +1 -1
  51. package/esm/helpers/utils.d.ts +2 -1
  52. package/esm/helpers/utils.js +6 -1
  53. package/esm/helpers/utils.js.map +1 -1
  54. package/esm/styles.css +1 -2
  55. package/esm/version.d.ts +1 -1
  56. package/esm/version.js +1 -1
  57. package/package.json +6 -7
  58. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  59. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -64
  60. package/dist/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  61. package/dist/testUtils.d.ts +0 -5
  62. package/dist/testUtils.js +0 -18
  63. package/dist/testUtils.js.map +0 -1
  64. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.d.ts +0 -3
  65. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js +0 -62
  66. package/esm/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.js.map +0 -1
  67. package/src/I18nWrapper.tsx +0 -13
  68. package/src/__snapshots__/index.test.tsx.snap +0 -96
  69. package/src/components/AgeVerificationModal/AgeVerificationModal.css +0 -95
  70. package/src/components/AgeVerificationModal/AgeVerificationModal.stories.tsx +0 -46
  71. package/src/components/AgeVerificationModal/AgeVerificationModal.test.tsx +0 -33
  72. package/src/components/AgeVerificationModal/AgeVerificationModal.tsx +0 -99
  73. package/src/components/AgeVerificationModal/__snapshots__/AgeVerificationModal.test.tsx.snap +0 -19
  74. package/src/components/Auth/Auth.css +0 -57
  75. package/src/components/Auth/Auth.stories.tsx +0 -90
  76. package/src/components/Auth/Auth.test.tsx +0 -63
  77. package/src/components/Auth/Auth.tsx +0 -201
  78. package/src/components/Auth/__snapshots__/Auth.test.tsx.snap +0 -143
  79. package/src/components/Avatar/Avatar.css +0 -151
  80. package/src/components/Avatar/Avatar.stories.tsx +0 -160
  81. package/src/components/Avatar/Avatar.test.tsx +0 -158
  82. package/src/components/Avatar/Avatar.tsx +0 -245
  83. package/src/components/Avatar/AvatarView/AvatarComponent/Shadow/DynamicShadow.tsx +0 -103
  84. package/src/components/Avatar/AvatarView/AvatarComponent/avatarComponent.tsx +0 -105
  85. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/fullbodyAvatar.tsx +0 -338
  86. package/src/components/Avatar/AvatarView/AvatarComponent/components/FullbodyAvatar/types.ts +0 -44
  87. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarAnimator.ts +0 -1091
  88. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/AvatarPositionController.ts +0 -83
  89. package/src/components/Avatar/AvatarView/AvatarComponent/components/controllers/MorphTargetController.ts +0 -301
  90. package/src/components/Avatar/AvatarView/AvatarComponent/components/controls.tsx +0 -100
  91. package/src/components/Avatar/AvatarView/AvatarComponent/components/halfbodyAvatar.tsx +0 -152
  92. package/src/components/Avatar/AvatarView/AvatarComponent/components/loader.tsx +0 -31
  93. package/src/components/Avatar/AvatarView/AvatarComponent/constants.ts +0 -141
  94. package/src/components/Avatar/AvatarView/AvatarComponent/lights/Lights.tsx +0 -145
  95. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.css +0 -111
  96. package/src/components/Avatar/AvatarView/AvatarComponent/positionControls/positionControls.tsx +0 -201
  97. package/src/components/Avatar/AvatarView/AvatarView.stories.tsx +0 -254
  98. package/src/components/Avatar/AvatarView/index.tsx +0 -194
  99. package/src/components/Avatar/AvatarView/utils/hideHands.ts +0 -11
  100. package/src/components/Avatar/AvatarView/utils/useEyeBlink.ts +0 -100
  101. package/src/components/Avatar/AvatarView/utils/useHeadMovement.ts +0 -72
  102. package/src/components/Avatar/AvatarView/utils/useLoadingMorphAnim.ts +0 -38
  103. package/src/components/Avatar/AvatarView/utils/useMouthAnimation.ts +0 -93
  104. package/src/components/Avatar/AvatarView/utils/useSmile.ts +0 -39
  105. package/src/components/Avatar/AvatarView/utils/utils.ts +0 -55
  106. package/src/components/Avatar/__snapshots__/Avatar.test.tsx.snap +0 -246
  107. package/src/components/Blob/Blob.css +0 -286
  108. package/src/components/Blob/Blob.stories.tsx +0 -53
  109. package/src/components/Blob/Blob.test.tsx +0 -18
  110. package/src/components/Blob/Blob.tsx +0 -26
  111. package/src/components/Blob/__snapshots__/Blob.test.tsx.snap +0 -80
  112. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.css +0 -40
  113. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.stories.tsx +0 -58
  114. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.test.tsx +0 -53
  115. package/src/components/BlockedMemoriBadge/BlockedMemoriBadge.tsx +0 -74
  116. package/src/components/BlockedMemoriBadge/__snapshots__/BlockedMemoriBadge.test.tsx.snap +0 -181
  117. package/src/components/ChangeMode/ChangeMode.css +0 -22
  118. package/src/components/ChangeMode/ChangeMode.stories.tsx +0 -50
  119. package/src/components/ChangeMode/ChangeMode.test.tsx +0 -24
  120. package/src/components/ChangeMode/ChangeMode.tsx +0 -51
  121. package/src/components/ChangeMode/__snapshots__/ChangeMode.test.tsx.snap +0 -107
  122. package/src/components/Chat/Chat.css +0 -285
  123. package/src/components/Chat/Chat.stories.tsx +0 -1684
  124. package/src/components/Chat/Chat.test.tsx +0 -372
  125. package/src/components/Chat/Chat.tsx +0 -778
  126. package/src/components/Chat/__snapshots__/Chat.test.tsx.snap +0 -6816
  127. package/src/components/ChatBubble/ChatBubble.css +0 -430
  128. package/src/components/ChatBubble/ChatBubble.stories.tsx +0 -1192
  129. package/src/components/ChatBubble/ChatBubble.test.tsx +0 -481
  130. package/src/components/ChatBubble/ChatBubble.tsx +0 -776
  131. package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +0 -8734
  132. package/src/components/ChatHistoryDrawer/ChatHistory.css +0 -587
  133. package/src/components/ChatHistoryDrawer/ChatHistory.stories.tsx +0 -410
  134. package/src/components/ChatHistoryDrawer/ChatHistory.test.tsx +0 -107
  135. package/src/components/ChatHistoryDrawer/ChatHistory.tsx +0 -1298
  136. package/src/components/ChatHistoryDrawer/__snapshots__/ChatHistory.test.tsx.snap +0 -27
  137. package/src/components/ChatInputs/ChatInputs.css +0 -340
  138. package/src/components/ChatInputs/ChatInputs.stories.tsx +0 -251
  139. package/src/components/ChatInputs/ChatInputs.tsx +0 -487
  140. package/src/components/ChatTextArea/ChatTextArea.css +0 -185
  141. package/src/components/ChatTextArea/ChatTextArea.stories.tsx +0 -55
  142. package/src/components/ChatTextArea/ChatTextArea.test.tsx +0 -28
  143. package/src/components/ChatTextArea/ChatTextArea.tsx +0 -171
  144. package/src/components/ChatTextArea/__snapshots__/ChatTextArea.test.tsx.snap +0 -68
  145. package/src/components/CompletionProviderStatus/CompletionProviderStatus.css +0 -36
  146. package/src/components/CompletionProviderStatus/CompletionProviderStatus.stories.tsx +0 -296
  147. package/src/components/CompletionProviderStatus/CompletionProviderStatus.test.tsx +0 -31
  148. package/src/components/CompletionProviderStatus/CompletionProviderStatus.tsx +0 -232
  149. package/src/components/CompletionProviderStatus/__snapshots__/CompletionProviderStatus.test.tsx.snap +0 -96
  150. package/src/components/ContentPreviewModal/ContentPreviewModal.css +0 -128
  151. package/src/components/ContentPreviewModal/ContentPreviewModal.tsx +0 -67
  152. package/src/components/ContentPreviewModal/index.ts +0 -2
  153. package/src/components/CustomGLBModelViewer/ModelViewer.css +0 -11
  154. package/src/components/CustomGLBModelViewer/ModelViewer.stories.tsx +0 -58
  155. package/src/components/CustomGLBModelViewer/ModelViewer.test.tsx +0 -13
  156. package/src/components/CustomGLBModelViewer/ModelViewer.tsx +0 -37
  157. package/src/components/CustomGLBModelViewer/__snapshots__/ModelViewer.test.tsx.snap +0 -20
  158. package/src/components/DateSelector/DateSelector.css +0 -158
  159. package/src/components/DateSelector/DateSelector.stories.tsx +0 -47
  160. package/src/components/DateSelector/DateSelector.test.tsx +0 -149
  161. package/src/components/DateSelector/DateSelector.tsx +0 -251
  162. package/src/components/DateSelector/__snapshots__/DateSelector.test.tsx.snap +0 -1954
  163. package/src/components/ErrorBoundary/ErrorBoundary.tsx +0 -54
  164. package/src/components/ExpertsDrawer/ExpertsDrawer.css +0 -67
  165. package/src/components/ExpertsDrawer/ExpertsDrawer.stories.tsx +0 -54
  166. package/src/components/ExpertsDrawer/ExpertsDrawer.test.tsx +0 -53
  167. package/src/components/ExpertsDrawer/ExpertsDrawer.tsx +0 -69
  168. package/src/components/ExpertsDrawer/__snapshots__/ExpertsDrawer.test.tsx.snap +0 -11
  169. package/src/components/ExportHistoryButton/ExportHistoryButton.css +0 -22
  170. package/src/components/FeedbackButtons/FeedbackButtons.css +0 -107
  171. package/src/components/FeedbackButtons/FeedbackButtons.stories.tsx +0 -52
  172. package/src/components/FeedbackButtons/FeedbackButtons.test.tsx +0 -11
  173. package/src/components/FeedbackButtons/FeedbackButtons.tsx +0 -152
  174. package/src/components/FeedbackButtons/__snapshots__/FeedbackButtons.test.tsx.snap +0 -42
  175. package/src/components/FilePreview/FilePreview.css +0 -358
  176. package/src/components/FilePreview/FilePreview.stories.tsx +0 -63
  177. package/src/components/FilePreview/FilePreview.test.tsx +0 -26
  178. package/src/components/FilePreview/FilePreview.tsx +0 -277
  179. package/src/components/FilePreview/__snapshots__/FilePreview.test.tsx.snap +0 -185
  180. package/src/components/Header/ChatConsumptionDropdown.test.tsx +0 -117
  181. package/src/components/Header/ChatConsumptionDropdown.tsx +0 -275
  182. package/src/components/Header/Header.css +0 -282
  183. package/src/components/Header/Header.stories.tsx +0 -338
  184. package/src/components/Header/Header.test.tsx +0 -371
  185. package/src/components/Header/Header.tsx +0 -442
  186. package/src/components/Header/__snapshots__/Header.test.tsx.snap +0 -964
  187. package/src/components/KnownFacts/KnownFacts.css +0 -19
  188. package/src/components/KnownFacts/KnownFacts.stories.tsx +0 -80
  189. package/src/components/KnownFacts/KnownFacts.test.tsx +0 -57
  190. package/src/components/KnownFacts/KnownFacts.tsx +0 -376
  191. package/src/components/KnownFacts/__snapshots__/KnownFacts.test.tsx.snap +0 -19
  192. package/src/components/LoginDrawer/LoginDrawer.css +0 -1616
  193. package/src/components/LoginDrawer/LoginDrawer.stories.tsx +0 -102
  194. package/src/components/LoginDrawer/LoginDrawer.test.tsx +0 -199
  195. package/src/components/LoginDrawer/LoginDrawer.tsx +0 -600
  196. package/src/components/LoginDrawer/__snapshots__/LoginDrawer.test.tsx.snap +0 -91
  197. package/src/components/MediaWidget/DocumentCard.test.tsx +0 -45
  198. package/src/components/MediaWidget/DocumentCard.tsx +0 -19
  199. package/src/components/MediaWidget/MediaItemWidget.css +0 -1398
  200. package/src/components/MediaWidget/MediaItemWidget.stories.tsx +0 -423
  201. package/src/components/MediaWidget/MediaItemWidget.test.tsx +0 -248
  202. package/src/components/MediaWidget/MediaItemWidget.tsx +0 -997
  203. package/src/components/MediaWidget/MediaItemWidget.types.ts +0 -65
  204. package/src/components/MediaWidget/MediaItemWidget.utils.test.ts +0 -367
  205. package/src/components/MediaWidget/MediaItemWidget.utils.ts +0 -227
  206. package/src/components/MediaWidget/MediaPreviewModal.test.tsx +0 -271
  207. package/src/components/MediaWidget/MediaPreviewModal.tsx +0 -425
  208. package/src/components/MediaWidget/MediaWidget.css +0 -131
  209. package/src/components/MediaWidget/MediaWidget.stories.tsx +0 -319
  210. package/src/components/MediaWidget/MediaWidget.test.tsx +0 -41
  211. package/src/components/MediaWidget/MediaWidget.tsx +0 -107
  212. package/src/components/MediaWidget/__snapshots__/DocumentCard.test.tsx.snap +0 -24
  213. package/src/components/MediaWidget/__snapshots__/MediaItemWidget.test.tsx.snap +0 -791
  214. package/src/components/MediaWidget/__snapshots__/MediaWidget.test.tsx.snap +0 -154
  215. package/src/components/MemoriArtifactSystem/ArtifactDrawer.stories.tsx +0 -2299
  216. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.css +0 -163
  217. package/src/components/MemoriArtifactSystem/components/ArtifactActions/ArtifactActions.tsx +0 -250
  218. package/src/components/MemoriArtifactSystem/components/ArtifactActions/CopyButton.stories.tsx +0 -30
  219. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyButtonWithDropdown.tsx +0 -467
  220. package/src/components/MemoriArtifactSystem/components/ArtifactActions/components/CopyMenuItem.tsx +0 -89
  221. package/src/components/MemoriArtifactSystem/components/ArtifactActions/hooks/useCopyArtifact.ts +0 -619
  222. package/src/components/MemoriArtifactSystem/components/ArtifactActions/index.ts +0 -9
  223. package/src/components/MemoriArtifactSystem/components/ArtifactActions/styles.css +0 -489
  224. package/src/components/MemoriArtifactSystem/components/ArtifactActions/test/CopyButtonTest.tsx +0 -90
  225. package/src/components/MemoriArtifactSystem/components/ArtifactActions/types.ts +0 -73
  226. package/src/components/MemoriArtifactSystem/components/ArtifactActions/utils/PDFExporter.ts +0 -454
  227. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.css +0 -1059
  228. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/ArtifactDrawer.tsx +0 -431
  229. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.css +0 -150
  230. package/src/components/MemoriArtifactSystem/components/ArtifactDrawer/components/TabSwitch.tsx +0 -79
  231. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.css +0 -253
  232. package/src/components/MemoriArtifactSystem/components/ArtifactHandler/ArtifactHandler.tsx +0 -561
  233. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.css +0 -355
  234. package/src/components/MemoriArtifactSystem/components/ArtifactPreview/ArtifactPreview.tsx +0 -160
  235. package/src/components/MemoriArtifactSystem/context/ArtifactContext.tsx +0 -167
  236. package/src/components/MemoriArtifactSystem/types/artifact.types.ts +0 -35
  237. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.test.tsx +0 -308
  238. package/src/components/MemoriArtifactSystem/utils/ArtifactAPI.tsx +0 -379
  239. package/src/components/MemoriArtifactSystem/utils/applyEdits.test.ts +0 -85
  240. package/src/components/MemoriArtifactSystem/utils/applyEdits.ts +0 -173
  241. package/src/components/MemoriWidget/MemoriWidget.css +0 -220
  242. package/src/components/MemoriWidget/MemoriWidget.stories.tsx +0 -274
  243. package/src/components/MemoriWidget/MemoriWidget.tsx +0 -3930
  244. package/src/components/MicrophoneButton/MicrophoneButton.css +0 -142
  245. package/src/components/MicrophoneButton/MicrophoneButton.stories.tsx +0 -52
  246. package/src/components/MicrophoneButton/MicrophoneButton.tsx +0 -128
  247. package/src/components/PositionDrawer/PositionDrawer.stories.tsx +0 -51
  248. package/src/components/PositionDrawer/PositionDrawer.test.tsx +0 -39
  249. package/src/components/PositionDrawer/PositionDrawer.tsx +0 -50
  250. package/src/components/PositionDrawer/__snapshots__/PositionDrawer.test.tsx.snap +0 -17
  251. package/src/components/PoweredBy/PoweredBy.css +0 -47
  252. package/src/components/PoweredBy/PoweredBy.stories.tsx +0 -75
  253. package/src/components/PoweredBy/PoweredBy.test.tsx +0 -15
  254. package/src/components/PoweredBy/PoweredBy.tsx +0 -44
  255. package/src/components/PoweredBy/__snapshots__/PoweredBy.test.tsx.snap +0 -55
  256. package/src/components/SendOnEnterMenu/SendOnEnterMenu.css +0 -47
  257. package/src/components/SendOnEnterMenu/SendOnEnterMenu.stories.tsx +0 -58
  258. package/src/components/SendOnEnterMenu/SendOnEnterMenu.test.tsx +0 -17
  259. package/src/components/SendOnEnterMenu/SendOnEnterMenu.tsx +0 -82
  260. package/src/components/SendOnEnterMenu/__snapshots__/SendOnEnterMenu.test.tsx.snap +0 -57
  261. package/src/components/SettingsDrawer/SettingsDrawer.css +0 -24
  262. package/src/components/SettingsDrawer/SettingsDrawer.stories.tsx +0 -94
  263. package/src/components/SettingsDrawer/SettingsDrawer.test.tsx +0 -202
  264. package/src/components/SettingsDrawer/SettingsDrawer.tsx +0 -255
  265. package/src/components/SettingsDrawer/__snapshots__/SettingsDrawer.test.tsx.snap +0 -59
  266. package/src/components/ShareButton/ShareButton.css +0 -73
  267. package/src/components/ShareButton/ShareButton.stories.tsx +0 -98
  268. package/src/components/ShareButton/ShareButton.test.tsx +0 -53
  269. package/src/components/ShareButton/ShareButton.tsx +0 -395
  270. package/src/components/ShareButton/__snapshots__/ShareButton.test.tsx.snap +0 -316
  271. package/src/components/Snippet/Snippet.css +0 -142
  272. package/src/components/Snippet/Snippet.stories.tsx +0 -286
  273. package/src/components/Snippet/Snippet.test.tsx +0 -176
  274. package/src/components/Snippet/Snippet.tsx +0 -148
  275. package/src/components/Snippet/__snapshots__/Snippet.test.tsx.snap +0 -603
  276. package/src/components/StartPanel/StartPanel.css +0 -273
  277. package/src/components/StartPanel/StartPanel.stories.tsx +0 -404
  278. package/src/components/StartPanel/StartPanel.test.tsx +0 -360
  279. package/src/components/StartPanel/StartPanel.tsx +0 -426
  280. package/src/components/StartPanel/__snapshots__/StartPanel.test.tsx.snap +0 -1986
  281. package/src/components/Typing/Typing.stories.tsx +0 -130
  282. package/src/components/Typing/Typing.test.tsx +0 -62
  283. package/src/components/Typing/Typing.tsx +0 -154
  284. package/src/components/Typing/__snapshots__/Typing.test.tsx.snap +0 -133
  285. package/src/components/UploadButton/UploadButton.css +0 -542
  286. package/src/components/UploadButton/UploadButton.stories.tsx +0 -376
  287. package/src/components/UploadButton/UploadButton.test.tsx +0 -11
  288. package/src/components/UploadButton/UploadButton.tsx +0 -684
  289. package/src/components/UploadButton/UploadDocuments/UploadDocuments.tsx +0 -405
  290. package/src/components/UploadButton/UploadImages/UploadImages.tsx +0 -538
  291. package/src/components/UploadButton/__snapshots__/UploadButton.test.tsx.snap +0 -165
  292. package/src/components/VenueWidget/VenueWidget.css +0 -163
  293. package/src/components/VenueWidget/VenueWidget.stories.tsx +0 -66
  294. package/src/components/VenueWidget/VenueWidget.test.tsx +0 -49
  295. package/src/components/VenueWidget/VenueWidget.tsx +0 -458
  296. package/src/components/VenueWidget/__snapshots__/VenueWidget.test.tsx.snap +0 -370
  297. package/src/components/WhyThisAnswer/WhyThisAnswer.css +0 -171
  298. package/src/components/WhyThisAnswer/WhyThisAnswer.stories.tsx +0 -285
  299. package/src/components/WhyThisAnswer/WhyThisAnswer.test.tsx +0 -245
  300. package/src/components/WhyThisAnswer/WhyThisAnswer.tsx +0 -233
  301. package/src/components/WhyThisAnswer/__snapshots__/WhyThisAnswer.test.tsx.snap +0 -27
  302. package/src/components/icons/AI.tsx +0 -34
  303. package/src/components/icons/Alert.tsx +0 -31
  304. package/src/components/icons/ArrowUp.tsx +0 -28
  305. package/src/components/icons/Bug.tsx +0 -81
  306. package/src/components/icons/Chat.tsx +0 -30
  307. package/src/components/icons/ChevronDown.tsx +0 -26
  308. package/src/components/icons/ChevronLeft.tsx +0 -28
  309. package/src/components/icons/ChevronRight.tsx +0 -28
  310. package/src/components/icons/ChevronUp.tsx +0 -24
  311. package/src/components/icons/Clear.tsx +0 -23
  312. package/src/components/icons/Close.tsx +0 -30
  313. package/src/components/icons/Code.tsx +0 -24
  314. package/src/components/icons/Copy.tsx +0 -23
  315. package/src/components/icons/DeepThought.tsx +0 -38
  316. package/src/components/icons/Delete.tsx +0 -23
  317. package/src/components/icons/Document.tsx +0 -50
  318. package/src/components/icons/Download.tsx +0 -23
  319. package/src/components/icons/Edit.tsx +0 -17
  320. package/src/components/icons/Expand.tsx +0 -23
  321. package/src/components/icons/Eye.tsx +0 -17
  322. package/src/components/icons/EyeInvisible.tsx +0 -24
  323. package/src/components/icons/Facebook.tsx +0 -23
  324. package/src/components/icons/Feedback.tsx +0 -24
  325. package/src/components/icons/File.tsx +0 -17
  326. package/src/components/icons/FileExcel.tsx +0 -23
  327. package/src/components/icons/FilePdf.tsx +0 -23
  328. package/src/components/icons/FileWord.tsx +0 -23
  329. package/src/components/icons/Fullscreen.tsx +0 -23
  330. package/src/components/icons/FullscreenExit.tsx +0 -23
  331. package/src/components/icons/GasStation.tsx +0 -36
  332. package/src/components/icons/Group.tsx +0 -30
  333. package/src/components/icons/History.tsx +0 -33
  334. package/src/components/icons/Image.tsx +0 -37
  335. package/src/components/icons/Info.tsx +0 -31
  336. package/src/components/icons/Link.tsx +0 -17
  337. package/src/components/icons/Linkedin.tsx +0 -23
  338. package/src/components/icons/Loading.tsx +0 -28
  339. package/src/components/icons/Logout.tsx +0 -27
  340. package/src/components/icons/Mail.tsx +0 -17
  341. package/src/components/icons/MapMarker.tsx +0 -26
  342. package/src/components/icons/MenuHorizontal.tsx +0 -29
  343. package/src/components/icons/MenuVertical.tsx +0 -29
  344. package/src/components/icons/Message.tsx +0 -23
  345. package/src/components/icons/Microphone.tsx +0 -23
  346. package/src/components/icons/Minus.tsx +0 -23
  347. package/src/components/icons/MinusCircle.tsx +0 -24
  348. package/src/components/icons/PaperClip.tsx +0 -23
  349. package/src/components/icons/Picture.tsx +0 -23
  350. package/src/components/icons/Plus.tsx +0 -18
  351. package/src/components/icons/Preview.tsx +0 -29
  352. package/src/components/icons/Print.tsx +0 -38
  353. package/src/components/icons/QuestionHelp.tsx +0 -30
  354. package/src/components/icons/Refresh.tsx +0 -30
  355. package/src/components/icons/SelectIcon.tsx +0 -28
  356. package/src/components/icons/Send.tsx +0 -17
  357. package/src/components/icons/Setting.tsx +0 -23
  358. package/src/components/icons/Share.tsx +0 -23
  359. package/src/components/icons/Sound.tsx +0 -23
  360. package/src/components/icons/SoundDeactivated.tsx +0 -27
  361. package/src/components/icons/Telegram.tsx +0 -26
  362. package/src/components/icons/ThumbDown.tsx +0 -29
  363. package/src/components/icons/ThumbUp.tsx +0 -29
  364. package/src/components/icons/Translation.tsx +0 -24
  365. package/src/components/icons/Twitter.tsx +0 -23
  366. package/src/components/icons/Upload.tsx +0 -34
  367. package/src/components/icons/User.tsx +0 -17
  368. package/src/components/icons/Warning.tsx +0 -24
  369. package/src/components/icons/WhatsApp.tsx +0 -24
  370. package/src/components/icons/icons.stories.css +0 -5
  371. package/src/components/icons/icons.stories.tsx +0 -81
  372. package/src/components/icons/loading.css +0 -14
  373. package/src/components/layouts/Chat.test.tsx +0 -40
  374. package/src/components/layouts/Chat.tsx +0 -69
  375. package/src/components/layouts/FullBody/FullBody.stories.tsx +0 -110
  376. package/src/components/layouts/FullPage.test.tsx +0 -65
  377. package/src/components/layouts/FullPage.tsx +0 -80
  378. package/src/components/layouts/HiddenChat.test.tsx +0 -40
  379. package/src/components/layouts/HiddenChat.tsx +0 -233
  380. package/src/components/layouts/Totem/Totem.stories.tsx +0 -131
  381. package/src/components/layouts/Totem.test.tsx +0 -40
  382. package/src/components/layouts/Totem.tsx +0 -49
  383. package/src/components/layouts/WebsiteAssistant.test.tsx +0 -40
  384. package/src/components/layouts/WebsiteAssistant.tsx +0 -132
  385. package/src/components/layouts/ZoomedFullBody/ZoomedFullBody.stories.tsx +0 -131
  386. package/src/components/layouts/ZoomedFullBody.test.tsx +0 -40
  387. package/src/components/layouts/ZoomedFullBody.tsx +0 -81
  388. package/src/components/layouts/__snapshots__/Chat.test.tsx.snap +0 -457
  389. package/src/components/layouts/__snapshots__/FullPage.test.tsx.snap +0 -1045
  390. package/src/components/layouts/__snapshots__/HiddenChat.test.tsx.snap +0 -460
  391. package/src/components/layouts/__snapshots__/Totem.test.tsx.snap +0 -566
  392. package/src/components/layouts/__snapshots__/WebsiteAssistant.test.tsx.snap +0 -59
  393. package/src/components/layouts/__snapshots__/ZoomedFullBody.test.tsx.snap +0 -523
  394. package/src/components/layouts/chat.css +0 -451
  395. package/src/components/layouts/hidden-chat.css +0 -276
  396. package/src/components/layouts/layouts.stories.tsx +0 -231
  397. package/src/components/layouts/totem.css +0 -221
  398. package/src/components/layouts/website-assistant.css +0 -677
  399. package/src/components/layouts/zoomed-full-body.css +0 -18
  400. package/src/components/ui/Alert.css +0 -93
  401. package/src/components/ui/Alert.stories.tsx +0 -137
  402. package/src/components/ui/Alert.test.tsx +0 -129
  403. package/src/components/ui/Alert.tsx +0 -123
  404. package/src/components/ui/Button.css +0 -167
  405. package/src/components/ui/Button.stories.tsx +0 -156
  406. package/src/components/ui/Button.test.tsx +0 -74
  407. package/src/components/ui/Button.tsx +0 -107
  408. package/src/components/ui/Card.css +0 -65
  409. package/src/components/ui/Card.stories.tsx +0 -95
  410. package/src/components/ui/Card.test.tsx +0 -47
  411. package/src/components/ui/Card.tsx +0 -48
  412. package/src/components/ui/Checkbox.css +0 -116
  413. package/src/components/ui/Checkbox.stories.tsx +0 -74
  414. package/src/components/ui/Checkbox.test.tsx +0 -28
  415. package/src/components/ui/Checkbox.tsx +0 -58
  416. package/src/components/ui/ConfirmDialog.css +0 -42
  417. package/src/components/ui/ConfirmDialog.stories.tsx +0 -216
  418. package/src/components/ui/ConfirmDialog.test.tsx +0 -124
  419. package/src/components/ui/ConfirmDialog.tsx +0 -58
  420. package/src/components/ui/Details.css +0 -66
  421. package/src/components/ui/Drawer.css +0 -270
  422. package/src/components/ui/Drawer.stories.tsx +0 -267
  423. package/src/components/ui/Drawer.test.tsx +0 -130
  424. package/src/components/ui/Drawer.tsx +0 -293
  425. package/src/components/ui/Dropdown.css +0 -173
  426. package/src/components/ui/Dropdown.tsx +0 -63
  427. package/src/components/ui/Expandable.css +0 -15
  428. package/src/components/ui/Expandable.stories.tsx +0 -180
  429. package/src/components/ui/Expandable.test.tsx +0 -107
  430. package/src/components/ui/Expandable.tsx +0 -121
  431. package/src/components/ui/Modal.css +0 -98
  432. package/src/components/ui/Modal.stories.tsx +0 -171
  433. package/src/components/ui/Modal.test.tsx +0 -111
  434. package/src/components/ui/Modal.tsx +0 -117
  435. package/src/components/ui/Select.css +0 -138
  436. package/src/components/ui/Select.stories.tsx +0 -79
  437. package/src/components/ui/Select.test.tsx +0 -84
  438. package/src/components/ui/Select.tsx +0 -79
  439. package/src/components/ui/Slider.css +0 -192
  440. package/src/components/ui/Slider.stories.tsx +0 -63
  441. package/src/components/ui/Slider.tsx +0 -142
  442. package/src/components/ui/Spin.css +0 -31
  443. package/src/components/ui/Spin.stories.tsx +0 -64
  444. package/src/components/ui/Spin.test.tsx +0 -41
  445. package/src/components/ui/Spin.tsx +0 -31
  446. package/src/components/ui/Table.css +0 -132
  447. package/src/components/ui/Tooltip.css +0 -171
  448. package/src/components/ui/Tooltip.stories.tsx +0 -109
  449. package/src/components/ui/Tooltip.test.tsx +0 -102
  450. package/src/components/ui/Tooltip.tsx +0 -163
  451. package/src/components/ui/__snapshots__/Alert.test.tsx.snap +0 -59
  452. package/src/components/ui/__snapshots__/Button.test.tsx.snap +0 -204
  453. package/src/components/ui/__snapshots__/Card.test.tsx.snap +0 -321
  454. package/src/components/ui/__snapshots__/Checkbox.test.tsx.snap +0 -131
  455. package/src/components/ui/__snapshots__/ConfirmDialog.test.tsx.snap +0 -35
  456. package/src/components/ui/__snapshots__/Drawer.test.tsx.snap +0 -67
  457. package/src/components/ui/__snapshots__/Expandable.test.tsx.snap +0 -159
  458. package/src/components/ui/__snapshots__/Modal.test.tsx.snap +0 -59
  459. package/src/components/ui/__snapshots__/Select.test.tsx.snap +0 -254
  460. package/src/components/ui/__snapshots__/Spin.test.tsx.snap +0 -193
  461. package/src/components/ui/__snapshots__/Tooltip.test.tsx.snap +0 -113
  462. package/src/components/ui/definitions.stories.tsx +0 -139
  463. package/src/context/visemeContext.tsx +0 -384
  464. package/src/helpers/chatPdfExport.ts +0 -544
  465. package/src/helpers/configuration.ts +0 -42
  466. package/src/helpers/constants.ts +0 -267
  467. package/src/helpers/convertDocument.test.ts +0 -67
  468. package/src/helpers/convertDocument.ts +0 -35
  469. package/src/helpers/credits.ts +0 -54
  470. package/src/helpers/error.test.ts +0 -29
  471. package/src/helpers/error.ts +0 -278
  472. package/src/helpers/imageCompression.ts +0 -230
  473. package/src/helpers/llmUsage.ts +0 -328
  474. package/src/helpers/markedExtendedTables.js +0 -217
  475. package/src/helpers/media.test.ts +0 -169
  476. package/src/helpers/media.ts +0 -81
  477. package/src/helpers/message.test.ts +0 -126
  478. package/src/helpers/message.ts +0 -219
  479. package/src/helpers/nats/getNatsConfig.ts +0 -148
  480. package/src/helpers/nats/isSessionExpiredError.test.ts +0 -38
  481. package/src/helpers/nats/isSessionExpiredError.ts +0 -51
  482. package/src/helpers/nats/useNats.test.tsx +0 -81
  483. package/src/helpers/nats/useNats.ts +0 -204
  484. package/src/helpers/nats/useNatsSession.test.ts +0 -16
  485. package/src/helpers/nats/useNatsSession.ts +0 -460
  486. package/src/helpers/piiDetection.test.ts +0 -186
  487. package/src/helpers/piiDetection.ts +0 -91
  488. package/src/helpers/sanitizer.ts +0 -17
  489. package/src/helpers/statistics.ts +0 -58
  490. package/src/helpers/stt/useSTT.ts +0 -515
  491. package/src/helpers/translations.ts +0 -39
  492. package/src/helpers/tts/ttsVoiceUtility.ts +0 -275
  493. package/src/helpers/tts/useTTS.ts +0 -621
  494. package/src/helpers/utils.test.ts +0 -321
  495. package/src/helpers/utils.ts +0 -586
  496. package/src/helpers/venue.ts +0 -36
  497. package/src/i18n.ts +0 -39
  498. package/src/index.stories.tsx +0 -220
  499. package/src/index.test.tsx +0 -156
  500. package/src/index.tsx +0 -592
  501. package/src/locales/de.json +0 -680
  502. package/src/locales/en.json +0 -754
  503. package/src/locales/es.json +0 -682
  504. package/src/locales/fr.json +0 -682
  505. package/src/locales/it.json +0 -750
  506. package/src/mocks/data.ts +0 -790
  507. package/src/styles.css +0 -126
  508. package/src/types/integration.test.ts +0 -32
  509. package/src/types/integration.ts +0 -31
  510. package/src/types/layout.ts +0 -50
  511. package/src/version.ts +0 -2
@@ -1,1398 +0,0 @@
1
- .memori-media-items {
2
- margin-top: 1.5rem;
3
- }
4
-
5
- .memori-media-items--grid {
6
- display: flex;
7
- flex-wrap: wrap;
8
- justify-content: flex-start;
9
- padding: 0.5rem;
10
- gap: 8px;
11
- }
12
-
13
- /* Single image: Single column, centered, full width */
14
- .memori-media-items--grid.memori-media-items--single {
15
- grid-template-rows: 1fr;
16
- justify-items: center;
17
- }
18
-
19
- .memori-media-items--grid.memori-media-items--single .memori-media-item,
20
- .memori-media-item--link .memori-media-item--image {
21
- width: 100%;
22
- width: 120px;
23
- max-width: 100%;
24
- height: 120px;
25
- }
26
-
27
- .memori-media-item--link .memori-media-item--image > div {
28
- height: 100%;
29
- }
30
-
31
- /* 2-4 images: Maximum 2 columns, responsive */
32
- .memori-media-items--grid.memori-media-items--few {
33
- max-width: 100%;
34
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
35
- }
36
-
37
- /* Limit to 2 columns for 2-4 images on tablet and desktop */
38
- @media (min-width: 641px) {
39
- .memori-media-items--grid.memori-media-items--few {
40
- grid-template-columns: repeat(2, minmax(200px, 1fr));
41
- }
42
- }
43
-
44
- /* 5+ images: Maximum 3 columns on desktop */
45
- .memori-media-items--grid.memori-media-items--many {
46
- max-width: 100%;
47
- grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
48
- }
49
-
50
- /* Limit to 3 columns for 5+ images on desktop */
51
- @media (min-width: 1025px) {
52
- .memori-media-items--grid.memori-media-items--many {
53
- grid-template-columns: repeat(3, minmax(200px, 1fr));
54
- }
55
- }
56
-
57
- /* Allineamento media per messaggi dell'utente */
58
- .memori-media-items--grid.memori-media-items--user {
59
- margin-right: 3rem;
60
- direction: rtl;
61
- }
62
-
63
- /* Allineamento media per messaggi dell'agente */
64
- .memori-media-items--grid.memori-media-items--agent {
65
- margin-left: 3rem;
66
- direction: ltr;
67
- }
68
-
69
- .memori-media-item--card {
70
- border: 1px solid #e5e7eb;
71
- border-radius: 8px;
72
- margin-bottom: 0;
73
- background: #f9fafb;
74
- box-shadow: none;
75
- transition: box-shadow 0.2s ease;
76
- }
77
-
78
- .memori-media-item--card:hover {
79
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
80
- cursor: pointer;
81
- }
82
-
83
- .memori-media-item--image .memori-card--content {
84
- display: none;
85
- padding: 0;
86
- }
87
-
88
- .memori-media-item--image .memori-card {
89
- overflow: hidden;
90
- border: 1px solid #e5e7eb;
91
- border-radius: 8px;
92
- margin: 0;
93
- background: #f9fafb;
94
- box-shadow: none;
95
- }
96
-
97
- .memori-media-item .memori-card--cover {
98
- height: auto;
99
- border-radius: 0;
100
- background: transparent;
101
- }
102
-
103
- .memori-media-item .memori-card--cover audio,
104
- .memori-media-item .memori-card--cover video {
105
- border-radius: 5px;
106
- }
107
-
108
- .memori-media-item--image .memori-card--cover {
109
- overflow: hidden;
110
- height: 100%;
111
- padding: 0;
112
- border: none;
113
- border-radius: 0;
114
- margin: 0;
115
- background: transparent;
116
- }
117
-
118
- .memori-media-item--figure {
119
- display: flex;
120
- overflow: hidden;
121
- width: 100%;
122
- height: 100%;
123
- flex-direction: column;
124
- align-items: center;
125
- justify-content: center;
126
- border-radius: 8px;
127
- }
128
-
129
- /* Single image: max-height 400px */
130
- .memori-media-items--single .memori-media-item--figure {
131
- min-height: 120px;
132
- max-height: 120px;
133
- }
134
-
135
- .memori-media-item--rgb-item {
136
- width: 100%;
137
- min-height: 100px;
138
- flex: 1;
139
- }
140
-
141
- .memori-media-item--figure img {
142
- display: block;
143
- width: 100%;
144
- height: auto;
145
- max-height: inherit;
146
- object-fit: cover;
147
- object-position: center;
148
- }
149
-
150
- .memori-media-item--figure-caption {
151
- display: -webkit-box;
152
- overflow: hidden;
153
- max-height: 2.6em;
154
- padding: 0.5rem 0.75rem;
155
- margin: 0.25rem 0;
156
- -webkit-box-orient: vertical;
157
- color: #666;
158
- font-size: 0.7rem;
159
- font-style: italic;
160
- font-weight: 400;
161
- -webkit-line-clamp: 2;
162
- line-height: 1.3;
163
- text-align: center;
164
- word-break: break-word;
165
- }
166
-
167
- a.memori-media-item--link,
168
- div.memori-media-item--link.memori-media-item--image-link {
169
- display: block;
170
- overflow: hidden;
171
- width: 100%;
172
- height: 100%;
173
- border-radius: 8px;
174
- text-decoration: none;
175
- transition: box-shadow 0.2s ease;
176
- }
177
-
178
- .memori-media-item--icon {
179
- width: 50%;
180
- height: 50%;
181
- }
182
-
183
- .memori-media-item--modal .memori-media-item--figure {
184
- position: relative;
185
- z-index: 0;
186
- width: 100%;
187
- max-height: 100%;
188
- flex-direction: row;
189
- }
190
-
191
- .memori-media-item--modal .memori-media-item--figure img {
192
- object-fit: contain;
193
- }
194
-
195
- .memori-media-item--modal .memori-card {
196
- width: 100%;
197
- max-width: 100%;
198
- height: 100%;
199
- max-height: 100%;
200
- border-radius: 0;
201
- margin-bottom: 0;
202
- box-shadow: none;
203
- }
204
-
205
- .memori-media-item--modal .memori-card--content {
206
- display: none;
207
- }
208
-
209
- .memori-media-item--modal .memori-card--cover {
210
- height: 100%;
211
- border-radius: 0;
212
- }
213
-
214
- .memori-media-item--modal .memori-modal--panel {
215
- max-width: 75vw;
216
- max-height: 85vh;
217
- -webkit-backdrop-filter: blur(var(--memori-blur-background, 10px));
218
- backdrop-filter: blur(var(--memori-blur-background, 10px));
219
- background: rgba(0, 0, 0, 0.25);
220
- }
221
-
222
- .memori-media-item--modal .memori-modal--panel .memori-card {
223
- background: none;
224
- }
225
-
226
- .memori-media-item--modal .memori-modal--panel .memori-spin {
227
- display: flex;
228
- height: 100%;
229
- align-items: center;
230
- justify-content: center;
231
- }
232
-
233
- .memori-media-item--modal a.memori-media-item--link {
234
- display: flex;
235
- width: 100%;
236
- height: 100%;
237
- align-items: center;
238
- justify-content: center;
239
- }
240
-
241
- .memori-media-item--modal .memori-media-item--figure-caption {
242
- position: absolute;
243
- bottom: 0;
244
- width: 100%;
245
- -webkit-backdrop-filter: blur(var(--memori-blur-background, 5px));
246
- backdrop-filter: blur(var(--memori-blur-background, 5px));
247
- background: rgba(255, 255, 255, 0.5);
248
- color: #000;
249
- }
250
-
251
- .memori-media-item--modal .memori-modal--close button {
252
- border-color: #fff;
253
- color: #fff;
254
- }
255
-
256
- .memori-media-item-preview--modal {
257
- z-index: 1000;
258
- }
259
-
260
- .memori-media-item--modal-iframe-wrap {
261
- display: flex;
262
- width: 100%;
263
- min-height: 60vh;
264
- flex: 1;
265
- }
266
-
267
- .memori-media-item--modal-iframe {
268
- width: 100%;
269
- min-height: 60vh;
270
- flex: 1;
271
- border: none;
272
- border-radius: 8px;
273
- }
274
-
275
- /* Video in modal */
276
- .memori-media-item--modal-video-wrap {
277
- display: flex;
278
- width: 100%;
279
- min-height: 40vh;
280
- max-height: 70vh;
281
- }
282
-
283
- .memori-media-item--modal-video {
284
- width: 100%;
285
- max-height: 70vh;
286
- border-radius: 8px;
287
- object-fit: contain;
288
- }
289
-
290
- /* Audio in modal */
291
- .memori-media-item--modal-audio-wrap {
292
- display: flex;
293
- width: 100%;
294
- flex-direction: column;
295
- padding: 1rem 0;
296
- gap: 1rem;
297
- }
298
-
299
- .memori-media-item--modal-audio-title {
300
- margin: 0;
301
- color: var(--memori-color-text, #1f2937);
302
- font-size: 1rem;
303
- font-weight: 600;
304
- }
305
-
306
- .memori-media-item--modal-audio {
307
- width: 100%;
308
- max-width: 400px;
309
- }
310
-
311
- /* 3D model in modal */
312
- .memori-media-item--modal-3d-wrap {
313
- display: flex;
314
- width: 100%;
315
- min-height: 60vh;
316
- }
317
-
318
- .memori-media-item--modal-3d-wrap .model-viewer {
319
- width: 100%;
320
- min-height: 60vh;
321
- }
322
-
323
- /* Fallback when preview not available (Word, unknown types) */
324
- .memori-media-item--modal-fallback {
325
- display: flex;
326
- min-height: 200px;
327
- flex-direction: column;
328
- align-items: center;
329
- justify-content: center;
330
- padding: 2rem;
331
- gap: 1rem;
332
- text-align: center;
333
- }
334
-
335
- .memori-media-item--modal-fallback-message {
336
- margin: 0;
337
- color: var(--memori-color-text, #374151);
338
- font-size: 1rem;
339
- font-weight: 500;
340
- }
341
-
342
- .memori-media-item--modal-fallback-hint {
343
- margin: 0;
344
- color: var(--memori-color-text-secondary, #6b7280);
345
- font-size: 0.875rem;
346
- }
347
-
348
- .memori-media-item--modal-fallback-actions {
349
- display: flex;
350
- flex-wrap: wrap;
351
- justify-content: center;
352
- gap: 1rem;
353
- }
354
-
355
- .memori-media-item--modal-fallback-link {
356
- padding: 0.5rem 1rem;
357
- border: 1px solid var(--memori-border-color, #e5e7eb);
358
- border-radius: 8px;
359
- background: var(--memori-background-color, #fff);
360
- color: var(--memori-color-primary, #2563eb);
361
- font-size: 0.875rem;
362
- font-weight: 500;
363
- text-decoration: none;
364
- transition: background 0.2s, border-color 0.2s;
365
- }
366
-
367
- .memori-media-item--modal-fallback-link:hover {
368
- border-color: var(--memori-color-primary, #2563eb);
369
- background: var(--memori-background-hover, #f9fafb);
370
- }
371
-
372
- .memori-media-item--snippet-body {
373
- display: flex;
374
- width: 100%;
375
- flex-direction: column;
376
- }
377
-
378
- .memori-media-item-preview--content {
379
- display: flex;
380
- overflow: hidden;
381
- min-height: 60vh;
382
- max-height: 80vh;
383
- flex-direction: column;
384
- padding: 0;
385
- border: none;
386
- border-radius: 0.75rem;
387
- background-color: var(--memori-background-color, #fff);
388
- box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
389
- }
390
-
391
- .memori-media-item-preview--text {
392
- color: var(--memori-color-text);
393
- font-family: inherit;
394
- font-size: 0.875rem;
395
- line-height: 1.6;
396
- white-space: pre-wrap;
397
- word-wrap: break-word;
398
- }
399
-
400
- .memori-media-item-preview--text h1,
401
- .memori-media-item-preview--text h2,
402
- .memori-media-item-preview--text h3,
403
- .memori-media-item-preview--text h4,
404
- .memori-media-item-preview--text h5,
405
- .memori-media-item-preview--text h6 {
406
- margin-top: 1.5rem;
407
- margin-bottom: 0.75rem;
408
- color: var(--memori-color-text);
409
- font-weight: 600;
410
- }
411
-
412
- .memori-media-item-preview--text p {
413
- margin-bottom: 1rem;
414
- }
415
-
416
- .memori-media-item-preview--text ul,
417
- .memori-media-item-preview--text ol {
418
- padding-left: 1.5rem;
419
- margin-bottom: 1rem;
420
- }
421
-
422
- .memori-media-item-preview--text li {
423
- margin-bottom: 0.25rem;
424
- }
425
-
426
- .memori-media-item-preview--text code {
427
- padding: 0.125rem 0.25rem;
428
- border-radius: 0.25rem;
429
- background-color: var(--memori-primary-light);
430
- font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
431
- font-size: 0.875em;
432
- }
433
-
434
- .memori-media-item-preview--text pre {
435
- padding: 1rem;
436
- border: 1px solid var(--memori-border);
437
- border-radius: 0.5rem;
438
- margin: 1rem 0;
439
- background-color: var(--memori-primary-light);
440
- overflow-x: auto;
441
- }
442
-
443
- .memori-media-item-preview--text blockquote {
444
- padding-left: 1rem;
445
- border-left: 4px solid var(--memori-primary);
446
- margin: 1rem 0;
447
- color: var(--memori-color-text-secondary);
448
- font-style: italic;
449
- }
450
-
451
- .memori-media-item-preview--text table {
452
- width: 100%;
453
- margin: 1rem 0;
454
- border-collapse: collapse;
455
- }
456
-
457
- .memori-media-item-preview--text th,
458
- .memori-media-item-preview--text td {
459
- padding: 0.5rem;
460
- border: 1px solid var(--memori-border);
461
- text-align: left;
462
- }
463
-
464
- .memori-media-item-preview--text th {
465
- background-color: var(--memori-primary-light);
466
- font-weight: 600;
467
- }
468
-
469
- .memori-media-item-preview--text a {
470
- color: var(--memori-primary);
471
- text-decoration: underline;
472
- }
473
-
474
- .memori-media-item-preview--text a:hover {
475
- text-decoration: none;
476
- }
477
-
478
- .memori-media-item--snippet-title {
479
- flex: 1;
480
- margin: 0;
481
- margin-bottom: 0.5rem;
482
- -webkit-box-orient: vertical;
483
- color: #111827;
484
- direction: ltr;
485
- font-size: 14px;
486
- font-weight: 500;
487
- }
488
-
489
- .memori-media-item--snippet-header {
490
- display: flex;
491
- align-items: center;
492
- justify-content: flex-end;
493
- padding: 0.5rem 0.75rem;
494
- }
495
-
496
- .memori-media-item--snippet-meta {
497
- color: #9ca3af;
498
- font-size: 12px;
499
- }
500
-
501
- .memori-media-item--snippet {
502
- width: 100%;
503
- min-width: 0;
504
- max-width: 100%;
505
- }
506
-
507
- .memori-media-item--snippet-direct {
508
- display: flex;
509
- width: 100%;
510
- min-width: 0;
511
- margin-bottom: 1rem;
512
- }
513
-
514
- /* Snippet card: full width of parent so it resizes with container */
515
- .memori-media-items--grid .memori-media-item:has(.memori-media-item--snippet) {
516
- width: 100%;
517
- min-width: 0;
518
- }
519
-
520
- .memori-media-items--grid .memori-media-item--snippet-direct {
521
- max-width: none;
522
- }
523
-
524
- .memori-media-items--grid .memori-media-item--snippet {
525
- width: 100%;
526
- min-width: 0;
527
- max-width: 100%;
528
- }
529
-
530
- .memori-media-item--snippet-direct .memori-media-item--snippet {
531
- overflow: hidden;
532
- width: 100%;
533
- min-width: auto;
534
- border: 1px solid var(--memori-border, #e5e7eb);
535
- border-radius: 0.75rem;
536
- box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.1);
537
- transition: all 0.2s ease;
538
- }
539
-
540
- .memori-media-item--snippet-direct .memori-media-item--snippet:hover {
541
- box-shadow: 0 4px 8px -2px rgba(0, 0, 0, 0.15);
542
- transform: translateY(-1px);
543
- }
544
-
545
- .memori-media-item--snippet-direct .memori-snippet {
546
- border-radius: 0.75rem;
547
- background: #f8fafc;
548
- }
549
-
550
- /* Lower specificity selectors must come before higher specificity ones */
551
- .memori-media-item--audio-icon svg {
552
- width: 20px;
553
- height: 20px;
554
- color: white;
555
- }
556
-
557
- .memori-media-item--generic-file-icon svg {
558
- width: 24px;
559
- height: 24px;
560
- color: white;
561
- }
562
-
563
- .memori-media-item--code-body pre {
564
- padding: 0;
565
- border: none;
566
- margin: 0;
567
- background: transparent;
568
- color: #d4d4d4;
569
- font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
570
- font-size: 13px;
571
- line-height: 1.6;
572
- }
573
-
574
- .memori-media-item--code-body code {
575
- padding: 0;
576
- border-radius: 0;
577
- background: transparent;
578
- }
579
-
580
- .memori-media-item--snippet-direct .memori-snippet pre {
581
- padding: 1rem;
582
- border: none;
583
- margin: 0;
584
- background: #f8fafc;
585
- font-size: 0.875rem;
586
- line-height: 1.6;
587
- overflow-x: auto;
588
- }
589
-
590
- .memori-media-item--snippet-direct .memori-snippet code {
591
- padding: 0;
592
- border-radius: 0;
593
- background: transparent;
594
- color: #374151;
595
- font-family: 'Fira Code', 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
596
- }
597
-
598
- .memori-media-item--snippet-direct .memori-snippet--copy-button {
599
- border: 1px solid rgba(0, 0, 0, 0.1);
600
- background: rgba(0, 0, 0, 0.05);
601
- transition: all 0.2s ease;
602
- }
603
-
604
- .memori-media-item--snippet-direct .memori-snippet--copy-button svg {
605
- width: 14px;
606
- height: 14px;
607
- color: #6b7280;
608
- }
609
-
610
- .memori-media-item--snippet-direct .memori-snippet--caption {
611
- padding: 0.75rem 1rem;
612
- border-top: 1px solid rgba(0, 0, 0, 0.05);
613
- background: rgba(0, 0, 0, 0.02);
614
- color: #6b7280;
615
- font-size: 0.8rem;
616
- font-weight: 500;
617
- }
618
-
619
- /* Enhanced snippet styles for modal */
620
- .memori-media-item-preview--content .memori-snippet {
621
- display: flex;
622
- overflow: hidden;
623
- height: 100%;
624
- flex-direction: column;
625
- border-radius: 0.75rem;
626
- background: #1e1e1e;
627
- }
628
-
629
- .memori-media-item-preview--content .memori-snippet--content {
630
- display: flex;
631
- overflow: hidden;
632
- flex: 1;
633
- flex-direction: column;
634
- }
635
-
636
- .memori-media-item-preview--content .memori-snippet pre {
637
- overflow: auto;
638
- flex: 1;
639
- padding: 1.5rem;
640
- border: none;
641
- border-radius: 0;
642
- margin: 0;
643
- background: #1e1e1e;
644
- font-size: 0.875rem;
645
- line-height: 1.6;
646
- white-space: pre-wrap;
647
- word-break: break-word;
648
- word-wrap: break-word;
649
- }
650
-
651
- .memori-media-item-preview--content .memori-snippet code {
652
- padding: 0;
653
- border-radius: 0;
654
- background: transparent;
655
- font-family: 'Fira Code', 'Monaco', 'Menlo', 'Ubuntu Mono', monospace;
656
- }
657
-
658
- .memori-media-item-preview--content .memori-snippet--copy-button {
659
- position: absolute;
660
- z-index: 10;
661
- top: 1rem;
662
- right: 1rem;
663
- border: 1px solid rgba(255, 255, 255, 0.2);
664
- backdrop-filter: blur(10px);
665
- background: rgba(255, 255, 255, 0.1);
666
- transition: all 0.2s ease;
667
- }
668
-
669
- .memori-media-item-preview--content .memori-snippet--copy-button:hover {
670
- border-color: rgba(255, 255, 255, 0.3);
671
- background: rgba(255, 255, 255, 0.2);
672
- transform: scale(1.05);
673
- }
674
-
675
- .memori-media-item-preview--content .memori-snippet--copy-button svg {
676
- width: 16px;
677
- height: 16px;
678
- color: #fff;
679
- }
680
-
681
- .memori-media-item-preview--content .memori-snippet--caption {
682
- padding: 1rem 1.5rem;
683
- border-top: 1px solid rgba(255, 255, 255, 0.1);
684
- background: rgba(0, 0, 0, 0.1);
685
- color: #ccc;
686
- font-size: 0.875rem;
687
- font-weight: 500;
688
- }
689
-
690
- /* Responsive design */
691
- /* Mobile (≤640px): Force single column layout */
692
- @media (max-width: 640px) {
693
- .memori-media-items--grid {
694
- padding: 0.75rem;
695
- gap: 8px;
696
- grid-template-columns: 1fr !important;
697
- }
698
-
699
- .memori-media-items--grid.memori-media-items--single,
700
- .memori-media-items--grid.memori-media-items--few,
701
- .memori-media-items--grid.memori-media-items--many {
702
- grid-template-columns: 1fr !important;
703
- }
704
- }
705
-
706
- /* Tablet (641px-1024px): 2 columns max, min 250px per column */
707
- @media (min-width: 641px) and (max-width: 1024px) {
708
- .memori-media-items--grid.memori-media-items--few {
709
- max-width: 100%;
710
- grid-template-columns: repeat(2, minmax(250px, 1fr));
711
- }
712
-
713
- .memori-media-items--grid.memori-media-items--many {
714
- max-width: 100%;
715
- grid-template-columns: repeat(2, minmax(250px, 1fr));
716
- }
717
- }
718
-
719
- /* Desktop (>1024px): 3 columns max for 5+ images */
720
- @media (min-width: 1025px) {
721
- .memori-media-items--grid.memori-media-items--many {
722
- max-width: 100%;
723
- grid-template-columns: repeat(3, minmax(200px, 1fr));
724
- }
725
- }
726
-
727
- /* Legacy mobile styles for backward compatibility */
728
- @media (max-width: 768px) {
729
- .memori-media-items--grid {
730
- padding: 0.75rem;
731
- gap: 8px;
732
- }
733
-
734
- .memori-media-item--figure-caption {
735
- padding: 0.375rem 0.5rem;
736
- font-size: 0.65rem;
737
- line-height: 1.2;
738
- }
739
-
740
- .memori-media-item-preview--text {
741
- font-size: 0.8rem;
742
- }
743
-
744
- .memori-media-item-preview--text pre {
745
- padding: 0.75rem;
746
- }
747
-
748
- .memori-media-item-preview--content {
749
- min-height: 40vh;
750
- max-height: 50vh;
751
- }
752
-
753
- /* Mobile snippet improvements */
754
- .memori-media-item--snippet-direct {
755
- margin-bottom: 0.75rem;
756
- }
757
-
758
- .memori-media-item--snippet-direct .memori-snippet pre {
759
- padding: 0.75rem;
760
- font-size: 0.8rem;
761
- }
762
-
763
- .memori-media-item--snippet-direct .memori-snippet--copy-button {
764
- top: 0.5rem;
765
- right: 0.5rem;
766
- width: 28px !important;
767
- height: 28px !important;
768
- }
769
-
770
- .memori-media-item--snippet-direct .memori-snippet--copy-button svg {
771
- width: 12px;
772
- height: 12px;
773
- }
774
-
775
- .memori-media-item-preview--content .memori-snippet pre {
776
- padding: 1rem;
777
- font-size: 0.8rem;
778
- }
779
- }
780
-
781
- /* ============================================
782
- DOCUMENTS (Claude-style: filename, icon, meta)
783
- ============================================ */
784
- a.memori-media-item--document-link {
785
- display: block;
786
- width: 100%;
787
- color: inherit;
788
- text-decoration: none;
789
- }
790
-
791
- .memori-media-item--document {
792
- position: relative;
793
- display: flex;
794
- width: 100%;
795
- min-height: 100px;
796
- flex-direction: column;
797
- padding: 12px;
798
- border: 1px solid #e5e7eb;
799
- border-radius: 8px;
800
- background: #fff;
801
- cursor: pointer;
802
- transition: box-shadow 0.2s ease;
803
- }
804
-
805
- .memori-media-item--document:hover {
806
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
807
- }
808
-
809
- .memori-media-item--document:active {
810
- transform: scale(0.99);
811
- }
812
-
813
- .memori-media-item--document-header {
814
- display: flex;
815
- align-items: flex-start;
816
- gap: 12px;
817
- }
818
-
819
- .memori-media-item--document-icon {
820
- display: flex;
821
- width: 40px;
822
- height: 40px;
823
- flex-shrink: 0;
824
- align-items: center;
825
- justify-content: center;
826
- border-radius: 8px;
827
- background: #f3f4f6;
828
- color: #374151;
829
- }
830
-
831
- .memori-media-item--document-icon-svg {
832
- width: 20px;
833
- height: 20px;
834
- color: #374151;
835
- }
836
-
837
- .memori-media-item--document-title {
838
- display: -webkit-box;
839
- overflow: hidden;
840
- flex: 1;
841
- margin: 0;
842
- -webkit-box-orient: vertical;
843
- color: #111827;
844
- direction: ltr;
845
- font-size: 14px;
846
- font-weight: 500;
847
- -webkit-line-clamp: 3;
848
- overflow-wrap: break-word;
849
- }
850
-
851
- .memori-media-item--document-badge {
852
- position: absolute;
853
- right: 12px;
854
- bottom: 12px;
855
- padding: 4px 8px;
856
- border-radius: 6px;
857
- background: #f3f4f6;
858
- color: #374151;
859
- font-size: 11px;
860
- font-weight: 600;
861
- letter-spacing: 0.02em;
862
- text-transform: uppercase;
863
- }
864
-
865
- /* Document items in grid: compact, full width */
866
- .memori-media-items--grid .memori-media-item--document-link {
867
- width: 100%;
868
- }
869
-
870
- .memori-media-items--grid .memori-media-item--document {
871
- min-width: 120px;
872
- max-width: 120px;
873
- min-height: 120px;
874
- box-sizing: border-box;
875
- }
876
-
877
- /* ============================================
878
- VIDEOS (MP4, QuickTime, AVI, MPEG)
879
- ============================================ */
880
- .memori-media-item--video-container {
881
- position: relative;
882
- overflow: hidden;
883
- width: 100%;
884
- border: 1px solid #e5e7eb;
885
- border-radius: 8px;
886
- background: #000;
887
- cursor: pointer;
888
- transition: box-shadow 0.2s ease;
889
- }
890
-
891
- .memori-media-item--video-container:hover {
892
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
893
- }
894
-
895
- .memori-media-item--video-player {
896
- display: block;
897
- width: 100%;
898
- height: auto;
899
- min-height: 120px;
900
- max-height: 400px;
901
- border-radius: 8px;
902
- }
903
-
904
- .memori-media-item--video-overlay {
905
- position: absolute;
906
- z-index: 1;
907
- top: 50%;
908
- left: 50%;
909
- display: flex;
910
- width: 64px;
911
- height: 64px;
912
- align-items: center;
913
- justify-content: center;
914
- border-radius: 50%;
915
- background: rgba(0, 0, 0, 0.6);
916
- pointer-events: none;
917
- transform: translate(-50%, -50%);
918
- transition: opacity 0.2s ease;
919
- }
920
-
921
- .memori-media-item--video-container:hover .memori-media-item--video-overlay {
922
- opacity: 0.8;
923
- }
924
-
925
- .memori-media-item--video-overlay.hidden {
926
- display: none;
927
- }
928
-
929
- .memori-media-item--play-icon {
930
- width: 32px;
931
- height: 32px;
932
- color: white;
933
- }
934
-
935
- /* ============================================
936
- AUDIO (MP3, WAV, MPEG)
937
- ============================================ */
938
- .memori-media-item--audio-container {
939
- display: flex;
940
- width: 100%;
941
- min-height: 120px;
942
- box-sizing: border-box;
943
- align-items: center;
944
- padding: 16px;
945
- border: 1px solid #e5e7eb;
946
- border-radius: 8px;
947
- background: #f9fafb;
948
- gap: 12px;
949
- transition: box-shadow 0.2s ease;
950
- }
951
-
952
- .memori-media-item--audio-container:hover {
953
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
954
- }
955
-
956
- .memori-media-item--audio-icon {
957
- display: flex;
958
- width: 40px;
959
- height: 40px;
960
- flex-shrink: 0;
961
- align-items: center;
962
- justify-content: center;
963
- border-radius: 50%;
964
- background: #3b82f6;
965
- }
966
-
967
- .memori-media-item--audio-player {
968
- min-width: 0;
969
- height: 32px;
970
- flex: 1;
971
- }
972
-
973
- .memori-media-item--audio-player::-webkit-media-controls-panel {
974
- background: transparent;
975
- }
976
-
977
- /* ============================================
978
- 3D MODELS (GLTF)
979
- ============================================ */
980
- .memori-media-item--model-container {
981
- position: relative;
982
- overflow: hidden;
983
- width: 100%;
984
- height: 400px;
985
- border: 1px solid #e5e7eb;
986
- border-radius: 8px;
987
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
988
- cursor: grab;
989
- transition: box-shadow 0.2s ease;
990
- }
991
-
992
- .memori-media-item--model-container:hover {
993
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
994
- }
995
-
996
- .memori-media-item--model-container:active {
997
- cursor: grabbing;
998
- }
999
-
1000
- .memori-media-item--model-viewer {
1001
- width: 100%;
1002
- height: 100%;
1003
- }
1004
-
1005
- .memori-media-item--model-controls {
1006
- position: absolute;
1007
- z-index: 10;
1008
- right: 12px;
1009
- bottom: 12px;
1010
- display: flex;
1011
- gap: 8px;
1012
- }
1013
-
1014
- .memori-media-item--model-control-btn {
1015
- display: flex;
1016
- width: 32px;
1017
- height: 32px;
1018
- align-items: center;
1019
- justify-content: center;
1020
- border: none;
1021
- border-radius: 6px;
1022
- background: rgba(0, 0, 0, 0.6);
1023
- color: white;
1024
- cursor: pointer;
1025
- transition: background 0.2s ease;
1026
- }
1027
-
1028
- .memori-media-item--model-control-btn:hover {
1029
- background: rgba(0, 0, 0, 0.8);
1030
- }
1031
-
1032
- /* ============================================
1033
- CODE SNIPPETS (Inline and Block)
1034
- ============================================ */
1035
- .memori-media-item--code-snippet-inline {
1036
- display: flex;
1037
- width: 100%;
1038
- align-items: flex-start;
1039
- padding: 12px 16px;
1040
- border: 1px solid #e5e7eb;
1041
- border-radius: 8px;
1042
- background: #f9fafb;
1043
- font-family: 'Monaco', 'Menlo', 'Consolas', monospace;
1044
- font-size: 13px;
1045
- gap: 12px;
1046
- transition: box-shadow 0.2s ease;
1047
- }
1048
-
1049
- .memori-media-item--code-snippet-inline:hover {
1050
- box-shadow: 0 2px 4px -1px rgba(0, 0, 0, 0.06);
1051
- }
1052
-
1053
- .memori-media-item--code-language-badge {
1054
- flex-shrink: 0;
1055
- padding: 2px 8px;
1056
- border-radius: 4px;
1057
- background: #3b82f6;
1058
- color: white;
1059
- font-size: 11px;
1060
- font-weight: 500;
1061
- line-height: 1.5;
1062
- text-transform: uppercase;
1063
- }
1064
-
1065
- .memori-media-item--code-content {
1066
- flex: 1;
1067
- margin: 0;
1068
- color: #374151;
1069
- line-height: 1.5;
1070
- overflow-x: auto;
1071
- }
1072
-
1073
- .memori-media-item--code-snippet-block {
1074
- position: relative;
1075
- overflow: hidden;
1076
- width: 100%;
1077
- border: 1px solid #e5e7eb;
1078
- border-radius: 8px;
1079
- background: #1e1e1e;
1080
- transition: box-shadow 0.2s ease;
1081
- }
1082
-
1083
- .memori-media-item--code-snippet-block:hover {
1084
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1085
- }
1086
-
1087
- .memori-media-item--code-header {
1088
- display: flex;
1089
- align-items: center;
1090
- justify-content: space-between;
1091
- padding: 8px 12px;
1092
- border-bottom: 1px solid #3e3e3e;
1093
- background: #2d2d2d;
1094
- }
1095
-
1096
- .memori-media-item--code-language {
1097
- margin: 0;
1098
- color: #9ca3af;
1099
- font-size: 12px;
1100
- font-weight: 500;
1101
- text-transform: uppercase;
1102
- }
1103
-
1104
- .memori-media-item--code-actions {
1105
- display: flex;
1106
- gap: 8px;
1107
- }
1108
-
1109
- .memori-media-item--code-action-btn {
1110
- padding: 4px 8px;
1111
- border: 1px solid #4b5563;
1112
- border-radius: 4px;
1113
- background: transparent;
1114
- color: #9ca3af;
1115
- cursor: pointer;
1116
- font-size: 11px;
1117
- transition: all 0.2s ease;
1118
- }
1119
-
1120
- .memori-media-item--code-action-btn:hover {
1121
- border-color: #6b7280;
1122
- background: #374151;
1123
- color: white;
1124
- }
1125
-
1126
- .memori-media-item--code-body {
1127
- max-height: 400px;
1128
- padding: 16px;
1129
- overflow-x: auto;
1130
- overflow-y: auto;
1131
- }
1132
-
1133
- /* Syntax highlighting colors (Prism-like) */
1134
- .memori-media-item--code-body .token.comment {
1135
- color: #6a9955;
1136
- }
1137
-
1138
- .memori-media-item--code-body .token.string {
1139
- color: #ce9178;
1140
- }
1141
-
1142
- .memori-media-item--code-body .token.keyword {
1143
- color: #569cd6;
1144
- }
1145
-
1146
- .memori-media-item--code-body .token.function {
1147
- color: #dcdcaa;
1148
- }
1149
-
1150
- .memori-media-item--code-body .token.number {
1151
- color: #b5cea8;
1152
- }
1153
-
1154
- .memori-media-item--code-body .token.operator {
1155
- color: #d4d4d4;
1156
- }
1157
-
1158
- /* ============================================
1159
- HTML PREVIEW
1160
- ============================================ */
1161
- .memori-media-item--html-preview {
1162
- overflow: auto;
1163
- width: 100%;
1164
- min-height: 200px;
1165
- max-height: 600px;
1166
- padding: 16px;
1167
- border: 1px solid #e5e7eb;
1168
- border-radius: 8px;
1169
- background: white;
1170
- cursor: pointer;
1171
- transition: box-shadow 0.2s ease;
1172
- }
1173
-
1174
- .memori-media-item--html-preview:hover {
1175
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1176
- }
1177
-
1178
- .memori-media-item--html-preview-header {
1179
- display: flex;
1180
- align-items: center;
1181
- justify-content: space-between;
1182
- padding-bottom: 8px;
1183
- border-bottom: 1px solid #e5e7eb;
1184
- margin-bottom: 12px;
1185
- }
1186
-
1187
- .memori-media-item--html-preview-title {
1188
- margin: 0;
1189
- color: #6b7280;
1190
- font-size: 12px;
1191
- font-weight: 500;
1192
- text-transform: uppercase;
1193
- }
1194
-
1195
- .memori-media-item--html-preview-content {
1196
- color: #111827;
1197
- font-size: 14px;
1198
- line-height: 1.6;
1199
- }
1200
-
1201
- /* ============================================
1202
- GENERIC FILES (Fallback)
1203
- ============================================ */
1204
- .memori-media-item--generic-file {
1205
- display: flex;
1206
- width: 100%;
1207
- align-items: center;
1208
- padding: 16px;
1209
- border: 1px solid #e5e7eb;
1210
- border-radius: 8px;
1211
- background: #f9fafb;
1212
- cursor: pointer;
1213
- gap: 12px;
1214
- transition: box-shadow 0.2s ease, transform 0.2s ease;
1215
- }
1216
-
1217
- .memori-media-item--generic-file:hover {
1218
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
1219
- }
1220
-
1221
- .memori-media-item--generic-file:active {
1222
- transform: scale(0.98);
1223
- }
1224
-
1225
- .memori-media-item--generic-file-icon {
1226
- display: flex;
1227
- width: 48px;
1228
- height: 48px;
1229
- flex-shrink: 0;
1230
- align-items: center;
1231
- justify-content: center;
1232
- border-radius: 8px;
1233
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1234
- }
1235
-
1236
- .memori-media-item--generic-file-info {
1237
- min-width: 0;
1238
- flex: 1;
1239
- }
1240
-
1241
- .memori-media-item--generic-file-name {
1242
- overflow: hidden;
1243
- margin: 0;
1244
- color: #111827;
1245
- font-size: 14px;
1246
- font-weight: 500;
1247
- text-overflow: ellipsis;
1248
- white-space: nowrap;
1249
- }
1250
-
1251
- .memori-media-item--generic-file-meta {
1252
- margin: 0;
1253
- margin-top: 4px;
1254
- color: #6b7280;
1255
- font-size: 12px;
1256
- }
1257
-
1258
- .memori-media-item--generic-file-action {
1259
- flex-shrink: 0;
1260
- padding: 6px 12px;
1261
- border: 1px solid #e5e7eb;
1262
- border-radius: 6px;
1263
- background: white;
1264
- color: #374151;
1265
- cursor: pointer;
1266
- font-size: 12px;
1267
- transition: background 0.2s ease;
1268
- }
1269
-
1270
- .memori-media-item--generic-file-action:hover {
1271
- background: #f9fafb;
1272
- }
1273
-
1274
- /* ============================================
1275
- GRID LAYOUTS FOR MIXED MEDIA
1276
- ============================================ */
1277
- /* Documents, audio, and generic files stack vertically */
1278
- .memori-media-items--grid.list-items {
1279
- max-width: 600px;
1280
- grid-template-columns: 1fr;
1281
- }
1282
-
1283
- /* Videos and 3D models can use 1-2 column layout */
1284
- .memori-media-items--grid.large-media {
1285
- grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
1286
- }
1287
-
1288
- /* Code snippets can be mixed width */
1289
- .memori-media-items--grid.code-snippets {
1290
- max-width: 800px;
1291
- grid-template-columns: 1fr;
1292
- }
1293
-
1294
- /* Responsive adjustments for mixed media */
1295
- @media (max-width: 640px) {
1296
- .memori-media-items--grid.large-media {
1297
- grid-template-columns: 1fr !important;
1298
- }
1299
-
1300
- .memori-media-item--model-container {
1301
- height: 300px;
1302
- }
1303
-
1304
- .memori-media-item--video-player {
1305
- max-height: 300px;
1306
- }
1307
- }
1308
-
1309
- /* ============================================
1310
- DARK FILE CARDS (Files: TXT, HTML, PDF, DOC, etc.)
1311
- ============================================ */
1312
- .memori-media-item--card-file {
1313
- position: relative;
1314
- display: flex;
1315
- min-height: 120px;
1316
- flex-direction: column;
1317
- padding: 16px;
1318
- border: 1px solid rgba(255, 255, 255, 0.1);
1319
- border-radius: 8px;
1320
- background: #363636;
1321
- transition: box-shadow 0.2s ease, transform 0.2s ease;
1322
- }
1323
-
1324
- .memori-media-item--card-file:hover {
1325
- box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.3);
1326
- cursor: pointer;
1327
- }
1328
-
1329
- .memori-media-item--card-file:active {
1330
- transform: scale(0.98);
1331
- }
1332
-
1333
- .memori-media-item--file-content {
1334
- position: relative;
1335
- display: flex;
1336
- height: 100%;
1337
- flex-direction: column;
1338
- }
1339
-
1340
- .memori-media-item--file-title {
1341
- overflow: hidden;
1342
- flex: 1;
1343
- margin-bottom: 8px;
1344
- color: #ffffff;
1345
- font-size: 14px;
1346
- font-weight: 500;
1347
- line-height: 1.4;
1348
- text-overflow: ellipsis;
1349
- white-space: nowrap;
1350
- }
1351
-
1352
- .memori-media-item--file-meta {
1353
- margin-bottom: auto;
1354
- color: #9ca3af;
1355
- font-size: 12px;
1356
- line-height: 1.5;
1357
- }
1358
-
1359
- .memori-media-item--file-badge {
1360
- position: absolute;
1361
- bottom: 12px;
1362
- left: 12px;
1363
- padding: 4px 8px;
1364
- border-radius: 4px;
1365
- background: rgba(255, 255, 255, 0.2);
1366
- color: #ffffff;
1367
- font-size: 11px;
1368
- font-weight: 500;
1369
- letter-spacing: 0.5px;
1370
- text-transform: uppercase;
1371
- }
1372
-
1373
- /* Link preview card styles */
1374
- .memori-media-item--card-cover-icon {
1375
- display: flex;
1376
- min-height: 120px;
1377
- align-items: center;
1378
- justify-content: center;
1379
- padding: 2rem;
1380
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
1381
- }
1382
-
1383
- .memori-media-item--card-cover-img {
1384
- display: block;
1385
- width: 100%;
1386
- height: auto;
1387
- max-height: 300px;
1388
- object-fit: cover;
1389
- object-position: center;
1390
- }
1391
-
1392
- /* Responsive for file cards */
1393
- @media (max-width: 640px) {
1394
- .memori-media-item--card-file {
1395
- min-height: 100px;
1396
- padding: 12px;
1397
- }
1398
- }