@exulu/frontend 1.10.0 → 1.11.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 (174) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +163 -160
  3. package/dist/.next/app-path-routes-manifest.json +1 -1
  4. package/dist/.next/build-manifest.json +2 -2
  5. package/dist/.next/prerender-manifest.json +1 -1
  6. package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
  7. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  8. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +1 -1
  9. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  10. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  11. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  12. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  13. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  14. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +2 -2
  15. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  17. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  18. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  19. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  20. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  21. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  22. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  23. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  24. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  25. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  26. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  27. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  28. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  29. package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  31. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  32. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  34. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  35. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  36. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  38. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/_not-found.html +1 -1
  41. package/dist/.next/server/app/_not-found.rsc +1 -1
  42. package/dist/.next/server/app-paths-manifest.json +5 -5
  43. package/dist/.next/server/chunks/2270.js +145 -132
  44. package/dist/.next/server/chunks/{5084.js → 2587.js} +1 -1
  45. package/dist/.next/server/chunks/3503.js +1 -1
  46. package/dist/.next/server/chunks/5485.js +1 -1
  47. package/dist/.next/server/chunks/5974.js +1 -1
  48. package/dist/.next/server/chunks/7944.js +1 -1
  49. package/dist/.next/server/chunks/8286.js +1 -1
  50. package/dist/.next/server/middleware-manifest.json +5 -5
  51. package/dist/.next/server/pages/404.html +1 -1
  52. package/dist/.next/server/pages/500.html +1 -1
  53. package/dist/.next/server/server-reference-manifest.json +1 -1
  54. package/dist/.next/static/chunks/1707-06e693c4a709c147.js +2 -0
  55. package/dist/.next/static/chunks/1707-06e693c4a709c147.js.map +1 -0
  56. package/dist/.next/static/chunks/{1957-cf44b1d31a9c7d5c.js → 1957-34f17de1e14e45de.js} +1 -1
  57. package/dist/.next/static/chunks/{1957-cf44b1d31a9c7d5c.js.map → 1957-34f17de1e14e45de.js.map} +1 -1
  58. package/dist/.next/static/chunks/{2293-48a95904b834eccc.js → 2293-592e22dde70d632b.js} +1 -1
  59. package/dist/.next/static/chunks/{2293-48a95904b834eccc.js.map → 2293-592e22dde70d632b.js.map} +1 -1
  60. package/dist/.next/static/chunks/2534-3dd7a9fabfbdb9d8.js +2 -0
  61. package/dist/.next/static/chunks/2534-3dd7a9fabfbdb9d8.js.map +1 -0
  62. package/dist/.next/static/chunks/2823-324b1cd8f15ff9c5.js +2 -0
  63. package/dist/.next/static/chunks/2823-324b1cd8f15ff9c5.js.map +1 -0
  64. package/dist/.next/static/chunks/3246-1812de142455a0ac.js +2 -0
  65. package/dist/.next/static/chunks/3246-1812de142455a0ac.js.map +1 -0
  66. package/dist/.next/static/chunks/{3750-e3d1b2cccd265190.js → 3750-d0ae5d73288be8de.js} +2 -2
  67. package/dist/.next/static/chunks/3750-d0ae5d73288be8de.js.map +1 -0
  68. package/dist/.next/static/chunks/{3832-d7782d6a2771ae6c.js → 3832-0b8edbcc671f4cc0.js} +2 -2
  69. package/dist/.next/static/chunks/3832-0b8edbcc671f4cc0.js.map +1 -0
  70. package/dist/.next/static/chunks/{4386-45b79e656a244d8a.js → 4386-21ac377a719ebdfa.js} +1 -1
  71. package/dist/.next/static/chunks/{4386-45b79e656a244d8a.js.map → 4386-21ac377a719ebdfa.js.map} +1 -1
  72. package/dist/.next/static/chunks/4612-da512770f949561a.js +2 -0
  73. package/dist/.next/static/chunks/4612-da512770f949561a.js.map +1 -0
  74. package/dist/.next/static/chunks/{5825-efd4db1da512bd7f.js → 4760-d5ceb992b68e35ca.js} +2 -2
  75. package/dist/.next/static/chunks/4760-d5ceb992b68e35ca.js.map +1 -0
  76. package/dist/.next/static/chunks/{6367-59655a85d75e19be.js → 6367-aa5020cbea5354e2.js} +1 -1
  77. package/dist/.next/static/chunks/{6367-59655a85d75e19be.js.map → 6367-aa5020cbea5354e2.js.map} +1 -1
  78. package/dist/.next/static/chunks/6373-3eee0b6c8b8fd459.js +2 -0
  79. package/dist/.next/static/chunks/6373-3eee0b6c8b8fd459.js.map +1 -0
  80. package/dist/.next/static/chunks/{8030-9c926ea4dfd3a54e.js → 8030-5d38a3f1a4ad44cb.js} +1 -1
  81. package/dist/.next/static/chunks/{8030-9c926ea4dfd3a54e.js.map → 8030-5d38a3f1a4ad44cb.js.map} +1 -1
  82. package/dist/.next/static/chunks/9105-143f12397a76a332.js +2 -0
  83. package/dist/.next/static/chunks/9105-143f12397a76a332.js.map +1 -0
  84. package/dist/.next/static/chunks/9877-378934ae38c6760c.js +2 -0
  85. package/dist/.next/static/chunks/9877-378934ae38c6760c.js.map +1 -0
  86. package/dist/.next/static/chunks/{9953-95900a236271a222.js → 9953-02d5b52553a5c573.js} +2 -2
  87. package/dist/.next/static/chunks/{9953-95900a236271a222.js.map → 9953-02d5b52553a5c573.js.map} +1 -1
  88. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-e4a4693953329671.js → page-37918149a8e909b0.js} +2 -2
  89. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/{page-e4a4693953329671.js.map → page-37918149a8e909b0.js.map} +1 -1
  90. package/dist/.next/static/chunks/app/(application)/agents/{page-b77c21a993c55901.js → page-9cff3b35b042d46a.js} +1 -1
  91. package/dist/.next/static/chunks/app/(application)/agents/{page-b77c21a993c55901.js.map → page-9cff3b35b042d46a.js.map} +1 -1
  92. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-53a99d8df53380c7.js +2 -0
  93. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-53a99d8df53380c7.js.map +1 -0
  94. package/dist/.next/static/chunks/app/(application)/chat/{layout-093baa26f89338bc.js → layout-ba702af6bb56baa2.js} +1 -1
  95. package/dist/.next/static/chunks/app/(application)/chat/{layout-093baa26f89338bc.js.map → layout-ba702af6bb56baa2.js.map} +1 -1
  96. package/dist/.next/static/chunks/app/(application)/chat/{page-8a1fcfb68cf9c8c0.js → page-8b00a98d285829b1.js} +1 -1
  97. package/dist/.next/static/chunks/app/(application)/chat/{page-8a1fcfb68cf9c8c0.js.map → page-8b00a98d285829b1.js.map} +1 -1
  98. package/dist/.next/static/chunks/app/(application)/configuration/{page-f315ede6d66922e6.js → page-1e978e117d5086a1.js} +1 -1
  99. package/dist/.next/static/chunks/app/(application)/configuration/{page-f315ede6d66922e6.js.map → page-1e978e117d5086a1.js.map} +1 -1
  100. package/dist/.next/static/chunks/app/(application)/dashboard/{page-4a1956febf5235b6.js → page-c54b4bc8d0ac4ac8.js} +1 -1
  101. package/dist/.next/static/chunks/app/(application)/dashboard/{page-4a1956febf5235b6.js.map → page-c54b4bc8d0ac4ac8.js.map} +1 -1
  102. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/{layout-0c7c1b0e1713bf60.js → layout-dfdb5c1cdc7ddefc.js} +2 -2
  103. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/{layout-0c7c1b0e1713bf60.js.map → layout-dfdb5c1cdc7ddefc.js.map} +1 -1
  104. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-faaee5fe82b45966.js +2 -0
  105. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-faaee5fe82b45966.js.map +1 -0
  106. package/dist/.next/static/chunks/app/(application)/evals/[id]/{page-a7728cf9b0524489.js → page-c956d9892676aa4f.js} +2 -2
  107. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-c956d9892676aa4f.js.map +1 -0
  108. package/dist/.next/static/chunks/app/(application)/evals/cases/page-6b4dde82376e9aac.js +2 -0
  109. package/dist/.next/static/chunks/app/(application)/evals/cases/page-6b4dde82376e9aac.js.map +1 -0
  110. package/dist/.next/static/chunks/app/(application)/evals/{page-8b38d8d29f275704.js → page-944bfc4f0a001e4c.js} +1 -1
  111. package/dist/.next/static/chunks/app/(application)/evals/page-944bfc4f0a001e4c.js.map +1 -0
  112. package/dist/.next/static/chunks/app/(application)/explorer/page-07d67145bb176711.js +2 -0
  113. package/dist/.next/static/chunks/app/(application)/explorer/page-07d67145bb176711.js.map +1 -0
  114. package/dist/.next/static/chunks/app/(application)/keys/{page-afe59c91cc347208.js → page-6c0cd9ef20cd1461.js} +2 -2
  115. package/dist/.next/static/chunks/app/(application)/keys/{page-afe59c91cc347208.js.map → page-6c0cd9ef20cd1461.js.map} +1 -1
  116. package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-f04fd5291a1ef7b1.js → page-5e2be54e76b8509c.js} +2 -2
  117. package/dist/.next/static/chunks/app/(application)/projects/[project]/{page-f04fd5291a1ef7b1.js.map → page-5e2be54e76b8509c.js.map} +1 -1
  118. package/dist/.next/static/chunks/app/(application)/projects/{layout-a8e1830ef3faafb9.js → layout-f2e0f42a08c96bb8.js} +1 -1
  119. package/dist/.next/static/chunks/app/(application)/projects/{layout-a8e1830ef3faafb9.js.map → layout-f2e0f42a08c96bb8.js.map} +1 -1
  120. package/dist/.next/static/chunks/app/(application)/prompts/{page-2c500e9898447506.js → page-2c03bbe32800acc3.js} +2 -2
  121. package/dist/.next/static/chunks/app/(application)/prompts/{page-2c500e9898447506.js.map → page-2c03bbe32800acc3.js.map} +1 -1
  122. package/dist/.next/static/chunks/app/(application)/roles/{page-873911198c17d9a7.js → page-b977b5c658004717.js} +1 -1
  123. package/dist/.next/static/chunks/app/(application)/roles/{page-873911198c17d9a7.js.map → page-b977b5c658004717.js.map} +1 -1
  124. package/dist/.next/static/chunks/app/(application)/token/{page-3acc39cb8a718331.js → page-08596ece49a811b9.js} +2 -2
  125. package/dist/.next/static/chunks/app/(application)/token/page-08596ece49a811b9.js.map +1 -0
  126. package/dist/.next/static/chunks/app/(application)/users/{page-0d7f0d7e80cd1436.js → page-49212081be40aeca.js} +2 -2
  127. package/dist/.next/static/chunks/app/(application)/users/{page-0d7f0d7e80cd1436.js.map → page-49212081be40aeca.js.map} +1 -1
  128. package/dist/.next/static/chunks/app/(application)/variables/create/{page-8ebf4e3d4d17443b.js → page-9ce762918374f616.js} +1 -1
  129. package/dist/.next/static/chunks/app/(application)/variables/create/{page-8ebf4e3d4d17443b.js.map → page-9ce762918374f616.js.map} +1 -1
  130. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-006145e82e054e72.js → page-0e2b7038546d9f7a.js} +1 -1
  131. package/dist/.next/static/chunks/app/(application)/variables/edit/[variable_id]/{page-006145e82e054e72.js.map → page-0e2b7038546d9f7a.js.map} +1 -1
  132. package/dist/.next/static/chunks/app/(application)/variables/{page-51a8aeece444d388.js → page-141d5d3f735454fe.js} +1 -1
  133. package/dist/.next/static/chunks/app/(application)/variables/{page-51a8aeece444d388.js.map → page-141d5d3f735454fe.js.map} +1 -1
  134. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-8f5cfc9565fd919a.js → page-fb1bb3ea6f7cae47.js} +1 -1
  135. package/dist/.next/static/chunks/app/(application)/variables/usage/[variable_id]/{page-8f5cfc9565fd919a.js.map → page-fb1bb3ea6f7cae47.js.map} +1 -1
  136. package/dist/.next/static/chunks/app/(application)/workflows/{page-e38f9456120dab69.js → page-2b839fdbc55c297b.js} +2 -2
  137. package/dist/.next/static/chunks/app/(application)/workflows/page-2b839fdbc55c297b.js.map +1 -0
  138. package/dist/.next/static/css/0f539b50cca35462.css +4 -0
  139. package/dist/.next/static/css/0f539b50cca35462.css.map +1 -0
  140. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  141. package/package.json +1 -1
  142. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js +0 -2
  143. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js.map +0 -1
  144. package/dist/.next/static/chunks/3171-6996819b8863d41f.js +0 -2
  145. package/dist/.next/static/chunks/3171-6996819b8863d41f.js.map +0 -1
  146. package/dist/.next/static/chunks/3750-e3d1b2cccd265190.js.map +0 -1
  147. package/dist/.next/static/chunks/3832-d7782d6a2771ae6c.js.map +0 -1
  148. package/dist/.next/static/chunks/4419-b9be79d8cd46a97d.js +0 -2
  149. package/dist/.next/static/chunks/4419-b9be79d8cd46a97d.js.map +0 -1
  150. package/dist/.next/static/chunks/5110-098aa924c3108fa4.js +0 -2
  151. package/dist/.next/static/chunks/5110-098aa924c3108fa4.js.map +0 -1
  152. package/dist/.next/static/chunks/5825-efd4db1da512bd7f.js.map +0 -1
  153. package/dist/.next/static/chunks/6280-50b751f993f2fe4f.js +0 -2
  154. package/dist/.next/static/chunks/6280-50b751f993f2fe4f.js.map +0 -1
  155. package/dist/.next/static/chunks/6373-aef582adc575d3ca.js +0 -2
  156. package/dist/.next/static/chunks/6373-aef582adc575d3ca.js.map +0 -1
  157. package/dist/.next/static/chunks/9105-d8ff41060f7ffc85.js +0 -2
  158. package/dist/.next/static/chunks/9105-d8ff41060f7ffc85.js.map +0 -1
  159. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-d59534ca19eee51f.js +0 -2
  160. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-d59534ca19eee51f.js.map +0 -1
  161. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-7db6bfbf02606136.js +0 -2
  162. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-7db6bfbf02606136.js.map +0 -1
  163. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js.map +0 -1
  164. package/dist/.next/static/chunks/app/(application)/evals/cases/page-827f50c6d1f150d0.js +0 -2
  165. package/dist/.next/static/chunks/app/(application)/evals/cases/page-827f50c6d1f150d0.js.map +0 -1
  166. package/dist/.next/static/chunks/app/(application)/evals/page-8b38d8d29f275704.js.map +0 -1
  167. package/dist/.next/static/chunks/app/(application)/explorer/page-e6b1c034c07776e2.js +0 -2
  168. package/dist/.next/static/chunks/app/(application)/explorer/page-e6b1c034c07776e2.js.map +0 -1
  169. package/dist/.next/static/chunks/app/(application)/token/page-3acc39cb8a718331.js.map +0 -1
  170. package/dist/.next/static/chunks/app/(application)/workflows/page-e38f9456120dab69.js.map +0 -1
  171. package/dist/.next/static/css/9c08ae5d990a6b14.css +0 -4
  172. package/dist/.next/static/css/9c08ae5d990a6b14.css.map +0 -1
  173. /package/dist/.next/static/{3j63p6b3zZZB_v1Hn8Mxp → exslB-IPXi_veOKFA4L1Z}/_buildManifest.js +0 -0
  174. /package/dist/.next/static/{3j63p6b3zZZB_v1Hn8Mxp → exslB-IPXi_veOKFA4L1Z}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"static/chunks/8030-9c926ea4dfd3a54e.js","mappings":"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","sources":["webpack://_N_E/./components/rbac.tsx","webpack://_N_E/./components/ui/badge.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/command.tsx","webpack://_N_E/./components/ui/dialog.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/popover.tsx","webpack://_N_E/./components/ui/scroll-area.tsx","webpack://_N_E/./components/ui/select.tsx","webpack://_N_E/./components/ui/textarea.tsx"],"sourcesContent":["\nimport {\n GET_USER_ROLES,\n GET_USERS,\n GET_USER_BY_ID\n} from \"@/queries/queries\";\nimport { useState, useEffect, useCallback } from \"react\";\nimport { useApolloClient, useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { User } from \"@/types/models/user\";\nimport { Check, ChevronsUpDown, Users, Lock, Globe, Settings, Trash2, Loader2, Folder } from \"lucide-react\";\nimport { Input } from \"@/components/ui/input\";\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { cn } from \"@/lib/utils\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport { Button } from \"@/components/ui/button\";\nimport { Label } from \"./ui/label\";\n\nconst VISIBILITY_OPTIONS = [\n { value: 'private', label: 'Private', description: 'Only you can see this agent', icon: Lock },\n { value: 'users', label: 'Shared with Users', description: 'Share with specific users', icon: Users },\n { value: 'roles', label: 'Shared with Roles', description: 'Share with specific roles', icon: Settings },\n { value: 'public', label: 'Public', description: 'Anyone can see this agent', icon: Globe },\n /* { value: 'projects', label: 'Projects', description: 'Share with specific projects', icon: Folder } */\n]\n\ntype Modes = 'private' | 'users' | 'roles' | 'public' /* | 'projects' */\n\nexport function RBACControl({\n allowedModes,\n initialRightsMode,\n modalMode = false,\n initialUsers,\n initialRoles,\n // initialProjects,\n onChange\n}: {\n allowedModes?: Modes[],\n modalMode?: boolean,\n initialRightsMode: 'private' | 'users' | 'roles' | 'public' /* | 'projects' */ | undefined,\n initialUsers: { id: number, rights: 'read' | 'write' }[] | undefined,\n initialRoles: { id: string, rights: 'read' | 'write' }[] | undefined,\n // initialProjects: { id: string, rights: 'read' | 'write' }[] | undefined,\n onChange: (rights_mode: Modes, users: { id: number, rights: 'read' | 'write' }[], roles: { id: string, rights: 'read' | 'write' }[]/* , projects: { id: string, rights: 'read' | 'write' }[] */) => void\n}) {\n const [visibility, setVisibility] = useState<Modes | undefined>(initialRightsMode)\n const [selectedUsers, setSelectedUsers] = useState<{ id: number, rights: 'read' | 'write' }[]>(initialUsers || [])\n const [selectedRoles, setSelectedRoles] = useState<{ id: string, rights: 'read' | 'write' }[]>(initialRoles || [])\n const [hydratedUsers, setHydratedUsers] = useState<User[]>([])\n const [visibilitySelectorOpen, setVisibilitySelectorOpen] = useState(false)\n const [userFilters, setUserFilters] = useState<any[]>([])\n const [userSearchValue, setUserSearchValue] = useState('')\n const [modalOpen, setModalOpen] = useState(false)\n const [modalLoading, setModalLoading] = useState(false)\n const client = useApolloClient()\n\n // GraphQL queries for RBAC\n const { data: usersData, loading: usersLoading, refetch: refetchUsers } = useQuery(GET_USERS, {\n variables: { page: 1, limit: 5, filters: userFilters },\n skip: visibility !== 'users' || !userSearchValue\n })\n\n const roles = useQuery(GET_USER_ROLES, {\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: \"network-only\",\n variables: {\n page: 1,\n limit: 30,\n filters: [\n {\n type: {\n ne: \"api\"\n }\n }\n ]\n },\n });\n\n\n // User search function\n const searchUsers = useCallback((value: string) => {\n setUserSearchValue(value)\n const copy = [...userFilters, {\n type: {\n ne: \"api\"\n }\n }]\n const exists = copy.find((filter) => filter.email)\n if (exists?.email) {\n exists.email.contains = value\n } else {\n copy.push({\n email: {\n contains: value,\n },\n })\n }\n setUserFilters(copy)\n refetchUsers()\n }, [userFilters, refetchUsers])\n\n const hydrateUsers = async (max: number = 5) => {\n setModalLoading(true)\n if (!selectedUsers || selectedUsers.length === 0) {\n setHydratedUsers([])\n setModalLoading(false)\n return\n }\n\n const promises = selectedUsers?.slice(0, max).map(async ({ id, rights }) => {\n const user = await client.query({\n query: GET_USER_BY_ID,\n variables: {\n id\n }\n })\n return {\n ...user.data.userById,\n rights\n };\n })\n const results = await Promise.all(promises)\n setHydratedUsers(results)\n setModalLoading(false)\n }\n\n useEffect(() => {\n hydrateUsers(5)\n }, [])\n\n useEffect(() => {\n console.log(\"selectedUsers\", selectedUsers)\n console.log(\"hydratedUsers\", hydratedUsers)\n onChange(visibility as 'private' | 'users' | 'roles' | 'public', selectedUsers, selectedRoles)\n }, [visibility, selectedUsers, selectedRoles])\n\n const filteredUsers = hydratedUsers?.slice(0, 5).filter(user => !!user?.id)\n\n let visibilityOptions = VISIBILITY_OPTIONS\n if (allowedModes?.length) {\n visibilityOptions = VISIBILITY_OPTIONS.filter(option => allowedModes.includes(option.value as Modes))\n }\n\n return (\n <>\n <div className=\"space-y-2\">\n <Label className=\"text-sm font-medium\">Visibility & sharing</Label>\n <Popover modal={modalMode || false} open={visibilitySelectorOpen} onOpenChange={setVisibilitySelectorOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={visibilitySelectorOpen}\n className=\"w-full justify-between text-sm capitalize\"\n >\n {visibilityOptions.find(option => option.value === visibility)?.label || \"Select visibility...\"}\n <ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\">\n <Command>\n <CommandInput placeholder=\"Search options...\" />\n <CommandList>\n <CommandEmpty>No options found.</CommandEmpty>\n <CommandGroup>\n {visibilityOptions.map((option: any) => (\n <CommandItem\n key={option.value}\n onSelect={() => {\n if (option.value !== \"users\") {\n setSelectedUsers([])\n }\n if (option.value !== \"roles\") {\n setSelectedRoles([])\n }\n setVisibility(option.value)\n setVisibilitySelectorOpen(false)\n }}\n >\n <Check\n className={cn(\n \"mr-2 h-4 w-4\",\n visibility === option.value ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n <div className=\"flex flex-col\">\n <span>{option.label}</span>\n <span className=\"text-xs text-muted-foreground\">{option.description}</span>\n </div>\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n\n {/* Users sharing section */}\n {visibility === 'users' && (\n <div className=\"space-y-3 pt-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with users</Label>\n {/* Search bar */}\n <div className=\"mt-2\">\n <Input\n placeholder=\"Search users by email...\"\n value={userSearchValue}\n onChange={(e) => searchUsers(e.target.value)}\n className=\"text-sm\"\n />\n </div>\n\n {/* Search results */}\n {usersLoading && (\n <div className=\"mt-2 flex items-center justify-center py-4\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n {!usersLoading && usersData && usersData.usersPagination?.items.length > 0 && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Search Results:</div>\n <div className=\"max-h-50 overflow-y-auto border rounded-lg\">\n {usersData.usersPagination.items.filter(user => !selectedUsers.some(selected => selected.id === user.id)).map((user: any) => (\n <label key={user.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedUsers.some(selected => selected.id === user.id)}\n onChange={(e) => {\n setSelectedUsers(prev => [...prev, { id: user.id, rights: 'read' }])\n setHydratedUsers(prev => [...prev, {\n ...user,\n rights: 'read'\n }])\n }}\n />\n <span className=\"text-sm\">{user.email}</span>\n </label>\n ))}\n </div>\n <div className=\"text-xs text-muted-foreground mt-2\">\n <span className=\"font-medium\">Note:</span> Only the first 5 users are shown, use the Search bar to find more users.\n </div>\n </div>\n )}\n {!usersLoading && userSearchValue && usersData && usersData.usersPagination.items.length === 0 && (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users found</span>\n </div>\n )}\n\n {/* Selected users list */}\n {filteredUsers?.length > 0 ? (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Users:</div>\n <div className=\"space-y-1\">\n {filteredUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 w-20 text-xs\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n ))}\n {selectedUsers && selectedUsers.length > 5 && (\n <Button\n variant=\"link\"\n type=\"button\"\n className=\"h-auto p-0 text-blue-600 hover:text-blue-800 text-xs\"\n onClick={() => {\n hydrateUsers(50)\n setModalOpen(true)\n }}\n >\n + {selectedUsers.length - 5} more users\n </Button>\n )}\n </div>\n </div>\n ) : (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users selected.</span>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Roles sharing section */}\n {visibility === 'roles' && (\n <div className=\"space-y-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with roles ({selectedRoles?.length || 0})</Label>\n\n {/* Available roles list */}\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Available Roles</div>\n {roles.loading && (\n <div className=\"flex items-center justify-center py-4 border rounded-lg\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading roles...</span>\n </div>\n )}\n {!roles.loading && roles.data && (\n <div className=\"max-h-24 overflow-y-auto border rounded-lg\">\n {roles.data.rolesPagination.items.map((role: any) => (\n <label key={role.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedRoles.some(selected => selected.id === role.id)}\n onChange={(e) => {\n if (e.target.checked) {\n setSelectedRoles(prev => [...prev, { id: role.id, rights: 'read' }])\n } else {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== role.id))\n }\n }}\n />\n <span className=\"text-sm capitalize\">{role.name}</span>\n </label>\n ))}\n </div>\n )}\n </div>\n\n {/* Selected roles list */}\n {selectedRoles.length > 0 && roles.data && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Roles:</div>\n <div className=\"space-y-1\">\n {selectedRoles.map((selectedRole: any) => {\n const role = roles.data.rolesPagination.items.find((r: any) => r.id === selectedRole.id)\n return (\n <div key={selectedRole.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2 capitalize\">{role?.name}</span>\n <Select\n value={selectedRole.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedRoles(prev =>\n prev.map(selected =>\n selected.id === selectedRole.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 text-xs w-20 border-none\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">\n <span className=\"pr-7\">Read</span>\n </SelectItem>\n <SelectItem value=\"write\">\n <span className=\"pr-7\">Write</span>\n </SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== selectedRole.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n )\n })}\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Modal for viewing all selected users */}\n <Dialog open={modalOpen} onOpenChange={setModalOpen} >\n <DialogContent className=\"sm:max-w-2xl max-h-[85vh] flex flex-col\">\n <DialogHeader>\n <DialogTitle>All Selected Users ({selectedUsers?.length || 0})</DialogTitle>\n <DialogDescription>\n View and manage all selected users and their permissions\n </DialogDescription>\n </DialogHeader>\n\n <ScrollArea className=\"flex-1 pr-4\">\n {modalLoading && (\n <div className=\"flex items-center justify-center py-8\">\n <Loader2 className=\"h-6 w-6 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length > 0 && (\n <div className=\"space-y-2\">\n {hydratedUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-3 border p-3 rounded-lg\">\n <span className=\"flex-1\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n // Update selectedUsers state\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n // Update hydratedUsers state if this user is in the first 5\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"w-24\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-8 w-8 p-0 hover:bg-destructive/10\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-4 h-4\" />\n </Button>\n </div>\n ))}\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length === 0 && (\n <div className=\"text-center py-8\">\n <span className=\"text-sm text-muted-foreground\">No users selected</span>\n </div>\n )}\n </ScrollArea>\n </DialogContent>\n </Dialog >\n </>\n )\n}","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","\"use client\";\n\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Dialog, DialogContent } from \"@/components/ui/dialog\";\nimport { cn } from \"@/lib/utils\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:size-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","\"use client\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent };\n","\"use client\";\n\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"size-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","\"use client\";\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUp className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDown className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n"],"names":["VISIBILITY_OPTIONS","value","label","description","icon","Lock","Users","Settings","Globe","RBACControl","param","visibilityOptions","usersData","allowedModes","initialRightsMode","modalMode","initialUsers","initialRoles","onChange","visibility","setVisibility","useState","selectedUsers","setSelectedUsers","selectedRoles","setSelectedRoles","hydratedUsers","setHydratedUsers","visibilitySelectorOpen","setVisibilitySelectorOpen","userFilters","setUserFilters","userSearchValue","setUserSearchValue","modalOpen","setModalOpen","modalLoading","setModalLoading","client","useApolloClient","data","loading","usersLoading","refetch","refetchUsers","useQuery","GET_USERS","variables","page","limit","filters","skip","roles","GET_USER_ROLES","fetchPolicy","nextFetchPolicy","type","ne","searchUsers","useCallback","copy","exists","find","filter","email","contains","push","hydrateUsers","max","length","promises","slice","map","id","rights","user","query","GET_USER_BY_ID","userById","Promise","all","useEffect","console","log","filteredUsers","option","includes","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","Fragment","div","className","jsx","Label","Popover","modal","open","onOpenChange","PopoverTrigger","asChild","Button","variant","role","aria-expanded","ChevronsUpDown","PopoverContent","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","CommandItem","onSelect","Check","cn","span","Input","e","target","Loader2","usersPagination","items","some","selected","input","checked","prev","Select","onValueChange","hydratedUser","SelectTrigger","SelectValue","SelectContent","SelectItem","size","onClick","Trash2","rolesPagination","name","r","selectedRole","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","ScrollArea","badgeVariants","cva","variants","default","secondary","destructive","outline","defaultVariants","Badge","props","Card","React","ref","displayName","CardHeader","CardTitle","h3","CardDescription","p","CardContent","CardFooter","CommandPrimitive","cmdk-input-wrapper","Search","List","Empty","Group","CommandSeparator","Separator","Item","DialogPrimitive","DialogTrigger","DialogPortal","DialogOverlay","children","X","DialogFooter","labelVariants","LabelPrimitive","PopoverPrimitive","align","sideOffset","ScrollAreaPrimitive","ScrollBar","orientation","SelectPrimitive","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","position","SelectLabel","SelectSeparator","Textarea","textarea"],"sourceRoot":""}
