@vertesia/ui 0.78.0 → 0.79.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 (212) hide show
  1. package/lib/esm/core/components/SelectList.js +18 -13
  2. package/lib/esm/core/components/SelectList.js.map +1 -1
  3. package/lib/esm/core/components/SidePanel.js +1 -1
  4. package/lib/esm/core/components/SidePanel.js.map +1 -1
  5. package/lib/esm/core/components/shadcn/filters/filterBar.js +39 -12
  6. package/lib/esm/core/components/shadcn/filters/filterBar.js.map +1 -1
  7. package/lib/esm/core/components/shadcn/index.js +1 -0
  8. package/lib/esm/core/components/shadcn/index.js.map +1 -1
  9. package/lib/esm/core/components/shadcn/resizeable.js +15 -0
  10. package/lib/esm/core/components/shadcn/resizeable.js.map +1 -0
  11. package/lib/esm/core/components/shadcn/tabs.js +11 -6
  12. package/lib/esm/core/components/shadcn/tabs.js.map +1 -1
  13. package/lib/esm/core/components/table/index.js +1 -1
  14. package/lib/esm/core/components/table/index.js.map +1 -1
  15. package/lib/esm/features/facets/CollectionsFacetsNav.js +66 -0
  16. package/lib/esm/features/facets/CollectionsFacetsNav.js.map +1 -0
  17. package/lib/esm/features/facets/DocumentsFacetsNav.js +19 -7
  18. package/lib/esm/features/facets/DocumentsFacetsNav.js.map +1 -1
  19. package/lib/esm/features/facets/EnvironmentFacet.js +1 -1
  20. package/lib/esm/features/facets/EnvironmentFacet.js.map +1 -1
  21. package/lib/esm/features/facets/InteractionsFacetsNav.js +82 -0
  22. package/lib/esm/features/facets/InteractionsFacetsNav.js.map +1 -0
  23. package/lib/esm/features/facets/PromptsFacetsNav.js +80 -0
  24. package/lib/esm/features/facets/PromptsFacetsNav.js.map +1 -0
  25. package/lib/esm/features/facets/RunsFacetsNav.js +28 -6
  26. package/lib/esm/features/facets/RunsFacetsNav.js.map +1 -1
  27. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js +7 -5
  28. package/lib/esm/features/facets/WorkflowExecutionsFacetsNav.js.map +1 -1
  29. package/lib/esm/features/facets/index.js +10 -8
  30. package/lib/esm/features/facets/index.js.map +1 -1
  31. package/lib/esm/features/facets/utils/SearchInterface.js +2 -0
  32. package/lib/esm/features/facets/utils/SearchInterface.js.map +1 -0
  33. package/lib/esm/features/facets/utils/StringFacet.js.map +1 -0
  34. package/lib/esm/features/facets/utils/StringListFacet.js.map +1 -0
  35. package/lib/esm/features/facets/utils/TypeFacet.js.map +1 -0
  36. package/lib/esm/features/facets/utils/VEnvironmentFacet.js.map +1 -0
  37. package/lib/esm/features/facets/utils/VInteractionFacet.js.map +1 -0
  38. package/lib/esm/features/facets/utils/VStringFacet.js.map +1 -0
  39. package/lib/esm/features/facets/{VTypeFacet.js → utils/VTypeFacet.js} +5 -3
  40. package/lib/esm/features/facets/utils/VTypeFacet.js.map +1 -0
  41. package/lib/esm/features/facets/{VUserFacet.js → utils/VUserFacet.js} +1 -1
  42. package/lib/esm/features/facets/utils/VUserFacet.js.map +1 -0
  43. package/lib/esm/features/facets/utils/utils.js.map +1 -0
  44. package/lib/esm/features/store/collections/EditCollectionView.js +14 -1
  45. package/lib/esm/features/store/collections/EditCollectionView.js.map +1 -1
  46. package/lib/esm/features/store/collections/SelectCollection.js +47 -18
  47. package/lib/esm/features/store/collections/SelectCollection.js.map +1 -1
  48. package/lib/esm/features/store/objects/DocumentSearchResults.js +9 -5
  49. package/lib/esm/features/store/objects/DocumentSearchResults.js.map +1 -1
  50. package/lib/esm/features/store/objects/components/ContentOverview.js +172 -78
  51. package/lib/esm/features/store/objects/components/ContentOverview.js.map +1 -1
  52. package/lib/esm/features/store/objects/components/DocumentIcon.js +6 -0
  53. package/lib/esm/features/store/objects/components/DocumentIcon.js.map +1 -1
  54. package/lib/esm/features/store/objects/layout/documentLayout.js +3 -4
  55. package/lib/esm/features/store/objects/layout/documentLayout.js.map +1 -1
  56. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js +2 -2
  57. package/lib/esm/features/store/objects/selection/actions/AddToCollectionAction.js.map +1 -1
  58. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js +1 -1
  59. package/lib/esm/features/store/objects/upload/DocumentUploadModal.js.map +1 -1
  60. package/lib/esm/features/store/types/ObjectSchemaEditor.js +1 -1
  61. package/lib/esm/features/store/types/ObjectSchemaEditor.js.map +1 -1
  62. package/lib/esm/features/user/UserInfo.js +33 -1
  63. package/lib/esm/features/user/UserInfo.js.map +1 -1
  64. package/lib/esm/shell/login/UserInfo.js +1 -1
  65. package/lib/esm/shell/login/UserInfo.js.map +1 -1
  66. package/lib/esm/widgets/schema-editor/index.js +0 -1
  67. package/lib/esm/widgets/schema-editor/index.js.map +1 -1
  68. package/lib/tsconfig.tsbuildinfo +1 -1
  69. package/lib/types/core/components/SelectList.d.ts +2 -1
  70. package/lib/types/core/components/SelectList.d.ts.map +1 -1
  71. package/lib/types/core/components/SidePanel.d.ts.map +1 -1
  72. package/lib/types/core/components/shadcn/filters/filterBar.d.ts.map +1 -1
  73. package/lib/types/core/components/shadcn/index.d.ts +1 -0
  74. package/lib/types/core/components/shadcn/index.d.ts.map +1 -1
  75. package/lib/types/core/components/shadcn/resizeable.d.ts +9 -0
  76. package/lib/types/core/components/shadcn/resizeable.d.ts.map +1 -0
  77. package/lib/types/core/components/shadcn/tabs.d.ts +2 -1
  78. package/lib/types/core/components/shadcn/tabs.d.ts.map +1 -1
  79. package/lib/types/features/facets/CollectionsFacetsNav.d.ts +14 -0
  80. package/lib/types/features/facets/CollectionsFacetsNav.d.ts.map +1 -0
  81. package/lib/types/features/facets/DocumentsFacetsNav.d.ts +1 -1
  82. package/lib/types/features/facets/DocumentsFacetsNav.d.ts.map +1 -1
  83. package/lib/types/features/facets/InteractionsFacetsNav.d.ts +13 -0
  84. package/lib/types/features/facets/InteractionsFacetsNav.d.ts.map +1 -0
  85. package/lib/types/features/facets/PromptsFacetsNav.d.ts +15 -0
  86. package/lib/types/features/facets/PromptsFacetsNav.d.ts.map +1 -0
  87. package/lib/types/features/facets/RunsFacetsNav.d.ts +1 -1
  88. package/lib/types/features/facets/RunsFacetsNav.d.ts.map +1 -1
  89. package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts +1 -1
  90. package/lib/types/features/facets/WorkflowExecutionsFacetsNav.d.ts.map +1 -1
  91. package/lib/types/features/facets/index.d.ts +10 -8
  92. package/lib/types/features/facets/index.d.ts.map +1 -1
  93. package/lib/types/features/facets/{VFacetsNav.d.ts → utils/SearchInterface.d.ts} +1 -8
  94. package/lib/types/features/facets/utils/SearchInterface.d.ts.map +1 -0
  95. package/lib/types/features/facets/utils/StringFacet.d.ts.map +1 -0
  96. package/lib/types/features/facets/utils/StringListFacet.d.ts.map +1 -0
  97. package/lib/types/features/facets/utils/TypeFacet.d.ts.map +1 -0
  98. package/lib/types/features/facets/utils/VEnvironmentFacet.d.ts.map +1 -0
  99. package/lib/types/features/facets/utils/VInteractionFacet.d.ts.map +1 -0
  100. package/lib/types/features/facets/utils/VStringFacet.d.ts.map +1 -0
  101. package/lib/types/features/facets/utils/VTypeFacet.d.ts.map +1 -0
  102. package/lib/types/features/facets/utils/VUserFacet.d.ts.map +1 -0
  103. package/lib/types/features/facets/utils/utils.d.ts.map +1 -0
  104. package/lib/types/features/store/collections/EditCollectionView.d.ts.map +1 -1
  105. package/lib/types/features/store/collections/SelectCollection.d.ts +10 -8
  106. package/lib/types/features/store/collections/SelectCollection.d.ts.map +1 -1
  107. package/lib/types/features/store/objects/DocumentSearchResults.d.ts.map +1 -1
  108. package/lib/types/features/store/objects/components/ContentOverview.d.ts.map +1 -1
  109. package/lib/types/features/store/objects/components/DocumentIcon.d.ts +4 -0
  110. package/lib/types/features/store/objects/components/DocumentIcon.d.ts.map +1 -1
  111. package/lib/types/features/store/objects/layout/documentLayout.d.ts.map +1 -1
  112. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts +1 -3
  113. package/lib/types/features/store/objects/search/DocumentSearchContext.d.ts.map +1 -1
  114. package/lib/types/features/store/objects/upload/DocumentUploadModal.d.ts.map +1 -1
  115. package/lib/types/features/user/UserInfo.d.ts +12 -1
  116. package/lib/types/features/user/UserInfo.d.ts.map +1 -1
  117. package/lib/types/widgets/schema-editor/index.d.ts +0 -1
  118. package/lib/types/widgets/schema-editor/index.d.ts.map +1 -1
  119. package/lib/vertesia-ui-core.js +1 -1
  120. package/lib/vertesia-ui-core.js.map +1 -1
  121. package/lib/vertesia-ui-features.js +1 -1
  122. package/lib/vertesia-ui-features.js.map +1 -1
  123. package/lib/vertesia-ui-shell.js +1 -1
  124. package/lib/vertesia-ui-shell.js.map +1 -1
  125. package/lib/vertesia-ui-widgets.js +1 -1
  126. package/lib/vertesia-ui-widgets.js.map +1 -1
  127. package/package.json +5 -4
  128. package/src/core/components/SelectList.tsx +11 -1
  129. package/src/core/components/SidePanel.tsx +13 -10
  130. package/src/core/components/shadcn/filters/filterBar.tsx +46 -20
  131. package/src/core/components/shadcn/index.ts +1 -0
  132. package/src/core/components/shadcn/resizeable.tsx +54 -0
  133. package/src/core/components/shadcn/tabs.tsx +16 -6
  134. package/src/core/components/table/index.tsx +1 -1
  135. package/src/features/facets/CollectionsFacetsNav.tsx +94 -0
  136. package/src/features/facets/DocumentsFacetsNav.tsx +22 -11
  137. package/src/features/facets/EnvironmentFacet.tsx +1 -1
  138. package/src/features/facets/InteractionsFacetsNav.tsx +111 -0
  139. package/src/features/facets/PromptsFacetsNav.tsx +110 -0
  140. package/src/features/facets/RunsFacetsNav.tsx +40 -9
  141. package/src/features/facets/WorkflowExecutionsFacetsNav.tsx +10 -8
  142. package/src/features/facets/index.ts +11 -9
  143. package/src/features/facets/utils/SearchInterface.tsx +8 -0
  144. package/src/features/facets/{VTypeFacet.tsx → utils/VTypeFacet.tsx} +6 -3
  145. package/src/features/facets/{VUserFacet.tsx → utils/VUserFacet.tsx} +1 -1
  146. package/src/features/store/collections/EditCollectionView.tsx +14 -1
  147. package/src/features/store/collections/SelectCollection.tsx +160 -31
  148. package/src/features/store/objects/DocumentSearchResults.tsx +42 -37
  149. package/src/features/store/objects/components/ContentOverview.tsx +432 -261
  150. package/src/features/store/objects/components/DocumentIcon.tsx +31 -1
  151. package/src/features/store/objects/layout/documentLayout.tsx +3 -7
  152. package/src/features/store/objects/selection/actions/AddToCollectionAction.tsx +15 -8
  153. package/src/features/store/objects/upload/DocumentUploadModal.tsx +5 -6
  154. package/src/features/store/types/ObjectSchemaEditor.tsx +1 -1
  155. package/src/features/user/UserInfo.tsx +66 -3
  156. package/src/shell/login/UserInfo.tsx +1 -1
  157. package/src/widgets/schema-editor/index.ts +0 -1
  158. package/lib/esm/features/facets/FacetsNav.js +0 -8
  159. package/lib/esm/features/facets/FacetsNav.js.map +0 -1
  160. package/lib/esm/features/facets/StringFacet.js.map +0 -1
  161. package/lib/esm/features/facets/StringListFacet.js.map +0 -1
  162. package/lib/esm/features/facets/TypeFacet.js.map +0 -1
  163. package/lib/esm/features/facets/VEnvironmentFacet.js.map +0 -1
  164. package/lib/esm/features/facets/VFacetsNav.js +0 -48
  165. package/lib/esm/features/facets/VFacetsNav.js.map +0 -1
  166. package/lib/esm/features/facets/VInteractionFacet.js.map +0 -1
  167. package/lib/esm/features/facets/VStringFacet.js.map +0 -1
  168. package/lib/esm/features/facets/VTypeFacet.js.map +0 -1
  169. package/lib/esm/features/facets/VUserFacet.js.map +0 -1
  170. package/lib/esm/features/facets/utils.js.map +0 -1
  171. package/lib/esm/widgets/schema-editor/JSONSchemaEditorModal.js +0 -49
  172. package/lib/esm/widgets/schema-editor/JSONSchemaEditorModal.js.map +0 -1
  173. package/lib/types/features/facets/FacetsNav.d.ts +0 -7
  174. package/lib/types/features/facets/FacetsNav.d.ts.map +0 -1
  175. package/lib/types/features/facets/StringFacet.d.ts.map +0 -1
  176. package/lib/types/features/facets/StringListFacet.d.ts.map +0 -1
  177. package/lib/types/features/facets/TypeFacet.d.ts.map +0 -1
  178. package/lib/types/features/facets/VEnvironmentFacet.d.ts.map +0 -1
  179. package/lib/types/features/facets/VFacetsNav.d.ts.map +0 -1
  180. package/lib/types/features/facets/VInteractionFacet.d.ts.map +0 -1
  181. package/lib/types/features/facets/VStringFacet.d.ts.map +0 -1
  182. package/lib/types/features/facets/VTypeFacet.d.ts.map +0 -1
  183. package/lib/types/features/facets/VUserFacet.d.ts.map +0 -1
  184. package/lib/types/features/facets/utils.d.ts.map +0 -1
  185. package/lib/types/widgets/schema-editor/JSONSchemaEditorModal.d.ts +0 -10
  186. package/lib/types/widgets/schema-editor/JSONSchemaEditorModal.d.ts.map +0 -1
  187. package/src/features/facets/FacetsNav.tsx +0 -19
  188. package/src/features/facets/VFacetsNav.tsx +0 -81
  189. package/src/widgets/schema-editor/JSONSchemaEditorModal.tsx +0 -67
  190. /package/lib/esm/features/facets/{StringFacet.js → utils/StringFacet.js} +0 -0
  191. /package/lib/esm/features/facets/{StringListFacet.js → utils/StringListFacet.js} +0 -0
  192. /package/lib/esm/features/facets/{TypeFacet.js → utils/TypeFacet.js} +0 -0
  193. /package/lib/esm/features/facets/{VEnvironmentFacet.js → utils/VEnvironmentFacet.js} +0 -0
  194. /package/lib/esm/features/facets/{VInteractionFacet.js → utils/VInteractionFacet.js} +0 -0
  195. /package/lib/esm/features/facets/{VStringFacet.js → utils/VStringFacet.js} +0 -0
  196. /package/lib/esm/features/facets/{utils.js → utils/utils.js} +0 -0
  197. /package/lib/types/features/facets/{StringFacet.d.ts → utils/StringFacet.d.ts} +0 -0
  198. /package/lib/types/features/facets/{StringListFacet.d.ts → utils/StringListFacet.d.ts} +0 -0
  199. /package/lib/types/features/facets/{TypeFacet.d.ts → utils/TypeFacet.d.ts} +0 -0
  200. /package/lib/types/features/facets/{VEnvironmentFacet.d.ts → utils/VEnvironmentFacet.d.ts} +0 -0
  201. /package/lib/types/features/facets/{VInteractionFacet.d.ts → utils/VInteractionFacet.d.ts} +0 -0
  202. /package/lib/types/features/facets/{VStringFacet.d.ts → utils/VStringFacet.d.ts} +0 -0
  203. /package/lib/types/features/facets/{VTypeFacet.d.ts → utils/VTypeFacet.d.ts} +0 -0
  204. /package/lib/types/features/facets/{VUserFacet.d.ts → utils/VUserFacet.d.ts} +0 -0
  205. /package/lib/types/features/facets/{utils.d.ts → utils/utils.d.ts} +0 -0
  206. /package/src/features/facets/{StringFacet.tsx → utils/StringFacet.tsx} +0 -0
  207. /package/src/features/facets/{StringListFacet.tsx → utils/StringListFacet.tsx} +0 -0
  208. /package/src/features/facets/{TypeFacet.tsx → utils/TypeFacet.tsx} +0 -0
  209. /package/src/features/facets/{VEnvironmentFacet.tsx → utils/VEnvironmentFacet.tsx} +0 -0
  210. /package/src/features/facets/{VInteractionFacet.tsx → utils/VInteractionFacet.tsx} +0 -0
  211. /package/src/features/facets/{VStringFacet.tsx → utils/VStringFacet.tsx} +0 -0
  212. /package/src/features/facets/{utils.tsx → utils/utils.tsx} +0 -0
