@vertesia/ui 0.66.0 → 0.68.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 (288) hide show
  1. package/lib/esm/core/components/Badge.js +1 -1
  2. package/lib/esm/core/components/Badge.js.map +1 -1
  3. package/lib/esm/core/components/FormItem.js +2 -2
  4. package/lib/esm/core/components/FormItem.js.map +1 -1
  5. package/lib/esm/core/components/InputList.js +2 -2
  6. package/lib/esm/core/components/InputList.js.map +1 -1
  7. package/lib/esm/core/components/shadcn/checkbox.js +1 -1
  8. package/lib/esm/core/components/shadcn/checkbox.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/command.js +1 -1
  10. package/lib/esm/core/components/shadcn/command.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/dialog.js +6 -6
  12. package/lib/esm/core/components/shadcn/dialog.js.map +1 -1
  13. package/lib/esm/core/components/shadcn/filters/DynamicLabel.js.map +1 -1
  14. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js +129 -0
  15. package/lib/esm/core/components/shadcn/filters/comboBox/DateCombobox.js.map +1 -0
  16. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js +46 -0
  17. package/lib/esm/core/components/shadcn/filters/comboBox/SelectCombobox.js.map +1 -0
  18. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js +23 -0
  19. package/lib/esm/core/components/shadcn/filters/comboBox/StringListCombobox.js.map +1 -0
  20. package/lib/esm/core/components/shadcn/filters/comboBox/TextCombobox.js +28 -0
  21. package/lib/esm/core/components/shadcn/filters/comboBox/TextCombobox.js.map +1 -0
  22. package/lib/esm/core/components/shadcn/filters/comboBox/comboBox.js +5 -0
  23. package/lib/esm/core/components/shadcn/filters/comboBox/comboBox.js.map +1 -0
  24. package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js +101 -0
  25. package/lib/esm/core/components/shadcn/filters/filter/SelectFilter.js.map +1 -0
  26. package/lib/esm/core/components/shadcn/filters/{stringListFilter.js → filter/StringListFilter.js} +3 -3
  27. package/lib/esm/core/components/shadcn/filters/filter/StringListFilter.js.map +1 -0
  28. package/lib/esm/core/components/shadcn/filters/{textFilter.js → filter/TextFilter.js} +4 -4
  29. package/lib/esm/core/components/shadcn/filters/filter/TextFilter.js.map +1 -0
  30. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js +161 -0
  31. package/lib/esm/core/components/shadcn/filters/filter/dateFilter.js.map +1 -0
  32. package/lib/esm/core/components/shadcn/filters/filter-styles.js +88 -0
  33. package/lib/esm/core/components/shadcn/filters/filter-styles.js.map +1 -0
  34. package/lib/esm/core/components/shadcn/filters/filterBar.js +128 -87
  35. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  36. package/lib/esm/core/components/shadcn/filters/filters.js +7 -6
  37. package/lib/esm/core/components/shadcn/filters/filters.js.map +1 -1
  38. package/lib/esm/core/components/shadcn/filters/index.js +1 -1
  39. package/lib/esm/core/components/shadcn/filters/index.js.map +1 -1
  40. package/lib/esm/core/components/shadcn/filters/types.js.map +1 -1
  41. package/lib/esm/core/components/toast/NotificationPanel.js +24 -18
  42. package/lib/esm/core/components/toast/NotificationPanel.js.map +1 -1
  43. package/lib/esm/features/agent/PayloadBuilder.js +47 -27
  44. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  45. package/lib/esm/features/agent/chat/ModernAgentConversation.js +10 -4
  46. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  47. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +7 -6
  48. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  49. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js +13 -2
  50. package/lib/esm/features/agent/chat/ModernAgentOutput/MessageItem.js.map +1 -1
  51. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingMessages.js +2 -1
  52. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingMessages.js.map +1 -1
  53. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js +10 -4
  54. package/lib/esm/features/agent/chat/ModernAgentOutput/utils.js.map +1 -1
  55. package/lib/esm/features/facets/DocumentsFacetsNav.js +133 -0
  56. package/lib/esm/features/facets/DocumentsFacetsNav.js.map +1 -0
  57. package/lib/esm/features/facets/RunsFacetsNav.js +125 -0
  58. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -0
  59. package/lib/esm/features/facets/VFacetsNav.js +4 -113
  60. package/lib/esm/features/facets/VFacetsNav.js.map +1 -1
  61. package/lib/esm/features/facets/VStringFacet.js +6 -4
  62. package/lib/esm/features/facets/VStringFacet.js.map +1 -1
  63. package/lib/esm/features/facets/VTypeFacet.js +4 -5
  64. package/lib/esm/features/facets/VTypeFacet.js.map +1 -1
  65. package/lib/esm/features/facets/VUserFacet.js +1 -1
  66. package/lib/esm/features/facets/VUserFacet.js.map +1 -1
  67. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +98 -0
  68. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +1 -0
  69. package/lib/esm/features/facets/index.js +3 -2
  70. package/lib/esm/features/facets/index.js.map +1 -1
  71. package/lib/esm/features/store/collections/CollectionsTable.js +1 -1
  72. package/lib/esm/features/store/collections/CollectionsTable.js.map +1 -1
  73. package/lib/esm/features/store/collections/CreateCollection.js +10 -9
  74. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  75. package/lib/esm/features/store/collections/EditCollectionView.js +10 -9
  76. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  77. package/lib/esm/features/store/collections/SelectCollection.js +1 -1
  78. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  79. package/lib/esm/features/store/objects/DocumentPreviewPanel.js +0 -1
  80. package/lib/esm/features/store/objects/DocumentPreviewPanel.js.map +1 -1
  81. package/lib/esm/features/store/objects/DocumentSearchResults.js +37 -2
  82. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  83. package/lib/esm/features/store/objects/components/ContentOverview.js +5 -6
  84. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  85. package/lib/esm/features/store/objects/components/SelectDocument.js +2 -2
  86. package/lib/esm/features/store/objects/components/SelectDocument.js.map +1 -1
  87. package/lib/esm/features/store/objects/components/VectorSearchWidget.js +1 -1
  88. package/lib/esm/features/store/objects/components/VectorSearchWidget.js.map +1 -1
  89. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +16 -4
  90. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  91. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +72 -37
  92. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  93. package/lib/esm/features/store/types/ObjectSchemaEditor.js +15 -0
  94. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  95. package/lib/esm/features/user/UserInfo.js +8 -8
  96. package/lib/esm/features/user/UserInfo.js.map +1 -1
  97. package/lib/esm/layout/FullHeightLayout.js +2 -4
  98. package/lib/esm/layout/FullHeightLayout.js.map +1 -1
  99. package/lib/esm/router/HistoryNavigator.js +2 -2
  100. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  101. package/lib/esm/shell/SplashScreen.js +19 -0
  102. package/lib/esm/shell/SplashScreen.js.map +1 -0
  103. package/lib/esm/shell/VertesiaShell.js +10 -0
  104. package/lib/esm/shell/VertesiaShell.js.map +1 -0
  105. package/lib/esm/shell/index.js +7 -0
  106. package/lib/esm/shell/index.js.map +1 -0
  107. package/lib/esm/shell/login/EnterpriseSigninButton.js +81 -0
  108. package/lib/esm/shell/login/EnterpriseSigninButton.js.map +1 -0
  109. package/lib/esm/shell/login/GitHubSignInButton.js +24 -0
  110. package/lib/esm/shell/login/GitHubSignInButton.js.map +1 -0
  111. package/lib/esm/shell/login/GoogleSignInButton.js +25 -0
  112. package/lib/esm/shell/login/GoogleSignInButton.js.map +1 -0
  113. package/lib/esm/shell/login/InviteAcceptModal.js +45 -0
  114. package/lib/esm/shell/login/InviteAcceptModal.js.map +1 -0
  115. package/lib/esm/shell/login/MicrosoftSigninButton.js +19 -0
  116. package/lib/esm/shell/login/MicrosoftSigninButton.js.map +1 -0
  117. package/lib/esm/shell/login/PreviewIcon.js +23 -0
  118. package/lib/esm/shell/login/PreviewIcon.js.map +1 -0
  119. package/lib/esm/shell/login/SignInModal.js +9 -0
  120. package/lib/esm/shell/login/SignInModal.js.map +1 -0
  121. package/lib/esm/shell/login/SigninScreen.js +64 -0
  122. package/lib/esm/shell/login/SigninScreen.js.map +1 -0
  123. package/lib/esm/shell/login/SignupForm.js +91 -0
  124. package/lib/esm/shell/login/SignupForm.js.map +1 -0
  125. package/lib/esm/shell/login/TerminalLogin.js +179 -0
  126. package/lib/esm/shell/login/TerminalLogin.js.map +1 -0
  127. package/lib/esm/shell/login/UserInfo.js +40 -0
  128. package/lib/esm/shell/login/UserInfo.js.map +1 -0
  129. package/lib/esm/shell/login/UserSessionMenu.js +31 -0
  130. package/lib/esm/shell/login/UserSessionMenu.js.map +1 -0
  131. package/lib/esm/shell/utils.js +6 -0
  132. package/lib/esm/shell/utils.js.map +1 -0
  133. package/lib/esm/widgets/SvgIcon.js +36 -0
  134. package/lib/esm/widgets/SvgIcon.js.map +1 -0
  135. package/lib/esm/widgets/index.js +7 -6
  136. package/lib/esm/widgets/index.js.map +1 -1
  137. package/lib/esm/widgets/upload/UploadSummary.js +1 -1
  138. package/lib/esm/widgets/upload/UploadSummary.js.map +1 -1
  139. package/lib/tsconfig.tsbuildinfo +1 -1
  140. package/lib/types/core/components/FormItem.d.ts +2 -1
  141. package/lib/types/core/components/shadcn/dialog.d.ts +2 -1
  142. package/lib/types/core/components/shadcn/filters/DynamicLabel.d.ts +1 -1
  143. package/lib/types/core/components/shadcn/filters/comboBox/DateCombobox.d.ts +5 -0
  144. package/lib/types/core/components/shadcn/filters/comboBox/SelectCombobox.d.ts +8 -0
  145. package/lib/types/core/components/shadcn/filters/comboBox/StringListCombobox.d.ts +5 -0
  146. package/lib/types/core/components/shadcn/filters/comboBox/TextCombobox.d.ts +5 -0
  147. package/lib/types/core/components/shadcn/filters/comboBox/comboBox.d.ts +4 -0
  148. package/lib/types/core/components/shadcn/filters/{selectFilter.d.ts → filter/SelectFilter.d.ts} +2 -2
  149. package/lib/types/core/components/shadcn/filters/{stringListFilter.d.ts → filter/StringListFilter.d.ts} +1 -1
  150. package/lib/types/core/components/shadcn/filters/{textFilter.d.ts → filter/TextFilter.d.ts} +1 -1
  151. package/lib/types/core/components/shadcn/filters/{dateFilter.d.ts → filter/dateFilter.d.ts} +1 -1
  152. package/lib/types/core/components/shadcn/filters/filter-styles.d.ts +1 -0
  153. package/lib/types/core/components/shadcn/filters/filterBar.d.ts +14 -4
  154. package/lib/types/core/components/shadcn/filters/index.d.ts +1 -1
  155. package/lib/types/core/components/shadcn/filters/types.d.ts +2 -0
  156. package/lib/types/features/agent/PayloadBuilder.d.ts +17 -8
  157. package/lib/types/features/agent/chat/ModernAgentOutput/utils.d.ts +2 -1
  158. package/lib/types/features/facets/DocumentsFacetsNav.d.ts +16 -0
  159. package/lib/types/features/facets/RunsFacetsNav.d.ts +18 -0
  160. package/lib/types/features/facets/VFacetsNav.d.ts +1 -1
  161. package/lib/types/features/facets/VStringFacet.d.ts +6 -2
  162. package/lib/types/features/facets/VTypeFacet.d.ts +3 -1
  163. package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts +13 -0
  164. package/lib/types/features/facets/index.d.ts +3 -2
  165. package/lib/types/shell/SplashScreen.d.ts +4 -0
  166. package/lib/types/shell/VertesiaShell.d.ts +7 -0
  167. package/lib/types/shell/index.d.ts +6 -0
  168. package/lib/types/shell/login/EnterpriseSigninButton.d.ts +5 -0
  169. package/lib/types/shell/login/GitHubSignInButton.d.ts +5 -0
  170. package/lib/types/shell/login/GoogleSignInButton.d.ts +5 -0
  171. package/lib/types/shell/login/InviteAcceptModal.d.ts +1 -0
  172. package/lib/types/shell/login/MicrosoftSigninButton.d.ts +5 -0
  173. package/lib/types/shell/login/PreviewIcon.d.ts +5 -0
  174. package/lib/types/shell/login/SignInModal.d.ts +6 -0
  175. package/lib/types/shell/login/SigninScreen.d.ts +8 -0
  176. package/lib/types/shell/login/SignupForm.d.ts +7 -0
  177. package/lib/types/shell/login/TerminalLogin.d.ts +1 -0
  178. package/lib/types/shell/login/UserInfo.d.ts +5 -0
  179. package/lib/types/shell/login/UserSessionMenu.d.ts +8 -0
  180. package/lib/types/shell/utils.d.ts +1 -0
  181. package/lib/types/widgets/SvgIcon.d.ts +6 -0
  182. package/lib/types/widgets/index.d.ts +7 -6
  183. package/lib/vertesia-ui-core.js +1 -1
  184. package/lib/vertesia-ui-core.js.map +1 -1
  185. package/lib/vertesia-ui-features.js +1 -1
  186. package/lib/vertesia-ui-features.js.map +1 -1
  187. package/lib/vertesia-ui-layout.js +1 -1
  188. package/lib/vertesia-ui-layout.js.map +1 -1
  189. package/lib/vertesia-ui-router.js +1 -1
  190. package/lib/vertesia-ui-router.js.map +1 -1
  191. package/lib/vertesia-ui-shell.js +2 -0
  192. package/lib/vertesia-ui-shell.js.map +1 -0
  193. package/lib/vertesia-ui-widgets.js +1 -1
  194. package/lib/vertesia-ui-widgets.js.map +1 -1
  195. package/package.json +14 -6
  196. package/src/core/components/Badge.tsx +12 -8
  197. package/src/core/components/FormItem.tsx +4 -3
  198. package/src/core/components/InputList.tsx +21 -17
  199. package/src/core/components/shadcn/checkbox.tsx +2 -2
  200. package/src/core/components/shadcn/command.tsx +1 -1
  201. package/src/core/components/shadcn/dialog.tsx +18 -9
  202. package/src/core/components/shadcn/filters/DynamicLabel.tsx +1 -2
  203. package/src/core/components/shadcn/filters/comboBox/DateCombobox.tsx +211 -0
  204. package/src/core/components/shadcn/filters/{comboBox.tsx → comboBox/SelectCombobox.tsx} +8 -192
  205. package/src/core/components/shadcn/filters/comboBox/StringListCombobox.tsx +76 -0
  206. package/src/core/components/shadcn/filters/comboBox/TextCombobox.tsx +81 -0
  207. package/src/core/components/shadcn/filters/comboBox/comboBox.tsx +4 -0
  208. package/src/core/components/shadcn/filters/filter/SelectFilter.tsx +161 -0
  209. package/src/core/components/shadcn/filters/{stringListFilter.tsx → filter/StringListFilter.tsx} +7 -7
  210. package/src/core/components/shadcn/filters/{textFilter.tsx → filter/TextFilter.tsx} +17 -11
  211. package/src/core/components/shadcn/filters/filter/dateFilter.tsx +256 -0
  212. package/src/core/components/shadcn/filters/filter-styles.ts +87 -0
  213. package/src/core/components/shadcn/filters/filterBar.tsx +208 -152
  214. package/src/core/components/shadcn/filters/filters.tsx +7 -5
  215. package/src/core/components/shadcn/filters/index.ts +1 -1
  216. package/src/core/components/shadcn/filters/types.ts +2 -0
  217. package/src/core/components/toast/NotificationPanel.tsx +38 -22
  218. package/src/features/agent/PayloadBuilder.tsx +56 -31
  219. package/src/features/agent/chat/ModernAgentConversation.tsx +645 -639
  220. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +7 -6
  221. package/src/features/agent/chat/ModernAgentOutput/MessageItem.tsx +13 -2
  222. package/src/features/agent/chat/ModernAgentOutput/SlidingMessages.tsx +2 -1
  223. package/src/features/agent/chat/ModernAgentOutput/utils.ts +12 -4
  224. package/src/features/facets/DocumentsFacetsNav.tsx +171 -0
  225. package/src/features/facets/RunsFacetsNav.tsx +166 -0
  226. package/src/features/facets/VFacetsNav.tsx +10 -126
  227. package/src/features/facets/VStringFacet.tsx +10 -4
  228. package/src/features/facets/VTypeFacet.tsx +6 -5
  229. package/src/features/facets/VUserFacet.tsx +5 -3
  230. package/src/features/facets/WorkflowExecutionsFacetsNav.tsx +132 -0
  231. package/src/features/facets/index.ts +5 -2
  232. package/src/features/store/collections/CollectionsTable.tsx +3 -2
  233. package/src/features/store/collections/CreateCollection.tsx +17 -15
  234. package/src/features/store/collections/EditCollectionView.tsx +19 -16
  235. package/src/features/store/collections/SelectCollection.tsx +1 -1
  236. package/src/features/store/objects/DocumentPreviewPanel.tsx +0 -1
  237. package/src/features/store/objects/DocumentSearchResults.tsx +80 -11
  238. package/src/features/store/objects/components/ContentOverview.tsx +7 -7
  239. package/src/features/store/objects/components/SelectDocument.tsx +2 -2
  240. package/src/features/store/objects/components/VectorSearchWidget.tsx +2 -2
  241. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +40 -19
  242. package/src/features/store/objects/upload/DocumentUploadModal.tsx +160 -214
  243. package/src/features/store/types/ObjectSchemaEditor.tsx +15 -0
  244. package/src/features/user/UserInfo.tsx +17 -14
  245. package/src/layout/FullHeightLayout.tsx +2 -2
  246. package/src/router/HistoryNavigator.ts +2 -2
  247. package/src/shell/SplashScreen.tsx +41 -0
  248. package/src/shell/VertesiaShell.tsx +27 -0
  249. package/src/shell/index.tsx +6 -0
  250. package/src/shell/login/EnterpriseSigninButton.tsx +106 -0
  251. package/src/shell/login/GitHubSignInButton.tsx +40 -0
  252. package/src/shell/login/GoogleSignInButton.tsx +36 -0
  253. package/src/shell/login/InviteAcceptModal.tsx +78 -0
  254. package/src/shell/login/MicrosoftSigninButton.tsx +30 -0
  255. package/src/shell/login/PreviewIcon.tsx +29 -0
  256. package/src/shell/login/SignInModal.tsx +28 -0
  257. package/src/shell/login/SigninScreen.tsx +162 -0
  258. package/src/shell/login/SignupForm.tsx +178 -0
  259. package/src/shell/login/TerminalLogin.tsx +299 -0
  260. package/src/shell/login/UserInfo.tsx +76 -0
  261. package/src/shell/login/UserSessionMenu.tsx +81 -0
  262. package/src/shell/utils.tsx +7 -0
  263. package/src/widgets/SvgIcon.tsx +44 -0
  264. package/src/widgets/index.ts +7 -6
  265. package/src/widgets/upload/UploadSummary.tsx +3 -4
  266. package/lib/esm/core/components/shadcn/filters/comboBox.js +0 -101
  267. package/lib/esm/core/components/shadcn/filters/comboBox.js.map +0 -1
  268. package/lib/esm/core/components/shadcn/filters/dateFilter.js +0 -36
  269. package/lib/esm/core/components/shadcn/filters/dateFilter.js.map +0 -1
  270. package/lib/esm/core/components/shadcn/filters/selectFilter.js +0 -67
  271. package/lib/esm/core/components/shadcn/filters/selectFilter.js.map +0 -1
  272. package/lib/esm/core/components/shadcn/filters/stringListFilter.js.map +0 -1
  273. package/lib/esm/core/components/shadcn/filters/textFilter.js.map +0 -1
  274. package/lib/esm/features/facets/InteractionFacet.js +0 -39
  275. package/lib/esm/features/facets/InteractionFacet.js.map +0 -1
  276. package/lib/esm/features/facets/TypeOptions.js +0 -19
  277. package/lib/esm/features/facets/TypeOptions.js.map +0 -1
  278. package/lib/esm/features/facets/UserFacet.js +0 -33
  279. package/lib/esm/features/facets/UserFacet.js.map +0 -1
  280. package/lib/types/core/components/shadcn/filters/comboBox.d.ts +0 -22
  281. package/lib/types/features/facets/InteractionFacet.d.ts +0 -9
  282. package/lib/types/features/facets/TypeOptions.d.ts +0 -3
  283. package/lib/types/features/facets/UserFacet.d.ts +0 -11
  284. package/src/core/components/shadcn/filters/dateFilter.tsx +0 -82
  285. package/src/core/components/shadcn/filters/selectFilter.tsx +0 -110
  286. package/src/features/facets/InteractionFacet.tsx +0 -53
  287. package/src/features/facets/TypeOptions.tsx +0 -22
  288. package/src/features/facets/UserFacet.tsx +0 -61
