@vertesia/ui 0.78.0 → 0.79.1

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 (409) hide show
  1. package/lib/esm/core/components/Panel.js +8 -0
  2. package/lib/esm/core/components/Panel.js.map +1 -0
  3. package/lib/esm/core/components/SelectBox.js +1 -1
  4. package/lib/esm/core/components/SelectBox.js.map +1 -1
  5. package/lib/esm/core/components/SelectList.js +18 -13
  6. package/lib/esm/core/components/SelectList.js.map +1 -1
  7. package/lib/esm/core/components/SidePanel.js +2 -2
  8. package/lib/esm/core/components/SidePanel.js.map +1 -1
  9. package/lib/esm/core/components/index.js +1 -1
  10. package/lib/esm/core/components/index.js.map +1 -1
  11. package/lib/esm/core/components/shadcn/breadcrumb.js +29 -8
  12. package/lib/esm/core/components/shadcn/breadcrumb.js.map +1 -1
  13. package/lib/esm/core/components/shadcn/button.js +3 -2
  14. package/lib/esm/core/components/shadcn/button.js.map +1 -1
  15. package/lib/esm/core/components/shadcn/filters/filterBar.js +41 -14
  16. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  17. package/lib/esm/core/components/shadcn/index.js +2 -0
  18. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  19. package/lib/esm/core/components/shadcn/input.js +4 -1
  20. package/lib/esm/core/components/shadcn/input.js.map +1 -1
  21. package/lib/esm/core/components/shadcn/resizeable.js +15 -0
  22. package/lib/esm/core/components/shadcn/resizeable.js.map +1 -0
  23. package/lib/esm/core/components/shadcn/selectBox.js +15 -9
  24. package/lib/esm/core/components/shadcn/selectBox.js.map +1 -1
  25. package/lib/esm/core/components/shadcn/tabs.js +20 -8
  26. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  27. package/lib/esm/core/components/shadcn/textarea.js +7 -0
  28. package/lib/esm/core/components/shadcn/textarea.js.map +1 -0
  29. package/lib/esm/core/components/table/index.js +1 -1
  30. package/lib/esm/core/components/table/index.js.map +1 -1
  31. package/lib/esm/core/hooks/CompositeState.js +139 -1
  32. package/lib/esm/core/hooks/CompositeState.js.map +1 -1
  33. package/lib/esm/core/hooks/index.js +1 -0
  34. package/lib/esm/core/hooks/index.js.map +1 -1
  35. package/lib/esm/core/hooks/useScrollableSearch.js +92 -0
  36. package/lib/esm/core/hooks/useScrollableSearch.js.map +1 -0
  37. package/lib/esm/env/index.js +1 -1
  38. package/lib/esm/env/index.js.map +1 -1
  39. package/lib/esm/features/agent/PayloadBuilder.js +80 -55
  40. package/lib/esm/features/agent/PayloadBuilder.js.map +1 -1
  41. package/lib/esm/features/agent/chat/ModernAgentConversation.js +22 -24
  42. package/lib/esm/features/agent/chat/ModernAgentConversation.js.map +1 -1
  43. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js +2 -3
  44. package/lib/esm/features/agent/chat/ModernAgentOutput/AllMessagesMixed.js.map +1 -1
  45. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js +2 -2
  46. package/lib/esm/features/agent/chat/ModernAgentOutput/Header.js.map +1 -1
  47. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js +15 -20
  48. package/lib/esm/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.js.map +1 -1
  49. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js +1 -0
  50. package/lib/esm/features/agent/chat/ModernAgentOutput/PlanPanel.js.map +1 -1
  51. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js +3 -3
  52. package/lib/esm/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.js.map +1 -1
  53. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js +6 -6
  54. package/lib/esm/features/agent/chat/ModernAgentOutput/WorkstreamTabs.js.map +1 -1
  55. package/lib/esm/features/facets/CollectionsFacetsNav.js +85 -0
  56. package/lib/esm/features/facets/CollectionsFacetsNav.js.map +1 -0
  57. package/lib/esm/features/facets/DocumentsFacetsNav.js +19 -7
  58. package/lib/esm/features/facets/DocumentsFacetsNav.js.map +1 -1
  59. package/lib/esm/features/facets/EnvironmentFacet.js +1 -1
  60. package/lib/esm/features/facets/EnvironmentFacet.js.map +1 -1
  61. package/lib/esm/features/facets/InteractionsFacetsNav.js +88 -0
  62. package/lib/esm/features/facets/InteractionsFacetsNav.js.map +1 -0
  63. package/lib/esm/features/facets/PromptsFacetsNav.js +80 -0
  64. package/lib/esm/features/facets/PromptsFacetsNav.js.map +1 -0
  65. package/lib/esm/features/facets/RunsFacetsNav.js +28 -6
  66. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  67. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +7 -5
  68. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +1 -1
  69. package/lib/esm/features/facets/index.js +10 -8
  70. package/lib/esm/features/facets/index.js.map +1 -1
  71. package/lib/esm/features/facets/utils/SearchInterface.js +2 -0
  72. package/lib/esm/features/facets/utils/SearchInterface.js.map +1 -0
  73. package/lib/esm/features/facets/utils/StringFacet.js.map +1 -0
  74. package/lib/esm/features/facets/utils/StringListFacet.js.map +1 -0
  75. package/lib/esm/features/facets/utils/TypeFacet.js.map +1 -0
  76. package/lib/esm/features/facets/utils/VEnvironmentFacet.js.map +1 -0
  77. package/lib/esm/features/facets/utils/VInteractionFacet.js.map +1 -0
  78. package/lib/esm/features/facets/utils/VStringFacet.js.map +1 -0
  79. package/lib/esm/features/facets/{VTypeFacet.js → utils/VTypeFacet.js} +9 -4
  80. package/lib/esm/features/facets/utils/VTypeFacet.js.map +1 -0
  81. package/lib/esm/features/facets/{VUserFacet.js → utils/VUserFacet.js} +1 -1
  82. package/lib/esm/features/facets/utils/VUserFacet.js.map +1 -0
  83. package/lib/esm/features/facets/utils/utils.js.map +1 -0
  84. package/lib/esm/features/layout/GenericPageNavHeader.js +58 -5
  85. package/lib/esm/features/layout/GenericPageNavHeader.js.map +1 -1
  86. package/lib/esm/features/store/collections/BrowseCollectionView.js +3 -0
  87. package/lib/esm/features/store/collections/BrowseCollectionView.js.map +1 -1
  88. package/lib/esm/features/store/collections/CreateCollection.js +2 -2
  89. package/lib/esm/features/store/collections/CreateCollection.js.map +1 -1
  90. package/lib/esm/features/store/collections/EditCollectionView.js +43 -31
  91. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  92. package/lib/esm/features/store/collections/SelectCollection.js +46 -16
  93. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  94. package/lib/esm/features/store/objects/DocumentSearchResults.js +43 -13
  95. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  96. package/lib/esm/features/store/objects/DocumentTable.js +6 -6
  97. package/lib/esm/features/store/objects/DocumentTable.js.map +1 -1
  98. package/lib/esm/features/store/objects/components/ContentOverview.js +225 -87
  99. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  100. package/lib/esm/features/store/objects/components/DocumentIcon.js +11 -3
  101. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  102. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js +11 -2
  103. package/lib/esm/features/store/objects/components/SaveVersionConfirmModal.js.map +1 -1
  104. package/lib/esm/features/store/objects/components/useDownloadObject.js +2 -2
  105. package/lib/esm/features/store/objects/components/useDownloadObject.js.map +1 -1
  106. package/lib/esm/features/store/objects/layout/DocumentTableColumn.js +13 -1
  107. package/lib/esm/features/store/objects/layout/DocumentTableColumn.js.map +1 -1
  108. package/lib/esm/features/store/objects/layout/documentLayout.js +7 -8
  109. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  110. package/lib/esm/features/store/objects/layout/renderers.js +28 -12
  111. package/lib/esm/features/store/objects/layout/renderers.js.map +1 -1
  112. package/lib/esm/features/store/objects/search/DocumentSearchContext.js +5 -1
  113. package/lib/esm/features/store/objects/search/DocumentSearchContext.js.map +1 -1
  114. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js +1 -1
  115. package/lib/esm/features/store/objects/search/DocumentSearchProvider.js.map +1 -1
  116. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js +3 -2
  117. package/lib/esm/features/store/objects/selection/ObjectsActionContext.js.map +1 -1
  118. package/lib/esm/features/store/objects/selection/SelectionActions.js +2 -0
  119. package/lib/esm/features/store/objects/selection/SelectionActions.js.map +1 -1
  120. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +12 -4
  121. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  122. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js +20 -2
  123. package/lib/esm/features/store/objects/selection/actions/DeleteObjectsAction.js.map +1 -1
  124. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +16 -8
  125. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  126. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js +1 -1
  127. package/lib/esm/features/store/types/CreateOrUpdateTypeModal.js.map +1 -1
  128. package/lib/esm/features/store/types/ObjectSchemaEditor.js +1 -1
  129. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  130. package/lib/esm/features/user/UserInfo.js +35 -1
  131. package/lib/esm/features/user/UserInfo.js.map +1 -1
  132. package/lib/esm/router/HistoryNavigator.js +25 -2
  133. package/lib/esm/router/HistoryNavigator.js.map +1 -1
  134. package/lib/esm/router/Nav.js +3 -3
  135. package/lib/esm/router/Nav.js.map +1 -1
  136. package/lib/esm/session/UserSession.js +1 -0
  137. package/lib/esm/session/UserSession.js.map +1 -1
  138. package/lib/esm/session/UserSessionProvider.js +9 -2
  139. package/lib/esm/session/UserSessionProvider.js.map +1 -1
  140. package/lib/esm/session/auth/composable.js +66 -67
  141. package/lib/esm/session/auth/composable.js.map +1 -1
  142. package/lib/esm/shell/login/UserInfo.js +1 -1
  143. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  144. package/lib/esm/widgets/form/Form.js +17 -30
  145. package/lib/esm/widgets/form/Form.js.map +1 -1
  146. package/lib/esm/widgets/form/FormContext.js +4 -2
  147. package/lib/esm/widgets/form/FormContext.js.map +1 -1
  148. package/lib/esm/widgets/form/ManagedObject.js +4 -0
  149. package/lib/esm/widgets/form/ManagedObject.js.map +1 -1
  150. package/lib/esm/widgets/form/fields.js +4 -3
  151. package/lib/esm/widgets/form/fields.js.map +1 -1
  152. package/lib/esm/widgets/form/inputs.js +2 -0
  153. package/lib/esm/widgets/form/inputs.js.map +1 -1
  154. package/lib/esm/widgets/schema-editor/index.js +0 -1
  155. package/lib/esm/widgets/schema-editor/index.js.map +1 -1
  156. package/lib/tsconfig.tsbuildinfo +1 -1
  157. package/lib/types/core/components/Panel.d.ts +11 -0
  158. package/lib/types/core/components/Panel.d.ts.map +1 -0
  159. package/lib/types/core/components/SelectList.d.ts +2 -1
  160. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  161. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  162. package/lib/types/core/components/index.d.ts +1 -1
  163. package/lib/types/core/components/index.d.ts.map +1 -1
  164. package/lib/types/core/components/shadcn/breadcrumb.d.ts +3 -2
  165. package/lib/types/core/components/shadcn/breadcrumb.d.ts.map +1 -1
  166. package/lib/types/core/components/shadcn/button.d.ts.map +1 -1
  167. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  168. package/lib/types/core/components/shadcn/index.d.ts +2 -0
  169. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  170. package/lib/types/core/components/shadcn/input.d.ts.map +1 -1
  171. package/lib/types/core/components/shadcn/resizeable.d.ts +9 -0
  172. package/lib/types/core/components/shadcn/resizeable.d.ts.map +1 -0
  173. package/lib/types/core/components/shadcn/selectBox.d.ts +3 -2
  174. package/lib/types/core/components/shadcn/selectBox.d.ts.map +1 -1
  175. package/lib/types/core/components/shadcn/tabs.d.ts +2 -1
  176. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  177. package/lib/types/core/components/shadcn/textarea.d.ts +4 -0
  178. package/lib/types/core/components/shadcn/textarea.d.ts.map +1 -0
  179. package/lib/types/core/hooks/CompositeState.d.ts +115 -6
  180. package/lib/types/core/hooks/CompositeState.d.ts.map +1 -1
  181. package/lib/types/core/hooks/index.d.ts +1 -0
  182. package/lib/types/core/hooks/index.d.ts.map +1 -1
  183. package/lib/types/core/hooks/useScrollableSearch.d.ts +82 -0
  184. package/lib/types/core/hooks/useScrollableSearch.d.ts.map +1 -0
  185. package/lib/types/env/index.d.ts +3 -1
  186. package/lib/types/env/index.d.ts.map +1 -1
  187. package/lib/types/features/agent/PayloadBuilder.d.ts +11 -19
  188. package/lib/types/features/agent/PayloadBuilder.d.ts.map +1 -1
  189. package/lib/types/features/agent/chat/ModernAgentConversation.d.ts.map +1 -1
  190. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts +1 -1
  191. package/lib/types/features/agent/chat/ModernAgentOutput/AllMessagesMixed.d.ts.map +1 -1
  192. package/lib/types/features/agent/chat/ModernAgentOutput/Header.d.ts.map +1 -1
  193. package/lib/types/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.d.ts.map +1 -1
  194. package/lib/types/features/agent/chat/ModernAgentOutput/PlanPanel.d.ts.map +1 -1
  195. package/lib/types/features/facets/CollectionsFacetsNav.d.ts +14 -0
  196. package/lib/types/features/facets/CollectionsFacetsNav.d.ts.map +1 -0
  197. package/lib/types/features/facets/DocumentsFacetsNav.d.ts +1 -1
  198. package/lib/types/features/facets/DocumentsFacetsNav.d.ts.map +1 -1
  199. package/lib/types/features/facets/InteractionsFacetsNav.d.ts +14 -0
  200. package/lib/types/features/facets/InteractionsFacetsNav.d.ts.map +1 -0
  201. package/lib/types/features/facets/PromptsFacetsNav.d.ts +15 -0
  202. package/lib/types/features/facets/PromptsFacetsNav.d.ts.map +1 -0
  203. package/lib/types/features/facets/RunsFacetsNav.d.ts +1 -1
  204. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
  205. package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts +1 -1
  206. package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts.map +1 -1
  207. package/lib/types/features/facets/index.d.ts +10 -8
  208. package/lib/types/features/facets/index.d.ts.map +1 -1
  209. package/lib/types/features/facets/utils/SearchInterface.d.ts +14 -0
  210. package/lib/types/features/facets/utils/SearchInterface.d.ts.map +1 -0
  211. package/lib/types/features/facets/utils/StringFacet.d.ts.map +1 -0
  212. package/lib/types/features/facets/utils/StringListFacet.d.ts.map +1 -0
  213. package/lib/types/features/facets/utils/TypeFacet.d.ts.map +1 -0
  214. package/lib/types/features/facets/utils/VEnvironmentFacet.d.ts.map +1 -0
  215. package/lib/types/features/facets/utils/VInteractionFacet.d.ts.map +1 -0
  216. package/lib/types/features/facets/utils/VStringFacet.d.ts.map +1 -0
  217. package/lib/types/features/facets/{VTypeFacet.d.ts → utils/VTypeFacet.d.ts} +2 -1
  218. package/lib/types/features/facets/utils/VTypeFacet.d.ts.map +1 -0
  219. package/lib/types/features/facets/utils/VUserFacet.d.ts.map +1 -0
  220. package/lib/types/features/facets/utils/utils.d.ts.map +1 -0
  221. package/lib/types/features/layout/GenericPageNavHeader.d.ts +2 -1
  222. package/lib/types/features/layout/GenericPageNavHeader.d.ts.map +1 -1
  223. package/lib/types/features/store/collections/BrowseCollectionView.d.ts.map +1 -1
  224. package/lib/types/features/store/collections/CreateCollection.d.ts.map +1 -1
  225. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  226. package/lib/types/features/store/collections/SelectCollection.d.ts +12 -8
  227. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  228. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  229. package/lib/types/features/store/objects/DocumentTable.d.ts +4 -0
  230. package/lib/types/features/store/objects/DocumentTable.d.ts.map +1 -1
  231. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  232. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +7 -1
  233. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  234. package/lib/types/features/store/objects/components/SaveVersionConfirmModal.d.ts.map +1 -1
  235. package/lib/types/features/store/objects/components/useDownloadObject.d.ts +1 -1
  236. package/lib/types/features/store/objects/components/useDownloadObject.d.ts.map +1 -1
  237. package/lib/types/features/store/objects/layout/DocumentTableColumn.d.ts +2 -1
  238. package/lib/types/features/store/objects/layout/DocumentTableColumn.d.ts.map +1 -1
  239. package/lib/types/features/store/objects/layout/documentLayout.d.ts +4 -2
  240. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  241. package/lib/types/features/store/objects/layout/renderers.d.ts +1 -1
  242. package/lib/types/features/store/objects/layout/renderers.d.ts.map +1 -1
  243. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts +2 -3
  244. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  245. package/lib/types/features/store/objects/selection/ObjectsActionContext.d.ts.map +1 -1
  246. package/lib/types/features/store/objects/selection/SelectionActions.d.ts.map +1 -1
  247. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts +1 -0
  248. package/lib/types/features/store/objects/selection/actions/DeleteObjectsAction.d.ts.map +1 -1
  249. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  250. package/lib/types/features/user/UserInfo.d.ts +12 -1
  251. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  252. package/lib/types/router/HistoryNavigator.d.ts.map +1 -1
  253. package/lib/types/router/Nav.d.ts +2 -1
  254. package/lib/types/router/Nav.d.ts.map +1 -1
  255. package/lib/types/session/UserSession.d.ts.map +1 -1
  256. package/lib/types/session/UserSessionProvider.d.ts.map +1 -1
  257. package/lib/types/session/auth/composable.d.ts.map +1 -1
  258. package/lib/types/widgets/form/Form.d.ts +2 -1
  259. package/lib/types/widgets/form/Form.d.ts.map +1 -1
  260. package/lib/types/widgets/form/FormContext.d.ts +5 -2
  261. package/lib/types/widgets/form/FormContext.d.ts.map +1 -1
  262. package/lib/types/widgets/form/ManagedObject.d.ts.map +1 -1
  263. package/lib/types/widgets/form/fields.d.ts +2 -2
  264. package/lib/types/widgets/form/fields.d.ts.map +1 -1
  265. package/lib/types/widgets/form/inputs.d.ts.map +1 -1
  266. package/lib/types/widgets/schema-editor/index.d.ts +0 -1
  267. package/lib/types/widgets/schema-editor/index.d.ts.map +1 -1
  268. package/lib/vertesia-ui-core.js +1 -1
  269. package/lib/vertesia-ui-core.js.map +1 -1
  270. package/lib/vertesia-ui-env.js +1 -1
  271. package/lib/vertesia-ui-env.js.map +1 -1
  272. package/lib/vertesia-ui-features.js +1 -1
  273. package/lib/vertesia-ui-features.js.map +1 -1
  274. package/lib/vertesia-ui-router.js +1 -1
  275. package/lib/vertesia-ui-router.js.map +1 -1
  276. package/lib/vertesia-ui-session.js +1 -1
  277. package/lib/vertesia-ui-session.js.map +1 -1
  278. package/lib/vertesia-ui-shell.js +1 -1
  279. package/lib/vertesia-ui-shell.js.map +1 -1
  280. package/lib/vertesia-ui-widgets.js +1 -1
  281. package/lib/vertesia-ui-widgets.js.map +1 -1
  282. package/package.json +166 -165
  283. package/src/core/components/Panel.tsx +34 -0
  284. package/src/core/components/SelectList.tsx +11 -1
  285. package/src/core/components/SidePanel.tsx +18 -13
  286. package/src/core/components/index.ts +1 -1
  287. package/src/core/components/shadcn/breadcrumb.tsx +49 -30
  288. package/src/core/components/shadcn/button.tsx +3 -2
  289. package/src/core/components/shadcn/filters/filterBar.tsx +49 -23
  290. package/src/core/components/shadcn/index.ts +2 -0
  291. package/src/core/components/shadcn/input.tsx +10 -7
  292. package/src/core/components/shadcn/resizeable.tsx +54 -0
  293. package/src/core/components/shadcn/selectBox.tsx +87 -67
  294. package/src/core/components/shadcn/tabs.tsx +25 -8
  295. package/src/core/components/shadcn/textarea.tsx +21 -0
  296. package/src/core/components/table/index.tsx +1 -1
  297. package/src/core/hooks/index.ts +1 -0
  298. package/src/core/hooks/useScrollableSearch.tsx +193 -0
  299. package/src/features/agent/chat/ModernAgentConversation.tsx +109 -118
  300. package/src/features/agent/chat/ModernAgentOutput/AllMessagesMixed.tsx +2 -22
  301. package/src/features/agent/chat/ModernAgentOutput/Header.tsx +1 -9
  302. package/src/features/agent/chat/ModernAgentOutput/InlineSlidingPlanPanel.tsx +39 -55
  303. package/src/features/agent/chat/ModernAgentOutput/PlanPanel.tsx +1 -0
  304. package/src/features/agent/chat/ModernAgentOutput/SlidingPlanPanel.tsx +8 -8
  305. package/src/features/agent/chat/ModernAgentOutput/WorkstreamTabs.tsx +8 -8
  306. package/src/features/facets/CollectionsFacetsNav.tsx +115 -0
  307. package/src/features/facets/DocumentsFacetsNav.tsx +22 -11
  308. package/src/features/facets/EnvironmentFacet.tsx +1 -1
  309. package/src/features/facets/InteractionsFacetsNav.tsx +121 -0
  310. package/src/features/facets/PromptsFacetsNav.tsx +110 -0
  311. package/src/features/facets/RunsFacetsNav.tsx +40 -9
  312. package/src/features/facets/WorkflowExecutionsFacetsNav.tsx +10 -8
  313. package/src/features/facets/index.ts +11 -9
  314. package/src/features/facets/utils/SearchInterface.tsx +12 -0
  315. package/src/features/facets/{VTypeFacet.tsx → utils/VTypeFacet.tsx} +12 -5
  316. package/src/features/facets/{VUserFacet.tsx → utils/VUserFacet.tsx} +1 -1
  317. package/src/features/layout/GenericPageNavHeader.tsx +73 -10
  318. package/src/features/store/collections/BrowseCollectionView.tsx +4 -0
  319. package/src/features/store/collections/CreateCollection.tsx +3 -4
  320. package/src/features/store/collections/EditCollectionView.tsx +104 -85
  321. package/src/features/store/collections/SelectCollection.tsx +214 -29
  322. package/src/features/store/objects/DocumentSearchResults.tsx +98 -27
  323. package/src/features/store/objects/DocumentTable.tsx +14 -4
  324. package/src/features/store/objects/components/ContentOverview.tsx +536 -267
  325. package/src/features/store/objects/components/DocumentIcon.tsx +42 -13
  326. package/src/features/store/objects/components/SaveVersionConfirmModal.tsx +12 -2
  327. package/src/features/store/objects/layout/DocumentTableColumn.tsx +16 -1
  328. package/src/features/store/objects/layout/documentLayout.tsx +10 -12
  329. package/src/features/store/objects/layout/knowledge.md +10 -10
  330. package/src/features/store/objects/layout/renderers.tsx +39 -18
  331. package/src/features/store/objects/search/DocumentSearchContext.ts +6 -1
  332. package/src/features/store/objects/search/DocumentSearchProvider.tsx +1 -1
  333. package/src/features/store/objects/selection/ObjectsActionContext.tsx +3 -2
  334. package/src/features/store/objects/selection/SelectionActions.tsx +2 -0
  335. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +23 -10
  336. package/src/features/store/objects/selection/actions/DeleteObjectsAction.tsx +22 -2
  337. package/src/features/store/objects/upload/DocumentUploadModal.tsx +23 -15
  338. package/src/features/store/objects/upload/useSmartFileUploadProcessing.ts +10 -7
  339. package/src/features/store/types/CreateOrUpdateTypeModal.tsx +1 -1
  340. package/src/features/store/types/ObjectSchemaEditor.tsx +1 -1
  341. package/src/features/user/UserInfo.tsx +66 -3
  342. package/src/router/HistoryNavigator.ts +33 -2
  343. package/src/router/Nav.tsx +4 -3
  344. package/src/shell/login/UserInfo.tsx +1 -1
  345. package/src/widgets/form/Form.tsx +19 -43
  346. package/src/widgets/form/FormContext.ts +5 -2
  347. package/src/widgets/form/fields.tsx +8 -6
  348. package/src/widgets/form/inputs.tsx +1 -0
  349. package/src/widgets/schema-editor/index.ts +0 -1
  350. package/lib/esm/core/components/Textarea.js +0 -15
  351. package/lib/esm/core/components/Textarea.js.map +0 -1
  352. package/lib/esm/features/facets/FacetsNav.js +0 -8
  353. package/lib/esm/features/facets/FacetsNav.js.map +0 -1
  354. package/lib/esm/features/facets/StringFacet.js.map +0 -1
  355. package/lib/esm/features/facets/StringListFacet.js.map +0 -1
  356. package/lib/esm/features/facets/TypeFacet.js.map +0 -1
  357. package/lib/esm/features/facets/VEnvironmentFacet.js.map +0 -1
  358. package/lib/esm/features/facets/VFacetsNav.js +0 -48
  359. package/lib/esm/features/facets/VFacetsNav.js.map +0 -1
  360. package/lib/esm/features/facets/VInteractionFacet.js.map +0 -1
  361. package/lib/esm/features/facets/VStringFacet.js.map +0 -1
  362. package/lib/esm/features/facets/VTypeFacet.js.map +0 -1
  363. package/lib/esm/features/facets/VUserFacet.js.map +0 -1
  364. package/lib/esm/features/facets/utils.js.map +0 -1
  365. package/lib/esm/widgets/schema-editor/JSONSchemaEditorModal.js +0 -49
  366. package/lib/esm/widgets/schema-editor/JSONSchemaEditorModal.js.map +0 -1
  367. package/lib/types/core/components/Textarea.d.ts +0 -8
  368. package/lib/types/core/components/Textarea.d.ts.map +0 -1
  369. package/lib/types/features/facets/FacetsNav.d.ts +0 -7
  370. package/lib/types/features/facets/FacetsNav.d.ts.map +0 -1
  371. package/lib/types/features/facets/StringFacet.d.ts.map +0 -1
  372. package/lib/types/features/facets/StringListFacet.d.ts.map +0 -1
  373. package/lib/types/features/facets/TypeFacet.d.ts.map +0 -1
  374. package/lib/types/features/facets/VEnvironmentFacet.d.ts.map +0 -1
  375. package/lib/types/features/facets/VFacetsNav.d.ts +0 -16
  376. package/lib/types/features/facets/VFacetsNav.d.ts.map +0 -1
  377. package/lib/types/features/facets/VInteractionFacet.d.ts.map +0 -1
  378. package/lib/types/features/facets/VStringFacet.d.ts.map +0 -1
  379. package/lib/types/features/facets/VTypeFacet.d.ts.map +0 -1
  380. package/lib/types/features/facets/VUserFacet.d.ts.map +0 -1
  381. package/lib/types/features/facets/utils.d.ts.map +0 -1
  382. package/lib/types/widgets/schema-editor/JSONSchemaEditorModal.d.ts +0 -10
  383. package/lib/types/widgets/schema-editor/JSONSchemaEditorModal.d.ts.map +0 -1
  384. package/src/core/components/Textarea.tsx +0 -25
  385. package/src/features/facets/FacetsNav.tsx +0 -19
  386. package/src/features/facets/VFacetsNav.tsx +0 -81
  387. package/src/widgets/schema-editor/JSONSchemaEditorModal.tsx +0 -67
  388. /package/lib/esm/features/facets/{StringFacet.js → utils/StringFacet.js} +0 -0
  389. /package/lib/esm/features/facets/{StringListFacet.js → utils/StringListFacet.js} +0 -0
  390. /package/lib/esm/features/facets/{TypeFacet.js → utils/TypeFacet.js} +0 -0
  391. /package/lib/esm/features/facets/{VEnvironmentFacet.js → utils/VEnvironmentFacet.js} +0 -0
  392. /package/lib/esm/features/facets/{VInteractionFacet.js → utils/VInteractionFacet.js} +0 -0
  393. /package/lib/esm/features/facets/{VStringFacet.js → utils/VStringFacet.js} +0 -0
  394. /package/lib/esm/features/facets/{utils.js → utils/utils.js} +0 -0
  395. /package/lib/types/features/facets/{StringFacet.d.ts → utils/StringFacet.d.ts} +0 -0
  396. /package/lib/types/features/facets/{StringListFacet.d.ts → utils/StringListFacet.d.ts} +0 -0
  397. /package/lib/types/features/facets/{TypeFacet.d.ts → utils/TypeFacet.d.ts} +0 -0
  398. /package/lib/types/features/facets/{VEnvironmentFacet.d.ts → utils/VEnvironmentFacet.d.ts} +0 -0
  399. /package/lib/types/features/facets/{VInteractionFacet.d.ts → utils/VInteractionFacet.d.ts} +0 -0
  400. /package/lib/types/features/facets/{VStringFacet.d.ts → utils/VStringFacet.d.ts} +0 -0
  401. /package/lib/types/features/facets/{VUserFacet.d.ts → utils/VUserFacet.d.ts} +0 -0
  402. /package/lib/types/features/facets/{utils.d.ts → utils/utils.d.ts} +0 -0
  403. /package/src/features/facets/{StringFacet.tsx → utils/StringFacet.tsx} +0 -0
  404. /package/src/features/facets/{StringListFacet.tsx → utils/StringListFacet.tsx} +0 -0
  405. /package/src/features/facets/{TypeFacet.tsx → utils/TypeFacet.tsx} +0 -0
  406. /package/src/features/facets/{VEnvironmentFacet.tsx → utils/VEnvironmentFacet.tsx} +0 -0
  407. /package/src/features/facets/{VInteractionFacet.tsx → utils/VInteractionFacet.tsx} +0 -0
  408. /package/src/features/facets/{VStringFacet.tsx → utils/VStringFacet.tsx} +0 -0
  409. /package/src/features/facets/{utils.tsx → utils/utils.tsx} +0 -0
