@shepai/cli 1.43.0 → 1.44.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (179) hide show
  1. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts +1 -0
  2. package/dist/packages/core/src/application/ports/output/repositories/index.d.ts.map +1 -1
  3. package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts +19 -0
  4. package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.d.ts.map +1 -0
  5. package/dist/packages/core/src/application/ports/output/repositories/repository-repository.interface.js +6 -0
  6. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts +3 -1
  7. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.d.ts.map +1 -1
  8. package/dist/packages/core/src/application/use-cases/features/create/create-feature.use-case.js +20 -2
  9. package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.d.ts +18 -0
  10. package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.d.ts.map +1 -0
  11. package/dist/packages/core/src/application/use-cases/repositories/add-repository.use-case.js +64 -0
  12. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.d.ts +13 -0
  13. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.d.ts.map +1 -0
  14. package/dist/packages/core/src/application/use-cases/repositories/delete-repository.use-case.js +38 -0
  15. package/dist/packages/core/src/application/use-cases/repositories/list-repositories.use-case.d.ts +13 -0
  16. package/dist/packages/core/src/application/use-cases/repositories/list-repositories.use-case.d.ts.map +1 -0
  17. package/dist/packages/core/src/application/use-cases/repositories/list-repositories.use-case.js +33 -0
  18. package/dist/packages/core/src/domain/generated/output.d.ts +17 -0
  19. package/dist/packages/core/src/domain/generated/output.d.ts.map +1 -1
  20. package/dist/packages/core/src/infrastructure/di/container.d.ts.map +1 -1
  21. package/dist/packages/core/src/infrastructure/di/container.js +22 -0
  22. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts +1 -0
  23. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.d.ts.map +1 -1
  24. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/feature.mapper.js +4 -0
  25. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts +30 -0
  26. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.d.ts.map +1 -0
  27. package/dist/packages/core/src/infrastructure/persistence/sqlite/mappers/repository.mapper.js +39 -0
  28. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.d.ts.map +1 -1
  29. package/dist/packages/core/src/infrastructure/persistence/sqlite/migrations.js +60 -1
  30. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts +21 -0
  31. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.d.ts.map +1 -0
  32. package/dist/packages/core/src/infrastructure/repositories/sqlite-repository.repository.js +69 -0
  33. package/dist/src/presentation/web/app/actions/add-repository.d.ts +11 -0
  34. package/dist/src/presentation/web/app/actions/add-repository.d.ts.map +1 -0
  35. package/dist/src/presentation/web/app/actions/add-repository.js +17 -0
  36. package/dist/src/presentation/web/app/actions/delete-repository.d.ts +5 -0
  37. package/dist/src/presentation/web/app/actions/delete-repository.d.ts.map +1 -0
  38. package/dist/src/presentation/web/app/actions/delete-repository.js +16 -0
  39. package/dist/src/presentation/web/app/page.d.ts.map +1 -1
  40. package/dist/src/presentation/web/app/page.js +29 -8
  41. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.d.ts +2 -0
  42. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.d.ts.map +1 -1
  43. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.d.ts +1 -1
  44. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.d.ts.map +1 -1
  45. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.js +2 -2
  46. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.d.ts.map +1 -1
  47. package/dist/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.js +1 -1
  48. package/dist/src/presentation/web/components/common/repository-node/repository-node-config.d.ts +3 -0
  49. package/dist/src/presentation/web/components/common/repository-node/repository-node-config.d.ts.map +1 -1
  50. package/dist/src/presentation/web/components/common/repository-node/repository-node.d.ts.map +1 -1
  51. package/dist/src/presentation/web/components/common/repository-node/repository-node.js +8 -2
  52. package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.d.ts +1 -0
  53. package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.d.ts.map +1 -1
  54. package/dist/src/presentation/web/components/common/repository-node/repository-node.stories.js +28 -3
  55. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.d.ts +2 -0
  56. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.d.ts.map +1 -1
  57. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts +1 -1
  58. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.d.ts.map +1 -1
  59. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.js +2 -2
  60. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.d.ts.map +1 -1
  61. package/dist/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.js +1 -1
  62. package/dist/src/presentation/web/components/features/control-center/control-center-inner.d.ts.map +1 -1
  63. package/dist/src/presentation/web/components/features/control-center/control-center-inner.js +2 -2
  64. package/dist/src/presentation/web/components/features/control-center/control-center.stories.d.ts.map +1 -1
  65. package/dist/src/presentation/web/components/features/control-center/control-center.stories.js +2 -1
  66. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts +1 -0
  67. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.d.ts.map +1 -1
  68. package/dist/src/presentation/web/components/features/control-center/use-control-center-state.js +81 -19
  69. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts +2 -1
  70. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.d.ts.map +1 -1
  71. package/dist/src/presentation/web/components/features/features-canvas/features-canvas.js +11 -2
  72. package/dist/src/presentation/web/lib/layout-with-dagre.js +1 -1
  73. package/dist/tsconfig.build.tsbuildinfo +1 -1
  74. package/package.json +1 -1
  75. package/web/.next/BUILD_ID +1 -1
  76. package/web/.next/build-manifest.json +2 -2
  77. package/web/.next/cache/.previewinfo +1 -1
  78. package/web/.next/cache/.rscinfo +1 -1
  79. package/web/.next/cache/.tsbuildinfo +1 -1
  80. package/web/.next/cache/config.json +3 -3
  81. package/web/.next/fallback-build-manifest.json +2 -2
  82. package/web/.next/prerender-manifest.json +3 -3
  83. package/web/.next/required-server-files.js +1 -1
  84. package/web/.next/required-server-files.json +1 -1
  85. package/web/.next/server/app/_global-error.html +2 -2
  86. package/web/.next/server/app/_global-error.rsc +1 -1
  87. package/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  88. package/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  89. package/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  90. package/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  91. package/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  92. package/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  93. package/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  94. package/web/.next/server/app/page/server-reference-manifest.json +48 -18
  95. package/web/.next/server/app/page.js +1 -1
  96. package/web/.next/server/app/page.js.nft.json +1 -1
  97. package/web/.next/server/app/page_client-reference-manifest.js +1 -1
  98. package/web/.next/server/app/version/page.js.nft.json +1 -1
  99. package/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  100. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +4 -4
  101. package/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js.map +1 -1
  102. package/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  103. package/web/.next/server/chunks/ssr/{[root-of-the-server]__77c0dfc4._.js → [root-of-the-server]__4e8ca89c._.js} +3 -3
  104. package/web/.next/server/chunks/ssr/[root-of-the-server]__4e8ca89c._.js.map +1 -0
  105. package/web/.next/server/chunks/ssr/_3ac3601c._.js +10 -0
  106. package/web/.next/server/chunks/ssr/_3ac3601c._.js.map +1 -0
  107. package/web/.next/server/chunks/ssr/_a35f2870._.js +3 -0
  108. package/web/.next/server/chunks/ssr/_a35f2870._.js.map +1 -0
  109. package/web/.next/server/chunks/ssr/src_presentation_web_components_e599bb8c._.js.map +1 -1
  110. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  111. package/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js.map +1 -1
  112. package/web/.next/server/pages/500.html +2 -2
  113. package/web/.next/server/server-reference-manifest.js +1 -1
  114. package/web/.next/server/server-reference-manifest.json +49 -19
  115. package/web/.next/standalone/src/presentation/web/.next/BUILD_ID +1 -1
  116. package/web/.next/standalone/src/presentation/web/.next/build-manifest.json +2 -2
  117. package/web/.next/standalone/src/presentation/web/.next/prerender-manifest.json +3 -3
  118. package/web/.next/standalone/src/presentation/web/.next/required-server-files.json +1 -1
  119. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.html +2 -2
  120. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.rsc +1 -1
  121. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  122. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  123. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  124. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  125. package/web/.next/standalone/src/presentation/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  126. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  127. package/web/.next/standalone/src/presentation/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  128. package/web/.next/standalone/src/presentation/web/.next/server/app/page/server-reference-manifest.json +48 -18
  129. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js +1 -1
  130. package/web/.next/standalone/src/presentation/web/.next/server/app/page.js.nft.json +1 -1
  131. package/web/.next/standalone/src/presentation/web/.next/server/app/page_client-reference-manifest.js +1 -1
  132. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page.js.nft.json +1 -1
  133. package/web/.next/standalone/src/presentation/web/.next/server/app/version/page_client-reference-manifest.js +1 -1
  134. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__03a0dba7._.js +4 -4
  135. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/[root-of-the-server]__249c74f6._.js +1 -1
  136. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/{[root-of-the-server]__77c0dfc4._.js → [root-of-the-server]__4e8ca89c._.js} +3 -3
  137. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_3ac3601c._.js +10 -0
  138. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_a35f2870._.js +3 -0
  139. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/src_presentation_web_ed0934e5._.js +1 -1
  140. package/web/.next/standalone/src/presentation/web/.next/server/pages/500.html +2 -2
  141. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.js +1 -1
  142. package/web/.next/standalone/src/presentation/web/.next/server/server-reference-manifest.json +49 -19
  143. package/web/.next/standalone/src/presentation/web/app/actions/add-repository.ts +29 -0
  144. package/web/.next/standalone/src/presentation/web/app/actions/delete-repository.ts +21 -0
  145. package/web/.next/standalone/src/presentation/web/app/page.tsx +34 -8
  146. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-config.ts +2 -0
  147. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire-drawer.tsx +2 -0
  148. package/web/.next/standalone/src/presentation/web/components/common/prd-questionnaire/prd-questionnaire.stories.tsx +1 -0
  149. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node-config.ts +3 -0
  150. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.stories.tsx +30 -3
  151. package/web/.next/standalone/src/presentation/web/components/common/repository-node/repository-node.tsx +57 -1
  152. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell-config.ts +2 -0
  153. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.stories.tsx +1 -0
  154. package/web/.next/standalone/src/presentation/web/components/common/review-drawer-shell/review-drawer-shell.tsx +4 -1
  155. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center-inner.tsx +3 -0
  156. package/web/.next/standalone/src/presentation/web/components/features/control-center/control-center.stories.tsx +6 -3
  157. package/web/.next/standalone/src/presentation/web/components/features/control-center/use-control-center-state.ts +122 -34
  158. package/web/.next/standalone/src/presentation/web/components/features/features-canvas/features-canvas.tsx +12 -1
  159. package/web/.next/standalone/src/presentation/web/lib/layout-with-dagre.ts +1 -1
  160. package/web/.next/standalone/src/presentation/web/server.js +1 -1
  161. package/web/.next/static/chunks/{8c0b96eb95dd31a9.js → 00f6ac2dde225eb7.js} +1 -1
  162. package/web/.next/static/chunks/631933b137e91fb2.js +10 -0
  163. package/web/.next/static/chunks/9f8e71029fb04681.js +5 -0
  164. package/web/.next/static/chunks/b7b7abe79e05b229.css +2 -0
  165. package/web/.next/trace +1 -1
  166. package/web/.next/trace-build +1 -1
  167. package/web/.next/server/chunks/ssr/[root-of-the-server]__77c0dfc4._.js.map +0 -1
  168. package/web/.next/server/chunks/ssr/_285de9aa._.js +0 -3
  169. package/web/.next/server/chunks/ssr/_285de9aa._.js.map +0 -1
  170. package/web/.next/server/chunks/ssr/_b1f2507a._.js +0 -10
  171. package/web/.next/server/chunks/ssr/_b1f2507a._.js.map +0 -1
  172. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_285de9aa._.js +0 -3
  173. package/web/.next/standalone/src/presentation/web/.next/server/chunks/ssr/_b1f2507a._.js +0 -10
  174. package/web/.next/static/chunks/36bb03a0314fb990.css +0 -2
  175. package/web/.next/static/chunks/ac2bd2a7ffc02cd4.js +0 -10
  176. package/web/.next/static/chunks/fe6427c156bda6b0.js +0 -5
  177. /package/web/.next/static/{qVAyP83VDRO7ohQMjLw8T → aWm2zr_Js7tN6yFqI9qT-}/_buildManifest.js +0 -0
  178. /package/web/.next/static/{qVAyP83VDRO7ohQMjLw8T → aWm2zr_Js7tN6yFqI9qT-}/_clientMiddlewareManifest.json +0 -0
  179. /package/web/.next/static/{qVAyP83VDRO7ohQMjLw8T → aWm2zr_Js7tN6yFqI9qT-}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},22672,a=>{a.n(a.i(41208))},32459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>","default")},93933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(32459);var b=a.i(93933);a.n(b)},77048,a=>{"use strict";var b=a.i(92807),c=a.i(60526),d=a.i(67651);function e(){let a={nodeVersion:process.version,platform:(0,c.platform)(),arch:(0,c.arch)()};return(0,b.jsx)(d.default,{versionInfo:{version:"1.42.0",name:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},systemInfo:a})}a.s(["default",()=>e],77048)}];
1
+ module.exports=[60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},93695,(a,b,c)=>{b.exports=a.x("next/dist/shared/lib/no-fallback-error.external.js",()=>require("next/dist/shared/lib/no-fallback-error.external.js"))},59975,a=>{a.n(a.i(72884))},63754,a=>{a.n(a.i(39838))},27075,a=>{a.n(a.i(26048))},37458,a=>{a.n(a.i(72330))},22672,a=>{a.n(a.i(41208))},32459,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation> from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx <module evaluation>","default")},93933,a=>{"use strict";a.s(["default",()=>b]);let b=(0,a.i(28478).registerClientReference)(function(){throw Error("Attempted to call the default export of [project]/src/presentation/web/components/features/version/version-page-client.tsx from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/src/presentation/web/components/features/version/version-page-client.tsx","default")},67651,a=>{"use strict";a.i(32459);var b=a.i(93933);a.n(b)},77048,a=>{"use strict";var b=a.i(92807),c=a.i(60526),d=a.i(67651);function e(){let a={nodeVersion:process.version,platform:(0,c.platform)(),arch:(0,c.arch)()};return(0,b.jsx)(d.default,{versionInfo:{version:"1.44.0",name:"@shepai/cli",description:"Autonomous AI Native SDLC Platform - Automate the development cycle from idea to deploy"},systemInfo:a})}a.s(["default",()=>e],77048)}];
2
2
 
3
3
  //# sourceMappingURL=%5Broot-of-the-server%5D__249c74f6._.js.map
@@ -1,9 +1,9 @@
1
1
  module.exports=[50227,(a,b,c)=>{b.exports=a.x("node:path",()=>require("node:path"))},60526,(a,b,c)=>{b.exports=a.x("node:os",()=>require("node:os"))},2157,(a,b,c)=>{b.exports=a.x("node:fs",()=>require("node:fs"))},74533,(a,b,c)=>{b.exports=a.x("node:child_process",()=>require("node:child_process"))},96380,a=>{"use strict";function b(a){let b=globalThis.__shepContainer;if(!b)throw Error("DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.");return b.resolve(a)}a.s(["resolve",()=>b])},92658,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"registerServerReference",{enumerable:!0,get:function(){return d.registerServerReference}});let d=a.r(28478)},12581,(a,b,c)=>{"use strict";function d(a){for(let b=0;b<a.length;b++){let c=a[b];if("function"!=typeof c)throw Object.defineProperty(Error(`A "use server" file can only export async functions, found ${typeof c}.
2
- Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},80016,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return{approved:!1,error:"Feature not found"};if(!d.agentRunId)return{approved:!1,error:"Feature has no agent run"};let e=(0,c.resolve)("ApproveAgentRunUseCase"),f=await e.execute(d.agentRunId);if(!f.approved)return{approved:!1,error:f.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a);return{questionnaire:{question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"4024c538132575328a85253f9a3cd67e7b322a6f84",null),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"40953c02fa87e0a9e815723a497715d595133a0a2f",null),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"401f90d6dd0aa3df55467547de99c05d806530988f",null);let h="__shepSettings";function i(){let a=function(){let a=globalThis[h];if(null!=a)return a;let b=process[h];return null!=b?b:null}();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}async function j(a){let{repositoryPath:b,branch:d}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};let e=i().environment.defaultEditor,f=(0,c.resolve)("LaunchIdeUseCase"),g=await f.execute({editorId:e,repositoryPath:b,branch:d,checkAvailability:!0});return g.ok?{success:!0,editor:g.editorName,path:g.worktreePath}:{success:!1,error:g.message}}(0,d.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"40664ad475a8a74e66c804d0ce3919975e1215c282",null);var k=a.i(2157),l=a.i(60526),m=a.i(74533),n=a.i(66680),o=a.i(50227);async function p(a){let{repositoryPath:b,branch:c}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a,d,e=i().environment.shellPreference,f=c?(a=(0,n.createHash)("sha256").update(b).digest("hex").slice(0,16),d=c.replace(/\//g,"-"),(0,o.join)(process.env.SHEP_HOME??(0,o.join)((0,l.homedir)(),".shep"),"repos",a,"wt",d)):b;if(!(0,k.existsSync)(f))return{success:!1,error:`Path does not exist: ${f}`};return(0,l.platform)(),(0,m.spawn)("x-terminal-emulator",[`--working-directory=${f}`],{detached:!0,stdio:"ignore"}).unref(),{success:!0,path:f,shell:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}async function q(a){if(!a?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,k.existsSync)(a))return{success:!1,error:"Directory not found"};return(0,l.platform)(),(0,m.spawn)("xdg-open",[a],{detached:!0,stdio:"ignore"}).unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}a.i(12714),(0,d.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40fcf4e7ed6da9e136a8abfabca6cb78b856fa9f67",null),(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40aeb484d2caed59fa028ef82a443349164ceb6523",null);let r={platform:process.platform,exec:(a,b)=>(0,m.execSync)(a,b)},s={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class t{deps;constructor(a={}){this.deps={...r,...a}}getCommand(){return s[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function u(){let a=new t;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}async function v(a){let{name:b,description:d,repositoryPath:e,attachments:f,approvalGates:g}=a;if(!b?.trim())return{error:"name is required"};if(!e?.trim())return{error:"repositoryPath is required"};let h=function(a,b,c){let d=`Feature: ${a}`;if(b&&(d+=`
2
+ Read more: https://nextjs.org/docs/messages/invalid-use-server-value`),"__NEXT_ERROR_CODE",{value:"E352",enumerable:!1,configurable:!0})}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ensureServerEntryExports",{enumerable:!0,get:function(){return d}})},66680,(a,b,c)=>{b.exports=a.x("node:crypto",()=>require("node:crypto"))},12714,(a,b,c)=>{b.exports=a.x("node:fs/promises",()=>require("node:fs/promises"))},23768,a=>{"use strict";var b=a.i(92658),c=a.i(96380),d=a.i(12581);async function e(a){if(!a.trim())return{approved:!1,error:"Feature id is required"};try{let b=(0,c.resolve)("IFeatureRepository"),d=await b.findById(a);if(!d)return{approved:!1,error:"Feature not found"};if(!d.agentRunId)return{approved:!1,error:"Feature has no agent run"};let e=(0,c.resolve)("ApproveAgentRunUseCase"),f=await e.execute(d.agentRunId);if(!f.approved)return{approved:!1,error:f.reason};return{approved:!0}}catch(a){return{approved:!1,error:a instanceof Error?a.message:"Failed to approve feature"}}}async function f(a){if(!a.trim())return{error:"Feature id is required"};try{let b=(0,c.resolve)("GetFeatureArtifactUseCase"),d=await b.execute(a);return{questionnaire:{question:"Goal",context:d.oneLiner,questions:d.openQuestions.map((a,b)=>({id:`q-${b}`,question:a.question,type:"select",options:(a.options??[]).map((a,c)=>({id:`q-${b}-opt-${c}`,label:a.option,rationale:a.description,...a.selected?{recommended:!0}:{}}))})),finalAction:{id:"approve-reqs",label:"Approve Requirements",description:"Finalize and lock the requirements for implementation"}},artifact:d}}catch(a){return{error:a instanceof Error?a.message:"Failed to load feature artifact"}}}async function g(a){if(!a.trim())return{error:"Feature id is required"};try{var b;let d=(0,c.resolve)("GetResearchArtifactUseCase");return{techDecisions:{name:(b=await d.execute(a)).name,summary:b.summary,decisions:b.decisions,technologies:b.technologies}}}catch(a){return{error:a instanceof Error?a.message:"Failed to load research artifact"}}}(0,d.ensureServerEntryExports)([e]),(0,b.registerServerReference)(e,"40459844faac9c082e4e6fea29516b92fddc0a934b",null),(0,d.ensureServerEntryExports)([f]),(0,b.registerServerReference)(f,"408da6b7a6ee0e9b09fd5a50b21083dce6f429d6db",null),(0,d.ensureServerEntryExports)([g]),(0,b.registerServerReference)(g,"40bb8c205b18fb5057bc9eb6133872d71964b8668c",null);let h="__shepSettings";function i(){let a=function(){let a=globalThis[h];if(null!=a)return a;let b=process[h];return null!=b?b:null}();if(null===a)throw Error("Settings not initialized. Call initializeSettings() during CLI bootstrap.");return a}async function j(a){let{repositoryPath:b,branch:d}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};let e=i().environment.defaultEditor,f=(0,c.resolve)("LaunchIdeUseCase"),g=await f.execute({editorId:e,repositoryPath:b,branch:d,checkAvailability:!0});return g.ok?{success:!0,editor:g.editorName,path:g.worktreePath}:{success:!1,error:g.message}}(0,d.ensureServerEntryExports)([j]),(0,b.registerServerReference)(j,"40683fd30978e29fbeede1bea717f38cea70652587",null);var k=a.i(2157),l=a.i(60526),m=a.i(74533),n=a.i(66680),o=a.i(50227);async function p(a){let{repositoryPath:b,branch:c}=a;if(!b?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{let a,d,e=i().environment.shellPreference,f=c?(a=(0,n.createHash)("sha256").update(b).digest("hex").slice(0,16),d=c.replace(/\//g,"-"),(0,o.join)(process.env.SHEP_HOME??(0,o.join)((0,l.homedir)(),".shep"),"repos",a,"wt",d)):b;if(!(0,k.existsSync)(f))return{success:!1,error:`Path does not exist: ${f}`};return(0,l.platform)(),(0,m.spawn)("x-terminal-emulator",[`--working-directory=${f}`],{detached:!0,stdio:"ignore"}).unref(),{success:!0,path:f,shell:e}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open shell"}}}async function q(a){if(!a?.startsWith("/"))return{success:!1,error:"repositoryPath must be an absolute path"};try{if(!(0,k.existsSync)(a))return{success:!1,error:"Directory not found"};return(0,l.platform)(),(0,m.spawn)("xdg-open",[a],{detached:!0,stdio:"ignore"}).unref(),{success:!0,path:a}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to open folder"}}}a.i(12714),(0,d.ensureServerEntryExports)([p]),(0,b.registerServerReference)(p,"40f4f47d8a7722cb66ccacd0305edb653ca62a2dd6",null),(0,d.ensureServerEntryExports)([q]),(0,b.registerServerReference)(q,"40e580b91517162148760422b4800a66b3cc785fd1",null);let r={platform:process.platform,exec:(a,b)=>(0,m.execSync)(a,b)},s={darwin:"osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'",linux:'zenity --file-selection --directory --title="Select a repository folder" 2>/dev/null',win32:"powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\""};class t{deps;constructor(a={}){this.deps={...r,...a}}getCommand(){return s[this.deps.platform]??null}pickFolder(){let a=this.getCommand();if(!a)throw Error(`Unsupported platform: ${this.deps.platform}`);try{let b=this.deps.exec(a,{encoding:"utf-8",timeout:6e4}).trim();return b.length>0?b:null}catch(a){var b;if("object"==typeof(b=a)&&null!==b&&"status"in b&&1===a.status)return null;throw a}}}async function u(){let a=new t;try{return{path:a.pickFolder()}}catch(a){return{path:null,error:a instanceof Error?a.message:"Failed to open folder dialog"}}}async function v(a){let{name:b,description:d,repositoryPath:e,attachments:f,approvalGates:g}=a;if(!b?.trim())return{error:"name is required"};if(!e?.trim())return{error:"repositoryPath is required"};let h=function(a,b,c){let d=`Feature: ${a}`;if(b&&(d+=`
3
3
 
4
4
  ${b}`),c&&c.length>0){let a=c.map(a=>`- ${a.path}`).join("\n");d+=`
5
5
 
6
6
  Attached files:
7
- ${a}`}return d}(b,d,f),i={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase");return{feature:(await a.execute({userInput:h,repositoryPath:e,approvalGates:i})).feature}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}async function w(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,c.resolve)("DeleteFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}(0,d.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"0039003fadbee501fb704421bac2ca9c90b871c861",null),(0,d.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"405a5eb2f6a9410c457760405cb4656c0931d77189",null),(0,d.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"4009808872c41d24b906a53cba731a17ea5eda5f63",null),a.s([],73490),a.i(73490),a.s(["0039003fadbee501fb704421bac2ca9c90b871c861",()=>u,"4009808872c41d24b906a53cba731a17ea5eda5f63",()=>w,"401f90d6dd0aa3df55467547de99c05d806530988f",()=>g,"4024c538132575328a85253f9a3cd67e7b322a6f84",()=>e,"405a5eb2f6a9410c457760405cb4656c0931d77189",()=>v,"40664ad475a8a74e66c804d0ce3919975e1215c282",()=>j,"40953c02fa87e0a9e815723a497715d595133a0a2f",()=>f,"40aeb484d2caed59fa028ef82a443349164ceb6523",()=>q,"40fcf4e7ed6da9e136a8abfabca6cb78b856fa9f67",()=>p],80016)}];
7
+ ${a}`}return d}(b,d,f),i={allowPrd:g?.allowPrd??!1,allowPlan:g?.allowPlan??!1,allowMerge:g?.allowMerge??!1};try{let a=(0,c.resolve)("CreateFeatureUseCase");return{feature:(await a.execute({userInput:h,repositoryPath:e,approvalGates:i})).feature}}catch(a){return{error:a instanceof Error?a.message:"Failed to create feature"}}}async function w(a){if(!a?.trim())return{error:"id is required"};try{let b=(0,c.resolve)("DeleteFeatureUseCase");return{feature:await b.execute(a)}}catch(a){return{error:a instanceof Error?a.message:"Failed to delete feature"}}}async function x(a){let{path:b,name:d}=a;if(!b?.trim())return{error:"path is required"};try{let a=(0,c.resolve)("AddRepositoryUseCase");return{repository:await a.execute({path:b,name:d})}}catch(a){return{error:a instanceof Error?a.message:"Failed to add repository"}}}async function y(a){if(!a?.trim())return{success:!1,error:"id is required"};try{let b=(0,c.resolve)("DeleteRepositoryUseCase");return await b.execute(a),{success:!0}}catch(a){return{success:!1,error:a instanceof Error?a.message:"Failed to delete repository"}}}(0,d.ensureServerEntryExports)([u]),(0,b.registerServerReference)(u,"00143ea16cf13f5b5fcfbf1bbcfc73e4de2df135d8",null),(0,d.ensureServerEntryExports)([v]),(0,b.registerServerReference)(v,"4065c17db1bba19dff8bc12012a332fac9e5791584",null),(0,d.ensureServerEntryExports)([w]),(0,b.registerServerReference)(w,"403ff303fad2a557ce324b2cddbf2153d394cd4e42",null),(0,d.ensureServerEntryExports)([x]),(0,b.registerServerReference)(x,"40f230da4ad222e5beed07f74da236beb38ab6f16c",null),(0,d.ensureServerEntryExports)([y]),(0,b.registerServerReference)(y,"40f95ce2d34a1855d071788fb95ef50f0cb3b1669f",null),a.s([],61488),a.i(61488),a.s(["00143ea16cf13f5b5fcfbf1bbcfc73e4de2df135d8",()=>u,"403ff303fad2a557ce324b2cddbf2153d394cd4e42",()=>w,"40459844faac9c082e4e6fea29516b92fddc0a934b",()=>e,"4065c17db1bba19dff8bc12012a332fac9e5791584",()=>v,"40683fd30978e29fbeede1bea717f38cea70652587",()=>j,"408da6b7a6ee0e9b09fd5a50b21083dce6f429d6db",()=>f,"40bb8c205b18fb5057bc9eb6133872d71964b8668c",()=>g,"40e580b91517162148760422b4800a66b3cc785fd1",()=>q,"40f230da4ad222e5beed07f74da236beb38ab6f16c",()=>x,"40f4f47d8a7722cb66ccacd0305edb653ca62a2dd6",()=>p,"40f95ce2d34a1855d071788fb95ef50f0cb3b1669f",()=>y],23768)}];
8
8
 