@@ -0,0 +1,76 @@
1
+ import { getTenantIdFromProject } from "@vertesia/common";
2
+ import { VTabs, VTabsBar, VTabsPanel, VTooltip } from "@vertesia/ui/core";
3
+ import { Env } from "@vertesia/ui/env";
4
+ import { useUserSession } from "@vertesia/ui/session";
5
+ import { Check, CopyIcon } from "lucide-react";
6
+ import { useState } from "react";
7
+
8
+ export function InfoItems({ title, value }: { title: string, value: string }) {
9
+ function copyToClipboard(value: string) {
10
+ navigator.clipboard.writeText(value);
11
+ setIsCopied(true);
12
+ setTimeout(() => setIsCopied(false), 2000);
13
+ }
14
+ const [isCopied, setIsCopied] = useState(false);
15
+ return (
16
+ <div className="w-full flex justify-between items-center mb-1">
17
+ <div className="flex flex-col w-[calc(100%-3rem)]">
18
+ <div className='text-sm px-2 dark:text-slate-200'>{title}</div>
19
+ <VTooltip description={value} size="xs" placement="left">
20
+ <div className='text-xs truncate text-muted w-full text-left px-2'>{value} </div>
21
+ </VTooltip>
22
+ </div>
23
+ {isCopied ?
24
+ <Check className="size-4 cursor-pointer text-success" />
25
+ :
26
+ <CopyIcon className="size-4 cursor-pointer text-gray-400 dark:text-slate-400"
27
+ onClick={() => copyToClipboard(value)} />
28
+ }
29
+ </div>
30
+ )
31
+ }
32
+
33
+ export default function InfoList() {
34
+
35
+ const session = useUserSession();
36
+ const { account, project, client, authToken } = session;
37
+ const server = new URL(client.baseUrl).hostname;
38
+ const store = new URL(client.store.baseUrl).hostname;
39
+ const tenantId = project ? getTenantIdFromProject(project) : '';
40
+
41
+ const tabs = [
42
+ {
43
+ name: 'user',
44
+ label: 'User',
45
+ content:
46
+ <div className="space-y-1 p-2">
47
+ <InfoItems title="Organization ID" value={account?.id ?? 'Unknown'} />
48
+ <InfoItems title="Project ID" value={project?.id ?? 'Unknown'} />
49
+ <InfoItems title="User ID" value={authToken?.sub ?? 'Unknown'} />
50
+ <InfoItems title="Organization Roles" value={authToken?.account_roles?.join(',') ?? 'Unknown'} />
51
+ <InfoItems title="Project Roles" value={authToken?.project_roles?.join(',') ?? 'Unknown'} />
52
+ </div>
53
+ },
54
+ {
55
+ name: 'environment',
56
+ label: 'Environment',
57
+ content:
58
+ <div className="space-y-1 p-2">
59
+ <InfoItems title="Tenant ID" value={tenantId} />
60
+ <InfoItems title="Environment" value={Env.type} />
61
+ <InfoItems title="Server" value={server} />
62
+ <InfoItems title="Store" value={store} />
63
+ <InfoItems title="App Version" value={Env.version} />
64
+ </div>
65
+ }
66
+ ];
67
+
68
+ return (
69
+ <div className="w-full">
70
+ <VTabs defaultValue="user" tabs={tabs} fullWidth>
71
+ <VTabsBar />
72
+ <VTabsPanel />
73
+ </VTabs>
74
+ </div>
75
+ )
76
+ }
@@ -0,0 +1,81 @@
1
+ import { AuthTokenPayload } from "@vertesia/common";
2
+ import { Avatar, Button, MenuList, ModeToggle, Spinner } from "@vertesia/ui/core";
3
+ import { useUserSession } from "@vertesia/ui/session";
4
+ import { Popover } from "@vertesia/ui/widgets";
5
+ import clsx from "clsx";
6
+ import { useState } from "react";
7
+ import SignInModal from "./SignInModal";
8
+ import InfoList from "./UserInfo";
9
+ interface UserSessionMenuProps {
10
+ name?: string
11
+ picture?: string;
12
+ user?: AuthTokenPayload;
13
+ }
14
+ export function UserSessionMenu({ }: UserSessionMenuProps) {
15
+ const { user, isLoading } = useUserSession();
16
+ const [showModal, setShowModal] = useState(false)
17
+
18
+ if (isLoading) {
19
+ return <Spinner />
20
+ } else if (!user) {
21
+ return <>
22
+ <Button onClick={() => setShowModal(true)}>Sign In</Button>
23
+ <SignInModal isOpen={showModal} onClose={() => setShowModal(false)} />
24
+ </>
25
+ } else {
26
+ return (
27
+
28
+ <div className="px-3">
29
+ <UserSessionPopup asMenuTrigger />
30
+ </div>
31
+ )
32
+ }
33
+ }
34
+
35
+ interface UserSessionPopupProps {
36
+ asMenuTrigger?: boolean
37
+ className?: string
38
+ }
39
+ function UserSessionPopup({ className, asMenuTrigger = false }: UserSessionPopupProps) {
40
+ const session = useUserSession();
41
+ const { user } = session;
42
+ if (!session || !user) return null;
43
+
44
+ return (
45
+ <Popover strategy='fixed' placement='bottom-start' zIndex={100}>
46
+ <Popover.Trigger click>
47
+ <div className={clsx(className, "flex items-center justify-start", asMenuTrigger && "cursor-pointer")}>
48
+ <Avatar
49
+ size='sm'
50
+ color='bg-amber-500'
51
+ shape='circle'
52
+ /*src={picture} */
53
+ name={user?.name} />
54
+ </div>
55
+ </Popover.Trigger>
56
+ <Popover.Content className="w-[280px] mx-2 my-1">
57
+ <div className="bg-white dark:bg-slate-900 shadow-lg rounded-md ring-1 ring-gray-200 dark:ring-slate-700">
58
+ <div className='divide-y divide-gray-200 dark:divide-slate-700'>
59
+ <div className='py-2 pl-2'>
60
+ <p className="px-4 dark:text-white mb-1">{user?.name ?? 'Unknown'}</p>
61
+ <p className="px-4 text-xs text-gray-500">{user?.email ?? ''}</p>
62
+ </div>
63
+ <div className="w-full p-1" >
64
+ <InfoList />
65
+ </div>
66
+ <div className='py-2 pl-2'>
67
+ <ModeToggle />
68
+ </div>
69
+ <div className='py-2'>
70
+ <MenuList>
71
+ <MenuList.Item className='px-2' onClick={() => session.logout()}>
72
+ Sign out
73
+ </MenuList.Item>
74
+ </MenuList>
75
+ </div>
76
+ </div >
77
+ </div >
78
+ </Popover.Content>
79
+ </Popover>
80
+ )
81
+ }
@@ -0,0 +1,7 @@
1
+ export function isVertesiaEmail(email: string | undefined) {
2
+ return email ? (
3
+ email.endsWith('@vertesiahq.com') ||
4
+ email.endsWith('@becomposable.com') ||
5
+ email.endsWith('@composableprompts.com')
6
+ ) : false;
7
+ }
@@ -0,0 +1,44 @@
1
+ import { useEffect, useRef } from "react";
2
+
3
+ interface SvgIconProps extends React.SVGProps<SVGSVGElement> {
4
+ content: string; // the SVG content as a string
5
+ }
6
+ export function SvgIcon({ content, ...props }: SvgIconProps) {
7
+ const containerRef = useRef<HTMLSpanElement>(null);
8
+
9
+ useEffect(() => {
10
+ if (!containerRef.current) return;
11
+
12
+ // Parse the SVG string
13
+ const parser = new DOMParser();
14
+ const doc = parser.parseFromString(content, 'image/svg+xml');
15
+ const svgEl = doc.querySelector('svg');
16
+
17
+ if (!svgEl) {
18
+ console.warn('SvgIcon: No <svg> element found in provided string');
19
+ containerRef.current.innerHTML = '';
20
+ return;
21
+ }
22
+
23
+ // Apply all passed props to the SVG element
24
+ props && Object.entries(props).forEach(([key, value]) => {
25
+ if (value == null) return;
26
+
27
+ const attrName = key === 'className' ? 'class' : key;
28
+ svgEl.setAttribute(attrName, String(value));
29
+ });
30
+
31
+ // Clear and append the new SVG
32
+ containerRef.current.innerHTML = '';
33
+ containerRef.current.appendChild(svgEl);
34
+ }, [content, props]);
35
+
36
+ return <span ref={containerRef} />;
37
+ }
38
+
39
+ export function createSvgIcon(content: string): React.ComponentType<React.HTMLAttributes<SVGElement>> {
40
+ const IconComponent: React.FC<React.HTMLAttributes<SVGElement>> = (props) => {
41
+ return <SvgIcon content={content} {...props} />;
42
+ };
43
+ return IconComponent;
44
+ }
@@ -1,9 +1,10 @@
1
- export * from "./xml-viewer/index.js";
2
- export * from "./json-view/index.js";
3
- export * from "./schema-editor/index.js";
4
- export * from "./form/index.js";
5
1
  export * from "./codemirror/index.js";