1
+ {"version":3,"file":"static/chunks/8030-5d38a3f1a4ad44cb.js","mappings":"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","sources":["webpack://_N_E/./components/rbac.tsx","webpack://_N_E/./components/ui/badge.tsx","webpack://_N_E/./components/ui/card.tsx","webpack://_N_E/./components/ui/command.tsx","webpack://_N_E/./components/ui/dialog.tsx","webpack://_N_E/./components/ui/label.tsx","webpack://_N_E/./components/ui/popover.tsx","webpack://_N_E/./components/ui/scroll-area.tsx","webpack://_N_E/./components/ui/select.tsx","webpack://_N_E/./components/ui/textarea.tsx"],"sourcesContent":["\nimport {\n GET_USER_ROLES,\n GET_USERS,\n GET_USER_BY_ID\n} from \"@/queries/queries\";\nimport { useState, useEffect, useCallback } from \"react\";\nimport { useApolloClient, useQuery } from \"@apollo/client\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\nimport { User } from \"@/types/models/user\";\nimport { Check, ChevronsUpDown, Users, Lock, Globe, Settings, Trash2, Loader2, Folder } from \"lucide-react\";\nimport { Input } from \"@/components/ui/input\";\nimport {\n Dialog,\n DialogContent,\n DialogHeader,\n DialogTitle,\n DialogDescription,\n} from \"@/components/ui/dialog\";\nimport { ScrollArea } from \"@/components/ui/scroll-area\";\nimport { cn } from \"@/lib/utils\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/ui/command\";\nimport { Button } from \"@/components/ui/button\";\nimport { Label } from \"./ui/label\";\n\nconst VISIBILITY_OPTIONS = [\n { value: 'private', label: 'Private', description: 'Only you can see this agent', icon: Lock },\n { value: 'users', label: 'Shared with Users', description: 'Share with specific users', icon: Users },\n { value: 'roles', label: 'Shared with Roles', description: 'Share with specific roles', icon: Settings },\n { value: 'public', label: 'Public', description: 'Anyone can see this agent', icon: Globe },\n /* { value: 'projects', label: 'Projects', description: 'Share with specific projects', icon: Folder } */\n]\n\ntype Modes = 'private' | 'users' | 'roles' | 'public' /* | 'projects' */\n\nexport function RBACControl({\n allowedModes,\n initialRightsMode,\n modalMode = false,\n initialUsers,\n initialRoles,\n // initialProjects,\n onChange\n}: {\n allowedModes?: Modes[],\n modalMode?: boolean,\n initialRightsMode: 'private' | 'users' | 'roles' | 'public' /* | 'projects' */ | undefined,\n initialUsers: { id: number, rights: 'read' | 'write' }[] | undefined,\n initialRoles: { id: string, rights: 'read' | 'write' }[] | undefined,\n // initialProjects: { id: string, rights: 'read' | 'write' }[] | undefined,\n onChange: (rights_mode: Modes, users: { id: number, rights: 'read' | 'write' }[], roles: { id: string, rights: 'read' | 'write' }[]/* , projects: { id: string, rights: 'read' | 'write' }[] */) => void\n}) {\n const [visibility, setVisibility] = useState<Modes | undefined>(initialRightsMode)\n const [selectedUsers, setSelectedUsers] = useState<{ id: number, rights: 'read' | 'write' }[]>(initialUsers || [])\n const [selectedRoles, setSelectedRoles] = useState<{ id: string, rights: 'read' | 'write' }[]>(initialRoles || [])\n const [hydratedUsers, setHydratedUsers] = useState<User[]>([])\n const [visibilitySelectorOpen, setVisibilitySelectorOpen] = useState(false)\n const [userFilters, setUserFilters] = useState<any[]>([])\n const [userSearchValue, setUserSearchValue] = useState('')\n const [modalOpen, setModalOpen] = useState(false)\n const [modalLoading, setModalLoading] = useState(false)\n const client = useApolloClient()\n\n // GraphQL queries for RBAC\n const { data: usersData, loading: usersLoading, refetch: refetchUsers } = useQuery(GET_USERS, {\n variables: { page: 1, limit: 5, filters: userFilters },\n skip: visibility !== 'users' || !userSearchValue\n })\n\n const roles = useQuery(GET_USER_ROLES, {\n fetchPolicy: \"cache-first\",\n nextFetchPolicy: \"network-only\",\n variables: {\n page: 1,\n limit: 30,\n filters: [\n {\n type: {\n ne: \"api\"\n }\n }\n ]\n },\n });\n\n\n // User search function\n const searchUsers = useCallback((value: string) => {\n setUserSearchValue(value)\n const copy = [...userFilters, {\n type: {\n ne: \"api\"\n }\n }]\n const exists = copy.find((filter) => filter.email)\n if (exists?.email) {\n exists.email.contains = value\n } else {\n copy.push({\n email: {\n contains: value,\n },\n })\n }\n setUserFilters(copy)\n refetchUsers()\n }, [userFilters, refetchUsers])\n\n const hydrateUsers = async (max: number = 5) => {\n setModalLoading(true)\n if (!selectedUsers || selectedUsers.length === 0) {\n setHydratedUsers([])\n setModalLoading(false)\n return\n }\n\n const promises = selectedUsers?.slice(0, max).map(async ({ id, rights }) => {\n const user = await client.query({\n query: GET_USER_BY_ID,\n variables: {\n id\n }\n })\n return {\n ...user.data.userById,\n rights\n };\n })\n const results = await Promise.all(promises)\n setHydratedUsers(results)\n setModalLoading(false)\n }\n\n useEffect(() => {\n hydrateUsers(5)\n }, [])\n\n useEffect(() => {\n console.log(\"selectedUsers\", selectedUsers)\n console.log(\"hydratedUsers\", hydratedUsers)\n onChange(visibility as 'private' | 'users' | 'roles' | 'public', selectedUsers, selectedRoles)\n }, [visibility, selectedUsers, selectedRoles])\n\n const filteredUsers = hydratedUsers?.slice(0, 5).filter(user => !!user?.id)\n\n let visibilityOptions = VISIBILITY_OPTIONS\n if (allowedModes?.length) {\n visibilityOptions = VISIBILITY_OPTIONS.filter(option => allowedModes.includes(option.value as Modes))\n }\n\n return (\n <>\n <div className=\"space-y-2\">\n <Label className=\"text-sm font-medium\">Visibility & sharing</Label>\n <Popover modal={modalMode || false} open={visibilitySelectorOpen} onOpenChange={setVisibilitySelectorOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"outline\"\n role=\"combobox\"\n aria-expanded={visibilitySelectorOpen}\n className=\"w-full justify-between text-sm capitalize\"\n >\n {visibilityOptions.find(option => option.value === visibility)?.label || \"Select visibility...\"}\n <ChevronsUpDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\">\n <Command>\n <CommandInput placeholder=\"Search options...\" />\n <CommandList>\n <CommandEmpty>No options found.</CommandEmpty>\n <CommandGroup>\n {visibilityOptions.map((option: any) => (\n <CommandItem\n key={option.value}\n onSelect={() => {\n if (option.value !== \"users\") {\n setSelectedUsers([])\n }\n if (option.value !== \"roles\") {\n setSelectedRoles([])\n }\n setVisibility(option.value)\n setVisibilitySelectorOpen(false)\n }}\n >\n <Check\n className={cn(\n \"mr-2 h-4 w-4\",\n visibility === option.value ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n <div className=\"flex flex-col\">\n <span>{option.label}</span>\n <span className=\"text-xs text-muted-foreground\">{option.description}</span>\n </div>\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n </div>\n\n {/* Users sharing section */}\n {visibility === 'users' && (\n <div className=\"space-y-3 pt-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with users</Label>\n {/* Search bar */}\n <div className=\"mt-2\">\n <Input\n placeholder=\"Search users by email...\"\n value={userSearchValue}\n onChange={(e) => searchUsers(e.target.value)}\n className=\"text-sm\"\n />\n </div>\n\n {/* Search results */}\n {usersLoading && (\n <div className=\"mt-2 flex items-center justify-center py-4\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n {!usersLoading && usersData && usersData.usersPagination?.items.length > 0 && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Search Results:</div>\n <div className=\"max-h-50 overflow-y-auto border rounded-lg\">\n {usersData.usersPagination.items.filter(user => !selectedUsers.some(selected => selected.id === user.id)).map((user: any) => (\n <label key={user.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedUsers.some(selected => selected.id === user.id)}\n onChange={(e) => {\n setSelectedUsers(prev => [...prev, { id: user.id, rights: 'read' }])\n setHydratedUsers(prev => [...prev, {\n ...user,\n rights: 'read'\n }])\n }}\n />\n <span className=\"text-sm\">{user.email}</span>\n </label>\n ))}\n </div>\n <div className=\"text-xs text-muted-foreground mt-2\">\n <span className=\"font-medium\">Note:</span> Only the first 5 users are shown, use the Search bar to find more users.\n </div>\n </div>\n )}\n {!usersLoading && userSearchValue && usersData && usersData.usersPagination.items.length === 0 && (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users found</span>\n </div>\n )}\n\n {/* Selected users list */}\n {filteredUsers?.length > 0 ? (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Users:</div>\n <div className=\"space-y-1\">\n {filteredUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 w-20 text-xs\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n ))}\n {selectedUsers && selectedUsers.length > 5 && (\n <Button\n variant=\"link\"\n type=\"button\"\n className=\"h-auto p-0 text-blue-600 hover:text-blue-800 text-xs\"\n onClick={() => {\n hydrateUsers(50)\n setModalOpen(true)\n }}\n >\n + {selectedUsers.length - 5} more users\n </Button>\n )}\n </div>\n </div>\n ) : (\n <div className=\"mt-2 text-center py-4\">\n <span className=\"text-sm text-muted-foreground\">No users selected.</span>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Roles sharing section */}\n {visibility === 'roles' && (\n <div className=\"space-y-3\">\n <div>\n <Label className=\"text-sm font-medium\">Share with roles ({selectedRoles?.length || 0})</Label>\n\n {/* Available roles list */}\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Available Roles</div>\n {roles.loading && (\n <div className=\"flex items-center justify-center py-4 border rounded-lg\">\n <Loader2 className=\"h-4 w-4 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading roles...</span>\n </div>\n )}\n {!roles.loading && roles.data && (\n <div className=\"max-h-24 overflow-y-auto border rounded-lg\">\n {roles.data.rolesPagination.items.map((role: any) => (\n <label key={role.id} className=\"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer\">\n <input\n type=\"checkbox\"\n checked={selectedRoles.some(selected => selected.id === role.id)}\n onChange={(e) => {\n if (e.target.checked) {\n setSelectedRoles(prev => [...prev, { id: role.id, rights: 'read' }])\n } else {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== role.id))\n }\n }}\n />\n <span className=\"text-sm capitalize\">{role.name}</span>\n </label>\n ))}\n </div>\n )}\n </div>\n\n {/* Selected roles list */}\n {selectedRoles.length > 0 && roles.data && (\n <div className=\"mt-2\">\n <div className=\"text-xs text-muted-foreground mb-1\">Selected Roles:</div>\n <div className=\"space-y-1\">\n {selectedRoles.map((selectedRole: any) => {\n const role = roles.data.rolesPagination.items.find((r: any) => r.id === selectedRole.id)\n return (\n <div key={selectedRole.id} className=\"flex items-center gap-2 border p-2 rounded-lg text-sm\">\n <span className=\"flex-1 pl-2 capitalize\">{role?.name}</span>\n <Select\n value={selectedRole.rights}\n onValueChange={(value: 'read' | 'write') => {\n setSelectedRoles(prev =>\n prev.map(selected =>\n selected.id === selectedRole.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n }}\n >\n <SelectTrigger className=\"h-6 text-xs w-20 border-none\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">\n <span className=\"pr-7\">Read</span>\n </SelectItem>\n <SelectItem value=\"write\">\n <span className=\"pr-7\">Write</span>\n </SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-5 w-5 p-0 hover:bg-blue-100\"\n onClick={() => {\n setSelectedRoles(prev => prev.filter(selected => selected.id !== selectedRole.id))\n }}\n >\n <Trash2 className=\"w-3 h-3\" />\n </Button>\n </div>\n )\n })}\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n\n {/* Modal for viewing all selected users */}\n <Dialog open={modalOpen} onOpenChange={setModalOpen} >\n <DialogContent className=\"sm:max-w-2xl max-h-[85vh] flex flex-col\">\n <DialogHeader>\n <DialogTitle>All Selected Users ({selectedUsers?.length || 0})</DialogTitle>\n <DialogDescription>\n View and manage all selected users and their permissions\n </DialogDescription>\n </DialogHeader>\n\n <ScrollArea className=\"flex-1 pr-4\">\n {modalLoading && (\n <div className=\"flex items-center justify-center py-8\">\n <Loader2 className=\"h-6 w-6 animate-spin mr-2\" />\n <span className=\"text-sm text-muted-foreground\">Loading users...</span>\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length > 0 && (\n <div className=\"space-y-2\">\n {hydratedUsers.map((user: any) => (\n <div key={user.id} className=\"flex items-center gap-3 border p-3 rounded-lg\">\n <span className=\"flex-1\">{user.email}</span>\n <Select\n value={user.rights}\n onValueChange={(value: 'read' | 'write') => {\n // Update selectedUsers state\n setSelectedUsers(prev =>\n prev.map(selected =>\n selected.id === user.id\n ? { ...selected, rights: value }\n : selected\n )\n )\n // Update hydratedUsers state if this user is in the first 5\n setHydratedUsers(prev =>\n prev.map(hydratedUser =>\n hydratedUser.id === user.id\n ? { ...hydratedUser, rights: value }\n : hydratedUser\n )\n )\n }}\n >\n <SelectTrigger className=\"w-24\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n <SelectItem value=\"read\">Read</SelectItem>\n <SelectItem value=\"write\">Write</SelectItem>\n </SelectContent>\n </Select>\n <Button\n size=\"sm\"\n variant=\"ghost\"\n className=\"h-8 w-8 p-0 hover:bg-destructive/10\"\n onClick={() => {\n setSelectedUsers(prev => prev.filter(selected => selected.id !== user.id))\n setHydratedUsers(prev => prev.filter(hydratedUser => hydratedUser.id !== user.id))\n }}\n >\n <Trash2 className=\"w-4 h-4\" />\n </Button>\n </div>\n ))}\n </div>\n )}\n\n {!modalLoading && hydratedUsers.length === 0 && (\n <div className=\"text-center py-8\">\n <span className=\"text-sm text-muted-foreground\">No users selected</span>\n </div>\n )}\n </ScrollArea>\n </DialogContent>\n </Dialog >\n </>\n )\n}","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-sm\",\n className,\n )}\n {...props}\n />\n));\nCard.displayName = \"Card\";\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n));\nCardHeader.displayName = \"CardHeader\";\n\nconst CardTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nCardTitle.displayName = \"CardTitle\";\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nCardDescription.displayName = \"CardDescription\";\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n));\nCardContent.displayName = \"CardContent\";\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n));\nCardFooter.displayName = \"CardFooter\";\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardDescription,\n CardContent,\n};\n","\"use client\";\n\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Dialog, DialogContent } from \"@/components/ui/dialog\";\nimport { cn } from \"@/lib/utils\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className,\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ninterface CommandDialogProps extends DialogProps {}\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:size-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:size-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className,\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none aria-selected:bg-accent aria-selected:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className,\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n};\n","\"use client\";\n\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className,\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className,\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className,\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className,\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n","\"use client\";\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n);\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label };\n","\"use client\";\n\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className,\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent };\n","\"use client\";\n\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"size-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n));\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className,\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n));\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;\n\nexport { ScrollArea, ScrollBar };\n","\"use client\";\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { Check, ChevronDown, ChevronUp } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst Select = SelectPrimitive.Root;\n\nconst SelectGroup = SelectPrimitive.Group;\n\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className,\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDown className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronUp className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className,\n )}\n {...props}\n >\n <ChevronDown className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\",\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className,\n )}\n ref={ref}\n {...props}\n />\n );\n },\n);\nTextarea.displayName = \"Textarea\";\n\nexport { Textarea };\n"],"names":["VISIBILITY_OPTIONS","value","label","description","icon","Lock","Users","Settings","Globe","RBACControl","param","visibilityOptions","usersData","allowedModes","initialRightsMode","modalMode","initialUsers","initialRoles","onChange","visibility","setVisibility","useState","selectedUsers","setSelectedUsers","selectedRoles","setSelectedRoles","hydratedUsers","setHydratedUsers","visibilitySelectorOpen","setVisibilitySelectorOpen","userFilters","setUserFilters","userSearchValue","setUserSearchValue","modalOpen","setModalOpen","modalLoading","setModalLoading","client","useApolloClient","data","loading","usersLoading","refetch","refetchUsers","useQuery","GET_USERS","variables","page","limit","filters","skip","roles","GET_USER_ROLES","fetchPolicy","nextFetchPolicy","type","ne","searchUsers","useCallback","copy","exists","find","filter","email","contains","push","hydrateUsers","max","length","promises","slice","map","id","rights","user","query","GET_USER_BY_ID","userById","Promise","all","useEffect","console","log","filteredUsers","option","includes","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsxs","Fragment","div","className","jsx","Label","Popover","modal","open","onOpenChange","PopoverTrigger","asChild","Button","variant","role","aria-expanded","ChevronsUpDown","PopoverContent","Command","CommandInput","placeholder","CommandList","CommandEmpty","CommandGroup","CommandItem","onSelect","Check","cn","span","Input","e","target","Loader2","usersPagination","items","some","selected","input","checked","prev","Select","onValueChange","hydratedUser","SelectTrigger","SelectValue","SelectContent","SelectItem","size","onClick","Trash2","rolesPagination","name","r","selectedRole","Dialog","DialogContent","DialogHeader","DialogTitle","DialogDescription","ScrollArea","badgeVariants","cva","variants","default","secondary","destructive","outline","defaultVariants","Badge","props","Card","React","ref","displayName","CardHeader","CardTitle","h3","CardDescription","p","CardContent","CardFooter","CommandPrimitive","cmdk-input-wrapper","Search","List","Empty","Group","CommandSeparator","Separator","Item","DialogPrimitive","DialogTrigger","DialogPortal","DialogOverlay","children","X","DialogFooter","labelVariants","LabelPrimitive","PopoverPrimitive","align","sideOffset","ScrollAreaPrimitive","ScrollBar","orientation","SelectPrimitive","ChevronDown","SelectScrollUpButton","ChevronUp","SelectScrollDownButton","position","SelectLabel","SelectSeparator","Textarea","textarea"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9105],{8864:function(e,s,a){a.d(s,{R:function(){return R}});var t=a(57437),l=a(2265),n=a(7211),i=a(12199),r=a(27689),d=a(62869),c=a(66070),o=a(19060),u=a(73578),x=a(12339),m=a(37099),h=a(35974),j=a(15863),f=a(33276),p=a(89227),v=a(93609),g=a(18930),b=a(52636),N=a(92451),y=a(10407),w=a(77992),C=a(27107),k=a(68656),P=a(20653);function R(e){var s,a,R,S,z,Z,T,q,D,O,A,M,I;let{queueName:J,nameGenerator:L,retryJob:Q}=e,{toast:_}=(0,w.pm)(),[F,Y]=(0,l.useState)(!1),[$,H]=(0,l.useState)(!1),[E,V]=(0,l.useState)(!1),[W,U]=(0,l.useState)([]),[G,B]=(0,l.useState)(null),[X,K]=(0,l.useState)("completed"),[ee,es]=(0,l.useState)(1),[ea,et]=(0,l.useState)(200),[el,en]=(0,l.useState)(new Set),{data:ei,loading:er,refetch:ed}=(0,n.aM)(r.k9,{variables:{queue:J},pollInterval:5e3}),{data:ec,loading:eo,refetch:eu,networkStatus:ex}=(0,n.aM)(r.Jq,{variables:{queue:J,statusses:X,page:ee,limit:ea},pollInterval:5e3}),[em,{loading:eh}]=(0,i.D)(r.Wr,{onError:e=>{_({title:"Failed to delete job",description:e.message,variant:"destructive"})}}),[ej,{loading:ef}]=(0,i.D)(r.fc,{onCompleted:()=>{_({title:"Queue paused",description:"The ".concat(J," queue has been paused.")}),ed(),Y(!1)},onError:e=>{_({title:"Failed to pause queue",description:e.message,variant:"destructive"})}}),[ep,{loading:ev}]=(0,i.D)(r.iC,{onCompleted:()=>{_({title:"Queue resumed",description:"The ".concat(J," queue has been resumed.")}),ed(),V(!1)},onError:e=>{_({title:"Failed to resume queue",description:e.message,variant:"destructive"})}}),[eg,{loading:eb}]=(0,i.D)(r.QW,{onCompleted:()=>{_({title:"Queue drained",description:"All waiting and delayed jobs have been removed from the queue."}),ed(),eu(),H(!1)},onError:e=>{_({title:"Failed to drain queue",description:e.message,variant:"destructive"})}}),eN=e=>{U([e])},ey=e=>{B(e)},ew=e=>{let s=new Set(el);s.has(e)?s.delete(e):s.add(e),en(s)},eC=async()=>{if(W.filter(e=>!e.id).length>0){_({title:"Failed to delete jobs",description:"Some jobs have no ID.",variant:"destructive"});return}try{await Promise.all(W.map(e=>em({variables:{queue:J,id:e.id}}))),_({title:1===W.length?"Job deleted":"Jobs deleted",description:"Successfully deleted ".concat(W.length," job").concat(1===W.length?"":"s",".")}),eu(),ed(),U([]),en(new Set)}catch(e){}},ek=null==ei?void 0:ei.queue,eP=(null==ec?void 0:ec.jobs)||{items:[],pageInfo:{pageCount:0,itemCount:0,currentPage:1,hasPreviousPage:!1,hasNextPage:!1}};return er&&eo?(0,t.jsx)("div",{className:"space-y-4",children:(0,t.jsx)(c.Zb,{children:(0,t.jsx)(c.aY,{className:"pt-6",children:(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(j.Z,{className:"h-6 w-6 animate-spin"})})})})}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(c.Zb,{children:[(0,t.jsx)(c.Ol,{children:(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("div",{className:"flex items-center gap-3",children:(0,t.jsxs)("div",{children:[(0,t.jsxs)(c.ll,{children:["Queue: ",J]}),(0,t.jsxs)(c.SZ,{children:["Manage the ",J," job queue and view all jobs."]})]})}),ek&&(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsxs)(d.z,{variant:"outline",size:"sm",onClick:()=>(null==ek?void 0:ek.isPaused)?V(!0):Y(!0),disabled:ef||ev,children:[(null==ek?void 0:ek.isPaused)?(0,t.jsx)(f.Z,{className:"mr-2 h-4 w-4"}):(0,t.jsx)(p.Z,{className:"mr-2 h-4 w-4"}),(null==ek?void 0:ek.isPaused)?"Resume queue":"Pause queue"]}),(0,t.jsxs)(d.z,{variant:"outline",size:"sm",onClick:()=>H(!0),disabled:eb,children:[(0,t.jsx)(v.Z,{className:"mr-2 h-4 w-4"}),"Drain queue"]})]})]})}),(0,t.jsxs)(c.aY,{className:"space-y-6",children:[ek&&(0,t.jsxs)("div",{className:"flex items-center gap-8 p-4 bg-muted/50 rounded-lg",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"Status:"}),(0,t.jsx)("div",{children:ek.isPaused?(0,t.jsx)(h.C,{variant:"outline",className:"bg-gray-100 text-gray-800",children:"Paused"}):ek.isMaxed?(0,t.jsx)(h.C,{variant:"outline",className:"bg-red-100 text-red-800",children:"Maxed"}):(0,t.jsx)(h.C,{variant:"outline",className:"bg-green-100 text-green-800",children:"Active"})})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"Concurrency:"}),(0,t.jsxs)("div",{className:"font-semibold",children:["Per queue global concurrency: ",(null===(s=ek.concurrency)||void 0===s?void 0:s.queue)||"None","Per worker concurrency: ",(null===(a=ek.concurrency)||void 0===a?void 0:a.worker)||"None",". Timeout: ",ek.timeoutInSeconds||"None"," seconds."]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"text-sm text-muted-foreground",children:"Rate Limit:"}),(0,t.jsx)("div",{className:"font-semibold",children:ek.ratelimit||"None"})]}),(0,t.jsx)(x.mQ,{value:X,onValueChange:e=>K(e),className:"w-auto",children:(0,t.jsxs)(x.dr,{children:[(0,t.jsxs)(x.SP,{value:"active",className:"gap-1.5",children:[(0,t.jsx)("span",{children:"Active"}),(0,t.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-blue-100 text-blue-600 border-blue-200",children:(null===(R=ek.jobs)||void 0===R?void 0:R.active)||0})]}),(0,t.jsxs)(x.SP,{value:"waiting",className:"gap-1.5",children:[(0,t.jsx)("span",{children:"Waiting"}),(0,t.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-yellow-100 text-yellow-600 border-yellow-200",children:(null===(S=ek.jobs)||void 0===S?void 0:S.waiting)||0})]}),(0,t.jsxs)(x.SP,{value:"failed",className:"gap-1.5",children:[(0,t.jsx)("span",{children:"Failed"}),(0,t.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-red-100 text-red-600 border-red-200",children:(null===(z=ek.jobs)||void 0===z?void 0:z.failed)||0})]}),(0,t.jsxs)(x.SP,{value:"stuck",className:"gap-1.5",children:[(0,t.jsx)("span",{children:"Stuck"}),(0,t.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-red-100 text-red-600 border-red-200",children:(null===(Z=ek.jobs)||void 0===Z?void 0:Z.stuck)||0})]}),(0,t.jsxs)(x.SP,{value:"completed",className:"gap-1.5",children:[(0,t.jsx)("span",{children:"Completed"}),(0,t.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-green-100 text-green-600 border-green-200",children:(null===(T=ek.jobs)||void 0===T?void 0:T.completed)||0})]})]})})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h3",{className:"text-sm font-semibold",children:"Queue Jobs"}),(0,t.jsxs)("p",{className:"text-xs text-muted-foreground",children:["All jobs currently in the ",J," queue"]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[el.size>0&&(0,t.jsxs)(d.z,{variant:"destructive",size:"sm",onClick:()=>{U(eP.items.filter(e=>el.has(e.id)))},disabled:eh,children:[(0,t.jsx)(g.Z,{className:"mr-2 h-4 w-4"}),"Delete ",el.size," job",1===el.size?"":"s"]}),(0,t.jsxs)(h.C,{variant:"outline",children:["Auto Refresh: ",(0,t.jsx)(j.Z,{className:"h-4 w-4 animate-spin text-muted-foreground ml-1"})]})]})]}),(0,t.jsxs)("div",{className:"border rounded-lg",children:[eo?(0,t.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,t.jsx)(j.Z,{className:"h-6 w-6 animate-spin"})}):(null===(q=eP.items)||void 0===q?void 0:q.length)===0?(0,t.jsx)("div",{className:"text-center pt-8 text-muted-foreground",children:"No jobs in queue"}):(0,t.jsxs)(u.iA,{children:[(0,t.jsx)(u.xD,{children:(0,t.jsxs)(u.SC,{children:[(0,t.jsx)(u.ss,{className:"w-12",children:(0,t.jsx)(o.X,{checked:eP.items.filter(e=>"active"!==e.state).length>0&&el.size===eP.items.filter(e=>"active"!==e.state).length,onCheckedChange:()=>{let e=eP.items.filter(e=>"active"!==e.state);el.size===e.length&&e.length>0?en(new Set):en(new Set(e.map(e=>e.id)))},"aria-label":"Select all jobs"})}),(0,t.jsx)(u.ss,{children:"Name"}),(0,t.jsx)(u.ss,{children:"ID"}),(0,t.jsx)(u.ss,{children:"Attempts Made"}),(0,t.jsx)(u.ss,{children:"Created"}),(0,t.jsx)(u.ss,{children:"Processed On"}),(0,t.jsx)(u.ss,{children:"Finished On"}),(0,t.jsx)(u.ss,{children:"Inputs"}),(0,t.jsx)(u.ss,{children:"Outputs"}),(0,t.jsx)(u.ss,{className:"text-right",children:"Actions"})]})}),(0,t.jsx)(u.RM,{children:null===(D=eP.items)||void 0===D?void 0:D.map((e,s)=>(0,t.jsxs)(u.SC,{children:[(0,t.jsx)(u.pj,{children:(0,t.jsx)(o.X,{checked:el.has(e.id),onCheckedChange:()=>ew(e.id),disabled:"active"===e.state,"aria-label":"Select job ".concat(L(e))})}),(0,t.jsx)(u.pj,{className:"font-medium max-w-[200px] truncate",children:L(e)}),(0,t.jsx)(u.pj,{children:e.id}),(0,t.jsx)(u.pj,{children:e.attemptsMade}),(0,t.jsx)(u.pj,{children:e.timestamp?(0,C.WU)(new Date(e.timestamp),"MMM d, yyyy HH:mm:ss"):"N/A"}),(0,t.jsx)(u.pj,{children:e.processedOn?(0,C.WU)(new Date(e.processedOn),"MMM d, yyyy HH:mm:ss"):"N/A"}),(0,t.jsx)(u.pj,{children:e.finishedOn?(0,C.WU)(new Date(e.finishedOn),"MMM d, yyyy HH:mm:ss"):"N/A"}),(0,t.jsx)(u.pj,{children:e.data?(0,t.jsx)("div",{className:"text-xs max-w-[120px] truncate",children:(0,t.jsx)(k.J,{text:JSON.stringify(e.data)})}):null}),(0,t.jsx)(u.pj,{children:e.failedReason?(0,t.jsx)("div",{className:"text-xs text-red-600 max-w-[120px] truncate",children:(0,t.jsx)(k.J,{text:"Error: "+e.failedReason})}):(0,t.jsx)("div",{className:"text-xs text-muted-foreground max-w-[120px] truncate",children:(0,t.jsx)(k.J,{text:JSON.stringify(e.returnvalue)})})}),(0,t.jsxs)(u.pj,{className:"text-right",children:["active"!==e.state&&(0,t.jsx)(d.z,{variant:"ghost",size:"sm",onClick:()=>eN(e),disabled:eh,children:(0,t.jsx)(g.Z,{className:"h-4 w-4 text-red-600"})}),"failed"===e.state&&(0,t.jsxs)(d.z,{variant:"ghost",size:"sm",onClick:()=>ey(e),children:[(0,t.jsx)(b.Z,{className:"h-4 w-4 text-blue-600"}),"Retry"]})]})]},s))})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2",children:[(0,t.jsxs)("div",{className:"flex-1 text-sm text-muted-foreground",children:["(",(null==eP?void 0:null===(O=eP.pageInfo)||void 0===O?void 0:O.itemCount)||0," total"," ","items)."]}),(0,t.jsx)("div",{className:"flex items-center space-x-6 lg:space-x-8",children:(0,t.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,t.jsxs)(d.z,{variant:"outline",className:"hidden size-8 p-0 lg:flex",onClick:()=>{es(1),eu()},disabled:!(null==eP?void 0:null===(A=eP.pageInfo)||void 0===A?void 0:A.hasPreviousPage),children:[(0,t.jsx)("span",{className:"sr-only",children:"Go to first page"}),(0,t.jsx)(P.kRt,{className:"size-4"})]}),(0,t.jsxs)(d.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{var e,s,a;console.log("itemsData.data?.pageInfo.hasPreviousPage",null==eP?void 0:null===(e=eP.pageInfo)||void 0===e?void 0:e.hasPreviousPage),es((null==eP?void 0:null===(s=eP.pageInfo)||void 0===s?void 0:s.hasPreviousPage)?(null==eP?void 0:null===(a=eP.pageInfo)||void 0===a?void 0:a.currentPage)-1:1),eu()},disabled:!(null==eP?void 0:null===(M=eP.pageInfo)||void 0===M?void 0:M.hasPreviousPage),children:[(0,t.jsx)("span",{className:"sr-only",children:"Go to previous page"}),(0,t.jsx)(N.Z,{className:"size-4"})]}),(0,t.jsxs)(d.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{var e,s;es((null==eP?void 0:null===(e=eP.pageInfo)||void 0===e?void 0:e.hasNextPage)?(null==eP?void 0:null===(s=eP.pageInfo)||void 0===s?void 0:s.currentPage)+1:1),eu()},disabled:!(null==eP?void 0:eP.pageInfo.hasNextPage),children:[(0,t.jsx)("span",{className:"sr-only",children:"Go to next page"}),(0,t.jsx)(y.Z,{className:"size-4"})]})]})})]})]})]})]})]}),(0,t.jsx)(m.aR,{open:W.length>0,onOpenChange:e=>!e&&U([]),children:(0,t.jsxs)(m._T,{children:[(0,t.jsxs)(m.fY,{children:[(0,t.jsx)(m.f$,{children:1===W.length?"Delete Job?":"Delete ".concat(W.length," Jobs?")}),(0,t.jsx)(m.yT,{children:1===W.length?'Are you sure you want to delete the job "'.concat(null===(I=W[0])||void 0===I?void 0:I.name,'"? This action cannot be undone.'):"Are you sure you want to delete ".concat(W.length," jobs? This action cannot be undone.")})]}),(0,t.jsxs)(m.xo,{children:[(0,t.jsx)(m.le,{children:"Cancel"}),(0,t.jsxs)(m.OL,{onClick:eC,disabled:eh,children:[eh&&(0,t.jsx)(j.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Delete"]})]})]})}),(0,t.jsx)(m.aR,{open:!!G,onOpenChange:e=>!e&&B(null),children:(0,t.jsxs)(m._T,{children:[(0,t.jsxs)(m.fY,{children:[(0,t.jsx)(m.f$,{children:"Retry Job?"}),(0,t.jsxs)(m.yT,{children:['Are you sure you want to retry the job "',null==G?void 0:G.name,'"? This will schedule a new job with the same data.']})]}),(0,t.jsxs)(m.xo,{children:[(0,t.jsx)(m.le,{children:"Cancel"}),(0,t.jsx)(m.OL,{onClick:()=>{G&&Q(G)},disabled:eh,children:"Retry"})]})]})}),(0,t.jsx)(m.aR,{open:F,onOpenChange:Y,children:(0,t.jsxs)(m._T,{children:[(0,t.jsxs)(m.fY,{children:[(0,t.jsx)(m.f$,{children:"Pause Queue?"}),(0,t.jsxs)(m.yT,{children:["Are you sure you want to pause the ",J," queue? No jobs will be processed until the queue is resumed."]})]}),(0,t.jsxs)(m.xo,{children:[(0,t.jsx)(m.le,{children:"Cancel"}),(0,t.jsxs)(m.OL,{onClick:()=>{ej({variables:{queue:J}})},disabled:ef,children:[ef&&(0,t.jsx)(j.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Pause Queue"]})]})]})}),(0,t.jsx)(m.aR,{open:E,onOpenChange:V,children:(0,t.jsxs)(m._T,{children:[(0,t.jsxs)(m.fY,{children:[(0,t.jsx)(m.f$,{children:"Resume Queue?"}),(0,t.jsxs)(m.yT,{children:["Are you sure you want to resume the ",J," queue?."]})]}),(0,t.jsxs)(m.xo,{children:[(0,t.jsx)(m.le,{children:"Cancel"}),(0,t.jsxs)(m.OL,{onClick:()=>{ep({variables:{queue:J}})},disabled:ev,children:[ev&&(0,t.jsx)(j.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Resume Queue"]})]})]})}),(0,t.jsx)(m.aR,{open:$,onOpenChange:H,children:(0,t.jsxs)(m._T,{children:[(0,t.jsxs)(m.fY,{children:[(0,t.jsx)(m.f$,{children:"Drain Queue?"}),(0,t.jsxs)(m.yT,{children:["Are you sure you want to drain the ",J," queue? This will remove all jobs that are waiting or delayed, but not active, waiting-children, completed or failed. This action cannot be undone."]})]}),(0,t.jsxs)(m.xo,{children:[(0,t.jsx)(m.le,{children:"Cancel"}),(0,t.jsxs)(m.OL,{onClick:()=>{eg({variables:{queue:J}})},disabled:eb,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[eb&&(0,t.jsx)(j.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Drain Queue"]})]})]})})]})}},62910:function(e,s,a){a.d(s,{G:function(){return j}});var t=a(57437),l=a(29406),n=a(10842),i=a(38436),r=a(2265),d=a(42571),c=a(71558),o=a(69797),u=a(49712),x=a(26110),m=a(77992),h=a(94508);function j(e){let{className:s=null,code:a,language:c,slice:o=200}=e,{toast:j}=(0,m.pm)(),[f,p]=(0,r.useState)(null),v=async(e,s)=>{"string"!=typeof e&&(e=JSON.stringify(e,null,2)),p(await i.ZP.format(e,{parser:s,plugins:[l.Z,n.ZP]}))};return(0,r.useEffect)(()=>{"json"===c?v(a,"json"):"javascript"===c||"js"===c?v(a,"babel"):p(a)},[a,c]),(0,t.jsxs)(x.Vq,{children:[(0,t.jsx)(x.hg,{asChild:!0,children:(null==f?void 0:f.length)&&(0,t.jsx)(d.Z,{className:(0,h.cn)("cursor-pointer",s),showLineNumbers:!0,wrapLines:!0,lineProps:{style:{wordBreak:"break-all",whiteSpace:"pre-wrap"}},language:c||"plaintext",style:u.Z,children:"".concat(null==f?void 0:f.slice(0,o||200)," ").concat((null==f?void 0:f.length)>(o||200)?"...":"")})}),(0,t.jsx)(x.cZ,{className:"sm:max-w-[800px] overflow-hidden max-h-[500px] overflow-y-scroll",children:(0,t.jsxs)(x.fK,{children:[(0,t.jsx)(x.$N,{children:"Code"}),(0,t.jsx)("div",{className:"cursor-copy",onClick:async()=>{await navigator.clipboard.writeText(null!=f?f:""),j({title:"Copied to clipboard"})},children:(0,t.jsx)(d.Z,{className:(0,h.cn)(s),showLineNumbers:!0,wrapLines:!0,lineProps:{style:{wordBreak:"break-all",whiteSpace:"pre-wrap"}},language:c||"plaintext",style:u.Z,children:null!=f?f:""})})]})})]})}d.Z.registerLanguage("json",o.Z),d.Z.registerLanguage("javascript",c.Z)},37099:function(e,s,a){a.d(s,{OL:function(){return f},_T:function(){return u},aR:function(){return d},f$:function(){return h},fY:function(){return x},le:function(){return p},xo:function(){return m},yT:function(){return j}});var t=a(57437),l=a(23619),n=a(2265),i=a(62869),r=a(94508);let d=l.fC;l.xz;let c=l.h_,o=n.forwardRef((e,s)=>{let{className:a,...n}=e;return(0,t.jsx)(l.aV,{className:(0,r.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a),...n,ref:s})});o.displayName=l.aV.displayName;let u=n.forwardRef((e,s)=>{let{className:a,...n}=e;return(0,t.jsxs)(c,{children:[(0,t.jsx)(o,{}),(0,t.jsx)(l.VY,{ref:s,className:(0,r.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",a),...n})]})});u.displayName=l.VY.displayName;let x=e=>{let{className:s,...a}=e;return(0,t.jsx)("div",{className:(0,r.cn)("flex flex-col space-y-2 text-center sm:text-left",s),...a})};x.displayName="AlertDialogHeader";let m=e=>{let{className:s,...a}=e;return(0,t.jsx)("div",{className:(0,r.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...a})};m.displayName="AlertDialogFooter";let h=n.forwardRef((e,s)=>{let{className:a,...n}=e;return(0,t.jsx)(l.Dx,{ref:s,className:(0,r.cn)("text-lg font-semibold",a),...n})});h.displayName=l.Dx.displayName;let j=n.forwardRef((e,s)=>{let{className:a,...n}=e;return(0,t.jsx)(l.dk,{ref:s,className:(0,r.cn)("text-sm text-muted-foreground",a),...n})});j.displayName=l.dk.displayName;let f=n.forwardRef((e,s)=>{let{className:a,...n}=e;return(0,t.jsx)(l.aU,{ref:s,className:(0,r.cn)((0,i.d)(),a),...n})});f.displayName=l.aU.displayName;let p=n.forwardRef((e,s)=>{let{className:a,...n}=e;return(0,t.jsx)(l.$j,{ref:s,className:(0,r.cn)((0,i.d)({variant:"outline"}),"mt-2 sm:mt-0",a),...n})});p.displayName=l.$j.displayName},19060:function(e,s,a){a.d(s,{X:function(){return d}});var t=a(57437),l=a(9270),n=a(30401),i=a(2265),r=a(94508);let d=i.forwardRef((e,s)=>{let{className:a,...i}=e;return(0,t.jsx)(l.fC,{ref:s,className:(0,r.cn)("peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",a),...i,children:(0,t.jsx)(l.z$,{className:(0,r.cn)("flex items-center justify-center text-current"),children:(0,t.jsx)(n.Z,{className:"size-4"})})})});d.displayName=l.fC.displayName},73578:function(e,s,a){a.d(s,{RM:function(){return d},Rn:function(){return x},SC:function(){return c},iA:function(){return i},pj:function(){return u},ss:function(){return o},xD:function(){return r}});var t=a(57437),l=a(2265),n=a(94508);let i=l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:s,className:(0,n.cn)("w-full caption-bottom text-sm",a),...l})})});i.displayName="Table";let r=l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("thead",{ref:s,className:(0,n.cn)("[&_tr]:border-b",a),...l})});r.displayName="TableHeader";let d=l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("tbody",{ref:s,className:(0,n.cn)("[&_tr:last-child]:border-0",a),...l})});d.displayName="TableBody",l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("tfoot",{ref:s,className:(0,n.cn)("border-t bg-muted/50 font-medium [&>tr]:last:border-b-0",a),...l})}).displayName="TableFooter";let c=l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("tr",{ref:s,className:(0,n.cn)("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",a),...l})});c.displayName="TableRow";let o=l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("th",{ref:s,className:(0,n.cn)("h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",a),...l})});o.displayName="TableHead";let u=l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("td",{ref:s,className:(0,n.cn)("p-4 align-middle [&:has([role=checkbox])]:pr-0 [&:has([role=checkbox])]:w-[40px]",a),...l})});u.displayName="TableCell";let x=l.forwardRef((e,s)=>{let{className:a,...l}=e;return(0,t.jsx)("caption",{ref:s,className:(0,n.cn)("mt-4 text-sm text-muted-foreground",a),...l})});x.displayName="TableCaption"}}]);
2
+ //# sourceMappingURL=9105-143f12397a76a332.js.map