9
- //# sourceMappingURL=%5Broot-of-the-server%5D__77c0dfc4._.js.map
9
+ //# sourceMappingURL=%5Broot-of-the-server%5D__4e8ca89c._.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../../../src/presentation/web/lib/server-container.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/build/webpack/loaders/next-flight-loader/server-reference.ts","../../../../../../../node_modules/.pnpm/next%4016.1.6_%40babel%2Bcore%407.29.0_%40playwright%2Btest%401.58.1_react-dom%4019.2.4_react%4019.2.4__react%4019.2.4/node_modules/next/src/build/webpack/loaders/next-flight-loader/action-validate.ts","../../../../../../../src/presentation/web/app/actions/approve-feature.ts","../../../../../../../src/presentation/web/app/actions/get-feature-artifact.ts","../../../../../../../src/presentation/web/app/actions/get-research-artifact.ts","../../../../../../../packages/core/src/infrastructure/services/settings.service.ts","../../../../../../../src/presentation/web/app/actions/open-ide.ts","../../../../../../../src/presentation/web/app/actions/open-shell.ts","../../../../../../../packages/core/src/infrastructure/services/ide-launchers/compute-worktree-path.ts","../../../../../../../packages/core/src/infrastructure/services/filesystem/shep-directory.service.ts","../../../../../../../src/presentation/web/app/actions/open-folder.ts","../../../../../../../packages/core/src/infrastructure/services/folder-dialog.service.ts","../../../../../../../src/presentation/web/app/actions/pick-folder.ts","../../../../../../../src/presentation/web/app/actions/create-feature.ts","../../../../../../../src/presentation/web/app/actions/delete-feature.ts","../../../../../../../src/presentation/web/app/actions/add-repository.ts","../../../../../../../src/presentation/web/app/actions/delete-repository.ts"],"sourcesContent":["/**\n * Server Container Accessor\n *\n * Provides a `resolve()` helper for server components and API routes to\n * obtain DI-managed instances. The tsyringe container is placed on globalThis\n * by the CLI bootstrap (`shep ui`) or the dev-server (`pnpm dev:web`).\n */\n\nimport type { DependencyContainer, InjectionToken } from 'tsyringe';\n\nconst CONTAINER_KEY = '__shepContainer';\n\n/**\n * Resolve a dependency from the DI container.\n *\n * Usage in server components / API routes:\n * ```ts\n * import { resolve } from '@/lib/server-container';\n * import { ListFeaturesUseCase } from '@shepai/core/application/use-cases/features/list-features.use-case';\n *\n * const features = await resolve(ListFeaturesUseCase).execute();\n * ```\n */\nexport function resolve<T>(token: InjectionToken<T>): T {\n const container = (globalThis as Record<string, unknown>)[CONTAINER_KEY] as\n | DependencyContainer\n | undefined;\n\n if (!container) {\n throw new Error(\n 'DI container not available. Ensure the CLI bootstrap or dev-server has initialized it.'\n );\n }\n\n return container.resolve(token);\n}\n","/* eslint-disable import/no-extraneous-dependencies */\nexport { registerServerReference } from 'react-server-dom-webpack/server'\n","// This function ensures that all the exported values are valid server actions,\n// during the runtime. By definition all actions are required to be async\n// functions, but here we can only check that they are functions.\nexport function ensureServerEntryExports(actions: any[]) {\n for (let i = 0; i < actions.length; i++) {\n const action = actions[i]\n if (typeof action !== 'function') {\n throw new Error(\n `A \"use server\" file can only export async functions, found ${typeof action}.\\nRead more: https://nextjs.org/docs/messages/invalid-use-server-value`\n )\n }\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { ApproveAgentRunUseCase } from '@shepai/core/application/use-cases/agents/approve-agent-run.use-case';\nimport type { IFeatureRepository } from '@shepai/core/application/ports/output/repositories/feature-repository.interface';\n\nexport async function approveFeature(\n featureId: string\n): Promise<{ approved: boolean; error?: string }> {\n if (!featureId.trim()) {\n return { approved: false, error: 'Feature id is required' };\n }\n\n try {\n const featureRepo = resolve<IFeatureRepository>('IFeatureRepository');\n const feature = await featureRepo.findById(featureId);\n\n if (!feature) {\n return { approved: false, error: 'Feature not found' };\n }\n\n if (!feature.agentRunId) {\n return { approved: false, error: 'Feature has no agent run' };\n }\n\n const approveUseCase = resolve<ApproveAgentRunUseCase>('ApproveAgentRunUseCase');\n const result = await approveUseCase.execute(feature.agentRunId);\n\n if (!result.approved) {\n return { approved: false, error: result.reason };\n }\n\n return { approved: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to approve feature';\n return { approved: false, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetFeatureArtifactUseCase } from '@shepai/core/application/use-cases/features/get-feature-artifact.use-case';\nimport type { FeatureArtifact } from '@shepai/core/domain/generated/output';\nimport type { PrdQuestionnaireData } from '@shepai/core/domain/generated/output';\n\ninterface GetFeatureArtifactResult {\n questionnaire?: PrdQuestionnaireData;\n artifact?: FeatureArtifact;\n error?: string;\n}\n\n/**\n * Map FeatureArtifact openQuestions into the PrdQuestionnaireData shape\n * expected by the PrdQuestionnaireDrawer component.\n */\nfunction toQuestionnaireData(artifact: FeatureArtifact): PrdQuestionnaireData {\n return {\n question: 'Goal',\n context: artifact.oneLiner,\n questions: artifact.openQuestions.map((oq, idx) => ({\n id: `q-${idx}`,\n question: oq.question,\n type: 'select' as const,\n options: (oq.options ?? []).map((opt, optIdx) => ({\n id: `q-${idx}-opt-${optIdx}`,\n label: opt.option,\n rationale: opt.description,\n ...(opt.selected ? { recommended: true } : {}),\n })),\n })),\n finalAction: {\n id: 'approve-reqs',\n label: 'Approve Requirements',\n description: 'Finalize and lock the requirements for implementation',\n },\n };\n}\n\nexport async function getFeatureArtifact(featureId: string): Promise<GetFeatureArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetFeatureArtifactUseCase>('GetFeatureArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const questionnaire = toQuestionnaireData(artifact);\n return { questionnaire, artifact };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load feature artifact';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { GetResearchArtifactUseCase } from '@shepai/core/application/use-cases/features/get-research-artifact.use-case';\nimport type { ResearchArtifact, TechDecision } from '@shepai/core/domain/generated/output';\n\nexport interface TechDecisionsReviewData {\n name: string;\n summary: string;\n decisions: TechDecision[];\n technologies: string[];\n}\n\ninterface GetResearchArtifactResult {\n techDecisions?: TechDecisionsReviewData;\n error?: string;\n}\n\nfunction toTechDecisionsData(artifact: ResearchArtifact): TechDecisionsReviewData {\n return {\n name: artifact.name,\n summary: artifact.summary,\n decisions: artifact.decisions,\n technologies: artifact.technologies,\n };\n}\n\nexport async function getResearchArtifact(featureId: string): Promise<GetResearchArtifactResult> {\n if (!featureId.trim()) {\n return { error: 'Feature id is required' };\n }\n\n try {\n const useCase = resolve<GetResearchArtifactUseCase>('GetResearchArtifactUseCase');\n const artifact = await useCase.execute(featureId);\n const techDecisions = toTechDecisionsData(artifact);\n return { techDecisions };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to load research artifact';\n return { error: message };\n }\n}\n","/**\n * Settings Service\n *\n * Provides global access to application settings within the CLI.\n * Uses globalThis/process storage so the singleton survives Turbopack\n * module re-evaluations in Next.js API routes.\n *\n * Usage:\n * ```typescript\n * import { getSettings } from './infrastructure/services/settings.service.js';\n *\n * const settings = getSettings();\n * console.log(settings.models.analyze); // 'claude-opus-4'\n * ```\n */\n\nimport type { Settings } from '../../domain/generated/output.js';\n\n/** The globalThis / process key for the settings singleton. */\nconst SHEP_SETTINGS_KEY = '__shepSettings';\n\n/** Read the settings instance from globalThis, falling back to process. */\nfunction readSettings(): Settings | null {\n const fromGlobal = (globalThis as Record<string, unknown>)[SHEP_SETTINGS_KEY];\n if (fromGlobal != null) return fromGlobal as Settings;\n\n const fromProcess = (process as unknown as Record<string, unknown>)[SHEP_SETTINGS_KEY];\n if (fromProcess != null) return fromProcess as Settings;\n\n return null;\n}\n\n/** Write the settings instance to both globalThis and process. */\nfunction writeSettings(value: Settings | null): void {\n (globalThis as Record<string, unknown>)[SHEP_SETTINGS_KEY] = value;\n (process as unknown as Record<string, unknown>)[SHEP_SETTINGS_KEY] = value;\n}\n\n/**\n * Initialize the settings service with loaded settings.\n * Must be called once during CLI bootstrap.\n *\n * @param settings - The initialized settings\n * @throws Error if settings are already initialized\n */\nexport function initializeSettings(settings: Settings): void {\n if (readSettings() !== null) {\n throw new Error('Settings already initialized. Cannot re-initialize.');\n }\n\n writeSettings(settings);\n}\n\n/**\n * Get the current application settings.\n *\n * @returns Current settings instance\n * @throws Error if settings haven't been initialized yet\n *\n * @example\n * ```typescript\n * const settings = getSettings();\n * console.log(settings.system.logLevel); // 'info'\n * ```\n */\nexport function getSettings(): Settings {\n const instance = readSettings();\n if (instance === null) {\n throw new Error('Settings not initialized. Call initializeSettings() during CLI bootstrap.');\n }\n\n return instance;\n}\n\n/**\n * Check if settings have been initialized.\n *\n * @returns True if settings are initialized, false otherwise\n */\nexport function hasSettings(): boolean {\n return readSettings() !== null;\n}\n\n/**\n * Reset settings instance (for testing purposes only).\n * DO NOT use in production code.\n *\n * @internal\n */\nexport function resetSettings(): void {\n writeSettings(null);\n}\n","'use server';\n\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport type { LaunchIdeUseCase } from '@shepai/core/application/use-cases/ide/launch-ide.use-case';\nimport { resolve } from '@/lib/server-container';\n\ninterface OpenIdeInput {\n repositoryPath: string;\n branch?: string;\n}\n\nexport async function openIde(\n input: OpenIdeInput\n): Promise<{ success: boolean; error?: string; editor?: string; path?: string }> {\n const { repositoryPath, branch } = input;\n\n if (!repositoryPath?.startsWith('/')) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n const settings = getSettings();\n const editor = settings.environment.defaultEditor;\n\n const useCase = resolve<LaunchIdeUseCase>('LaunchIdeUseCase');\n const result = await useCase.execute({\n editorId: editor,\n repositoryPath,\n branch,\n checkAvailability: true,\n });\n\n if (!result.ok) {\n return { success: false, error: result.message };\n }\n\n return { success: true, editor: result.editorName, path: result.worktreePath };\n}\n","'use server';\n\nimport { existsSync } from 'node:fs';\nimport { platform } from 'node:os';\nimport { spawn } from 'node:child_process';\nimport { getSettings } from '@shepai/core/infrastructure/services/settings.service';\nimport { computeWorktreePath } from '@shepai/core/infrastructure/services/ide-launchers/compute-worktree-path';\n\ninterface OpenShellInput {\n repositoryPath: string;\n branch?: string;\n}\n\nexport async function openShell(\n input: OpenShellInput\n): Promise<{ success: boolean; error?: string; path?: string; shell?: string }> {\n const { repositoryPath, branch } = input;\n\n if (!repositoryPath?.startsWith('/')) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n try {\n const settings = getSettings();\n const shell = settings.environment.shellPreference;\n const targetPath = branch ? computeWorktreePath(repositoryPath, branch) : repositoryPath;\n\n if (!existsSync(targetPath)) {\n return { success: false, error: `Path does not exist: ${targetPath}` };\n }\n\n const currentPlatform = platform();\n\n if (currentPlatform === 'darwin') {\n const child = spawn('open', ['-a', 'Terminal', targetPath], {\n detached: true,\n stdio: 'ignore',\n });\n child.unref();\n } else if (currentPlatform === 'linux') {\n const child = spawn('x-terminal-emulator', [`--working-directory=${targetPath}`], {\n detached: true,\n stdio: 'ignore',\n });\n child.unref();\n } else {\n return {\n success: false,\n error: `Unsupported platform: ${currentPlatform}. Shell launch is supported on macOS and Linux only.`,\n };\n }\n\n return { success: true, path: targetPath, shell };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open shell';\n return { success: false, error: message };\n }\n}\n","/**\n * Compute Worktree Path\n *\n * Pure utility that computes the filesystem path for a feature's git worktree\n * given a repository path and branch name.\n *\n * Path format: ~/.shep/repos/<sha256-hash-prefix>/wt/<branch-slug>\n */\n\nimport { createHash } from 'node:crypto';\nimport { join } from 'node:path';\nimport { getShepHomeDir } from '../filesystem/shep-directory.service';\n\n/**\n * Compute the worktree path for a given repository and branch.\n *\n * @param repoPath - Absolute path to the repository\n * @param branch - Git branch name (slashes are replaced with hyphens)\n * @returns Absolute path to the worktree directory under ~/.shep/repos/\n */\nexport function computeWorktreePath(repoPath: string, branch: string): string {\n const repoHash = createHash('sha256').update(repoPath).digest('hex').slice(0, 16);\n const slug = branch.replace(/\\//g, '-');\n return join(getShepHomeDir(), 'repos', repoHash, 'wt', slug);\n}\n","/**\n * Shep Directory Service\n *\n * Manages the ~/.shep/ directory for global settings and data storage.\n * Ensures directory exists with correct permissions before database operations.\n *\n * Supports SHEP_HOME env var for test isolation (overrides default ~/.shep/).\n */\n\nimport { mkdir } from 'node:fs/promises';\nimport { homedir } from 'node:os';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\n\n/**\n * Resolves the Shep home directory.\n * Respects SHEP_HOME env var for test isolation, falls back to ~/.shep/\n */\nfunction resolveShepHomeDir(): string {\n return process.env.SHEP_HOME ?? join(homedir(), '.shep');\n}\n\n/**\n * Gets the path to the Shep home directory.\n * Uses SHEP_HOME env var if set, otherwise ~/.shep/\n *\n * @returns Path to shep home directory\n */\nexport function getShepHomeDir(): string {\n return resolveShepHomeDir();\n}\n\n/**\n * Gets the path to the SQLite database file.\n *\n * @returns Path to the database file\n */\nexport function getShepDbPath(): string {\n return join(resolveShepHomeDir(), 'data');\n}\n\n/**\n * Ensures the shep home directory exists with correct permissions.\n * Creates the directory if it doesn't exist.\n * Safe to call multiple times (idempotent).\n *\n * Permissions: 700 (rwx------) - only owner can read/write/execute\n *\n * @throws Error if directory cannot be created (permissions, disk space, etc.)\n */\nexport async function ensureShepDirectory(): Promise<void> {\n const shepDir = resolveShepHomeDir();\n\n if (existsSync(shepDir)) {\n return;\n }\n\n try {\n await mkdir(shepDir, {\n recursive: true,\n mode: 0o700,\n });\n } catch (error) {\n throw new Error(\n `Failed to create Shep directory at ${shepDir}: ${error instanceof Error ? error.message : String(error)}`\n );\n }\n}\n","'use server';\n\nimport { existsSync } from 'node:fs';\nimport { platform } from 'node:os';\nimport { spawn } from 'node:child_process';\n\nexport async function openFolder(\n repositoryPath: string\n): Promise<{ success: boolean; error?: string; path?: string }> {\n if (!repositoryPath?.startsWith('/')) {\n return { success: false, error: 'repositoryPath must be an absolute path' };\n }\n\n try {\n if (!existsSync(repositoryPath)) {\n return { success: false, error: 'Directory not found' };\n }\n\n const currentPlatform = platform();\n\n if (currentPlatform === 'darwin') {\n const child = spawn('open', [repositoryPath], {\n detached: true,\n stdio: 'ignore',\n });\n child.unref();\n } else if (currentPlatform === 'linux') {\n const child = spawn('xdg-open', [repositoryPath], {\n detached: true,\n stdio: 'ignore',\n });\n child.unref();\n } else {\n return {\n success: false,\n error: `Unsupported platform: ${currentPlatform}. Folder open is supported on macOS and Linux only.`,\n };\n }\n\n return { success: true, path: repositoryPath };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open folder';\n return { success: false, error: message };\n }\n}\n","import { execSync } from 'node:child_process';\n\nexport interface FolderDialogDeps {\n platform: NodeJS.Platform;\n exec: (cmd: string, opts?: { encoding: BufferEncoding; timeout?: number }) => string;\n}\n\nconst defaultDeps: FolderDialogDeps = {\n platform: process.platform,\n exec: (cmd, opts) => execSync(cmd, opts) as unknown as string,\n};\n\n/**\n * Platform-specific commands that open a native OS folder picker dialog.\n * Each returns the chosen absolute folder path on stdout, or exits non-zero / returns empty on cancel.\n */\nconst PLATFORM_COMMANDS: Record<string, string> = {\n darwin: `osascript -e 'POSIX path of (choose folder with prompt \"Select a repository folder\")'`,\n linux: `zenity --file-selection --directory --title=\"Select a repository folder\" 2>/dev/null`,\n win32: `powershell -NoProfile -Command \"Add-Type -AssemblyName System.Windows.Forms; $f = New-Object System.Windows.Forms.FolderBrowserDialog; $f.Description = 'Select a repository folder'; if ($f.ShowDialog() -eq 'OK') { $f.SelectedPath } else { exit 1 }\"`,\n};\n\nexport class FolderDialogService {\n private deps: FolderDialogDeps;\n\n constructor(deps: Partial<FolderDialogDeps> = {}) {\n this.deps = { ...defaultDeps, ...deps };\n }\n\n /** Returns the OS-specific command string, or null if the platform is unsupported. */\n getCommand(): string | null {\n return PLATFORM_COMMANDS[this.deps.platform] ?? null;\n }\n\n /**\n * Opens a native folder picker dialog and returns the selected absolute path.\n * Returns `null` if the user cancels the dialog.\n * Throws if the platform is unsupported or the command fails unexpectedly.\n */\n pickFolder(): string | null {\n const command = this.getCommand();\n if (!command) {\n throw new Error(`Unsupported platform: ${this.deps.platform}`);\n }\n\n try {\n const result = this.deps.exec(command, { encoding: 'utf-8', timeout: 60_000 });\n const trimmed = result.trim();\n return trimmed.length > 0 ? trimmed : null;\n } catch (error: unknown) {\n // User cancelled the dialog — exit code 1 from osascript/zenity/powershell\n if (isExecError(error) && error.status === 1) {\n return null;\n }\n throw error;\n }\n }\n}\n\nfunction isExecError(error: unknown): error is { status: number } {\n return typeof error === 'object' && error !== null && 'status' in error;\n}\n","'use server';\n\nimport { FolderDialogService } from '@shepai/core/infrastructure/services/folder-dialog.service';\n\nexport async function pickFolder(): Promise<{ path: string | null; error?: string }> {\n const service = new FolderDialogService();\n\n try {\n const path = service.pickFolder();\n return { path };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to open folder dialog';\n return { path: null, error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { CreateFeatureUseCase } from '@shepai/core/application/use-cases/features/create/create-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\ninterface Attachment {\n path: string;\n name: string;\n}\n\ninterface ApprovalGates {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge: boolean;\n}\n\ninterface CreateFeatureInput {\n name: string;\n description?: string;\n repositoryPath: string;\n attachments?: Attachment[];\n approvalGates?: {\n allowPrd: boolean;\n allowPlan: boolean;\n allowMerge?: boolean;\n };\n}\n\nfunction composeUserInput(\n name: string,\n description: string | undefined,\n attachments: Attachment[] | undefined\n): string {\n let userInput = `Feature: ${name}`;\n\n if (description) {\n userInput += `\\n\\n${description}`;\n }\n\n if (attachments && attachments.length > 0) {\n const paths = attachments.map((a) => `- ${a.path}`).join('\\n');\n userInput += `\\n\\nAttached files:\\n${paths}`;\n }\n\n return userInput;\n}\n\nexport async function createFeature(\n input: CreateFeatureInput\n): Promise<{ feature?: Feature; error?: string }> {\n const { name, description, repositoryPath, attachments, approvalGates } = input;\n\n if (!name?.trim()) {\n return { error: 'name is required' };\n }\n\n if (!repositoryPath?.trim()) {\n return { error: 'repositoryPath is required' };\n }\n\n const userInput = composeUserInput(name, description, attachments);\n const gates: ApprovalGates = {\n allowPrd: approvalGates?.allowPrd ?? false,\n allowPlan: approvalGates?.allowPlan ?? false,\n allowMerge: approvalGates?.allowMerge ?? false,\n };\n\n try {\n const createFeatureUseCase = resolve<CreateFeatureUseCase>('CreateFeatureUseCase');\n const result = await createFeatureUseCase.execute({\n userInput,\n repositoryPath,\n approvalGates: gates,\n });\n return { feature: result.feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to create feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteFeatureUseCase } from '@shepai/core/application/use-cases/features/delete-feature.use-case';\nimport type { Feature } from '@shepai/core/domain/generated/output';\n\nexport async function deleteFeature(\n featureId: string\n): Promise<{ feature?: Feature; error?: string }> {\n if (!featureId?.trim()) {\n return { error: 'id is required' };\n }\n\n try {\n const deleteFeatureUseCase = resolve<DeleteFeatureUseCase>('DeleteFeatureUseCase');\n const feature = await deleteFeatureUseCase.execute(featureId);\n return { feature };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete feature';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { AddRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/add-repository.use-case';\nimport type { Repository } from '@shepai/core/domain/generated/output';\n\ninterface AddRepositoryInput {\n path: string;\n name?: string;\n}\n\nexport async function addRepository(\n input: AddRepositoryInput\n): Promise<{ repository?: Repository; error?: string }> {\n const { path, name } = input;\n\n if (!path?.trim()) {\n return { error: 'path is required' };\n }\n\n try {\n const addRepoUseCase = resolve<AddRepositoryUseCase>('AddRepositoryUseCase');\n const repository = await addRepoUseCase.execute({ path, name });\n return { repository };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to add repository';\n return { error: message };\n }\n}\n","'use server';\n\nimport { resolve } from '@/lib/server-container';\nimport type { DeleteRepositoryUseCase } from '@shepai/core/application/use-cases/repositories/delete-repository.use-case';\n\nexport async function deleteRepository(\n repositoryId: string\n): Promise<{ success: boolean; error?: string }> {\n if (!repositoryId?.trim()) {\n return { success: false, error: 'id is required' };\n }\n\n try {\n const useCase = resolve<DeleteRepositoryUseCase>('DeleteRepositoryUseCase');\n await useCase.execute(repositoryId);\n return { success: true };\n } catch (error: unknown) {\n const message = error instanceof Error ? error.message : 'Failed to delete repository';\n return { success: false, error: message };\n }\n}\n"],"names":["registerServerReference","ensureServerEntryExports","actions","i","length","action","Error"],"mappings":"oUAuBO,SAAS,EAAW,CAAwB,EACjD,IAAM,EAAa,UAAsC,CAAC,AAdtC,eAcoD,CAIxE,GAAI,CAAC,EACH,MAAM,AAAI,GADI,GAEZ,0FAIJ,OAAO,EAAU,OAAO,CAAC,EAC3B,sDCnCoD,OAAA,cAAA,CAAA,EAAA,aAAA,oCAC3CA,0BAAAA,qCAAAA,EAAAA,uBAAuB,YAAQ,CAAA,CAAA,IAAA,iCCEjC,SAASC,EAAyBC,CAAc,EACrD,IAAK,IAAIC,EAAI,EAAGA,EAAID,EAAQE,MAAM,CAAED,IAAK,CACvC,IAAME,EAASH,CAAO,CAACC,EAAE,CACzB,GAAsB,YAAlB,AAA8B,OAAvBE,EACT,MAAM,OAAA,cAEL,CAFK,AAAIC,MACR,CAAC,2DAA2D,EAAE,OAAOD,EAAO;AAAA,oEAAuE,CAAC,EADhJ,oBAAA,OAAA,kBAAA,gBAAA,EAEN,EAEJ,CACF,0EATgBJ,2BAAAA,qCAAAA,0MCDhB,EAAA,EAAA,CAAA,CAAA,oBAIO,eAAe,EACpB,CAAiB,EAEjB,GAAI,CAAC,EAAU,IAAI,GACjB,CADqB,KACd,CAAE,UAAU,EAAO,MAAO,wBAAyB,EAG5D,GAAI,CACF,IAAM,EAAc,CAAA,EAAA,EAAA,OAAA,AAAO,EAAqB,sBAC1C,EAAU,MAAM,EAAY,QAAQ,CAAC,GAE3C,GAAI,CAAC,EACH,MAAO,CADK,AACH,UAAU,EAAO,MAAO,mBAAoB,EAGvD,GAAI,CAAC,EAAQ,UAAU,CACrB,CADuB,KAChB,CAAE,SAAU,GAAO,MAAO,0BAA2B,EAG9D,IAAM,EAAiB,CAAA,EAAA,EAAA,OAAO,AAAP,EAAgC,0BACjD,EAAS,MAAM,EAAe,OAAO,CAAC,EAAQ,UAAU,EAE9D,GAAI,CAAC,EAAO,QAAQ,CAClB,CADoB,KACb,CAAE,UAAU,EAAO,MAAO,EAAO,MAAM,AAAC,EAGjD,MAAO,CAAE,UAAU,CAAK,CAC1B,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,UAAU,EAAO,MADV,CACiB,YADA,MAAQ,EAAM,OAAO,CAAG,2BAChB,CAC3C,CACF,CCGO,eAAe,EAAmB,CAAiB,EACxD,GAAI,CAAC,EAAU,IAAI,GACjB,CADqB,KACd,CAAE,MAAO,wBAAyB,EAG3C,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA4B,6BAC7C,EAAW,MAAM,EAAQ,OAAO,CAAC,GAEvC,MAAO,CAAE,cA/BJ,CACL,SAAU,OACV,QAAS,AA4BiC,EA5BxB,QAAQ,CAC1B,UAAW,EAAS,aAAa,CAAC,GAAG,CAAC,CAAC,EAAI,KAAS,CAAD,AACjD,GAAI,CAAC,EAAE,EAAE,EAAA,CAAK,CACd,SAAU,EAAG,QAAQ,CACrB,KAAM,SACN,QAAS,CAAC,EAAG,OAAO,EAAI,EAAA,AAAE,EAAE,GAAG,CAAC,CAAC,EAAK,KAAY,CAChD,GAAI,AAD2C,CAC1C,EAAE,EAAE,EAAI,KAAK,EAAE,EAAA,CAAQ,CAC5B,MAAO,EAAI,MAAM,CACjB,UAAW,EAAI,WAAW,CAC1B,GAAI,EAAI,QAAQ,CAAG,CAAE,YAAa,EAAK,EAAI,CAAC,CAAC,CAC/C,CAAC,EACH,CAAC,EACD,YAAa,CACX,GAAI,eACJ,MAAO,uBACP,YAAa,uDACf,CACF,WAY0B,CAAS,CACnC,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,iCACjC,CAC1B,CACF,CC3BO,eAAe,EAAoB,CAAiB,EACzD,GAAI,CAAC,EAAU,IAAI,GACjB,CADqB,KACd,CAAE,MAAO,wBAAyB,EAG3C,GAAI,KAduB,EAezB,IAAM,EAf6C,AAenC,CAAA,EAAA,EAAA,OAAO,AAAP,EAAoC,8BAGpD,MAAO,CAAE,cAjBJ,CACL,KAAM,GAcW,MAAM,EAAQ,OAAO,CAAC,IAdxB,IAAI,CACnB,QAAS,EAAS,OAAO,CACzB,UAAW,EAAS,SAAS,CAC7B,aAAc,EAAS,YAAY,AACrC,CAYyB,CACzB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,kCACjC,CAC1B,CACF,iCFnCsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCkCA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCbA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MCRtB,IAAM,EAAoB,iBA8CnB,SAAS,IACd,IAAM,EA5CR,AA4CmB,SA5CV,EACP,IAAM,EAAc,UAAsC,CAAC,EAAkB,CAC7E,GAAI,AAAc,QAAM,OAAO,EAE/B,IAAM,EAAe,OAA8C,CAAC,EAAkB,QACnE,AAAnB,MAAyB,AAArB,EAA4B,EAEzB,IACT,IAqCE,GAAiB,MAAM,CAAnB,EACF,MAAM,AAAI,MAAM,6EAGlB,OAAO,CACT,CC7DO,eAAe,EACpB,CAAmB,EAEnB,GAAM,gBAAE,CAAc,CAAE,QAAM,CAAE,CAAG,EAEnC,GAAI,CAAC,GAAgB,WAAW,KAC9B,CADoC,KAC7B,CAAE,SAAS,EAAO,MAAO,yCAA0C,EAI5E,IAAM,EADW,AACF,IAAS,WAAW,CAAC,aAAa,CAE3C,EAAU,CAAA,EAAA,EAAA,OAAO,AAAP,EAA0B,oBACpC,EAAS,MAAM,EAAQ,OAAO,CAAC,CACnC,SAAU,iBACV,EACA,SACA,mBAAmB,CACrB,UAEA,AAAK,EAAO,EAAR,AAAU,CAIP,CAJS,AAIP,SAAS,EAAM,OAAQ,EAAO,UAAU,CAAE,KAAM,EAAO,YAAa,AAAD,EAHnE,CAAE,SAAS,EAAO,MAAO,EAAO,OAAO,AAAC,CAInD,iCAzBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MCTtB,IAAA,EAAA,EAAA,CAAA,CAAA,MACA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,OCKA,EAAA,EAAA,CAAA,CAAA,OACA,EAAA,EAAA,CAAA,CAAA,ODGO,eAAe,EACpB,CAAqB,EAErB,GAAM,gBAAE,CAAc,QAAE,CAAM,CAAE,CAAG,EAEnC,GAAI,CAAC,GAAgB,WAAW,KAC9B,CADoC,KAC7B,CAAE,SAAS,EAAO,MAAO,yCAA0C,EAG5E,GAAI,CAEF,QAAM,EADW,AACH,IAAS,WAAW,CAAC,eAAe,CAC5C,EAAa,GCJf,EAAW,CAAA,EAAA,CDIa,CCJb,UAAA,AAAU,EAAC,UAAU,MAAM,CAAC,ADIK,GCJK,MAAM,CAAC,OAAO,KAAK,CAAC,EAAG,IACxE,EDG4D,ACHrD,EAAO,OAAO,CAAC,MAAO,KAC5B,CAAA,EAAA,EAAA,IAAA,AAAI,ECJJ,ADIK,QCJG,GAAG,CAAC,SAAS,EAAI,CAAA,EAAA,EAAA,IAAA,AAAI,EAAC,CAAA,EAAA,EAAA,OAAA,AAAO,IAAI,SDIlB,QAAS,EAAU,KAAM,IDEqB,EAE1E,GAAI,CAAC,CAAA,EAAA,EAAA,UAAU,AAAV,EAAW,GACd,MAAO,CAAE,GADkB,MACT,EAAO,MAAO,CAAC,qBAAqB,EAAE,EAAA,CAAY,AAAC,EAwBvE,MArBwB,CAAA,EAAA,EAAA,QAAA,AAAQ,IAa9B,AAJc,CAAA,EAAA,EAAA,KAAA,AAAK,EAAC,sBAAuB,CAAC,CAAC,oBAAoB,EAAE,EAAA,CAAY,CAAC,CAAE,CAChF,UAAU,EACV,MAAO,QACT,GACM,KAAK,GAQN,CAAE,SAAS,EAAM,KAAM,QAAY,CAAM,CAClD,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,SAAS,EAAO,MADT,CACgB,YADC,MAAQ,EAAM,OAAO,CAAG,sBACjB,CAC1C,CACF,CGnDO,eAAe,EACpB,CAAsB,EAEtB,GAAI,CAAC,GAAgB,WAAW,KAC9B,CADoC,KAC7B,CAAE,SAAS,EAAO,MAAO,yCAA0C,EAG5E,GAAI,CACF,GAAI,CAAC,CAAA,EAAA,EAAA,UAAA,AAAU,EAAC,GACd,MAAO,CAAE,OADsB,EACb,EAAO,MAAO,qBAAsB,EAwBxD,MArBwB,CAAA,EAAA,EAAA,QAAA,AAAQ,IAShB,AAId,CAJc,EAAA,EAAA,KAAA,AAAK,EAAC,WAAY,CAAC,EAAe,CAAE,CAChD,UAAU,EACV,MAAO,QACT,GACM,KAAK,GAQN,CAAE,SAAS,EAAM,KAAM,CAAe,CAC/C,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,SAAS,EAAO,MADT,CACgB,YADC,MAAQ,EAAM,OAAO,CAAG,uBACjB,CAC1C,CACF,CDnCA,EAAA,CAAA,CAAA,uCFIsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCGPA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,MCCtB,IAAM,EAAgC,CACpC,SAAU,QAAQ,QAAQ,CAC1B,KAAM,CAAC,EAAK,IAAS,CAAA,EAAA,EAAA,QAAA,AAAQ,EAAC,EAAK,EACrC,EAMM,EAA4C,CAChD,OAAQ,CAAC,qFAAqF,CAAC,GAC/F,MAAO,CAAC,oFAAoF,CAAC,CAC7F,MAAO,CAAC,wPAAwP,CAAC,EACnQ,CAEO,OAAM,EACH,IAAuB,AAE/B,aAAY,EAAkC,CAAC,CAAC,CAAE,CAChD,IAAI,CAAC,IAAI,CAAG,CAAE,GAAG,CAAW,CAAE,GAAG,CAAI,AAAC,CACxC,CAGA,YAA4B,CAC1B,OAAO,CAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAI,IAClD,CAOA,YAA4B,CAC1B,IAAM,EAAU,IAAI,CAAC,UAAU,GAC/B,GAAI,CAAC,EACH,MAAM,AAAI,CADE,KACI,CAAC,sBAAsB,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA,CAAE,EAG/D,GAAI,CAEF,IAAM,EADS,AACC,IADG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAS,CAAE,SAAU,QAAS,QAAS,GAAO,GACrD,IAAI,GAC3B,OAAO,EAAQ,MAAM,CAAG,EAAI,EAAU,IACxC,CAAE,MAAO,EAAgB,KAUR,EARf,GAQ6B,AACT,AAThB,UASD,OAAO,EATM,IAS0B,OAAV,GAAkB,WAAY,GATnB,GAAG,CAApB,EAAM,MAAM,CACpC,OAAO,IAET,OAAM,CACR,CACF,CACF,CCrDO,eAAe,IACpB,IAAM,EAAU,IAAI,EAEpB,GAAI,CAEF,MAAO,CAAE,KADI,EAAQ,UAAU,EACjB,CAChB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,KAAM,KAAM,MADL,CACY,YADK,MAAQ,EAAM,OAAO,CAAG,8BACrB,CACtC,CACF,CCkCO,eAAe,EACpB,CAAyB,EAEzB,GAAM,MAAE,CAAI,aAAE,CAAW,gBAAE,CAAc,aAAE,CAAW,eAAE,CAAa,CAAE,CAAG,EAE1E,GAAI,CAAC,GAAM,OACT,CADiB,KACV,CAAE,MAAO,kBAAmB,EAGrC,GAAI,CAAC,GAAgB,OACnB,CAD2B,KACpB,CAAE,MAAO,4BAA6B,EAG/C,IAAM,EAAY,AAhCpB,SAAS,AACP,CAAY,CACZ,CAA+B,CAC/B,CAAqC,EAErC,IAAI,EAAY,CAAC,SAAS,EAAE,EAAA,CAAM,CAMlC,GAJI,IACF,GAAa,CAAC,KADC;AACD;AAAI,EAAE,EAAA,CAAa,AAAb,EAGlB,GAAe,EAAY,MAAM,CAAG,EAAG,CACzC,IAAM,EAAQ,EAAY,GAAG,CAAC,AAAC,GAAM,CAAC,EAAE,EAAE,EAAE,IAAI,CAAA,CAAE,EAAE,IAAI,CAAC,MACzD,GAAa,CAAC;AAAA;AAAA;AAAqB,EAAE,EAAA,CAAO,AAC9C,CAEA,OAAO,CACT,EAeqC,EAAM,EAAa,GAChD,EAAuB,CAC3B,SAAU,GAAe,WAAY,EACrC,UAAW,GAAe,WAAa,GACvC,WAAY,GAAe,aAAc,CAC3C,EAEA,GAAI,CACF,IAAM,EAAuB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAuB,wBAM3D,MAAO,CAAE,QAAS,CALH,MAAM,EAAqB,OAAO,CAAC,CAChD,2BACA,EACA,cAAe,CACjB,EAAA,EACyB,OAAO,AAAC,CACnC,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,0BACjC,CAC1B,CACF,CC1EO,eAAe,EACpB,CAAiB,EAEjB,GAAI,CAAC,GAAW,OACd,CADsB,KACf,CAAE,MAAO,gBAAiB,EAGnC,GAAI,CACF,IAAM,EAAuB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAuB,wBAE3D,MAAO,CAAE,QADO,MAAM,EAAqB,OAAO,CAAC,EAClC,CACnB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,0BACjC,CAC1B,CACF,CCVO,eAAe,EACpB,CAAyB,EAEzB,GAAM,MAAE,CAAI,MAAE,CAAI,CAAE,CAAG,EAEvB,GAAI,CAAC,GAAM,OACT,CADiB,KACV,CAAE,MAAO,kBAAmB,EAGrC,GAAI,CACF,IAAM,EAAiB,CAAA,EAAA,EAAA,OAAA,AAAO,EAAuB,wBAErD,MAAO,CAAE,WADU,MAAM,EAAe,OAAO,CAAC,MAAE,OAAM,CAAK,EACzC,CACtB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,MADO,CACA,YADiB,MAAQ,EAAM,OAAO,CAAG,0BACjC,CAC1B,CACF,CCvBO,eAAe,EACpB,CAAoB,EAEpB,GAAI,CAAC,GAAc,OACjB,CADyB,KAClB,CAAE,SAAS,EAAO,MAAO,gBAAiB,EAGnD,GAAI,CACF,IAAM,EAAU,CAAA,EAAA,EAAA,OAAA,AAAO,EAA0B,2BAEjD,OADA,MAAM,EAAQ,OAAO,CAAC,GACf,CAAE,QAAS,EAAK,CACzB,CAAE,MAAO,EAAgB,CAEvB,MAAO,CAAE,SAAS,EAAO,MADT,CACgB,YADC,MAAQ,EAAM,OAAO,CAAG,6BACjB,CAC1C,CACF,iCJhBsB,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCC4CA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCC1CA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCKA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA,sCCNA,IAAA,CAAA,EAAA,EAAA,uBAAA,EAAA,EAAA,6CAAA","ignoreList":[1,2]}
@@ -0,0 +1,10 @@
1
+ module.exports=[25700,a=>{"use strict";var b=a.i(96960);let c=(...a)=>a.filter((a,b,c)=>!!a&&""!==a.trim()&&c.indexOf(a)===b).join(" ").trim(),d=a=>{let b=a.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,b,c)=>c?c.toUpperCase():b.toLowerCase());return b.charAt(0).toUpperCase()+b.slice(1)};var e={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};let f=(0,b.forwardRef)(({color:a="currentColor",size:d=24,strokeWidth:f=2,absoluteStrokeWidth:g,className:h="",children:i,iconNode:j,...k},l)=>(0,b.createElement)("svg",{ref:l,...e,width:d,height:d,stroke:a,strokeWidth:g?24*Number(f)/Number(d):f,className:c("lucide",h),...!i&&!(a=>{for(let b in a)if(b.startsWith("aria-")||"role"===b||"title"===b)return!0;return!1})(k)&&{"aria-hidden":"true"},...k},[...j.map(([a,c])=>(0,b.createElement)(a,c)),...Array.isArray(i)?i:[i]])),g=(a,e)=>{let g=(0,b.forwardRef)(({className:g,...h},i)=>(0,b.createElement)(f,{ref:i,iconNode:e,className:c(`lucide-${d(a).replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,`lucide-${a}`,g),...h}));return g.displayName=d(a),g};a.s(["default",()=>g],25700)},45112,81589,2117,a=>{"use strict";let b=(0,a.i(25700).default)("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]);a.s(["default",()=>b],81589),a.s(["PanelLeftIcon",()=>b],45112);var c=a.i(96960);function d(){let[a,b]=c.useState(void 0);return c.useEffect(()=>{let a=window.matchMedia("(max-width: 767px)"),c=()=>{b(window.innerWidth<768)};return a.addEventListener("change",c),b(window.innerWidth<768),()=>a.removeEventListener("change",c)},[]),!!a}a.s(["useIsMobile",()=>d],2117)},90920,13126,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,type:d,...e}){return(0,b.jsx)("input",{type:d,"data-slot":"input",className:(0,c.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",a),...e})}a.s(["Input",()=>d],90920);var e=a.i(96960),f=a.i(66873),g="horizontal",h=["horizontal","vertical"],i=e.forwardRef((a,c)=>{var d;let{decorative:e,orientation:i=g,...j}=a,k=(d=i,h.includes(d))?i:g;return(0,b.jsx)(f.Primitive.div,{"data-orientation":k,...e?{role:"none"}:{"aria-orientation":"vertical"===k?k:void 0,role:"separator"},...j,ref:c})});i.displayName="Separator",a.s(["Root",()=>i,"Separator",()=>i],1443);var j=a.i(1443),j=j;function k({className:a,orientation:d="horizontal",decorative:e=!0,...f}){return(0,b.jsx)(j.Root,{"data-slot":"separator",decorative:e,orientation:d,className:(0,c.cn)("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",a),...f})}a.s(["Separator",()=>k],13126)},10568,89868,a=>{"use strict";let b=(0,a.i(25700).default)("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);a.s(["default",()=>b],89868),a.s(["XIcon",()=>b],10568)},40093,58761,59675,80930,51473,45291,16164,a=>{"use strict";let b;var c,d,e,f,g,h,i,j,k=a.i(96960),l=a.i(59653),m=a.i(6175),n=a.i(7420),o=a.i(5472),p=a.i(17329),q=a.i(66873),r=a.i(79406),s=a.i(10973),t="dismissableLayer.update",u=k.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set}),v=k.forwardRef((a,b)=>{let{disableOutsidePointerEvents:c=!1,onEscapeKeyDown:d,onPointerDownOutside:e,onFocusOutside:f,onInteractOutside:g,onDismiss:h,...j}=a,n=k.useContext(u),[o,p]=k.useState(null),v=o?.ownerDocument??globalThis?.document,[,y]=k.useState({}),z=(0,m.useComposedRefs)(b,a=>p(a)),A=Array.from(n.layers),[B]=[...n.layersWithOutsidePointerEventsDisabled].slice(-1),C=A.indexOf(B),D=o?A.indexOf(o):-1,E=n.layersWithOutsidePointerEventsDisabled.size>0,F=D>=C,G=function(a,b=globalThis?.document){let c=(0,r.useCallbackRef)(a),d=k.useRef(!1),e=k.useRef(()=>{});return k.useEffect(()=>{let a=a=>{if(a.target&&!d.current){let d=function(){x("dismissableLayer.pointerDownOutside",c,f,{discrete:!0})},f={originalEvent:a};"touch"===a.pointerType?(b.removeEventListener("click",e.current),e.current=d,b.addEventListener("click",e.current,{once:!0})):d()}else b.removeEventListener("click",e.current);d.current=!1},f=window.setTimeout(()=>{b.addEventListener("pointerdown",a)},0);return()=>{window.clearTimeout(f),b.removeEventListener("pointerdown",a),b.removeEventListener("click",e.current)}},[b,c]),{onPointerDownCapture:()=>d.current=!0}}(a=>{let b=a.target,c=[...n.branches].some(a=>a.contains(b));F&&!c&&(e?.(a),g?.(a),a.defaultPrevented||h?.())},v),H=function(a,b=globalThis?.document){let c=(0,r.useCallbackRef)(a),d=k.useRef(!1);return k.useEffect(()=>{let a=a=>{a.target&&!d.current&&x("dismissableLayer.focusOutside",c,{originalEvent:a},{discrete:!1})};return b.addEventListener("focusin",a),()=>b.removeEventListener("focusin",a)},[b,c]),{onFocusCapture:()=>d.current=!0,onBlurCapture:()=>d.current=!1}}(a=>{let b=a.target;![...n.branches].some(a=>a.contains(b))&&(f?.(a),g?.(a),a.defaultPrevented||h?.())},v);return!function(a,b=globalThis?.document){let c=(0,r.useCallbackRef)(a);k.useEffect(()=>{let a=a=>{"Escape"===a.key&&c(a)};return b.addEventListener("keydown",a,{capture:!0}),()=>b.removeEventListener("keydown",a,{capture:!0})},[c,b])}(a=>{D===n.layers.size-1&&(d?.(a),!a.defaultPrevented&&h&&(a.preventDefault(),h()))},v),k.useEffect(()=>{if(o)return c&&(0===n.layersWithOutsidePointerEventsDisabled.size&&(i=v.body.style.pointerEvents,v.body.style.pointerEvents="none"),n.layersWithOutsidePointerEventsDisabled.add(o)),n.layers.add(o),w(),()=>{c&&1===n.layersWithOutsidePointerEventsDisabled.size&&(v.body.style.pointerEvents=i)}},[o,v,c,n]),k.useEffect(()=>()=>{o&&(n.layers.delete(o),n.layersWithOutsidePointerEventsDisabled.delete(o),w())},[o,n]),k.useEffect(()=>{let a=()=>y({});return document.addEventListener(t,a),()=>document.removeEventListener(t,a)},[]),(0,s.jsx)(q.Primitive.div,{...j,ref:z,style:{pointerEvents:E?F?"auto":"none":void 0,...a.style},onFocusCapture:(0,l.composeEventHandlers)(a.onFocusCapture,H.onFocusCapture),onBlurCapture:(0,l.composeEventHandlers)(a.onBlurCapture,H.onBlurCapture),onPointerDownCapture:(0,l.composeEventHandlers)(a.onPointerDownCapture,G.onPointerDownCapture)})});function w(){let a=new CustomEvent(t);document.dispatchEvent(a)}function x(a,b,c,{discrete:d}){let e=c.originalEvent.target,f=new CustomEvent(a,{bubbles:!1,cancelable:!0,detail:c});b&&e.addEventListener(a,b,{once:!0}),d?(0,q.dispatchDiscreteCustomEvent)(e,f):e.dispatchEvent(f)}v.displayName="DismissableLayer",k.forwardRef((a,b)=>{let c=k.useContext(u),d=k.useRef(null),e=(0,m.useComposedRefs)(b,d);return k.useEffect(()=>{let a=d.current;if(a)return c.branches.add(a),()=>{c.branches.delete(a)}},[c.branches]),(0,s.jsx)(q.Primitive.div,{...a,ref:e})}).displayName="DismissableLayerBranch",a.s(["DismissableLayer",()=>v],58761);var y="focusScope.autoFocusOnMount",z="focusScope.autoFocusOnUnmount",A={bubbles:!1,cancelable:!0},B=k.forwardRef((a,b)=>{let{loop:c=!1,trapped:d=!1,onMountAutoFocus:e,onUnmountAutoFocus:f,...g}=a,[h,i]=k.useState(null),j=(0,r.useCallbackRef)(e),l=(0,r.useCallbackRef)(f),n=k.useRef(null),o=(0,m.useComposedRefs)(b,a=>i(a)),p=k.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;k.useEffect(()=>{if(d){let a=function(a){if(p.paused||!h)return;let b=a.target;h.contains(b)?n.current=b:E(n.current,{select:!0})},b=function(a){if(p.paused||!h)return;let b=a.relatedTarget;null!==b&&(h.contains(b)||E(n.current,{select:!0}))};document.addEventListener("focusin",a),document.addEventListener("focusout",b);let c=new MutationObserver(function(a){if(document.activeElement===document.body)for(let b of a)b.removedNodes.length>0&&E(h)});return h&&c.observe(h,{childList:!0,subtree:!0}),()=>{document.removeEventListener("focusin",a),document.removeEventListener("focusout",b),c.disconnect()}}},[d,h,p.paused]),k.useEffect(()=>{if(h){F.add(p);let a=document.activeElement;if(!h.contains(a)){let b=new CustomEvent(y,A);h.addEventListener(y,j),h.dispatchEvent(b),b.defaultPrevented||(function(a,{select:b=!1}={}){let c=document.activeElement;for(let d of a)if(E(d,{select:b}),document.activeElement!==c)return}(C(h).filter(a=>"A"!==a.tagName),{select:!0}),document.activeElement===a&&E(h))}return()=>{h.removeEventListener(y,j),setTimeout(()=>{let b=new CustomEvent(z,A);h.addEventListener(z,l),h.dispatchEvent(b),b.defaultPrevented||E(a??document.body,{select:!0}),h.removeEventListener(z,l),F.remove(p)},0)}}},[h,j,l,p]);let t=k.useCallback(a=>{if(!c&&!d||p.paused)return;let b="Tab"===a.key&&!a.altKey&&!a.ctrlKey&&!a.metaKey,e=document.activeElement;if(b&&e){var f;let b,d=a.currentTarget,[g,h]=[D(b=C(f=d),f),D(b.reverse(),f)];g&&h?a.shiftKey||e!==h?a.shiftKey&&e===g&&(a.preventDefault(),c&&E(h,{select:!0})):(a.preventDefault(),c&&E(g,{select:!0})):e===d&&a.preventDefault()}},[c,d,p.paused]);return(0,s.jsx)(q.Primitive.div,{tabIndex:-1,...g,ref:o,onKeyDown:t})});function C(a){let b=[],c=document.createTreeWalker(a,NodeFilter.SHOW_ELEMENT,{acceptNode:a=>{let b="INPUT"===a.tagName&&"hidden"===a.type;return a.disabled||a.hidden||b?NodeFilter.FILTER_SKIP:a.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP}});for(;c.nextNode();)b.push(c.currentNode);return b}function D(a,b){for(let c of a)if(!function(a,{upTo:b}){if("hidden"===getComputedStyle(a).visibility)return!0;for(;a&&(void 0===b||a!==b);){if("none"===getComputedStyle(a).display)return!0;a=a.parentElement}return!1}(c,{upTo:b}))return c}function E(a,{select:b=!1}={}){if(a&&a.focus){var c;let d=document.activeElement;a.focus({preventScroll:!0}),a!==d&&(c=a)instanceof HTMLInputElement&&"select"in c&&b&&a.select()}}B.displayName="FocusScope";var F=(b=[],{add(a){let c=b[0];a!==c&&c?.pause(),(b=G(b,a)).unshift(a)},remove(a){b=G(b,a),b[0]?.resume()}});function G(a,b){let c=[...a],d=c.indexOf(b);return -1!==d&&c.splice(d,1),c}a.s(["FocusScope",()=>B],59675);var H=a.i(55690),I=a.i(61476),J=k.forwardRef((a,b)=>{let{container:c,...d}=a,[e,f]=k.useState(!1);(0,I.useLayoutEffect)(()=>f(!0),[]);let g=c||e&&globalThis?.document?.body;return g?H.default.createPortal((0,s.jsx)(q.Primitive.div,{...d,ref:b}),g):null});J.displayName="Portal",a.s(["Portal",()=>J],80930);var K=a.i(14272),L=0;function M(){k.useEffect(()=>{let a=document.querySelectorAll("[data-radix-focus-guard]");return document.body.insertAdjacentElement("afterbegin",a[0]??N()),document.body.insertAdjacentElement("beforeend",a[1]??N()),L++,()=>{1===L&&document.querySelectorAll("[data-radix-focus-guard]").forEach(a=>a.remove()),L--}},[])}function N(){let a=document.createElement("span");return a.setAttribute("data-radix-focus-guard",""),a.tabIndex=0,a.style.outline="none",a.style.opacity="0",a.style.position="fixed",a.style.pointerEvents="none",a}a.s(["useFocusGuards",()=>M],51473);var O=function(){return(O=Object.assign||function(a){for(var b,c=1,d=arguments.length;c<d;c++)for(var e in b=arguments[c])Object.prototype.hasOwnProperty.call(b,e)&&(a[e]=b[e]);return a}).apply(this,arguments)};function P(a,b){var c={};for(var d in a)Object.prototype.hasOwnProperty.call(a,d)&&0>b.indexOf(d)&&(c[d]=a[d]);if(null!=a&&"function"==typeof Object.getOwnPropertySymbols)for(var e=0,d=Object.getOwnPropertySymbols(a);e<d.length;e++)0>b.indexOf(d[e])&&Object.prototype.propertyIsEnumerable.call(a,d[e])&&(c[d[e]]=a[d[e]]);return c}var Q=("function"==typeof SuppressedError&&SuppressedError,"right-scroll-bar-position"),R="width-before-scroll-bar";function S(a,b){return"function"==typeof a?a(b):a&&(a.current=b),a}var T=k.useEffect,U=new WeakMap,V=(void 0===c&&(c={}),(void 0===d&&(d=function(a){return a}),e=[],f=!1,g={read:function(){if(f)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return e.length?e[e.length-1]:null},useMedium:function(a){var b=d(a,f);return e.push(b),function(){e=e.filter(function(a){return a!==b})}},assignSyncMedium:function(a){for(f=!0;e.length;){var b=e;e=[],b.forEach(a)}e={push:function(b){return a(b)},filter:function(){return e}}},assignMedium:function(a){f=!0;var b=[];if(e.length){var c=e;e=[],c.forEach(a),b=e}var d=function(){var c=b;b=[],c.forEach(a)},g=function(){return Promise.resolve().then(d)};g(),e={push:function(a){b.push(a),g()},filter:function(a){return b=b.filter(a),e}}}}).options=O({async:!0,ssr:!1},c),g),W=function(){},X=k.forwardRef(function(a,b){var c,d,e,f,g=k.useRef(null),h=k.useState({onScrollCapture:W,onWheelCapture:W,onTouchMoveCapture:W}),i=h[0],j=h[1],l=a.forwardProps,m=a.children,n=a.className,o=a.removeScrollBar,p=a.enabled,q=a.shards,r=a.sideCar,s=a.noRelative,t=a.noIsolation,u=a.inert,v=a.allowPinchZoom,w=a.as,x=a.gapMode,y=P(a,["forwardProps","children","className","removeScrollBar","enabled","shards","sideCar","noRelative","noIsolation","inert","allowPinchZoom","as","gapMode"]),z=(c=[g,b],d=function(a){return c.forEach(function(b){return S(b,a)})},(e=(0,k.useState)(function(){return{value:null,callback:d,facade:{get current(){return e.value},set current(value){var a=e.value;a!==value&&(e.value=value,e.callback(value,a))}}}})[0]).callback=d,f=e.facade,T(function(){var a=U.get(f);if(a){var b=new Set(a),d=new Set(c),e=f.current;b.forEach(function(a){d.has(a)||S(a,null)}),d.forEach(function(a){b.has(a)||S(a,e)})}U.set(f,c)},[c]),f),A=O(O({},y),i);return k.createElement(k.Fragment,null,p&&k.createElement(r,{sideCar:V,removeScrollBar:o,shards:q,noRelative:s,noIsolation:t,inert:u,setCallbacks:j,allowPinchZoom:!!v,lockRef:g,gapMode:x}),l?k.cloneElement(k.Children.only(m),O(O({},A),{ref:z})):k.createElement(void 0===w?"div":w,O({},A,{className:n,ref:z}),m))});X.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},X.classNames={fullWidth:R,zeroRight:Q};var Y=function(a){var b=a.sideCar,c=P(a,["sideCar"]);if(!b)throw Error("Sidecar: please provide `sideCar` property to import the right car");var d=b.read();if(!d)throw Error("Sidecar medium not found");return k.createElement(d,O({},c))};Y.isSideCarExport=!0;var Z=function(){var a=0,b=null;return{add:function(c){if(0==a&&(b=function(){if(!document)return null;var a=document.createElement("style");a.type="text/css";var b=j||("u">typeof __webpack_nonce__?__webpack_nonce__:void 0);return b&&a.setAttribute("nonce",b),a}())){var d,e;(d=b).styleSheet?d.styleSheet.cssText=c:d.appendChild(document.createTextNode(c)),e=b,(document.head||document.getElementsByTagName("head")[0]).appendChild(e)}a++},remove:function(){--a||!b||(b.parentNode&&b.parentNode.removeChild(b),b=null)}}},$=function(){var a=Z();return function(b,c){k.useEffect(function(){return a.add(b),function(){a.remove()}},[b&&c])}},_=function(){var a=$();return function(b){return a(b.styles,b.dynamic),null}},aa={left:0,top:0,right:0,gap:0},ab=_(),ac="data-scroll-locked",ad=function(a,b,c,d){var e=a.left,f=a.top,g=a.right,h=a.gap;return void 0===c&&(c="margin"),"\n .".concat("with-scroll-bars-hidden"," {\n overflow: hidden ").concat(d,";\n padding-right: ").concat(h,"px ").concat(d,";\n }\n body[").concat(ac,"] {\n overflow: hidden ").concat(d,";\n overscroll-behavior: contain;\n ").concat([b&&"position: relative ".concat(d,";"),"margin"===c&&"\n padding-left: ".concat(e,"px;\n padding-top: ").concat(f,"px;\n padding-right: ").concat(g,"px;\n margin-left:0;\n margin-top:0;\n margin-right: ").concat(h,"px ").concat(d,";\n "),"padding"===c&&"padding-right: ".concat(h,"px ").concat(d,";")].filter(Boolean).join(""),"\n }\n \n .").concat(Q," {\n right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(R," {\n margin-right: ").concat(h,"px ").concat(d,";\n }\n \n .").concat(Q," .").concat(Q," {\n right: 0 ").concat(d,";\n }\n \n .").concat(R," .").concat(R," {\n margin-right: 0 ").concat(d,";\n }\n \n body[").concat(ac,"] {\n ").concat("--removed-body-scroll-bar-size",": ").concat(h,"px;\n }\n")},ae=function(){var a=parseInt(document.body.getAttribute(ac)||"0",10);return isFinite(a)?a:0},af=function(){k.useEffect(function(){return document.body.setAttribute(ac,(ae()+1).toString()),function(){var a=ae()-1;a<=0?document.body.removeAttribute(ac):document.body.setAttribute(ac,a.toString())}},[])},ag=function(a){var b=a.noRelative,c=a.noImportant,d=a.gapMode,e=void 0===d?"margin":d;af();var f=k.useMemo(function(){return void 0===e,aa},[e]);return k.createElement(ab,{styles:ad(f,!b,e,c?"":"!important")})},ah=function(a,b){if(!(a instanceof Element))return!1;var c=window.getComputedStyle(a);return"hidden"!==c[b]&&(c.overflowY!==c.overflowX||"TEXTAREA"===a.tagName||"visible"!==c[b])},ai=function(a,b){var c=b.ownerDocument,d=b;do{if("u">typeof ShadowRoot&&d instanceof ShadowRoot&&(d=d.host),aj(a,d)){var e=ak(a,d);if(e[1]>e[2])return!0}d=d.parentNode}while(d&&d!==c.body)return!1},aj=function(a,b){return"v"===a?ah(b,"overflowY"):ah(b,"overflowX")},ak=function(a,b){return"v"===a?[b.scrollTop,b.scrollHeight,b.clientHeight]:[b.scrollLeft,b.scrollWidth,b.clientWidth]},al=function(a,b,c,d,e){var f,g=(f=window.getComputedStyle(b).direction,"h"===a&&"rtl"===f?-1:1),h=g*d,i=c.target,j=b.contains(i),k=!1,l=h>0,m=0,n=0;do{if(!i)break;var o=ak(a,i),p=o[0],q=o[1]-o[2]-g*p;(p||q)&&aj(a,i)&&(m+=q,n+=p);var r=i.parentNode;i=r&&r.nodeType===Node.DOCUMENT_FRAGMENT_NODE?r.host:r}while(!j&&i!==document.body||j&&(b.contains(i)||b===i))return l&&(e&&1>Math.abs(m)||!e&&h>m)?k=!0:!l&&(e&&1>Math.abs(n)||!e&&-h>n)&&(k=!0),k},am=function(a){return"changedTouches"in a?[a.changedTouches[0].clientX,a.changedTouches[0].clientY]:[0,0]},an=function(a){return[a.deltaX,a.deltaY]},ao=function(a){return a&&"current"in a?a.current:a},ap=0,aq=[];let ar=(h=function(a){var b=k.useRef([]),c=k.useRef([0,0]),d=k.useRef(),e=k.useState(ap++)[0],f=k.useState(_)[0],g=k.useRef(a);k.useEffect(function(){g.current=a},[a]),k.useEffect(function(){if(a.inert){document.body.classList.add("block-interactivity-".concat(e));var b=(function(a,b,c){if(c||2==arguments.length)for(var d,e=0,f=b.length;e<f;e++)!d&&e in b||(d||(d=Array.prototype.slice.call(b,0,e)),d[e]=b[e]);return a.concat(d||Array.prototype.slice.call(b))})([a.lockRef.current],(a.shards||[]).map(ao),!0).filter(Boolean);return b.forEach(function(a){return a.classList.add("allow-interactivity-".concat(e))}),function(){document.body.classList.remove("block-interactivity-".concat(e)),b.forEach(function(a){return a.classList.remove("allow-interactivity-".concat(e))})}}},[a.inert,a.lockRef.current,a.shards]);var h=k.useCallback(function(a,b){if("touches"in a&&2===a.touches.length||"wheel"===a.type&&a.ctrlKey)return!g.current.allowPinchZoom;var e,f=am(a),h=c.current,i="deltaX"in a?a.deltaX:h[0]-f[0],j="deltaY"in a?a.deltaY:h[1]-f[1],k=a.target,l=Math.abs(i)>Math.abs(j)?"h":"v";if("touches"in a&&"h"===l&&"range"===k.type)return!1;var m=window.getSelection(),n=m&&m.anchorNode;if(n&&(n===k||n.contains(k)))return!1;var o=ai(l,k);if(!o)return!0;if(o?e=l:(e="v"===l?"h":"v",o=ai(l,k)),!o)return!1;if(!d.current&&"changedTouches"in a&&(i||j)&&(d.current=e),!e)return!0;var p=d.current||e;return al(p,b,a,"h"===p?i:j,!0)},[]),i=k.useCallback(function(a){if(aq.length&&aq[aq.length-1]===f){var c="deltaY"in a?an(a):am(a),d=b.current.filter(function(b){var d;return b.name===a.type&&(b.target===a.target||a.target===b.shadowParent)&&(d=b.delta,d[0]===c[0]&&d[1]===c[1])})[0];if(d&&d.should){a.cancelable&&a.preventDefault();return}if(!d){var e=(g.current.shards||[]).map(ao).filter(Boolean).filter(function(b){return b.contains(a.target)});(e.length>0?h(a,e[0]):!g.current.noIsolation)&&a.cancelable&&a.preventDefault()}}},[]),j=k.useCallback(function(a,c,d,e){var f={name:a,delta:c,target:d,should:e,shadowParent:function(a){for(var b=null;null!==a;)a instanceof ShadowRoot&&(b=a.host,a=a.host),a=a.parentNode;return b}(d)};b.current.push(f),setTimeout(function(){b.current=b.current.filter(function(a){return a!==f})},1)},[]),l=k.useCallback(function(a){c.current=am(a),d.current=void 0},[]),m=k.useCallback(function(b){j(b.type,an(b),b.target,h(b,a.lockRef.current))},[]),n=k.useCallback(function(b){j(b.type,am(b),b.target,h(b,a.lockRef.current))},[]);k.useEffect(function(){return aq.push(f),a.setCallbacks({onScrollCapture:m,onWheelCapture:m,onTouchMoveCapture:n}),document.addEventListener("wheel",i,!1),document.addEventListener("touchmove",i,!1),document.addEventListener("touchstart",l,!1),function(){aq=aq.filter(function(a){return a!==f}),document.removeEventListener("wheel",i,!1),document.removeEventListener("touchmove",i,!1),document.removeEventListener("touchstart",l,!1)}},[]);var o=a.removeScrollBar,p=a.inert;return k.createElement(k.Fragment,null,p?k.createElement(f,{styles:"\n .block-interactivity-".concat(e," {pointer-events: none;}\n .allow-interactivity-").concat(e," {pointer-events: all;}\n")}):null,o?k.createElement(ag,{noRelative:a.noRelative,gapMode:a.gapMode}):null)},V.useMedium(h),Y);var as=k.forwardRef(function(a,b){return k.createElement(X,O({},a,{ref:b,sideCar:ar}))});as.classNames=X.classNames,a.s(["RemoveScroll",0,as],45291);var at=new WeakMap,au=new WeakMap,av={},aw=0,ax=function(a){return a&&(a.host||ax(a.parentNode))},ay=function(a,b,c,d){var e=(Array.isArray(a)?a:[a]).map(function(a){if(b.contains(a))return a;var c=ax(a);return c&&b.contains(c)?c:(console.error("aria-hidden",a,"in not contained inside",b,". Doing nothing"),null)}).filter(function(a){return!!a});av[c]||(av[c]=new WeakMap);var f=av[c],g=[],h=new Set,i=new Set(e),j=function(a){!a||h.has(a)||(h.add(a),j(a.parentNode))};e.forEach(j);var k=function(a){!a||i.has(a)||Array.prototype.forEach.call(a.children,function(a){if(h.has(a))k(a);else try{var b=a.getAttribute(d),e=null!==b&&"false"!==b,i=(at.get(a)||0)+1,j=(f.get(a)||0)+1;at.set(a,i),f.set(a,j),g.push(a),1===i&&e&&au.set(a,!0),1===j&&a.setAttribute(c,"true"),e||a.setAttribute(d,"true")}catch(b){console.error("aria-hidden: cannot operate on ",a,b)}})};return k(b),h.clear(),aw++,function(){g.forEach(function(a){var b=at.get(a)-1,e=f.get(a)-1;at.set(a,b),f.set(a,e),b||(au.has(a)||a.removeAttribute(d),au.delete(a)),e||a.removeAttribute(c)}),--aw||(at=new WeakMap,at=new WeakMap,au=new WeakMap,av={})}},az=function(a,b,c){void 0===c&&(c="data-aria-hidden");var d=Array.from(Array.isArray(a)?a:[a]),e=b||("u"<typeof document?null:(Array.isArray(a)?a[0]:a).ownerDocument.body);return e?(d.push.apply(d,Array.from(e.querySelectorAll("[aria-live], script"))),ay(d,e,c,"aria-hidden")):function(){return null}};a.s(["hideOthers",()=>az],16164);var aA=a.i(90986),aB="Dialog",[aC,aD]=(0,n.createContextScope)(aB),[aE,aF]=aC(aB),aG=a=>{let{__scopeDialog:b,children:c,open:d,defaultOpen:e,onOpenChange:f,modal:g=!0}=a,h=k.useRef(null),i=k.useRef(null),[j,l]=(0,p.useControllableState)({prop:d,defaultProp:e??!1,onChange:f,caller:aB});return(0,s.jsx)(aE,{scope:b,triggerRef:h,contentRef:i,contentId:(0,o.useId)(),titleId:(0,o.useId)(),descriptionId:(0,o.useId)(),open:j,onOpenChange:l,onOpenToggle:k.useCallback(()=>l(a=>!a),[l]),modal:g,children:c})};aG.displayName=aB;var aH="DialogTrigger",aI=k.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=aF(aH,c),f=(0,m.useComposedRefs)(b,e.triggerRef);return(0,s.jsx)(q.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":e.open,"aria-controls":e.contentId,"data-state":a0(e.open),...d,ref:f,onClick:(0,l.composeEventHandlers)(a.onClick,e.onOpenToggle)})});aI.displayName=aH;var aJ="DialogPortal",[aK,aL]=aC(aJ,{forceMount:void 0}),aM=a=>{let{__scopeDialog:b,forceMount:c,children:d,container:e}=a,f=aF(aJ,b);return(0,s.jsx)(aK,{scope:b,forceMount:c,children:k.Children.map(d,a=>(0,s.jsx)(K.Presence,{present:c||f.open,children:(0,s.jsx)(J,{asChild:!0,container:e,children:a})}))})};aM.displayName=aJ;var aN="DialogOverlay",aO=k.forwardRef((a,b)=>{let c=aL(aN,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=aF(aN,a.__scopeDialog);return f.modal?(0,s.jsx)(K.Presence,{present:d||f.open,children:(0,s.jsx)(aQ,{...e,ref:b})}):null});aO.displayName=aN;var aP=(0,aA.createSlot)("DialogOverlay.RemoveScroll"),aQ=k.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=aF(aN,c);return(0,s.jsx)(as,{as:aP,allowPinchZoom:!0,shards:[e.contentRef],children:(0,s.jsx)(q.Primitive.div,{"data-state":a0(e.open),...d,ref:b,style:{pointerEvents:"auto",...d.style}})})}),aR="DialogContent",aS=k.forwardRef((a,b)=>{let c=aL(aR,a.__scopeDialog),{forceMount:d=c.forceMount,...e}=a,f=aF(aR,a.__scopeDialog);return(0,s.jsx)(K.Presence,{present:d||f.open,children:f.modal?(0,s.jsx)(aT,{...e,ref:b}):(0,s.jsx)(aU,{...e,ref:b})})});aS.displayName=aR;var aT=k.forwardRef((a,b)=>{let c=aF(aR,a.__scopeDialog),d=k.useRef(null),e=(0,m.useComposedRefs)(b,c.contentRef,d);return k.useEffect(()=>{let a=d.current;if(a)return az(a)},[]),(0,s.jsx)(aV,{...a,ref:e,trapFocus:c.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,l.composeEventHandlers)(a.onCloseAutoFocus,a=>{a.preventDefault(),c.triggerRef.current?.focus()}),onPointerDownOutside:(0,l.composeEventHandlers)(a.onPointerDownOutside,a=>{let b=a.detail.originalEvent,c=0===b.button&&!0===b.ctrlKey;(2===b.button||c)&&a.preventDefault()}),onFocusOutside:(0,l.composeEventHandlers)(a.onFocusOutside,a=>a.preventDefault())})}),aU=k.forwardRef((a,b)=>{let c=aF(aR,a.__scopeDialog),d=k.useRef(!1),e=k.useRef(!1);return(0,s.jsx)(aV,{...a,ref:b,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:b=>{a.onCloseAutoFocus?.(b),b.defaultPrevented||(d.current||c.triggerRef.current?.focus(),b.preventDefault()),d.current=!1,e.current=!1},onInteractOutside:b=>{a.onInteractOutside?.(b),b.defaultPrevented||(d.current=!0,"pointerdown"===b.detail.originalEvent.type&&(e.current=!0));let f=b.target;c.triggerRef.current?.contains(f)&&b.preventDefault(),"focusin"===b.detail.originalEvent.type&&e.current&&b.preventDefault()}})}),aV=k.forwardRef((a,b)=>{let{__scopeDialog:c,trapFocus:d,onOpenAutoFocus:e,onCloseAutoFocus:f,...g}=a,h=aF(aR,c),i=k.useRef(null),j=(0,m.useComposedRefs)(b,i);return M(),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(B,{asChild:!0,loop:!0,trapped:d,onMountAutoFocus:e,onUnmountAutoFocus:f,children:(0,s.jsx)(v,{role:"dialog",id:h.contentId,"aria-describedby":h.descriptionId,"aria-labelledby":h.titleId,"data-state":a0(h.open),...g,ref:j,onDismiss:()=>h.onOpenChange(!1)})}),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a4,{titleId:h.titleId}),(0,s.jsx)(a5,{contentRef:i,descriptionId:h.descriptionId})]})]})}),aW="DialogTitle",aX=k.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=aF(aW,c);return(0,s.jsx)(q.Primitive.h2,{id:e.titleId,...d,ref:b})});aX.displayName=aW;var aY="DialogDescription",aZ=k.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=aF(aY,c);return(0,s.jsx)(q.Primitive.p,{id:e.descriptionId,...d,ref:b})});aZ.displayName=aY;var a$="DialogClose",a_=k.forwardRef((a,b)=>{let{__scopeDialog:c,...d}=a,e=aF(a$,c);return(0,s.jsx)(q.Primitive.button,{type:"button",...d,ref:b,onClick:(0,l.composeEventHandlers)(a.onClick,()=>e.onOpenChange(!1))})});function a0(a){return a?"open":"closed"}a_.displayName=a$;var a1="DialogTitleWarning",[a2,a3]=(0,n.createContext)(a1,{contentName:aR,titleName:aW,docsSlug:"dialog"}),a4=({titleId:a})=>{let b=a3(a1),c=`\`${b.contentName}\` requires a \`${b.titleName}\` for the component to be accessible for screen reader users.
2
+
3
+ If you want to hide the \`${b.titleName}\`, you can wrap it with our VisuallyHidden component.
4
+
5
+ For more information, see https://radix-ui.com/primitives/docs/components/${b.docsSlug}`;return k.useEffect(()=>{a&&(document.getElementById(a)||console.error(c))},[c,a]),null},a5=({contentRef:a,descriptionId:b})=>{let c=a3("DialogDescriptionWarning"),d=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${c.contentName}}.`;return k.useEffect(()=>{let c=a.current?.getAttribute("aria-describedby");b&&c&&(document.getElementById(b)||console.warn(d))},[d,a,b]),null};a.s(["Close",()=>a_,"Content",()=>aS,"Description",()=>aZ,"Dialog",()=>aG,"DialogClose",()=>a_,"DialogContent",()=>aS,"DialogDescription",()=>aZ,"DialogOverlay",()=>aO,"DialogPortal",()=>aM,"DialogTitle",()=>aX,"DialogTrigger",()=>aI,"Overlay",()=>aO,"Portal",()=>aM,"Root",()=>aG,"Title",()=>aX,"Trigger",()=>aI,"WarningProvider",()=>a2,"createDialogScope",()=>aD],40093)},44338,55837,a=>{"use strict";var b=a.i(10973),c=a.i(10568),d=a.i(40093),d=d,e=a.i(85536);function f({...a}){return(0,b.jsx)(d.Root,{"data-slot":"sheet",...a})}function g({...a}){return(0,b.jsx)(d.Portal,{"data-slot":"sheet-portal",...a})}function h({className:a,...c}){return(0,b.jsx)(d.Overlay,{"data-slot":"sheet-overlay",className:(0,e.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",a),...c})}function i({className:a,children:f,side:i="right",showCloseButton:j=!0,...k}){return(0,b.jsxs)(g,{children:[(0,b.jsx)(h,{}),(0,b.jsxs)(d.Content,{"data-slot":"sheet-content",className:(0,e.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500","right"===i&&"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm","left"===i&&"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm","top"===i&&"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b","bottom"===i&&"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t",a),...k,children:[f,j?(0,b.jsxs)(d.Close,{className:"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none",children:[(0,b.jsx)(c.XIcon,{className:"size-4"}),(0,b.jsx)("span",{className:"sr-only",children:"Close"})]}):null]})]})}function j({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sheet-header",className:(0,e.cn)("flex flex-col gap-1.5 p-4",a),...c})}function k({className:a,...c}){return(0,b.jsx)(d.Title,{"data-slot":"sheet-title",className:(0,e.cn)("text-foreground font-semibold",a),...c})}function l({className:a,...c}){return(0,b.jsx)(d.Description,{"data-slot":"sheet-description",className:(0,e.cn)("text-muted-foreground text-sm",a),...c})}function m({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"skeleton",className:(0,e.cn)("bg-accent animate-pulse rounded-md",a),...c})}a.s(["Sheet",()=>f,"SheetContent",()=>i,"SheetDescription",()=>l,"SheetHeader",()=>j,"SheetTitle",()=>k],44338),a.s(["Skeleton",()=>m],55837)},82934,74432,75988,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(59653),e=a.i(6175),f=a.i(7420),g=a.i(58761),h=a.i(5472);let i=["top","right","bottom","left"],j=Math.min,k=Math.max,l=Math.round,m=Math.floor,n=a=>({x:a,y:a}),o={left:"right",right:"left",bottom:"top",top:"bottom"},p={start:"end",end:"start"};function q(a,b){return"function"==typeof a?a(b):a}function r(a){return a.split("-")[0]}function s(a){return a.split("-")[1]}function t(a){return"x"===a?"y":"x"}function u(a){return"y"===a?"height":"width"}let v=new Set(["top","bottom"]);function w(a){return v.has(r(a))?"y":"x"}function x(a){return a.replace(/start|end/g,a=>p[a])}let y=["left","right"],z=["right","left"],A=["top","bottom"],B=["bottom","top"];function C(a){return a.replace(/left|right|bottom|top/g,a=>o[a])}function D(a){return"number"!=typeof a?{top:0,right:0,bottom:0,left:0,...a}:{top:a,right:a,bottom:a,left:a}}function E(a){let{x:b,y:c,width:d,height:e}=a;return{width:d,height:e,top:c,left:b,right:b+d,bottom:c+e,x:b,y:c}}function F(a,b,c){let d,{reference:e,floating:f}=a,g=w(b),h=t(w(b)),i=u(h),j=r(b),k="y"===g,l=e.x+e.width/2-f.width/2,m=e.y+e.height/2-f.height/2,n=e[i]/2-f[i]/2;switch(j){case"top":d={x:l,y:e.y-f.height};break;case"bottom":d={x:l,y:e.y+e.height};break;case"right":d={x:e.x+e.width,y:m};break;case"left":d={x:e.x-f.width,y:m};break;default:d={x:e.x,y:e.y}}switch(s(b)){case"start":d[h]-=n*(c&&k?-1:1);break;case"end":d[h]+=n*(c&&k?-1:1)}return d}async function G(a,b){var c;void 0===b&&(b={});let{x:d,y:e,platform:f,rects:g,elements:h,strategy:i}=a,{boundary:j="clippingAncestors",rootBoundary:k="viewport",elementContext:l="floating",altBoundary:m=!1,padding:n=0}=q(b,a),o=D(n),p=h[m?"floating"===l?"reference":"floating":l],r=E(await f.getClippingRect({element:null==(c=await (null==f.isElement?void 0:f.isElement(p)))||c?p:p.contextElement||await (null==f.getDocumentElement?void 0:f.getDocumentElement(h.floating)),boundary:j,rootBoundary:k,strategy:i})),s="floating"===l?{x:d,y:e,width:g.floating.width,height:g.floating.height}:g.reference,t=await (null==f.getOffsetParent?void 0:f.getOffsetParent(h.floating)),u=await (null==f.isElement?void 0:f.isElement(t))&&await (null==f.getScale?void 0:f.getScale(t))||{x:1,y:1},v=E(f.convertOffsetParentRelativeRectToViewportRelativeRect?await f.convertOffsetParentRelativeRectToViewportRelativeRect({elements:h,rect:s,offsetParent:t,strategy:i}):s);return{top:(r.top-v.top+o.top)/u.y,bottom:(v.bottom-r.bottom+o.bottom)/u.y,left:(r.left-v.left+o.left)/u.x,right:(v.right-r.right+o.right)/u.x}}let H=async(a,b,c)=>{let{placement:d="bottom",strategy:e="absolute",middleware:f=[],platform:g}=c,h=f.filter(Boolean),i=await (null==g.isRTL?void 0:g.isRTL(b)),j=await g.getElementRects({reference:a,floating:b,strategy:e}),{x:k,y:l}=F(j,d,i),m=d,n={},o=0;for(let c=0;c<h.length;c++){var p;let{name:f,fn:q}=h[c],{x:r,y:s,data:t,reset:u}=await q({x:k,y:l,initialPlacement:d,placement:m,strategy:e,middlewareData:n,rects:j,platform:{...g,detectOverflow:null!=(p=g.detectOverflow)?p:G},elements:{reference:a,floating:b}});k=null!=r?r:k,l=null!=s?s:l,n={...n,[f]:{...n[f],...t}},u&&o<=50&&(o++,"object"==typeof u&&(u.placement&&(m=u.placement),u.rects&&(j=!0===u.rects?await g.getElementRects({reference:a,floating:b,strategy:e}):u.rects),{x:k,y:l}=F(j,m,i)),c=-1)}return{x:k,y:l,placement:m,strategy:e,middlewareData:n}};function I(a,b){return{top:a.top-b.height,right:a.right-b.width,bottom:a.bottom-b.height,left:a.left-b.width}}function J(a){return i.some(b=>a[b]>=0)}let K=new Set(["left","top"]);async function L(a,b){let{placement:c,platform:d,elements:e}=a,f=await (null==d.isRTL?void 0:d.isRTL(e.floating)),g=r(c),h=s(c),i="y"===w(c),j=K.has(g)?-1:1,k=f&&i?-1:1,l=q(b,a),{mainAxis:m,crossAxis:n,alignmentAxis:o}="number"==typeof l?{mainAxis:l,crossAxis:0,alignmentAxis:null}:{mainAxis:l.mainAxis||0,crossAxis:l.crossAxis||0,alignmentAxis:l.alignmentAxis};return h&&"number"==typeof o&&(n="end"===h?-1*o:o),i?{x:n*k,y:m*j}:{x:m*j,y:n*k}}function M(a){return function(a){return!1}(a)?(a.nodeName||"").toLowerCase():"#document"}function N(a){var b;return(null==a||null==(b=a.ownerDocument)?void 0:b.defaultView)||window}function O(a){var b;return null==(b=(function(a){return!1}(a)?a.ownerDocument:a.document)||window.document)?void 0:b.documentElement}function P(a){return!1}let Q=new Set(["inline","contents"]);function R(a){let{overflow:b,overflowX:c,overflowY:d,display:e}=aa(a);return/auto|scroll|overlay|hidden|clip/.test(b+d+c)&&!Q.has(e)}let S=new Set(["table","td","th"]),T=[":popover-open",":modal"];function U(a){return T.some(b=>{try{return a.matches(b)}catch(a){return!1}})}let V=["transform","translate","scale","rotate","perspective"],W=["transform","translate","scale","rotate","perspective","filter"],X=["paint","layout","strict","content"];function Y(a){let b=Z(),c=a;return V.some(a=>!!c[a]&&"none"!==c[a])||!!c.containerType&&"normal"!==c.containerType||!b&&!!c.backdropFilter&&"none"!==c.backdropFilter||!b&&!!c.filter&&"none"!==c.filter||W.some(a=>(c.willChange||"").includes(a))||X.some(a=>(c.contain||"").includes(a))}function Z(){return!("u"<typeof CSS)&&!!CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")}let $=new Set(["html","body","#document"]);function _(a){return $.has(M(a))}function aa(a){return N(a).getComputedStyle(a)}function ab(a){return{scrollLeft:a.scrollX,scrollTop:a.scrollY}}function ac(a){if("html"===M(a))return a;let b=a.assignedSlot||a.parentNode||!1||O(a);return b}function ad(a,b,c){var d;void 0===b&&(b=[]),void 0===c&&(c=!0);let e=function a(b){let c=ac(b);return _(c)?b.ownerDocument?b.ownerDocument.body:b.body:a(c)}(a),f=e===(null==(d=a.ownerDocument)?void 0:d.body),g=N(e);if(f){let a=ae(g);return b.concat(g,g.visualViewport||[],R(e)?e:[],a&&c?ad(a):[])}return b.concat(e,ad(e,[],c))}function ae(a){return a.parent&&Object.getPrototypeOf(a.parent)?a.frameElement:null}function af(a){let b=aa(a),c=parseFloat(b.width)||0,d=parseFloat(b.height)||0,e=!1,f=e?a.offsetWidth:c,g=e?a.offsetHeight:d,h=l(c)!==f||l(d)!==g;return h&&(c=f,d=g),{width:c,height:d,$:h}}function ag(a){return 0,a.contextElement}function ah(a){let b=ag(a);1;return n(1)}let ai=n(0);function aj(a){let b=N(a);return Z()&&b.visualViewport?{x:b.visualViewport.offsetLeft,y:b.visualViewport.offsetTop}:ai}function ak(a,b,c,d){var e;void 0===b&&(b=!1),void 0===c&&(c=!1);let f=a.getBoundingClientRect(),g=ag(a),h=n(1);b&&(d||(h=ah(a)));let i=(void 0===(e=c)&&(e=!1),d&&(!e||d===N(g))&&e)?aj(g):n(0),j=(f.left+i.x)/h.x,k=(f.top+i.y)/h.y,l=f.width/h.x,m=f.height/h.y;if(g){let a=N(g),b=d,c=a,e=ae(c);for(;e&&d&&b!==c;){let a=ah(e),b=e.getBoundingClientRect(),d=aa(e),f=b.left+(e.clientLeft+parseFloat(d.paddingLeft))*a.x,g=b.top+(e.clientTop+parseFloat(d.paddingTop))*a.y;j*=a.x,k*=a.y,l*=a.x,m*=a.y,j+=f,k+=g,e=ae(c=N(e))}}return E({width:l,height:m,x:j,y:k})}function al(a,b){let c=ab(a).scrollLeft;return b?b.left+c:ak(O(a)).left+c}function am(a,b){let c=a.getBoundingClientRect();return{x:c.left+b.scrollLeft-al(a,c),y:c.top+b.scrollTop}}function an(a,b,c){var d;let e;if("viewport"===b)e=function(a,b){let c=N(a),d=O(a),e=c.visualViewport,f=d.clientWidth,g=d.clientHeight,h=0,i=0;if(e){f=e.width,g=e.height;let a=Z();(!a||a&&"fixed"===b)&&(h=e.offsetLeft,i=e.offsetTop)}let j=al(d);if(j<=0){let a=d.ownerDocument,b=a.body,c=getComputedStyle(b),e="CSS1Compat"===a.compatMode&&parseFloat(c.marginLeft)+parseFloat(c.marginRight)||0,g=Math.abs(d.clientWidth-b.clientWidth-e);g<=25&&(f-=g)}else j<=25&&(f+=j);return{width:f,height:g,x:h,y:i}}(a,c);else if("document"===b){let b,c,f,g,h,i,j;d=O(a),b=O(d),c=ab(d),f=d.ownerDocument.body,g=k(b.scrollWidth,b.clientWidth,f.scrollWidth,f.clientWidth),h=k(b.scrollHeight,b.clientHeight,f.scrollHeight,f.clientHeight),i=-c.scrollLeft+al(d),j=-c.scrollTop,"rtl"===aa(f).direction&&(i+=k(b.clientWidth,f.clientWidth)-g),e={width:g,height:h,x:i,y:j}}else{1;{let c=aj(a);e={x:b.x-c.x,y:b.y-c.y,width:b.width,height:b.height}}}return E(e)}function ao(a){return"static"===aa(a).position}function ap(a,b){1;return null}function aq(a,b){var c;let d=N(a);if(U(a))return d;1;{let b=ac(a);for(;b&&!_(b);){0;b=ac(b)}return d}}let ar=async function(a){let b=this.getOffsetParent||aq,c=this.getDimensions,d=await c(a.floating);return{reference:function(a,b,c){var d;let e=(d=0,!1),f=O(b),g="fixed"===c,h=ak(a,!0,g,b),i={scrollLeft:0,scrollTop:0},j=n(0);if(e||!e&&!g)if(("body"!==M(b)||R(f))&&(i=ab(b)),e){let a=ak(b,!0,g,b);j.x=a.x+b.clientLeft,j.y=a.y+b.clientTop}else f&&(j.x=al(f));g&&!e&&f&&(j.x=al(f));let k=!f||e||g?n(0):am(f,i);return{x:h.left+i.scrollLeft-j.x-k.x,y:h.top+i.scrollTop-j.y-k.y,width:h.width,height:h.height}}(a.reference,await b(a.floating),a.strategy),floating:{x:0,y:0,width:d.width,height:d.height}}},as={convertOffsetParentRelativeRectToViewportRelativeRect:function(a){var b,c;let{elements:d,rect:e,offsetParent:f,strategy:g}=a,h="fixed"===g,i=O(f),j=!!d&&U(d.floating);if(f===i||j&&h)return e;let k={scrollLeft:0,scrollTop:0},l=n(1),m=n(0),o=(b=0,!1);(o||!o&&!h)&&(("body"!==M(f)||R(i))&&(k=ab(f)),c=0,0);let p=!i||o||h?n(0):am(i,k);return{width:e.width*l.x,height:e.height*l.y,x:e.x*l.x-k.scrollLeft*l.x+m.x+p.x,y:e.y*l.y-k.scrollTop*l.y+m.y+p.y}},getDocumentElement:O,getClippingRect:function(a){let{element:b,boundary:c,rootBoundary:d,strategy:e}=a,f=[..."clippingAncestors"===c?U(b)?[]:function(a,b){var c;let d=b.get(a);if(d)return d;let e=ad(a,[],!1).filter(a=>{var b;return b=0,!1}),f="fixed"===aa(a).position,g=f?ac(a):a;return c=0,b.set(a,e),e}(b,this._c):[].concat(c),d],g=f[0],h=f.reduce((a,c)=>{let d=an(b,c,e);return a.top=k(d.top,a.top),a.right=j(d.right,a.right),a.bottom=j(d.bottom,a.bottom),a.left=k(d.left,a.left),a},an(b,g,e));return{width:h.right-h.left,height:h.bottom-h.top,x:h.left,y:h.top}},getOffsetParent:aq,getElementRects:ar,getClientRects:function(a){return Array.from(a.getClientRects())},getDimensions:function(a){let{width:b,height:c}=af(a);return{width:b,height:c}},getScale:ah,isElement:P,isRTL:function(a){return"rtl"===aa(a).direction}};function at(a,b){return a.x===b.x&&a.y===b.y&&a.width===b.width&&a.height===b.height}let au=a=>({name:"arrow",options:a,async fn(b){let{x:c,y:d,placement:e,rects:f,platform:g,elements:h,middlewareData:i}=b,{element:l,padding:m=0}=q(a,b)||{};if(null==l)return{};let n=D(m),o={x:c,y:d},p=t(w(e)),r=u(p),v=await g.getDimensions(l),x="y"===p,y=x?"clientHeight":"clientWidth",z=f.reference[r]+f.reference[p]-o[p]-f.floating[r],A=o[p]-f.reference[p],B=await (null==g.getOffsetParent?void 0:g.getOffsetParent(l)),C=B?B[y]:0;C&&await (null==g.isElement?void 0:g.isElement(B))||(C=h.floating[y]||f.floating[r]);let E=C/2-v[r]/2-1,F=j(n[x?"top":"left"],E),G=j(n[x?"bottom":"right"],E),H=C-v[r]-G,I=C/2-v[r]/2+(z/2-A/2),J=k(F,j(I,H)),K=!i.arrow&&null!=s(e)&&I!==J&&f.reference[r]/2-(I<F?F:G)-v[r]/2<0,L=K?I<F?I-F:I-H:0;return{[p]:o[p]+L,data:{[p]:J,centerOffset:I-J-L,...K&&{alignmentOffset:L}},reset:K}}});var av=a.i(55690),aw="u">typeof document?c.useLayoutEffect:function(){};function ax(a,b){let c,d,e;if(a===b)return!0;if(typeof a!=typeof b)return!1;if("function"==typeof a&&a.toString()===b.toString())return!0;if(a&&b&&"object"==typeof a){if(Array.isArray(a)){if((c=a.length)!==b.length)return!1;for(d=c;0!=d--;)if(!ax(a[d],b[d]))return!1;return!0}if((c=(e=Object.keys(a)).length)!==Object.keys(b).length)return!1;for(d=c;0!=d--;)if(!({}).hasOwnProperty.call(b,e[d]))return!1;for(d=c;0!=d--;){let c=e[d];if(("_owner"!==c||!a.$$typeof)&&!ax(a[c],b[c]))return!1}return!0}return a!=a&&b!=b}function ay(a,b){let c=1;return Math.round(b*c)/c}function az(a){let b=c.useRef(a);return aw(()=>{b.current=a}),b}var aA=a.i(66873),aB=c.forwardRef((a,c)=>{let{children:d,width:e=10,height:f=5,...g}=a;return(0,b.jsx)(aA.Primitive.svg,{...g,ref:c,width:e,height:f,viewBox:"0 0 30 10",preserveAspectRatio:"none",children:a.asChild?d:(0,b.jsx)("polygon",{points:"0,0 30,0 15,10"})})});aB.displayName="Arrow";var aC=a.i(79406),aD=a.i(61476);function aE(a){let[b,d]=c.useState(void 0);return(0,aD.useLayoutEffect)(()=>{if(a){d({width:a.offsetWidth,height:a.offsetHeight});let b=new ResizeObserver(b=>{let c,e;if(!Array.isArray(b)||!b.length)return;let f=b[0];if("borderBoxSize"in f){let a=f.borderBoxSize,b=Array.isArray(a)?a[0]:a;c=b.inlineSize,e=b.blockSize}else c=a.offsetWidth,e=a.offsetHeight;d({width:c,height:e})});return b.observe(a,{box:"border-box"}),()=>b.unobserve(a)}d(void 0)},[a]),b}a.s(["useSize",()=>aE],74432);var aF="Popper",[aG,aH]=(0,f.createContextScope)(aF),[aI,aJ]=aG(aF),aK=a=>{let{__scopePopper:d,children:e}=a,[f,g]=c.useState(null);return(0,b.jsx)(aI,{scope:d,anchor:f,onAnchorChange:g,children:e})};aK.displayName=aF;var aL="PopperAnchor",aM=c.forwardRef((a,d)=>{let{__scopePopper:f,virtualRef:g,...h}=a,i=aJ(aL,f),j=c.useRef(null),k=(0,e.useComposedRefs)(d,j),l=c.useRef(null);return c.useEffect(()=>{let a=l.current;l.current=g?.current||j.current,a!==l.current&&i.onAnchorChange(l.current)}),g?null:(0,b.jsx)(aA.Primitive.div,{...h,ref:k})});aM.displayName=aL;var aN="PopperContent",[aO,aP]=aG(aN),aQ=c.forwardRef((a,d)=>{var f,g,h,i,l,n,o,p,v,D,E,F,G,M,N,P,Q,R,S,T,U;let{__scopePopper:V,side:W="bottom",sideOffset:X=0,align:Y="center",alignOffset:Z=0,arrowPadding:$=0,avoidCollisions:_=!0,collisionBoundary:aa=[],collisionPadding:ab=0,sticky:ac="partial",hideWhenDetached:ae=!1,updatePositionStrategy:af="optimized",onPlaced:ah,...ai}=a,aj=aJ(aN,V),[al,am]=c.useState(null),an=(0,e.useComposedRefs)(d,a=>am(a)),[ao,ap]=c.useState(null),aq=aE(ao),ar=aq?.width??0,aB=aq?.height??0,aF="number"==typeof ab?ab:{top:0,right:0,bottom:0,left:0,...ab},aG=Array.isArray(aa)?aa:[aa],aH=aG.length>0,aI={padding:aF,boundary:aG.filter(aU),altBoundary:aH},{refs:aK,floatingStyles:aL,placement:aM,isPositioned:aP,middlewareData:aQ}=function(a){void 0===a&&(a={});let{placement:b="bottom",strategy:d="absolute",middleware:e=[],platform:f,elements:{reference:g,floating:h}={},transform:i=!0,whileElementsMounted:j,open:k}=a,[l,m]=c.useState({x:0,y:0,strategy:d,placement:b,middlewareData:{},isPositioned:!1}),[n,o]=c.useState(e);ax(n,e)||o(e);let[p,q]=c.useState(null),[r,s]=c.useState(null),t=c.useCallback(a=>{a!==x.current&&(x.current=a,q(a))},[]),u=c.useCallback(a=>{a!==y.current&&(y.current=a,s(a))},[]),v=g||p,w=h||r,x=c.useRef(null),y=c.useRef(null),z=c.useRef(l),A=null!=j,B=az(j),C=az(f),D=az(k),E=c.useCallback(()=>{var a,c;let e,f,g;if(!x.current||!y.current)return;let h={placement:b,strategy:d,middleware:n};C.current&&(h.platform=C.current),(a=x.current,c=y.current,e=new Map,g={...(f={platform:as,...h}).platform,_c:e},H(a,c,{...f,platform:g})).then(a=>{let b={...a,isPositioned:!1!==D.current};F.current&&!ax(z.current,b)&&(z.current=b,av.flushSync(()=>{m(b)}))})},[n,b,d,C,D]);aw(()=>{!1===k&&z.current.isPositioned&&(z.current.isPositioned=!1,m(a=>({...a,isPositioned:!1})))},[k]);let F=c.useRef(!1);aw(()=>(F.current=!0,()=>{F.current=!1}),[]),aw(()=>{if(v&&(x.current=v),w&&(y.current=w),v&&w){if(B.current)return B.current(v,w,E);E()}},[v,w,E,B,A]);let G=c.useMemo(()=>({reference:x,floating:y,setReference:t,setFloating:u}),[t,u]),I=c.useMemo(()=>({reference:v,floating:w}),[v,w]),J=c.useMemo(()=>{let a={position:d,left:0,top:0};if(!I.floating)return a;let b=ay(I.floating,l.x),c=ay(I.floating,l.y);if(i)return{...a,transform:"translate("+b+"px, "+c+"px)",...(I.floating,false)};return{position:d,left:b,top:c}},[d,i,I.floating,l.x,l.y]);return c.useMemo(()=>({...l,update:E,refs:G,elements:I,floatingStyles:J}),[l,E,G,I,J])}({strategy:"fixed",placement:W+("center"!==Y?"-"+Y:""),whileElementsMounted:(...a)=>(function(a,b,c,d){let e;void 0===d&&(d={});let{ancestorScroll:f=!0,ancestorResize:g=!0,elementResize:h="function"==typeof ResizeObserver,layoutShift:i="function"==typeof IntersectionObserver,animationFrame:l=!1}=d,n=ag(a),o=f||g?[...n?ad(n):[],...ad(b)]:[];o.forEach(a=>{f&&a.addEventListener("scroll",c,{passive:!0}),g&&a.addEventListener("resize",c)});let p=n&&i?function(a,b){let c,d=null,e=O(a);function f(){var a;clearTimeout(c),null==(a=d)||a.disconnect(),d=null}return!function g(h,i){void 0===h&&(h=!1),void 0===i&&(i=1),f();let l=a.getBoundingClientRect(),{left:n,top:o,width:p,height:q}=l;if(h||b(),!p||!q)return;let r={rootMargin:-m(o)+"px "+-m(e.clientWidth-(n+p))+"px "+-m(e.clientHeight-(o+q))+"px "+-m(n)+"px",threshold:k(0,j(1,i))||1},s=!0;function t(b){let d=b[0].intersectionRatio;if(d!==i){if(!s)return g();d?g(!1,d):c=setTimeout(()=>{g(!1,1e-7)},1e3)}1!==d||at(l,a.getBoundingClientRect())||g(),s=!1}try{d=new IntersectionObserver(t,{...r,root:e.ownerDocument})}catch(a){d=new IntersectionObserver(t,r)}d.observe(a)}(!0),f}(n,c):null,q=-1,r=null;h&&(r=new ResizeObserver(a=>{let[d]=a;d&&d.target===n&&r&&(r.unobserve(b),cancelAnimationFrame(q),q=requestAnimationFrame(()=>{var a;null==(a=r)||a.observe(b)})),c()}),n&&!l&&r.observe(n),r.observe(b));let s=l?ak(a):null;return l&&function b(){let d=ak(a);s&&!at(s,d)&&c(),s=d,e=requestAnimationFrame(b)}(),c(),()=>{var a;o.forEach(a=>{f&&a.removeEventListener("scroll",c),g&&a.removeEventListener("resize",c)}),null==p||p(),null==(a=r)||a.disconnect(),r=null,l&&cancelAnimationFrame(e)}})(...a,{animationFrame:"always"===af}),elements:{reference:aj.anchor},middleware:[{...{name:"offset",options:h=f={mainAxis:X+aB,alignmentAxis:Z},async fn(a){var b,c;let{x:d,y:e,placement:f,middlewareData:g}=a,i=await L(a,h);return f===(null==(b=g.offset)?void 0:b.placement)&&null!=(c=g.arrow)&&c.alignmentOffset?{}:{x:d+i.x,y:e+i.y,data:{...i,placement:f}}}},options:[f,g]},_&&{...{name:"shift",options:v=o={mainAxis:!0,crossAxis:!1,limiter:"partial"===ac?{...(void 0===(n=i)&&(n={}),{options:n,fn(a){let{x:b,y:c,placement:d,rects:e,middlewareData:f}=a,{offset:g=0,mainAxis:h=!0,crossAxis:i=!0}=q(n,a),j={x:b,y:c},k=w(d),l=t(k),m=j[l],o=j[k],p=q(g,a),s="number"==typeof p?{mainAxis:p,crossAxis:0}:{mainAxis:0,crossAxis:0,...p};if(h){let a="y"===l?"height":"width",b=e.reference[l]-e.floating[a]+s.mainAxis,c=e.reference[l]+e.reference[a]-s.mainAxis;m<b?m=b:m>c&&(m=c)}if(i){var u,v;let a="y"===l?"width":"height",b=K.has(r(d)),c=e.reference[k]-e.floating[a]+(b&&(null==(u=f.offset)?void 0:u[k])||0)+(b?0:s.crossAxis),g=e.reference[k]+e.reference[a]+(b?0:(null==(v=f.offset)?void 0:v[k])||0)-(b?s.crossAxis:0);o<c?o=c:o>g&&(o=g)}return{[l]:m,[k]:o}}}),options:[i,l]}:void 0,...aI},async fn(a){let{x:b,y:c,placement:d,platform:e}=a,{mainAxis:f=!0,crossAxis:g=!1,limiter:h={fn:a=>{let{x:b,y:c}=a;return{x:b,y:c}}},...i}=q(v,a),l={x:b,y:c},m=await e.detectOverflow(a,i),n=w(r(d)),o=t(n),p=l[o],s=l[n];if(f){let a="y"===o?"top":"left",b="y"===o?"bottom":"right",c=p+m[a],d=p-m[b];p=k(c,j(p,d))}if(g){let a="y"===n?"top":"left",b="y"===n?"bottom":"right",c=s+m[a],d=s-m[b];s=k(c,j(s,d))}let u=h.fn({...a,[o]:p,[n]:s});return{...u,data:{x:u.x-b,y:u.y-c,enabled:{[o]:f,[n]:g}}}}},options:[o,p]},_&&{...{name:"flip",options:F=D={...aI},async fn(a){var b,c,d,e,f,g,h,i;let j,k,l,{placement:m,middlewareData:n,rects:o,initialPlacement:p,platform:v,elements:D}=a,{mainAxis:E=!0,crossAxis:G=!0,fallbackPlacements:H,fallbackStrategy:I="bestFit",fallbackAxisSideDirection:J="none",flipAlignment:K=!0,...L}=q(F,a);if(null!=(b=n.arrow)&&b.alignmentOffset)return{};let M=r(m),N=w(p),O=r(p)===p,P=await (null==v.isRTL?void 0:v.isRTL(D.floating)),Q=H||(O||!K?[C(p)]:(j=C(p),[x(p),j,x(j)])),R="none"!==J;!H&&R&&Q.push(...(k=s(p),l=function(a,b,c){switch(a){case"top":case"bottom":if(c)return b?z:y;return b?y:z;case"left":case"right":return b?A:B;default:return[]}}(r(p),"start"===J,P),k&&(l=l.map(a=>a+"-"+k),K&&(l=l.concat(l.map(x)))),l));let S=[p,...Q],T=await v.detectOverflow(a,L),U=[],V=(null==(c=n.flip)?void 0:c.overflows)||[];if(E&&U.push(T[M]),G){let a,b,c,d,e=(g=m,h=o,void 0===(i=P)&&(i=!1),a=s(g),c=u(b=t(w(g))),d="x"===b?a===(i?"end":"start")?"right":"left":"start"===a?"bottom":"top",h.reference[c]>h.floating[c]&&(d=C(d)),[d,C(d)]);U.push(T[e[0]],T[e[1]])}if(V=[...V,{placement:m,overflows:U}],!U.every(a=>a<=0)){let a=((null==(d=n.flip)?void 0:d.index)||0)+1,b=S[a];if(b&&("alignment"!==G||N===w(b)||V.every(a=>w(a.placement)!==N||a.overflows[0]>0)))return{data:{index:a,overflows:V},reset:{placement:b}};let c=null==(e=V.filter(a=>a.overflows[0]<=0).sort((a,b)=>a.overflows[1]-b.overflows[1])[0])?void 0:e.placement;if(!c)switch(I){case"bestFit":{let a=null==(f=V.filter(a=>{if(R){let b=w(a.placement);return b===N||"y"===b}return!0}).map(a=>[a.placement,a.overflows.filter(a=>a>0).reduce((a,b)=>a+b,0)]).sort((a,b)=>a[1]-b[1])[0])?void 0:f[0];a&&(c=a);break}case"initialPlacement":c=p}if(m!==c)return{reset:{placement:c}}}return{}}},options:[D,E]},{...{name:"size",options:N=G={...aI,apply:({elements:a,rects:b,availableWidth:c,availableHeight:d})=>{let{width:e,height:f}=b.reference,g=a.floating.style;g.setProperty("--radix-popper-available-width",`${c}px`),g.setProperty("--radix-popper-available-height",`${d}px`),g.setProperty("--radix-popper-anchor-width",`${e}px`),g.setProperty("--radix-popper-anchor-height",`${f}px`)}},async fn(a){var b,c;let d,e,{placement:f,rects:g,platform:h,elements:i}=a,{apply:l=()=>{},...m}=q(N,a),n=await h.detectOverflow(a,m),o=r(f),p=s(f),t="y"===w(f),{width:u,height:v}=g.floating;"top"===o||"bottom"===o?(d=o,e=p===(await (null==h.isRTL?void 0:h.isRTL(i.floating))?"start":"end")?"left":"right"):(e=o,d="end"===p?"top":"bottom");let x=v-n.top-n.bottom,y=u-n.left-n.right,z=j(v-n[d],x),A=j(u-n[e],y),B=!a.middlewareData.shift,C=z,D=A;if(null!=(b=a.middlewareData.shift)&&b.enabled.x&&(D=y),null!=(c=a.middlewareData.shift)&&c.enabled.y&&(C=x),B&&!p){let a=k(n.left,0),b=k(n.right,0),c=k(n.top,0),d=k(n.bottom,0);t?D=u-2*(0!==a||0!==b?a+b:k(n.left,n.right)):C=v-2*(0!==c||0!==d?c+d:k(n.top,n.bottom))}await l({...a,availableWidth:D,availableHeight:C});let E=await h.getDimensions(i.floating);return u!==E.width||v!==E.height?{reset:{rects:!0}}:{}}},options:[G,M]},ao&&{...{name:"arrow",options:R=P={element:ao,padding:$},fn(a){let{element:b,padding:c}="function"==typeof R?R(a):R;return b&&({}).hasOwnProperty.call(b,"current")?null!=b.current?au({element:b.current,padding:c}).fn(a):{}:b?au({element:b,padding:c}).fn(a):{}}},options:[P,Q]},aV({arrowWidth:ar,arrowHeight:aB}),ae&&{...{name:"hide",options:U=S={strategy:"referenceHidden",...aI},async fn(a){let{rects:b,platform:c}=a,{strategy:d="referenceHidden",...e}=q(U,a);switch(d){case"referenceHidden":{let d=I(await c.detectOverflow(a,{...e,elementContext:"reference"}),b.reference);return{data:{referenceHiddenOffsets:d,referenceHidden:J(d)}}}case"escaped":{let d=I(await c.detectOverflow(a,{...e,altBoundary:!0}),b.floating);return{data:{escapedOffsets:d,escaped:J(d)}}}default:return{}}}},options:[S,T]}]}),[aR,aS]=aW(aM),aT=(0,aC.useCallbackRef)(ah);(0,aD.useLayoutEffect)(()=>{aP&&aT?.()},[aP,aT]);let aX=aQ.arrow?.x,aY=aQ.arrow?.y,aZ=aQ.arrow?.centerOffset!==0,[a$,a_]=c.useState();return(0,aD.useLayoutEffect)(()=>{al&&a_(window.getComputedStyle(al).zIndex)},[al]),(0,b.jsx)("div",{ref:aK.setFloating,"data-radix-popper-content-wrapper":"",style:{...aL,transform:aP?aL.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:a$,"--radix-popper-transform-origin":[aQ.transformOrigin?.x,aQ.transformOrigin?.y].join(" "),...aQ.hide?.referenceHidden&&{visibility:"hidden",pointerEvents:"none"}},dir:a.dir,children:(0,b.jsx)(aO,{scope:V,placedSide:aR,onArrowChange:ap,arrowX:aX,arrowY:aY,shouldHideArrow:aZ,children:(0,b.jsx)(aA.Primitive.div,{"data-side":aR,"data-align":aS,...ai,ref:an,style:{...ai.style,animation:aP?void 0:"none"}})})})});aQ.displayName=aN;var aR="PopperArrow",aS={top:"bottom",right:"left",bottom:"top",left:"right"},aT=c.forwardRef(function(a,c){let{__scopePopper:d,...e}=a,f=aP(aR,d),g=aS[f.placedSide];return(0,b.jsx)("span",{ref:f.onArrowChange,style:{position:"absolute",left:f.arrowX,top:f.arrowY,[g]:0,transformOrigin:{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[f.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[f.placedSide],visibility:f.shouldHideArrow?"hidden":void 0},children:(0,b.jsx)(aB,{...e,ref:c,style:{...e.style,display:"block"}})})});function aU(a){return null!==a}aT.displayName=aR;var aV=a=>({name:"transformOrigin",options:a,fn(b){let{placement:c,rects:d,middlewareData:e}=b,f=e.arrow?.centerOffset!==0,g=f?0:a.arrowWidth,h=f?0:a.arrowHeight,[i,j]=aW(c),k={start:"0%",center:"50%",end:"100%"}[j],l=(e.arrow?.x??0)+g/2,m=(e.arrow?.y??0)+h/2,n="",o="";return"bottom"===i?(n=f?k:`${l}px`,o=`${-h}px`):"top"===i?(n=f?k:`${l}px`,o=`${d.floating.height+h}px`):"right"===i?(n=`${-h}px`,o=f?k:`${m}px`):"left"===i&&(n=`${d.floating.width+h}px`,o=f?k:`${m}px`),{data:{x:n,y:o}}}});function aW(a){let[b,c="center"]=a.split("-");return[b,c]}a.s(["Anchor",()=>aM,"Arrow",()=>aT,"Content",()=>aQ,"Root",()=>aK,"createPopperScope",()=>aH],75988);var aX=a.i(80930),aY=a.i(14272),aZ=a.i(90986),a$=a.i(17329),a_=Object.freeze({position:"absolute",border:0,width:1,height:1,padding:0,margin:-1,overflow:"hidden",clip:"rect(0, 0, 0, 0)",whiteSpace:"nowrap",wordWrap:"normal"}),a0=c.forwardRef((a,c)=>(0,b.jsx)(aA.Primitive.span,{...a,ref:c,style:{...a_,...a.style}}));a0.displayName="VisuallyHidden";var[a1,a2]=(0,f.createContextScope)("Tooltip",[aH]),a3=aH(),a4="TooltipProvider",a5="tooltip.open",[a6,a7]=a1(a4),a8=a=>{let{__scopeTooltip:d,delayDuration:e=700,skipDelayDuration:f=300,disableHoverableContent:g=!1,children:h}=a,i=c.useRef(!0),j=c.useRef(!1),k=c.useRef(0);return c.useEffect(()=>{let a=k.current;return()=>window.clearTimeout(a)},[]),(0,b.jsx)(a6,{scope:d,isOpenDelayedRef:i,delayDuration:e,onOpen:c.useCallback(()=>{window.clearTimeout(k.current),i.current=!1},[]),onClose:c.useCallback(()=>{window.clearTimeout(k.current),k.current=window.setTimeout(()=>i.current=!0,f)},[f]),isPointerInTransitRef:j,onPointerInTransitChange:c.useCallback(a=>{j.current=a},[]),disableHoverableContent:g,children:h})};a8.displayName=a4;var a9="Tooltip",[ba,bb]=a1(a9),bc=a=>{let{__scopeTooltip:d,children:e,open:f,defaultOpen:g,onOpenChange:i,disableHoverableContent:j,delayDuration:k}=a,l=a7(a9,a.__scopeTooltip),m=a3(d),[n,o]=c.useState(null),p=(0,h.useId)(),q=c.useRef(0),r=j??l.disableHoverableContent,s=k??l.delayDuration,t=c.useRef(!1),[u,v]=(0,a$.useControllableState)({prop:f,defaultProp:g??!1,onChange:a=>{a?(l.onOpen(),document.dispatchEvent(new CustomEvent(a5))):l.onClose(),i?.(a)},caller:a9}),w=c.useMemo(()=>u?t.current?"delayed-open":"instant-open":"closed",[u]),x=c.useCallback(()=>{window.clearTimeout(q.current),q.current=0,t.current=!1,v(!0)},[v]),y=c.useCallback(()=>{window.clearTimeout(q.current),q.current=0,v(!1)},[v]),z=c.useCallback(()=>{window.clearTimeout(q.current),q.current=window.setTimeout(()=>{t.current=!0,v(!0),q.current=0},s)},[s,v]);return c.useEffect(()=>()=>{q.current&&(window.clearTimeout(q.current),q.current=0)},[]),(0,b.jsx)(aK,{...m,children:(0,b.jsx)(ba,{scope:d,contentId:p,open:u,stateAttribute:w,trigger:n,onTriggerChange:o,onTriggerEnter:c.useCallback(()=>{l.isOpenDelayedRef.current?z():x()},[l.isOpenDelayedRef,z,x]),onTriggerLeave:c.useCallback(()=>{r?y():(window.clearTimeout(q.current),q.current=0)},[y,r]),onOpen:x,onClose:y,disableHoverableContent:r,children:e})})};bc.displayName=a9;var bd="TooltipTrigger",be=c.forwardRef((a,f)=>{let{__scopeTooltip:g,...h}=a,i=bb(bd,g),j=a7(bd,g),k=a3(g),l=c.useRef(null),m=(0,e.useComposedRefs)(f,l,i.onTriggerChange),n=c.useRef(!1),o=c.useRef(!1),p=c.useCallback(()=>n.current=!1,[]);return c.useEffect(()=>()=>document.removeEventListener("pointerup",p),[p]),(0,b.jsx)(aM,{asChild:!0,...k,children:(0,b.jsx)(aA.Primitive.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...h,ref:m,onPointerMove:(0,d.composeEventHandlers)(a.onPointerMove,a=>{"touch"!==a.pointerType&&(o.current||j.isPointerInTransitRef.current||(i.onTriggerEnter(),o.current=!0))}),onPointerLeave:(0,d.composeEventHandlers)(a.onPointerLeave,()=>{i.onTriggerLeave(),o.current=!1}),onPointerDown:(0,d.composeEventHandlers)(a.onPointerDown,()=>{i.open&&i.onClose(),n.current=!0,document.addEventListener("pointerup",p,{once:!0})}),onFocus:(0,d.composeEventHandlers)(a.onFocus,()=>{n.current||i.onOpen()}),onBlur:(0,d.composeEventHandlers)(a.onBlur,i.onClose),onClick:(0,d.composeEventHandlers)(a.onClick,i.onClose)})})});be.displayName=bd;var bf="TooltipPortal",[bg,bh]=a1(bf,{forceMount:void 0}),bi=a=>{let{__scopeTooltip:c,forceMount:d,children:e,container:f}=a,g=bb(bf,c);return(0,b.jsx)(bg,{scope:c,forceMount:d,children:(0,b.jsx)(aY.Presence,{present:d||g.open,children:(0,b.jsx)(aX.Portal,{asChild:!0,container:f,children:e})})})};bi.displayName=bf;var bj="TooltipContent",bk=c.forwardRef((a,c)=>{let d=bh(bj,a.__scopeTooltip),{forceMount:e=d.forceMount,side:f="top",...g}=a,h=bb(bj,a.__scopeTooltip);return(0,b.jsx)(aY.Presence,{present:e||h.open,children:h.disableHoverableContent?(0,b.jsx)(bp,{side:f,...g,ref:c}):(0,b.jsx)(bl,{side:f,...g,ref:c})})}),bl=c.forwardRef((a,d)=>{let f=bb(bj,a.__scopeTooltip),g=a7(bj,a.__scopeTooltip),h=c.useRef(null),i=(0,e.useComposedRefs)(d,h),[j,k]=c.useState(null),{trigger:l,onClose:m}=f,n=h.current,{onPointerInTransitChange:o}=g,p=c.useCallback(()=>{k(null),o(!1)},[o]),q=c.useCallback((a,b)=>{let c,d=a.currentTarget,e={x:a.clientX,y:a.clientY},f=function(a,b){let c=Math.abs(b.top-a.y),d=Math.abs(b.bottom-a.y),e=Math.abs(b.right-a.x),f=Math.abs(b.left-a.x);switch(Math.min(c,d,e,f)){case f:return"left";case e:return"right";case c:return"top";case d:return"bottom";default:throw Error("unreachable")}}(e,d.getBoundingClientRect());k(((c=[...function(a,b,c=5){let d=[];switch(b){case"top":d.push({x:a.x-c,y:a.y+c},{x:a.x+c,y:a.y+c});break;case"bottom":d.push({x:a.x-c,y:a.y-c},{x:a.x+c,y:a.y-c});break;case"left":d.push({x:a.x+c,y:a.y-c},{x:a.x+c,y:a.y+c});break;case"right":d.push({x:a.x-c,y:a.y-c},{x:a.x-c,y:a.y+c})}return d}(e,f),...function(a){let{top:b,right:c,bottom:d,left:e}=a;return[{x:e,y:b},{x:c,y:b},{x:c,y:d},{x:e,y:d}]}(b.getBoundingClientRect())].slice()).sort((a,b)=>a.x<b.x?-1:a.x>b.x?1:a.y<b.y?-1:1*!!(a.y>b.y)),function(a){if(a.length<=1)return a.slice();let b=[];for(let c=0;c<a.length;c++){let d=a[c];for(;b.length>=2;){let a=b[b.length-1],c=b[b.length-2];if((a.x-c.x)*(d.y-c.y)>=(a.y-c.y)*(d.x-c.x))b.pop();else break}b.push(d)}b.pop();let c=[];for(let b=a.length-1;b>=0;b--){let d=a[b];for(;c.length>=2;){let a=c[c.length-1],b=c[c.length-2];if((a.x-b.x)*(d.y-b.y)>=(a.y-b.y)*(d.x-b.x))c.pop();else break}c.push(d)}return(c.pop(),1===b.length&&1===c.length&&b[0].x===c[0].x&&b[0].y===c[0].y)?b:b.concat(c)}(c))),o(!0)},[o]);return c.useEffect(()=>()=>p(),[p]),c.useEffect(()=>{if(l&&n){let a=a=>q(a,n),b=a=>q(a,l);return l.addEventListener("pointerleave",a),n.addEventListener("pointerleave",b),()=>{l.removeEventListener("pointerleave",a),n.removeEventListener("pointerleave",b)}}},[l,n,q,p]),c.useEffect(()=>{if(j){let a=a=>{let b=a.target,c={x:a.clientX,y:a.clientY},d=l?.contains(b)||n?.contains(b),e=!function(a,b){let{x:c,y:d}=a,e=!1;for(let a=0,f=b.length-1;a<b.length;f=a++){let g=b[a],h=b[f],i=g.x,j=g.y,k=h.x,l=h.y;j>d!=l>d&&c<(k-i)*(d-j)/(l-j)+i&&(e=!e)}return e}(c,j);d?p():e&&(p(),m())};return document.addEventListener("pointermove",a),()=>document.removeEventListener("pointermove",a)}},[l,n,j,m,p]),(0,b.jsx)(bp,{...a,ref:i})}),[bm,bn]=a1(a9,{isInside:!1}),bo=(0,aZ.createSlottable)("TooltipContent"),bp=c.forwardRef((a,d)=>{let{__scopeTooltip:e,children:f,"aria-label":h,onEscapeKeyDown:i,onPointerDownOutside:j,...k}=a,l=bb(bj,e),m=a3(e),{onClose:n}=l;return c.useEffect(()=>(document.addEventListener(a5,n),()=>document.removeEventListener(a5,n)),[n]),c.useEffect(()=>{if(l.trigger){let a=a=>{let b=a.target;b?.contains(l.trigger)&&n()};return window.addEventListener("scroll",a,{capture:!0}),()=>window.removeEventListener("scroll",a,{capture:!0})}},[l.trigger,n]),(0,b.jsx)(g.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:i,onPointerDownOutside:j,onFocusOutside:a=>a.preventDefault(),onDismiss:n,children:(0,b.jsxs)(aQ,{"data-state":l.stateAttribute,...m,...k,ref:d,style:{...k.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,b.jsx)(bo,{children:f}),(0,b.jsx)(bm,{scope:e,isInside:!0,children:(0,b.jsx)(a0,{id:l.contentId,role:"tooltip",children:h||f})})]})})});bk.displayName=bj;var bq="TooltipArrow",br=c.forwardRef((a,c)=>{let{__scopeTooltip:d,...e}=a,f=a3(d);return bn(bq,d).isInside?null:(0,b.jsx)(aT,{...f,...e,ref:c})});br.displayName=bq,a.s(["Arrow",()=>br,"Content",()=>bk,"Portal",()=>bi,"Provider",()=>a8,"Root",()=>bc,"Tooltip",()=>bc,"TooltipArrow",()=>br,"TooltipContent",()=>bk,"TooltipPortal",()=>bi,"TooltipProvider",()=>a8,"TooltipTrigger",()=>be,"Trigger",()=>be,"createTooltipScope",()=>a2],17151);var bs=a.i(17151),bs=bs,bt=a.i(85536);function bu({delayDuration:a=0,...c}){return(0,b.jsx)(bs.Provider,{"data-slot":"tooltip-provider",delayDuration:a,...c})}function bv({...a}){return(0,b.jsx)(bs.Root,{"data-slot":"tooltip",...a})}function bw({...a}){return(0,b.jsx)(bs.Trigger,{"data-slot":"tooltip-trigger",...a})}function bx({className:a,sideOffset:c=0,children:d,...e}){return(0,b.jsx)(bs.Portal,{children:(0,b.jsxs)(bs.Content,{"data-slot":"tooltip-content",sideOffset:c,className:(0,bt.cn)("bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance",a),...e,children:[d,(0,b.jsx)(bs.Arrow,{className:"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]"})]})})}a.s(["Tooltip",()=>bv,"TooltipContent",()=>bx,"TooltipProvider",()=>bu,"TooltipTrigger",()=>bw],82934)},55003,a=>{"use strict";var b=a.i(10973),c=a.i(96960),d=a.i(42261);a.i(45112);var e=a.i(20098),f=a.i(2117),g=a.i(85536);a.i(18948),a.i(90920),a.i(13126);var h=a.i(44338);a.i(55837);var i=a.i(82934);let j=c.createContext(null);function k(){let a=c.useContext(j);if(!a)throw Error("useSidebar must be used within a SidebarProvider.");return a}function l({defaultOpen:a=!0,open:d,onOpenChange:e,className:h,style:k,children:l,...m}){let n=(0,f.useIsMobile)(),[o,p]=c.useState(!1),[q,r]=c.useState(a),s=d??q,t=c.useCallback(a=>{let b="function"==typeof a?a(s):a;e?e(b):r(b),document.cookie=`sidebar_state=${b}; path=/; max-age=604800`},[e,s]),u=c.useCallback(()=>n?p(a=>!a):t(a=>!a),[n,t,p]);c.useEffect(()=>{let a=a=>{"b"===a.key&&(a.metaKey||a.ctrlKey)&&(a.preventDefault(),u())};return window.addEventListener("keydown",a),()=>window.removeEventListener("keydown",a)},[u]);let v=s?"expanded":"collapsed",w=c.useMemo(()=>({state:v,open:s,setOpen:t,isMobile:n,openMobile:o,setOpenMobile:p,toggleSidebar:u}),[v,s,t,n,o,p,u]);return(0,b.jsx)(j.Provider,{value:w,children:(0,b.jsx)(i.TooltipProvider,{delayDuration:0,children:(0,b.jsx)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"3rem",...k},className:(0,g.cn)("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",h),...m,children:l})})})}function m({side:a="left",variant:c="sidebar",collapsible:d="offcanvas",className:e,children:f,...i}){let{isMobile:j,state:l,openMobile:m,setOpenMobile:n}=k();return"none"===d?(0,b.jsx)("div",{"data-slot":"sidebar",className:(0,g.cn)("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",e),...i,children:f}):j?(0,b.jsx)(h.Sheet,{open:m,onOpenChange:n,...i,children:(0,b.jsxs)(h.SheetContent,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:a,children:[(0,b.jsxs)(h.SheetHeader,{className:"sr-only",children:[(0,b.jsx)(h.SheetTitle,{children:"Sidebar"}),(0,b.jsx)(h.SheetDescription,{children:"Displays the mobile sidebar."})]}),(0,b.jsx)("div",{className:"flex h-full w-full flex-col",children:f})]})}):(0,b.jsxs)("div",{className:"group peer text-sidebar-foreground hidden md:block","data-state":l,"data-collapsible":"collapsed"===l?d:"","data-variant":c,"data-side":a,"data-slot":"sidebar",children:[(0,b.jsx)("div",{"data-slot":"sidebar-gap",className:(0,g.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===c||"inset"===c?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,b.jsx)("div",{"data-slot":"sidebar-container",className:(0,g.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===a?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===c||"inset"===c?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",e),...i,children:(0,b.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm",children:f})})]})}function n({className:a,...c}){let{toggleSidebar:d}=k();return(0,b.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:d,title:"Toggle Sidebar",className:(0,g.cn)("hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...c})}function o({className:a,...c}){return(0,b.jsx)("main",{"data-slot":"sidebar-inset",className:(0,g.cn)("bg-background relative flex w-full flex-1 flex-col","md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",a),...c})}function p({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,g.cn)("flex flex-col gap-2 p-2",a),...c})}function q({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,g.cn)("flex flex-col gap-2 p-2",a),...c})}function r({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,g.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",a),...c})}function s({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,g.cn)("relative flex w-full min-w-0 flex-col p-2",a),...c})}function t({className:a,asChild:c=!1,...d}){let f=c?e.Slot.Root:"div";return(0,b.jsx)(f,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,g.cn)("text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...d})}function u({className:a,...c}){return(0,b.jsx)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:(0,g.cn)("w-full text-sm",a),...c})}function v({className:a,...c}){return(0,b.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,g.cn)("flex w-full min-w-0 flex-col gap-1",a),...c})}function w({className:a,...c}){return(0,b.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,g.cn)("group/menu-item relative",a),...c})}let x=(0,d.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function y({asChild:a=!1,isActive:c=!1,variant:d="default",size:f="default",tooltip:h,className:j,...l}){let m=a?e.Slot.Root:"button",{isMobile:n,state:o}=k(),p=(0,b.jsx)(m,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":f,"data-active":c,className:(0,g.cn)(x({variant:d,size:f}),j),...l});return h?("string"==typeof h&&(h={children:h}),(0,b.jsxs)(i.Tooltip,{children:[(0,b.jsx)(i.TooltipTrigger,{asChild:!0,children:p}),(0,b.jsx)(i.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==o||n,...h})]})):p}a.s(["Sidebar",()=>m,"SidebarContent",()=>r,"SidebarFooter",()=>q,"SidebarGroup",()=>s,"SidebarGroupContent",()=>u,"SidebarGroupLabel",()=>t,"SidebarHeader",()=>p,"SidebarInset",()=>o,"SidebarMenu",()=>v,"SidebarMenuButton",()=>y,"SidebarMenuItem",()=>w,"SidebarProvider",()=>l,"SidebarRail",()=>n,"useSidebar",()=>k])},87009,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={UnrecognizedActionError:function(){return f},unstable_isUnrecognizedActionError:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});class f extends Error{constructor(...a){super(...a),this.name="UnrecognizedActionError"}}function g(a){return!!(a&&"object"==typeof a&&a instanceof f)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},13792,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},25880,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},32910,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={REDIRECT_ERROR_CODE:function(){return h},RedirectType:function(){return i},isRedirectError:function(){return j}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(25880),h="NEXT_REDIRECT";var i=((d={}).push="push",d.replace="replace",d);function j(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),f=Number(b.at(-2));return c===h&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(f)&&f in g.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},60293,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(25880),g=a.r(32910),h=a.r(20635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?g.RedirectType.push:g.RedirectType.replace,f.RedirectStatusCode.TemporaryRedirect)}function k(a,b=g.RedirectType.replace){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},19957,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},33843,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(19957),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},55084,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(19957).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},32101,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(19957).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},13767,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={isHangingPromiseRejectionError:function(){return f},makeDevtoolsIOAwarePromise:function(){return l},makeHangingPromise:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===g}let g="HANGING_PROMISE_REJECTION";class h extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=g}}let i=new WeakMap;function j(a,b,c){if(a.aborted)return Promise.reject(new h(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new h(b,c)),g=i.get(a);if(g)g.push(f);else{let b=[f];i.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(k),d}}function k(){}function l(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}},45757,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},62219,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},78096,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(19957),e=a.r(32910);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},20769,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DynamicServerError:function(){return g},isDynamicServerError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="DYNAMIC_SERVER_USAGE";class g extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},99154,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={StaticGenBailoutError:function(){return g},isStaticGenBailoutError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="NEXT_STATIC_GEN_BAILOUT";class g extends Error{constructor(...a){super(...a),this.code=f}}function h(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},19193,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={METADATA_BOUNDARY_NAME:function(){return f},OUTLET_BOUNDARY_NAME:function(){return h},ROOT_LAYOUT_BOUNDARY_NAME:function(){return i},VIEWPORT_BOUNDARY_NAME:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="__next_metadata_boundary__",g="__next_viewport_boundary__",h="__next_outlet_boundary__",i="__next_root_layout_boundary__"},61842,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={atLeastOneTask:function(){return h},scheduleImmediate:function(){return g},scheduleOnNextTick:function(){return f},waitAtLeastOneReactRenderTask:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},g=a=>{setImmediate(a)};function h(){return new Promise(a=>g(a))}function i(){return new Promise(a=>setImmediate(a))}},27232,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},701,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={Postpone:function(){return B},PreludeState:function(){return $},abortAndThrowOnSynchronousRequestDataAccess:function(){return A},abortOnSynchronousPlatformIOAccess:function(){return z},accessedDynamicData:function(){return J},annotateDynamicAccess:function(){return O},consumeDynamicAccess:function(){return K},createDynamicTrackingState:function(){return s},createDynamicValidationState:function(){return t},createHangingInputAbortSignal:function(){return N},createRenderInBrowserAbortSignal:function(){return M},delayUntilRuntimeStage:function(){return ac},formatDynamicAPIAccesses:function(){return L},getFirstDynamicReason:function(){return u},getStaticShellDisallowedDynamicReasons:function(){return ab},isDynamicPostpone:function(){return E},isPrerenderInterruptedError:function(){return I},logDisallowedDynamicError:function(){return _},markCurrentScopeAsDynamic:function(){return v},postponeWithTracking:function(){return C},throwIfDisallowedDynamic:function(){return aa},throwToInterruptStaticGeneration:function(){return w},trackAllowedDynamicAccess:function(){return W},trackDynamicDataInDynamicRender:function(){return x},trackDynamicHoleInRuntimeShell:function(){return X},trackDynamicHoleInStaticShell:function(){return Y},useDynamicRouteParams:function(){return P},useDynamicSearchParams:function(){return Q}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h=(d=a.r(96960))&&d.__esModule?d:{default:d},i=a.r(20769),j=a.r(99154),k=a.r(32319),l=a.r(56704),m=a.r(13767),n=a.r(19193),o=a.r(61842),p=a.r(62219),q=a.r(27232),r="function"==typeof h.default.unstable_postpone;function s(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function t(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,dynamicMetadata:null,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function u(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function v(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new j.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return C(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new i.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function w(a,b,c){let d=Object.defineProperty(new i.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function x(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function y(a,b,c){let d=H(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function z(a,b,c,d){let e=d.dynamicTracking;y(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function A(a,b,c,d){if(!1===d.controller.signal.aborted){y(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw H(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function B({reason:a,route:b}){let c=k.workUnitAsyncStorage.getStore();C(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function C(a,b,c){(function(){if(!r)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),h.default.unstable_postpone(D(a,b))}function D(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function E(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&F(a.message)}function F(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===F(D("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let G="NEXT_PRERENDER_INTERRUPTED";function H(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=G,b}function I(a){return"object"==typeof a&&null!==a&&a.digest===G&&"name"in a&&"message"in a&&a instanceof Error}function J(a){return a.length>0}function K(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function L(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
6
+ ${b}`))}function M(){let a=new AbortController;return a.abort(Object.defineProperty(new p.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function N(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,k.getRuntimeStagePromise)(a);c?c.then(()=>(0,o.scheduleOnNextTick)(()=>b.abort())):(0,o.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function O(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function P(a){let b=l.workAsyncStorage.getStore(),c=k.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&h.default.use((0,m.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return C(b.route,a,c.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}function Q(a){let b=l.workAsyncStorage.getStore(),c=k.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,k.throwForMissingRequestStore)(a),c.type){case"prerender-client":h.default.use((0,m.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new p.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"request":return}}let R=/\n\s+at Suspense \(<anonymous>\)/,S=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${n.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),T=RegExp(`\\n\\s+at ${n.METADATA_BOUNDARY_NAME}[\\n\\s]`),U=RegExp(`\\n\\s+at ${n.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),V=RegExp(`\\n\\s+at ${n.OUTLET_BOUNDARY_NAME}[\\n\\s]`);function W(a,b,c,d){if(!V.test(b)){if(T.test(b)){c.hasDynamicMetadata=!0;return}if(U.test(b)){c.hasDynamicViewport=!0;return}if(S.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(R.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=Z(`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function X(a,b,c,d){if(!V.test(b)){if(T.test(b)){c.dynamicMetadata=Z(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateMetadata\`. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`,b);return}if(U.test(b)){let d=Z(`Route "${a.route}": Uncached data or \`connection()\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`,b);c.dynamicErrors.push(d);return}if(S.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(R.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=Z(`Route "${a.route}": Uncached data or \`connection()\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function Y(a,b,c,d){if(!V.test(b)){if(T.test(b)){c.dynamicMetadata=Z(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateMetadata\` or you have file-based metadata such as icons that depend on dynamic params segments. Except for this instance, the page would have been entirely prerenderable which may have been the intended behavior. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`,b);return}if(U.test(b)){let d=Z(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed inside \`generateViewport\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`,b);c.dynamicErrors.push(d);return}if(S.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(R.test(b)){c.hasAllowedDynamic=!0;return}else{if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let e=Z(`Route "${a.route}": Runtime data such as \`cookies()\`, \`headers()\`, \`params\`, or \`searchParams\` was accessed outside of \`<Suspense>\`. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,b);return void c.dynamicErrors.push(e)}}}function Z(a,b){let c=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return c.stack=c.name+": "+a+b,c}var $=((e={})[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e);function _(a,b){console.error(b),a.dev||(a.hasReadableErrorStacks?console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.`):console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
7
+ - Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
8
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function aa(a,b,c,d){if(d.syncDynamicErrorWithStack)throw _(a,d.syncDynamicErrorWithStack),new j.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)_(a,d[b]);throw new j.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new j.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new j.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new j.StaticGenBailoutError}function ab(a,b,c){if(c.hasSuspenseAboveBody)return[];if(0!==b){let d=c.dynamicErrors;if(d.length>0)return d;if(1===b)return[Object.defineProperty(new q.InvariantError(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason.`),"__NEXT_ERROR_CODE",{value:"E936",enumerable:!1,configurable:!0})]}else if(!1===c.hasAllowedDynamic&&0===c.dynamicErrors.length&&c.dynamicMetadata)return[c.dynamicMetadata];return[]}function ac(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}},49871,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(13767),e=a.r(45757),f=a.r(62219),g=a.r(78096),h=a.r(701),i=a.r(20769);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},76762,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(49871).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},72277,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return h.RedirectType},forbidden:function(){return j.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return k.unauthorized},unstable_isUnrecognizedActionError:function(){return m},unstable_rethrow:function(){return l.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(13792),g=a.r(60293),h=a.r(32910),i=a.r(33843),j=a.r(55084),k=a.r(32101),l=a.r(76762);function m(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},24167,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return h.ReadonlyURLSearchParams},RedirectType:function(){return l.RedirectType},ServerInsertedHTMLContext:function(){return j.ServerInsertedHTMLContext},forbidden:function(){return l.forbidden},notFound:function(){return l.notFound},permanentRedirect:function(){return l.permanentRedirect},redirect:function(){return l.redirect},unauthorized:function(){return l.unauthorized},unstable_isUnrecognizedActionError:function(){return k.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return l.unstable_rethrow},useParams:function(){return r},usePathname:function(){return p},useRouter:function(){return q},useSearchParams:function(){return o},useSelectedLayoutSegment:function(){return t},useSelectedLayoutSegments:function(){return s},useServerInsertedHTML:function(){return j.useServerInsertedHTML}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(3988)._(a.r(96960)),g=a.r(62485),h=a.r(15108),i=a.r(58508),j=a.r(71915),k=a.r(87009),l=a.r(72277),m=a.r(701).useDynamicRouteParams,n=a.r(701).useDynamicSearchParams;function o(){n?.("useSearchParams()");let a=(0,f.useContext)(h.SearchParamsContext);return(0,f.useMemo)(()=>a?new h.ReadonlyURLSearchParams(a):null,[a])}function p(){return m?.("usePathname()"),(0,f.useContext)(h.PathnameContext)}function q(){let a=(0,f.useContext)(g.AppRouterContext);if(null===a)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return a}function r(){return m?.("useParams()"),(0,f.useContext)(h.PathParamsContext)}function s(a="children"){m?.("useSelectedLayoutSegments()");let b=(0,f.useContext)(g.LayoutRouterContext);return b?(0,i.getSelectedLayoutSegmentPath)(b.parentTree,a):null}function t(a="children"){m?.("useSelectedLayoutSegment()"),(0,f.useContext)(h.NavigationPromisesContext);let b=s(a);return(0,i.computeSelectedLayoutSegment)(b,a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},69845,(a,b,c)=>{b.exports=a.r(24167)},67837,87148,a=>{"use strict";let b=(0,a.i(25700).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);a.s(["default",()=>b],87148),a.s(["Plus",()=>b],67837)},47938,59503,a=>{"use strict";var b=a.i(10973),c=a.i(56109),d=a.i(55003);function e({icon:a,label:e,href:f,active:g=!1}){return(0,b.jsx)(d.SidebarMenuItem,{"data-testid":"sidebar-nav-item",children:(0,b.jsx)(d.SidebarMenuButton,{asChild:!0,isActive:g,tooltip:e,children:(0,b.jsxs)(c.default,{href:f,children:[(0,b.jsx)(a,{}),(0,b.jsx)("span",{children:e})]})})})}a.s(["SidebarNavItem",()=>e],59503),a.s([],47938)},69345,46969,a=>{"use strict";var b=a.i(10973),c=a.i(81589),c=c,d=a.i(55003),e=a.i(18948),f=a.i(85536);function g({className:a}){let{toggleSidebar:g,open:h}=(0,d.useSidebar)();return(0,b.jsx)("div",{className:(0,f.cn)("flex",a),children:(0,b.jsx)(e.Button,{"data-testid":"sidebar-collapse-toggle",variant:"ghost",size:"icon",className:"size-7 cursor-pointer group-data-[collapsible=icon]:size-8!",onClick:g,"aria-label":h?"Collapse sidebar":"Expand sidebar",children:(0,b.jsx)(c.default,{className:"size-4"})})})}a.s(["SidebarCollapseToggle",()=>g],46969),a.s([],69345)},48822,16911,a=>{"use strict";var b=a.i(10973),c=a.i(85536);function d({className:a,size:d=24}){return(0,b.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 194 200",width:d,height:d,className:(0,c.cn)("shrink-0",a),"aria-hidden":"true",children:(0,b.jsx)("g",{transform:"matrix(1, 0, 0, 1, -111, -208)",children:(0,b.jsx)("path",{d:"M 198 406 C196,405 194,403 193,401 C192,399 191,398 186,398 C178,397 174,394 170,387 L 168 381 L 163 381 C156,381 150,377 147,370 C144,364 143,359 146,353 C148,348 148,347 147,347 C145,347 140,343 138,339 C133,329 139,314 149,311 L 152 311 L 149 307 C145,302 145,294 149,290 C151,288 152,287 151,286 C150,283 152,278 155,276 C156,275 159,274 162,273 C165,273 166,273 168,276 C171,278 171,280 172,287 C173,294 174,297 177,304 C180,309 182,314 183,316 C186,327 193,336 199,339 C204,342 211,342 216,340 C222,336 231,324 234,314 C235,312 237,307 239,302 C240,298 242,292 242,289 C243,281 245,278 247,275 C250,273 251,273 255,273 C261,274 264,278 264,282 C264,284 264,286 263,287 C262,287 263,288 265,290 C272,295 272,303 267,309 L 265 312 L 269 314 C276,317 279,323 279,332 C279,339 277,343 272,347 C268,351 268,351 269,354 C272,358 271,366 269,371 C266,376 259,381 254,381 C252,381 251,382 248,386 C242,395 234,400 227,399 C224,398 223,398 221,401 C220,403 217,405 216,406 C211,409 203,409 198,406 ZM 136 271 C123,267 115,262 113,256 C111,251 111,251 113,251 C118,254 124,254 132,252 C136,252 141,251 144,251 C149,251 157,253 162,256 C166,258 166,258 166,264 L 166 269 L 160 270 C149,272 142,272 136,271 ZM 264 271 C263,271 259,270 256,270 L 250 270 L 250 265 C249,259 250,257 259,254 C265,251 272,251 289,252 C297,253 299,253 302,252 C305,250 305,250 305,252 C305,255 301,262 297,264 C289,270 272,273 264,271 ZM 162 249 C160,247 159,245 159,242 C159,236 164,230 169,230 C170,230 171,228 171,225 C171,216 176,210 184,209 C189,209 195,211 195,213 C195,214 196,213 197,212 C201,209 204,208 208,208 C212,208 217,210 219,212 C220,214 220,213 223,211 C226,208 234,208 239,211 C243,214 246,221 246,226 C245,230 245,230 247,230 C253,230 258,238 257,244 C256,249 251,252 245,252 C241,252 237,251 234,248 C232,247 232,247 228,249 C225,251 222,252 220,252 C216,252 212,250 210,247 C209,246 209,246 206,248 C201,252 192,253 185,248 C183,247 183,247 178,249 C172,253 166,253 162,249 ZM 116 249 C112,248 114,247 119,247 C122,247 127,246 130,245 C138,242 146,242 152,245 L 158 248 L 148 247 C142,247 138,247 133,248 C128,250 120,250 116,249 ZM 284 248 C281,247 277,247 270,247 L 260 248 L 263 246 C269,243 276,242 284,245 C289,246 295,247 298,247 C303,247 304,247 303,248 C301,250 289,250 284,248 Z",fill:"currentColor"})})})}a.s(["ShepLogo",()=>d],16911),a.s([],48822)},49329,3486,a=>{"use strict";var b=a.i(10973),c=a.i(96960);function d({startedAt:a}){let[d,e]=(0,c.useState)(()=>Date.now()-a);return(0,c.useEffect)(()=>{let b=setInterval(()=>{(0,c.startTransition)(()=>e(Date.now()-a))},1e3);return()=>clearInterval(b)},[a]),(0,b.jsx)("span",{"data-testid":"elapsed-time",className:"tabular-nums",children:function(a){let b=Math.floor(a/1e3);if(b>=3600){let a=Math.floor(b/3600);return`${a}h`}let c=Math.floor(b/60);return`${String(c).padStart(2,"0")}:${String(b%60).padStart(2,"0")}`}(d)})}a.s(["ElapsedTime",()=>d],3486),a.s([],49329)},82697,a=>{"use strict";let b=(0,a.i(25700).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);a.s(["CircleAlert",()=>b],82697)},88064,a=>{"use strict";let b=(0,a.i(25700).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);a.s(["Loader2",()=>b],88064)},67273,a=>{"use strict";let b=(0,a.i(25700).default)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);a.s(["CircleCheck",()=>b],67273)},4388,49474,27756,85637,77466,a=>{"use strict";var b=a.i(10973),c=a.i(55003);a.i(49329);var d=a.i(3486),e=a.i(82697),f=a.i(88064),g=a.i(67273);let h={"action-needed":{icon:e.CircleAlert,iconClass:"text-amber-500",bgClass:"bg-amber-500/10",label:"Action Needed"},"in-progress":{icon:f.Loader2,iconClass:"text-blue-500 animate-spin",bgClass:"bg-blue-500/10",label:"In Progress"},done:{icon:g.CircleCheck,iconClass:"text-emerald-500",bgClass:"bg-emerald-500/10",label:"Done"}};function i({name:a,status:e,startedAt:f,duration:g,onClick:i}){let{icon:j,iconClass:k}=h[e];return(0,b.jsx)(c.SidebarMenuItem,{"data-testid":"feature-list-item",children:(0,b.jsxs)(c.SidebarMenuButton,{size:"sm",onClick:i,tooltip:a,className:"cursor-pointer",children:[(0,b.jsx)(j,{className:k}),(0,b.jsx)("span",{className:"flex-1 truncate font-medium",children:a}),"in-progress"===e&&null!=f?(0,b.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:(0,b.jsx)(d.ElapsedTime,{startedAt:f})}):null,"done"===e&&g?(0,b.jsx)("span",{"data-testid":"feature-list-item-meta",className:"text-muted-foreground ml-auto text-xs tabular-nums",children:g}):null]})})}function j({label:a,count:d,children:e}){return(0,b.jsxs)(c.SidebarGroup,{"data-testid":"feature-status-group",className:"px-2 py-1",children:[(0,b.jsxs)(c.SidebarGroupLabel,{className:"text-muted-foreground h-6 px-2 text-[0.65rem] font-semibold tracking-wider uppercase",children:[a,(0,b.jsx)("span",{"aria-label":`${d} items`,className:"bg-sidebar-accent text-sidebar-accent-foreground ml-1.5 inline-flex h-4 min-w-4 items-center justify-center rounded-full px-1 text-[0.6rem] font-medium tabular-nums",role:"img",children:d})]}),(0,b.jsx)(c.SidebarGroupContent,{children:(0,b.jsx)(c.SidebarMenu,{className:"gap-0.5",children:e})})]})}a.s(["featureStatusConfig",0,h,"featureStatusOrder",0,["action-needed","in-progress","done"]],49474),a.s(["FeatureListItem",()=>i],27756),a.s([],4388),a.s(["FeatureStatusGroup",()=>j],85637),a.s([],77466)},34338,54860,22550,20786,a=>{"use strict";var b=a.i(10973),c=a.i(25700);let d=(0,c.default)("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]),e=(0,c.default)("grip-horizontal",[["circle",{cx:"12",cy:"9",r:"1",key:"124mty"}],["circle",{cx:"19",cy:"9",r:"1",key:"1ruzo2"}],["circle",{cx:"5",cy:"9",r:"1",key:"1a8b28"}],["circle",{cx:"12",cy:"15",r:"1",key:"1e56xg"}],["circle",{cx:"19",cy:"15",r:"1",key:"1a92ep"}],["circle",{cx:"5",cy:"15",r:"1",key:"5r1jwy"}]]);var f=a.i(55003),g=a.i(82934),h=a.i(85536);function i({label:a,onFolderClick:c,onMenuClick:i,className:j}){let{state:k,isMobile:l}=(0,f.useSidebar)();return(0,b.jsx)(f.SidebarGroup,{"data-testid":"sidebar-section-header",className:(0,h.cn)("px-2 py-1",j),children:(0,b.jsxs)("div",{className:"text-sidebar-foreground flex h-7 w-full shrink-0 items-center px-2 text-sm font-medium",children:[(0,b.jsx)("span",{className:"min-w-0 flex-1 truncate",children:a}),(0,b.jsxs)("span",{className:"text-sidebar-foreground/70 flex shrink-0 items-center gap-0.5",children:[(0,b.jsxs)(g.Tooltip,{children:[(0,b.jsx)(g.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:c,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Open features folder",children:(0,b.jsx)(d,{className:"size-4"})})}),(0,b.jsx)(g.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==k||l,children:"Open features folder"})]}),(0,b.jsxs)(g.Tooltip,{children:[(0,b.jsx)(g.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("button",{type:"button",onClick:i,className:"ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground flex size-7 items-center justify-center rounded-md p-0 outline-hidden transition-colors focus-visible:ring-2 [&>svg]:size-4","aria-label":"Features options",children:(0,b.jsx)(e,{className:"size-4"})})}),(0,b.jsx)(g.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==k||l,children:"Features options"})]})]})]})})}a.s(["SidebarSectionHeader",()=>i],54860),a.s([],34338);let j=(0,c.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),k=(0,c.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);var l=a.i(18948),m=a.i(96960);let n="shep-theme";function o(){let{theme:a,resolvedTheme:c,setTheme:d}=function(){let[a,b]=(0,m.useState)("system"),[c,d]=(0,m.useState)("light"),e=(0,m.useCallback)(()=>"light",[]),f=(0,m.useCallback)(a=>"system"===a?e():a,[e]),g=(0,m.useCallback)(a=>{if("u"<typeof document)return;let b=document.documentElement;b.classList.remove("light","dark"),b.classList.add(a),d(a)},[]),h=(0,m.useCallback)(a=>{b(a),"u">typeof localStorage&&localStorage.setItem(n,a),g(f(a))},[f,g]);return(0,m.useEffect)(()=>{let a=localStorage.getItem(n)??"system";b(a),g(f(a))},[f,g]),(0,m.useEffect)(()=>{},[a,f,g]),{theme:a,resolvedTheme:c,setTheme:h}}();return(0,b.jsxs)(l.Button,{variant:"ghost",size:"icon",onClick:()=>{"system"===a?d("dark"===c?"light":"dark"):d("dark"===a?"light":"dark")},"aria-label":`Switch to ${"dark"===c?"light":"dark"} mode`,children:[(0,b.jsx)(k,{className:"h-5 w-5 scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"}),(0,b.jsx)(j,{className:"absolute h-5 w-5 scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"}),(0,b.jsx)("span",{className:"sr-only",children:"Toggle theme"})]})}a.s(["ThemeToggle",()=>o],22550),a.s([],20786)},84871,a=>{"use strict";var b=a.i(10973),c=a.i(96960);let d=(0,c.createContext)(null);function e({children:a,runId:e}){let f=function(a){let[b,d]=(0,c.useState)([]),[e,f]=(0,c.useState)(null),[g,h]=(0,c.useState)("disconnected");(0,c.useRef)(1e3);let i=(0,c.useRef)(null),j=(0,c.useRef)(null),k=(0,c.useRef)(null),l=a?.runId,m=(0,c.useCallback)(()=>{},[l]);return(0,c.useEffect)(()=>(m(),()=>{null!==i.current&&(clearTimeout(i.current),i.current=null),null!==j.current&&(clearTimeout(j.current),j.current=null),k.current&&(k.current.close(),k.current=null)}),[m]),{events:b,lastEvent:e,connectionStatus:g}}({runId:e});return(0,b.jsx)(d.Provider,{value:f,children:a})}function f(){let a=(0,c.useContext)(d);if(!a)throw Error("useAgentEventsContext must be used within an <AgentEventsProvider>");return a}a.s(["AgentEventsProvider",()=>e,"useAgentEventsContext",()=>f],84871)},52313,a=>{"use strict";var b=a.i(96960),c=a.i(55690);let d=Array(12).fill(0),e=({visible:a,className:c})=>b.default.createElement("div",{className:["sonner-loading-wrapper",c].filter(Boolean).join(" "),"data-visible":a},b.default.createElement("div",{className:"sonner-spinner"},d.map((a,c)=>b.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${c}`})))),f=b.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},b.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),g=b.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},b.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),h=b.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},b.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),i=b.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},b.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),j=b.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},b.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),b.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),k=1,l=new class{constructor(){this.subscribe=a=>(this.subscribers.push(a),()=>{let b=this.subscribers.indexOf(a);this.subscribers.splice(b,1)}),this.publish=a=>{this.subscribers.forEach(b=>b(a))},this.addToast=a=>{this.publish(a),this.toasts=[...this.toasts,a]},this.create=a=>{var b;let{message:c,...d}=a,e="number"==typeof(null==a?void 0:a.id)||(null==(b=a.id)?void 0:b.length)>0?a.id:k++,f=this.toasts.find(a=>a.id===e),g=void 0===a.dismissible||a.dismissible;return this.dismissedToasts.has(e)&&this.dismissedToasts.delete(e),f?this.toasts=this.toasts.map(b=>b.id===e?(this.publish({...b,...a,id:e,title:c}),{...b,...a,id:e,dismissible:g,title:c}):b):this.addToast({title:c,...d,dismissible:g,id:e}),e},this.dismiss=a=>(a?(this.dismissedToasts.add(a),requestAnimationFrame(()=>this.subscribers.forEach(b=>b({id:a,dismiss:!0})))):this.toasts.forEach(a=>{this.subscribers.forEach(b=>b({id:a.id,dismiss:!0}))}),a),this.message=(a,b)=>this.create({...b,message:a}),this.error=(a,b)=>this.create({...b,message:a,type:"error"}),this.success=(a,b)=>this.create({...b,type:"success",message:a}),this.info=(a,b)=>this.create({...b,type:"info",message:a}),this.warning=(a,b)=>this.create({...b,type:"warning",message:a}),this.loading=(a,b)=>this.create({...b,type:"loading",message:a}),this.promise=(a,c)=>{let d,e;if(!c)return;void 0!==c.loading&&(e=this.create({...c,promise:a,type:"loading",message:c.loading,description:"function"!=typeof c.description?c.description:void 0}));let f=Promise.resolve(a instanceof Function?a():a),g=void 0!==e,h=f.then(async a=>{if(d=["resolve",a],b.default.isValidElement(a))g=!1,this.create({id:e,type:"default",message:a});else if(m(a)&&!a.ok){g=!1;let d="function"==typeof c.error?await c.error(`HTTP error! status: ${a.status}`):c.error,f="function"==typeof c.description?await c.description(`HTTP error! status: ${a.status}`):c.description,h="object"!=typeof d||b.default.isValidElement(d)?{message:d}:d;this.create({id:e,type:"error",description:f,...h})}else if(a instanceof Error){g=!1;let d="function"==typeof c.error?await c.error(a):c.error,f="function"==typeof c.description?await c.description(a):c.description,h="object"!=typeof d||b.default.isValidElement(d)?{message:d}:d;this.create({id:e,type:"error",description:f,...h})}else if(void 0!==c.success){g=!1;let d="function"==typeof c.success?await c.success(a):c.success,f="function"==typeof c.description?await c.description(a):c.description,h="object"!=typeof d||b.default.isValidElement(d)?{message:d}:d;this.create({id:e,type:"success",description:f,...h})}}).catch(async a=>{if(d=["reject",a],void 0!==c.error){g=!1;let d="function"==typeof c.error?await c.error(a):c.error,f="function"==typeof c.description?await c.description(a):c.description,h="object"!=typeof d||b.default.isValidElement(d)?{message:d}:d;this.create({id:e,type:"error",description:f,...h})}}).finally(()=>{g&&(this.dismiss(e),e=void 0),null==c.finally||c.finally.call(c)}),i=()=>new Promise((a,b)=>h.then(()=>"reject"===d[0]?b(d[1]):a(d[1])).catch(b));return"string"!=typeof e&&"number"!=typeof e?{unwrap:i}:Object.assign(e,{unwrap:i})},this.custom=(a,b)=>{let c=(null==b?void 0:b.id)||k++;return this.create({jsx:a(c),id:c,...b}),c},this.getActiveToasts=()=>this.toasts.filter(a=>!this.dismissedToasts.has(a.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},m=a=>a&&"object"==typeof a&&"ok"in a&&"boolean"==typeof a.ok&&"status"in a&&"number"==typeof a.status,n=Object.assign((a,b)=>{let c=(null==b?void 0:b.id)||k++;return l.addToast({title:a,...b,id:c}),c},{success:l.success,info:l.info,warning:l.warning,error:l.error,custom:l.custom,message:l.message,promise:l.promise,dismiss:l.dismiss,loading:l.loading},{getHistory:()=>l.toasts,getToasts:()=>l.getActiveToasts()});function o(a){return void 0!==a.label}function p(...a){return a.filter(Boolean).join(" ")}!function(a){if(!a||"u"<typeof document)return;let b=document.head||document.getElementsByTagName("head")[0],c=document.createElement("style");c.type="text/css",b.appendChild(c),c.styleSheet?c.styleSheet.cssText=a:c.appendChild(document.createTextNode(a))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let q=a=>{var c,d,k,l,m,n,q,r,s,t,u,v,w;let{invert:x,toast:y,unstyled:z,interacting:A,setHeights:B,visibleToasts:C,heights:D,index:E,toasts:F,expanded:G,removeToast:H,defaultRichColors:I,closeButton:J,style:K,cancelButtonStyle:L,actionButtonStyle:M,className:N="",descriptionClassName:O="",duration:P,position:Q,gap:R,expandByDefault:S,classNames:T,icons:U,closeButtonAriaLabel:V="Close toast"}=a,[W,X]=b.default.useState(null),[Y,Z]=b.default.useState(null),[$,_]=b.default.useState(!1),[aa,ab]=b.default.useState(!1),[ac,ad]=b.default.useState(!1),[ae,af]=b.default.useState(!1),[ag,ah]=b.default.useState(!1),[ai,aj]=b.default.useState(0),[ak,al]=b.default.useState(0),am=b.default.useRef(y.duration||P||4e3),an=b.default.useRef(null),ao=b.default.useRef(null),ap=0===E,aq=E+1<=C,ar=y.type,as=!1!==y.dismissible,at=y.className||"",au=y.descriptionClassName||"",av=b.default.useMemo(()=>D.findIndex(a=>a.toastId===y.id)||0,[D,y.id]),aw=b.default.useMemo(()=>{var a;return null!=(a=y.closeButton)?a:J},[y.closeButton,J]),ax=b.default.useMemo(()=>y.duration||P||4e3,[y.duration,P]),ay=b.default.useRef(0),az=b.default.useRef(0),aA=b.default.useRef(0),aB=b.default.useRef(null),[aC,aD]=Q.split("-"),aE=b.default.useMemo(()=>D.reduce((a,b,c)=>c>=av?a:a+b.height,0),[D,av]),aF=(()=>{let[a,c]=b.default.useState(document.hidden);return b.default.useEffect(()=>{let a=()=>{c(document.hidden)};return document.addEventListener("visibilitychange",a),()=>window.removeEventListener("visibilitychange",a)},[]),a})(),aG=y.invert||x,aH="loading"===ar;az.current=b.default.useMemo(()=>av*R+aE,[av,aE]),b.default.useEffect(()=>{am.current=ax},[ax]),b.default.useEffect(()=>{_(!0)},[]),b.default.useEffect(()=>{let a=ao.current;if(a){let b=a.getBoundingClientRect().height;return al(b),B(a=>[{toastId:y.id,height:b,position:y.position},...a]),()=>B(a=>a.filter(a=>a.toastId!==y.id))}},[B,y.id]),b.default.useLayoutEffect(()=>{if(!$)return;let a=ao.current,b=a.style.height;a.style.height="auto";let c=a.getBoundingClientRect().height;a.style.height=b,al(c),B(a=>a.find(a=>a.toastId===y.id)?a.map(a=>a.toastId===y.id?{...a,height:c}:a):[{toastId:y.id,height:c,position:y.position},...a])},[$,y.title,y.description,B,y.id,y.jsx,y.action,y.cancel]);let aI=b.default.useCallback(()=>{ab(!0),aj(az.current),B(a=>a.filter(a=>a.toastId!==y.id)),setTimeout(()=>{H(y)},200)},[y,H,B,az]);b.default.useEffect(()=>{let a;if((!y.promise||"loading"!==ar)&&y.duration!==1/0&&"loading"!==y.type){if(G||A||aF){if(aA.current<ay.current){let a=new Date().getTime()-ay.current;am.current=am.current-a}aA.current=new Date().getTime()}else am.current!==1/0&&(ay.current=new Date().getTime(),a=setTimeout(()=>{null==y.onAutoClose||y.onAutoClose.call(y,y),aI()},am.current));return()=>clearTimeout(a)}},[G,A,y,ar,aF,aI]),b.default.useEffect(()=>{y.delete&&(aI(),null==y.onDismiss||y.onDismiss.call(y,y))},[aI,y.delete]);let aJ=y.icon||(null==U?void 0:U[ar])||(a=>{switch(a){case"success":return f;case"info":return h;case"warning":return g;case"error":return i;default:return null}})(ar);return b.default.createElement("li",{tabIndex:0,ref:ao,className:p(N,at,null==T?void 0:T.toast,null==y||null==(c=y.classNames)?void 0:c.toast,null==T?void 0:T.default,null==T?void 0:T[ar],null==y||null==(d=y.classNames)?void 0:d[ar]),"data-sonner-toast":"","data-rich-colors":null!=(t=y.richColors)?t:I,"data-styled":!(y.jsx||y.unstyled||z),"data-mounted":$,"data-promise":!!y.promise,"data-swiped":ag,"data-removed":aa,"data-visible":aq,"data-y-position":aC,"data-x-position":aD,"data-index":E,"data-front":ap,"data-swiping":ac,"data-dismissible":as,"data-type":ar,"data-invert":aG,"data-swipe-out":ae,"data-swipe-direction":Y,"data-expanded":!!(G||S&&$),"data-testid":y.testId,style:{"--index":E,"--toasts-before":E,"--z-index":F.length-E,"--offset":`${aa?ai:az.current}px`,"--initial-height":S?"auto":`${ak}px`,...K,...y.style},onDragEnd:()=>{ad(!1),X(null),aB.current=null},onPointerDown:a=>{2===a.button||aH||!as||(an.current=new Date,aj(az.current),a.target.setPointerCapture(a.pointerId),"BUTTON"!==a.target.tagName&&(ad(!0),aB.current={x:a.clientX,y:a.clientY}))},onPointerUp:()=>{var a,b,c,d,e;if(ae||!as)return;aB.current=null;let f=Number((null==(a=ao.current)?void 0:a.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),g=Number((null==(b=ao.current)?void 0:b.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),h=new Date().getTime()-(null==(c=an.current)?void 0:c.getTime()),i="x"===W?f:g,j=Math.abs(i)/h;if(Math.abs(i)>=45||j>.11){aj(az.current),null==y.onDismiss||y.onDismiss.call(y,y),"x"===W?Z(f>0?"right":"left"):Z(g>0?"down":"up"),aI(),af(!0);return}null==(d=ao.current)||d.style.setProperty("--swipe-amount-x","0px"),null==(e=ao.current)||e.style.setProperty("--swipe-amount-y","0px"),ah(!1),ad(!1),X(null)},onPointerMove:b=>{var c,d,e,f;if(!aB.current||!as||(null==(c=window.getSelection())?void 0:c.toString().length)>0)return;let g=b.clientY-aB.current.y,h=b.clientX-aB.current.x,i=null!=(f=a.swipeDirections)?f:function(a){let[b,c]=a.split("-"),d=[];return b&&d.push(b),c&&d.push(c),d}(Q);!W&&(Math.abs(h)>1||Math.abs(g)>1)&&X(Math.abs(h)>Math.abs(g)?"x":"y");let j={x:0,y:0},k=a=>1/(1.5+Math.abs(a)/20);if("y"===W){if(i.includes("top")||i.includes("bottom"))if(i.includes("top")&&g<0||i.includes("bottom")&&g>0)j.y=g;else{let a=g*k(g);j.y=Math.abs(a)<Math.abs(g)?a:g}}else if("x"===W&&(i.includes("left")||i.includes("right")))if(i.includes("left")&&h<0||i.includes("right")&&h>0)j.x=h;else{let a=h*k(h);j.x=Math.abs(a)<Math.abs(h)?a:h}(Math.abs(j.x)>0||Math.abs(j.y)>0)&&ah(!0),null==(d=ao.current)||d.style.setProperty("--swipe-amount-x",`${j.x}px`),null==(e=ao.current)||e.style.setProperty("--swipe-amount-y",`${j.y}px`)}},aw&&!y.jsx&&"loading"!==ar?b.default.createElement("button",{"aria-label":V,"data-disabled":aH,"data-close-button":!0,onClick:aH||!as?()=>{}:()=>{aI(),null==y.onDismiss||y.onDismiss.call(y,y)},className:p(null==T?void 0:T.closeButton,null==y||null==(k=y.classNames)?void 0:k.closeButton)},null!=(u=null==U?void 0:U.close)?u:j):null,(ar||y.icon||y.promise)&&null!==y.icon&&((null==U?void 0:U[ar])!==null||y.icon)?b.default.createElement("div",{"data-icon":"",className:p(null==T?void 0:T.icon,null==y||null==(l=y.classNames)?void 0:l.icon)},y.promise||"loading"===y.type&&!y.icon?y.icon||((null==U?void 0:U.loading)?b.default.createElement("div",{className:p(null==T?void 0:T.loader,null==y||null==(w=y.classNames)?void 0:w.loader,"sonner-loader"),"data-visible":"loading"===ar},U.loading):b.default.createElement(e,{className:p(null==T?void 0:T.loader,null==y||null==(v=y.classNames)?void 0:v.loader),visible:"loading"===ar})):null,"loading"!==y.type?aJ:null):null,b.default.createElement("div",{"data-content":"",className:p(null==T?void 0:T.content,null==y||null==(m=y.classNames)?void 0:m.content)},b.default.createElement("div",{"data-title":"",className:p(null==T?void 0:T.title,null==y||null==(n=y.classNames)?void 0:n.title)},y.jsx?y.jsx:"function"==typeof y.title?y.title():y.title),y.description?b.default.createElement("div",{"data-description":"",className:p(O,au,null==T?void 0:T.description,null==y||null==(q=y.classNames)?void 0:q.description)},"function"==typeof y.description?y.description():y.description):null),b.default.isValidElement(y.cancel)?y.cancel:y.cancel&&o(y.cancel)?b.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:y.cancelButtonStyle||L,onClick:a=>{!o(y.cancel)||as&&(null==y.cancel.onClick||y.cancel.onClick.call(y.cancel,a),aI())},className:p(null==T?void 0:T.cancelButton,null==y||null==(r=y.classNames)?void 0:r.cancelButton)},y.cancel.label):null,b.default.isValidElement(y.action)?y.action:y.action&&o(y.action)?b.default.createElement("button",{"data-button":!0,"data-action":!0,style:y.actionButtonStyle||M,onClick:a=>{!o(y.action)||(null==y.action.onClick||y.action.onClick.call(y.action,a),a.defaultPrevented||aI())},className:p(null==T?void 0:T.actionButton,null==y||null==(s=y.classNames)?void 0:s.actionButton)},y.action.label):null)},r=b.default.forwardRef(function(a,d){let{id:e,invert:f,position:g="bottom-right",hotkey:h=["altKey","KeyT"],expand:i,closeButton:j,className:k,offset:m,mobileOffset:n,theme:o="light",richColors:p,duration:r,style:s,visibleToasts:t=3,toastOptions:u,dir:v="ltr",gap:w=14,icons:x,containerAriaLabel:y="Notifications"}=a,[z,A]=b.default.useState([]),B=b.default.useMemo(()=>e?z.filter(a=>a.toasterId===e):z.filter(a=>!a.toasterId),[z,e]),C=b.default.useMemo(()=>Array.from(new Set([g].concat(B.filter(a=>a.position).map(a=>a.position)))),[B,g]),[D,E]=b.default.useState([]),[F,G]=b.default.useState(!1),[H,I]=b.default.useState(!1),[J,K]=b.default.useState("system"!==o?o:"light"),L=b.default.useRef(null),M=h.join("+").replace(/Key/g,"").replace(/Digit/g,""),N=b.default.useRef(null),O=b.default.useRef(!1),P=b.default.useCallback(a=>{A(b=>{var c;return(null==(c=b.find(b=>b.id===a.id))?void 0:c.delete)||l.dismiss(a.id),b.filter(({id:b})=>b!==a.id)})},[]);return b.default.useEffect(()=>l.subscribe(a=>{a.dismiss?requestAnimationFrame(()=>{A(b=>b.map(b=>b.id===a.id?{...b,delete:!0}:b))}):setTimeout(()=>{c.default.flushSync(()=>{A(b=>{let c=b.findIndex(b=>b.id===a.id);return -1!==c?[...b.slice(0,c),{...b[c],...a},...b.slice(c+1)]:[a,...b]})})})}),[z]),b.default.useEffect(()=>{"system"!==o?K(o):"system"===o&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?K("dark"):K("light"))},[o]),b.default.useEffect(()=>{z.length<=1&&G(!1)},[z]),b.default.useEffect(()=>{let a=a=>{var b,c;h.every(b=>a[b]||a.code===b)&&(G(!0),null==(c=L.current)||c.focus()),"Escape"===a.code&&(document.activeElement===L.current||(null==(b=L.current)?void 0:b.contains(document.activeElement)))&&G(!1)};return document.addEventListener("keydown",a),()=>document.removeEventListener("keydown",a)},[h]),b.default.useEffect(()=>{if(L.current)return()=>{N.current&&(N.current.focus({preventScroll:!0}),N.current=null,O.current=!1)}},[L.current]),b.default.createElement("section",{ref:d,"aria-label":`${y} ${M}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},C.map((c,d)=>{var e;let g,[h,l]=c.split("-");return B.length?b.default.createElement("ol",{key:c,dir:"auto"===v?"ltr":v,tabIndex:-1,ref:L,className:k,"data-sonner-toaster":!0,"data-sonner-theme":J,"data-y-position":h,"data-x-position":l,style:{"--front-toast-height":`${(null==(e=D[0])?void 0:e.height)||0}px`,"--width":"356px","--gap":`${w}px`,...s,...(g={},[m,n].forEach((a,b)=>{let c=1===b,d=c?"--mobile-offset":"--offset",e=c?"16px":"24px";function f(a){["top","right","bottom","left"].forEach(b=>{g[`${d}-${b}`]="number"==typeof a?`${a}px`:a})}"number"==typeof a||"string"==typeof a?f(a):"object"==typeof a?["top","right","bottom","left"].forEach(b=>{void 0===a[b]?g[`${d}-${b}`]=e:g[`${d}-${b}`]="number"==typeof a[b]?`${a[b]}px`:a[b]}):f(e)}),g)},onBlur:a=>{O.current&&!a.currentTarget.contains(a.relatedTarget)&&(O.current=!1,N.current&&(N.current.focus({preventScroll:!0}),N.current=null))},onFocus:a=>{!(a.target instanceof HTMLElement&&"false"===a.target.dataset.dismissible)&&(O.current||(O.current=!0,N.current=a.relatedTarget))},onMouseEnter:()=>G(!0),onMouseMove:()=>G(!0),onMouseLeave:()=>{H||G(!1)},onDragEnd:()=>G(!1),onPointerDown:a=>{a.target instanceof HTMLElement&&"false"===a.target.dataset.dismissible||I(!0)},onPointerUp:()=>I(!1)},B.filter(a=>!a.position&&0===d||a.position===c).map((d,e)=>{var g,h;return b.default.createElement(q,{key:d.id,icons:x,index:e,toast:d,defaultRichColors:p,duration:null!=(g=null==u?void 0:u.duration)?g:r,className:null==u?void 0:u.className,descriptionClassName:null==u?void 0:u.descriptionClassName,invert:f,visibleToasts:t,closeButton:null!=(h=null==u?void 0:u.closeButton)?h:j,interacting:H,position:c,style:null==u?void 0:u.style,unstyled:null==u?void 0:u.unstyled,classNames:null==u?void 0:u.classNames,cancelButtonStyle:null==u?void 0:u.cancelButtonStyle,actionButtonStyle:null==u?void 0:u.actionButtonStyle,closeButtonAriaLabel:null==u?void 0:u.closeButtonAriaLabel,removeToast:P,toasts:B.filter(a=>a.position==d.position),heights:D.filter(a=>a.position==d.position),setHeights:E,expandByDefault:i,gap:w,expanded:F,swipeDirections:a.swipeDirections})})):null}))});a.s(["Toaster",()=>r,"toast",()=>n])}];
9
+
10
+ //# sourceMappingURL=_3ac3601c._.js.map