@@ -134,7 +134,10 @@ export function useSmartFileUploadProcessing() {
134
134
 
135
135
  let res: ContentObjectItem[];
136
136
 
137
- const payload: ComplexSearchPayload = {query: {match: query}, select: undefined}
137
+ const payload: ComplexSearchPayload = {
138
+ query: { match: query },
139
+ select: "id content.etag" // Only fetch fields needed for comparison
140
+ };
138
141
 
139
142
  if (limitToCollectionId) {
140
143
  res = (await client.store.collections.searchMembers(limitToCollectionId, payload)).results;
@@ -164,16 +167,16 @@ export function useSmartFileUploadProcessing() {
164
167
  const namesInLocation = unskippedFiles
165
168
  .filter((file) => file.location === location)
166
169
  .map((file) => file.name);
167
- const query = {
168
- location: location ?? "",
170
+ const query: Record<string, any> = {
169
171
  "content.name": { $in: namesInLocation },
172
+ location: location || "/"
170
173
  };
171
174
  if (limitToCollectionId) {
172
175
  const res = client.store.collections.searchMembers(limitToCollectionId, {
173
176
  query: {
174
177
  match: query,
175
178
  },
176
- select: undefined,
179
+ select: "id content.name location" // Only fetch fields needed for comparison
177
180
  }).then((response) => response.results);
178
181
  queries.push(res);
179
182
  } else {
@@ -181,7 +184,7 @@ export function useSmartFileUploadProcessing() {
181
184
  query: {
182
185
  match: query,
183
186
  },
184
- select: undefined,
187
+ select: "id content.name location" // Only fetch fields needed for comparison
185
188
  });
186
189
  queries.push(res);
187
190
  }
@@ -193,10 +196,10 @@ export function useSmartFileUploadProcessing() {
193
196
  //update fileWithMetadata
194
197
  for (const doc of results) {
195
198
  const file = filesWithMetadata.find(
196
- //name must be the same, and location must the same if present and if not, must be empty string
199
+ //name must be the same, and location must match (default is "/")
197
200
  (f) =>
198
201
  f.name === doc.content.name &&
199
- (f.location ? f.location === doc.location : doc.location === ""),
202
+ (f.location ? f.location === doc.location : doc.location === "/"),
200
203
  );
201
204
  if (file) {
202
205
  file.existingId = doc.id;
@@ -48,7 +48,7 @@ export function CreateOrUpdateTypeModal({ title, isOpen, onClose, okLabel, initi
48
48
  </div>
49
49
  <div>
50
50
  <label className="block text-sm font-medium text-muted">Description</label>
51
- <Textarea value={description} onChange={setDescription} />
51
+ <Textarea value={description} onChange={e => setDescription(e.target.value)} />
52
52
  </div>
53
53
  </div>
54
54
  </ModalBody>
@@ -130,7 +130,7 @@ function contentToJson(content: string | undefined | null) {
130
130
  const validateSchema = (schema: Record<string, any>) => {
131
131
  try {
132
132
  const ajv = new Ajv({
133
- strict: true, // Enable strict mode to ensure all properties are validated
133
+ strict: false, // Enable strict mode to ensure all properties are validated
134
134
  });
135
135
  // Compile the schema. This implicitly validates the schema definition
136
136
  // against the JSON Schema draft that ajv supports by default.
@@ -1,10 +1,12 @@
1
1
  import { useUserSession } from "@vertesia/ui/session";
2
- import { ApiKey, PrincipalType, User } from "@vertesia/common";
2
+ import { ApiKey, PrincipalType, User, UserGroup } from "@vertesia/common";
3
3
  import { Avatar, Table, Popover, PopoverContent, PopoverTrigger, useFetch } from "@vertesia/ui/core";
4
4
  import { ReactNode } from "react";
5
+ import { Users } from "lucide-react";
5
6
 
6
7
  //TODO use a real cache
7
8
  const USER_CACHE: Record<string, Promise<User>> = {};
9
+ const GROUP_CACHE: Record<string, Promise<UserGroup>> = {};
8
10
 
9
11
  /**
10
12
  * Fetch the user information given a user reference.
@@ -26,6 +28,25 @@ export function useFetchUserInfo(userId: string) {
26
28
  }, [userId]);
27
29
  }
28
30
 
31
+ /**
32
+ * Fetch the group information given a group ID.
33
+ * @param groupId
34
+ */
35
+ export function useFetchGroupInfo(groupId: string) {
36
+ const { client } = useUserSession();
37
+
38
+ return useFetch(() => {
39
+ let group: Promise<UserGroup> | undefined = GROUP_CACHE[groupId];
40
+ if (!group) {
41
+ group = client.iam.groups.retrieve(groupId).then(group => {
42
+ return group;
43
+ });
44
+ GROUP_CACHE[groupId] = group;
45
+ }
46
+ return group;
47
+ }, [groupId]);
48
+ }
49
+
29
50
  function AvatarPlaceholder() {
30
51
  return <div className='size-8' />
31
52
  }
@@ -38,8 +59,10 @@ interface InfoProps {
38
59
  function SystemAvatar({ showTitle = false, size = "md" }: InfoProps) {
39
60
  return (
40
61
  <UserPopoverPanel title="System User" description="The system user is used to initialize built-in objects.">
41
- <Avatar src="/icon.svg" size={size} />
42
- {showTitle && <div className="text-sm font-semibold pl-2">System User</div>}
62
+ <div className="flex gap-2 items-center">
63
+ <Avatar src="/icon.svg" size={size} />
64
+ {showTitle && <div className="text-sm font-semibold pl-2">System User</div>}
65
+ </div>
43
66
  </UserPopoverPanel>
44
67
  )
45
68
  }
@@ -96,6 +119,8 @@ export function UserInfo({ userRef, showTitle = false, size = "md" }: UserInfoPr
96
119
  switch (type) {
97
120
  case PrincipalType.User:
98
121
  return <UserAvatar userId={id} showTitle={showTitle} size={size} />
122
+ case PrincipalType.Group:
123
+ return <GroupAvatar userId={id} showTitle={showTitle} size={size} />
99
124
  case "system":
100
125
  return <SystemAvatar showTitle={showTitle} size={size} />
101
126
  case PrincipalType.ServiceAccount:
@@ -123,6 +148,44 @@ function UnknownAvatar({ title, message, color, size = "md", showTitle = false }
123
148
  )
124
149
  }
125
150
 
151
+ interface GroupAvatarProps extends InfoProps {
152
+ userId: string;
153
+ }
154
+ function GroupAvatar({ userId, showTitle = false, size = "md" }: GroupAvatarProps) {
155
+ const { data: group, error } = useFetchGroupInfo(userId);
156
+
157
+ if (error) {
158
+ return <ErrorAvatar title="Failed to fetch group" error={error} showTitle={showTitle} size={size} />
159
+ }
160
+
161
+ if (!group) {
162
+ return <AvatarPlaceholder />
163
+ }
164
+
165
+ const description = (
166
+ <div className="space-y-1">
167
+ {group.description && <div className="text-sm">{group.description}</div>}
168
+ <div className="text-xs text-muted-foreground">Group ID: {group.id}</div>
169
+ {group.tags && group.tags.length > 0 && (
170
+ <div className="flex flex-wrap gap-1">
171
+ {group.tags.map(tag => (
172
+ <span key={tag} className="px-1.5 py-0.5 bg-muted rounded text-xs">{tag}</span>
173
+ ))}
174
+ </div>
175
+ )}
176
+ </div>
177
+ )
178
+
179
+ return (
180
+ <UserPopoverPanel title={group.name || "Unnamed Group"} description={description}>
181
+ <div className="flex flex-row items-center gap-2">
182
+ <Users className="size-6 text-indigo-500" size={size} />
183
+ {showTitle && <div className="text-sm font-semibold pl-2">{group.name || "Unnamed Group"}</div>}
184
+ </div>
185
+ </UserPopoverPanel>
186
+ )
187
+ }
188
+
126
189
  interface UserAvatarProps extends InfoProps {
127
190
  userId: string;
128
191
  }
@@ -130,10 +130,41 @@ export class HistoryNavigator {
130
130
  if (beforeEvent._canceled) {
131
131
  return;
132
132
  }
133
- window.history[options.replace ? 'replaceState' : 'pushState']({
133
+
134
+ // Build navigation chain by preserving previous history
135
+ const currentState = window.history.state;
136
+ const currentTitle = document.title;
137
+
138
+ // Create new history chain entry
139
+ const newChainEntry = {
140
+ title: currentTitle,
141
+ href: window.location.pathname + window.location.search + window.location.hash
142
+ };
143
+
144
+ // Build the history chain - clear if using replace
145
+ let historyChain: Array<{title: string, href: string}> = [];
146
+ if (!options.replace && currentState?.historyChain) {
147
+ historyChain = [...currentState.historyChain];
148
+ }
149
+
150
+ // Only add to chain if not replacing
151
+ if (!options.replace) {
152
+ historyChain.push(newChainEntry);
153
+
154
+ // Limit chain length to prevent memory issues (keep last 10 entries)
155
+ if (historyChain.length > 10) {
156
+ historyChain = historyChain.slice(-10);
157
+ }
158
+ }
159
+
160
+ const stateToStore = {
134
161
  from: window.location.href,
162
+ historyChain: historyChain,
135
163
  data: options.state || undefined
136
- }, '', to.href);
164
+ };
165
+
166
+ window.history[options.replace ? 'replaceState' : 'pushState'](stateToStore, '', to.href);
167
+
137
168
  this.fireLocationChange(new AfterLocationChangeEvent(type, to, options.state));
138
169
  }
139
170
 
@@ -20,7 +20,7 @@ export function Nav({ children, onClick }: NavProps) {
20
20
  if (link && link.href) {
21
21
  ev.stopPropagation();
22
22
  ev.preventDefault();
23
- navigate(link.href);
23
+ navigate(link.href, { replace: true });
24
24
  onClick?.(ev);
25
25
  }
26
26
  }
@@ -40,14 +40,15 @@ interface NavLinkProps {
40
40
  * use the root router to navigate
41
41
  */
42
42
  topLevelNav?: boolean;
43
+ clearBreadcrumbs?: boolean;
43
44
  }
44
- export function NavLink({ children, href, className, topLevelNav }: NavLinkProps) {
45
+ export function NavLink({ children, href, className, topLevelNav, clearBreadcrumbs = false }: NavLinkProps) {
45
46
  const { router } = useRouterContext();
46
47
  const _onClick = (ev: SyntheticEvent) => {
47
48
  ev.stopPropagation();
48
49
  ev.preventDefault();
49
50
  const actualRouter = topLevelNav ? router.getTopRouter() : router;
50
- actualRouter.navigate(href);
51
+ actualRouter.navigate(href, { replace: clearBreadcrumbs });
51
52
  }
52
53
  return (
53
54
  <a href={href} className={className} onClick={_onClick}>{children}</a>
@@ -67,7 +67,7 @@ export default function InfoList() {
67
67
 
68
68
  return (
69
69
  <div className="w-full">
70
- <VTabs defaultValue="user" tabs={tabs} fullWidth>
70
+ <VTabs defaultValue="user" tabs={tabs} fullWidth updateHash={false}>
71
71
  <VTabsBar />
72
72
  <VTabsPanel />
73
73
  </VTabs>
@@ -1,25 +1,22 @@
1
1
 
2
2
  import { Plus, Trash2 } from "lucide-react";
3
- import { Button } from "@vertesia/ui/core";
3
+ import { Button, FormItem } from "@vertesia/ui/core";
4
4
  import clsx from "clsx";
5
5
  import type { JSONSchemaObject } from "@vertesia/common";
6
6
  import { ComponentType, ReactNode, SyntheticEvent, useState } from "react";
7
- import { FormContextProvider, InputComponentProps, useForm } from "./FormContext.js";
7
+ import { FormContext, FormContextProvider, InputComponentProps, useForm } from "./FormContext.js";
8
8
  import { ManagedListProperty, ManagedObject, ManagedObjectBase, ManagedProperty, Node } from "./ManagedObject.js";
9
- import { FormLabel, FormHelper } from "./fields.js";
10
9
  import { Input } from "./inputs.js";
11
10
 
12
-
13
-
14
-
15
11
  interface FormProps {
16
12
  object: ManagedObject;
17
13
  components?: Record<string, ComponentType<InputComponentProps>>;
18
14
  children?: ReactNode | ReactNode[];
19
15
  onSubmit?: (data: JSONSchemaObject) => void;
20
16
  onChange?: (prop: Node) => void;
17
+ disabled?: boolean;
21
18
  }
22
- export function Form({ object, components, onSubmit, children, onChange }: FormProps) {
19
+ export function Form({ object, components, onSubmit, children, onChange, disabled }: FormProps) {
23
20
  const _onSubmit = (evt: SyntheticEvent) => {
24
21
  evt.stopPropagation();
25
22
  evt.preventDefault();
@@ -27,10 +24,7 @@ export function Form({ object, components, onSubmit, children, onChange }: FormP
27
24
  }
28
25
  object.observer = onChange;
29
26
  return (
30
- <FormContextProvider value={{
31
- object,
32
- components: components || {}
33
- }}>
27
+ <FormContextProvider value={new FormContext(object, components || {}, disabled ?? false)}>
34
28
  <form className="w-full" onSubmit={_onSubmit}>
35
29
  {children}
36
30
  </form>
@@ -58,24 +52,6 @@ export function GeneratedForm({ children, ...props }: FormProps) {
58
52
  )
59
53
  }
60
54
 
61
-
62
- // interface FieldSetProps {
63
- // name: string;
64
- // children?: ReactNode | ReactNode[];
65
- // }
66
- // export function FieldSet({ name, children }: FieldSetProps) {
67
- // const ctx = useForm();
68
- // const newCtx = {
69
- // ...ctx,
70
- // object: ctx.object.getProperty(name) as ManagedObjectProperty
71
- // }
72
- // return (
73
- // <FormContextProvider value={newCtx}>
74
- // {children}
75
- // </FormContextProvider>
76
- // )
77
- // }
78
-
79
55
  function renderProperty(prop: Node) {
80
56
  if (prop.isList) {
81
57
  return <ListField key={prop.name} object={prop as ManagedListProperty} />
@@ -105,7 +81,7 @@ export function ScalarField({ object, editor, inline = false }: ScalarFieldProps
105
81
  if (!editor) {
106
82
  editor = object.schema.editor;
107
83
  }
108
- const { components } = useForm();
84
+ const { components, disabled } = useForm();
109
85
  const Component = (editor && components[editor]) || Input;
110
86
  const inputType = object.getInputType();
111
87
  if (inputType === 'checkbox') {
@@ -113,20 +89,16 @@ export function ScalarField({ object, editor, inline = false }: ScalarFieldProps
113
89
  }
114
90
 
115
91
  const handleOnChange = (event: any) => {
92
+ if (disabled) return;
116
93
  const { value } = event.target;
117
94
  object.value = object.schema.isNumber ? parseFloat(value) : value
118
95
  }
119
96
 
120
97
  return (
121
- <div className="">
122
- <div className={clsx('flex gap-2', inline ? 'flex-row items-center' : 'flex-col')}>
123
- {!object.isListItem && <FormLabel required={object.schema.isRequired}>{object.title}</FormLabel>}
124
- <Component object={object} type={inputType} onChange={handleOnChange} />
125
- </div>
126
- {
127
- object.schema.description && <FormHelper>{object.schema.description}</FormHelper>
128
- }
129
- </div>
98
+ <FormItem label={object.title} required={object.schema.isRequired} description={object.schema.description}
99
+ className={clsx('flex', inline ? 'flex-row items-center' : 'flex-col')}>
100
+ {!object.isListItem && <Component object={object} type={inputType} onChange={handleOnChange} />}
101
+ </FormItem>
130
102
  )
131
103
  }
132
104
 
@@ -149,13 +121,16 @@ interface ListFieldProps {
149
121
  }
150
122
  function ListField({ object }: ListFieldProps) {
151
123
  const [value, setValue] = useState<any[]>(object.value || []);
124
+ const { disabled } = useForm();
152
125
 
153
126
  const addItem = () => {
127
+ if (disabled) return;
154
128
  object.add();
155
129
  setValue([...object.value]);
156
130
  };
157
131
 
158
132
  const deleteItem = (index: number) => {
133
+ if (disabled) return;
159
134
  object.remove(index);
160
135
  setValue([...object.value]);
161
136
  };
@@ -165,11 +140,11 @@ function ListField({ object }: ListFieldProps) {
165
140
  {!object.isListItem && <div className='text-gray-900 dark:text-gray-200 font-semibold'>{object.title}</div>}
166
141
  {
167
142
  object.items.map((item, index) => {
168
- return <ListItem key={`${index}-${value[index] ?? ''}`} object={item} list={object} onDelete={() => deleteItem(index)} />;
143
+ return <ListItem key={`${index}-${value[index] ?? ''}`} object={item} list={object} onDelete={() => deleteItem(index)} disabled={disabled} />;
169
144
  })
170
145
  }
171
146
  <div>
172
- <Button variant='secondary' onClick={addItem}><Plus className="size-6" /> Add</Button>
147
+ <Button variant='secondary' onClick={addItem} disabled={disabled}><Plus className="size-6" /> Add</Button>
173
148
  </div>
174
149
  </div>
175
150
  )
@@ -179,8 +154,9 @@ interface ListItemProps {
179
154
  list: ManagedListProperty;
180
155
  object: Node & { index: number };
181
156
  onDelete: () => void;
157
+ disabled?: boolean;
182
158
  }
183
- function ListItem({ list, object, onDelete }: ListItemProps) {
159
+ function ListItem({ list, object, onDelete, disabled }: ListItemProps) {
184
160
  return (
185
161
  <div className='flex gap-2 w-full'>
186
162
  <div className="flex-1">
@@ -188,7 +164,7 @@ function ListItem({ list, object, onDelete }: ListItemProps) {
188
164
  renderItemProperty(object, list.schema.arraySchema.editor)
189
165
  }
190
166
  </div>
191
- <Button variant='secondary' onClick={onDelete}><Trash2 className='size-4' /></Button>
167
+ <Button variant='secondary' onClick={onDelete} disabled={disabled}><Trash2 className='size-4' /></Button>
192
168
  </div>
193
169
  )
194
170
  }
@@ -15,10 +15,13 @@ export function useFieldSet() {
15
15
  export interface InputComponentProps {
16
16
  object: Node;
17
17
  type: string; // the editor/input type
18
+ onChange?: (event: any) => void;
19
+ disabled?: boolean;
18
20
  }
19
- class FormContext {
21
+ export class FormContext {
20
22
  constructor(public object: ManagedObject,
21
- public components: Record<string, ComponentType<InputComponentProps>> = {}) {
23
+ public components: Record<string, ComponentType<InputComponentProps>> = {},
24
+ public disabled: boolean = false) {
22
25
  }
23
26
 
24
27
  }
@@ -1,14 +1,16 @@
1
+ import { FormItem } from "@vertesia/ui/core";
2
+
1
3
  interface FormLabelProps {
2
- htmlFor?: string;
4
+ label?: string;
3
5
  required?: boolean;
4
6
  children: React.ReactNode | React.ReactNode[];
5
7
  }
6
- export function FormLabel({ htmlFor, required, children }: FormLabelProps) {
8
+ export function FormLabel({ label, required, children }: FormLabelProps) {
7
9
  return (
8
- <label htmlFor={htmlFor} className="block text-sm font-medium leading-6 text-gray-900 dark:text-gray-200">
9
- {children}{required && <sup className="text-red-600">*</sup>}
10
- </label>
11
- )
10
+ <FormItem label={label} required={required}>
11
+ {children}
12
+ </FormItem>
13
+ );
12
14
  }
13
15
 
14
16
  interface FormHelperProps {
@@ -17,6 +17,7 @@ const Input = React.forwardRef<HTMLInputElement | HTMLTextAreaElement, InputProp
17
17
  }
18
18
 
19
19
  const _onChange = (ev: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {
20
+ if (props.disabled) return;
20
21
  setValue(ev.target.value);
21
22
  if (object.schema.isBoolean) {
22
23
  object.value = (ev.target as HTMLInputElement).checked;
@@ -1,4 +1,3 @@
1
- export * from "./JSONSchemaEditorModal.js";
2
1
  export * from "./ManagedSchema.js";
3
2
  export * from "./editor/EditableSchemaProperty.js";
4
3
  export * from "./editor/PropertyEditor.js";
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import clsx from "clsx";
3
- import React, { useState } from "react";
4
- import { Styles } from "./styles";
5
- const Textarea = React.forwardRef(({ unstyled, value, onChange, className, ...others }, ref) => {
6
- const [currentValue, setCurrentValue] = useState(value || "");
7
- const _onChange = (ev) => {
8
- const value = ev.target.value;
9
- setCurrentValue(value);
10
- onChange && onChange(value);
11
- };
12
- return (_jsx("textarea", { ref: ref, ...others, className: clsx('w-full', unstyled ? Styles.INPUT_UNSTYLED : Styles.INPUT, className), value: currentValue, onChange: _onChange }));
13
- });
14
- export { Textarea };
15
- //# sourceMappingURL=Textarea.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../../src/core/components/Textarea.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAOlC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAqC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,EAAiB,EAAE,GAAG,EAAE,EAAE;IAC9I,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,CAAC,EAA0C,EAAE,EAAE;QAC7D,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;QAC9B,eAAe,CAAC,KAAK,CAAC,CAAC;QACvB,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAA;IACD,OAAO,CACH,mBAAU,GAAG,EAAE,GAAG,KACV,MAAM,EACV,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EACrF,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,GAAI,CACnD,CAAA;AACL,CAAC,CAAC,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAA"}
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { StringFacet } from './StringFacet';
3
- import { StringListFacet } from './StringListFacet';
4
- import { TypeFacet } from './TypeFacet';
5
- export function FacetsNav({ facets, search }) {
6
- return (_jsxs("div", { className: 'flex items-center gap-x-4 w-full', children: [facets.role && _jsx(StringFacet, { search: search, className: "flex-1", name: "role", buckets: facets.role || [], placeholder: "Filter by Role" }), facets.type && _jsx(TypeFacet, { search: search, className: "flex-1", buckets: facets.type || [] }), facets.status && _jsx(StringFacet, { search: search, className: "flex-1", name: "status", buckets: facets.status || [], placeholder: "Filter by Status" }), facets.location && _jsx(StringFacet, { search: search, className: "flex-1", name: "location", buckets: facets.location || [], placeholder: "Filter by Location" }), facets.tags && _jsx(StringListFacet, { search: search, className: "flex-1", name: 'tags', buckets: facets.tags || [], placeholder: "Filter by Tags" })] }));
7
- }
8
- //# sourceMappingURL=FacetsNav.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FacetsNav.js","sourceRoot":"","sources":["../../../../src/features/facets/FacetsNav.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAkB;IACxD,OAAO,CACH,eAAK,SAAS,EAAC,kCAAkC,aAC5C,MAAM,CAAC,IAAI,IAAI,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,WAAW,EAAC,gBAAgB,GAAG,EACtI,MAAM,CAAC,IAAI,IAAI,KAAC,SAAS,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,GAAI,EAC3F,MAAM,CAAC,MAAM,IAAI,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,WAAW,EAAC,kBAAkB,GAAG,EAC9I,MAAM,CAAC,QAAQ,IAAI,KAAC,WAAW,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE,EAAE,WAAW,EAAC,oBAAoB,GAAG,EACtJ,MAAM,CAAC,IAAI,IAAI,KAAC,eAAe,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAC,QAAQ,EAAC,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE,WAAW,EAAC,gBAAgB,GAAG,IACzI,CACT,CAAA;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/StringFacet.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAS3C,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAoB;IAC3F,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAW,CAAC;IAC1D,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAA;IAED,MAAM,KAAK,GAAG,OAAO,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC;IAEpG,OAAO,CACH,KAAC,SAAS,IAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAE,SAAS,EAAE,WAAW,QAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAC,KAAK,EAAC,WAAW,EAAE,WAAW,GAAI,CACvL,CAAA;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringListFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/StringListFacet.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAS5C,MAAM,UAAU,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAwB;IAC1F,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACX,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACH,KAAC,SAAS,IAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,GAAI,CAChG,CAAA;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/TypeFacet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAQ5C,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACpD,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC;AAC9C,CAAC;AAQD,MAAM,UAAU,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,gBAAgB,EAAE,SAAS,EAAkB;IACpG,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAoB,EAAE,CAAC,CAAC;IAC9D,MAAM,EAAE,YAAY,EAAE,GAAG,cAAc,EAAE,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,CAAC,MAAM,CAAW,CAAC;IAC5D,MAAM,QAAQ,GAAG,CAAC,MAA+B,EAAE,EAAE;QACjD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAA;IAED,SAAS,CAAC,GAAG,EAAE;QACX,IAAI,YAAY,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;gBACnC,IAAI,IAAI,CAAC;gBACT,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;oBACrB,MAAM,CAAC,GAAG,GAAG,UAAU,CAAC;oBACxB,IAAI,GAAG,UAAU,CAAA;gBACrB,CAAC;qBAAM,CAAC;oBACJ,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;wBACR,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,GAAG,CAAC,CAAA;wBACzD,IAAI,GAAG,MAAM,CAAC,GAAG,CAAA;oBACrB,CAAC;gBACL,CAAC;gBACD,OAAO;oBACH,GAAG,MAAM;oBACT,IAAI;iBACP,CAAA;YACL,CAAC,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YACrD,UAAU,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC;IAE5B,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,gBAAgB,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,EAAC,KAAK,EAAC,WAAW,EAAE,WAAW,GAAI,CACxL,CAAA;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VEnvironmentFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/VEnvironmentFacet.tsx"],"names":[],"mappings":";AAYA,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAyB;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;QAC1B,KAAK,EAAE,MAAM,CAAC,GAAG;KACpB,CAAC,CAAC,CAAC;IAEJ,MAAM,WAAW,GAAgB;QAC7B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAClD,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,aAAqB,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,EAAE,IAAI,IAAI,aAAa,CAAC;YAElD,OAAO,CACH,eAAK,SAAS,EAAC,0BAA0B,aACrC,eAAM,SAAS,EAAC,kBAAkB,YAAE,WAAW,GAAQ,EACvD,gBAAM,SAAS,EAAC,cAAc,kBAAG,MAAM,EAAE,KAAK,IAAI,CAAC,SAAS,IAC1D,CACT,CAAC;QACN,CAAC;QACD,QAAQ,EAAE,CAAC,WAAmB,EAAE,UAAkB,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC;YAC/C,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,CAAC;KACJ,CAAC;IAEF,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -1,48 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { FilterProvider, FilterBtn, FilterBar, FilterClear } from '@vertesia/ui/core';
3
- import { useState } from 'react';
4
- export function VFacetsNav({ search, textSearch = '' }) {
5
- const [filters, setFilters] = useState([]);
6
- const customFilterGroups = [];
7
- if (textSearch) {
8
- customFilterGroups.push({
9
- placeholder: textSearch,
10
- name: 'name',
11
- type: 'text',
12
- options: [],
13
- });
14
- }
15
- const handleFilterChange = (value) => {
16
- const newFilters = typeof value === 'function' ? value(filters) : value;
17
- if (newFilters.length === 0) {
18
- search.clearFilters();
19
- setFilters([]);
20
- return;
21
- }
22
- setFilters(newFilters);
23
- // Reset the actual query before reapplying filters. Otherwise the removed filters remain.
24
- search.clearFilters(false);
25
- newFilters.forEach(filter => {
26
- if (filter.value && filter.value.length > 0) {
27
- const filterName = filter.name.toLowerCase();
28
- const filterValue = filter.type === 'stringList'
29
- ? filter.value.map(v => typeof v === 'string' ? v : v.value)
30
- : Array.isArray(filter.value) && filter.value[0] && typeof filter.value[0] === 'object'
31
- ? filter.value[0].value
32
- : filter.value;
33
- switch (filterName) {
34
- case 'name':
35
- search.query.search_term = filterValue;
36
- search.query.name = filterValue;
37
- break;
38
- default:
39
- search.query[filterName] = filterValue;
40
- break;
41
- }
42
- }
43
- });
44
- search.search();
45
- };
46
- return (_jsx(FilterProvider, { filterGroups: customFilterGroups, filters: filters, setFilters: handleFilterChange, children: _jsxs("div", { className: "flex gap-2 items-center", children: [_jsx(FilterBtn, {}), _jsx(FilterBar, {}), _jsx(FilterClear, {})] }) }));
47
- }
48
- //# sourceMappingURL=VFacetsNav.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"VFacetsNav.js","sourceRoot":"","sources":["../../../../src/features/facets/VFacetsNav.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAwB,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAe,MAAM,mBAAmB,CAAC;AACzH,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAgBjC,MAAM,UAAU,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,GAAG,EAAE,EAAkB;IAClE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACzD,MAAM,kBAAkB,GAAkB,EAAE,CAAC;IAE7C,IAAI,UAAU,EAAE,CAAC;QACb,kBAAkB,CAAC,IAAI,CAAC;YACpB,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,EAAE;SACd,CAAC,CAAC;IACP,CAAC;IAED,MAAM,kBAAkB,GAAuD,CAAC,KAAK,EAAE,EAAE;QAErF,MAAM,UAAU,GAAG,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,YAAY,EAAE,CAAC;YACtB,UAAU,CAAC,EAAE,CAAC,CAAC;YACf,OAAO;QACX,CAAC;QACD,UAAU,CAAC,UAAU,CAAC,CAAC;QAEvB,0FAA0F;QAC1F,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE3B,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACxB,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC1C,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,KAAK,YAAY;oBAC5C,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC5D,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;wBACnF,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK;wBACvB,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAEvB,QAAQ,UAAU,EAAE,CAAC;oBACjB,KAAK,MAAM;wBACP,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;wBACvC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;wBAChC,MAAM;oBACV;wBACI,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,WAAW,CAAC;wBACvC,MAAM;gBACd,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,cAAc,IACX,YAAY,EAAE,kBAAkB,EAChC,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,kBAAkB,YAE9B,eAAK,SAAS,EAAC,yBAAyB,aACpC,KAAC,SAAS,KAAG,EACb,KAAC,SAAS,KAAG,EACb,KAAC,WAAW,KAAG,IACb,GACO,CACpB,CAAA;AACL,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VInteractionFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/VInteractionFacet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAe,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,KAAK,EAAe,MAAM,mBAAmB,CAAC;AAcvD,MAAM,UAAU,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAyB;IACnF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;QAC1B,KAAK,EAAE,MAAM,CAAC,GAAG;KACpB,CAAC,CAAC,CAAC;IAEJ,MAAM,WAAW,GAAgB;QAC7B,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,WAAW,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC7E,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,aAAa,EAAE,CAAC,aAAqB,EAAE,EAAE;YACrC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,aAAa,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAG,MAAM,EAAE,IAAI,IAAI,aAAa,CAAC;YAElD,0CAA0C;YAC1C,IAAI,YAAY,GAA4C,SAAS,CAAC;YACtE,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;gBACjB,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;oBACpB,KAAK,iBAAiB,CAAC,SAAS;wBAC5B,YAAY,GAAG,SAAS,CAAC;wBACzB,MAAM;oBACV,KAAK,iBAAiB,CAAC,QAAQ;wBAC3B,YAAY,GAAG,aAAa,CAAC;wBAC7B,MAAM;oBACV;wBACI,YAAY,GAAG,WAAW,CAAC;wBAC3B,MAAM;gBACd,CAAC;YACL,CAAC;YAED,MAAM,SAAS,GAAG,MAAM,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,CAAC,CAAC;gBACjD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACvC,MAAM,EAAE,MAAM,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEpE,OAAO,CACH,eAAK,SAAS,EAAC,0CAA0C,aACrD,eAAK,SAAS,EAAC,2DAA2D,aACtE,eAAM,SAAS,EAAC,kBAAkB,YAAE,WAAW,GAAQ,EACtD,SAAS,IAAI,CACV,KAAC,KAAK,IAAC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAC,eAAe,YAClD,SAAS,GACN,CACX,IACC,EACN,gBAAM,SAAS,EAAC,uBAAuB,kBAAG,MAAM,EAAE,KAAK,IAAI,CAAC,SAAS,IACnE,CACT,CAAC;QACN,CAAC;QACD,QAAQ,EAAE,CAAC,WAAmB,EAAE,UAAkB,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,WAAW,CAAC,CAAC;YACxD,MAAM,UAAU,GAAG,MAAM,EAAE,IAAI,IAAI,WAAW,CAAC;YAC/C,OAAO,UAAU,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,CAAC;KACJ,CAAC;IAEF,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VStringFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/VStringFacet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAY3C,MAAM,UAAU,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAoB;IACvH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACrC,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC;QAC/B,KAAK,EAAE,MAAM,CAAC,GAAG;KACpB,CAAC,CAAC,CAAC;IAEJ,MAAM,WAAW,GAAgB;QAC7B,IAAI,EAAE,IAAI;QACV,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;QAClB,WAAW,EAAE,GAAG,WAAW,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QAClF,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;KAC9B,CAAC;IAEF,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAQxE;IACG,OAAO,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VTypeFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/VTypeFacet.tsx"],"names":[],"mappings":";AAUA,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,GAAG,QAAQ,EAAE,QAAQ,GAAG,KAAK,EAAmB;IACpG,0DAA0D;IAC1D,MAAM,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACvB,IAAI,IAAI,CAAC;QACT,IAAI,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC;QAExB,IAAI,MAAM,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,GAAG,UAAU,CAAC;YACpB,IAAI,GAAG,UAAU,CAAC;QACtB,CAAC;aAAM,CAAC;YACJ,IAAI,GAAG,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5C,IAAI,CAAC,IAAI,EAAE,CAAC;gBACR,OAAO,CAAC,IAAI,CAAC,+BAA+B,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1D,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;YACtB,CAAC;QACL,CAAC;QAED,WAAW,CAAC,GAAG,CAAC,MAAM,EAAE;YACpB,IAAI;YACJ,KAAK,EAAE,MAAM,CAAC,KAAK;SACtB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnC,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,IAAI,UAAU,CAAC;QACxC,OAAO;YACH,KAAK,EAAE,MAAM;YACb,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;SAC7B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAgB;QACpC,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,OAAO;QACpB,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE,CAAC,MAAc,EAAE,EAAE;YAC9B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;gBAClD,OAAO,MAAM,CAAC;YAClB,CAAC;YAED,OAAO,CACH,eAAK,SAAS,EAAC,0BAA0B,aACrC,eAAM,SAAS,EAAC,kBAAkB,YAAE,QAAQ,CAAC,IAAI,GAAQ,EACzD,gBAAM,SAAS,EAAC,cAAc,kBAAG,QAAQ,CAAC,KAAK,SAAS,IACtD,CACT,CAAC;QACN,CAAC;QACD,QAAQ,EAAE,CAAC,WAAmB,EAAE,UAAkB,EAAE,EAAE;YAClD,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,2BAA2B,WAAW,EAAE,CAAC,CAAC;gBACvD,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC;QAC1E,CAAC;KACJ,CAAC;IAEF,OAAO,kBAAkB,CAAC;AAC9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VUserFacet.js","sourceRoot":"","sources":["../../../../src/features/facets/VUserFacet.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAQ5C,MAAM,UAAU,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAkB;IAChF,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACnC,OAAO;YACH,KAAK,EAAE,MAAM,CAAC,GAAG;YACjB,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,GAAG;SAC7B,CAAC;IACN,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAgB;QAC7B,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,WAAW,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC7E,OAAO,EAAE,OAAO;QAChB,aAAa,EAAE,CAAC,OAAe,EAAE,EAAE;YAC/B,MAAM,aAAa,GAAG,OAAO,KAAK,cAAc,IAAI,CAAC,OAAO,CAAC;YAE7D,IAAI,aAAa,EAAE,CAAC;gBAChB,4CAA4C;gBAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;gBACpD,OAAO,iBAAiB,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC;YAClD,CAAC;YAED,8CAA8C;YAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC;YACpD,OAAO,CACH,eAAK,SAAS,EAAC,gCAAgC,aAC3C,cAAK,SAAS,EAAC,2CAA2C,YACtD,KAAC,QAAQ,IAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAC,IAAI,GAAG,GACvD,EACN,gBAAM,SAAS,EAAC,qCAAqC,kBAAG,MAAM,EAAE,KAAK,IAAI,CAAC,SAAS,IACjF,CACT,CAAC;QACN,CAAC;KACJ,CAAC;IAEF,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAkB;IACrE,OAAO,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACjE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/features/facets/utils.tsx"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,MAAmB;IAChD,OAAO,GAAG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAuB;IACxD,OAAO,GAAG,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC;AAC9C,CAAC"}