6
- export * from "./properties/index.js";
2
+ export * from "./form/index.js";
3
+ export * from "./json-view/index.js";
7
4
  export * from "./popover/index.js";
5
+ export * from "./Progress.js";
6
+ export * from "./properties/index.js";
7
+ export * from "./schema-editor/index.js";
8
+ export * from "./SvgIcon.js";
8
9
  export * from "./upload/index.js";
9
- export * from "./Progress.js"
10
+ export * from "./xml-viewer/index.js";
@@ -54,13 +54,12 @@ export function UploadSummary({ files, className = "", location, collection }: U
54
54
  const totalCount = files.length;
55
55
 
56
56
  return (
57
- <div className={`flex flex-col py-6 ${className}`}>
57
+ <div className={`flex flex-col py-2 ${className}`}>
58
58
  <div className="flex items-center mb-4">
59
- <div className="w-12 h-12 mr-4 rounded-full bg-color-success/10 flex items-center justify-center">
60
- <CheckCircleIcon className="h-6 w-6 text-color-success" />
59
+ <div className="size-8 mr-4 rounded-full bg-success/10 flex items-center justify-center">
60
+ <CheckCircleIcon className="size-4 text-success" />
61
61
  </div>
62
62
  <div>
63
- <p className="text-lg font-medium text-color-success">Upload Complete</p>
64
63
  <p className="text-muted">
65
64
  {totalCount} file{totalCount !== 1 ? "s" : ""} processed
66
65
  {collection ? ` in collection '${collection}'` : ""}
@@ -1,101 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useRef, useState } from "react";
3
- // import { AnimatePresence, motion } from "motion/react";
4
- import dayjs from "dayjs";
5
- import { Calendar } from "../calendar";
6
- import { Button } from "../button";
7
- import { Checkbox } from "../checkbox";
8
- import { Command, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator } from "../command";
9
- import { Input } from "../input";
10
- import { Popover, PopoverContent, PopoverTrigger } from "../popover";
11
- import { AnimateChangeInHeight } from "./animateChangeInHeight";
12
- import { DynamicLabel } from "./DynamicLabel";
13
- import { InputList } from "../../index";
14
- export const SelectionCombobox = ({ filterType, filterValues, setFilterValues, options, labelRenderer, }) => {
15
- const [open, setOpen] = useState(false);
16
- const [commandInput, setCommandInput] = useState("");
17
- const commandInputRef = useRef(null);
18
- const nonSelectedFilterValues = options?.filter((option) => !filterValues.some(filter => filter.value === option.value));
19
- return (_jsxs(Popover, { _open: open, onOpenChange: (open) => {
20
- setOpen(open);
21
- if (!open) {
22
- setTimeout(() => {
23
- setCommandInput("");
24
- }, 200);
25
- }
26
- }, children: [_jsx(PopoverTrigger, { className: "rounded-none p-1 h-8 bg-muted hover:bg-muted/50 transition text-muted hover:text-primary shrink-0", children: _jsx("div", { className: "flex gap-1.5 items-center", children: filterValues?.length === 1 ? ((() => {
27
- const option = filterValues[0];
28
- return (_jsx(DynamicLabel, { value: option.value || '', labelRenderer: labelRenderer, fallbackLabel: option.label }));
29
- })()) : (`${filterValues?.length} selected`) }) }), _jsx(PopoverContent, { className: "w-[300px] p-0", children: _jsx(AnimateChangeInHeight, { children: _jsxs(Command, { children: [_jsx(CommandInput, { placeholder: filterType, className: "h-9", value: commandInput, onInputCapture: (e) => {
30
- setCommandInput(e.currentTarget.value);
31
- }, ref: commandInputRef }), _jsxs(CommandList, { children: [_jsx(CommandEmpty, { children: "No results found." }), _jsx(CommandGroup, { children: filterValues.map((value) => {
32
- return (_jsxs(CommandItem, { className: "group flex gap-2 items-center", onSelect: () => {
33
- setFilterValues(filterValues.filter((v) => v.value !== value.value));
34
- setTimeout(() => {
35
- setCommandInput("");
36
- }, 200);
37
- setOpen(false);
38
- }, children: [_jsx(Checkbox, { checked: true }), _jsx(DynamicLabel, { value: value.value || '', labelRenderer: labelRenderer, fallbackLabel: value.label })] }, value.value));
39
- }) }), nonSelectedFilterValues?.length > 0 && (_jsxs(_Fragment, { children: [_jsx(CommandSeparator, {}), _jsx(CommandGroup, { children: nonSelectedFilterValues
40
- .filter(option => String(option.label || option.value).toLowerCase().includes(commandInput.toLowerCase()))
41
- .map((filter) => (_jsxs(CommandItem, { className: "group flex gap-2 items-center", value: String(filter.label || filter.value), onSelect: () => {
42
- setFilterValues([...filterValues, {
43
- value: filter.value,
44
- label: filter.label
45
- }]);
46
- setTimeout(() => {
47
- setCommandInput("");
48
- }, 200);
49
- setOpen(false);
50
- }, children: [_jsx(Checkbox, { checked: false, className: "opacity-0 group-data-[selected=true]:opacity-100" }), _jsx("span", { className: "text-muted", children: _jsx(DynamicLabel, { value: filter.value || '', labelRenderer: filter.labelRenderer || labelRenderer, fallbackLabel: filter.label }) })] }, filter.value))) })] }))] })] }) }) })] }));
51
- };
52
- export const DateCombobox = ({ filterValues, setFilterValues, }) => {
53
- const [open, setOpen] = useState(false);
54
- const selectedDate = filterValues[0] ? new Date(filterValues[0]) : undefined;
55
- return (_jsxs(Popover, { _open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { className: "rounded-none p-1 h-8 bg-muted hover:bg-muted/50 text-muted hover:text-primary shrink-0 transition", children: _jsx("div", { className: "flex gap-1.5 items-center", children: selectedDate ? (dayjs(selectedDate).format("MMM D, YYYY")) : (_jsx("span", { children: "Pick a date" })) }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: _jsx(Calendar, { className: "p-0", value: selectedDate, onChange: (date) => {
56
- if (date) {
57
- const actualDate = Array.isArray(date) ? date[0] : date;
58
- if (actualDate) {
59
- setFilterValues([dayjs(actualDate).format("YYYY-MM-DD")]);
60
- setOpen(false);
61
- }
62
- }
63
- } }) })] }));
64
- };
65
- export const TextCombobox = ({ filterType, filterValue, setFilterValue, }) => {
66
- const [open, setOpen] = useState(false);
67
- const [inputValue, setInputValue] = useState(filterValue);
68
- const handleKeyDown = (event) => {
69
- if (event.key === "Enter") {
70
- setFilterValue(inputValue);
71
- setOpen(false);
72
- }
73
- };
74
- return (_jsxs(Popover, { _open: open, onOpenChange: (open) => {
75
- setOpen(open);
76
- if (!open && inputValue !== filterValue) {
77
- setInputValue(filterValue);
78
- }
79
- }, children: [_jsx(PopoverTrigger, { className: "rounded-none p-1 h-8 bg-muted hover:bg-muted/50 text-muted hover:text-primary shrink-0 transition", children: _jsx("div", { className: "flex gap-1.5 items-center", children: filterValue || "Enter text..." }) }), _jsx(PopoverContent, { className: "w-[300px] p-3", children: _jsxs("div", { className: "flex flex-col gap-1", children: [_jsx("div", { className: "flex items-center p-1.5 text-xs text-muted", children: _jsx("span", { children: filterType }) }), _jsx(Input, { autoFocus: true, type: "text", size: "sm", value: inputValue, onChange: setInputValue, onKeyDown: handleKeyDown, placeholder: "Enter text..." }), _jsx(Button, { size: "sm", variant: "outline", onClick: () => {
80
- setFilterValue(inputValue);
81
- setOpen(false);
82
- }, children: "Apply" })] }) })] }));
83
- };
84
- export const StringListCombobox = ({ filterType, filterValues, setFilterValues, }) => {
85
- const [open, setOpen] = useState(false);
86
- const [tags, setTags] = useState(filterValues);
87
- const handleApply = () => {
88
- setFilterValues(tags);
89
- setOpen(false);
90
- };
91
- return (_jsxs(Popover, { _open: open, onOpenChange: (open) => {
92
- setOpen(open);
93
- if (!open && JSON.stringify(tags) !== JSON.stringify(filterValues)) {
94
- setTags(filterValues);
95
- }
96
- }, children: [_jsx(PopoverTrigger, { className: "rounded-none p-1 h-8 bg-muted hover:bg-muted/50 text-muted hover:text-primary shrink-0 transition", children: _jsx("div", { className: "flex gap-1.5 items-center", children: filterValues.length > 0 ? (filterValues.length === 1 ? filterValues[0] : `${filterValues.length} tags`) : ("Add tags...") }) }), _jsx(PopoverContent, { className: "w-[300px] p-3", children: _jsxs("div", { className: "flex flex-col gap-3", children: [_jsx("div", { className: "flex items-center p-1.5 text-xs text-muted", children: _jsx("span", { children: filterType }) }), _jsx(InputList, { value: tags, onChange: setTags, placeholder: `Add ${filterType.toLowerCase()}...` }), _jsxs("div", { className: "flex gap-2 justify-end", children: [_jsx(Button, { size: "sm", variant: "ghost", onClick: () => {
97
- setTags(filterValues);
98
- setOpen(false);
99
- }, children: "Cancel" }), _jsx(Button, { size: "sm", onClick: handleApply, children: "Apply" })] })] }) })] }));
100
- };
101
- //# sourceMappingURL=comboBox.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"comboBox.js","sourceRoot":"","sources":["../../../../../../src/core/components/shadcn/filters/comboBox.tsx"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import dayjs from "dayjs";
3
- import { useState } from "react";
4
- import DatePicker from "react-date-picker";
5
- import { Popover, PopoverContent, PopoverTrigger } from "../popover";
6
- export default function DateFilter({ selectedView, selectedDate, setSelectedDate, setFilters, filters, handleClose, filterGroups, }) {
7
- const [open, setOpen] = useState(true);
8
- const handleDateChange = (value) => {
9
- const date = Array.isArray(value) ? value[0] : value;
10
- setSelectedDate(date || undefined);
11
- if (date) {
12
- const selectedGroup = filterGroups.find(g => g.name === selectedView);
13
- // Set date to start of day (00:00)
14
- const selectedDateStart = new Date(date);
15
- selectedDateStart.setHours(0, 0, 0, 0);
16
- setFilters([
17
- ...filters,
18
- {
19
- name: selectedView || "",
20
- placeholder: selectedGroup?.placeholder,
21
- value: [
22
- {
23
- value: selectedDateStart.toISOString(),
24
- label: dayjs(selectedDateStart).format("LLL dd, y"),
25
- }
26
- ],
27
- type: selectedGroup?.type || "date",
28
- },
29
- ]);
30
- setOpen(false);
31
- handleClose();
32
- }
33
- };
34
- return (_jsxs(Popover, { _open: open, onOpenChange: setOpen, children: [_jsx(PopoverTrigger, { className: "w-full p-2 text-left hover:bg-muted/50 rounded-sm", children: _jsx("div", { className: "flex gap-1.5 items-center", children: selectedDate ? (dayjs(selectedDate).format("MMM D, YYYY")) : (_jsx("span", { children: "Pick a date" })) }) }), _jsx(PopoverContent, { className: "w-auto p-0", align: "start", children: _jsx(DatePicker, { value: selectedDate, onChange: handleDateChange, calendarIcon: false, className: "p-2" }) })] }));
35
- }
36
- //# sourceMappingURL=dateFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dateFilter.js","sourceRoot":"","sources":["../../../../../../src/core/components/shadcn/filters/dateFilter.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,UAAU,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAgBrE,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,UAAU,EACV,OAAO,EACP,WAAW,EACX,YAAY,GACI;IAChB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAEvC,MAAM,gBAAgB,GAAG,CAAC,KAAY,EAAE,EAAE;QACxC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;QACnC,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YAEtE,mCAAmC;YACnC,MAAM,iBAAiB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAEvC,UAAU,CAAC;gBACT,GAAG,OAAO;gBACV;oBACE,IAAI,EAAE,YAAY,IAAI,EAAE;oBACxB,WAAW,EAAE,aAAa,EAAE,WAAW;oBACvC,KAAK,EAAE;wBACL;4BACE,KAAK,EAAE,iBAAiB,CAAC,WAAW,EAAE;4BACtC,KAAK,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC;yBACpD;qBACF;oBACD,IAAI,EAAE,aAAa,EAAE,IAAI,IAAI,MAAM;iBAC1B;aACZ,CAAC,CAAC;YAEH,OAAO,CAAC,KAAK,CAAC,CAAC;YACf,WAAW,EAAE,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,OAAO,IAAC,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,aACzC,KAAC,cAAc,IAAC,SAAS,EAAC,mDAAmD,YAC3E,cAAK,SAAS,EAAC,2BAA2B,YACvC,YAAY,CAAC,CAAC,CAAC,CACd,KAAK,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAC1C,CAAC,CAAC,CAAC,CACF,yCAAwB,CACzB,GACG,GACS,EACjB,KAAC,cAAc,IAAC,SAAS,EAAC,YAAY,EAAC,KAAK,EAAC,OAAO,YAClD,KAAC,UAAU,IACT,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,KAAK,EACnB,SAAS,EAAC,KAAK,GACf,GACa,IACT,CACX,CAAC;AACJ,CAAC"}
@@ -1,67 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { CommandItem, CommandEmpty } from "../command";
3
- import { DynamicLabel } from "./DynamicLabel";
4
- export default function SelectFilter({ selectedView, commandInput, setFilters, handleClose, filterGroups, }) {
5
- const getFilteredOptions = (groupName) => {
6
- const group = filterGroups.find(g => g.name === groupName);
7
- if (!group)
8
- return [];
9
- let filteredOptions = group.options || [];
10
- if (!commandInput.trim()) {
11
- return filteredOptions;
12
- }
13
- if (group.filterBy) {
14
- const filterLc = commandInput.toLowerCase();
15
- const results = filteredOptions.filter(option => {
16
- if (option.value === undefined)
17
- return false;
18
- const result = group.filterBy(option.value, filterLc);
19
- return result;
20
- });
21
- return results;
22
- }
23
- const filterLc = commandInput.toLowerCase();
24
- return filteredOptions.filter(option => {
25
- const optionValue = String(option.value || '').toLowerCase();
26
- return optionValue.includes(filterLc);
27
- });
28
- };
29
- if (!selectedView)
30
- return null;
31
- const options = getFilteredOptions(selectedView);
32
- if (options.length === 0) {
33
- return _jsx(CommandEmpty, { children: "No matching options" });
34
- }
35
- const groupTitle = filterGroups.find(group => group.name === selectedView)?.placeholder || filterGroups.find(group => group.name === selectedView)?.name;
36
- return (_jsxs(_Fragment, { children: [_jsx("div", { className: "flex items-center p-1.5 text-xs text-muted", children: _jsx("span", { children: groupTitle }) }), options.map((option) => {
37
- const selectedGroup = filterGroups.find(g => g.name === selectedView);
38
- return (_jsx(CommandItem, { className: "group flex gap-2 items-center w-full hover:bg-muted", onSelect: () => {
39
- setFilters((prev) => {
40
- const existingFilterIndex = prev.findIndex(f => f.name === selectedView);
41
- // Create filter option with value and label for storage
42
- const filterOption = {
43
- value: option.value,
44
- label: option.label
45
- };
46
- if (existingFilterIndex >= 0) {
47
- const updatedFilters = [...prev];
48
- updatedFilters[existingFilterIndex] = {
49
- ...updatedFilters[existingFilterIndex],
50
- value: [...updatedFilters[existingFilterIndex].value, filterOption]
51
- };
52
- return updatedFilters;
53
- }
54
- else {
55
- return [...prev, {
56
- name: selectedView || "",
57
- placeholder: selectedGroup?.placeholder || "",
58
- value: [filterOption],
59
- type: selectedGroup?.type || "select",
60
- }];
61
- }
62
- });
63
- handleClose();
64
- }, children: _jsx(DynamicLabel, { value: option.value || '', labelRenderer: option.labelRenderer || selectedGroup?.labelRenderer, fallbackLabel: option.label }) }, option.value || `option-${Math.random()}`));
65
- })] }));
66
- }
67
- //# sourceMappingURL=selectFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectFilter.js","sourceRoot":"","sources":["../../../../../../src/core/components/shadcn/filters/selectFilter.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringListFilter.js","sourceRoot":"","sources":["../../../../../../src/core/components/shadcn/filters/stringListFilter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAA4B,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAUnC,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,GACU;IACtB,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAE/C,MAAM,aAAa,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAEtE,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;gBACjB,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC;gBAC5C;oBACE,IAAI,EAAE,YAAY;oBAClB,WAAW,EAAE,aAAa,EAAE,WAAW;oBACvC,KAAK,EAAE,IAAI;oBACX,IAAI,EAAE,YAAqB;iBAC5B;aACF,CAAC,CAAC;QACL,CAAC;QACD,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,eAAe,aAC5B,cAAK,SAAS,EAAC,WAAW,YACxB,KAAC,SAAS,IACR,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,aAAa,EAAE,WAAW,IAAI,OAAO,YAAY,KAAK,EACnE,SAAS,SACT,GACE,EACN,eAAK,SAAS,EAAC,wBAAwB,aACrC,KAAC,MAAM,IAAC,OAAO,EAAC,OAAO,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,uBAE7C,EACT,KAAC,MAAM,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,MAAM,KAAK,CAAC,sBAE1D,IACL,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"textFilter.js","sourceRoot":"","sources":["../../../../../../src/core/components/shadcn/filters/textFilter.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAYjC,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,YAAY,EACZ,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,EACX,YAAY,GACI;IAChB,MAAM,mBAAmB,GAAG,GAAG,EAAE;QAC/B,UAAU,CAAC,CAAC,IAAc,EAAE,EAAE;YAC5B,OAAO;gBACL,GAAG,IAAI;gBACP;oBACE,IAAI,EAAE,YAAY,IAAI,EAAE;oBACxB,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,WAAW;oBACjF,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;oBAC/C,IAAI,EAAE,MAAM;iBACb;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,WAAW,EAAE,CAAC;IAChB,CAAC,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAC,yBAAyB,aACtC,cAAK,SAAS,EAAC,4CAA4C,YACzD,yBAAO,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,WAAW,GAAQ,GAC/E,EACN,KAAC,KAAK,IACJ,SAAS,QACT,IAAI,EAAC,MAAM,EACX,IAAI,EAAC,IAAI,EACT,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,mBAAmB,EAAE,EAC5D,WAAW,EAAC,eAAe,GAC3B,EACF,KAAC,MAAM,IACL,IAAI,EAAC,IAAI,EACT,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,sBAGpB,IACL,CACP,CAAC;AACJ,CAAC"}
@@ -1,39 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { SelectBox } from '@vertesia/ui/core';
4
- import { useUserSession } from '@vertesia/ui/session';
5
- import { facetOptionNameLabel } from './utils';
6
- export function InteractionFacet({ search, buckets, placeholder = "All Interactions", className }) {
7
- const { client } = useUserSession();
8
- const [options, setOptions] = useState([]);
9
- const filterValue = search.getFilterValue("interaction");
10
- const onChange = (option) => {
11
- search.setFilterValue("interaction", option?._id);
12
- };
13
- useEffect(() => {
14
- if (client) {
15
- const options = buckets.map(async (bucket) => {
16
- let name;
17
- await client.interactions.retrieve(bucket._id).then((interaction) => {
18
- name = interaction.name;
19
- }).catch(() => {
20
- name = `${bucket._id} (deleted)`;
21
- });
22
- if (!name) {
23
- name = bucket._id;
24
- }
25
- return {
26
- ...bucket,
27
- name
28
- };
29
- });
30
- Promise.all(options).then(resolvedOptions => {
31
- resolvedOptions.sort((a, b) => a.name.localeCompare(b.name));
32
- setOptions(resolvedOptions);
33
- });
34
- }
35
- }, [buckets, client]);
36
- const value = options?.find((option) => option._id === filterValue);
37
- return (_jsx(SelectBox, { filterBy: "name", className: className, isClearable: true, optionLabel: facetOptionNameLabel, options: options, value: value, onChange: onChange, by: '_id', placeholder: placeholder }));
38
- }
39
- //# sourceMappingURL=InteractionFacet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"InteractionFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/InteractionFacet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAQ/C,MAAM,UAAU,gBAAgB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,kBAAkB,EAAE,SAAS,EAAyB;IACpH,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAEpC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,aAAa,CAAW,CAAC;IACnE,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACzC,IAAI,IAAI,CAAC;gBACT,MAAM,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;oBAChE,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;gBAC5B,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;oBACV,IAAI,GAAG,GAAG,MAAM,CAAC,GAAG,YAAY,CAAC;gBACrC,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,IAAI,EAAE,CAAC;oBACR,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;gBACtB,CAAC;gBACD,OAAO;oBACH,GAAG,MAAM;oBACT,IAAI;iBACP,CAAA;YACL,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;gBACxC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7D,UAAU,CAAC,eAAe,CAAC,CAAC;YAChC,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;IAEpE,OAAO,CACH,KAAC,SAAS,IAAC,QAAQ,EAAC,MAAM,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,QAAC,WAAW,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAC,KAAK,EAAC,WAAW,EAAE,WAAW,GAAI,CAC5L,CAAA;AACL,CAAC"}
@@ -1,19 +0,0 @@
1
- import { useUserSession } from "@vertesia/ui/session";
2
- export function TypeOptionLabel(buckets) {
3
- const { typeRegistry } = useUserSession();
4
- return buckets.map((bucket) => {
5
- let name;
6
- if (bucket._id == null) {
7
- bucket._id = "Document";
8
- name = "Document";
9
- }
10
- else {
11
- name = typeRegistry?.getTypeName(bucket._id) || bucket._id;
12
- }
13
- return {
14
- name: `${name} (${bucket.count})`,
15
- value: bucket._id,
16
- };
17
- }).sort((a, b) => a.name.localeCompare(b.name));
18
- }
19
- //# sourceMappingURL=TypeOptions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeOptions.js","sourceRoot":"","sources":["../../../../src/features/facets/TypeOptions.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAItD,MAAM,UAAU,eAAe,CAAC,OAAsB;IAClD,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC;IAE1C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1B,IAAI,IAAI,CAAC;QACT,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;YACxB,IAAI,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC;QAC/D,CAAC;QAED,OAAO;YACH,IAAI,EAAE,GAAG,IAAI,KAAK,MAAM,CAAC,KAAK,GAAG;YACjC,KAAK,EAAE,MAAM,CAAC,GAAG;SACpB,CAAC;IACN,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACpD,CAAC"}
@@ -1,33 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { SelectBox } from "@vertesia/ui/core";
3
- import { useEffect, useState } from "react";
4
- import { UserInfo } from '../user/UserInfo';
5
- export function facetOptionLabel(bucket) {
6
- if (bucket._id == null) {
7
- return `UnKnown User (${bucket.count})`;
8
- }
9
- else {
10
- return (_jsx(UserInfo, { userRef: bucket._id, showTitle: true, size: "sm" }));
11
- }
12
- }
13
- export function UserFacet({ search, buckets, placeholder = "Filter by User", className }) {
14
- const [options, setOptions] = useState([]);
15
- const filterValue = search.getFilterValue("created_by");
16
- const onChange = (option) => {
17
- search.setFilterValue("created_by", option?._id);
18
- };
19
- useEffect(() => {
20
- const fetchOptions = async () => {
21
- const options = await Promise.all(buckets.map(async (bucket) => {
22
- return {
23
- ...bucket,
24
- };
25
- }));
26
- setOptions(options);
27
- };
28
- fetchOptions();
29
- }, [buckets]);
30
- const value = options?.find((option) => option._id === filterValue);
31
- return (_jsx(SelectBox, { filterBy: "name", className: className, isClearable: true, optionLabel: facetOptionLabel, options: options, value: value, onChange: onChange, by: '_id', placeholder: placeholder }));
32
- }
33
- //# sourceMappingURL=UserFacet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"UserFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/UserFacet.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAChD,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;QACrB,OAAO,iBAAiB,MAAM,CAAC,KAAK,GAAG,CAAC;IAC5C,CAAC;SACI,CAAC;QACF,OAAO,CACH,KAAC,QAAQ,IAAC,OAAO,EAAE,MAAM,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,GAAI,CACjE,CAAC;IACN,CAAC;AACL,CAAC;AAUD,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,EAAE,SAAS,EAAkB;IACpG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,EAAE,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,YAAY,CAAW,CAAC;IAElE,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,YAAY,GAAG,KAAK,IAAI,EAAE;YAC5B,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBAC3D,OAAO;oBACH,GAAG,MAAM;iBACZ,CAAA;YACL,CAAC,CAAC,CAAC,CAAC;YACJ,UAAU,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;QACF,YAAY,EAAE,CAAC;IACnB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAGd,MAAM,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;IAEpE,OAAO,CACH,KAAC,SAAS,IACN,QAAQ,EAAC,MAAM,EACf,SAAS,EAAE,SAAS,EACpB,WAAW,QACX,WAAW,EAAE,gBAAgB,EAC7B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,EAAE,EAAC,KAAK,EACR,WAAW,EAAE,WAAW,GAC1B,CACL,CAAA;AACL,CAAC"}