@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
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8030],{8014:function(e,s,t){t.d(s,{P:function(){return C}});var a=t(57437),r=t(27689),l=t(2265),n=t(63251),i=t(7211),d=t(53647),o=t(66337),c=t(95805),m=t(98728),u=t(29202),f=t(14924),x=t(24156),p=t(30401),h=t(15863),g=t(18930),N=t(95186),j=t(26110),v=t(19378),y=t(94508),b=t(57054),w=t(23518),k=t(62869),R=t(26815);let z=[{value:"private",label:"Private",description:"Only you can see this agent",icon:o.Z},{value:"users",label:"Shared with Users",description:"Share with specific users",icon:c.Z},{value:"roles",label:"Shared with Roles",description:"Share with specific roles",icon:m.Z},{value:"public",label:"Public",description:"Anyone can see this agent",icon:u.Z},{value:"projects",label:"Projects",description:"Share with specific projects",icon:f.Z}];function C(e){var s,t;let{allowedModes:o,initialRightsMode:c,modalMode:m=!1,initialUsers:u,initialRoles:f,initialProjects:C,onChange:S}=e,[Z,_]=(0,l.useState)(c),[Y,P]=(0,l.useState)(u||[]),[V,B]=(0,l.useState)(f||[]),[O,Q]=(0,l.useState)([]),[E,I]=(0,l.useState)(!1),[L,U]=(0,l.useState)([]),[q,D]=(0,l.useState)(""),[A,F]=(0,l.useState)(!1),[G,W]=(0,l.useState)(!1),$=(0,n.x)(),{data:J,loading:T,refetch:H}=(0,i.aM)(r.fo,{variables:{page:1,limit:5,filters:L},skip:"users"!==Z||!q}),K=(0,i.aM)(r.l1,{fetchPolicy:"cache-first",nextFetchPolicy:"network-only",variables:{page:1,limit:30,filters:[{type:{ne:"api"}}]}}),M=(0,l.useCallback)(e=>{D(e);let s=[...L,{type:{ne:"api"}}],t=s.find(e=>e.email);(null==t?void 0:t.email)?t.email.contains=e:s.push({email:{contains:e}}),U(s),H()},[L,H]),X=async function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:5;if(W(!0),!Y||0===Y.length){Q([]),W(!1);return}let s=null==Y?void 0:Y.slice(0,e).map(async e=>{let{id:s,rights:t}=e;return{...(await $.query({query:r.L5,variables:{id:s}})).data.userById,rights:t}});Q(await Promise.all(s)),W(!1)};(0,l.useEffect)(()=>{X(5)},[]),(0,l.useEffect)(()=>{console.log("selectedUsers",Y),console.log("hydratedUsers",O),S(Z,Y,V,[])},[Z,Y,V]);let ee=null==O?void 0:O.slice(0,5).filter(e=>!!(null==e?void 0:e.id)),es=z;return(null==o?void 0:o.length)&&(es=z.filter(e=>o.includes(e.value))),(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)(R._,{className:"text-sm font-medium",children:"Visibility & sharing"}),(0,a.jsxs)(b.J2,{modal:m||!1,open:E,onOpenChange:I,children:[(0,a.jsx)(b.xo,{asChild:!0,children:(0,a.jsxs)(k.z,{variant:"outline",role:"combobox","aria-expanded":E,className:"w-full justify-between text-sm capitalize",children:[(null===(s=es.find(e=>e.value===Z))||void 0===s?void 0:s.label)||"Select visibility...",(0,a.jsx)(x.Z,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),(0,a.jsx)(b.yk,{className:"w-full p-0",children:(0,a.jsxs)(w.mY,{children:[(0,a.jsx)(w.sZ,{placeholder:"Search options..."}),(0,a.jsxs)(w.e8,{children:[(0,a.jsx)(w.rb,{children:"No options found."}),(0,a.jsx)(w.fu,{children:es.map(e=>(0,a.jsxs)(w.di,{onSelect:()=>{"users"!==e.value&&P([]),"roles"!==e.value&&B([]),_(e.value),I(!1)},children:[(0,a.jsx)(p.Z,{className:(0,y.cn)("mr-2 h-4 w-4",Z===e.value?"opacity-100":"opacity-0")}),(0,a.jsxs)("div",{className:"flex flex-col",children:[(0,a.jsx)("span",{children:e.label}),(0,a.jsx)("span",{className:"text-xs text-muted-foreground",children:e.description})]})]},e.value))})]})]})})]})]}),"users"===Z&&(0,a.jsx)("div",{className:"space-y-3 pt-3",children:(0,a.jsxs)("div",{children:[(0,a.jsx)(R._,{className:"text-sm font-medium",children:"Share with users"}),(0,a.jsx)("div",{className:"mt-2",children:(0,a.jsx)(N.I,{placeholder:"Search users by email...",value:q,onChange:e=>M(e.target.value),className:"text-sm"})}),T&&(0,a.jsxs)("div",{className:"mt-2 flex items-center justify-center py-4",children:[(0,a.jsx)(h.Z,{className:"h-4 w-4 animate-spin mr-2"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading users..."})]}),!T&&J&&(null===(t=J.usersPagination)||void 0===t?void 0:t.items.length)>0&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Search Results:"}),(0,a.jsx)("div",{className:"max-h-50 overflow-y-auto border rounded-lg",children:J.usersPagination.items.filter(e=>!Y.some(s=>s.id===e.id)).map(e=>(0,a.jsxs)("label",{className:"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer",children:[(0,a.jsx)("input",{type:"checkbox",checked:Y.some(s=>s.id===e.id),onChange:s=>{P(s=>[...s,{id:e.id,rights:"read"}]),Q(s=>[...s,{...e,rights:"read"}])}}),(0,a.jsx)("span",{className:"text-sm",children:e.email})]},e.id))}),(0,a.jsxs)("div",{className:"text-xs text-muted-foreground mt-2",children:[(0,a.jsx)("span",{className:"font-medium",children:"Note:"})," Only the first 5 users are shown, use the Search bar to find more users."]})]}),!T&&q&&J&&0===J.usersPagination.items.length&&(0,a.jsx)("div",{className:"mt-2 text-center py-4",children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"No users found"})}),(null==ee?void 0:ee.length)>0?(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected Users:"}),(0,a.jsxs)("div",{className:"space-y-1",children:[ee.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-2 border p-2 rounded-lg text-sm",children:[(0,a.jsx)("span",{className:"flex-1 pl-2",children:e.email}),(0,a.jsxs)(d.Ph,{value:e.rights,onValueChange:s=>{P(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t)),Q(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t))},children:[(0,a.jsx)(d.i4,{className:"h-6 w-20 text-xs",children:(0,a.jsx)(d.ki,{})}),(0,a.jsxs)(d.Bw,{children:[(0,a.jsx)(d.Ql,{value:"read",children:"Read"}),(0,a.jsx)(d.Ql,{value:"write",children:"Write"})]})]}),(0,a.jsx)(k.z,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0 hover:bg-blue-100",onClick:()=>{P(s=>s.filter(s=>s.id!==e.id)),Q(s=>s.filter(s=>s.id!==e.id))},children:(0,a.jsx)(g.Z,{className:"w-3 h-3"})})]},e.id)),Y&&Y.length>5&&(0,a.jsxs)(k.z,{variant:"link",type:"button",className:"h-auto p-0 text-blue-600 hover:text-blue-800 text-xs",onClick:()=>{X(50),F(!0)},children:["+ ",Y.length-5," more users"]})]})]}):(0,a.jsx)("div",{className:"mt-2 text-center py-4",children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"No users selected."})})]})}),"roles"===Z&&(0,a.jsx)("div",{className:"space-y-3",children:(0,a.jsxs)("div",{children:[(0,a.jsxs)(R._,{className:"text-sm font-medium",children:["Share with roles (",(null==V?void 0:V.length)||0,")"]}),(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Available Roles"}),K.loading&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-4 border rounded-lg",children:[(0,a.jsx)(h.Z,{className:"h-4 w-4 animate-spin mr-2"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading roles..."})]}),!K.loading&&K.data&&(0,a.jsx)("div",{className:"max-h-24 overflow-y-auto border rounded-lg",children:K.data.rolesPagination.items.map(e=>(0,a.jsxs)("label",{className:"flex items-center space-x-2 p-2 hover:bg-muted/50 cursor-pointer",children:[(0,a.jsx)("input",{type:"checkbox",checked:V.some(s=>s.id===e.id),onChange:s=>{s.target.checked?B(s=>[...s,{id:e.id,rights:"read"}]):B(s=>s.filter(s=>s.id!==e.id))}}),(0,a.jsx)("span",{className:"text-sm capitalize",children:e.name})]},e.id))})]}),V.length>0&&K.data&&(0,a.jsxs)("div",{className:"mt-2",children:[(0,a.jsx)("div",{className:"text-xs text-muted-foreground mb-1",children:"Selected Roles:"}),(0,a.jsx)("div",{className:"space-y-1",children:V.map(e=>{let s=K.data.rolesPagination.items.find(s=>s.id===e.id);return(0,a.jsxs)("div",{className:"flex items-center gap-2 border p-2 rounded-lg text-sm",children:[(0,a.jsx)("span",{className:"flex-1 pl-2 capitalize",children:null==s?void 0:s.name}),(0,a.jsxs)(d.Ph,{value:e.rights,onValueChange:s=>{B(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t))},children:[(0,a.jsx)(d.i4,{className:"h-6 text-xs w-20 border-none",children:(0,a.jsx)(d.ki,{})}),(0,a.jsxs)(d.Bw,{children:[(0,a.jsx)(d.Ql,{value:"read",children:(0,a.jsx)("span",{className:"pr-7",children:"Read"})}),(0,a.jsx)(d.Ql,{value:"write",children:(0,a.jsx)("span",{className:"pr-7",children:"Write"})})]})]}),(0,a.jsx)(k.z,{size:"sm",variant:"ghost",className:"h-5 w-5 p-0 hover:bg-blue-100",onClick:()=>{B(s=>s.filter(s=>s.id!==e.id))},children:(0,a.jsx)(g.Z,{className:"w-3 h-3"})})]},e.id)})})]})]})}),(0,a.jsx)(j.Vq,{open:A,onOpenChange:F,children:(0,a.jsxs)(j.cZ,{className:"sm:max-w-2xl max-h-[85vh] flex flex-col",children:[(0,a.jsxs)(j.fK,{children:[(0,a.jsxs)(j.$N,{children:["All Selected Users (",(null==Y?void 0:Y.length)||0,")"]}),(0,a.jsx)(j.Be,{children:"View and manage all selected users and their permissions"})]}),(0,a.jsxs)(v.x,{className:"flex-1 pr-4",children:[G&&(0,a.jsxs)("div",{className:"flex items-center justify-center py-8",children:[(0,a.jsx)(h.Z,{className:"h-6 w-6 animate-spin mr-2"}),(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"Loading users..."})]}),!G&&O.length>0&&(0,a.jsx)("div",{className:"space-y-2",children:O.map(e=>(0,a.jsxs)("div",{className:"flex items-center gap-3 border p-3 rounded-lg",children:[(0,a.jsx)("span",{className:"flex-1",children:e.email}),(0,a.jsxs)(d.Ph,{value:e.rights,onValueChange:s=>{P(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t)),Q(t=>t.map(t=>t.id===e.id?{...t,rights:s}:t))},children:[(0,a.jsx)(d.i4,{className:"w-24",children:(0,a.jsx)(d.ki,{})}),(0,a.jsxs)(d.Bw,{children:[(0,a.jsx)(d.Ql,{value:"read",children:"Read"}),(0,a.jsx)(d.Ql,{value:"write",children:"Write"})]})]}),(0,a.jsx)(k.z,{size:"sm",variant:"ghost",className:"h-8 w-8 p-0 hover:bg-destructive/10",onClick:()=>{P(s=>s.filter(s=>s.id!==e.id)),Q(s=>s.filter(s=>s.id!==e.id))},children:(0,a.jsx)(g.Z,{className:"w-4 h-4"})})]},e.id))}),!G&&0===O.length&&(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("span",{className:"text-sm text-muted-foreground",children:"No users selected"})})]})]})})]})}},35974:function(e,s,t){t.d(s,{C:function(){return i}});var a=t(57437),r=t(90535);t(2265);var l=t(94508);let n=(0,r.j)("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",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function i(e){let{className:s,variant:t,...r}=e;return(0,a.jsx)("div",{className:(0,l.cn)(n({variant:t}),s),...r})}},66070:function(e,s,t){t.d(s,{Ol:function(){return i},SZ:function(){return o},Zb:function(){return n},aY:function(){return c},eW:function(){return m},ll:function(){return d}});var a=t(57437),r=t(2265),l=t(94508);let n=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("rounded-lg border bg-card text-card-foreground shadow-sm",t),...r})});n.displayName="Card";let i=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("flex flex-col space-y-1.5 p-6",t),...r})});i.displayName="CardHeader";let d=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("h3",{ref:s,className:(0,l.cn)("text-2xl font-semibold leading-none tracking-tight",t),...r})});d.displayName="CardTitle";let o=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("p",{ref:s,className:(0,l.cn)("text-sm text-muted-foreground",t),...r})});o.displayName="CardDescription";let c=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("p-6 pt-0",t),...r})});c.displayName="CardContent";let m=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("div",{ref:s,className:(0,l.cn)("flex items-center p-6 pt-0",t),...r})});m.displayName="CardFooter"},23518:function(e,s,t){t.d(s,{di:function(){return f},e8:function(){return c},fu:function(){return u},mY:function(){return d},rb:function(){return m},sZ:function(){return o}});var a=t(57437),r=t(83918),l=t(73247),n=t(2265);t(26110);var i=t(94508);let d=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY,{ref:s,className:(0,i.cn)("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",t),...l})});d.displayName=r.mY.displayName;let o=n.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsxs)("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[(0,a.jsx)(l.Z,{className:"mr-2 size-4 shrink-0 opacity-50"}),(0,a.jsx)(r.mY.Input,{ref:s,className:(0,i.cn)("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",t),...n})]})});o.displayName=r.mY.Input.displayName;let c=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.List,{ref:s,className:(0,i.cn)("max-h-[300px] overflow-y-auto overflow-x-hidden",t),...l})});c.displayName=r.mY.List.displayName;let m=n.forwardRef((e,s)=>(0,a.jsx)(r.mY.Empty,{ref:s,className:"py-6 text-center text-sm",...e}));m.displayName=r.mY.Empty.displayName;let u=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.Group,{ref:s,className:(0,i.cn)("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",t),...l})});u.displayName=r.mY.Group.displayName,n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.Separator,{ref:s,className:(0,i.cn)("-mx-1 h-px bg-border",t),...l})}).displayName=r.mY.Separator.displayName;let f=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.mY.Item,{ref:s,className:(0,i.cn)("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",t),...l})});f.displayName=r.mY.Item.displayName},26110:function(e,s,t){t.d(s,{$N:function(){return p},Be:function(){return h},Vq:function(){return d},cN:function(){return x},cZ:function(){return u},fK:function(){return f},hg:function(){return o}});var a=t(57437),r=t(34567),l=t(32489),n=t(2265),i=t(94508);let d=r.fC,o=r.xz,c=r.h_;r.x8;let m=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.aV,{ref:s,className:(0,i.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",t),...l})});m.displayName=r.aV.displayName;let u=n.forwardRef((e,s)=>{let{className:t,children:n,...d}=e;return(0,a.jsxs)(c,{children:[(0,a.jsx)(m,{}),(0,a.jsxs)(r.VY,{ref:s,className:(0,i.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",t),...d,children:[n,(0,a.jsxs)(r.x8,{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",children:[(0,a.jsx)(l.Z,{className:"size-4"}),(0,a.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})});u.displayName=r.VY.displayName;let f=e=>{let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col space-y-1.5 text-center sm:text-left",s),...t})};f.displayName="DialogHeader";let x=e=>{let{className:s,...t}=e;return(0,a.jsx)("div",{className:(0,i.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",s),...t})};x.displayName="DialogFooter";let p=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.Dx,{ref:s,className:(0,i.cn)("text-lg font-semibold leading-none tracking-tight",t),...l})});p.displayName=r.Dx.displayName;let h=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.dk,{ref:s,className:(0,i.cn)("text-sm text-muted-foreground",t),...l})});h.displayName=r.dk.displayName},26815:function(e,s,t){t.d(s,{_:function(){return o}});var a=t(57437),r=t(6394),l=t(90535),n=t(2265),i=t(94508);let d=(0,l.j)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),o=n.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.f,{ref:s,className:(0,i.cn)(d(),t),...l})});o.displayName=r.f.displayName},57054:function(e,s,t){t.d(s,{J2:function(){return i},xo:function(){return d},yk:function(){return o}});var a=t(57437),r=t(27312),l=t(2265),n=t(94508);let i=r.fC,d=r.xz,o=l.forwardRef((e,s)=>{let{className:t,align:l="center",sideOffset:i=4,...d}=e;return(0,a.jsx)(r.h_,{children:(0,a.jsx)(r.VY,{ref:s,align:l,sideOffset:i,className:(0,n.cn)("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",t),...d})})});o.displayName=r.VY.displayName},19378:function(e,s,t){t.d(s,{B:function(){return d},x:function(){return i}});var a=t(57437),r=t(14488),l=t(2265),n=t(94508);let i=l.forwardRef((e,s)=>{let{className:t,children:l,...i}=e;return(0,a.jsxs)(r.fC,{ref:s,className:(0,n.cn)("relative overflow-hidden",t),...i,children:[(0,a.jsx)(r.l_,{className:"size-full rounded-[inherit]",children:l}),(0,a.jsx)(d,{}),(0,a.jsx)(r.Ns,{})]})});i.displayName=r.fC.displayName;let d=l.forwardRef((e,s)=>{let{className:t,orientation:l="vertical",...i}=e;return(0,a.jsx)(r.gb,{ref:s,orientation:l,className:(0,n.cn)("flex touch-none select-none transition-colors","vertical"===l&&"h-full w-2.5 border-l border-l-transparent p-[1px]","horizontal"===l&&"h-2.5 flex-col border-t border-t-transparent p-[1px]",t),...i,children:(0,a.jsx)(r.q4,{className:"relative flex-1 rounded-full bg-border"})})});d.displayName=r.gb.displayName},53647:function(e,s,t){t.d(s,{Bw:function(){return p},Ph:function(){return c},Ql:function(){return h},i4:function(){return u},ki:function(){return m}});var a=t(57437),r=t(46943),l=t(40875),n=t(22135),i=t(30401),d=t(2265),o=t(94508);let c=r.fC;r.ZA;let m=r.B4,u=d.forwardRef((e,s)=>{let{className:t,children:n,...i}=e;return(0,a.jsxs)(r.xz,{ref:s,className:(0,o.cn)("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",t),...i,children:[n,(0,a.jsx)(r.JO,{asChild:!0,children:(0,a.jsx)(l.Z,{className:"size-4 opacity-50"})})]})});u.displayName=r.xz.displayName;let f=d.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.u_,{ref:s,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...l,children:(0,a.jsx)(n.Z,{className:"size-4"})})});f.displayName=r.u_.displayName;let x=d.forwardRef((e,s)=>{let{className:t,...n}=e;return(0,a.jsx)(r.$G,{ref:s,className:(0,o.cn)("flex cursor-default items-center justify-center py-1",t),...n,children:(0,a.jsx)(l.Z,{className:"size-4"})})});x.displayName=r.$G.displayName;let p=d.forwardRef((e,s)=>{let{className:t,children:l,position:n="popper",...i}=e;return(0,a.jsx)(r.h_,{children:(0,a.jsxs)(r.VY,{ref:s,className:(0,o.cn)("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","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",t),position:n,...i,children:[(0,a.jsx)(f,{}),(0,a.jsx)(r.l_,{className:(0,o.cn)("p-1","popper"===n&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:l}),(0,a.jsx)(x,{})]})})});p.displayName=r.VY.displayName,d.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.__,{ref:s,className:(0,o.cn)("py-1.5 pl-8 pr-2 text-sm font-semibold",t),...l})}).displayName=r.__.displayName;let h=d.forwardRef((e,s)=>{let{className:t,children:l,...n}=e;return(0,a.jsxs)(r.ck,{ref:s,className:(0,o.cn)("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",t),...n,children:[(0,a.jsx)("span",{className:"absolute left-2 flex size-3.5 items-center justify-center",children:(0,a.jsx)(r.wU,{children:(0,a.jsx)(i.Z,{className:"size-4"})})}),(0,a.jsx)(r.eT,{children:l})]})});h.displayName=r.ck.displayName,d.forwardRef((e,s)=>{let{className:t,...l}=e;return(0,a.jsx)(r.Z0,{ref:s,className:(0,o.cn)("-mx-1 my-1 h-px bg-muted",t),...l})}).displayName=r.Z0.displayName},76818:function(e,s,t){t.d(s,{g:function(){return n}});var a=t(57437),r=t(2265),l=t(94508);let n=r.forwardRef((e,s)=>{let{className:t,...r}=e;return(0,a.jsx)("textarea",{className:(0,l.cn)("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",t),ref:s,...r})});n.displayName="Textarea"}}]);
2
- //# sourceMappingURL=8030-c1b6be46253076cb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/chunks/8030-c1b6be46253076cb.js","mappings":"iYAqCA,IAAMA,EAAqB,CACzB,CAAEC,MAAO,UAAWC,MAAO,UAAWC,YAAa,8BAA+BC,KAAMC,EAAAA,CAAIA,EAC5F,CAAEJ,MAAO,QAASC,MAAO,oBAAqBC,YAAa,4BAA6BC,KAAME,EAAAA,CAAKA,EACnG,CAAEL,MAAO,QAASC,MAAO,oBAAqBC,YAAa,4BAA6BC,KAAMG,EAAAA,CAAQA,EACtG,CAAEN,MAAO,SAAUC,MAAO,SAAUC,YAAa,4BAA6BC,KAAMI,EAAAA,CAAKA,EACzF,CAAEP,MAAO,WAAYC,MAAO,WAAYC,YAAa,+BAAgCC,KAAMK,EAAAA,CAAMA,EAClG,CAIM,SAASC,EAAYC,CAgB3B,MA+GcC,EAiE4BC,KAhMf,CAC1BC,aAAAA,CAAY,CACZC,kBAAAA,CAAiB,CACjBC,UAAAA,EAAY,EAAK,CACjBC,aAAAA,CAAY,CACZC,aAAAA,CAAY,CACZC,gBAAAA,CAAe,CACfC,SAAAA,CAAQ,CAST,CAhB2BT,EAiBpB,CAACU,EAAYC,EAAc,CAAGC,CAAAA,EAAAA,EAAAA,QAAAA,EAA4BR,GAC1D,CAACS,EAAeC,EAAiB,CAAGF,CAAAA,EAAAA,EAAAA,QAAAA,EAAqDN,GAAgB,EAAE,EAC3G,CAACS,EAAeC,EAAiB,CAAGJ,CAAAA,EAAAA,EAAAA,QAAAA,EAAqDL,GAAgB,EAAE,EAC3G,CAACU,EAAeC,EAAiB,CAAGN,CAAAA,EAAAA,EAAAA,QAAAA,EAAiB,EAAE,EACvD,CAACO,EAAwBC,EAA0B,CAAGR,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAC/D,CAACS,EAAaC,EAAe,CAAGV,CAAAA,EAAAA,EAAAA,QAAAA,EAAgB,EAAE,EAClD,CAACW,EAAiBC,EAAmB,CAAGZ,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IACjD,CAACa,EAAWC,EAAa,CAAGd,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IACrC,CAACe,EAAcC,EAAgB,CAAGhB,CAAAA,EAAAA,EAAAA,QAAAA,EAAS,IAC3CiB,EAASC,CAAAA,EAAAA,EAAAA,CAAAA,IAGT,CAAEC,KAAM7B,CAAS,CAAE8B,QAASC,CAAY,CAAEC,QAASC,CAAY,CAAE,CAAGC,CAAAA,EAAAA,EAAAA,EAAAA,EAASC,EAAAA,EAASA,CAAE,CAC5FC,UAAW,CAAEC,KAAM,EAAGC,MAAO,EAAGC,QAASpB,CAAY,EACrDqB,KAAMhC,UAAAA,GAA0B,CAACa,CACnC,GAEMoB,EAAQP,CAAAA,EAAAA,EAAAA,EAAAA,EAASQ,EAAAA,EAAcA,CAAE,CACrCC,YAAa,cACbC,gBAAiB,eACjBR,UAAW,CACTC,KAAM,EACNC,MAAO,GACPC,QAAS,CACP,CACEM,KAAM,CACJC,GAAI,KACN,CACF,EACD,CAEL,GAIMC,EAAcC,CAAAA,EAAAA,EAAAA,WAAAA,EAAY,IAC9B1B,EAAmBlC,GACnB,IAAM6D,EAAO,IAAI9B,EAAa,CAC5B0B,KAAM,CACJC,GAAI,KACN,CACF,EAAE,CACII,EAASD,EAAKE,IAAI,CAAC,GAAYC,EAAOC,KAAK,EAC7CH,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAQG,KAAK,EACfH,EAAOG,KAAK,CAACC,QAAQ,CAAGlE,EAExB6D,EAAKM,IAAI,CAAC,CACRF,MAAO,CACLC,SAAUlE,CACZ,CACF,GAEFgC,EAAe6B,GACfhB,GACF,EAAG,CAACd,EAAac,EAAa,EAExBuB,EAAe,qBAAOC,EAAAA,UAAAA,MAAAA,CAAAA,GAAAA,KAAAA,IAAAA,SAAAA,CAAAA,EAAAA,CAAAA,SAAAA,CAAAA,EAAAA,CAAe,EAEzC,GADA/B,EAAgB,IACZ,CAACf,GAAiBA,IAAAA,EAAc+C,MAAM,CAAQ,CAChD1C,EAAiB,EAAE,EACnBU,EAAgB,IAChB,MACF,CAEA,IAAMiC,EAAWhD,MAAAA,EAAAA,KAAAA,EAAAA,EAAeiD,KAAK,CAAC,EAAGH,GAAKI,GAAG,CAAC,MAAA/D,OAAO,CAAEgE,GAAAA,CAAE,CAAEC,OAAAA,CAAM,CAAE,CAAAjE,EAOrE,MAAO,CACL,GAAGkE,CAPQ,MAAMrC,EAAOsC,KAAK,CAAC,CAC9BA,MAAOC,EAAAA,EAAcA,CACrB9B,UAAW,CACT0B,GAAAA,CACF,CACF,IAEUjC,IAAI,CAACsC,QAAQ,CACrBJ,OAAAA,CACF,CACF,GAEA/C,EADgB,MAAMoD,QAAQC,GAAG,CAACV,IAElCjC,EAAgB,GAClB,EAEA4C,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRd,EAAa,EACf,EAAG,EAAE,EAELc,CAAAA,EAAAA,EAAAA,SAAAA,EAAU,KACRC,QAAQC,GAAG,CAAC,gBAAiB7D,GAC7B4D,QAAQC,GAAG,CAAC,gBAAiBzD,GAC7BR,EAASC,EAAwDG,EAAeE,EAAe,EAAE,CACnG,EAAG,CAACL,EAAYG,EAAeE,EAAc,EAE7C,IAAM4D,GAAgB1D,MAAAA,EAAAA,KAAAA,EAAAA,EAAe6C,KAAK,CAAC,EAAG,GAAGR,MAAM,CAACY,GAAQ,CAAC,CAACA,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAMF,EAAE,GAEtE/D,GAAoBZ,EAKxB,MAJIc,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAcyD,MAAM,GACtB3D,CAAAA,GAAoBZ,EAAmBiE,MAAM,CAACsB,GAAUzE,EAAa0E,QAAQ,CAACD,EAAOtF,KAAK,IAI1F,GAAAwF,EAAAC,IAAA,EAAAD,EAAAE,QAAA,YACE,GAAAF,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,sBACb,GAAAJ,EAAAK,GAAA,EAACC,EAAAA,CAAKA,CAAAA,CAACF,UAAU,+BAAsB,yBACvC,GAAAJ,EAAAC,IAAA,EAACM,EAAAA,EAAOA,CAAAA,CAACC,MAAOjF,GAAa,GAAOkF,KAAMpE,EAAwBqE,aAAcpE,YAC9E,GAAA0D,EAAAK,GAAA,EAACM,EAAAA,EAAcA,CAAAA,CAACC,QAAO,YACrB,GAAAZ,EAAAC,IAAA,EAACY,EAAAA,CAAMA,CAAAA,CACLC,QAAQ,UACRC,KAAK,WACLC,gBAAe3E,EACf+D,UAAU,sDAETjF,CAAAA,OAAAA,CAAAA,EAAAA,GAAkBoD,IAAI,CAACuB,GAAUA,EAAOtF,KAAK,GAAKoB,EAAAA,GAAlDT,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA+DV,KAAK,GAAI,uBACzE,GAAAuF,EAAAK,GAAA,EAACY,EAAAA,CAAcA,CAAAA,CAACb,UAAU,0CAG9B,GAAAJ,EAAAK,GAAA,EAACa,EAAAA,EAAcA,CAAAA,CAACd,UAAU,sBACxB,GAAAJ,EAAAC,IAAA,EAACkB,EAAAA,EAAOA,CAAAA,WACN,GAAAnB,EAAAK,GAAA,EAACe,EAAAA,EAAYA,CAAAA,CAACC,YAAY,sBAC1B,GAAArB,EAAAC,IAAA,EAACqB,EAAAA,EAAWA,CAAAA,WACV,GAAAtB,EAAAK,GAAA,EAACkB,EAAAA,EAAYA,CAAAA,UAAC,sBACd,GAAAvB,EAAAK,GAAA,EAACmB,EAAAA,EAAYA,CAAAA,UACVrG,GAAkB8D,GAAG,CAAC,GACrB,GAAAe,EAAAC,IAAA,EAACwB,EAAAA,EAAWA,CAAAA,CAEVC,SAAU,KACa,UAAjB5B,EAAOtF,KAAK,EACdwB,EAAiB,EAAE,EAEA,UAAjB8D,EAAOtF,KAAK,EACd0B,EAAiB,EAAE,EAErBL,EAAciE,EAAOtF,KAAK,EAC1B8B,EAA0B,GAC5B,YAEA,GAAA0D,EAAAK,GAAA,EAACsB,EAAAA,CAAKA,CAAAA,CACJvB,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,eACAhG,IAAekE,EAAOtF,KAAK,CAAG,cAAgB,eAGlD,GAAAwF,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,0BACb,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,UAAM/B,EAAOrF,KAAK,GACnB,GAAAuF,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,yCAAiCN,EAAOpF,WAAW,QApBhEoF,EAAOtF,KAAK,mBAgChCoB,UAAAA,GACC,GAAAoE,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,0BACb,GAAAJ,EAAAC,IAAA,EAACE,MAAAA,WACC,GAAAH,EAAAK,GAAA,EAACC,EAAAA,CAAKA,CAAAA,CAACF,UAAU,+BAAsB,qBAEvC,GAAAJ,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,gBACb,GAAAJ,EAAAK,GAAA,EAACyB,EAAAA,CAAKA,CAAAA,CACJT,YAAY,2BACZ7G,MAAOiC,EACPd,SAAU,GAAOwC,EAAY4D,EAAEC,MAAM,CAACxH,KAAK,EAC3C4F,UAAU,cAKbjD,GACC,GAAA6C,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,uDACb,GAAAJ,EAAAK,GAAA,EAAC4B,EAAAA,CAAOA,CAAAA,CAAC7B,UAAU,8BACnB,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,yCAAgC,wBAGnD,CAACjD,GAAgB/B,GAAaA,CAAAA,OAAAA,CAAAA,EAAAA,EAAU8G,eAAe,GAAzB9G,KAAAA,IAAAA,EAAAA,KAAAA,EAAAA,EAA2B+G,KAAK,CAACrD,MAAM,EAAG,GACvE,GAAAkB,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,iBACb,GAAAJ,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,8CAAqC,oBACpD,GAAAJ,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,sDACZhF,EAAU8G,eAAe,CAACC,KAAK,CAAC3D,MAAM,CAACY,GAAQ,CAACrD,EAAcqG,IAAI,CAACC,GAAYA,EAASnD,EAAE,GAAKE,EAAKF,EAAE,GAAGD,GAAG,CAAC,GAC5G,GAAAe,EAAAC,IAAA,EAACxF,QAAAA,CAAoB2F,UAAU,6EAC7B,GAAAJ,EAAAK,GAAA,EAACiC,QAAAA,CACCrE,KAAK,WACLsE,QAASxG,EAAcqG,IAAI,CAACC,GAAYA,EAASnD,EAAE,GAAKE,EAAKF,EAAE,EAC/DvD,SAAU,IACRK,EAAiBwG,GAAQ,IAAIA,EAAM,CAAEtD,GAAIE,EAAKF,EAAE,CAAEC,OAAQ,MAAO,EAAE,EACnE/C,EAAiBoG,GAAQ,IAAIA,EAAM,CACjC,GAAGpD,CAAI,CACPD,OAAQ,MACV,EAAE,CACJ,IAEF,GAAAa,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,mBAAWhB,EAAKX,KAAK,KAZ3BW,EAAKF,EAAE,KAgBvB,GAAAc,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,+CACb,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,uBAAc,UAAY,kFAI/C,CAACjD,GAAgBV,GAAmBrB,GAAaA,IAAAA,EAAU8G,eAAe,CAACC,KAAK,CAACrD,MAAM,EACtF,GAAAkB,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,iCACb,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,yCAAgC,qBAKnDP,CAAAA,MAAAA,GAAAA,KAAAA,EAAAA,GAAef,MAAM,EAAG,EACvB,GAAAkB,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,iBACb,GAAAJ,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,8CAAqC,oBACpD,GAAAJ,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,sBACZP,GAAcZ,GAAG,CAAC,GACjB,GAAAe,EAAAC,IAAA,EAACE,MAAAA,CAAkBC,UAAU,kEAC3B,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,uBAAehB,EAAKX,KAAK,GACzC,GAAAuB,EAAAC,IAAA,EAACwC,EAAAA,EAAMA,CAAAA,CACLjI,MAAO4E,EAAKD,MAAM,CAClBuD,cAAe,IACb1G,EAAiBwG,GACfA,EAAKvD,GAAG,CAACoD,GACPA,EAASnD,EAAE,GAAKE,EAAKF,EAAE,CACnB,CAAE,GAAGmD,CAAQ,CAAElD,OAAQ3E,CAAM,EAC7B6H,IAGRjG,EAAiBoG,GACfA,EAAKvD,GAAG,CAAC0D,GACPA,EAAazD,EAAE,GAAKE,EAAKF,EAAE,CACvB,CAAE,GAAGyD,CAAY,CAAExD,OAAQ3E,CAAM,EACjCmI,GAGV,YAEA,GAAA3C,EAAAK,GAAA,EAACuC,EAAAA,EAAaA,CAAAA,CAACxC,UAAU,4BACvB,GAAAJ,EAAAK,GAAA,EAACwC,EAAAA,EAAWA,CAAAA,CAAAA,KAEd,GAAA7C,EAAAC,IAAA,EAAC6C,EAAAA,EAAaA,CAAAA,WACZ,GAAA9C,EAAAK,GAAA,EAAC0C,EAAAA,EAAUA,CAAAA,CAACvI,MAAM,gBAAO,SACzB,GAAAwF,EAAAK,GAAA,EAAC0C,EAAAA,EAAUA,CAAAA,CAACvI,MAAM,iBAAQ,gBAG9B,GAAAwF,EAAAK,GAAA,EAACQ,EAAAA,CAAMA,CAAAA,CACLmC,KAAK,KACLlC,QAAQ,QACRV,UAAU,gCACV6C,QAAS,KACPjH,EAAiBwG,GAAQA,EAAKhE,MAAM,CAAC6D,GAAYA,EAASnD,EAAE,GAAKE,EAAKF,EAAE,GACxE9C,EAAiBoG,GAAQA,EAAKhE,MAAM,CAACmE,GAAgBA,EAAazD,EAAE,GAAKE,EAAKF,EAAE,EAClF,WAEA,GAAAc,EAAAK,GAAA,EAAC6C,EAAAA,CAAMA,CAAAA,CAAC9C,UAAU,gBAtCZhB,EAAKF,EAAE,GA0ClBnD,GAAiBA,EAAc+C,MAAM,CAAG,GACvC,GAAAkB,EAAAC,IAAA,EAACY,EAAAA,CAAMA,CAAAA,CACLC,QAAQ,OACR7C,KAAK,SACLmC,UAAU,uDACV6C,QAAS,KACPrE,EAAa,IACbhC,EAAa,GACf,YACD,KACIb,EAAc+C,MAAM,CAAG,EAAE,uBAMpC,GAAAkB,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,iCACb,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,yCAAgC,8BAQzDxE,UAAAA,GACC,GAAAoE,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,qBACb,GAAAJ,EAAAC,IAAA,EAACE,MAAAA,WACC,GAAAH,EAAAC,IAAA,EAACK,EAAAA,CAAKA,CAAAA,CAACF,UAAU,gCAAsB,qBAAmBnE,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAe6C,MAAM,GAAI,EAAE,OAGrF,GAAAkB,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,iBACb,GAAAJ,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,8CAAqC,oBACnDvC,EAAMX,OAAO,EACZ,GAAA8C,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,oEACb,GAAAJ,EAAAK,GAAA,EAAC4B,EAAAA,CAAOA,CAAAA,CAAC7B,UAAU,8BACnB,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,yCAAgC,wBAGnD,CAACvC,EAAMX,OAAO,EAAIW,EAAMZ,IAAI,EAC3B,GAAA+C,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,sDACZvC,EAAMZ,IAAI,CAACkG,eAAe,CAAChB,KAAK,CAAClD,GAAG,CAAC,GACpC,GAAAe,EAAAC,IAAA,EAACxF,QAAAA,CAAoB2F,UAAU,6EAC7B,GAAAJ,EAAAK,GAAA,EAACiC,QAAAA,CACCrE,KAAK,WACLsE,QAAStG,EAAcmG,IAAI,CAACC,GAAYA,EAASnD,EAAE,GAAK6B,EAAK7B,EAAE,EAC/DvD,SAAU,IACJoG,EAAEC,MAAM,CAACO,OAAO,CAClBrG,EAAiBsG,GAAQ,IAAIA,EAAM,CAAEtD,GAAI6B,EAAK7B,EAAE,CAAEC,OAAQ,MAAO,EAAE,EAEnEjD,EAAiBsG,GAAQA,EAAKhE,MAAM,CAAC6D,GAAYA,EAASnD,EAAE,GAAK6B,EAAK7B,EAAE,EAE5E,IAEF,GAAAc,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,8BAAsBW,EAAKqC,IAAI,KAZrCrC,EAAK7B,EAAE,QAoB1BjD,EAAc6C,MAAM,CAAG,GAAKjB,EAAMZ,IAAI,EACrC,GAAA+C,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,iBACb,GAAAJ,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,8CAAqC,oBACpD,GAAAJ,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,qBACZnE,EAAcgD,GAAG,CAAC,IACjB,IAAM8B,EAAOlD,EAAMZ,IAAI,CAACkG,eAAe,CAAChB,KAAK,CAAC5D,IAAI,CAAC,GAAY8E,EAAEnE,EAAE,GAAKoE,EAAapE,EAAE,EACvF,MACE,GAAAc,EAAAC,IAAA,EAACE,MAAAA,CAA0BC,UAAU,kEACnC,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,kCAA0BW,MAAAA,EAAAA,KAAAA,EAAAA,EAAMqC,IAAI,GACpD,GAAApD,EAAAC,IAAA,EAACwC,EAAAA,EAAMA,CAAAA,CACLjI,MAAO8I,EAAanE,MAAM,CAC1BuD,cAAe,IACbxG,EAAiBsG,GACfA,EAAKvD,GAAG,CAACoD,GACPA,EAASnD,EAAE,GAAKoE,EAAapE,EAAE,CAC3B,CAAE,GAAGmD,CAAQ,CAAElD,OAAQ3E,CAAM,EAC7B6H,GAGV,YAEA,GAAArC,EAAAK,GAAA,EAACuC,EAAAA,EAAaA,CAAAA,CAACxC,UAAU,wCACvB,GAAAJ,EAAAK,GAAA,EAACwC,EAAAA,EAAWA,CAAAA,CAAAA,KAEd,GAAA7C,EAAAC,IAAA,EAAC6C,EAAAA,EAAaA,CAAAA,WACZ,GAAA9C,EAAAK,GAAA,EAAC0C,EAAAA,EAAUA,CAAAA,CAACvI,MAAM,gBAChB,GAAAwF,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,gBAAO,WAEzB,GAAAJ,EAAAK,GAAA,EAAC0C,EAAAA,EAAUA,CAAAA,CAACvI,MAAM,iBAChB,GAAAwF,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,gBAAO,kBAI7B,GAAAJ,EAAAK,GAAA,EAACQ,EAAAA,CAAMA,CAAAA,CACLmC,KAAK,KACLlC,QAAQ,QACRV,UAAU,gCACV6C,QAAS,KACP/G,EAAiBsG,GAAQA,EAAKhE,MAAM,CAAC6D,GAAYA,EAASnD,EAAE,GAAKoE,EAAapE,EAAE,EAClF,WAEA,GAAAc,EAAAK,GAAA,EAAC6C,EAAAA,CAAMA,CAAAA,CAAC9C,UAAU,gBAlCZkD,EAAapE,EAAE,CAsC7B,aASZ,GAAAc,EAAAK,GAAA,EAACkD,EAAAA,EAAMA,CAAAA,CAAC9C,KAAM9D,EAAW+D,aAAc9D,WACrC,GAAAoD,EAAAC,IAAA,EAACuD,EAAAA,EAAaA,CAAAA,CAACpD,UAAU,oDACvB,GAAAJ,EAAAC,IAAA,EAACwD,EAAAA,EAAYA,CAAAA,WACX,GAAAzD,EAAAC,IAAA,EAACyD,EAAAA,EAAWA,CAAAA,WAAC,uBAAqB3H,CAAAA,MAAAA,EAAAA,KAAAA,EAAAA,EAAe+C,MAAM,GAAI,EAAE,OAC7D,GAAAkB,EAAAK,GAAA,EAACsD,EAAAA,EAAiBA,CAAAA,UAAC,gEAKrB,GAAA3D,EAAAC,IAAA,EAAC2D,EAAAA,CAAUA,CAAAA,CAACxD,UAAU,wBACnBvD,GACC,GAAAmD,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,kDACb,GAAAJ,EAAAK,GAAA,EAAC4B,EAAAA,CAAOA,CAAAA,CAAC7B,UAAU,8BACnB,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,yCAAgC,wBAInD,CAACvD,GAAgBV,EAAc2C,MAAM,CAAG,GACvC,GAAAkB,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,qBACZjE,EAAc8C,GAAG,CAAC,GACjB,GAAAe,EAAAC,IAAA,EAACE,MAAAA,CAAkBC,UAAU,0DAC3B,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,kBAAUhB,EAAKX,KAAK,GACpC,GAAAuB,EAAAC,IAAA,EAACwC,EAAAA,EAAMA,CAAAA,CACLjI,MAAO4E,EAAKD,MAAM,CAClBuD,cAAe,IAEb1G,EAAiBwG,GACfA,EAAKvD,GAAG,CAACoD,GACPA,EAASnD,EAAE,GAAKE,EAAKF,EAAE,CACnB,CAAE,GAAGmD,CAAQ,CAAElD,OAAQ3E,CAAM,EAC7B6H,IAIRjG,EAAiBoG,GACfA,EAAKvD,GAAG,CAAC0D,GACPA,EAAazD,EAAE,GAAKE,EAAKF,EAAE,CACvB,CAAE,GAAGyD,CAAY,CAAExD,OAAQ3E,CAAM,EACjCmI,GAGV,YAEA,GAAA3C,EAAAK,GAAA,EAACuC,EAAAA,EAAaA,CAAAA,CAACxC,UAAU,gBACvB,GAAAJ,EAAAK,GAAA,EAACwC,EAAAA,EAAWA,CAAAA,CAAAA,KAEd,GAAA7C,EAAAC,IAAA,EAAC6C,EAAAA,EAAaA,CAAAA,WACZ,GAAA9C,EAAAK,GAAA,EAAC0C,EAAAA,EAAUA,CAAAA,CAACvI,MAAM,gBAAO,SACzB,GAAAwF,EAAAK,GAAA,EAAC0C,EAAAA,EAAUA,CAAAA,CAACvI,MAAM,iBAAQ,gBAG9B,GAAAwF,EAAAK,GAAA,EAACQ,EAAAA,CAAMA,CAAAA,CACLmC,KAAK,KACLlC,QAAQ,QACRV,UAAU,sCACV6C,QAAS,KACPjH,EAAiBwG,GAAQA,EAAKhE,MAAM,CAAC6D,GAAYA,EAASnD,EAAE,GAAKE,EAAKF,EAAE,GACxE9C,EAAiBoG,GAAQA,EAAKhE,MAAM,CAACmE,GAAgBA,EAAazD,EAAE,GAAKE,EAAKF,EAAE,EAClF,WAEA,GAAAc,EAAAK,GAAA,EAAC6C,EAAAA,CAAMA,CAAAA,CAAC9C,UAAU,gBAxCZhB,EAAKF,EAAE,KA+CtB,CAACrC,GAAgBV,IAAAA,EAAc2C,MAAM,EACpC,GAAAkB,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAU,4BACb,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,yCAAgC,kCAQhE,0GC3fA,IAAMyD,EAAgBC,CAAAA,EAAAA,EAAAA,CAAAA,EACpB,yKACA,CACEC,SAAU,CACRjD,QAAS,CACPkD,QACE,4EACFC,UACE,kFACFC,YACE,wFACFC,QAAS,iBACX,CACF,EACAC,gBAAiB,CACftD,QAAS,SACX,CACF,GAOF,SAASuD,EAAMnJ,CAA4C,KAA5C,CAAEkF,UAAAA,CAAS,CAAEU,QAAAA,CAAO,CAAE,GAAGwD,EAAmB,CAA5CpJ,EACb,MACE,GAAA8E,EAAAK,GAAA,EAACF,MAAAA,CAAIC,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAGiC,EAAc,CAAE/C,QAAAA,CAAQ,GAAIV,GAAa,GAAGkE,CAAK,EAExE,sNC7BA,IAAMC,EAAOC,EAAAA,UAAgB,CAG3B,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACF,MAAAA,CACCsE,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,2DACAxB,GAED,GAAGkE,CAAK,IAGbC,CAAAA,EAAKG,WAAW,CAAG,OAEnB,IAAMC,EAAaH,EAAAA,UAAgB,CAGjC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACF,MAAAA,CACCsE,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,gCAAiCxB,GAC9C,GAAGkE,CAAK,IAGbK,CAAAA,EAAWD,WAAW,CAAG,aAEzB,IAAME,EAAYJ,EAAAA,UAAgB,CAGhC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACwE,KAAAA,CACCJ,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,qDACAxB,GAED,GAAGkE,CAAK,IAGbM,CAAAA,EAAUF,WAAW,CAAG,YAExB,IAAMI,EAAkBN,EAAAA,UAAgB,CAGtC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAAC0E,IAAAA,CACCN,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,gCAAiCxB,GAC9C,GAAGkE,CAAK,IAGbQ,CAAAA,EAAgBJ,WAAW,CAAG,kBAE9B,IAAMM,EAAcR,EAAAA,UAAgB,CAGlC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACF,MAAAA,CAAIsE,IAAKA,EAAKrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,WAAYxB,GAAa,GAAGkE,CAAK,IAEhEU,CAAAA,EAAYN,WAAW,CAAG,cAE1B,IAAMO,EAAaT,EAAAA,UAAgB,CAGjC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACF,MAAAA,CACCsE,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,6BAA8BxB,GAC3C,GAAGkE,CAAK,IAGbW,CAAAA,EAAWP,WAAW,CAAG,oQClEzB,IAAMvD,EAAUqD,EAAAA,UAAgB,CAG9B,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAAC6E,EAAAA,EAAgBA,CAAAA,CACfT,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,4FACAxB,GAED,GAAGkE,CAAK,IAGbnD,CAAAA,EAAQuD,WAAW,CAAGQ,EAAAA,EAAgBA,CAACR,WAAW,CAgBlD,IAAMtD,EAAeoD,EAAAA,UAAgB,CAGnC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAC,IAAA,EAACE,MAAAA,CAAIC,UAAU,kCAAkC+E,qBAAmB,aAClE,GAAAnF,EAAAK,GAAA,EAAC+E,EAAAA,CAAMA,CAAAA,CAAChF,UAAU,oCAClB,GAAAJ,EAAAK,GAAA,EAAC6E,EAAAA,EAAgBA,CAACpD,KAAK,EACrB2C,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,yJACAxB,GAED,GAAGkE,CAAK,OAKflD,CAAAA,EAAasD,WAAW,CAAGQ,EAAAA,EAAgBA,CAACpD,KAAK,CAAC4C,WAAW,CAE7D,IAAMpD,EAAckD,EAAAA,UAAgB,CAGlC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAAC6E,EAAAA,EAAgBA,CAACG,IAAI,EACpBZ,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,kDAAmDxB,GAChE,GAAGkE,CAAK,IAIbhD,CAAAA,EAAYoD,WAAW,CAAGQ,EAAAA,EAAgBA,CAACG,IAAI,CAACX,WAAW,CAE3D,IAAMnD,EAAeiD,EAAAA,UAAgB,CAGnC,CAACF,EAAOG,IACR,GAAAzE,EAAAK,GAAA,EAAC6E,EAAAA,EAAgBA,CAACI,KAAK,EACrBb,IAAKA,EACLrE,UAAU,2BACT,GAAGkE,CAAK,GAIb/C,CAAAA,EAAamD,WAAW,CAAGQ,EAAAA,EAAgBA,CAACI,KAAK,CAACZ,WAAW,CAE7D,IAAMlD,EAAegD,EAAAA,UAAgB,CAGnC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAAC6E,EAAAA,EAAgBA,CAACK,KAAK,EACrBd,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,yNACAxB,GAED,GAAGkE,CAAK,IAIb9C,CAAAA,EAAakD,WAAW,CAAGQ,EAAAA,EAAgBA,CAACK,KAAK,CAACb,WAAW,CAY7Dc,EAVyBhB,UAAgB,CAGvC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAAC6E,EAAAA,EAAgBA,CAACO,SAAS,EACzBhB,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,uBAAwBxB,GACrC,GAAGkE,CAAK,KAGII,WAAW,CAAGQ,EAAAA,EAAgBA,CAACO,SAAS,CAACf,WAAW,CAErE,IAAMjD,EAAc+C,EAAAA,UAAgB,CAGlC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAAC6E,EAAAA,EAAgBA,CAACQ,IAAI,EACpBjB,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,gOACAxB,GAED,GAAGkE,CAAK,IAIb7C,CAAAA,EAAYiD,WAAW,CAAGQ,EAAAA,EAAgBA,CAACQ,IAAI,CAAChB,WAAW,mQCtH3D,IAAMnB,EAASoC,EAAAA,EAAoB,CAE7BC,EAAgBD,EAAAA,EAAuB,CAEvCE,EAAeF,EAAAA,EAAsB,CAEvBA,EAAAA,EAAqB,CAEzC,IAAMG,EAAgBtB,EAAAA,UAAgB,CAGpC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACsF,EAAAA,EAAuB,EACtBlB,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,0JACAxB,GAED,GAAGkE,CAAK,IAGbwB,CAAAA,EAAcpB,WAAW,CAAGiB,EAAAA,EAAuB,CAACjB,WAAW,CAE/D,IAAMlB,EAAgBgB,EAAAA,UAAgB,CAGpC,CAAAtJ,EAAoCuJ,QAAnC,CAAErE,UAAAA,CAAS,CAAE2F,SAAAA,CAAQ,CAAE,GAAGzB,EAAO,CAAApJ,QAClC,GAAA8E,EAAAC,IAAA,EAAC4F,EAAAA,WACC,GAAA7F,EAAAK,GAAA,EAACyF,EAAAA,CAAAA,GACD,GAAA9F,EAAAC,IAAA,EAAC0F,EAAAA,EAAuB,EACtBlB,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,8fACAxB,GAED,GAAGkE,CAAK,WAERyB,EACD,GAAA/F,EAAAC,IAAA,EAAC0F,EAAAA,EAAqB,EAACvF,UAAU,0RAC/B,GAAAJ,EAAAK,GAAA,EAAC2F,EAAAA,CAACA,CAAAA,CAAC5F,UAAU,WACb,GAAAJ,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,mBAAU,oBAKlCoD,CAAAA,EAAckB,WAAW,CAAGiB,EAAAA,EAAuB,CAACjB,WAAW,CAE/D,IAAMjB,EAAe,OAAC,CACpBrD,UAAAA,CAAS,CACT,GAAGkE,EACkC,CAAApJ,QACrC,GAAA8E,EAAAK,GAAA,EAACF,MAAAA,CACCC,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,qDACAxB,GAED,GAAGkE,CAAK,GAGbb,CAAAA,EAAaiB,WAAW,CAAG,eAE3B,IAAMuB,EAAe,OAAC,CACpB7F,UAAAA,CAAS,CACT,GAAGkE,EACkC,CAAApJ,QACrC,GAAA8E,EAAAK,GAAA,EAACF,MAAAA,CACCC,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,gEACAxB,GAED,GAAGkE,CAAK,GAGb2B,CAAAA,EAAavB,WAAW,CAAG,eAE3B,IAAMhB,EAAcc,EAAAA,UAAgB,CAGlC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACsF,EAAAA,EAAqB,EACpBlB,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,oDACAxB,GAED,GAAGkE,CAAK,IAGbZ,CAAAA,EAAYgB,WAAW,CAAGiB,EAAAA,EAAqB,CAACjB,WAAW,CAE3D,IAAMf,EAAoBa,EAAAA,UAAgB,CAGxC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACsF,EAAAA,EAA2B,EAC1BlB,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,gCAAiCxB,GAC9C,GAAGkE,CAAK,IAGbX,CAAAA,EAAkBe,WAAW,CAAGiB,EAAAA,EAA2B,CAACjB,WAAW,iHCpGvE,IAAMwB,EAAgBpC,CAAAA,EAAAA,EAAAA,CAAAA,EACpB,8FAGIxD,EAAQkE,EAAAA,UAAgB,CAI5B,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAAC8F,EAAAA,CAAmB,EAClB1B,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAGsE,IAAiB9F,GAC9B,GAAGkE,CAAK,IAGbhE,CAAAA,EAAMoE,WAAW,CAAGyB,EAAAA,CAAmB,CAACzB,WAAW,wJChBnD,IAAMnE,EAAU6F,EAAAA,EAAqB,CAE/BzF,EAAiByF,EAAAA,EAAwB,CAEzClF,EAAiBsD,EAAAA,UAAgB,CAGrC,CAAAtJ,EAA4DuJ,QAA3D,CAAErE,UAAAA,CAAS,CAAEiG,MAAAA,EAAQ,QAAQ,CAAEC,WAAAA,EAAa,CAAC,CAAE,GAAGhC,EAAO,CAAApJ,QAC1D,GAAA8E,EAAAK,GAAA,EAAC+F,EAAAA,EAAuB,WACtB,GAAApG,EAAAK,GAAA,EAAC+F,EAAAA,EAAwB,EACvB3B,IAAKA,EACL4B,MAAOA,EACPC,WAAYA,EACZlG,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,6aACAxB,GAED,GAAGkE,CAAK,MAIfpD,CAAAA,EAAewD,WAAW,CAAG0B,EAAAA,EAAwB,CAAC1B,WAAW,8HCrBjE,IAAMd,EAAaY,EAAAA,UAAgB,CAGjC,CAAAtJ,EAAoCuJ,QAAnC,CAAErE,UAAAA,CAAS,CAAE2F,SAAAA,CAAQ,CAAE,GAAGzB,EAAO,CAAApJ,QAClC,GAAA8E,EAAAC,IAAA,EAACsG,EAAAA,EAAwB,EACvB9B,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,2BAA4BxB,GACzC,GAAGkE,CAAK,WAET,GAAAtE,EAAAK,GAAA,EAACkG,EAAAA,EAA4B,EAACnG,UAAU,uCACrC2F,IAEH,GAAA/F,EAAAK,GAAA,EAACmG,EAAAA,CAAAA,GACD,GAAAxG,EAAAK,GAAA,EAACkG,EAAAA,EAA0B,SAG/B3C,CAAAA,EAAWc,WAAW,CAAG6B,EAAAA,EAAwB,CAAC7B,WAAW,CAE7D,IAAM8B,EAAYhC,EAAAA,UAAgB,CAGhC,CAAAtJ,EAAoDuJ,QAAnD,CAAErE,UAAAA,CAAS,CAAEqG,YAAAA,EAAc,UAAU,CAAE,GAAGnC,EAAO,CAAApJ,QAClD,GAAA8E,EAAAK,GAAA,EAACkG,EAAAA,EAAuC,EACtC9B,IAAKA,EACLgC,YAAaA,EACbrG,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,gDACA6E,aAAAA,GACE,qDACFA,eAAAA,GACE,uDACFrG,GAED,GAAGkE,CAAK,UAET,GAAAtE,EAAAK,GAAA,EAACkG,EAAAA,EAAmC,EAACnG,UAAU,8CAGnDoG,CAAAA,EAAU9B,WAAW,CAAG6B,EAAAA,EAAuC,CAAC7B,WAAW,yOCrC3E,IAAMjC,EAASiE,EAAAA,EAAoB,CAEfA,EAAAA,EAAqB,CAEzC,IAAM7D,EAAc6D,EAAAA,EAAqB,CAEnC9D,EAAgB4B,EAAAA,UAAgB,CAGpC,CAAAtJ,EAAoCuJ,QAAnC,CAAErE,UAAAA,CAAS,CAAE2F,SAAAA,CAAQ,CAAE,GAAGzB,EAAO,CAAApJ,QAClC,GAAA8E,EAAAC,IAAA,EAACyG,EAAAA,EAAuB,EACtBjC,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,kTACAxB,GAED,GAAGkE,CAAK,WAERyB,EACD,GAAA/F,EAAAK,GAAA,EAACqG,EAAAA,EAAoB,EAAC9F,QAAO,YAC3B,GAAAZ,EAAAK,GAAA,EAACsG,EAAAA,CAAWA,CAAAA,CAACvG,UAAU,4BAI7BwC,CAAAA,EAAc8B,WAAW,CAAGgC,EAAAA,EAAuB,CAAChC,WAAW,CAE/D,IAAMkC,EAAuBpC,EAAAA,UAAgB,CAG3C,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACqG,EAAAA,EAA8B,EAC7BjC,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,uDACAxB,GAED,GAAGkE,CAAK,UAET,GAAAtE,EAAAK,GAAA,EAACwG,EAAAA,CAASA,CAAAA,CAACzG,UAAU,cAGzBwG,CAAAA,EAAqBlC,WAAW,CAAGgC,EAAAA,EAA8B,CAAChC,WAAW,CAE7E,IAAMoC,EAAyBtC,EAAAA,UAAgB,CAG7C,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACqG,EAAAA,EAAgC,EAC/BjC,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,uDACAxB,GAED,GAAGkE,CAAK,UAET,GAAAtE,EAAAK,GAAA,EAACsG,EAAAA,CAAWA,CAAAA,CAACvG,UAAU,cAG3B0G,CAAAA,EAAuBpC,WAAW,CAChCgC,EAAAA,EAAgC,CAAChC,WAAW,CAE9C,IAAM5B,EAAgB0B,EAAAA,UAAgB,CAGpC,CAAAtJ,EAAyDuJ,QAAxD,CAAErE,UAAAA,CAAS,CAAE2F,SAAAA,CAAQ,CAAEgB,SAAAA,EAAW,QAAQ,CAAE,GAAGzC,EAAO,CAAApJ,QACvD,GAAA8E,EAAAK,GAAA,EAACqG,EAAAA,EAAsB,WACrB,GAAA1G,EAAAC,IAAA,EAACyG,EAAAA,EAAuB,EACtBjC,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,scACAmF,WAAAA,GACE,kIACF3G,GAEF2G,SAAUA,EACT,GAAGzC,CAAK,WAET,GAAAtE,EAAAK,GAAA,EAACuG,EAAAA,CAAAA,GACD,GAAA5G,EAAAK,GAAA,EAACqG,EAAAA,EAAwB,EACvBtG,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,MACAmF,WAAAA,GACE,oGAGHhB,IAEH,GAAA/F,EAAAK,GAAA,EAACyG,EAAAA,CAAAA,SAIPhE,CAAAA,EAAc4B,WAAW,CAAGgC,EAAAA,EAAuB,CAAChC,WAAW,CAY/DsC,EAVoBxC,UAAgB,CAGlC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACqG,EAAAA,EAAqB,EACpBjC,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,yCAA0CxB,GACvD,GAAGkE,CAAK,KAGDI,WAAW,CAAGgC,EAAAA,EAAqB,CAAChC,WAAW,CAE3D,IAAM3B,EAAayB,EAAAA,UAAgB,CAGjC,CAAAtJ,EAAoCuJ,QAAnC,CAAErE,UAAAA,CAAS,CAAE2F,SAAAA,CAAQ,CAAE,GAAGzB,EAAO,CAAApJ,QAClC,GAAA8E,EAAAC,IAAA,EAACyG,EAAAA,EAAoB,EACnBjC,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,4NACAxB,GAED,GAAGkE,CAAK,WAET,GAAAtE,EAAAK,GAAA,EAACwB,OAAAA,CAAKzB,UAAU,qEACd,GAAAJ,EAAAK,GAAA,EAACqG,EAAAA,EAA6B,WAC5B,GAAA1G,EAAAK,GAAA,EAACsB,EAAAA,CAAKA,CAAAA,CAACvB,UAAU,eAIrB,GAAAJ,EAAAK,GAAA,EAACqG,EAAAA,EAAwB,WAAEX,QAG/BhD,CAAAA,EAAW2B,WAAW,CAAGgC,EAAAA,EAAoB,CAAChC,WAAW,CAYzDuC,EAVwBzC,UAAgB,CAGtC,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,QACxB,GAAA8E,EAAAK,GAAA,EAACqG,EAAAA,EAAyB,EACxBjC,IAAKA,EACLrE,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EAAG,2BAA4BxB,GACzC,GAAGkE,CAAK,KAGGI,WAAW,CAAGgC,EAAAA,EAAyB,CAAChC,WAAW,4FC3InE,IAAMwC,EAAW1C,EAAAA,UAAgB,CAC/B,CAAAtJ,EAA0BuJ,QAAzB,CAAErE,UAAAA,CAAS,CAAE,GAAGkE,EAAO,CAAApJ,EACtB,MACE,GAAA8E,EAAAK,GAAA,EAAC8G,WAAAA,CACC/G,UAAWwB,CAAAA,EAAAA,EAAAA,EAAAA,EACT,uSACAxB,GAEFqE,IAAKA,EACJ,GAAGH,CAAK,EAGf,EAEF4C,CAAAA,EAASxC,WAAW,CAAG","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","Folder","RBACControl","param","visibilityOptions","usersData","allowedModes","initialRightsMode","modalMode","initialUsers","initialRoles","initialProjects","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,2 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8269],{63639:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("AlertTriangle",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z",key:"c3ski4"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]])},55455:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Book",[["path",{d:"M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20",key:"t4utmx"}]])},66901:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("CheckCircle2",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},65302:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("CheckCircle",[["path",{d:"M22 11.08V12a10 10 0 1 1-5.93-9.14",key:"g774vq"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]])},24156:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ChevronsUpDown",[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]])},91723:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]])},45554:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]])},15863:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Loader2",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]])},53417:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("MessageSquare",[["path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z",key:"1lielz"}]])},88893:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Pen",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}]])},73247:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},15868:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("SquarePen",[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z",key:"1lpok0"}]])},61094:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Square",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]])},11239:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Zap",[["polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2",key:"45s27k"}]])},1119:function(e,t,n){n.d(t,{Z:function(){return r}});function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}},9270:function(e,t,n){n.d(t,{fC:function(){return b},z$:function(){return C}});var r=n(2265),o=n(98575),i=n(73966),a=n(6741),l=n(80886),c=n(6718),u=n(90420),s=n(71599),d=n(66840),f=n(57437),p="Checkbox",[m,h]=(0,i.b)(p),[v,y]=m(p);function g(e){let{__scopeCheckbox:t,checked:n,children:o,defaultChecked:i,disabled:a,form:c,name:u,onCheckedChange:s,required:d,value:m="on",internal_do_not_use_render:h}=e,[y,g]=(0,l.T)({prop:n,defaultProp:null!=i&&i,onChange:s,caller:p}),[k,T]=r.useState(null),[b,w]=r.useState(null),C=r.useRef(!1),S=!k||!!c||!!k.closest("form"),N={checked:y,disabled:a,setChecked:g,control:k,setControl:T,name:u,form:c,value:m,hasConsumerStoppedPropagationRef:C,required:d,defaultChecked:!x(i)&&i,isFormControl:S,bubbleInput:b,setBubbleInput:w};return(0,f.jsx)(v,{scope:t,...N,children:"function"==typeof h?h(N):o})}var k="CheckboxTrigger",T=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,onKeyDown:i,onClick:l,...c}=e,{control:u,value:s,disabled:p,checked:m,required:h,setControl:v,setChecked:g,hasConsumerStoppedPropagationRef:T,isFormControl:b,bubbleInput:w}=y(k,n),C=(0,o.e)(t,v),S=r.useRef(m);return r.useEffect(()=>{let e=null==u?void 0:u.form;if(e){let t=()=>g(S.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[u,g]),(0,f.jsx)(d.WV.button,{type:"button",role:"checkbox","aria-checked":x(m)?"mixed":m,"aria-required":h,"data-state":E(m),"data-disabled":p?"":void 0,disabled:p,value:s,...c,ref:C,onKeyDown:(0,a.M)(i,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,a.M)(l,e=>{g(e=>!!x(e)||!e),w&&b&&(T.current=e.isPropagationStopped(),T.current||e.stopPropagation())})})});T.displayName=k;var b=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:o,defaultChecked:i,required:a,disabled:l,value:c,onCheckedChange:u,form:s,...d}=e;return(0,f.jsx)(g,{__scopeCheckbox:n,checked:o,defaultChecked:i,disabled:l,required:a,onCheckedChange:u,name:r,form:s,value:c,internal_do_not_use_render:e=>{let{isFormControl:r}=e;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(T,{...d,ref:t,__scopeCheckbox:n}),r&&(0,f.jsx)(N,{__scopeCheckbox:n})]})}})});b.displayName=p;var w="CheckboxIndicator",C=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...o}=e,i=y(w,n);return(0,f.jsx)(s.z,{present:r||x(i.checked)||!0===i.checked,children:(0,f.jsx)(d.WV.span,{"data-state":E(i.checked),"data-disabled":i.disabled?"":void 0,...o,ref:t,style:{pointerEvents:"none",...e.style}})})});C.displayName=w;var S="CheckboxBubbleInput",N=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,...i}=e,{control:a,hasConsumerStoppedPropagationRef:l,checked:s,defaultChecked:p,required:m,disabled:h,name:v,value:g,form:k,bubbleInput:T,setBubbleInput:b}=y(S,n),w=(0,o.e)(t,b),C=(0,c.D)(s),N=(0,u.t)(a);r.useEffect(()=>{if(!T)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!l.current;if(C!==s&&e){let n=new Event("click",{bubbles:t});T.indeterminate=x(s),e.call(T,!x(s)&&s),T.dispatchEvent(n)}},[T,C,s,l]);let E=r.useRef(!x(s)&&s);return(0,f.jsx)(d.WV.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=p?p:E.current,required:m,disabled:h,name:v,value:g,form:k,...i,tabIndex:-1,ref:w,style:{...i.style,...N,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function x(e){return"indeterminate"===e}function E(e){return x(e)?"indeterminate":e?"checked":"unchecked"}N.displayName=S},88985:function(e,t,n){n.d(t,{zF:function(){return g},Fw:function(){return w},wy:function(){return T},fC:function(){return N}});var r=n(2265);"undefined"!=typeof window&&window.document&&window.document.createElement;var o=n(73966),i=n(80886),a=n(61188),l=n(98575),c=n(66840),u=e=>{var t,n;let o,i;let{present:c,children:u}=e,d=function(e){var t,n;let[o,i]=r.useState(),l=r.useRef(null),c=r.useRef(e),u=r.useRef("none"),[d,f]=(t=e?"mounted":"unmounted",n={mounted:{UNMOUNT:"unmounted",ANIMATION_OUT:"unmountSuspended"},unmountSuspended:{MOUNT:"mounted",ANIMATION_END:"unmounted"},unmounted:{MOUNT:"mounted"}},r.useReducer((e,t)=>{let r=n[e][t];return null!=r?r:e},t));return r.useEffect(()=>{let e=s(l.current);u.current="mounted"===d?e:"none"},[d]),(0,a.b)(()=>{let t=l.current,n=c.current;if(n!==e){let r=u.current,o=s(t);e?f("MOUNT"):"none"===o||(null==t?void 0:t.display)==="none"?f("UNMOUNT"):n&&r!==o?f("ANIMATION_OUT"):f("UNMOUNT"),c.current=e}},[e,f]),(0,a.b)(()=>{if(o){var e;let t;let n=null!==(e=o.ownerDocument.defaultView)&&void 0!==e?e:window,r=e=>{let r=s(l.current).includes(CSS.escape(e.animationName));if(e.target===o&&r&&(f("ANIMATION_END"),!c.current)){let e=o.style.animationFillMode;o.style.animationFillMode="forwards",t=n.setTimeout(()=>{"forwards"===o.style.animationFillMode&&(o.style.animationFillMode=e)})}},i=e=>{e.target===o&&(u.current=s(l.current))};return o.addEventListener("animationstart",i),o.addEventListener("animationcancel",r),o.addEventListener("animationend",r),()=>{n.clearTimeout(t),o.removeEventListener("animationstart",i),o.removeEventListener("animationcancel",r),o.removeEventListener("animationend",r)}}f("ANIMATION_END")},[o,f]),{isPresent:["mounted","unmountSuspended"].includes(d),ref:r.useCallback(e=>{l.current=e?getComputedStyle(e):null,i(e)},[])}}(c),f="function"==typeof u?u({present:d.isPresent}):r.Children.only(u),p=(0,l.e)(d.ref,(o=null===(t=Object.getOwnPropertyDescriptor(f.props,"ref"))||void 0===t?void 0:t.get)&&"isReactWarning"in o&&o.isReactWarning?f.ref:(o=null===(n=Object.getOwnPropertyDescriptor(f,"ref"))||void 0===n?void 0:n.get)&&"isReactWarning"in o&&o.isReactWarning?f.props.ref:f.props.ref||f.ref);return"function"==typeof u||d.isPresent?r.cloneElement(f,{ref:p}):null};function s(e){return(null==e?void 0:e.animationName)||"none"}u.displayName="Presence";var d=n(99255),f=n(57437),p="Collapsible",[m,h]=(0,o.b)(p),[v,y]=m(p),g=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,open:o,defaultOpen:a,disabled:l,onOpenChange:u,...s}=e,[m,h]=(0,i.T)({prop:o,defaultProp:null!=a&&a,onChange:u,caller:p});return(0,f.jsx)(v,{scope:n,disabled:l,contentId:(0,d.M)(),open:m,onOpenToggle:r.useCallback(()=>h(e=>!e),[h]),children:(0,f.jsx)(c.WV.div,{"data-state":S(m),"data-disabled":l?"":void 0,...s,ref:t})})});g.displayName=p;var k="CollapsibleTrigger",T=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,...r}=e,o=y(k,n);return(0,f.jsx)(c.WV.button,{type:"button","aria-controls":o.contentId,"aria-expanded":o.open||!1,"data-state":S(o.open),"data-disabled":o.disabled?"":void 0,disabled:o.disabled,...r,ref:t,onClick:function(e,t,{checkForDefaultPrevented:n=!0}={}){return function(r){if(e?.(r),!1===n||!r.defaultPrevented)return t?.(r)}}(e.onClick,o.onOpenToggle)})});T.displayName=k;var b="CollapsibleContent",w=r.forwardRef((e,t)=>{let{forceMount:n,...r}=e,o=y(b,e.__scopeCollapsible);return(0,f.jsx)(u,{present:n||o.open,children:e=>{let{present:n}=e;return(0,f.jsx)(C,{...r,ref:t,present:n})}})});w.displayName=b;var C=r.forwardRef((e,t)=>{let{__scopeCollapsible:n,present:o,children:i,...u}=e,s=y(b,n),[d,p]=r.useState(o),m=r.useRef(null),h=(0,l.e)(t,m),v=r.useRef(0),g=v.current,k=r.useRef(0),T=k.current,w=s.open||d,C=r.useRef(w),N=r.useRef(void 0);return r.useEffect(()=>{let e=requestAnimationFrame(()=>C.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,a.b)(()=>{let e=m.current;if(e){N.current=N.current||{transitionDuration:e.style.transitionDuration,animationName:e.style.animationName},e.style.transitionDuration="0s",e.style.animationName="none";let t=e.getBoundingClientRect();v.current=t.height,k.current=t.width,C.current||(e.style.transitionDuration=N.current.transitionDuration,e.style.animationName=N.current.animationName),p(o)}},[s.open,o]),(0,f.jsx)(c.WV.div,{"data-state":S(s.open),"data-disabled":s.disabled?"":void 0,id:s.contentId,hidden:!w,...u,ref:h,style:{"--radix-collapsible-content-height":g?"".concat(g,"px"):void 0,"--radix-collapsible-content-width":T?"".concat(T,"px"):void 0,...e.style},children:w&&i})});function S(e){return e?"open":"closed"}var N=g},20460:function(e,t,n){n.d(t,{h:function(){return m}});var r=n(57437),o=n(2265);let i={damping:.7,stiffness:.05,mass:1.25},a=1e3/60,l=!1;globalThis.document?.addEventListener("mousedown",()=>{l=!0}),globalThis.document?.addEventListener("mouseup",()=>{l=!1}),globalThis.document?.addEventListener("click",()=>{l=!1});let c=(e={})=>{let[t,n]=(0,o.useState)(!1),[r,i]=(0,o.useState)(!1!==e.initial),[c,s]=(0,o.useState)(!1),f=(0,o.useRef)(null);f.current=e;let p=(0,o.useCallback)(()=>{if(!l)return!1;let e=window.getSelection();if(!e||!e.rangeCount)return!1;let t=e.getRangeAt(0);return t.commonAncestorContainer.contains(b.current)||b.current?.contains(t.commonAncestorContainer)},[]),m=(0,o.useCallback)(e=>{v.isAtBottom=e,i(e)},[]),h=(0,o.useCallback)(e=>{v.escapedFromLock=e,n(e)},[]),v=(0,o.useMemo)(()=>{let n;return{escapedFromLock:t,isAtBottom:r,resizeDifference:0,accumulated:0,velocity:0,listeners:new Set,get scrollTop(){return b.current?.scrollTop??0},set scrollTop(scrollTop){b.current&&(b.current.scrollTop=scrollTop,v.ignoreScrollToTop=b.current.scrollTop)},get targetScrollTop(){if(!b.current||!w.current)return 0;return b.current.scrollHeight-1-b.current.clientHeight},get calculatedTargetScrollTop(){if(!b.current||!w.current)return 0;let{targetScrollTop:t}=this;if(!e.targetScrollTop)return t;if(n?.targetScrollTop===t)return n.calculatedScrollTop;let r=Math.max(Math.min(e.targetScrollTop(t,{scrollElement:b.current,contentElement:w.current}),t),0);return n={targetScrollTop:t,calculatedScrollTop:r},requestAnimationFrame(()=>{n=void 0}),r},get scrollDifference(){return this.calculatedTargetScrollTop-this.scrollTop},get isNearBottom(){return this.scrollDifference<=70}}},[]),y=(0,o.useCallback)((e={})=>{let t;"string"==typeof e&&(e={animation:e}),e.preserveScrollPosition||m(!0);let n=Date.now()+(Number(e.wait)||0),r=d(f.current,e.animation),{ignoreEscapes:o=!1}=e,i=v.calculatedTargetScrollTop;e.duration instanceof Promise?e.duration.finally(()=>{t=Date.now()}):t=n+(e.duration??0);let l=async()=>{let e=new Promise(requestAnimationFrame).then(()=>{if(!v.isAtBottom)return v.animation=void 0,!1;let{scrollTop:c}=v,u=performance.now(),s=(u-(v.lastTick??u))/a;if(v.animation||(v.animation={behavior:r,promise:e,ignoreEscapes:o}),v.animation.behavior===r&&(v.lastTick=u),p()||n>Date.now())return l();if(c<Math.min(i,v.calculatedTargetScrollTop)){if(v.animation?.behavior===r){if("instant"===r)return v.scrollTop=v.calculatedTargetScrollTop,l();v.velocity=(r.damping*v.velocity+r.stiffness*v.scrollDifference)/r.mass,v.accumulated+=v.velocity*s,v.scrollTop+=v.accumulated,v.scrollTop!==c&&(v.accumulated=0)}return l()}return t>Date.now()?(i=v.calculatedTargetScrollTop,l()):(v.animation=void 0,v.scrollTop<v.calculatedTargetScrollTop)?y({animation:d(f.current,f.current.resize),ignoreEscapes:o,duration:Math.max(0,t-Date.now())||void 0}):v.isAtBottom});return e.then(e=>(requestAnimationFrame(()=>{v.animation||(v.lastTick=void 0,v.velocity=0)}),e))};return(!0!==e.wait&&(v.animation=void 0),v.animation?.behavior===r)?v.animation.promise:l()},[m,p,v]),g=(0,o.useCallback)(()=>{h(!0),m(!1)},[h,m]),k=(0,o.useCallback)(({target:e})=>{if(e!==b.current)return;let{scrollTop:t,ignoreScrollToTop:n}=v,{lastScrollTop:r=t}=v;v.lastScrollTop=t,v.ignoreScrollToTop=void 0,n&&n>t&&(r=n),s(v.isNearBottom),setTimeout(()=>{if(v.resizeDifference||t===n)return;if(p()){h(!0),m(!1);return}let e=t>r,o=t<r;if(v.animation?.ignoreEscapes){v.scrollTop=r;return}o&&(h(!0),m(!1)),e&&h(!1),!v.escapedFromLock&&v.isNearBottom&&m(!0)},1)},[h,m,p,v]),T=(0,o.useCallback)(({target:e,deltaY:t})=>{let n=e;for(;!["scroll","auto"].includes(getComputedStyle(n).overflow);){if(!n.parentElement)return;n=n.parentElement}n===b.current&&t<0&&b.current.scrollHeight>b.current.clientHeight&&!v.animation?.ignoreEscapes&&(h(!0),m(!1))},[h,m,v]),b=u(e=>{b.current?.removeEventListener("scroll",k),b.current?.removeEventListener("wheel",T),e?.addEventListener("scroll",k,{passive:!0}),e?.addEventListener("wheel",T,{passive:!0})},[]),w=u(e=>{let t;v.resizeObserver?.disconnect(),e&&(v.resizeObserver=new ResizeObserver(([e])=>{let{height:n}=e.contentRect,r=n-(t??n);if(v.resizeDifference=r,v.scrollTop>v.targetScrollTop&&(v.scrollTop=v.targetScrollTop),s(v.isNearBottom),r>=0){let e=d(f.current,t?f.current.resize:f.current.initial);y({animation:e,wait:!0,preserveScrollPosition:!0,duration:"instant"===e?void 0:350})}else v.isNearBottom&&(h(!1),m(!0));t=n,requestAnimationFrame(()=>{setTimeout(()=>{v.resizeDifference===r&&(v.resizeDifference=0)},1)})}),v.resizeObserver?.observe(e))},[]);return{contentRef:w,scrollRef:b,scrollToBottom:y,stopScroll:g,isAtBottom:r||c,isNearBottom:c,escapedFromLock:t,state:v}};function u(e,t){let n=(0,o.useCallback)(t=>(n.current=t,e(t)),t);return n}let s=new Map;function d(...e){let t={...i},n=!1;for(let r of e){if("instant"===r){n=!0;continue}"object"==typeof r&&(n=!1,t.damping=r.damping??t.damping,t.stiffness=r.stiffness??t.stiffness,t.mass=r.mass??t.mass)}let r=JSON.stringify(t);return s.has(r)||s.set(r,Object.freeze(t)),n?"instant":s.get(r)}let f=(0,o.createContext)(null),p="undefined"!=typeof window?o.useLayoutEffect:o.useEffect;function m({instance:e,children:t,resize:n,initial:i,mass:a,damping:l,stiffness:u,targetScrollTop:s,contextRef:d,...m}){let h=(0,o.useRef)(null),v=c({mass:a,damping:l,stiffness:u,resize:n,initial:i,targetScrollTop:o.useCallback((e,t)=>{let n=S?.targetScrollTop??s;return n?.(e,t)??e},[s])}),{scrollRef:y,contentRef:g,scrollToBottom:k,stopScroll:T,isAtBottom:b,escapedFromLock:w,state:C}=e??v,S=(0,o.useMemo)(()=>({scrollToBottom:k,stopScroll:T,scrollRef:y,isAtBottom:b,escapedFromLock:w,contentRef:g,state:C,get targetScrollTop(){return h.current},set targetScrollTop(targetScrollTop){h.current=targetScrollTop}}),[k,b,g,y,T,w,C]);return(0,o.useImperativeHandle)(d,()=>S,[S]),p(()=>{y.current&&"visible"===getComputedStyle(y.current).overflow&&(y.current.style.overflow="auto")},[]),(0,r.jsx)(f.Provider,{value:S,children:(0,r.jsx)("div",{...m,children:"function"==typeof t?t(S):t})})}(m||(m={})).Content=function({children:e,...t}){let n=function(){let e=(0,o.useContext)(f);if(!e)throw Error("use-stick-to-bottom component context must be used within a StickToBottom component");return e}();return(0,r.jsx)("div",{ref:n.scrollRef,style:{height:"100%",width:"100%"},children:(0,r.jsx)("div",{...t,ref:n.contentRef,children:"function"==typeof e?e(n):e})})}}}]);
2
- //# sourceMappingURL=8269-0e17dac508340ccf.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"static/chunks/8269-0e17dac508340ccf.js","mappings":"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","sources":["webpack://_N_E/../../../src/icons/alert-triangle.ts","webpack://_N_E/../../../src/icons/book.ts","webpack://_N_E/../../../src/icons/check-circle-2.ts","webpack://_N_E/../../../src/icons/check-circle.ts","webpack://_N_E/../../../src/icons/chevrons-up-down.ts","webpack://_N_E/../../../src/icons/clock.ts","webpack://_N_E/../../../src/icons/list-checks.ts","webpack://_N_E/../../../src/icons/loader-2.ts","webpack://_N_E/../../../src/icons/message-square.ts","webpack://_N_E/../../../src/icons/pen.ts","webpack://_N_E/../../../src/icons/search.ts","webpack://_N_E/../../../src/icons/square-pen.ts","webpack://_N_E/../../../src/icons/square.ts","webpack://_N_E/../../../src/icons/zap.ts","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/../src/checkbox.tsx","webpack://_N_E/./node_modules/@radix-ui/react-collapsible/node_modules/@radix-ui/primitive/dist/index.mjs","webpack://_N_E/../src/presence.tsx","webpack://_N_E/../src/use-state-machine.tsx","webpack://_N_E/../src/collapsible.tsx","webpack://_N_E/./node_modules/use-stick-to-bottom/dist/useStickToBottom.js","webpack://_N_E/./node_modules/use-stick-to-bottom/dist/StickToBottom.js"],"sourcesContent":["import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name AlertTriangle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMjEuNzMgMTgtOC0xNGEyIDIgMCAwIDAtMy40OCAwbC04IDE0QTIgMiAwIDAgMCA0IDIxaDE2YTIgMiAwIDAgMCAxLjczLTNaIiAvPgogIDxwYXRoIGQ9Ik0xMiA5djQiIC8+CiAgPHBhdGggZD0iTTEyIDE3aC4wMSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/alert-triangle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst AlertTriangle = createLucideIcon('AlertTriangle', [\n [\n 'path',\n {\n d: 'm21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z',\n key: 'c3ski4',\n },\n ],\n ['path', { d: 'M12 9v4', key: 'juzpu7' }],\n ['path', { d: 'M12 17h.01', key: 'p32p05' }],\n]);\n\nexport default AlertTriangle;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Book\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNNCAxOS41di0xNUEyLjUgMi41IDAgMCAxIDYuNSAySDIwdjIwSDYuNWEyLjUgMi41IDAgMCAxIDAtNUgyMCIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/book\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Book = createLucideIcon('Book', [\n ['path', { d: 'M4 19.5v-15A2.5 2.5 0 0 1 6.5 2H20v20H6.5a2.5 2.5 0 0 1 0-5H20', key: 't4utmx' }],\n]);\n\nexport default Book;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name CheckCircle2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cGF0aCBkPSJtOSAxMiAyIDIgNC00IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/check-circle-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CheckCircle2 = createLucideIcon('CheckCircle2', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['path', { d: 'm9 12 2 2 4-4', key: 'dzmm74' }],\n]);\n\nexport default CheckCircle2;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name CheckCircle\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjIgMTEuMDhWMTJhMTAgMTAgMCAxIDEtNS45My05LjE0IiAvPgogIDxwYXRoIGQ9Im05IDExIDMgM0wyMiA0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/check-circle\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst CheckCircle = createLucideIcon('CheckCircle', [\n ['path', { d: 'M22 11.08V12a10 10 0 1 1-5.93-9.14', key: 'g774vq' }],\n ['path', { d: 'm9 11 3 3L22 4', key: '1pflzl' }],\n]);\n\nexport default CheckCircle;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ChevronsUpDown\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtNyAxNSA1IDUgNS01IiAvPgogIDxwYXRoIGQ9Im03IDkgNS01IDUgNSIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/chevrons-up-down\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ChevronsUpDown = createLucideIcon('ChevronsUpDown', [\n ['path', { d: 'm7 15 5 5 5-5', key: '1hf1tw' }],\n ['path', { d: 'm7 9 5-5 5 5', key: 'sgt6xg' }],\n]);\n\nexport default ChevronsUpDown;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Clock\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIxMCIgLz4KICA8cG9seWxpbmUgcG9pbnRzPSIxMiA2IDEyIDEyIDE2IDE0IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/clock\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Clock = createLucideIcon('Clock', [\n ['circle', { cx: '12', cy: '12', r: '10', key: '1mglay' }],\n ['polyline', { points: '12 6 12 12 16 14', key: '68esgv' }],\n]);\n\nexport default Clock;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name ListChecks\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJtMyAxNyAyIDIgNC00IiAvPgogIDxwYXRoIGQ9Im0zIDcgMiAyIDQtNCIgLz4KICA8cGF0aCBkPSJNMTMgNmg4IiAvPgogIDxwYXRoIGQ9Ik0xMyAxMmg4IiAvPgogIDxwYXRoIGQ9Ik0xMyAxOGg4IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/list-checks\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst ListChecks = createLucideIcon('ListChecks', [\n ['path', { d: 'm3 17 2 2 4-4', key: '1jhpwq' }],\n ['path', { d: 'm3 7 2 2 4-4', key: '1obspn' }],\n ['path', { d: 'M13 6h8', key: '15sg57' }],\n ['path', { d: 'M13 12h8', key: 'h98zly' }],\n ['path', { d: 'M13 18h8', key: 'oe0vm4' }],\n]);\n\nexport default ListChecks;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Loader2\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTJhOSA5IDAgMSAxLTYuMjE5LTguNTYiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/loader-2\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Loader2 = createLucideIcon('Loader2', [\n ['path', { d: 'M21 12a9 9 0 1 1-6.219-8.56', key: '13zald' }],\n]);\n\nexport default Loader2;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name MessageSquare\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMjEgMTVhMiAyIDAgMCAxLTIgMkg3bC00IDRWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ6IiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/message-square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst MessageSquare = createLucideIcon('MessageSquare', [\n ['path', { d: 'M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z', key: '1lielz' }],\n]);\n\nexport default MessageSquare;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Pen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTcgM2EyLjg1IDIuODMgMCAxIDEgNCA0TDcuNSAyMC41IDIgMjJsMS41LTUuNVoiIC8+Cjwvc3ZnPgo=) - https://lucide.dev/icons/pen\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Pen = createLucideIcon('Pen', [\n ['path', { d: 'M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z', key: '5qss01' }],\n]);\n\nexport default Pen;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Search\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8Y2lyY2xlIGN4PSIxMSIgY3k9IjExIiByPSI4IiAvPgogIDxwYXRoIGQ9Im0yMSAyMS00LjMtNC4zIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/search\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Search = createLucideIcon('Search', [\n ['circle', { cx: '11', cy: '11', r: '8', key: '4ej97u' }],\n ['path', { d: 'm21 21-4.3-4.3', key: '1qie3q' }],\n]);\n\nexport default Search;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name SquarePen\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cGF0aCBkPSJNMTIgM0g1YTIgMiAwIDAgMC0yIDJ2MTRhMiAyIDAgMCAwIDIgMmgxNGEyIDIgMCAwIDAgMi0ydi03IiAvPgogIDxwYXRoIGQ9Ik0xOC4zNzUgMi42MjVhMi4xMjEgMi4xMjEgMCAxIDEgMyAzTDEyIDE1bC00IDEgMS00WiIgLz4KPC9zdmc+Cg==) - https://lucide.dev/icons/square-pen\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst SquarePen = createLucideIcon('SquarePen', [\n ['path', { d: 'M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7', key: '1m0v6g' }],\n ['path', { d: 'M18.375 2.625a2.121 2.121 0 1 1 3 3L12 15l-4 1 1-4Z', key: '1lpok0' }],\n]);\n\nexport default SquarePen;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Square\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cmVjdCB3aWR0aD0iMTgiIGhlaWdodD0iMTgiIHg9IjMiIHk9IjMiIHJ4PSIyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/square\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Square = createLucideIcon('Square', [\n ['rect', { width: '18', height: '18', x: '3', y: '3', rx: '2', key: 'afitv7' }],\n]);\n\nexport default Square;\n","import createLucideIcon from '../createLucideIcon';\n\n/**\n * @component @name Zap\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview ![img](data:image/svg+xml;base64,PHN2ZyAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogIHdpZHRoPSIyNCIKICBoZWlnaHQ9IjI0IgogIHZpZXdCb3g9IjAgMCAyNCAyNCIKICBmaWxsPSJub25lIgogIHN0cm9rZT0iIzAwMCIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6ICNmZmY7IGJvcmRlci1yYWRpdXM6IDJweCIKICBzdHJva2Utd2lkdGg9IjIiCiAgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIgogIHN0cm9rZS1saW5lam9pbj0icm91bmQiCj4KICA8cG9seWdvbiBwb2ludHM9IjEzIDIgMyAxNCAxMiAxNCAxMSAyMiAyMSAxMCAxMiAxMCAxMyAyIiAvPgo8L3N2Zz4K) - https://lucide.dev/icons/zap\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst Zap = createLucideIcon('Zap', [\n ['polygon', { points: '13 2 3 14 12 14 11 22 21 10 12 10 13 2', key: '45s27k' }],\n]);\n\nexport default Zap;\n","function _extends() {\n return _extends = Object.assign ? Object.assign.bind() : function (n) {\n for (var e = 1; e < arguments.length; e++) {\n var t = arguments[e];\n for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]);\n }\n return n;\n }, _extends.apply(null, arguments);\n}\nexport { _extends as default };","import * as React from 'react';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { usePrevious } from '@radix-ui/react-use-previous';\nimport { useSize } from '@radix-ui/react-use-size';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\n\nimport type { Scope } from '@radix-ui/react-context';\n\nconst CHECKBOX_NAME = 'Checkbox';\n\ntype ScopedProps<P> = P & { __scopeCheckbox?: Scope };\nconst [createCheckboxContext, createCheckboxScope] = createContextScope(CHECKBOX_NAME);\n\ntype CheckedState = boolean | 'indeterminate';\n\ntype CheckboxContextValue<State extends CheckedState | boolean = CheckedState> = {\n checked: State | boolean;\n setChecked: React.Dispatch<React.SetStateAction<State | boolean>>;\n disabled: boolean | undefined;\n control: HTMLButtonElement | null;\n setControl: React.Dispatch<React.SetStateAction<HTMLButtonElement | null>>;\n name: string | undefined;\n form: string | undefined;\n value: string | number | readonly string[];\n hasConsumerStoppedPropagationRef: React.RefObject<boolean>;\n required: boolean | undefined;\n defaultChecked: boolean | undefined;\n isFormControl: boolean;\n bubbleInput: HTMLInputElement | null;\n setBubbleInput: React.Dispatch<React.SetStateAction<HTMLInputElement | null>>;\n};\n\nconst [CheckboxProviderImpl, useCheckboxContext] =\n createCheckboxContext<CheckboxContextValue>(CHECKBOX_NAME);\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxProvider\n * -----------------------------------------------------------------------------------------------*/\n\ninterface CheckboxProviderProps<State extends CheckedState = CheckedState> {\n checked?: State | boolean;\n defaultChecked?: State | boolean;\n required?: boolean;\n onCheckedChange?(checked: State | boolean): void;\n name?: string;\n form?: string;\n disabled?: boolean;\n value?: string | number | readonly string[];\n children?: React.ReactNode;\n}\n\nfunction CheckboxProvider<State extends CheckedState = CheckedState>(\n props: ScopedProps<CheckboxProviderProps<State>>\n) {\n const {\n __scopeCheckbox,\n checked: checkedProp,\n children,\n defaultChecked,\n disabled,\n form,\n name,\n onCheckedChange,\n required,\n value = 'on',\n // @ts-expect-error\n internal_do_not_use_render,\n } = props;\n\n const [checked, setChecked] = useControllableState({\n prop: checkedProp,\n defaultProp: defaultChecked ?? false,\n onChange: onCheckedChange,\n caller: CHECKBOX_NAME,\n });\n const [control, setControl] = React.useState<HTMLButtonElement | null>(null);\n const [bubbleInput, setBubbleInput] = React.useState<HTMLInputElement | null>(null);\n const hasConsumerStoppedPropagationRef = React.useRef(false);\n const isFormControl = control\n ? !!form || !!control.closest('form')\n : // We set this to true by default so that events bubble to forms without JS (SSR)\n true;\n\n const context: CheckboxContextValue<State> = {\n checked: checked,\n disabled: disabled,\n setChecked: setChecked,\n control: control,\n setControl: setControl,\n name: name,\n form: form,\n value: value,\n hasConsumerStoppedPropagationRef: hasConsumerStoppedPropagationRef,\n required: required,\n defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,\n isFormControl: isFormControl,\n bubbleInput,\n setBubbleInput,\n };\n\n return (\n <CheckboxProviderImpl\n scope={__scopeCheckbox}\n {...(context as unknown as CheckboxContextValue<CheckedState>)}\n >\n {isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children}\n </CheckboxProviderImpl>\n );\n}\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'CheckboxTrigger';\n\ninterface CheckboxTriggerProps\n extends Omit<\n React.ComponentPropsWithoutRef<typeof Primitive.button>,\n keyof CheckboxProviderProps\n > {\n children?: React.ReactNode;\n}\n\nconst CheckboxTrigger = React.forwardRef<HTMLButtonElement, CheckboxTriggerProps>(\n (\n { __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }: ScopedProps<CheckboxTriggerProps>,\n forwardedRef\n ) => {\n const {\n control,\n value,\n disabled,\n checked,\n required,\n setControl,\n setChecked,\n hasConsumerStoppedPropagationRef,\n isFormControl,\n bubbleInput,\n } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);\n const composedRefs = useComposedRefs(forwardedRef, setControl);\n\n const initialCheckedStateRef = React.useRef(checked);\n React.useEffect(() => {\n const form = control?.form;\n if (form) {\n const reset = () => setChecked(initialCheckedStateRef.current);\n form.addEventListener('reset', reset);\n return () => form.removeEventListener('reset', reset);\n }\n }, [control, setChecked]);\n\n return (\n <Primitive.button\n type=\"button\"\n role=\"checkbox\"\n aria-checked={isIndeterminate(checked) ? 'mixed' : checked}\n aria-required={required}\n data-state={getState(checked)}\n data-disabled={disabled ? '' : undefined}\n disabled={disabled}\n value={value}\n {...checkboxProps}\n ref={composedRefs}\n onKeyDown={composeEventHandlers(onKeyDown, (event) => {\n // According to WAI ARIA, Checkboxes don't activate on enter keypress\n if (event.key === 'Enter') event.preventDefault();\n })}\n onClick={composeEventHandlers(onClick, (event) => {\n setChecked((prevChecked) => (isIndeterminate(prevChecked) ? true : !prevChecked));\n if (bubbleInput && isFormControl) {\n hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();\n // if checkbox has a bubble input and is a form control, stop\n // propagation from the button so that we only propagate one click\n // event (from the input). We propagate changes from an input so\n // that native form validation works and form events reflect\n // checkbox updates.\n if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();\n }\n })}\n />\n );\n }\n);\n\nCheckboxTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * Checkbox\n * -----------------------------------------------------------------------------------------------*/\n\ntype CheckboxElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface CheckboxProps extends Omit<PrimitiveButtonProps, 'checked' | 'defaultChecked'> {\n checked?: CheckedState;\n defaultChecked?: CheckedState;\n required?: boolean;\n onCheckedChange?(checked: CheckedState): void;\n}\n\nconst Checkbox = React.forwardRef<CheckboxElement, CheckboxProps>(\n (props: ScopedProps<CheckboxProps>, forwardedRef) => {\n const {\n __scopeCheckbox,\n name,\n checked,\n defaultChecked,\n required,\n disabled,\n value,\n onCheckedChange,\n form,\n ...checkboxProps\n } = props;\n\n return (\n <CheckboxProvider\n __scopeCheckbox={__scopeCheckbox}\n checked={checked}\n defaultChecked={defaultChecked}\n disabled={disabled}\n required={required}\n onCheckedChange={onCheckedChange}\n name={name}\n form={form}\n value={value}\n // @ts-expect-error\n internal_do_not_use_render={({ isFormControl }: CheckboxContextValue) => (\n <>\n <CheckboxTrigger\n {...checkboxProps}\n ref={forwardedRef}\n // @ts-expect-error\n __scopeCheckbox={__scopeCheckbox}\n />\n {isFormControl && (\n <CheckboxBubbleInput\n // @ts-expect-error\n __scopeCheckbox={__scopeCheckbox}\n />\n )}\n </>\n )}\n />\n );\n }\n);\n\nCheckbox.displayName = CHECKBOX_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxIndicator\n * -----------------------------------------------------------------------------------------------*/\n\nconst INDICATOR_NAME = 'CheckboxIndicator';\n\ntype CheckboxIndicatorElement = React.ComponentRef<typeof Primitive.span>;\ntype PrimitiveSpanProps = React.ComponentPropsWithoutRef<typeof Primitive.span>;\ninterface CheckboxIndicatorProps extends PrimitiveSpanProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst CheckboxIndicator = React.forwardRef<CheckboxIndicatorElement, CheckboxIndicatorProps>(\n (props: ScopedProps<CheckboxIndicatorProps>, forwardedRef) => {\n const { __scopeCheckbox, forceMount, ...indicatorProps } = props;\n const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);\n return (\n <Presence\n present={forceMount || isIndeterminate(context.checked) || context.checked === true}\n >\n <Primitive.span\n data-state={getState(context.checked)}\n data-disabled={context.disabled ? '' : undefined}\n {...indicatorProps}\n ref={forwardedRef}\n style={{ pointerEvents: 'none', ...props.style }}\n />\n </Presence>\n );\n }\n);\n\nCheckboxIndicator.displayName = INDICATOR_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CheckboxBubbleInput\n * -----------------------------------------------------------------------------------------------*/\n\nconst BUBBLE_INPUT_NAME = 'CheckboxBubbleInput';\n\ntype InputProps = React.ComponentPropsWithoutRef<typeof Primitive.input>;\ninterface CheckboxBubbleInputProps extends Omit<InputProps, 'checked'> {}\n\nconst CheckboxBubbleInput = React.forwardRef<HTMLInputElement, CheckboxBubbleInputProps>(\n ({ __scopeCheckbox, ...props }: ScopedProps<CheckboxBubbleInputProps>, forwardedRef) => {\n const {\n control,\n hasConsumerStoppedPropagationRef,\n checked,\n defaultChecked,\n required,\n disabled,\n name,\n value,\n form,\n bubbleInput,\n setBubbleInput,\n } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);\n\n const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);\n const prevChecked = usePrevious(checked);\n const controlSize = useSize(control);\n\n // Bubble checked change to parents (e.g form change event)\n React.useEffect(() => {\n const input = bubbleInput;\n if (!input) return;\n\n const inputProto = window.HTMLInputElement.prototype;\n const descriptor = Object.getOwnPropertyDescriptor(\n inputProto,\n 'checked'\n ) as PropertyDescriptor;\n const setChecked = descriptor.set;\n\n const bubbles = !hasConsumerStoppedPropagationRef.current;\n if (prevChecked !== checked && setChecked) {\n const event = new Event('click', { bubbles });\n input.indeterminate = isIndeterminate(checked);\n setChecked.call(input, isIndeterminate(checked) ? false : checked);\n input.dispatchEvent(event);\n }\n }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);\n\n const defaultCheckedRef = React.useRef(isIndeterminate(checked) ? false : checked);\n return (\n <Primitive.input\n type=\"checkbox\"\n aria-hidden\n defaultChecked={defaultChecked ?? defaultCheckedRef.current}\n required={required}\n disabled={disabled}\n name={name}\n value={value}\n form={form}\n {...props}\n tabIndex={-1}\n ref={composedRefs}\n style={{\n ...props.style,\n ...controlSize,\n position: 'absolute',\n pointerEvents: 'none',\n opacity: 0,\n margin: 0,\n // We transform because the input is absolutely positioned but we have\n // rendered it **after** the button. This pulls it back to sit on top\n // of the button.\n transform: 'translateX(-100%)',\n }}\n />\n );\n }\n);\n\nCheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\nfunction isFunction(value: unknown): value is (...args: any[]) => any {\n return typeof value === 'function';\n}\n\nfunction isIndeterminate(checked?: CheckedState): checked is 'indeterminate' {\n return checked === 'indeterminate';\n}\n\nfunction getState(checked: CheckedState) {\n return isIndeterminate(checked) ? 'indeterminate' : checked ? 'checked' : 'unchecked';\n}\n\nexport {\n createCheckboxScope,\n //\n Checkbox,\n CheckboxProvider,\n CheckboxTrigger,\n CheckboxIndicator,\n CheckboxBubbleInput,\n //\n Checkbox as Root,\n CheckboxProvider as Provider,\n CheckboxTrigger as Trigger,\n CheckboxIndicator as Indicator,\n CheckboxBubbleInput as BubbleInput,\n};\nexport type {\n CheckboxProps,\n CheckboxProviderProps,\n CheckboxTriggerProps,\n CheckboxIndicatorProps,\n CheckboxBubbleInputProps,\n CheckedState,\n};\n","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from 'react';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useStateMachine } from './use-state-machine';\n\ninterface PresenceProps {\n children: React.ReactElement | ((props: { present: boolean }) => React.ReactElement);\n present: boolean;\n}\n\nconst Presence: React.FC<PresenceProps> = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n\n const child = (\n typeof children === 'function'\n ? children({ present: presence.isPresent })\n : React.Children.only(children)\n ) as React.ReactElement<{ ref?: React.Ref<HTMLElement> }>;\n\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === 'function';\n return forceMount || presence.isPresent ? React.cloneElement(child, { ref }) : null;\n};\n\nPresence.displayName = 'Presence';\n\n/* -------------------------------------------------------------------------------------------------\n * usePresence\n * -----------------------------------------------------------------------------------------------*/\n\nfunction usePresence(present: boolean) {\n const [node, setNode] = React.useState<HTMLElement>();\n const stylesRef = React.useRef<CSSStyleDeclaration | null>(null);\n const prevPresentRef = React.useRef(present);\n const prevAnimationNameRef = React.useRef<string>('none');\n const initialState = present ? 'mounted' : 'unmounted';\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: 'unmounted',\n ANIMATION_OUT: 'unmountSuspended',\n },\n unmountSuspended: {\n MOUNT: 'mounted',\n ANIMATION_END: 'unmounted',\n },\n unmounted: {\n MOUNT: 'mounted',\n },\n });\n\n React.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === 'mounted' ? currentAnimationName : 'none';\n }, [state]);\n\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n\n if (present) {\n send('MOUNT');\n } else if (currentAnimationName === 'none' || styles?.display === 'none') {\n // If there is no exit animation or the element is hidden, animations won't run\n // so we unmount instantly\n send('UNMOUNT');\n } else {\n /**\n * When `present` changes to `false`, we check changes to animation-name to\n * determine whether an animation has started. We chose this approach (reading\n * computed styles) because there is no `animationrun` event and `animationstart`\n * fires after `animation-delay` has expired which would be too late.\n */\n const isAnimating = prevAnimationName !== currentAnimationName;\n\n if (wasPresent && isAnimating) {\n send('ANIMATION_OUT');\n } else {\n send('UNMOUNT');\n }\n }\n\n prevPresentRef.current = present;\n }\n }, [present, send]);\n\n useLayoutEffect(() => {\n if (node) {\n let timeoutId: number;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n /**\n * Triggering an ANIMATION_OUT during an ANIMATION_IN will fire an `animationcancel`\n * event for ANIMATION_IN after we have entered `unmountSuspended` state. So, we\n * make sure we only trigger ANIMATION_END for the currently active animation.\n */\n const handleAnimationEnd = (event: AnimationEvent) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n // The event.animationName is unescaped for CSS syntax,\n // so we need to escape it to compare with the animationName computed from the style.\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n // With React 18 concurrency this update is applied a frame after the\n // animation ends, creating a flash of visible content. By setting the\n // animation fill mode to \"forwards\", we force the node to keep the\n // styles of the last keyframe, removing the flash.\n //\n // Previously we flushed the update via ReactDom.flushSync, but with\n // exit animations this resulted in the node being removed from the\n // DOM before the synthetic animationEnd event was dispatched, meaning\n // user-provided event handlers would not be called.\n // https://github.com/radix-ui/primitives/pull/1849\n send('ANIMATION_END');\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = 'forwards';\n // Reset the style after the node had time to unmount (for cases\n // where the component chooses not to unmount). Doing this any\n // sooner than `setTimeout` (e.g. with `requestAnimationFrame`)\n // still causes a flash.\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === 'forwards') {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event: AnimationEvent) => {\n if (event.target === node) {\n // if animation occurred, store its name as the previous animation.\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener('animationstart', handleAnimationStart);\n node.addEventListener('animationcancel', handleAnimationEnd);\n node.addEventListener('animationend', handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener('animationstart', handleAnimationStart);\n node.removeEventListener('animationcancel', handleAnimationEnd);\n node.removeEventListener('animationend', handleAnimationEnd);\n };\n } else {\n // Transition to the unmounted state if the node is removed prematurely.\n // We avoid doing so during cleanup as the node may change but still exist.\n send('ANIMATION_END');\n }\n }, [node, send]);\n\n return {\n isPresent: ['mounted', 'unmountSuspended'].includes(state),\n ref: React.useCallback((node: HTMLElement) => {\n stylesRef.current = node ? getComputedStyle(node) : null;\n setNode(node);\n }, []),\n };\n}\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getAnimationName(styles: CSSStyleDeclaration | null) {\n return styles?.animationName || 'none';\n}\n\n// Before React 19 accessing `element.props.ref` will throw a warning and suggest using `element.ref`\n// After React 19 accessing `element.ref` does the opposite.\n// https://github.com/facebook/react/pull/28348\n//\n// Access the ref using the method that doesn't yield a warning.\nfunction getElementRef(element: React.ReactElement<{ ref?: React.Ref<unknown> }>) {\n // React <=18 in DEV\n let getter = Object.getOwnPropertyDescriptor(element.props, 'ref')?.get;\n let mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return (element as any).ref;\n }\n\n // React 19 in DEV\n getter = Object.getOwnPropertyDescriptor(element, 'ref')?.get;\n mayWarn = getter && 'isReactWarning' in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n\n // Not DEV\n return element.props.ref || (element as any).ref;\n}\n\nconst Root = Presence;\n\nexport {\n Presence,\n //\n Root,\n};\nexport type { PresenceProps };\n","import * as React from 'react';\n\ntype Machine<S> = { [k: string]: { [k: string]: S } };\ntype MachineState<T> = keyof T;\ntype MachineEvent<T> = keyof UnionToIntersection<T[keyof T]>;\n\n// 🤯 https://fettblog.eu/typescript-union-to-intersection/\ntype UnionToIntersection<T> = (T extends any ? (x: T) => any : never) extends (x: infer R) => any\n ? R\n : never;\n\nexport function useStateMachine<M>(\n initialState: MachineState<M>,\n machine: M & Machine<MachineState<M>>\n) {\n return React.useReducer((state: MachineState<M>, event: MachineEvent<M>): MachineState<M> => {\n const nextState = (machine[state] as any)[event];\n return nextState ?? state;\n }, initialState);\n}\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContextScope } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { useLayoutEffect } from '@radix-ui/react-use-layout-effect';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { Presence } from '@radix-ui/react-presence';\nimport { useId } from '@radix-ui/react-id';\n\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Collapsible\n * -----------------------------------------------------------------------------------------------*/\n\nconst COLLAPSIBLE_NAME = 'Collapsible';\n\ntype ScopedProps<P> = P & { __scopeCollapsible?: Scope };\nconst [createCollapsibleContext, createCollapsibleScope] = createContextScope(COLLAPSIBLE_NAME);\n\ntype CollapsibleContextValue = {\n contentId: string;\n disabled?: boolean;\n open: boolean;\n onOpenToggle(): void;\n};\n\nconst [CollapsibleProvider, useCollapsibleContext] =\n createCollapsibleContext<CollapsibleContextValue>(COLLAPSIBLE_NAME);\n\ntype CollapsibleElement = React.ComponentRef<typeof Primitive.div>;\ntype PrimitiveDivProps = React.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface CollapsibleProps extends PrimitiveDivProps {\n defaultOpen?: boolean;\n open?: boolean;\n disabled?: boolean;\n onOpenChange?(open: boolean): void;\n}\n\nconst Collapsible = React.forwardRef<CollapsibleElement, CollapsibleProps>(\n (props: ScopedProps<CollapsibleProps>, forwardedRef) => {\n const {\n __scopeCollapsible,\n open: openProp,\n defaultOpen,\n disabled,\n onOpenChange,\n ...collapsibleProps\n } = props;\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: COLLAPSIBLE_NAME,\n });\n\n return (\n <CollapsibleProvider\n scope={__scopeCollapsible}\n disabled={disabled}\n contentId={useId()}\n open={open}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n >\n <Primitive.div\n data-state={getState(open)}\n data-disabled={disabled ? '' : undefined}\n {...collapsibleProps}\n ref={forwardedRef}\n />\n </CollapsibleProvider>\n );\n }\n);\n\nCollapsible.displayName = COLLAPSIBLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'CollapsibleTrigger';\n\ntype CollapsibleTriggerElement = React.ComponentRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = React.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface CollapsibleTriggerProps extends PrimitiveButtonProps {}\n\nconst CollapsibleTrigger = React.forwardRef<CollapsibleTriggerElement, CollapsibleTriggerProps>(\n (props: ScopedProps<CollapsibleTriggerProps>, forwardedRef) => {\n const { __scopeCollapsible, ...triggerProps } = props;\n const context = useCollapsibleContext(TRIGGER_NAME, __scopeCollapsible);\n return (\n <Primitive.button\n type=\"button\"\n aria-controls={context.contentId}\n aria-expanded={context.open || false}\n data-state={getState(context.open)}\n data-disabled={context.disabled ? '' : undefined}\n disabled={context.disabled}\n {...triggerProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n }\n);\n\nCollapsibleTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * CollapsibleContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'CollapsibleContent';\n\ntype CollapsibleContentElement = CollapsibleContentImplElement;\ninterface CollapsibleContentProps extends Omit<CollapsibleContentImplProps, 'present'> {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst CollapsibleContent = React.forwardRef<CollapsibleContentElement, CollapsibleContentProps>(\n (props: ScopedProps<CollapsibleContentProps>, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, props.__scopeCollapsible);\n return (\n <Presence present={forceMount || context.open}>\n {({ present }) => (\n <CollapsibleContentImpl {...contentProps} ref={forwardedRef} present={present} />\n )}\n </Presence>\n );\n }\n);\n\nCollapsibleContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype CollapsibleContentImplElement = React.ComponentRef<typeof Primitive.div>;\ninterface CollapsibleContentImplProps extends PrimitiveDivProps {\n present: boolean;\n}\n\nconst CollapsibleContentImpl = React.forwardRef<\n CollapsibleContentImplElement,\n CollapsibleContentImplProps\n>((props: ScopedProps<CollapsibleContentImplProps>, forwardedRef) => {\n const { __scopeCollapsible, present, children, ...contentProps } = props;\n const context = useCollapsibleContext(CONTENT_NAME, __scopeCollapsible);\n const [isPresent, setIsPresent] = React.useState(present);\n const ref = React.useRef<CollapsibleContentImplElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const heightRef = React.useRef<number | undefined>(0);\n const height = heightRef.current;\n const widthRef = React.useRef<number | undefined>(0);\n const width = widthRef.current;\n // when opening we want it to immediately open to retrieve dimensions\n // when closing we delay `present` to retrieve dimensions before closing\n const isOpen = context.open || isPresent;\n const isMountAnimationPreventedRef = React.useRef(isOpen);\n const originalStylesRef = React.useRef<Record<string, string>>(undefined);\n\n React.useEffect(() => {\n const rAF = requestAnimationFrame(() => (isMountAnimationPreventedRef.current = false));\n return () => cancelAnimationFrame(rAF);\n }, []);\n\n useLayoutEffect(() => {\n const node = ref.current;\n if (node) {\n originalStylesRef.current = originalStylesRef.current || {\n transitionDuration: node.style.transitionDuration,\n animationName: node.style.animationName,\n };\n // block any animations/transitions so the element renders at its full dimensions\n node.style.transitionDuration = '0s';\n node.style.animationName = 'none';\n\n // get width and height from full dimensions\n const rect = node.getBoundingClientRect();\n heightRef.current = rect.height;\n widthRef.current = rect.width;\n\n // kick off any animations/transitions that were originally set up if it isn't the initial mount\n if (!isMountAnimationPreventedRef.current) {\n node.style.transitionDuration = originalStylesRef.current.transitionDuration!;\n node.style.animationName = originalStylesRef.current.animationName!;\n }\n\n setIsPresent(present);\n }\n /**\n * depends on `context.open` because it will change to `false`\n * when a close is triggered but `present` will be `false` on\n * animation end (so when close finishes). This allows us to\n * retrieve the dimensions *before* closing.\n */\n }, [context.open, present]);\n\n return (\n <Primitive.div\n data-state={getState(context.open)}\n data-disabled={context.disabled ? '' : undefined}\n id={context.contentId}\n hidden={!isOpen}\n {...contentProps}\n ref={composedRefs}\n style={{\n [`--radix-collapsible-content-height` as any]: height ? `${height}px` : undefined,\n [`--radix-collapsible-content-width` as any]: width ? `${width}px` : undefined,\n ...props.style,\n }}\n >\n {isOpen && children}\n </Primitive.div>\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open?: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst Root = Collapsible;\nconst Trigger = CollapsibleTrigger;\nconst Content = CollapsibleContent;\n\nexport {\n createCollapsibleScope,\n //\n Collapsible,\n CollapsibleTrigger,\n CollapsibleContent,\n //\n Root,\n Trigger,\n Content,\n};\nexport type { CollapsibleProps, CollapsibleTriggerProps, CollapsibleContentProps };\n","/*!---------------------------------------------------------------------------------------------\n * Copyright (c) StackBlitz. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport { useCallback, useMemo, useRef, useState, } from \"react\";\nconst DEFAULT_SPRING_ANIMATION = {\n /**\n * A value from 0 to 1, on how much to damp the animation.\n * 0 means no damping, 1 means full damping.\n *\n * @default 0.7\n */\n damping: 0.7,\n /**\n * The stiffness of how fast/slow the animation gets up to speed.\n *\n * @default 0.05\n */\n stiffness: 0.05,\n /**\n * The inertial mass associated with the animation.\n * Higher numbers make the animation slower.\n *\n * @default 1.25\n */\n mass: 1.25,\n};\nconst STICK_TO_BOTTOM_OFFSET_PX = 70;\nconst SIXTY_FPS_INTERVAL_MS = 1000 / 60;\nconst RETAIN_ANIMATION_DURATION_MS = 350;\nlet mouseDown = false;\nglobalThis.document?.addEventListener(\"mousedown\", () => {\n mouseDown = true;\n});\nglobalThis.document?.addEventListener(\"mouseup\", () => {\n mouseDown = false;\n});\nglobalThis.document?.addEventListener(\"click\", () => {\n mouseDown = false;\n});\nexport const useStickToBottom = (options = {}) => {\n const [escapedFromLock, updateEscapedFromLock] = useState(false);\n const [isAtBottom, updateIsAtBottom] = useState(options.initial !== false);\n const [isNearBottom, setIsNearBottom] = useState(false);\n const optionsRef = useRef(null);\n optionsRef.current = options;\n const isSelecting = useCallback(() => {\n if (!mouseDown) {\n return false;\n }\n const selection = window.getSelection();\n if (!selection || !selection.rangeCount) {\n return false;\n }\n const range = selection.getRangeAt(0);\n return (range.commonAncestorContainer.contains(scrollRef.current) ||\n scrollRef.current?.contains(range.commonAncestorContainer));\n }, []);\n const setIsAtBottom = useCallback((isAtBottom) => {\n state.isAtBottom = isAtBottom;\n updateIsAtBottom(isAtBottom);\n }, []);\n const setEscapedFromLock = useCallback((escapedFromLock) => {\n state.escapedFromLock = escapedFromLock;\n updateEscapedFromLock(escapedFromLock);\n }, []);\n // biome-ignore lint/correctness/useExhaustiveDependencies: not needed\n const state = useMemo(() => {\n let lastCalculation;\n return {\n escapedFromLock,\n isAtBottom,\n resizeDifference: 0,\n accumulated: 0,\n velocity: 0,\n listeners: new Set(),\n get scrollTop() {\n return scrollRef.current?.scrollTop ?? 0;\n },\n set scrollTop(scrollTop) {\n if (scrollRef.current) {\n scrollRef.current.scrollTop = scrollTop;\n state.ignoreScrollToTop = scrollRef.current.scrollTop;\n }\n },\n get targetScrollTop() {\n if (!scrollRef.current || !contentRef.current) {\n return 0;\n }\n return (scrollRef.current.scrollHeight - 1 - scrollRef.current.clientHeight);\n },\n get calculatedTargetScrollTop() {\n if (!scrollRef.current || !contentRef.current) {\n return 0;\n }\n const { targetScrollTop } = this;\n if (!options.targetScrollTop) {\n return targetScrollTop;\n }\n if (lastCalculation?.targetScrollTop === targetScrollTop) {\n return lastCalculation.calculatedScrollTop;\n }\n const calculatedScrollTop = Math.max(Math.min(options.targetScrollTop(targetScrollTop, {\n scrollElement: scrollRef.current,\n contentElement: contentRef.current,\n }), targetScrollTop), 0);\n lastCalculation = { targetScrollTop, calculatedScrollTop };\n requestAnimationFrame(() => {\n lastCalculation = undefined;\n });\n return calculatedScrollTop;\n },\n get scrollDifference() {\n return this.calculatedTargetScrollTop - this.scrollTop;\n },\n get isNearBottom() {\n return this.scrollDifference <= STICK_TO_BOTTOM_OFFSET_PX;\n },\n };\n }, []);\n const scrollToBottom = useCallback((scrollOptions = {}) => {\n if (typeof scrollOptions === \"string\") {\n scrollOptions = { animation: scrollOptions };\n }\n if (!scrollOptions.preserveScrollPosition) {\n setIsAtBottom(true);\n }\n const waitElapsed = Date.now() + (Number(scrollOptions.wait) || 0);\n const behavior = mergeAnimations(optionsRef.current, scrollOptions.animation);\n const { ignoreEscapes = false } = scrollOptions;\n let durationElapsed;\n let startTarget = state.calculatedTargetScrollTop;\n if (scrollOptions.duration instanceof Promise) {\n scrollOptions.duration.finally(() => {\n durationElapsed = Date.now();\n });\n }\n else {\n durationElapsed = waitElapsed + (scrollOptions.duration ?? 0);\n }\n const next = async () => {\n const promise = new Promise(requestAnimationFrame).then(() => {\n if (!state.isAtBottom) {\n state.animation = undefined;\n return false;\n }\n const { scrollTop } = state;\n const tick = performance.now();\n const tickDelta = (tick - (state.lastTick ?? tick)) / SIXTY_FPS_INTERVAL_MS;\n state.animation || (state.animation = { behavior, promise, ignoreEscapes });\n if (state.animation.behavior === behavior) {\n state.lastTick = tick;\n }\n if (isSelecting()) {\n return next();\n }\n if (waitElapsed > Date.now()) {\n return next();\n }\n if (scrollTop < Math.min(startTarget, state.calculatedTargetScrollTop)) {\n if (state.animation?.behavior === behavior) {\n if (behavior === \"instant\") {\n state.scrollTop = state.calculatedTargetScrollTop;\n return next();\n }\n state.velocity =\n (behavior.damping * state.velocity +\n behavior.stiffness * state.scrollDifference) /\n behavior.mass;\n state.accumulated += state.velocity * tickDelta;\n state.scrollTop += state.accumulated;\n if (state.scrollTop !== scrollTop) {\n state.accumulated = 0;\n }\n }\n return next();\n }\n if (durationElapsed > Date.now()) {\n startTarget = state.calculatedTargetScrollTop;\n return next();\n }\n state.animation = undefined;\n /**\n * If we're still below the target, then queue\n * up another scroll to the bottom with the last\n * requested animatino.\n */\n if (state.scrollTop < state.calculatedTargetScrollTop) {\n return scrollToBottom({\n animation: mergeAnimations(optionsRef.current, optionsRef.current.resize),\n ignoreEscapes,\n duration: Math.max(0, durationElapsed - Date.now()) || undefined,\n });\n }\n return state.isAtBottom;\n });\n return promise.then((isAtBottom) => {\n requestAnimationFrame(() => {\n if (!state.animation) {\n state.lastTick = undefined;\n state.velocity = 0;\n }\n });\n return isAtBottom;\n });\n };\n if (scrollOptions.wait !== true) {\n state.animation = undefined;\n }\n if (state.animation?.behavior === behavior) {\n return state.animation.promise;\n }\n return next();\n }, [setIsAtBottom, isSelecting, state]);\n const stopScroll = useCallback(() => {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n }, [setEscapedFromLock, setIsAtBottom]);\n const handleScroll = useCallback(({ target }) => {\n if (target !== scrollRef.current) {\n return;\n }\n const { scrollTop, ignoreScrollToTop } = state;\n let { lastScrollTop = scrollTop } = state;\n state.lastScrollTop = scrollTop;\n state.ignoreScrollToTop = undefined;\n if (ignoreScrollToTop && ignoreScrollToTop > scrollTop) {\n /**\n * When the user scrolls up while the animation plays, the `scrollTop` may\n * not come in separate events; if this happens, to make sure `isScrollingUp`\n * is correct, set the lastScrollTop to the ignored event.\n */\n lastScrollTop = ignoreScrollToTop;\n }\n setIsNearBottom(state.isNearBottom);\n /**\n * Scroll events may come before a ResizeObserver event,\n * so in order to ignore resize events correctly we use a\n * timeout.\n *\n * @see https://github.com/WICG/resize-observer/issues/25#issuecomment-248757228\n */\n setTimeout(() => {\n /**\n * When theres a resize difference ignore the resize event.\n */\n if (state.resizeDifference || scrollTop === ignoreScrollToTop) {\n return;\n }\n if (isSelecting()) {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n return;\n }\n const isScrollingDown = scrollTop > lastScrollTop;\n const isScrollingUp = scrollTop < lastScrollTop;\n if (state.animation?.ignoreEscapes) {\n state.scrollTop = lastScrollTop;\n return;\n }\n if (isScrollingUp) {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n }\n if (isScrollingDown) {\n setEscapedFromLock(false);\n }\n if (!state.escapedFromLock && state.isNearBottom) {\n setIsAtBottom(true);\n }\n }, 1);\n }, [setEscapedFromLock, setIsAtBottom, isSelecting, state]);\n const handleWheel = useCallback(({ target, deltaY }) => {\n let element = target;\n while (![\"scroll\", \"auto\"].includes(getComputedStyle(element).overflow)) {\n if (!element.parentElement) {\n return;\n }\n element = element.parentElement;\n }\n /**\n * The browser may cancel the scrolling from the mouse wheel\n * if we update it from the animation in meantime.\n * To prevent this, always escape when the wheel is scrolled up.\n */\n if (element === scrollRef.current &&\n deltaY < 0 &&\n scrollRef.current.scrollHeight > scrollRef.current.clientHeight &&\n !state.animation?.ignoreEscapes) {\n setEscapedFromLock(true);\n setIsAtBottom(false);\n }\n }, [setEscapedFromLock, setIsAtBottom, state]);\n const scrollRef = useRefCallback((scroll) => {\n scrollRef.current?.removeEventListener(\"scroll\", handleScroll);\n scrollRef.current?.removeEventListener(\"wheel\", handleWheel);\n scroll?.addEventListener(\"scroll\", handleScroll, { passive: true });\n scroll?.addEventListener(\"wheel\", handleWheel, { passive: true });\n }, []);\n const contentRef = useRefCallback((content) => {\n state.resizeObserver?.disconnect();\n if (!content) {\n return;\n }\n let previousHeight;\n state.resizeObserver = new ResizeObserver(([entry]) => {\n const { height } = entry.contentRect;\n const difference = height - (previousHeight ?? height);\n state.resizeDifference = difference;\n /**\n * Sometimes the browser can overscroll past the target,\n * so check for this and adjust appropriately.\n */\n if (state.scrollTop > state.targetScrollTop) {\n state.scrollTop = state.targetScrollTop;\n }\n setIsNearBottom(state.isNearBottom);\n if (difference >= 0) {\n /**\n * If it's a positive resize, scroll to the bottom when\n * we're already at the bottom.\n */\n const animation = mergeAnimations(optionsRef.current, previousHeight\n ? optionsRef.current.resize\n : optionsRef.current.initial);\n scrollToBottom({\n animation,\n wait: true,\n preserveScrollPosition: true,\n duration: animation === \"instant\" ? undefined : RETAIN_ANIMATION_DURATION_MS,\n });\n }\n else {\n /**\n * Else if it's a negative resize, check if we're near the bottom\n * if we are want to un-escape from the lock, because the resize\n * could have caused the container to be at the bottom.\n */\n if (state.isNearBottom) {\n setEscapedFromLock(false);\n setIsAtBottom(true);\n }\n }\n previousHeight = height;\n /**\n * Reset the resize difference after the scroll event\n * has fired. Requires a rAF to wait for the scroll event,\n * and a setTimeout to wait for the other timeout we have in\n * resizeObserver in case the scroll event happens after the\n * resize event.\n */\n requestAnimationFrame(() => {\n setTimeout(() => {\n if (state.resizeDifference === difference) {\n state.resizeDifference = 0;\n }\n }, 1);\n });\n });\n state.resizeObserver?.observe(content);\n }, []);\n return {\n contentRef,\n scrollRef,\n scrollToBottom,\n stopScroll,\n isAtBottom: isAtBottom || isNearBottom,\n isNearBottom,\n escapedFromLock,\n state,\n };\n};\nfunction useRefCallback(callback, deps) {\n // biome-ignore lint/correctness/useExhaustiveDependencies: not needed\n const result = useCallback((ref) => {\n result.current = ref;\n return callback(ref);\n }, deps);\n return result;\n}\nconst animationCache = new Map();\nfunction mergeAnimations(...animations) {\n const result = { ...DEFAULT_SPRING_ANIMATION };\n let instant = false;\n for (const animation of animations) {\n if (animation === \"instant\") {\n instant = true;\n continue;\n }\n if (typeof animation !== \"object\") {\n continue;\n }\n instant = false;\n result.damping = animation.damping ?? result.damping;\n result.stiffness = animation.stiffness ?? result.stiffness;\n result.mass = animation.mass ?? result.mass;\n }\n const key = JSON.stringify(result);\n if (!animationCache.has(key)) {\n animationCache.set(key, Object.freeze(result));\n }\n return instant ? \"instant\" : animationCache.get(key);\n}\n","import { jsx as _jsx } from \"react/jsx-runtime\";\n/*!---------------------------------------------------------------------------------------------\n * Copyright (c) StackBlitz. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nimport * as React from \"react\";\nimport { createContext, useContext, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, } from \"react\";\nimport { useStickToBottom, } from \"./useStickToBottom.js\";\nconst StickToBottomContext = createContext(null);\nconst useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\nexport function StickToBottom({ instance, children, resize, initial, mass, damping, stiffness, targetScrollTop: currentTargetScrollTop, contextRef, ...props }) {\n const customTargetScrollTop = useRef(null);\n const targetScrollTop = React.useCallback((target, elements) => {\n const get = context?.targetScrollTop ?? currentTargetScrollTop;\n return get?.(target, elements) ?? target;\n }, [currentTargetScrollTop]);\n const defaultInstance = useStickToBottom({\n mass,\n damping,\n stiffness,\n resize,\n initial,\n targetScrollTop,\n });\n const { scrollRef, contentRef, scrollToBottom, stopScroll, isAtBottom, escapedFromLock, state, } = instance ?? defaultInstance;\n const context = useMemo(() => ({\n scrollToBottom,\n stopScroll,\n scrollRef,\n isAtBottom,\n escapedFromLock,\n contentRef,\n state,\n get targetScrollTop() {\n return customTargetScrollTop.current;\n },\n set targetScrollTop(targetScrollTop) {\n customTargetScrollTop.current = targetScrollTop;\n },\n }), [\n scrollToBottom,\n isAtBottom,\n contentRef,\n scrollRef,\n stopScroll,\n escapedFromLock,\n state,\n ]);\n useImperativeHandle(contextRef, () => context, [context]);\n useIsomorphicLayoutEffect(() => {\n if (!scrollRef.current) {\n return;\n }\n if (getComputedStyle(scrollRef.current).overflow === \"visible\") {\n scrollRef.current.style.overflow = \"auto\";\n }\n }, []);\n return (_jsx(StickToBottomContext.Provider, { value: context, children: _jsx(\"div\", { ...props, children: typeof children === \"function\" ? children(context) : children }) }));\n}\n(function (StickToBottom) {\n function Content({ children, ...props }) {\n const context = useStickToBottomContext();\n return (_jsx(\"div\", { ref: context.scrollRef, style: {\n height: \"100%\",\n width: \"100%\",\n }, children: _jsx(\"div\", { ...props, ref: context.contentRef, children: typeof children === \"function\" ? children(context) : children }) }));\n }\n StickToBottom.Content = Content;\n})(StickToBottom || (StickToBottom = {}));\n/**\n * Use this hook inside a <StickToBottom> component to gain access to whether the component is at the bottom of the scrollable area.\n */\nexport function useStickToBottomContext() {\n const context = useContext(StickToBottomContext);\n if (!context) {\n throw new Error(\"use-stick-to-bottom component context must be used within a StickToBottom component\");\n }\n return context;\n}\n"],"names":["AlertTriangle","createLucideIcon","d","key","Book","CheckCircle2","cx","cy","r","CheckCircle","ChevronsUpDown","Clock","points","ListChecks","Loader2","MessageSquare","Pen","Search","SquarePen","Square","width","height","x","y","rx","Zap","_extends","Object","assign","bind","n","e","arguments","length","t","hasOwnProperty","call","apply","CHECKBOX_NAME","createCheckboxContext","createCheckboxScope","createContextScope","CheckboxProviderImpl","useCheckboxContext","CheckboxProvider","props","__scopeCheckbox","checked","checkedProp","children","defaultChecked","disabled","form","name","onCheckedChange","required","value","internal_do_not_use_render","setChecked","useControllableState","prop","defaultProp","onChange","caller","control","setControl","React","bubbleInput","setBubbleInput","hasConsumerStoppedPropagationRef","isFormControl","closest","context","isIndeterminate","jsx","scope","isFunction","TRIGGER_NAME","CheckboxTrigger","param","forwardedRef","onKeyDown","onClick","checkboxProps","composedRefs","useComposedRefs","initialCheckedStateRef","reset","current","addEventListener","removeEventListener","Primitive","button","type","role","getState","ref","composeEventHandlers","event","preventDefault","prevChecked","isPropagationStopped","stopPropagation","displayName","Checkbox","jsxs","Fragment","CheckboxBubbleInput","INDICATOR_NAME","CheckboxIndicator","forceMount","indicatorProps","Presence","present","span","style","pointerEvents","BUBBLE_INPUT_NAME","usePrevious","controlSize","useSize","descriptor","getOwnPropertyDescriptor","window","HTMLInputElement","prototype","set","bubbles","Event","input","indeterminate","dispatchEvent","defaultCheckedRef","tabIndex","position","opacity","margin","transform","document","createElement","getter","mayWarn","presence","usePresence","initialState","machine","node","setNode","React2","stylesRef","prevPresentRef","prevAnimationNameRef","state","send","mounted","UNMOUNT","ANIMATION_OUT","unmountSuspended","MOUNT","ANIMATION_END","unmounted","nextState","currentAnimationName","getAnimationName","useLayoutEffect","styles","wasPresent","prevAnimationName","display","timeoutId","ownerWindow","ownerDocument","defaultView","handleAnimationEnd","isCurrentAnimation","includes","CSS","escape","animationName","target","currentFillMode","animationFillMode","setTimeout","handleAnimationStart","clearTimeout","isPresent","getComputedStyle","child","only","element","get","isReactWarning","COLLAPSIBLE_NAME","createCollapsibleContext","createCollapsibleScope","CollapsibleProvider","useCollapsibleContext","Collapsible","__scopeCollapsible","open","openProp","defaultOpen","onOpenChange","collapsibleProps","setOpen","contentId","useId","onOpenToggle","prevOpen","div","CollapsibleTrigger","triggerProps","originalEventHandler","ourEventHandler","checkForDefaultPrevented","defaultPrevented","CONTENT_NAME","CollapsibleContent","contentProps","CollapsibleContentImpl","setIsPresent","heightRef","widthRef","isOpen","isMountAnimationPreventedRef","originalStylesRef","rAF","requestAnimationFrame","cancelAnimationFrame","transitionDuration","rect","getBoundingClientRect","id","hidden","concat","Root","DEFAULT_SPRING_ANIMATION","damping","stiffness","mass","SIXTY_FPS_INTERVAL_MS","mouseDown","globalThis","useStickToBottom","options","escapedFromLock","updateEscapedFromLock","react","useState","isAtBottom","updateIsAtBottom","initial","isNearBottom","setIsNearBottom","optionsRef","useRef","isSelecting","useCallback","selection","getSelection","rangeCount","range","getRangeAt","commonAncestorContainer","contains","scrollRef","setIsAtBottom","setEscapedFromLock","useMemo","lastCalculation","resizeDifference","accumulated","velocity","listeners","Set","scrollTop","ignoreScrollToTop","targetScrollTop","contentRef","scrollHeight","clientHeight","calculatedTargetScrollTop","calculatedScrollTop","Math","max","min","scrollElement","contentElement","undefined","scrollDifference","scrollToBottom","scrollOptions","durationElapsed","animation","preserveScrollPosition","waitElapsed","Date","now","Number","wait","behavior","mergeAnimations","ignoreEscapes","startTarget","duration","Promise","finally","next","promise","then","tick","performance","tickDelta","lastTick","resize","stopScroll","handleScroll","lastScrollTop","isScrollingDown","isScrollingUp","handleWheel","deltaY","overflow","parentElement","useRefCallback","scroll","passive","previousHeight","resizeObserver","disconnect","content","ResizeObserver","entry","contentRect","difference","observe","callback","deps","result","animationCache","Map","animations","instant","JSON","stringify","has","freeze","StickToBottomContext","createContext","useIsomorphicLayoutEffect","useEffect","StickToBottom","instance","currentTargetScrollTop","contextRef","customTargetScrollTop","defaultInstance","elements","useImperativeHandle","jsx_runtime","Provider","Content","useStickToBottomContext","useContext"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9105],{8864:function(e,s,l){l.d(s,{R:function(){return Z}});var a=l(57437),i=l(2265),n=l(7211),t=l(12199),r=l(27689),d=l(62869),c=l(66070),o=l(73578),u=l(12339),x=l(37099),h=l(35974),m=l(15863),j=l(33276),v=l(89227),p=l(93609),g=l(18930),b=l(52636),f=l(92451),N=l(10407),y=l(77992),w=l(27107),C=l(68656),P=l(20653);function Z(e){var s,l,Z,q,k,S,T,R,z;let{queueName:I,nameGenerator:O,retryJob:A}=e,{toast:D}=(0,y.pm)(),[Q,L]=(0,i.useState)(!1),[J,M]=(0,i.useState)(!1),[_,E]=(0,i.useState)(!1),[F,Y]=(0,i.useState)(null),[$,G]=(0,i.useState)(null),[W,B]=(0,i.useState)("completed"),[H,V]=(0,i.useState)(1),[K,U]=(0,i.useState)(5),{data:X,loading:ee,refetch:es}=(0,n.aM)(r.k9,{variables:{queue:I},pollInterval:5e3}),{data:el,loading:ea,refetch:ei,networkStatus:en}=(0,n.aM)(r.Jq,{variables:{queue:I,statusses:W,page:H,limit:K},pollInterval:5e3}),[et,{loading:er}]=(0,t.D)(r.Wr,{onCompleted:()=>{D({title:"Job deleted",description:"The job has been successfully deleted."}),ei(),es(),Y(null)},onError:e=>{D({title:"Failed to delete job",description:e.message,variant:"destructive"})}}),[ed,{loading:ec}]=(0,t.D)(r.fc,{onCompleted:()=>{D({title:"Queue paused",description:"The ".concat(I," queue has been paused.")}),es(),L(!1)},onError:e=>{D({title:"Failed to pause queue",description:e.message,variant:"destructive"})}}),[eo,{loading:eu}]=(0,t.D)(r.iC,{onCompleted:()=>{D({title:"Queue resumed",description:"The ".concat(I," queue has been resumed.")}),es(),E(!1)},onError:e=>{D({title:"Failed to resume queue",description:e.message,variant:"destructive"})}}),[ex,{loading:eh}]=(0,t.D)(r.QW,{onCompleted:()=>{D({title:"Queue drained",description:"All waiting and delayed jobs have been removed from the queue."}),es(),ei(),M(!1)},onError:e=>{D({title:"Failed to drain queue",description:e.message,variant:"destructive"})}}),em=e=>{Y(e)},ej=e=>{G(e)},ev=null==X?void 0:X.queue,ep=(null==el?void 0:el.jobs)||{items:[],pageInfo:{pageCount:0,itemCount:0,currentPage:1,hasPreviousPage:!1,hasNextPage:!1}},eg=e=>(0,a.jsx)(h.C,{variant:"outline",className:{active:"bg-blue-100 text-blue-800 border-blue-200",waiting:"bg-yellow-100 text-yellow-800 border-yellow-200",completed:"bg-green-100 text-green-800 border-green-200",failed:"bg-red-100 text-red-800 border-red-200",delayed:"bg-orange-100 text-orange-800 border-orange-200",paused:"bg-gray-100 text-gray-800 border-gray-200"}[e]||"bg-gray-100 text-gray-800",children:e});return ee&&ea?(0,a.jsx)("div",{className:"space-y-4",children:(0,a.jsx)(c.Zb,{children:(0,a.jsx)(c.aY,{className:"pt-6",children:(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(m.Z,{className:"h-6 w-6 animate-spin"})})})})}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(c.Zb,{children:[(0,a.jsx)(c.Ol,{children:(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[(0,a.jsx)("div",{className:"flex items-center gap-3",children:(0,a.jsxs)("div",{children:[(0,a.jsxs)(c.ll,{children:["Queue: ",I]}),(0,a.jsxs)(c.SZ,{children:["Manage the ",I," job queue and view all jobs."]})]})}),ev&&(0,a.jsxs)("div",{className:"flex gap-2",children:[(0,a.jsxs)(d.z,{variant:"outline",size:"sm",onClick:()=>(null==ev?void 0:ev.isPaused)?E(!0):L(!0),disabled:ec||eu,children:[(null==ev?void 0:ev.isPaused)?(0,a.jsx)(j.Z,{className:"mr-2 h-4 w-4"}):(0,a.jsx)(v.Z,{className:"mr-2 h-4 w-4"}),(null==ev?void 0:ev.isPaused)?"Resume queue":"Pause queue"]}),(0,a.jsxs)(d.z,{variant:"outline",size:"sm",onClick:()=>M(!0),disabled:eh,children:[(0,a.jsx)(p.Z,{className:"mr-2 h-4 w-4"}),"Drain queue"]})]})]})}),(0,a.jsxs)(c.aY,{className:"space-y-6",children:[ev&&(0,a.jsxs)("div",{className:"flex items-center gap-8 p-4 bg-muted/50 rounded-lg",children:[(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:"Status:"}),(0,a.jsx)("div",{children:ev.isPaused?(0,a.jsx)(h.C,{variant:"outline",className:"bg-gray-100 text-gray-800",children:"Paused"}):ev.isMaxed?(0,a.jsx)(h.C,{variant:"outline",className:"bg-red-100 text-red-800",children:"Maxed"}):(0,a.jsx)(h.C,{variant:"outline",className:"bg-green-100 text-green-800",children:"Active"})})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:"Concurrency:"}),(0,a.jsx)("div",{className:"font-semibold",children:ev.concurrency})]}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"text-sm text-muted-foreground",children:"Rate Limit:"}),(0,a.jsx)("div",{className:"font-semibold",children:ev.ratelimit||"None"})]}),(0,a.jsx)(u.mQ,{value:W,onValueChange:e=>B(e),className:"w-auto",children:(0,a.jsxs)(u.dr,{children:[(0,a.jsxs)(u.SP,{value:"active",className:"gap-1.5",children:[(0,a.jsx)("span",{children:"Active"}),(0,a.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-blue-100 text-blue-600 border-blue-200",children:(null===(s=ev.jobs)||void 0===s?void 0:s.active)||0})]}),(0,a.jsxs)(u.SP,{value:"waiting",className:"gap-1.5",children:[(0,a.jsx)("span",{children:"Waiting"}),(0,a.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-yellow-100 text-yellow-600 border-yellow-200",children:(null===(l=ev.jobs)||void 0===l?void 0:l.waiting)||0})]}),(0,a.jsxs)(u.SP,{value:"failed",className:"gap-1.5",children:[(0,a.jsx)("span",{children:"Failed"}),(0,a.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-red-100 text-red-600 border-red-200",children:(null===(Z=ev.jobs)||void 0===Z?void 0:Z.failed)||0})]}),(0,a.jsxs)(u.SP,{value:"completed",className:"gap-1.5",children:[(0,a.jsx)("span",{children:"Completed"}),(0,a.jsx)(h.C,{variant:"secondary",className:"ml-1 bg-green-100 text-green-600 border-green-200",children:(null===(q=ev.jobs)||void 0===q?void 0:q.completed)||0})]})]})})]}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-3 flex items-center justify-between gap-2",children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("h3",{className:"text-sm font-semibold",children:"Queue Jobs"}),(0,a.jsxs)("p",{className:"text-xs text-muted-foreground",children:["All jobs currently in the ",I," queue"]})]}),(0,a.jsxs)(h.C,{variant:"outline",children:["Auto Refresh: ",(0,a.jsx)(m.Z,{className:"h-4 w-4 animate-spin text-muted-foreground ml-1"})]})]}),(0,a.jsxs)("div",{className:"border rounded-lg",children:[ea?(0,a.jsx)("div",{className:"flex items-center justify-center py-8",children:(0,a.jsx)(m.Z,{className:"h-6 w-6 animate-spin"})}):(null===(k=ep.items)||void 0===k?void 0:k.length)===0?(0,a.jsx)("div",{className:"text-center pt-8 text-muted-foreground",children:"No jobs in queue"}):(0,a.jsxs)(o.iA,{children:[(0,a.jsx)(o.xD,{children:(0,a.jsxs)(o.SC,{children:[(0,a.jsx)(o.ss,{children:"Name"}),(0,a.jsx)(o.ss,{children:"State"}),(0,a.jsx)(o.ss,{children:"Timestamp"}),(0,a.jsx)(o.ss,{children:"Inputs"}),(0,a.jsx)(o.ss,{children:"Outputs"}),(0,a.jsx)(o.ss,{className:"text-right",children:"Actions"})]})}),(0,a.jsx)(o.RM,{children:null===(S=ep.items)||void 0===S?void 0:S.map((e,s)=>(0,a.jsxs)(o.SC,{children:[(0,a.jsx)(o.pj,{className:"font-medium max-w-[200px] truncate",children:O(e)}),(0,a.jsx)(o.pj,{children:eg(e.state)}),(0,a.jsx)(o.pj,{children:e.timestamp?(0,w.WU)(new Date(e.timestamp),"MMM d, yyyy HH:mm:ss"):"N/A"}),(0,a.jsx)(o.pj,{children:e.data?(0,a.jsx)("div",{className:"text-xs max-w-[200px] truncate",children:(0,a.jsx)(C.J,{text:JSON.stringify(e.data)})}):null}),(0,a.jsx)(o.pj,{children:e.failedReason?(0,a.jsx)("div",{className:"text-xs text-red-600 max-w-[200px] truncate",children:(0,a.jsx)(C.J,{text:"Error: "+e.failedReason})}):(0,a.jsx)("div",{className:"text-xs text-muted-foreground max-w-[200px] truncate",children:(0,a.jsx)(C.J,{text:JSON.stringify(e.returnvalue)})})}),(0,a.jsxs)(o.pj,{className:"text-right",children:["active"!==e.state&&(0,a.jsx)(d.z,{variant:"ghost",size:"sm",onClick:()=>em(e),disabled:er,children:(0,a.jsx)(g.Z,{className:"h-4 w-4 text-red-600"})}),"failed"===e.state&&(0,a.jsxs)(d.z,{variant:"ghost",size:"sm",onClick:()=>ej(e),children:[(0,a.jsx)(b.Z,{className:"h-4 w-4 text-blue-600"}),"Retry"]})]})]},s))})]}),(0,a.jsxs)("div",{className:"flex items-center justify-between px-2 pb-2",children:[(0,a.jsxs)("div",{className:"flex-1 text-sm text-muted-foreground",children:["(",(null==ep?void 0:null===(T=ep.pageInfo)||void 0===T?void 0:T.itemCount)||0," total"," ","items)."]}),(0,a.jsx)("div",{className:"flex items-center space-x-6 lg:space-x-8",children:(0,a.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,a.jsxs)(d.z,{variant:"outline",className:"hidden size-8 p-0 lg:flex",onClick:()=>{V(1),ei()},disabled:!(null==ep?void 0:null===(R=ep.pageInfo)||void 0===R?void 0:R.hasPreviousPage),children:[(0,a.jsx)("span",{className:"sr-only",children:"Go to first page"}),(0,a.jsx)(P.kRt,{className:"size-4"})]}),(0,a.jsxs)(d.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{var e,s,l;console.log("itemsData.data?.pageInfo.hasPreviousPage",null==ep?void 0:null===(e=ep.pageInfo)||void 0===e?void 0:e.hasPreviousPage),V((null==ep?void 0:null===(s=ep.pageInfo)||void 0===s?void 0:s.hasPreviousPage)?(null==ep?void 0:null===(l=ep.pageInfo)||void 0===l?void 0:l.currentPage)-1:1),ei()},disabled:!(null==ep?void 0:null===(z=ep.pageInfo)||void 0===z?void 0:z.hasPreviousPage),children:[(0,a.jsx)("span",{className:"sr-only",children:"Go to previous page"}),(0,a.jsx)(f.Z,{className:"size-4"})]}),(0,a.jsxs)(d.z,{variant:"outline",className:"size-8 p-0",onClick:()=>{var e,s;V((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),ei()},disabled:!(null==ep?void 0:ep.pageInfo.hasNextPage),children:[(0,a.jsx)("span",{className:"sr-only",children:"Go to next page"}),(0,a.jsx)(N.Z,{className:"size-4"})]})]})})]})]})]})]})]}),(0,a.jsx)(x.aR,{open:!!F,onOpenChange:e=>!e&&Y(null),children:(0,a.jsxs)(x._T,{children:[(0,a.jsxs)(x.fY,{children:[(0,a.jsx)(x.f$,{children:"Delete Job?"}),(0,a.jsxs)(x.yT,{children:['Are you sure you want to delete the job "',null==F?void 0:F.name,'"? This action cannot be undone.']})]}),(0,a.jsxs)(x.xo,{children:[(0,a.jsx)(x.le,{children:"Cancel"}),(0,a.jsxs)(x.OL,{onClick:()=>{if(!(null==F?void 0:F.id)){D({title:"Failed to delete job",description:"The job has no ID.",variant:"destructive"});return}F&&et({variables:{queue:I,id:F.id}})},disabled:er,children:[er&&(0,a.jsx)(m.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Delete"]})]})]})}),(0,a.jsx)(x.aR,{open:!!$,onOpenChange:e=>!e&&G(null),children:(0,a.jsxs)(x._T,{children:[(0,a.jsxs)(x.fY,{children:[(0,a.jsx)(x.f$,{children:"Retry Job?"}),(0,a.jsxs)(x.yT,{children:['Are you sure you want to retry the job "',null==$?void 0:$.name,'"? This will schedule a new job with the same data.']})]}),(0,a.jsxs)(x.xo,{children:[(0,a.jsx)(x.le,{children:"Cancel"}),(0,a.jsx)(x.OL,{onClick:()=>{$&&A($)},disabled:er,children:"Retry"})]})]})}),(0,a.jsx)(x.aR,{open:Q,onOpenChange:L,children:(0,a.jsxs)(x._T,{children:[(0,a.jsxs)(x.fY,{children:[(0,a.jsx)(x.f$,{children:"Pause Queue?"}),(0,a.jsxs)(x.yT,{children:["Are you sure you want to pause the ",I," queue? No jobs will be processed until the queue is resumed."]})]}),(0,a.jsxs)(x.xo,{children:[(0,a.jsx)(x.le,{children:"Cancel"}),(0,a.jsxs)(x.OL,{onClick:()=>{ed({variables:{queue:I}})},disabled:ec,children:[ec&&(0,a.jsx)(m.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Pause Queue"]})]})]})}),(0,a.jsx)(x.aR,{open:_,onOpenChange:E,children:(0,a.jsxs)(x._T,{children:[(0,a.jsxs)(x.fY,{children:[(0,a.jsx)(x.f$,{children:"Resume Queue?"}),(0,a.jsxs)(x.yT,{children:["Are you sure you want to resume the ",I," queue?."]})]}),(0,a.jsxs)(x.xo,{children:[(0,a.jsx)(x.le,{children:"Cancel"}),(0,a.jsxs)(x.OL,{onClick:()=>{eo({variables:{queue:I}})},disabled:eu,children:[eu&&(0,a.jsx)(m.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Resume Queue"]})]})]})}),(0,a.jsx)(x.aR,{open:J,onOpenChange:M,children:(0,a.jsxs)(x._T,{children:[(0,a.jsxs)(x.fY,{children:[(0,a.jsx)(x.f$,{children:"Drain Queue?"}),(0,a.jsxs)(x.yT,{children:["Are you sure you want to drain the ",I," 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,a.jsxs)(x.xo,{children:[(0,a.jsx)(x.le,{children:"Cancel"}),(0,a.jsxs)(x.OL,{onClick:()=>{ex({variables:{queue:I}})},disabled:eh,className:"bg-destructive text-destructive-foreground hover:bg-destructive/90",children:[eh&&(0,a.jsx)(m.Z,{className:"mr-2 h-4 w-4 animate-spin"}),"Drain Queue"]})]})]})})]})}},62910:function(e,s,l){l.d(s,{G:function(){return j}});var a=l(57437),i=l(29406),n=l(10842),t=l(38436),r=l(2265),d=l(42571),c=l(71558),o=l(69797),u=l(49712),x=l(26110),h=l(77992),m=l(94508);function j(e){let{className:s=null,code:l,language:c,slice:o=200}=e,{toast:j}=(0,h.pm)(),[v,p]=(0,r.useState)(null),g=async(e,s)=>{"string"!=typeof e&&(e=JSON.stringify(e,null,2)),p(await t.ZP.format(e,{parser:s,plugins:[i.Z,n.ZP]}))};return(0,r.useEffect)(()=>{"json"===c?g(l,"json"):"javascript"===c||"js"===c?g(l,"babel"):p(l)},[l,c]),(0,a.jsxs)(x.Vq,{children:[(0,a.jsx)(x.hg,{asChild:!0,children:(null==v?void 0:v.length)&&(0,a.jsx)(d.Z,{className:(0,m.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==v?void 0:v.slice(0,o||200)," ").concat((null==v?void 0:v.length)>(o||200)?"...":"")})}),(0,a.jsx)(x.cZ,{className:"sm:max-w-[800px] overflow-hidden max-h-[500px] overflow-y-scroll",children:(0,a.jsxs)(x.fK,{children:[(0,a.jsx)(x.$N,{children:"Code"}),(0,a.jsx)("div",{className:"cursor-copy",onClick:async()=>{await navigator.clipboard.writeText(null!=v?v:""),j({title:"Copied to clipboard"})},children:(0,a.jsx)(d.Z,{className:(0,m.cn)(s),showLineNumbers:!0,wrapLines:!0,lineProps:{style:{wordBreak:"break-all",whiteSpace:"pre-wrap"}},language:c||"plaintext",style:u.Z,children:null!=v?v:""})})]})})]})}d.Z.registerLanguage("json",o.Z),d.Z.registerLanguage("javascript",c.Z)}}]);
2
- //# sourceMappingURL=9105-78d236e8399181e0.js.map