@exulu/frontend 1.7.0 → 1.9.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 (167) hide show
  1. package/dist/.next/BUILD_ID +1 -1
  2. package/dist/.next/app-build-manifest.json +124 -127
  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.js +1 -1
  7. package/dist/.next/server/app/(application)/agents/edit/[id]/page.js.nft.json +1 -1
  8. package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
  9. package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
  10. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +7 -7
  11. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js.nft.json +1 -1
  12. package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
  13. package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
  14. package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
  15. package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
  16. package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
  17. package/dist/.next/server/app/(application)/data/[[...query]]/page.js +4 -4
  18. package/dist/.next/server/app/(application)/data/[[...query]]/page.js.nft.json +1 -1
  19. package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
  20. package/dist/.next/server/app/(application)/evals/[id]/page.js +1 -1
  21. package/dist/.next/server/app/(application)/evals/[id]/page.js.nft.json +1 -1
  22. package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
  23. package/dist/.next/server/app/(application)/evals/cases/page.js +1 -1
  24. package/dist/.next/server/app/(application)/evals/cases/page.js.nft.json +1 -1
  25. package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
  26. package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
  27. package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
  28. package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
  29. package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
  30. package/dist/.next/server/app/(application)/projects/[project]/page.js +1 -1
  31. package/dist/.next/server/app/(application)/projects/[project]/page.js.nft.json +1 -1
  32. package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
  33. package/dist/.next/server/app/(application)/projects/page.js +1 -1
  34. package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
  35. package/dist/.next/server/app/(application)/prompts/page.js +1 -1
  36. package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
  37. package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
  38. package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
  39. package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
  40. package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
  41. package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
  42. package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
  43. package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
  44. package/dist/.next/server/app/(application)/workflows/page.js +1 -1
  45. package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
  46. package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
  47. package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  48. package/dist/.next/server/app/_not-found.html +1 -1
  49. package/dist/.next/server/app/_not-found.rsc +1 -1
  50. package/dist/.next/server/app/api/auth/[...nextauth]/route.js +2 -2
  51. package/dist/.next/server/app-paths-manifest.json +4 -4
  52. package/dist/.next/server/chunks/1025.js +1 -0
  53. package/dist/.next/server/chunks/1051.js +2 -2
  54. package/dist/.next/server/chunks/2270.js +12 -48
  55. package/dist/.next/server/chunks/3434.js +1 -1
  56. package/dist/.next/server/chunks/3503.js +1 -0
  57. package/dist/.next/server/chunks/3575.js +1 -1
  58. package/dist/.next/server/chunks/5084.js +1 -0
  59. package/dist/.next/server/chunks/5192.js +1 -1
  60. package/dist/.next/server/chunks/5485.js +1 -0
  61. package/dist/.next/server/chunks/5600.js +1 -1
  62. package/dist/.next/server/chunks/5974.js +1 -0
  63. package/dist/.next/server/chunks/6590.js +1 -1
  64. package/dist/.next/server/chunks/7471.js +1 -1
  65. package/dist/.next/server/chunks/8286.js +1 -1
  66. package/dist/.next/server/chunks/{3679.js → 9874.js} +5 -5
  67. package/dist/.next/server/middleware-manifest.json +5 -5
  68. package/dist/.next/server/pages/404.html +1 -1
  69. package/dist/.next/server/pages/500.html +1 -1
  70. package/dist/.next/server/server-reference-manifest.json +1 -1
  71. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js +2 -0
  72. package/dist/.next/static/chunks/1685-939396dad2f8f1e0.js.map +1 -0
  73. package/dist/.next/static/chunks/{4811-316807e25b634f9f.js → 192-72d6868cd891ccc6.js} +8 -8
  74. package/dist/.next/static/chunks/192-72d6868cd891ccc6.js.map +1 -0
  75. package/dist/.next/static/chunks/1957-cf44b1d31a9c7d5c.js +2 -0
  76. package/dist/.next/static/chunks/1957-cf44b1d31a9c7d5c.js.map +1 -0
  77. package/dist/.next/static/chunks/342-d9c2d6ae9f9435cb.js +2 -0
  78. package/dist/.next/static/chunks/342-d9c2d6ae9f9435cb.js.map +1 -0
  79. package/dist/.next/static/chunks/{3750-90a213a3c7cceb29.js → 3750-f45c59ef1cc79417.js} +2 -2
  80. package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js.map +1 -0
  81. package/dist/.next/static/chunks/552-39155a93c527ec6d.js +2 -0
  82. package/dist/.next/static/chunks/552-39155a93c527ec6d.js.map +1 -0
  83. package/dist/.next/static/chunks/{7856-9fa733bdd6429ba8.js → 6066-65606593516b2a3a.js} +18 -18
  84. package/dist/.next/static/chunks/6066-65606593516b2a3a.js.map +1 -0
  85. package/dist/.next/static/chunks/6367-59655a85d75e19be.js +2 -0
  86. package/dist/.next/static/chunks/6367-59655a85d75e19be.js.map +1 -0
  87. package/dist/.next/static/chunks/6373-601400fab8a3bb55.js +2 -0
  88. package/dist/.next/static/chunks/6373-601400fab8a3bb55.js.map +1 -0
  89. package/dist/.next/static/chunks/8030-9c926ea4dfd3a54e.js +2 -0
  90. package/dist/.next/static/chunks/8030-9c926ea4dfd3a54e.js.map +1 -0
  91. package/dist/.next/static/chunks/{6805-792cc8008b165c07.js → 8293-0e69d89d2dac7111.js} +10 -10
  92. package/dist/.next/static/chunks/8293-0e69d89d2dac7111.js.map +1 -0
  93. package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js +2 -0
  94. package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js.map +1 -0
  95. package/dist/.next/static/chunks/9953-95900a236271a222.js +2 -0
  96. package/dist/.next/static/chunks/9953-95900a236271a222.js.map +1 -0
  97. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e4a4693953329671.js +2 -0
  98. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-e4a4693953329671.js.map +1 -0
  99. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js +2 -0
  100. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-7edb1c7c850f982c.js.map +1 -0
  101. package/dist/.next/static/chunks/app/(application)/chat/layout-093baa26f89338bc.js +2 -0
  102. package/dist/.next/static/chunks/app/(application)/chat/layout-093baa26f89338bc.js.map +1 -0
  103. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js +2 -0
  104. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js.map +1 -0
  105. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js +2 -0
  106. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-a7728cf9b0524489.js.map +1 -0
  107. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-a39fef7444581565.js → page-827f50c6d1f150d0.js} +2 -2
  108. package/dist/.next/static/chunks/app/(application)/evals/cases/{page-a39fef7444581565.js.map → page-827f50c6d1f150d0.js.map} +1 -1
  109. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-f04fd5291a1ef7b1.js +2 -0
  110. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-f04fd5291a1ef7b1.js.map +1 -0
  111. package/dist/.next/static/chunks/app/(application)/prompts/page-2c500e9898447506.js +2 -0
  112. package/dist/.next/static/chunks/app/(application)/prompts/page-2c500e9898447506.js.map +1 -0
  113. package/dist/.next/static/chunks/app/(application)/workflows/{page-47dedb88cec600d5.js → page-e38f9456120dab69.js} +2 -2
  114. package/dist/.next/static/chunks/app/(application)/workflows/page-e38f9456120dab69.js.map +1 -0
  115. package/dist/.next/static/css/6f8c5212af8ef284.css +4 -0
  116. package/dist/.next/static/css/6f8c5212af8ef284.css.map +1 -0
  117. package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
  118. package/dist/package.json +1 -0
  119. package/package.json +1 -1
  120. package/dist/.next/server/chunks/2948.js +0 -1
  121. package/dist/.next/server/chunks/38.js +0 -1
  122. package/dist/.next/server/chunks/6623.js +0 -1
  123. package/dist/.next/server/chunks/7958.js +0 -1
  124. package/dist/.next/server/chunks/8050.js +0 -1
  125. package/dist/.next/static/chunks/1685-39351b8a15bbecab.js +0 -2
  126. package/dist/.next/static/chunks/1685-39351b8a15bbecab.js.map +0 -1
  127. package/dist/.next/static/chunks/1957-899d0d6d0d9c11fd.js +0 -2
  128. package/dist/.next/static/chunks/1957-899d0d6d0d9c11fd.js.map +0 -1
  129. package/dist/.next/static/chunks/3750-90a213a3c7cceb29.js.map +0 -1
  130. package/dist/.next/static/chunks/4811-316807e25b634f9f.js.map +0 -1
  131. package/dist/.next/static/chunks/5282-68f9880f1f951f44.js +0 -2
  132. package/dist/.next/static/chunks/5282-68f9880f1f951f44.js.map +0 -1
  133. package/dist/.next/static/chunks/6367-59cef3c74213925b.js +0 -2
  134. package/dist/.next/static/chunks/6367-59cef3c74213925b.js.map +0 -1
  135. package/dist/.next/static/chunks/6373-7908bd5269f95aa3.js +0 -2
  136. package/dist/.next/static/chunks/6373-7908bd5269f95aa3.js.map +0 -1
  137. package/dist/.next/static/chunks/6805-792cc8008b165c07.js.map +0 -1
  138. package/dist/.next/static/chunks/7856-9fa733bdd6429ba8.js.map +0 -1
  139. package/dist/.next/static/chunks/8030-c1b6be46253076cb.js +0 -2
  140. package/dist/.next/static/chunks/8030-c1b6be46253076cb.js.map +0 -1
  141. package/dist/.next/static/chunks/8269-0e17dac508340ccf.js +0 -2
  142. package/dist/.next/static/chunks/8269-0e17dac508340ccf.js.map +0 -1
  143. package/dist/.next/static/chunks/9105-78d236e8399181e0.js +0 -2
  144. package/dist/.next/static/chunks/9105-78d236e8399181e0.js.map +0 -1
  145. package/dist/.next/static/chunks/9621-f81c4d7c0ecf5a67.js +0 -2
  146. package/dist/.next/static/chunks/9621-f81c4d7c0ecf5a67.js.map +0 -1
  147. package/dist/.next/static/chunks/9953-dfb5fc0e5b74ec09.js +0 -2
  148. package/dist/.next/static/chunks/9953-dfb5fc0e5b74ec09.js.map +0 -1
  149. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-29794b9c33d2bf7e.js +0 -2
  150. package/dist/.next/static/chunks/app/(application)/agents/edit/[id]/page-29794b9c33d2bf7e.js.map +0 -1
  151. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-57021bb06089261a.js +0 -2
  152. package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/page-57021bb06089261a.js.map +0 -1
  153. package/dist/.next/static/chunks/app/(application)/chat/layout-42021d301fc609b6.js +0 -2
  154. package/dist/.next/static/chunks/app/(application)/chat/layout-42021d301fc609b6.js.map +0 -1
  155. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-841b2ed48010048e.js +0 -2
  156. package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-841b2ed48010048e.js.map +0 -1
  157. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-c1e7e0c81ca508c3.js +0 -2
  158. package/dist/.next/static/chunks/app/(application)/evals/[id]/page-c1e7e0c81ca508c3.js.map +0 -1
  159. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-0b2d9832e5a023e7.js +0 -2
  160. package/dist/.next/static/chunks/app/(application)/projects/[project]/page-0b2d9832e5a023e7.js.map +0 -1
  161. package/dist/.next/static/chunks/app/(application)/prompts/page-d2f36ff149385efd.js +0 -2
  162. package/dist/.next/static/chunks/app/(application)/prompts/page-d2f36ff149385efd.js.map +0 -1
  163. package/dist/.next/static/chunks/app/(application)/workflows/page-47dedb88cec600d5.js.map +0 -1
  164. package/dist/.next/static/css/a181dac3df0dc7a7.css +0 -4
  165. package/dist/.next/static/css/a181dac3df0dc7a7.css.map +0 -1
  166. /package/dist/.next/static/{J23NmkaMjAJYnE0jX_kO0 → ls-syPkq9-MWp-VWWDEZJ}/_buildManifest.js +0 -0
  167. /package/dist/.next/static/{J23NmkaMjAJYnE0jX_kO0 → ls-syPkq9-MWp-VWWDEZJ}/_ssgManifest.js +0 -0
@@ -0,0 +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":""}