@@ -15,6 +15,36 @@ interface DocumentIconProps {
15
15
  selection: DocumentSelection;
16
16
  onRowClick?: (object: ContentObjectItem) => void;
17
17
  }
18
+
19
+ export function DocumentIconSkeleton({ isLoading = false, counts = 6 }: { isLoading?: boolean, counts?: number }) {
20
+ if (!isLoading) {
21
+ return null
22
+ }
23
+ return (
24
+ <div className='flex flex-wrap gap-2 justify-between'>
25
+ {Array(counts).fill(0).map((_, index) =>
26
+ <div key={index} className="w-[15vw] animate-pulse">
27
+ <Card className="relative flex flex-col border h-fit">
28
+ <div className="h-48 bg-muted rounded-t-xl flex items-center justify-center text-muted">
29
+ &nbsp;
30
+ </div>
31
+ <Separator className='bg-muted h-[2px]' />
32
+ <CardContent className="p-2 flex flex-col">
33
+ <div className="flex flex-col overflow-hidden">
34
+ <div className="h-5 bg-muted rounded w-3/4 mb-2"></div>
35
+ <div className="h-4 bg-muted rounded w-1/2"></div>
36
+ </div>
37
+ <div className="text-xs text-muted w-full flex justify-end mt-2">
38
+ <div className="h-3 bg-muted rounded w-1/4"></div>
39
+ </div>
40
+ </CardContent>
41
+ </Card>
42
+ </div>
43
+ )}
44
+ </div>
45
+ )
46
+ }
47
+
18
48
  export function DocumentIcon({ selection, document, onSelectionChange, onRowClick }: Readonly<DocumentIconProps>) {
19
49
  const { client } = useUserSession()
20
50
 
@@ -95,7 +125,7 @@ export function DocumentIcon({ selection, document, onSelectionChange, onRowClic
95
125
  }
96
126
  </div>
97
127
  {document.score && (
98
- <div className="text-xs text-muted w-full flex justify-end">
128
+ <div className="text-xs text-muted w-full flex justify-end">
99
129
  Score: {(document.score).toFixed(4) ?? "-"}
100
130
  </div>
101
131
  )}
@@ -1,8 +1,7 @@
1
- import { Table, TBody, Spinner } from "@vertesia/ui/core";
1
+ import { Table, TBody } from "@vertesia/ui/core";
2
2
  import { ContentObjectItem, ColumnLayout } from "@vertesia/common";
3
- import clsx from "clsx";
4
3
  import { ChangeEvent } from "react";
5
- import { DocumentIcon } from "../components/DocumentIcon";
4
+ import { DocumentIcon, DocumentIconSkeleton } from "../components/DocumentIcon";
6
5
  import { DocumentSelection } from "../DocumentSelectionProvider";
7
6
  import { DocumentTableColumn } from "./DocumentTableColumn";
8
7
 
@@ -53,12 +52,9 @@ export function DocumentTableView({ objects, selection, isLoading, onRowClick, c
53
52
  }
54
53
 
55
54
  export function DocumentGridView({ objects, selection, isLoading, onSelectionChange, onRowClick }: ViewProps) {
56
-
57
55
  return (
58
56
  <>
59
- <div className={clsx("bg-white opacity-40 absolute inset-0 z-50 flex justify-center items-center", isLoading ? "block" : "hidden")}>
60
- <Spinner size='xl' />
61
- </div>
57
+ <DocumentIconSkeleton isLoading={isLoading} />
62
58
  <div className="w-full gap-2 grid lg:grid-cols-6">
63
59
  {objects.map((document) => (
64
60
  <DocumentIcon key={document.id} document={document} selection={selection} onSelectionChange={onSelectionChange} onRowClick={onRowClick} />
@@ -41,14 +41,16 @@ interface SelectCollectionModalProps {
41
41
  }
42
42
  function SelectCollectionModal({ isOpen, onClose, objectIds }: SelectCollectionModalProps) {
43
43
  return (
44
- <VModal isOpen={isOpen} onClose={onClose}>
45
- <VModalTitle className="flex flex-col">
44
+ <VModal isOpen={isOpen} onClose={onClose} className="max-w-lg w-full min-w-0 overflow-hidden">
45
+ <VModalTitle className="flex flex-col min-w-0 overflow-hidden">
46
46
  Add to a Collection
47
47
  </VModalTitle>
48
- <DialogDescription>
48
+ <DialogDescription className="min-w-0 overflow-hidden">
49
49
  Add the selected objects to an existing collection or create a new one.
50
50
  </DialogDescription>
51
- <AddToCollectionForm onClose={onClose} objectIds={objectIds} />
51
+ <div className="min-w-0 max-w-full overflow-hidden">
52
+ <AddToCollectionForm onClose={onClose} objectIds={objectIds} />
53
+ </div>
52
54
  </VModal>
53
55
  )
54
56
  }
@@ -92,13 +94,18 @@ function AddToCollectionForm({ onClose, objectIds }: AddToCollectionFormProps) {
92
94
  name: 'select',
93
95
  label: 'Select Collection',
94
96
  content: (
95
- <div className="p-4">
97
+ <div className="p-4 min-w-0 max-w-full overflow-hidden">
96
98
  <Heading level={5}>Choose from existing collections</Heading>
97
- <VModalBody>
98
- <SelectCollection onChange={onCollectionChange} value={selectedCollectionId} className="mb-4" />
99
+ <VModalBody className="min-w-0 max-w-full overflow-hidden">
100
+ <div className="mb-4 min-w-0 max-w-full overflow-hidden">
101
+ <SelectCollection onChange={onCollectionChange} value={selectedCollectionId} />
102
+ </div>
99
103
  </VModalBody>
100
104
  <VModalFooter>
101
- <Button isDisabled={!selectedCollectionId} onClick={() => selectedCollectionId && onAddToCollection({ collectionId: selectedCollectionId })}>
105
+ <Button
106
+ isDisabled={!selectedCollectionId}
107
+ onClick={() => selectedCollectionId && onAddToCollection({ collectionId: selectedCollectionId })}
108
+ >
102
109
  Add to Collection
103
110
  </Button>
104
111
  </VModalFooter>
@@ -114,12 +114,11 @@ export function DocumentUploadModal({
114
114
  if (!collectionData && !selectedFolder) return null;
115
115
 
116
116
  return (
117
- <div className="mb-4 p-3 bg-primary rounded-md border border-primary">
118
- <div className="flex items-center text-primary">
119
- <FolderIcon className="size-5 mr-2" />
117
+ <MessageBox className="mb-4" status="default" icon={<FolderIcon className="size-5" />}>
118
+ <div className="flex items-center">
120
119
  <span className="font-medium">Upload Location:</span>
121
120
  </div>
122
- <div className="ml-7 text-sm text-primary mt-1">
121
+ <div className="text-sm mt-1">
123
122
  {collectionData && (
124
123
  <div className="flex items-center">
125
124
  <span className="mr-1">Collection:</span>
@@ -133,7 +132,7 @@ export function DocumentUploadModal({
133
132
  </div>
134
133
  )}
135
134
  </div>
136
- </div>
135
+ </MessageBox>
137
136
  );
138
137
  };
139
138
 
@@ -167,7 +166,7 @@ export function DocumentUploadModal({
167
166
  setResult(null);
168
167
  setTitle(title);
169
168
  setDescription("");
170
-
169
+
171
170
  // Set initial files if provided
172
171
  if (initialFiles && initialFiles.length > 0) {
173
172
  setFiles(initialFiles);
@@ -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
  }
@@ -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,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,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"}
@@ -1,49 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { json } from "@codemirror/lang-json";
3
- import { CodeMirrorEditor } from "../codemirror";
4
- import { Button, VModal, VModalBody, VModalFooter, VModalTitle, useToast } from "@vertesia/ui/core";
5
- import { basicSetup } from "codemirror";
6
- import { useMemo, useRef } from "react";
7
- import { JSONCode } from '../json-view';
8
- function contentToJSON(content) {
9
- if (!content)
10
- return undefined;
11
- content = content.trim();
12
- if (!content)
13
- return undefined;
14
- return JSON.parse(content);
15
- }
16
- function jsonToContent(json) {
17
- if (!json)
18
- return '';
19
- return JSON.stringify(json, null, 2);
20
- }
21
- const extensions = [basicSetup, json()];
22
- export function JSONSchemaEditorModal({ schema, isOpen, onClose, readonly = false }) {
23
- const editorRef = useRef(undefined);
24
- const toast = useToast();
25
- const value = useMemo(() => {
26
- return jsonToContent(schema.schema);
27
- }, [schema]);
28
- const onSaveChanges = () => {
29
- if (editorRef.current) {
30
- const value = editorRef.current.getValue();
31
- try {
32
- const newSchema = contentToJSON(value);
33
- schema.replaceSchema(newSchema);
34
- onClose();
35
- }
36
- catch (err) {
37
- toast({
38
- status: 'error',
39
- title: 'Invalid JSON Schema',
40
- description: err.message,
41
- duration: 5000
42
- });
43
- }
44
- }
45
- };
46
- return (_jsxs(VModal, { onClose: onClose, isOpen: !!isOpen, className: 'min-w-[60vw]', children: [_jsx(VModalTitle, { children: "JSON Schema Editor" }), _jsx(VModalBody, { children: !readonly ? _jsx(CodeMirrorEditor, { value: value, extensions: extensions, editorRef: editorRef })
47
- : _jsx(JSONCode, { data: schema.schema || {} }) }), _jsx(VModalFooter, { children: !readonly ? _jsx(Button, { onClick: onSaveChanges, children: "Save changes" }) : null })] }));
48
- }
49
- //# sourceMappingURL=JSONSchemaEditorModal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JSONSchemaEditorModal.js","sourceRoot":"","sources":["../../../../src/widgets/schema-editor/JSONSchemaEditorModal.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,gBAAgB,EAAa,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,SAAS,aAAa,CAAC,OAAkC;IACrD,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,aAAa,CAAC,IAA4B;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;AAQvC,MAAM,UAAU,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,KAAK,EAA8B;IAC3G,MAAM,SAAS,GAAG,MAAM,CAAwB,SAAS,CAAC,CAAC;IAC3D,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IAEzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACvB,OAAO,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAA;IAEZ,MAAM,aAAa,GAAG,GAAG,EAAE;QACvB,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;YAC3C,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;gBACvC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;gBAChC,OAAO,EAAE,CAAC;YACd,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAChB,KAAK,CAAC;oBACF,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,qBAAqB;oBAC5B,WAAW,EAAE,GAAG,CAAC,OAAO;oBACxB,QAAQ,EAAE,IAAI;iBACjB,CAAC,CAAA;YACN,CAAC;QACL,CAAC;IACL,CAAC,CAAA;IAED,OAAO,CACH,MAAC,MAAM,IAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,SAAS,EAAC,cAAc,aAChE,KAAC,WAAW,qCAAiC,EAC7C,KAAC,UAAU,cACN,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,gBAAgB,IAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,GAAI;oBACzF,CAAC,CAAC,KAAC,QAAQ,IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,IAAI,EAAE,GAAI,GACpC,EACb,KAAC,YAAY,cACR,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAC,MAAM,IAAC,OAAO,EAAE,aAAa,6BAAuB,CAAC,CAAC,CAAC,IAAI,GAC9D,IACV,CACZ,CAAA;AACL,CAAC"}
@@ -1,7 +0,0 @@
1
- interface FacetsNavProps {
2
- facets: any;
3
- search: any;
4
- }
5
- export declare function FacetsNav({ facets, search }: FacetsNavProps): import("react/jsx-runtime").JSX.Element;
6
- export {};
7
- //# sourceMappingURL=FacetsNav.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FacetsNav.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/FacetsNav.tsx"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;CACf;AACD,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,cAAc,2CAU3D"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/StringFacet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,UAAU,gBAAgB;IACtB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAW9F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StringListFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/StringListFacet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,UAAU,oBAAoB;IAC1B,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAU7F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TypeFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/TypeFacet.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAI/C,UAAU,eAAe;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,UAEvD;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AACD,wBAAgB,SAAS,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,WAA8B,EAAE,SAAS,EAAE,EAAE,cAAc,2CAqCvG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VEnvironmentFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/VEnvironmentFacet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,UAAU,mBAAoB,SAAQ,WAAW;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,qBAAqB;IAC3B,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,qBAAqB,GAAG,WAAW,CA6BvF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VFacetsNav.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/VFacetsNav.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;IAClC,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC;IAC/C,YAAY,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClE,MAAM,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B;AAED,UAAU,cAAc;IACpB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,eAAe,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,wBAAgB,UAAU,CAAC,EAAE,MAAM,EAAE,UAAe,EAAE,EAAE,cAAc,2CA+DrE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VInteractionFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/VInteractionFacet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAqB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAS,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEvD,UAAU,mBAAoB,SAAQ,WAAW;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,qBAAqB;IAC3B,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,qBAAqB,GAAG,WAAW,CAyDpG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VStringFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/VStringFacet.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,UAAU,gBAAgB;IACtB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAe,EAAE,QAAgB,EAAE,EAAE,gBAAgB,GAAG,WAAW,CAgBxI;AAED,wBAAgB,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;IACzE,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,eAEA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VTypeFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/VTypeFacet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,UAAU,eAAe;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,YAAY,EAAE,GAAG,CAAC;IAClB,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,IAAe,EAAE,QAAgB,EAAE,EAAE,eAAe,eA+DvG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"VUserFacet.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/VUserFacet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,UAAU,cAAc;IACpB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,qBAAqB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,GAAG,WAAW,CAmCjG;AAED,wBAAgB,UAAU,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,cAAc,eAExE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/features/facets/utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEhE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,UAEnD;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,UAE3D"}
@@ -1,10 +0,0 @@
1
- import { ManagedSchema } from "./ManagedSchema.js";
2
- interface JSONSchemaEditorModalProps {
3
- schema: ManagedSchema;
4
- isOpen?: boolean;
5
- onClose: () => void;
6
- readonly?: boolean;
7
- }
8
- export declare function JSONSchemaEditorModal({ schema, isOpen, onClose, readonly }: JSONSchemaEditorModalProps): import("react/jsx-runtime").JSX.Element;
9
- export {};
10
- //# sourceMappingURL=JSONSchemaEditorModal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JSONSchemaEditorModal.d.ts","sourceRoot":"","sources":["../../../../src/widgets/schema-editor/JSONSchemaEditorModal.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAiBnD,UAAU,0BAA0B;IAChC,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AACD,wBAAgB,qBAAqB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAgB,EAAE,EAAE,0BAA0B,2CAsC9G"}
@@ -1,19 +0,0 @@
1
- import { StringFacet } from './StringFacet';
2
- import { StringListFacet } from './StringListFacet';
3
- import { TypeFacet } from './TypeFacet';
4
-
5
- interface FacetsNavProps {
6
- facets: any;
7
- search: any;
8
- }
9
- export function FacetsNav({ facets, search }: FacetsNavProps) {
10
- return (
11
- <div className='flex items-center gap-x-4 w-full'>
12
- {facets.role && <StringFacet search={search} className="flex-1" name="role" buckets={facets.role || []} placeholder="Filter by Role" />}
13
- {facets.type && <TypeFacet search={search} className="flex-1" buckets={facets.type || []} />}
14
- {facets.status && <StringFacet search={search} className="flex-1" name="status" buckets={facets.status || []} placeholder="Filter by Status" />}
15
- {facets.location && <StringFacet search={search} className="flex-1" name="location" buckets={facets.location || []} placeholder="Filter by Location" />}
16
- {facets.tags && <StringListFacet search={search} className="flex-1" name='tags' buckets={facets.tags || []} placeholder="Filter by Tags" />}
17
- </div>
18
- )
19
- }