@leanspec/ui 0.2.5-dev.20251119025751 → 0.2.5-dev.20251119062438

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 (200) hide show
  1. package/.next/standalone/node_modules/.pnpm/tiktoken@1.0.22/node_modules/tiktoken/tiktoken_bg.wasm +0 -0
  2. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +1 -1
  4. package/.next/standalone/packages/ui/.next/build-manifest.json +4 -5
  5. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -28
  6. package/.next/standalone/packages/ui/.next/routes-manifest.json +8 -6
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error/page/build-manifest.json +2 -3
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  16. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found/page/build-manifest.json +2 -3
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +3 -3
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +16 -16
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  25. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  26. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  27. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  28. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  36. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
  37. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  38. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/app-paths-manifest.json +3 -0
  39. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/build-manifest.json +11 -0
  40. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +7 -0
  41. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -0
  42. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route_client-reference-manifest.js +2 -0
  43. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  47. package/.next/standalone/packages/ui/.next/server/app/page/build-manifest.json +2 -3
  48. package/.next/standalone/packages/ui/.next/server/app/page.js +3 -3
  49. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  50. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  51. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page/build-manifest.json +2 -3
  52. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +3 -3
  53. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  54. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/packages/ui/.next/server/app/specs/page/build-manifest.json +2 -3
  56. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +3 -3
  57. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  59. package/.next/standalone/packages/ui/.next/server/app/stats/page/build-manifest.json +2 -3
  60. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +3 -3
  61. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  62. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  63. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +1 -1
  64. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +3 -0
  65. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__d169fe70._.js → [root-of-the-server]__175bef84._.js} +2 -2
  66. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3971eae5._.js +3 -0
  67. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6bca1621._.js +3 -0
  68. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__87a3475a._.js +3 -0
  69. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9f0f4c0b._.js +3 -0
  70. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c1c9f5f5._.js +3 -0
  71. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__f4ea2112._.js → [root-of-the-server]__c6689757._.js} +2 -2
  72. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__cd1fb0a2._.js +4 -0
  73. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e2071b2e._.js +3 -0
  74. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +3 -0
  75. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  76. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__c65aedd0._.js → [root-of-the-server]__299c81cc._.js} +2 -2
  77. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__3fffdda5._.js → [root-of-the-server]__41f5b5c0._.js} +2 -2
  78. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__eefaabd3._.js → [root-of-the-server]__5ca2e973._.js} +2 -2
  79. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  80. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__9d8d3fd6._.js +3 -0
  81. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__e5891e5a._.js → [root-of-the-server]__cbbbfb5d._.js} +2 -2
  82. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e79a982a._.js +7 -0
  83. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__ff03fc1e._.js +7 -0
  84. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  85. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6cd9a5e0._.js +3 -0
  86. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b483c9fe._.js +3 -0
  87. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b5040d31._.js +5 -0
  88. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +3 -0
  89. package/.next/standalone/packages/ui/.next/server/chunks/ssr/node_modules__pnpm_9710705b._.js +3 -0
  90. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_loading_tsx_9304a706._.js +3 -0
  91. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +3 -0
  92. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +3 -0
  93. package/.next/standalone/packages/ui/.next/server/middleware-build-manifest.js +2 -3
  94. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  95. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  96. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  97. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  98. package/.next/standalone/packages/ui/.next/static/chunks/061e3819fd59154d.js +1 -0
  99. package/.next/standalone/packages/ui/.next/static/chunks/148ab58e68b383da.js +1 -0
  100. package/.next/standalone/packages/ui/.next/static/chunks/5f97d665a4d9dc62.js +3 -0
  101. package/.next/standalone/packages/ui/.next/static/chunks/9b54fc05b02c39e6.css +1 -0
  102. package/.next/standalone/packages/ui/.next/static/chunks/9b7b7024c39c5f99.js +1 -0
  103. package/.next/standalone/packages/ui/.next/static/chunks/{f2151fb88f8fc70a.js → ae50cdf3322e1d02.js} +1 -1
  104. package/.next/standalone/packages/ui/.next/static/chunks/c0fe4c94c7282ac0.js +4 -0
  105. package/.next/standalone/packages/ui/.next/static/chunks/d79bf953f0dfb650.js +1 -0
  106. package/.next/standalone/packages/ui/.next/static/chunks/e50fb8d0b728cd35.js +5 -0
  107. package/.next/standalone/packages/ui/.next/static/chunks/e6e238dbf1d3e740.js +1 -0
  108. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-9cc79aa1b34ffcbe.js +3 -0
  109. package/.next/standalone/packages/ui/package.json +1 -1
  110. package/.next/standalone/packages/ui/src/app/api/specs/[id]/status/route.ts +122 -0
  111. package/.next/standalone/packages/ui/src/app/globals.css +10 -0
  112. package/.next/standalone/packages/ui/src/app/specs/page.tsx +2 -2
  113. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +352 -113
  114. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +23 -0
  115. package/.next/standalone/packages/ui/src/lib/specs/sources/filesystem-source.ts +46 -6
  116. package/.next/standalone/packages/ui/tsconfig.json +2 -1
  117. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  118. package/.next/standalone/packages/ui/vitest.config.ts +1 -0
  119. package/.next/static/chunks/061e3819fd59154d.js +1 -0
  120. package/.next/static/chunks/148ab58e68b383da.js +1 -0
  121. package/.next/static/chunks/5f97d665a4d9dc62.js +3 -0
  122. package/.next/static/chunks/9b54fc05b02c39e6.css +1 -0
  123. package/.next/static/chunks/9b7b7024c39c5f99.js +1 -0
  124. package/.next/static/chunks/{f2151fb88f8fc70a.js → ae50cdf3322e1d02.js} +1 -1
  125. package/.next/static/chunks/c0fe4c94c7282ac0.js +4 -0
  126. package/.next/static/chunks/d79bf953f0dfb650.js +1 -0
  127. package/.next/static/chunks/e50fb8d0b728cd35.js +5 -0
  128. package/.next/static/chunks/e6e238dbf1d3e740.js +1 -0
  129. package/.next/static/chunks/turbopack-9cc79aa1b34ffcbe.js +3 -0
  130. package/package.json +1 -1
  131. package/.next/standalone/packages/ui/.next/server/app/board/page/app-paths-manifest.json +0 -3
  132. package/.next/standalone/packages/ui/.next/server/app/board/page/build-manifest.json +0 -18
  133. package/.next/standalone/packages/ui/.next/server/app/board/page/next-font-manifest.json +0 -6
  134. package/.next/standalone/packages/ui/.next/server/app/board/page/react-loadable-manifest.json +0 -1
  135. package/.next/standalone/packages/ui/.next/server/app/board/page.js +0 -20
  136. package/.next/standalone/packages/ui/.next/server/app/board/page.js.nft.json +0 -1
  137. package/.next/standalone/packages/ui/.next/server/app/board/page_client-reference-manifest.js +0 -2
  138. package/.next/standalone/packages/ui/.next/server/app/board.html +0 -1
  139. package/.next/standalone/packages/ui/.next/server/app/board.meta +0 -14
  140. package/.next/standalone/packages/ui/.next/server/app/board.rsc +0 -41
  141. package/.next/standalone/packages/ui/.next/server/app/board.segments/_full.segment.rsc +0 -41
  142. package/.next/standalone/packages/ui/.next/server/app/board.segments/_index.segment.rsc +0 -26
  143. package/.next/standalone/packages/ui/.next/server/app/board.segments/_tree.segment.rsc +0 -9
  144. package/.next/standalone/packages/ui/.next/server/app/board.segments/board/__PAGE__.segment.rsc +0 -9
  145. package/.next/standalone/packages/ui/.next/server/app/board.segments/board.segment.rsc +0 -8
  146. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__003ee184._.js +0 -3
  147. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__21119265._.js +0 -3
  148. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6ec5cafb._.js +0 -3
  149. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__7acaa6ec._.js +0 -3
  150. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2c55ffb._.js +0 -3
  151. package/.next/standalone/packages/ui/.next/server/chunks/ssr/6e9bd_next_dist_7af75658._.js +0 -3
  152. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__4b343655._.js +0 -3
  153. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__68015eee._.js +0 -3
  154. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b161f033._.js +0 -7
  155. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b50fa24c._.js +0 -7
  156. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_4f2c4868._.js +0 -4
  157. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_64a39e38._.js +0 -3
  158. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_a527620e._.js +0 -3
  159. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d7e4bd50._.js +0 -5
  160. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f8b2190a._.js +0 -3
  161. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui__next-internal_server_app_board_page_actions_c5a3cb3c.js +0 -3
  162. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_board_loading_tsx_03dfd70d._.js +0 -3
  163. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_board_page_tsx_9415dc46._.js +0 -3
  164. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_input_tsx_190a7701._.js +0 -3
  165. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_d725c10c._.js +0 -3
  166. package/.next/standalone/packages/ui/.next/static/chunks/107411d1a2f4b31d.js +0 -1
  167. package/.next/standalone/packages/ui/.next/static/chunks/17ac52d909def83e.js +0 -1
  168. package/.next/standalone/packages/ui/.next/static/chunks/212881511f73fc12.js +0 -5
  169. package/.next/standalone/packages/ui/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  170. package/.next/standalone/packages/ui/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  171. package/.next/standalone/packages/ui/.next/static/chunks/5d646f493d4c6928.js +0 -1
  172. package/.next/standalone/packages/ui/.next/static/chunks/88f695d32910a4ac.js +0 -1
  173. package/.next/standalone/packages/ui/.next/static/chunks/c210559fdfe60fef.js +0 -1
  174. package/.next/standalone/packages/ui/.next/static/chunks/df1731c03abf1aee.css +0 -1
  175. package/.next/standalone/packages/ui/.next/static/chunks/e237e00fd3a84178.js +0 -3
  176. package/.next/standalone/packages/ui/.next/static/chunks/ebd89051637b9a47.js +0 -4
  177. package/.next/standalone/packages/ui/.next/static/chunks/turbopack-7450632b40b2e378.js +0 -3
  178. package/.next/standalone/packages/ui/src/app/board/board-client.tsx +0 -162
  179. package/.next/standalone/packages/ui/src/app/board/loading.tsx +0 -43
  180. package/.next/standalone/packages/ui/src/app/board/page.tsx +0 -18
  181. package/.next/static/chunks/107411d1a2f4b31d.js +0 -1
  182. package/.next/static/chunks/17ac52d909def83e.js +0 -1
  183. package/.next/static/chunks/212881511f73fc12.js +0 -5
  184. package/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  185. package/.next/static/chunks/5c2072ad938de8ed.js +0 -1
  186. package/.next/static/chunks/5d646f493d4c6928.js +0 -1
  187. package/.next/static/chunks/88f695d32910a4ac.js +0 -1
  188. package/.next/static/chunks/c210559fdfe60fef.js +0 -1
  189. package/.next/static/chunks/df1731c03abf1aee.css +0 -1
  190. package/.next/static/chunks/e237e00fd3a84178.js +0 -3
  191. package/.next/static/chunks/ebd89051637b9a47.js +0 -4
  192. package/.next/static/chunks/turbopack-7450632b40b2e378.js +0 -3
  193. /package/.next/standalone/packages/ui/.next/server/app/{board/page → api/specs/[id]/status/route}/server-reference-manifest.json +0 -0
  194. /package/.next/standalone/packages/ui/.next/server/app/{board/page.js.map → api/specs/[id]/status/route.js.map} +0 -0
  195. /package/.next/standalone/packages/ui/.next/static/{Wuxh-xmlQh_NqvIbobfYH → 18365Lfcsz3xqXCT_JLBo}/_buildManifest.js +0 -0
  196. /package/.next/standalone/packages/ui/.next/static/{Wuxh-xmlQh_NqvIbobfYH → 18365Lfcsz3xqXCT_JLBo}/_clientMiddlewareManifest.json +0 -0
  197. /package/.next/standalone/packages/ui/.next/static/{Wuxh-xmlQh_NqvIbobfYH → 18365Lfcsz3xqXCT_JLBo}/_ssgManifest.js +0 -0
  198. /package/.next/static/{Wuxh-xmlQh_NqvIbobfYH → 18365Lfcsz3xqXCT_JLBo}/_buildManifest.js +0 -0
  199. /package/.next/static/{Wuxh-xmlQh_NqvIbobfYH → 18365Lfcsz3xqXCT_JLBo}/_clientMiddlewareManifest.json +0 -0
  200. /package/.next/static/{Wuxh-xmlQh_NqvIbobfYH → 18365Lfcsz3xqXCT_JLBo}/_ssgManifest.js +0 -0
@@ -1,162 +0,0 @@
1
- 'use client';
2
-
3
- import Link from 'next/link';
4
- import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card';
5
- import { Badge } from '@/components/ui/badge';
6
- import { Clock, PlayCircle, CheckCircle2, Archive } from 'lucide-react';
7
- import { PriorityBadge } from '@/components/priority-badge';
8
- import { cn } from '@/lib/utils';
9
-
10
- interface Spec {
11
- id: string;
12
- specNumber: number | null;
13
- specName: string;
14
- title: string | null;
15
- status: string | null;
16
- priority: string | null;
17
- tags: string[] | null;
18
- }
19
-
20
- interface BoardClientProps {
21
- initialSpecs: Spec[];
22
- }
23
-
24
- export function BoardClient({ initialSpecs }: BoardClientProps) {
25
- const statusConfig = {
26
- 'planned': {
27
- icon: Clock,
28
- title: 'Planned',
29
- colorClass: 'text-blue-600 dark:text-blue-400',
30
- bgClass: 'bg-blue-50 dark:bg-blue-900/20',
31
- borderClass: 'border-blue-200 dark:border-blue-800'
32
- },
33
- 'in-progress': {
34
- icon: PlayCircle,
35
- title: 'In Progress',
36
- colorClass: 'text-orange-600 dark:text-orange-400',
37
- bgClass: 'bg-orange-50 dark:bg-orange-900/20',
38
- borderClass: 'border-orange-200 dark:border-orange-800'
39
- },
40
- 'complete': {
41
- icon: CheckCircle2,
42
- title: 'Complete',
43
- colorClass: 'text-green-600 dark:text-green-400',
44
- bgClass: 'bg-green-50 dark:bg-green-900/20',
45
- borderClass: 'border-green-200 dark:border-green-800'
46
- },
47
- 'archived': {
48
- icon: Archive,
49
- title: 'Archived',
50
- colorClass: 'text-gray-600 dark:text-gray-400',
51
- bgClass: 'bg-gray-50 dark:bg-gray-900/20',
52
- borderClass: 'border-gray-200 dark:border-gray-800'
53
- }
54
- };
55
-
56
- const statuses = ['planned', 'in-progress', 'complete', 'archived'] as const;
57
- const columns = statuses.map(status => ({
58
- status,
59
- config: statusConfig[status],
60
- specs: initialSpecs.filter(spec => spec.status === status),
61
- }));
62
-
63
- return (
64
- <div className="min-h-screen bg-background">
65
- <section className="container mx-auto px-4 py-8">
66
- <div className="mb-8">
67
- <h1 className="text-4xl font-bold tracking-tight">Kanban Board</h1>
68
- <p className="text-muted-foreground mt-2">Track spec progress across all statuses</p>
69
- </div>
70
-
71
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
72
- {columns.map(column => {
73
- const Icon = column.config.icon;
74
- return (
75
- <div key={column.status} className="flex flex-col">
76
- <div className={cn(
77
- "sticky top-14 z-40 mb-4 p-3 rounded-lg border-2 bg-background",
78
- column.config.bgClass,
79
- column.config.borderClass
80
- )}>
81
- <h2 className={cn(
82
- "text-lg font-semibold flex items-center gap-2",
83
- column.config.colorClass
84
- )}>
85
- <Icon className="h-5 w-5" />
86
- {column.config.title}
87
- <Badge variant="outline" className="ml-auto">{column.specs.length}</Badge>
88
- </h2>
89
- </div>
90
-
91
- <div className="space-y-3 flex-1">
92
- {column.specs.map(spec => {
93
- // Get priority color for left border
94
- const priorityColors = {
95
- 'critical': 'border-l-red-500',
96
- 'high': 'border-l-orange-500',
97
- 'medium': 'border-l-blue-500',
98
- 'low': 'border-l-gray-400'
99
- };
100
- const borderColor = priorityColors[spec.priority as keyof typeof priorityColors] || priorityColors.medium;
101
-
102
- return (
103
- <Card
104
- key={spec.id}
105
- className={cn(
106
- "hover:shadow-lg transition-all duration-150 hover:scale-[1.02] border-l-4 cursor-pointer border-gray-200 dark:border-gray-800",
107
- borderColor
108
- )}
109
- onClick={() => window.location.href = `/specs/${spec.specNumber || spec.id}`}
110
- >
111
- <CardHeader className="pb-3">
112
- <Link href={`/specs/${spec.specNumber || spec.id}`}>
113
- <CardTitle className="text-sm font-medium hover:text-primary transition-colors">
114
- {spec.specNumber ? `#${spec.specNumber}` : spec.specName}
115
- </CardTitle>
116
- </Link>
117
- </CardHeader>
118
- <CardContent className="space-y-2">
119
- <p className="text-sm text-muted-foreground line-clamp-2">
120
- {spec.title || spec.specName}
121
- </p>
122
-
123
- <div className="flex items-center gap-2 flex-wrap">
124
- {spec.priority && <PriorityBadge priority={spec.priority} />}
125
-
126
- {spec.tags && spec.tags.length > 0 && (
127
- <>
128
- {spec.tags.slice(0, 2).map(tag => (
129
- <Badge key={tag} variant="outline" className="text-xs">
130
- {tag}
131
- </Badge>
132
- ))}
133
- {spec.tags.length > 2 && (
134
- <Badge variant="outline" className="text-xs">
135
- +{spec.tags.length - 2}
136
- </Badge>
137
- )}
138
- </>
139
- )}
140
- </div>
141
- </CardContent>
142
- </Card>
143
- );
144
- })}
145
-
146
- {column.specs.length === 0 && (
147
- <Card className="border-dashed border-gray-300 dark:border-gray-700">
148
- <CardContent className="py-8 text-center">
149
- <Icon className={cn("mx-auto h-8 w-8 mb-2", column.config.colorClass, "opacity-50")} />
150
- <p className="text-sm text-muted-foreground">No {column.config.title.toLowerCase()} specs</p>
151
- </CardContent>
152
- </Card>
153
- )}
154
- </div>
155
- </div>
156
- );
157
- })}
158
- </div>
159
- </section>
160
- </div>
161
- );
162
- }
@@ -1,43 +0,0 @@
1
- import { Card, CardContent, CardHeader } from '@/components/ui/card';
2
- import { Skeleton } from '@/components/ui/skeleton';
3
-
4
- export default function BoardLoading() {
5
- return (
6
- <div className="min-h-screen bg-background">
7
- <section className="container mx-auto px-4 py-8">
8
- <div className="mb-8">
9
- <Skeleton className="h-10 w-48 mb-2" />
10
- <Skeleton className="h-5 w-96" />
11
- </div>
12
-
13
- <div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6">
14
- {[...Array(4)].map((_, colIdx) => (
15
- <div key={colIdx} className="flex flex-col">
16
- <div className="mb-4">
17
- <Skeleton className="h-7 w-32" />
18
- </div>
19
-
20
- <div className="space-y-3 flex-1">
21
- {[...Array(3)].map((_, i) => (
22
- <Card key={i}>
23
- <CardHeader className="pb-3">
24
- <Skeleton className="h-5 w-24" />
25
- </CardHeader>
26
- <CardContent className="space-y-2">
27
- <Skeleton className="h-4 w-full" />
28
- <Skeleton className="h-4 w-3/4" />
29
- <div className="flex gap-2 pt-2">
30
- <Skeleton className="h-5 w-16" />
31
- <Skeleton className="h-5 w-16" />
32
- </div>
33
- </CardContent>
34
- </Card>
35
- ))}
36
- </div>
37
- </div>
38
- ))}
39
- </div>
40
- </section>
41
- </div>
42
- );
43
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Board page - Redirects to unified specs page with board view
3
- */
4
-
5
- 'use client';
6
-
7
- import { useEffect } from 'react';
8
- import { useRouter } from 'next/navigation';
9
-
10
- export default function Board() {
11
- const router = useRouter();
12
-
13
- useEffect(() => {
14
- router.replace('/specs?view=board');
15
- }, [router]);
16
-
17
- return null;
18
- }
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,22764,e=>{"use strict";let s=(0,e.i(22436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>s],22764)},76075,e=>{"use strict";var s=e.i(90022),r=e.i(31231),a=e.i(32137);let t=r.forwardRef(({className:e,...r},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("rounded-xl border border-gray-200 dark:border-gray-800 bg-card text-card-foreground shadow",e),...r}));t.displayName="Card";let l=r.forwardRef(({className:e,...r},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("flex flex-col space-y-1.5 p-6",e),...r}));l.displayName="CardHeader";let i=r.forwardRef(({className:e,...r},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("font-semibold leading-none tracking-tight",e),...r}));i.displayName="CardTitle";let c=r.forwardRef(({className:e,...r},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("text-sm text-muted-foreground",e),...r}));c.displayName="CardDescription";let d=r.forwardRef(({className:e,...r},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("p-6 pt-0",e),...r}));d.displayName="CardContent",r.forwardRef(({className:e,...r},t)=>(0,s.jsx)("div",{ref:t,className:(0,a.cn)("flex items-center p-6 pt-0",e),...r})).displayName="CardFooter",e.s(["Card",()=>t,"CardContent",()=>d,"CardDescription",()=>c,"CardHeader",()=>l,"CardTitle",()=>i])},38604,e=>{"use strict";let s=(0,e.i(22436).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",()=>s],38604)},10009,e=>{"use strict";var s=e.i(90022),r=e.i(31231),a=e.i(87985),t=e.i(30827),l=e.i(76075),i=e.i(23490),c=e.i(21079),d=e.i(35893),o=e.i(8737),n=e.i(329),m=e.i(96812),x=e.i(75364),u=e.i(40843),h=e.i(90225),g=e.i(38604),p=e.i(22764),b=e.i(68497),f=e.i(97705),j=e.i(32137);function N({initialSpecs:e}){let a=(0,t.useSearchParams)(),l=(0,t.useRouter)(),[i,m]=(0,r.useState)(""),[x,u]=(0,r.useState)("all"),[h,b]=(0,r.useState)("all"),[f,j]=(0,r.useState)("id-desc"),[N,y]=(0,r.useState)(()=>{let e=a.get("view");if("board"===e||"list"===e)return e;{let e=localStorage.getItem("specs-view-mode");if("board"===e||"list"===e)return e}return"list"}),w=(0,r.useRef)(!0);(0,r.useEffect)(()=>{if(w.current){w.current=!1;return}let e=new URLSearchParams(window.location.search);"board"===N?e.set("view","board"):e.delete("view");let s=e.toString(),r=s?`?${s}`:"";l.replace(`/specs${r}`,{scroll:!1}),localStorage.setItem("specs-view-mode",N)},[N,l]);let S=(0,r.useMemo)(()=>{let s=e.filter(e=>{let s=!i||e.title?.toLowerCase().includes(i.toLowerCase())||e.specName.toLowerCase().includes(i.toLowerCase())||e.tags?.some(e=>e.toLowerCase().includes(i.toLowerCase())),r="all"===x||e.status===x,a="all"===h||e.priority===h;return s&&r&&a});switch(f){case"id-desc":s.sort((e,s)=>(s.specNumber||0)-(e.specNumber||0));break;case"id-asc":s.sort((e,s)=>(e.specNumber||0)-(s.specNumber||0));break;case"updated-desc":s.sort((e,s)=>e.updatedAt?s.updatedAt?s.updatedAt.getTime()-e.updatedAt.getTime():-1:1);break;case"title-asc":s.sort((e,s)=>{let r=(e.title||e.specName).toLowerCase(),a=(s.title||s.specName).toLowerCase();return r.localeCompare(a)})}return s},[e,i,x,h,f]);return(0,s.jsx)("div",{className:"min-h-screen bg-background p-8",children:(0,s.jsxs)("div",{className:"max-w-7xl mx-auto",children:[(0,s.jsxs)("div",{className:"mb-8",children:[(0,s.jsx)("h1",{className:"text-4xl font-bold tracking-tight",children:"Specifications"}),(0,s.jsx)("p",{className:"text-muted-foreground mt-2",children:"board"===N?"Kanban board view":"Browse all specifications"})]}),(0,s.jsxs)("div",{className:"flex flex-col gap-4 mb-6",children:[(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row gap-4",children:[(0,s.jsxs)("div",{className:"flex-1 relative",children:[(0,s.jsx)(n.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-muted-foreground"}),(0,s.jsx)(c.Input,{placeholder:"Search specs...",value:i,onChange:e=>m(e.target.value),className:"pl-10"})]}),(0,s.jsxs)(o.Select,{value:x,onValueChange:u,children:[(0,s.jsx)(o.SelectTrigger,{className:"w-full sm:w-[180px]",children:(0,s.jsx)(o.SelectValue,{placeholder:"Status"})}),(0,s.jsxs)(o.SelectContent,{children:[(0,s.jsx)(o.SelectItem,{value:"all",children:"All Status"}),(0,s.jsx)(o.SelectItem,{value:"planned",children:"Planned"}),(0,s.jsx)(o.SelectItem,{value:"in-progress",children:"In Progress"}),(0,s.jsx)(o.SelectItem,{value:"complete",children:"Complete"}),(0,s.jsx)(o.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,s.jsxs)(o.Select,{value:h,onValueChange:b,children:[(0,s.jsx)(o.SelectTrigger,{className:"w-full sm:w-[180px]",children:(0,s.jsx)(o.SelectValue,{placeholder:"Priority"})}),(0,s.jsxs)(o.SelectContent,{children:[(0,s.jsx)(o.SelectItem,{value:"all",children:"All Priority"}),(0,s.jsx)(o.SelectItem,{value:"critical",children:"Critical"}),(0,s.jsx)(o.SelectItem,{value:"high",children:"High"}),(0,s.jsx)(o.SelectItem,{value:"medium",children:"Medium"}),(0,s.jsx)(o.SelectItem,{value:"low",children:"Low"})]})]})]}),(0,s.jsxs)("div",{className:"flex flex-col sm:flex-row justify-between gap-4",children:[(0,s.jsxs)(o.Select,{value:f,onValueChange:e=>j(e),children:[(0,s.jsx)(o.SelectTrigger,{className:"w-full sm:w-[220px]",children:(0,s.jsx)(o.SelectValue,{placeholder:"Sort by"})}),(0,s.jsxs)(o.SelectContent,{children:[(0,s.jsx)(o.SelectItem,{value:"id-desc",children:"Newest First (ID ↓)"}),(0,s.jsx)(o.SelectItem,{value:"id-asc",children:"Oldest First (ID ↑)"}),(0,s.jsx)(o.SelectItem,{value:"updated-desc",children:"Recently Updated"}),(0,s.jsx)(o.SelectItem,{value:"title-asc",children:"Title (A-Z)"})]})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)(d.Button,{variant:"list"===N?"default":"outline",size:"sm",onClick:()=>y("list"),className:"flex items-center gap-2",children:[(0,s.jsx)(p.List,{className:"h-4 w-4"}),"List"]}),(0,s.jsxs)(d.Button,{variant:"board"===N?"default":"outline",size:"sm",onClick:()=>y("board"),className:"flex items-center gap-2",children:[(0,s.jsx)(g.LayoutGrid,{className:"h-4 w-4"}),"Board"]})]})]})]}),(0,s.jsxs)("div",{className:"text-sm text-muted-foreground mb-4",children:["Showing ",S.length," of ",e.length," specs"]}),"list"===N?(0,s.jsx)(v,{specs:S}):(0,s.jsx)(C,{specs:S})]})})}function v({specs:e}){return(0,s.jsx)("div",{className:"grid grid-cols-1 gap-4",children:e.map(e=>{let r={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[e.priority]||"border-l-gray-300";return(0,s.jsxs)(l.Card,{className:(0,j.cn)("hover:shadow-lg transition-all duration-150 hover:scale-[1.01] border-l-4 cursor-pointer",r),onClick:()=>window.location.href=`/specs/${e.specNumber||e.id}`,children:[(0,s.jsx)(l.CardHeader,{className:"pb-3",children:(0,s.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,s.jsx)("div",{className:"flex-1 min-w-0",children:(0,s.jsx)(a.default,{href:`/specs/${e.specNumber||e.id}`,children:(0,s.jsxs)(l.CardTitle,{className:"text-lg font-semibold hover:text-primary transition-colors",children:[e.specNumber?`#${e.specNumber.toString().padStart(3,"0")}`:e.specName," ",e.title||e.specName]})})}),(0,s.jsxs)("div",{className:"flex gap-2 shrink-0",children:[e.status&&(0,s.jsx)(b.StatusBadge,{status:e.status}),e.priority&&(0,s.jsx)(f.PriorityBadge,{priority:e.priority})]})]})}),e.tags&&e.tags.length>0&&(0,s.jsx)(l.CardContent,{children:(0,s.jsx)("div",{className:"flex flex-wrap gap-2",children:e.tags.map(e=>(0,s.jsx)(i.Badge,{variant:"secondary",children:e},e))})})]},e.id)})})}function C({specs:e}){let t=(0,r.useMemo)(()=>{let s={planned:{icon:u.Clock,title:"Planned",colorClass:"text-blue-600 dark:text-blue-400",bgClass:"bg-blue-50 dark:bg-blue-900/20",borderClass:"border-blue-200 dark:border-blue-800"},"in-progress":{icon:x.PlayCircle,title:"In Progress",colorClass:"text-orange-600 dark:text-orange-400",bgClass:"bg-orange-50 dark:bg-orange-900/20",borderClass:"border-orange-200 dark:border-orange-800"},complete:{icon:m.CheckCircle2,title:"Complete",colorClass:"text-green-600 dark:text-green-400",bgClass:"bg-green-50 dark:bg-green-900/20",borderClass:"border-green-200 dark:border-green-800"},archived:{icon:h.Archive,title:"Archived",colorClass:"text-gray-600 dark:text-gray-400",bgClass:"bg-gray-50 dark:bg-gray-900/20",borderClass:"border-gray-200 dark:border-gray-800"}};return["planned","in-progress","complete","archived"].map(r=>({status:r,config:s[r],specs:e.filter(e=>e.status===r)}))},[e]);return(0,s.jsx)("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:t.map(e=>{let r=e.config.icon;return(0,s.jsxs)("div",{className:"flex flex-col",children:[(0,s.jsx)("div",{className:(0,j.cn)("sticky top-14 z-40 mb-4 p-3 rounded-lg border-2 bg-background",e.config.bgClass,e.config.borderClass),children:(0,s.jsxs)("h2",{className:(0,j.cn)("text-lg font-semibold flex items-center gap-2",e.config.colorClass),children:[(0,s.jsx)(r,{className:"h-5 w-5"}),e.config.title,(0,s.jsx)(i.Badge,{variant:"outline",className:"ml-auto",children:e.specs.length})]})}),(0,s.jsx)("div",{className:"space-y-3 flex-1",children:e.specs.map(e=>{let r={critical:"border-l-red-500",high:"border-l-orange-500",medium:"border-l-blue-500",low:"border-l-gray-400"}[e.priority]||"border-l-gray-300";return(0,s.jsxs)(l.Card,{className:(0,j.cn)("hover:shadow-lg transition-all duration-150 hover:scale-[1.02] border-l-4 cursor-pointer",r),onClick:()=>window.location.href=`/specs/${e.specNumber||e.id}`,children:[(0,s.jsx)(l.CardHeader,{className:"pb-3",children:(0,s.jsx)(a.default,{href:`/specs/${e.specNumber||e.id}`,children:(0,s.jsx)(l.CardTitle,{className:"text-sm font-medium hover:text-primary transition-colors",children:e.specNumber?`#${e.specNumber}`:e.specName})})}),(0,s.jsxs)(l.CardContent,{className:"space-y-2",children:[(0,s.jsx)("p",{className:"text-sm text-muted-foreground line-clamp-2",children:e.title||e.specName}),(0,s.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[e.priority&&(0,s.jsx)(f.PriorityBadge,{priority:e.priority}),e.tags&&e.tags.length>0&&(0,s.jsxs)(s.Fragment,{children:[e.tags.slice(0,2).map(e=>(0,s.jsx)(i.Badge,{variant:"outline",className:"text-xs",children:e},e)),e.tags.length>2&&(0,s.jsxs)(i.Badge,{variant:"outline",className:"text-xs",children:["+",e.tags.length-2]})]})]})]})]},e.id)})})]},e.status)})})}e.s(["SpecsClient",()=>N])}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,21079,8737,e=>{"use strict";var t=e.i(90022),r=e.i(31231),n=e.i(32137);let l=r.forwardRef(({className:e,type:r,...l},o)=>(0,t.jsx)("input",{type:r,className:(0,n.cn)("flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),ref:o,...l}));l.displayName="Input",e.s(["Input",()=>l],21079);var o=e.i(95635);function i(e,[t,r]){return Math.min(r,Math.max(t,e))}var s=e.i(91967),a=e.i(79014),d=e.i(30406),u=e.i(65489),c=new WeakMap;function f(e,t){var r,n;let l,o,i;if("at"in Array.prototype)return Array.prototype.at.call(e,t);let s=(r=e,n=t,l=r.length,(i=(o=p(n))>=0?o:l+o)<0||i>=l?-1:i);return -1===s?void 0:e[s]}function p(e){return e!=e||0===e?0:Math.trunc(e)}(class e extends Map{#e;constructor(e){super(e),this.#e=[...super.keys()],c.set(this,!0)}set(e,t){return c.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,r){let n,l=this.has(t),o=this.#e.length,i=p(e),s=i>=0?i:o+i,a=s<0||s>=o?-1:s;if(a===this.size||l&&a===this.size-1||-1===a)return this.set(t,r),this;let d=this.size+ +!l;i<0&&s++;let u=[...this.#e],c=!1;for(let e=s;e<d;e++)if(s===e){let o=u[e];u[e]===t&&(o=u[e+1]),l&&this.delete(t),n=this.get(o),this.set(t,r)}else{c||u[e-1]!==t||(c=!0);let r=u[c?e:e-1],l=n;n=this.get(r),this.delete(r),this.set(r,l)}return this}with(t,r,n){let l=new e(this);return l.insert(t,r,n),l}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n,t,r)}after(e){let t=this.#e.indexOf(e);if(-1!==(t=-1===t||t===this.size-1?-1:t+1))return this.entryAt(t)}setAfter(e,t,r){let n=this.#e.indexOf(e);return -1===n?this:this.insert(n+1,t,r)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return void 0!==t&&this.delete(t)}at(e){let t=f(this.#e,e);if(void 0!==t)return this.get(t)}entryAt(e){let t=f(this.#e,e);if(void 0!==t)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return f(this.#e,e)}from(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.at(n)}keyFrom(e,t){let r=this.indexOf(e);if(-1===r)return;let n=r+t;return n<0&&(n=0),n>=this.size&&(n=this.size-1),this.keyAt(n)}find(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return n;r++}}findIndex(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return r;r++}return -1}filter(t,r){let n=[],l=0;for(let e of this)Reflect.apply(t,r,[e,l,this])&&n.push(e),l++;return new e(n)}map(t,r){let n=[],l=0;for(let e of this)n.push([e[0],Reflect.apply(t,r,[e,l,this])]),l++;return new e(n)}reduce(...e){let[t,r]=e,n=0,l=r??this.at(0);for(let r of this)l=0===n&&1===e.length?r:Reflect.apply(t,this,[l,r,n,this]),n++;return l}reduceRight(...e){let[t,r]=e,n=r??this.at(-1);for(let r=this.size-1;r>=0;r--){let l=this.at(r);n=r===this.size-1&&1===e.length?l:Reflect.apply(t,this,[n,l,r,this])}return n}toSorted(t){return new e([...this.entries()].sort(t))}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let r=this.keyAt(e),n=this.get(r);t.set(r,n)}return t}toSpliced(...t){let r=[...this.entries()];return r.splice(...t),new e(r)}slice(t,r){let n=new e,l=this.size-1;if(void 0===t)return n;t<0&&(t+=this.size),void 0!==r&&r>0&&(l=r-1);for(let e=t;e<=l;e++){let t=this.keyAt(e),r=this.get(t);n.set(t,r)}return n}every(e,t){let r=0;for(let n of this){if(!Reflect.apply(e,t,[n,r,this]))return!1;r++}return!0}some(e,t){let r=0;for(let n of this){if(Reflect.apply(e,t,[n,r,this]))return!0;r++}return!1}});var h=r.createContext(void 0),m=e.i(55235),v=e.i(54440),y=e.i(31007),x=e.i(15599),g=e.i(6839),w=e.i(14260),b=e.i(22925),S=e.i(38657),C=e.i(93136),R=e.i(43988),j=e.i(26985),k=e.i(73772),N=e.i(97496),E=[" ","Enter","ArrowUp","ArrowDown"],P=[" ","Enter"],T="Select",[I,A,M]=function(e){let n=e+"CollectionProvider",[l,o]=(0,a.createContextScope)(n),[i,s]=l(n,{collectionRef:{current:null},itemMap:new Map}),c=e=>{let{scope:n,children:l}=e,o=r.default.useRef(null),s=r.default.useRef(new Map).current;return(0,t.jsx)(i,{scope:n,itemMap:s,collectionRef:o,children:l})};c.displayName=n;let f=e+"CollectionSlot",p=(0,u.createSlot)(f),h=r.default.forwardRef((e,r)=>{let{scope:n,children:l}=e,o=s(f,n),i=(0,d.useComposedRefs)(r,o.collectionRef);return(0,t.jsx)(p,{ref:i,children:l})});h.displayName=f;let m=e+"CollectionItemSlot",v="data-radix-collection-item",y=(0,u.createSlot)(m),x=r.default.forwardRef((e,n)=>{let{scope:l,children:o,...i}=e,a=r.default.useRef(null),u=(0,d.useComposedRefs)(n,a),c=s(m,l);return r.default.useEffect(()=>(c.itemMap.set(a,{ref:a,...i}),()=>void c.itemMap.delete(a))),(0,t.jsx)(y,{...{[v]:""},ref:u,children:o})});return x.displayName=m,[{Provider:c,Slot:h,ItemSlot:x},function(t){let n=s(e+"CollectionConsumer",t);return r.default.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${v}]`));return Array.from(n.itemMap.values()).sort((e,r)=>t.indexOf(e.ref.current)-t.indexOf(r.ref.current))},[n.collectionRef,n.itemMap])},o]}(T),[H,L]=(0,a.createContextScope)(T,[M,g.createPopperScope]),D=(0,g.createPopperScope)(),[O,z]=H(T),[_,B]=H(T),V=e=>{let n,{__scopeSelect:l,children:o,open:i,defaultOpen:s,onOpenChange:a,value:d,defaultValue:u,onValueChange:c,dir:f,name:p,autoComplete:m,disabled:v,required:y,form:w}=e,b=D(l),[S,R]=r.useState(null),[j,k]=r.useState(null),[N,E]=r.useState(!1),P=(n=r.useContext(h),f||n||"ltr"),[A,M]=(0,C.useControllableState)({prop:i,defaultProp:s??!1,onChange:a,caller:T}),[H,L]=(0,C.useControllableState)({prop:d,defaultProp:u,onChange:c,caller:T}),z=r.useRef(null),B=!S||w||!!S.closest("form"),[V,F]=r.useState(new Set),K=Array.from(V).map(e=>e.props.value).join(";");return(0,t.jsx)(g.Root,{...b,children:(0,t.jsxs)(O,{required:y,scope:l,trigger:S,onTriggerChange:R,valueNode:j,onValueNodeChange:k,valueNodeHasChildren:N,onValueNodeHasChildrenChange:E,contentId:(0,x.useId)(),value:H,onValueChange:L,open:A,onOpenChange:M,dir:P,triggerPointerDownPosRef:z,disabled:v,children:[(0,t.jsx)(I.Provider,{scope:l,children:(0,t.jsx)(_,{scope:e.__scopeSelect,onNativeOptionAdd:r.useCallback(e=>{F(t=>new Set(t).add(e))},[]),onNativeOptionRemove:r.useCallback(e=>{F(t=>{let r=new Set(t);return r.delete(e),r})},[]),children:o})}),B?(0,t.jsxs)(ek,{"aria-hidden":!0,required:y,tabIndex:-1,name:p,autoComplete:m,value:H,onChange:e=>L(e.target.value),disabled:v,form:w,children:[void 0===H?(0,t.jsx)("option",{value:""}):null,Array.from(V)]},K):null]})})};V.displayName=T;var F="SelectTrigger",K=r.forwardRef((e,n)=>{let{__scopeSelect:l,disabled:o=!1,...i}=e,a=D(l),u=z(F,l),c=u.disabled||o,f=(0,d.useComposedRefs)(n,u.onTriggerChange),p=A(l),h=r.useRef("touch"),[m,v,y]=eE(e=>{let t=p().filter(e=>!e.disabled),r=t.find(e=>e.value===u.value),n=eP(t,e,r);void 0!==n&&u.onValueChange(n.value)}),x=e=>{c||(u.onOpenChange(!0),y()),e&&(u.triggerPointerDownPosRef.current={x:Math.round(e.pageX),y:Math.round(e.pageY)})};return(0,t.jsx)(g.Anchor,{asChild:!0,...a,children:(0,t.jsx)(b.Primitive.button,{type:"button",role:"combobox","aria-controls":u.contentId,"aria-expanded":u.open,"aria-required":u.required,"aria-autocomplete":"none",dir:u.dir,"data-state":u.open?"open":"closed",disabled:c,"data-disabled":c?"":void 0,"data-placeholder":eN(u.value)?"":void 0,...i,ref:f,onClick:(0,s.composeEventHandlers)(i.onClick,e=>{e.currentTarget.focus(),"mouse"!==h.current&&x(e)}),onPointerDown:(0,s.composeEventHandlers)(i.onPointerDown,e=>{h.current=e.pointerType;let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),0===e.button&&!1===e.ctrlKey&&"mouse"===e.pointerType&&(x(e),e.preventDefault())}),onKeyDown:(0,s.composeEventHandlers)(i.onKeyDown,e=>{let t=""!==m.current;e.ctrlKey||e.altKey||e.metaKey||1!==e.key.length||v(e.key),(!t||" "!==e.key)&&E.includes(e.key)&&(x(),e.preventDefault())})})})});K.displayName=F;var U="SelectValue",W=r.forwardRef((e,r)=>{let{__scopeSelect:n,className:l,style:o,children:i,placeholder:s="",...a}=e,u=z(U,n),{onValueNodeHasChildrenChange:c}=u,f=void 0!==i,p=(0,d.useComposedRefs)(r,u.onValueNodeChange);return(0,R.useLayoutEffect)(()=>{c(f)},[c,f]),(0,t.jsx)(b.Primitive.span,{...a,ref:p,style:{pointerEvents:"none"},children:eN(u.value)?(0,t.jsx)(t.Fragment,{children:s}):i})});W.displayName=U;var q=r.forwardRef((e,r)=>{let{__scopeSelect:n,children:l,...o}=e;return(0,t.jsx)(b.Primitive.span,{"aria-hidden":!0,...o,ref:r,children:l||"▼"})});q.displayName="SelectIcon";var Y=e=>(0,t.jsx)(w.Portal,{asChild:!0,...e});Y.displayName="SelectPortal";var G="SelectContent",X=r.forwardRef((e,n)=>{let l=z(G,e.__scopeSelect),[i,s]=r.useState();return((0,R.useLayoutEffect)(()=>{s(new DocumentFragment)},[]),l.open)?(0,t.jsx)(Q,{...e,ref:n}):i?o.createPortal((0,t.jsx)(Z,{scope:e.__scopeSelect,children:(0,t.jsx)(I.Slot,{scope:e.__scopeSelect,children:(0,t.jsx)("div",{children:e.children})})}),i):null});X.displayName=G;var[Z,$]=H(G),J=(0,u.createSlot)("SelectContent.RemoveScroll"),Q=r.forwardRef((e,n)=>{let{__scopeSelect:l,position:o="item-aligned",onCloseAutoFocus:i,onEscapeKeyDown:a,onPointerDownOutside:u,side:c,sideOffset:f,align:p,alignOffset:h,arrowPadding:x,collisionBoundary:g,collisionPadding:w,sticky:b,hideWhenDetached:S,avoidCollisions:C,...R}=e,j=z(G,l),[E,P]=r.useState(null),[T,I]=r.useState(null),M=(0,d.useComposedRefs)(n,e=>P(e)),[H,L]=r.useState(null),[D,O]=r.useState(null),_=A(l),[B,V]=r.useState(!1),F=r.useRef(!1);r.useEffect(()=>{if(E)return(0,k.hideOthers)(E)},[E]),(0,v.useFocusGuards)();let K=r.useCallback(e=>{let[t,...r]=_().map(e=>e.ref.current),[n]=r.slice(-1),l=document.activeElement;for(let r of e)if(r===l||(r?.scrollIntoView({block:"nearest"}),r===t&&T&&(T.scrollTop=0),r===n&&T&&(T.scrollTop=T.scrollHeight),r?.focus(),document.activeElement!==l))return},[_,T]),U=r.useCallback(()=>K([H,E]),[K,H,E]);r.useEffect(()=>{B&&U()},[B,U]);let{onOpenChange:W,triggerPointerDownPosRef:q}=j;r.useEffect(()=>{if(E){let e={x:0,y:0},t=t=>{e={x:Math.abs(Math.round(t.pageX)-(q.current?.x??0)),y:Math.abs(Math.round(t.pageY)-(q.current?.y??0))}},r=r=>{e.x<=10&&e.y<=10?r.preventDefault():E.contains(r.target)||W(!1),document.removeEventListener("pointermove",t),q.current=null};return null!==q.current&&(document.addEventListener("pointermove",t),document.addEventListener("pointerup",r,{capture:!0,once:!0})),()=>{document.removeEventListener("pointermove",t),document.removeEventListener("pointerup",r,{capture:!0})}}},[E,W,q]),r.useEffect(()=>{let e=()=>W(!1);return window.addEventListener("blur",e),window.addEventListener("resize",e),()=>{window.removeEventListener("blur",e),window.removeEventListener("resize",e)}},[W]);let[Y,X]=eE(e=>{let t=_().filter(e=>!e.disabled),r=t.find(e=>e.ref.current===document.activeElement),n=eP(t,e,r);n&&setTimeout(()=>n.ref.current.focus())}),$=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==j.value&&j.value===t||n)&&(L(e),n&&(F.current=!0))},[j.value]),Q=r.useCallback(()=>E?.focus(),[E]),er=r.useCallback((e,t,r)=>{let n=!F.current&&!r;(void 0!==j.value&&j.value===t||n)&&O(e)},[j.value]),en="popper"===o?et:ee,el=en===et?{side:c,sideOffset:f,align:p,alignOffset:h,arrowPadding:x,collisionBoundary:g,collisionPadding:w,sticky:b,hideWhenDetached:S,avoidCollisions:C}:{};return(0,t.jsx)(Z,{scope:l,content:E,viewport:T,onViewportChange:I,itemRefCallback:$,selectedItem:H,onItemLeave:Q,itemTextRefCallback:er,focusSelectedItem:U,selectedItemText:D,position:o,isPositioned:B,searchRef:Y,children:(0,t.jsx)(N.RemoveScroll,{as:J,allowPinchZoom:!0,children:(0,t.jsx)(y.FocusScope,{asChild:!0,trapped:j.open,onMountAutoFocus:e=>{e.preventDefault()},onUnmountAutoFocus:(0,s.composeEventHandlers)(i,e=>{j.trigger?.focus({preventScroll:!0}),e.preventDefault()}),children:(0,t.jsx)(m.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!0,onEscapeKeyDown:a,onPointerDownOutside:u,onFocusOutside:e=>e.preventDefault(),onDismiss:()=>j.onOpenChange(!1),children:(0,t.jsx)(en,{role:"listbox",id:j.contentId,"data-state":j.open?"open":"closed",dir:j.dir,onContextMenu:e=>e.preventDefault(),...R,...el,onPlaced:()=>V(!0),ref:M,style:{display:"flex",flexDirection:"column",outline:"none",...R.style},onKeyDown:(0,s.composeEventHandlers)(R.onKeyDown,e=>{let t=e.ctrlKey||e.altKey||e.metaKey;if("Tab"===e.key&&e.preventDefault(),t||1!==e.key.length||X(e.key),["ArrowUp","ArrowDown","Home","End"].includes(e.key)){let t=_().filter(e=>!e.disabled).map(e=>e.ref.current);if(["ArrowUp","End"].includes(e.key)&&(t=t.slice().reverse()),["ArrowUp","ArrowDown"].includes(e.key)){let r=e.target,n=t.indexOf(r);t=t.slice(n+1)}setTimeout(()=>K(t)),e.preventDefault()}})})})})})})});Q.displayName="SelectContentImpl";var ee=r.forwardRef((e,n)=>{let{__scopeSelect:l,onPlaced:o,...s}=e,a=z(G,l),u=$(G,l),[c,f]=r.useState(null),[p,h]=r.useState(null),m=(0,d.useComposedRefs)(n,e=>h(e)),v=A(l),y=r.useRef(!1),x=r.useRef(!0),{viewport:g,selectedItem:w,selectedItemText:S,focusSelectedItem:C}=u,j=r.useCallback(()=>{if(a.trigger&&a.valueNode&&c&&p&&g&&w&&S){let e=a.trigger.getBoundingClientRect(),t=p.getBoundingClientRect(),r=a.valueNode.getBoundingClientRect(),n=S.getBoundingClientRect();if("rtl"!==a.dir){let l=n.left-t.left,o=r.left-l,s=e.left-o,a=e.width+s,d=Math.max(a,t.width),u=i(o,[10,Math.max(10,window.innerWidth-10-d)]);c.style.minWidth=a+"px",c.style.left=u+"px"}else{let l=t.right-n.right,o=window.innerWidth-r.right-l,s=window.innerWidth-e.right-o,a=e.width+s,d=Math.max(a,t.width),u=i(o,[10,Math.max(10,window.innerWidth-10-d)]);c.style.minWidth=a+"px",c.style.right=u+"px"}let l=v(),s=window.innerHeight-20,d=g.scrollHeight,u=window.getComputedStyle(p),f=parseInt(u.borderTopWidth,10),h=parseInt(u.paddingTop,10),m=parseInt(u.borderBottomWidth,10),x=f+h+d+parseInt(u.paddingBottom,10)+m,b=Math.min(5*w.offsetHeight,x),C=window.getComputedStyle(g),R=parseInt(C.paddingTop,10),j=parseInt(C.paddingBottom,10),k=e.top+e.height/2-10,N=w.offsetHeight/2,E=f+h+(w.offsetTop+N);if(E<=k){let e=l.length>0&&w===l[l.length-1].ref.current;c.style.bottom="0px";let t=Math.max(s-k,N+(e?j:0)+(p.clientHeight-g.offsetTop-g.offsetHeight)+m);c.style.height=E+t+"px"}else{let e=l.length>0&&w===l[0].ref.current;c.style.top="0px";let t=Math.max(k,f+g.offsetTop+(e?R:0)+N);c.style.height=t+(x-E)+"px",g.scrollTop=E-k+g.offsetTop}c.style.margin="10px 0",c.style.minHeight=b+"px",c.style.maxHeight=s+"px",o?.(),requestAnimationFrame(()=>y.current=!0)}},[v,a.trigger,a.valueNode,c,p,g,w,S,a.dir,o]);(0,R.useLayoutEffect)(()=>j(),[j]);let[k,N]=r.useState();(0,R.useLayoutEffect)(()=>{p&&N(window.getComputedStyle(p).zIndex)},[p]);let E=r.useCallback(e=>{e&&!0===x.current&&(j(),C?.(),x.current=!1)},[j,C]);return(0,t.jsx)(er,{scope:l,contentWrapper:c,shouldExpandOnScrollRef:y,onScrollButtonChange:E,children:(0,t.jsx)("div",{ref:f,style:{display:"flex",flexDirection:"column",position:"fixed",zIndex:k},children:(0,t.jsx)(b.Primitive.div,{...s,ref:m,style:{boxSizing:"border-box",maxHeight:"100%",...s.style}})})})});ee.displayName="SelectItemAlignedPosition";var et=r.forwardRef((e,r)=>{let{__scopeSelect:n,align:l="start",collisionPadding:o=10,...i}=e,s=D(n);return(0,t.jsx)(g.Content,{...s,...i,ref:r,align:l,collisionPadding:o,style:{boxSizing:"border-box",...i.style,"--radix-select-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-select-content-available-width":"var(--radix-popper-available-width)","--radix-select-content-available-height":"var(--radix-popper-available-height)","--radix-select-trigger-width":"var(--radix-popper-anchor-width)","--radix-select-trigger-height":"var(--radix-popper-anchor-height)"}})});et.displayName="SelectPopperPosition";var[er,en]=H(G,{}),el="SelectViewport",eo=r.forwardRef((e,n)=>{let{__scopeSelect:l,nonce:o,...i}=e,a=$(el,l),u=en(el,l),c=(0,d.useComposedRefs)(n,a.onViewportChange),f=r.useRef(0);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-select-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-select-viewport]::-webkit-scrollbar{display:none}"},nonce:o}),(0,t.jsx)(I.Slot,{scope:l,children:(0,t.jsx)(b.Primitive.div,{"data-radix-select-viewport":"",role:"presentation",...i,ref:c,style:{position:"relative",flex:1,overflow:"hidden auto",...i.style},onScroll:(0,s.composeEventHandlers)(i.onScroll,e=>{let t=e.currentTarget,{contentWrapper:r,shouldExpandOnScrollRef:n}=u;if(n?.current&&r){let e=Math.abs(f.current-t.scrollTop);if(e>0){let n=window.innerHeight-20,l=Math.max(parseFloat(r.style.minHeight),parseFloat(r.style.height));if(l<n){let o=l+e,i=Math.min(n,o),s=o-i;r.style.height=i+"px","0px"===r.style.bottom&&(t.scrollTop=s>0?s:0,r.style.justifyContent="flex-end")}}}f.current=t.scrollTop})})})]})});eo.displayName=el;var ei="SelectGroup",[es,ea]=H(ei);r.forwardRef((e,r)=>{let{__scopeSelect:n,...l}=e,o=(0,x.useId)();return(0,t.jsx)(es,{scope:n,id:o,children:(0,t.jsx)(b.Primitive.div,{role:"group","aria-labelledby":o,...l,ref:r})})}).displayName=ei;var ed="SelectLabel",eu=r.forwardRef((e,r)=>{let{__scopeSelect:n,...l}=e,o=ea(ed,n);return(0,t.jsx)(b.Primitive.div,{id:o.id,...l,ref:r})});eu.displayName=ed;var ec="SelectItem",[ef,ep]=H(ec),eh=r.forwardRef((e,n)=>{let{__scopeSelect:l,value:o,disabled:i=!1,textValue:a,...u}=e,c=z(ec,l),f=$(ec,l),p=c.value===o,[h,m]=r.useState(a??""),[v,y]=r.useState(!1),g=(0,d.useComposedRefs)(n,e=>f.itemRefCallback?.(e,o,i)),w=(0,x.useId)(),S=r.useRef("touch"),C=()=>{i||(c.onValueChange(o),c.onOpenChange(!1))};if(""===o)throw Error("A <Select.Item /> must have a value prop that is not an empty string. This is because the Select value can be set to an empty string to clear the selection and show the placeholder.");return(0,t.jsx)(ef,{scope:l,value:o,disabled:i,textId:w,isSelected:p,onItemTextChange:r.useCallback(e=>{m(t=>t||(e?.textContent??"").trim())},[]),children:(0,t.jsx)(I.ItemSlot,{scope:l,value:o,disabled:i,textValue:h,children:(0,t.jsx)(b.Primitive.div,{role:"option","aria-labelledby":w,"data-highlighted":v?"":void 0,"aria-selected":p&&v,"data-state":p?"checked":"unchecked","aria-disabled":i||void 0,"data-disabled":i?"":void 0,tabIndex:i?void 0:-1,...u,ref:g,onFocus:(0,s.composeEventHandlers)(u.onFocus,()=>y(!0)),onBlur:(0,s.composeEventHandlers)(u.onBlur,()=>y(!1)),onClick:(0,s.composeEventHandlers)(u.onClick,()=>{"mouse"!==S.current&&C()}),onPointerUp:(0,s.composeEventHandlers)(u.onPointerUp,()=>{"mouse"===S.current&&C()}),onPointerDown:(0,s.composeEventHandlers)(u.onPointerDown,e=>{S.current=e.pointerType}),onPointerMove:(0,s.composeEventHandlers)(u.onPointerMove,e=>{S.current=e.pointerType,i?f.onItemLeave?.():"mouse"===S.current&&e.currentTarget.focus({preventScroll:!0})}),onPointerLeave:(0,s.composeEventHandlers)(u.onPointerLeave,e=>{e.currentTarget===document.activeElement&&f.onItemLeave?.()}),onKeyDown:(0,s.composeEventHandlers)(u.onKeyDown,e=>{(f.searchRef?.current===""||" "!==e.key)&&(P.includes(e.key)&&C()," "===e.key&&e.preventDefault())})})})})});eh.displayName=ec;var em="SelectItemText",ev=r.forwardRef((e,n)=>{let{__scopeSelect:l,className:i,style:s,...a}=e,u=z(em,l),c=$(em,l),f=ep(em,l),p=B(em,l),[h,m]=r.useState(null),v=(0,d.useComposedRefs)(n,e=>m(e),f.onItemTextChange,e=>c.itemTextRefCallback?.(e,f.value,f.disabled)),y=h?.textContent,x=r.useMemo(()=>(0,t.jsx)("option",{value:f.value,disabled:f.disabled,children:y},f.value),[f.disabled,f.value,y]),{onNativeOptionAdd:g,onNativeOptionRemove:w}=p;return(0,R.useLayoutEffect)(()=>(g(x),()=>w(x)),[g,w,x]),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.Primitive.span,{id:f.textId,...a,ref:v}),f.isSelected&&u.valueNode&&!u.valueNodeHasChildren?o.createPortal(a.children,u.valueNode):null]})});ev.displayName=em;var ey="SelectItemIndicator",ex=r.forwardRef((e,r)=>{let{__scopeSelect:n,...l}=e;return ep(ey,n).isSelected?(0,t.jsx)(b.Primitive.span,{"aria-hidden":!0,...l,ref:r}):null});ex.displayName=ey;var eg="SelectScrollUpButton",ew=r.forwardRef((e,n)=>{let l=$(eg,e.__scopeSelect),o=en(eg,e.__scopeSelect),[i,s]=r.useState(!1),a=(0,d.useComposedRefs)(n,o.onScrollButtonChange);return(0,R.useLayoutEffect)(()=>{if(l.viewport&&l.isPositioned){let e=function(){s(t.scrollTop>0)},t=l.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[l.viewport,l.isPositioned]),i?(0,t.jsx)(eC,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=l;e&&t&&(e.scrollTop=e.scrollTop-t.offsetHeight)}}):null});ew.displayName=eg;var eb="SelectScrollDownButton",eS=r.forwardRef((e,n)=>{let l=$(eb,e.__scopeSelect),o=en(eb,e.__scopeSelect),[i,s]=r.useState(!1),a=(0,d.useComposedRefs)(n,o.onScrollButtonChange);return(0,R.useLayoutEffect)(()=>{if(l.viewport&&l.isPositioned){let e=function(){let e=t.scrollHeight-t.clientHeight;s(Math.ceil(t.scrollTop)<e)},t=l.viewport;return e(),t.addEventListener("scroll",e),()=>t.removeEventListener("scroll",e)}},[l.viewport,l.isPositioned]),i?(0,t.jsx)(eC,{...e,ref:a,onAutoScroll:()=>{let{viewport:e,selectedItem:t}=l;e&&t&&(e.scrollTop=e.scrollTop+t.offsetHeight)}}):null});eS.displayName=eb;var eC=r.forwardRef((e,n)=>{let{__scopeSelect:l,onAutoScroll:o,...i}=e,a=$("SelectScrollButton",l),d=r.useRef(null),u=A(l),c=r.useCallback(()=>{null!==d.current&&(window.clearInterval(d.current),d.current=null)},[]);return r.useEffect(()=>()=>c(),[c]),(0,R.useLayoutEffect)(()=>{let e=u().find(e=>e.ref.current===document.activeElement);e?.ref.current?.scrollIntoView({block:"nearest"})},[u]),(0,t.jsx)(b.Primitive.div,{"aria-hidden":!0,...i,ref:n,style:{flexShrink:0,...i.style},onPointerDown:(0,s.composeEventHandlers)(i.onPointerDown,()=>{null===d.current&&(d.current=window.setInterval(o,50))}),onPointerMove:(0,s.composeEventHandlers)(i.onPointerMove,()=>{a.onItemLeave?.(),null===d.current&&(d.current=window.setInterval(o,50))}),onPointerLeave:(0,s.composeEventHandlers)(i.onPointerLeave,()=>{c()})})}),eR=r.forwardRef((e,r)=>{let{__scopeSelect:n,...l}=e;return(0,t.jsx)(b.Primitive.div,{"aria-hidden":!0,...l,ref:r})});eR.displayName="SelectSeparator";var ej="SelectArrow";r.forwardRef((e,r)=>{let{__scopeSelect:n,...l}=e,o=D(n),i=z(ej,n),s=$(ej,n);return i.open&&"popper"===s.position?(0,t.jsx)(g.Arrow,{...o,...l,ref:r}):null}).displayName=ej;var ek=r.forwardRef(({__scopeSelect:e,value:n,...l},o)=>{let i,s=r.useRef(null),a=(0,d.useComposedRefs)(o,s),u=(i=r.useRef({value:n,previous:n}),r.useMemo(()=>(i.current.value!==n&&(i.current.previous=i.current.value,i.current.value=n),i.current.previous),[n]));return r.useEffect(()=>{let e=s.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLSelectElement.prototype,"value").set;if(u!==n&&t){let r=new Event("change",{bubbles:!0});t.call(e,n),e.dispatchEvent(r)}},[u,n]),(0,t.jsx)(b.Primitive.select,{...l,style:{...j.VISUALLY_HIDDEN_STYLES,...l.style},ref:a,defaultValue:n})});function eN(e){return""===e||void 0===e}function eE(e){let t=(0,S.useCallbackRef)(e),n=r.useRef(""),l=r.useRef(0),o=r.useCallback(e=>{let r=n.current+e;t(r),function e(t){n.current=t,window.clearTimeout(l.current),""!==t&&(l.current=window.setTimeout(()=>e(""),1e3))}(r)},[t]),i=r.useCallback(()=>{n.current="",window.clearTimeout(l.current)},[]);return r.useEffect(()=>()=>window.clearTimeout(l.current),[]),[n,o,i]}function eP(e,t,r){var n,l;let o=t.length>1&&Array.from(t).every(e=>e===t[0])?t[0]:t,i=r?e.indexOf(r):-1,s=(n=e,l=Math.max(i,0),n.map((e,t)=>n[(l+t)%n.length]));1===o.length&&(s=s.filter(e=>e!==r));let a=s.find(e=>e.textValue.toLowerCase().startsWith(o.toLowerCase()));return a!==r?a:void 0}ek.displayName="SelectBubbleInput";var eT=e.i(22436);let eI=(0,eT.default)("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),eA=(0,eT.default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),eM=(0,eT.default)("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]),eH=r.forwardRef(({className:e,children:r,...l},o)=>(0,t.jsxs)(K,{ref:o,className:(0,n.cn)("flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-gray-300 dark:border-gray-700 bg-background px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",e),...l,children:[r,(0,t.jsx)(q,{asChild:!0,children:(0,t.jsx)(eA,{className:"h-4 w-4 opacity-50"})})]}));eH.displayName=K.displayName;let eL=r.forwardRef(({className:e,...r},l)=>(0,t.jsx)(ew,{ref:l,className:(0,n.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eM,{className:"h-4 w-4"})}));eL.displayName=ew.displayName;let eD=r.forwardRef(({className:e,...r},l)=>(0,t.jsx)(eS,{ref:l,className:(0,n.cn)("flex cursor-default items-center justify-center py-1",e),...r,children:(0,t.jsx)(eA,{className:"h-4 w-4"})}));eD.displayName=eS.displayName;let eO=r.forwardRef(({className:e,children:r,position:l="popper",...o},i)=>(0,t.jsx)(Y,{children:(0,t.jsxs)(X,{ref:i,className:(0,n.cn)("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border border-gray-200 dark:border-gray-800 bg-background text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===l&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",e),position:l,...o,children:[(0,t.jsx)(eL,{}),(0,t.jsx)(eo,{className:(0,n.cn)("p-1","popper"===l&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:r}),(0,t.jsx)(eD,{})]})}));eO.displayName=X.displayName,r.forwardRef(({className:e,...r},l)=>(0,t.jsx)(eu,{ref:l,className:(0,n.cn)("px-2 py-1.5 text-sm font-semibold",e),...r})).displayName=eu.displayName;let ez=r.forwardRef(({className:e,children:r,...l},o)=>(0,t.jsxs)(eh,{ref:o,className:(0,n.cn)("relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",e),...l,children:[(0,t.jsx)("span",{className:"absolute right-2 flex h-3.5 w-3.5 items-center justify-center",children:(0,t.jsx)(ex,{children:(0,t.jsx)(eI,{className:"h-4 w-4"})})}),(0,t.jsx)(ev,{children:r})]}));ez.displayName=eh.displayName,r.forwardRef(({className:e,...r},l)=>(0,t.jsx)(eR,{ref:l,className:(0,n.cn)("-mx-1 my-1 h-px bg-muted",e),...r})).displayName=eR.displayName,e.s(["Select",()=>V,"SelectContent",()=>eO,"SelectItem",()=>ez,"SelectTrigger",()=>eH,"SelectValue",()=>W],8737)}]);
@@ -1,5 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,30827,(e,t,o)=>{t.exports=e.r(1698)},20315,e=>{"use strict";let t=(0,e.i(22436).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",()=>t],20315)},39779,39065,e=>{"use strict";var t=e.i(90022),o=e.i(31231),a=e.i(91967),r=e.i(30406),n=e.i(79014),s=e.i(15599),i=e.i(93136),l=e.i(55235),d=e.i(31007),c=e.i(14260),u=e.i(11052),p=e.i(22925),f=e.i(54440),g=e.i(97496),m=e.i(73772),x=e.i(65489),h="Dialog",[v,y]=(0,n.createContextScope)(h),[D,b]=v(h),j=e=>{let{__scopeDialog:a,children:r,open:n,defaultOpen:l,onOpenChange:d,modal:c=!0}=e,u=o.useRef(null),p=o.useRef(null),[f,g]=(0,i.useControllableState)({prop:n,defaultProp:l??!1,onChange:d,caller:h});return(0,t.jsx)(D,{scope:a,triggerRef:u,contentRef:p,contentId:(0,s.useId)(),titleId:(0,s.useId)(),descriptionId:(0,s.useId)(),open:f,onOpenChange:g,onOpenToggle:o.useCallback(()=>g(e=>!e),[g]),modal:c,children:r})};j.displayName=h;var R="DialogTrigger",N=o.forwardRef((e,o)=>{let{__scopeDialog:n,...s}=e,i=b(R,n),l=(0,r.useComposedRefs)(o,i.triggerRef);return(0,t.jsx)(p.Primitive.button,{type:"button","aria-haspopup":"dialog","aria-expanded":i.open,"aria-controls":i.contentId,"data-state":W(i.open),...s,ref:l,onClick:(0,a.composeEventHandlers)(e.onClick,i.onOpenToggle)})});N.displayName=R;var C="DialogPortal",[w,I]=v(C,{forceMount:void 0}),P=e=>{let{__scopeDialog:a,forceMount:r,children:n,container:s}=e,i=b(C,a);return(0,t.jsx)(w,{scope:a,forceMount:r,children:o.Children.map(n,e=>(0,t.jsx)(u.Presence,{present:r||i.open,children:(0,t.jsx)(c.Portal,{asChild:!0,container:s,children:e})}))})};P.displayName=C;var O="DialogOverlay",k=o.forwardRef((e,o)=>{let a=I(O,e.__scopeDialog),{forceMount:r=a.forceMount,...n}=e,s=b(O,e.__scopeDialog);return s.modal?(0,t.jsx)(u.Presence,{present:r||s.open,children:(0,t.jsx)(F,{...n,ref:o})}):null});k.displayName=O;var E=(0,x.createSlot)("DialogOverlay.RemoveScroll"),F=o.forwardRef((e,o)=>{let{__scopeDialog:a,...r}=e,n=b(O,a);return(0,t.jsx)(g.RemoveScroll,{as:E,allowPinchZoom:!0,shards:[n.contentRef],children:(0,t.jsx)(p.Primitive.div,{"data-state":W(n.open),...r,ref:o,style:{pointerEvents:"auto",...r.style}})})}),H="DialogContent",T=o.forwardRef((e,o)=>{let a=I(H,e.__scopeDialog),{forceMount:r=a.forceMount,...n}=e,s=b(H,e.__scopeDialog);return(0,t.jsx)(u.Presence,{present:r||s.open,children:s.modal?(0,t.jsx)(M,{...n,ref:o}):(0,t.jsx)(_,{...n,ref:o})})});T.displayName=H;var M=o.forwardRef((e,n)=>{let s=b(H,e.__scopeDialog),i=o.useRef(null),l=(0,r.useComposedRefs)(n,s.contentRef,i);return o.useEffect(()=>{let e=i.current;if(e)return(0,m.hideOthers)(e)},[]),(0,t.jsx)(A,{...e,ref:l,trapFocus:s.open,disableOutsidePointerEvents:!0,onCloseAutoFocus:(0,a.composeEventHandlers)(e.onCloseAutoFocus,e=>{e.preventDefault(),s.triggerRef.current?.focus()}),onPointerDownOutside:(0,a.composeEventHandlers)(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,o=0===t.button&&!0===t.ctrlKey;(2===t.button||o)&&e.preventDefault()}),onFocusOutside:(0,a.composeEventHandlers)(e.onFocusOutside,e=>e.preventDefault())})}),_=o.forwardRef((e,a)=>{let r=b(H,e.__scopeDialog),n=o.useRef(!1),s=o.useRef(!1);return(0,t.jsx)(A,{...e,ref:a,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(n.current||r.triggerRef.current?.focus(),t.preventDefault()),n.current=!1,s.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(n.current=!0,"pointerdown"===t.detail.originalEvent.type&&(s.current=!0));let o=t.target;r.triggerRef.current?.contains(o)&&t.preventDefault(),"focusin"===t.detail.originalEvent.type&&s.current&&t.preventDefault()}})}),A=o.forwardRef((e,a)=>{let{__scopeDialog:n,trapFocus:s,onOpenAutoFocus:i,onCloseAutoFocus:c,...u}=e,p=b(H,n),g=o.useRef(null),m=(0,r.useComposedRefs)(a,g);return(0,f.useFocusGuards)(),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.FocusScope,{asChild:!0,loop:!0,trapped:s,onMountAutoFocus:i,onUnmountAutoFocus:c,children:(0,t.jsx)(l.DismissableLayer,{role:"dialog",id:p.contentId,"aria-describedby":p.descriptionId,"aria-labelledby":p.titleId,"data-state":W(p.open),...u,ref:m,onDismiss:()=>p.onOpenChange(!1)})}),(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(L,{titleId:p.titleId}),(0,t.jsx)(X,{contentRef:g,descriptionId:p.descriptionId})]})]})}),S="DialogTitle",z=o.forwardRef((e,o)=>{let{__scopeDialog:a,...r}=e,n=b(S,a);return(0,t.jsx)(p.Primitive.h2,{id:n.titleId,...r,ref:o})});z.displayName=S;var $="DialogDescription",B=o.forwardRef((e,o)=>{let{__scopeDialog:a,...r}=e,n=b($,a);return(0,t.jsx)(p.Primitive.p,{id:n.descriptionId,...r,ref:o})});B.displayName=$;var K="DialogClose",U=o.forwardRef((e,o)=>{let{__scopeDialog:r,...n}=e,s=b(K,r);return(0,t.jsx)(p.Primitive.button,{type:"button",...n,ref:o,onClick:(0,a.composeEventHandlers)(e.onClick,()=>s.onOpenChange(!1))})});function W(e){return e?"open":"closed"}U.displayName=K;var V="DialogTitleWarning",[q,G]=(0,n.createContext)(V,{contentName:H,titleName:S,docsSlug:"dialog"}),L=({titleId:e})=>{let t=G(V),a=`\`${t.contentName}\` requires a \`${t.titleName}\` for the component to be accessible for screen reader users.
2
-
3
- If you want to hide the \`${t.titleName}\`, you can wrap it with our VisuallyHidden component.
4
-
5
- For more information, see https://radix-ui.com/primitives/docs/components/${t.docsSlug}`;return o.useEffect(()=>{e&&(document.getElementById(e)||console.error(a))},[a,e]),null},X=({contentRef:e,descriptionId:t})=>{let a=G("DialogDescriptionWarning"),r=`Warning: Missing \`Description\` or \`aria-describedby={undefined}\` for {${a.contentName}}.`;return o.useEffect(()=>{let o=e.current?.getAttribute("aria-describedby");t&&o&&(document.getElementById(t)||console.warn(r))},[r,e,t]),null};e.s(["Close",()=>U,"Content",()=>T,"Description",()=>B,"Overlay",()=>k,"Portal",()=>P,"Root",()=>j,"Title",()=>z,"Trigger",()=>N],39065);var Z=e.i(44021),J=e.i(32137);let Q=o.forwardRef(({className:e,...o},a)=>(0,t.jsx)(k,{ref:a,className:(0,J.cn)("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...o}));Q.displayName=k.displayName;let Y=o.forwardRef(({className:e,children:o,...a},r)=>(0,t.jsxs)(P,{children:[(0,t.jsx)(Q,{}),(0,t.jsxs)(T,{ref:r,className:(0,J.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...a,children:[o,(0,t.jsxs)(U,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[(0,t.jsx)(Z.X,{className:"h-4 w-4"}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));Y.displayName=T.displayName;let ee=({className:e,...o})=>(0,t.jsx)("div",{className:(0,J.cn)("flex flex-col space-y-1.5 text-center sm:text-left",e),...o});ee.displayName="DialogHeader";let et=o.forwardRef(({className:e,...o},a)=>(0,t.jsx)(z,{ref:a,className:(0,J.cn)("text-lg font-semibold leading-none tracking-tight",e),...o}));et.displayName=z.displayName;let eo=o.forwardRef(({className:e,...o},a)=>(0,t.jsx)(B,{ref:a,className:(0,J.cn)("text-sm text-muted-foreground",e),...o}));eo.displayName=B.displayName,e.s(["Dialog",()=>j,"DialogContent",()=>Y,"DialogDescription",()=>eo,"DialogHeader",()=>ee,"DialogTitle",()=>et],39779)},97332,e=>{"use strict";let t=(0,e.i(22436).default)("house",[["path",{d:"M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8",key:"5wwlr5"}],["path",{d:"M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z",key:"r6nss1"}]]);e.s(["Home",()=>t],97332)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,22764,e=>{"use strict";let t=(0,e.i(22436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>t],22764)},28954,(e,t,r)=>{e.e,t.exports=function(){"use strict";var e="millisecond",t="second",r="minute",n="hour",s="week",i="month",a="quarter",l="year",o="date",c="Invalid Date",u=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,d=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,h=function(e,t,r){var n=String(e);return!n||n.length>=t?e:""+Array(t+1-n.length).join(r)+e},f="en",m={};m[f]={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(e){var t=["th","st","nd","rd"],r=e%100;return"["+e+(t[(r-20)%10]||t[r]||t[0])+"]"}};var p="$isDayjsObject",x=function(e){return e instanceof w||!(!e||!e[p])},g=function e(t,r,n){var s;if(!t)return f;if("string"==typeof t){var i=t.toLowerCase();m[i]&&(s=i),r&&(m[i]=r,s=i);var a=t.split("-");if(!s&&a.length>1)return e(a[0])}else{var l=t.name;m[l]=t,s=l}return!n&&s&&(f=s),s||!n&&f},v=function(e,t){if(x(e))return e.clone();var r="object"==typeof t?t:{};return r.date=e,r.args=arguments,new w(r)},S={s:h,z:function(e){var t=-e.utcOffset(),r=Math.abs(t);return(t<=0?"+":"-")+h(Math.floor(r/60),2,"0")+":"+h(r%60,2,"0")},m:function e(t,r){if(t.date()<r.date())return-e(r,t);var n=12*(r.year()-t.year())+(r.month()-t.month()),s=t.clone().add(n,i),a=r-s<0,l=t.clone().add(n+(a?-1:1),i);return+(-(n+(r-s)/(a?s-l:l-s))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(c){return({M:i,y:l,w:s,d:"day",D:o,h:n,m:r,s:t,ms:e,Q:a})[c]||String(c||"").toLowerCase().replace(/s$/,"")},u:function(e){return void 0===e}};S.l=g,S.i=x,S.w=function(e,t){return v(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var w=function(){function h(e){this.$L=g(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[p]=!0}var f=h.prototype;return f.parse=function(e){this.$d=function(e){var t=e.date,r=e.utc;if(null===t)return new Date(NaN);if(S.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var n=t.match(u);if(n){var s=n[2]-1||0,i=(n[7]||"0").substring(0,3);return r?new Date(Date.UTC(n[1],s,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)):new Date(n[1],s,n[3]||1,n[4]||0,n[5]||0,n[6]||0,i)}}return new Date(t)}(e),this.init()},f.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},f.$utils=function(){return S},f.isValid=function(){return this.$d.toString()!==c},f.isSame=function(e,t){var r=v(e);return this.startOf(t)<=r&&r<=this.endOf(t)},f.isAfter=function(e,t){return v(e)<this.startOf(t)},f.isBefore=function(e,t){return this.endOf(t)<v(e)},f.$g=function(e,t,r){return S.u(e)?this[t]:this.set(r,e)},f.unix=function(){return Math.floor(this.valueOf()/1e3)},f.valueOf=function(){return this.$d.getTime()},f.startOf=function(e,a){var c=this,u=!!S.u(a)||a,d=S.p(e),h=function(e,t){var r=S.w(c.$u?Date.UTC(c.$y,t,e):new Date(c.$y,t,e),c);return u?r:r.endOf("day")},f=function(e,t){return S.w(c.toDate()[e].apply(c.toDate("s"),(u?[0,0,0,0]:[23,59,59,999]).slice(t)),c)},m=this.$W,p=this.$M,x=this.$D,g="set"+(this.$u?"UTC":"");switch(d){case l:return u?h(1,0):h(31,11);case i:return u?h(1,p):h(0,p+1);case s:var v=this.$locale().weekStart||0,w=(m<v?m+7:m)-v;return h(u?x-w:x+(6-w),p);case"day":case o:return f(g+"Hours",0);case n:return f(g+"Minutes",1);case r:return f(g+"Seconds",2);case t:return f(g+"Milliseconds",3);default:return this.clone()}},f.endOf=function(e){return this.startOf(e,!1)},f.$set=function(s,a){var c,u=S.p(s),d="set"+(this.$u?"UTC":""),h=((c={}).day=d+"Date",c[o]=d+"Date",c[i]=d+"Month",c[l]=d+"FullYear",c[n]=d+"Hours",c[r]=d+"Minutes",c[t]=d+"Seconds",c[e]=d+"Milliseconds",c)[u],f="day"===u?this.$D+(a-this.$W):a;if(u===i||u===l){var m=this.clone().set(o,1);m.$d[h](f),m.init(),this.$d=m.set(o,Math.min(this.$D,m.daysInMonth())).$d}else h&&this.$d[h](f);return this.init(),this},f.set=function(e,t){return this.clone().$set(e,t)},f.get=function(e){return this[S.p(e)]()},f.add=function(e,a){var o,c=this;e=Number(e);var u=S.p(a),d=function(t){var r=v(c);return S.w(r.date(r.date()+Math.round(t*e)),c)};if(u===i)return this.set(i,this.$M+e);if(u===l)return this.set(l,this.$y+e);if("day"===u)return d(1);if(u===s)return d(7);var h=((o={})[r]=6e4,o[n]=36e5,o[t]=1e3,o)[u]||1,f=this.$d.getTime()+e*h;return S.w(f,this)},f.subtract=function(e,t){return this.add(-1*e,t)},f.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return r.invalidDate||c;var n=e||"YYYY-MM-DDTHH:mm:ssZ",s=S.z(this),i=this.$H,a=this.$m,l=this.$M,o=r.weekdays,u=r.months,h=r.meridiem,f=function(e,r,s,i){return e&&(e[r]||e(t,n))||s[r].slice(0,i)},m=function(e){return S.s(i%12||12,e,"0")},p=h||function(e,t,r){var n=e<12?"AM":"PM";return r?n.toLowerCase():n};return n.replace(d,function(e,n){return n||function(e){switch(e){case"YY":return String(t.$y).slice(-2);case"YYYY":return S.s(t.$y,4,"0");case"M":return l+1;case"MM":return S.s(l+1,2,"0");case"MMM":return f(r.monthsShort,l,u,3);case"MMMM":return f(u,l);case"D":return t.$D;case"DD":return S.s(t.$D,2,"0");case"d":return String(t.$W);case"dd":return f(r.weekdaysMin,t.$W,o,2);case"ddd":return f(r.weekdaysShort,t.$W,o,3);case"dddd":return o[t.$W];case"H":return String(i);case"HH":return S.s(i,2,"0");case"h":return m(1);case"hh":return m(2);case"a":return p(i,a,!0);case"A":return p(i,a,!1);case"m":return String(a);case"mm":return S.s(a,2,"0");case"s":return String(t.$s);case"ss":return S.s(t.$s,2,"0");case"SSS":return S.s(t.$ms,3,"0");case"Z":return s}return null}(e)||s.replace(":","")})},f.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},f.diff=function(e,o,c){var u,d=this,h=S.p(o),f=v(e),m=(f.utcOffset()-this.utcOffset())*6e4,p=this-f,x=function(){return S.m(d,f)};switch(h){case l:u=x()/12;break;case i:u=x();break;case a:u=x()/3;break;case s:u=(p-m)/6048e5;break;case"day":u=(p-m)/864e5;break;case n:u=p/36e5;break;case r:u=p/6e4;break;case t:u=p/1e3;break;default:u=p}return c?u:S.a(u)},f.daysInMonth=function(){return this.endOf(i).$D},f.$locale=function(){return m[this.$L]},f.locale=function(e,t){if(!e)return this.$L;var r=this.clone(),n=g(e,t,!0);return n&&(r.$L=n),r},f.clone=function(){return S.w(this.$d,this)},f.toDate=function(){return new Date(this.valueOf())},f.toJSON=function(){return this.isValid()?this.toISOString():null},f.toISOString=function(){return this.$d.toISOString()},f.toString=function(){return this.$d.toUTCString()},h}(),y=w.prototype;return v.prototype=y,[["$ms",e],["$s",t],["$m",r],["$H",n],["$W","day"],["$M",i],["$y",l],["$D",o]].forEach(function(e){y[e[1]]=function(t){return this.$g(t,e[0],e[1])}}),v.extend=function(e,t){return e.$i||(e(t,w,v),e.$i=!0),v},v.locale=g,v.isDayjs=x,v.unix=function(e){return v(1e3*e)},v.en=m[f],v.Ls=m,v.p={},v}()},12437,(e,t,r)=>{e.e,t.exports=function(e,t,r){e=e||{};var n=t.prototype,s={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function i(e,t,r,s){return n.fromToBase(e,t,r,s)}r.en.relativeTime=s,n.fromToBase=function(t,n,i,a,l){for(var o,c,u,d=i.$locale().relativeTime||s,h=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],f=h.length,m=0;m<f;m+=1){var p=h[m];p.d&&(o=a?r(t).diff(i,p.d,!0):i.diff(t,p.d,!0));var x=(e.rounding||Math.round)(Math.abs(o));if(u=o>0,x<=p.r||!p.r){x<=1&&m>0&&(p=h[m-1]);var g=d[p.l];l&&(x=l(""+x)),c="string"==typeof g?g.replace("%d",x):g(x,n,p.l,u);break}}if(n)return c;var v=u?d.future:d.past;return"function"==typeof v?v(c):v.replace("%s",c)},n.to=function(e,t){return i(e,t,this,!0)},n.from=function(e,t){return i(e,t,this)};var a=function(e){return e.$u?r.utc():r()};n.toNow=function(e){return this.to(a(this),e)},n.fromNow=function(e){return this.from(a(this),e)}}},17612,45878,22453,e=>{"use strict";var t=e.i(90022),r=e.i(31231),n=e.i(87985);let s="u">typeof window?r.useLayoutEffect:r.useEffect;function i(e){if(void 0!==e)switch(typeof e){case"number":return e;case"string":if(e.endsWith("px"))return parseFloat(e)}}let a=null;function l({containerElement:e,direction:t,isRtl:r,scrollOffset:n}){if("horizontal"===t&&r)switch(function(e=!1){if(null===a||e){let e=document.createElement("div"),t=e.style;t.width="50px",t.height="50px",t.overflow="scroll",t.direction="rtl";let r=document.createElement("div"),n=r.style;return n.width="100px",n.height="100px",e.appendChild(r),document.body.appendChild(e),e.scrollLeft>0?a="positive-descending":(e.scrollLeft=1,a=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),a}return a}()){case"negative":return-n;case"positive-descending":if(e){let{clientWidth:t,scrollLeft:r,scrollWidth:n}=e;return n-t-r}}return n}function o(e,t="Assertion error"){if(!e)throw console.error(t),Error(t)}function c(e,t){if(e===t)return!0;if(!!e!=!!t||(o(void 0!==e),o(void 0!==t),Object.keys(e).length!==Object.keys(t).length))return!1;for(let r in e)if(!Object.is(t[r],e[r]))return!1;return!0}function u({cachedBounds:e,itemCount:t,itemSize:r}){if(0===t)return 0;if("number"==typeof r)return t*r;{let r=e.get(0===e.size?0:e.size-1);return o(void 0!==r,"Unexpected bounds cache miss"),t*((r.scrollOffset+r.size)/e.size)}}function d({cachedBounds:e,containerScrollOffset:t,containerSize:r,itemCount:n,overscanCount:s}){let i=n-1,a=0,l=-1,o=0,c=-1,u=0;for(;u<i;){let r=e.get(u);if(r.scrollOffset+r.size>t)break;u++}for(o=Math.max(0,(a=u)-s);u<i;){let n=e.get(u);if(n.scrollOffset+n.size>=t+r)break;u++}return c=Math.min(n-1,(l=Math.min(i,u))+s),a<0&&(a=0,l=-1,o=0,c=-1),{startIndexVisible:a,stopIndexVisible:l,startIndexOverscan:o,stopIndexOverscan:c}}function h(e,t){let{ariaAttributes:r,style:n,...s}=e,{ariaAttributes:i,style:a,...l}=t;return c(r,i)&&c(n,a)&&c(s,l)}function f({children:e,className:n,defaultHeight:a=0,listRef:f,onResize:m,onRowsRendered:p,overscanCount:x=3,rowComponent:g,rowCount:v,rowHeight:S,rowProps:w,tagName:y="div",style:b,...j}){let $=(0,r.useMemo)(()=>w,Object.values(w)),M=(0,r.useMemo)(()=>(0,r.memo)(g,h),[g]),[N,C]=(0,r.useState)(null),I=null!=S&&"object"==typeof S&&"getAverageRowHeight"in S&&"function"==typeof S.getAverageRowHeight,{getCellBounds:z,getEstimatedSize:O,scrollToIndex:T,startIndexOverscan:k,startIndexVisible:D,stopIndexOverscan:A,stopIndexVisible:E}=function({containerElement:e,containerStyle:t,defaultContainerSize:n=0,direction:a,isRtl:h=!1,itemCount:f,itemProps:m,itemSize:p,onResize:x,overscanCount:g}){var v;let S,[w,y]=(0,r.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:b,startIndexOverscan:j,stopIndexVisible:$,stopIndexOverscan:M}={startIndexVisible:Math.min(f-1,w.startIndexVisible),startIndexOverscan:Math.min(f-1,w.startIndexOverscan),stopIndexVisible:Math.min(f-1,w.stopIndexVisible),stopIndexOverscan:Math.min(f-1,w.stopIndexOverscan)},{height:N=n,width:C=n}=function({box:e,defaultHeight:t,defaultWidth:n,disabled:a,element:l,mode:o,style:c}){let{styleHeight:u,styleWidth:d}=(0,r.useMemo)(()=>({styleHeight:i(c?.height),styleWidth:i(c?.width)}),[c?.height,c?.width]),[h,f]=(0,r.useState)({height:t,width:n}),m=a||"only-height"===o&&void 0!==u||"only-width"===o&&void 0!==d||void 0!==u&&void 0!==d;return s(()=>{if(null===l||m)return;let t=new ResizeObserver(e=>{for(let t of e){let{contentRect:e,target:r}=t;l===r&&f(t=>t.height===e.height&&t.width===e.width?t:{height:e.height,width:e.width})}});return t.observe(l,{box:e}),()=>{t?.unobserve(l)}},[e,m,l,u,d]),(0,r.useMemo)(()=>({height:u??h.height,width:d??h.width}),[h,u,d])}({defaultHeight:"vertical"===a?n:void 0,defaultWidth:"horizontal"===a?n:void 0,element:e,mode:"vertical"===a?"only-height":"only-width",style:t}),I=(0,r.useRef)({height:0,width:0}),z="vertical"===a?N:C,O=function({containerSize:e,itemSize:t}){let r;return"string"==typeof t?(o(t.endsWith("%"),`Invalid item size: "${t}"; string values must be percentages (e.g. "100%")`),o(void 0!==e,"Container size must be defined if a percentage item size is specified"),r=e*parseInt(t)/100):r=t,r}({containerSize:z,itemSize:p});(0,r.useLayoutEffect)(()=>{if("function"==typeof x){let e=I.current;(e.height!==N||e.width!==C)&&(x({height:N,width:C},{...e}),e.height=N,e.width=C)}},[N,x,C]);let T=function({itemCount:e,itemProps:t,itemSize:n}){return(0,r.useMemo)(()=>(function({itemCount:e,itemProps:t,itemSize:r}){let n=new Map;return{get(s){for(o(s<e,`Invalid index ${s}`);n.size-1<s;){let e,i=n.size;switch(typeof r){case"function":e=r(i,t);break;case"number":e=r}if(0===i)n.set(i,{size:e,scrollOffset:0});else{let t=n.get(i-1);o(void 0!==t,`Unexpected bounds cache miss for index ${s}`),n.set(i,{scrollOffset:t.scrollOffset+t.size,size:e})}}let i=n.get(s);return o(void 0!==i,`Unexpected bounds cache miss for index ${s}`),i},set(e,t){n.set(e,t)},get size(){return n.size}}})({itemCount:e,itemProps:t,itemSize:n}),[e,t,n])}({itemCount:f,itemProps:m,itemSize:O}),k=(0,r.useCallback)(e=>T.get(e),[T]),D=(0,r.useCallback)(()=>u({cachedBounds:T,itemCount:f,itemSize:O}),[T,f,O]),A=(0,r.useCallback)(t=>d({cachedBounds:T,containerScrollOffset:l({containerElement:e,direction:a,isRtl:h,scrollOffset:t}),containerSize:z,itemCount:f,overscanCount:g}),[T,e,z,a,h,f,g]);return s(()=>{y(A(("vertical"===a?e?.scrollTop:e?.scrollLeft)??0))},[e,a,A]),s(()=>{if(!e)return;let t=()=>{y(t=>{let{scrollLeft:r,scrollTop:n}=e,s=d({cachedBounds:T,containerScrollOffset:l({containerElement:e,direction:a,isRtl:h,scrollOffset:"vertical"===a?n:r}),containerSize:z,itemCount:f,overscanCount:g});return c(s,t)?t:s})};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[T,e,z,a,f,g]),{getCellBounds:k,getEstimatedSize:D,scrollToIndex:(v=({align:t="auto",containerScrollOffset:r,index:n})=>{let s=function({align:e,cachedBounds:t,index:r,itemCount:n,itemSize:s,containerScrollOffset:i,containerSize:a}){if(r<0||r>=n)throw RangeError(`Invalid index specified: ${r}`,{cause:`Index ${r} is not within the range of 0 - ${n-1}`});let l=u({cachedBounds:t,itemCount:n,itemSize:s}),o=t.get(r),c=Math.max(0,Math.min(l-a,o.scrollOffset)),d=Math.max(0,o.scrollOffset-a+o.size);switch("smart"===e&&(e=i>=d&&i<=c?"auto":"center"),e){case"start":return c;case"end":return d;case"center":return o.scrollOffset<=a/2?0:o.scrollOffset+o.size/2>=l-a/2?l-a:o.scrollOffset+o.size/2-a/2;default:return i>=d&&i<=c?i:i<d?d:c}}({align:t,cachedBounds:T,containerScrollOffset:r,containerSize:z,index:n,itemCount:f,itemSize:O});if(e){if(s=l({containerElement:e,direction:a,isRtl:h,scrollOffset:s}),"function"!=typeof e.scrollTo){let e=A(s);c(w,e)||y(e)}return s}},S=(0,r.useRef)(()=>{throw Error("Cannot call during render.")}),s(()=>{S.current=v},[v]),(0,r.useCallback)(e=>S.current?.(e),[S])),startIndexOverscan:j,startIndexVisible:b,stopIndexOverscan:M,stopIndexVisible:$}}({containerElement:N,containerStyle:b,defaultContainerSize:a,direction:"vertical",itemCount:v,itemProps:$,itemSize:(0,r.useMemo)(()=>I?e=>S.getRowHeight(e)??S.getAverageRowHeight():S,[I,S]),onResize:m,overscanCount:x});(0,r.useImperativeHandle)(f,()=>({get element(){return N},scrollToRow({align:e="auto",behavior:t="auto",index:r}){let n=T({align:e,containerScrollOffset:N?.scrollTop??0,index:r});"function"==typeof N?.scrollTo&&N.scrollTo({behavior:t,top:n})}}),[N,T]),s(()=>{if(!N)return;let e=Array.from(N.children).filter((e,t)=>{if(e.hasAttribute("aria-hidden"))return!1;let r=`${k+t}`;return e.setAttribute("data-react-window-index",r),!0});if(I)return S.observeRowElements(e)},[N,I,S,k,A]),(0,r.useEffect)(()=>{k>=0&&A>=0&&p&&p({startIndex:D,stopIndex:E},{startIndex:k,stopIndex:A})},[p,k,D,A,E]);let R=(0,r.useMemo)(()=>{let e=[];if(v>0)for(let t=k;t<=A;t++){let n=z(t);e.push((0,r.createElement)(M,{...$,ariaAttributes:{"aria-posinset":t+1,"aria-setsize":v,role:"listitem"},key:t,index:t,style:{position:"absolute",left:0,transform:`translateY(${n.scrollOffset}px)`,height:I?void 0:n.size,width:"100%"}}))}return e},[M,z,I,v,$,k,A]),L=(0,t.jsx)("div",{"aria-hidden":!0,style:{height:O(),width:"100%",zIndex:-1}});return(0,r.createElement)(y,{role:"list",...j,className:n,ref:C,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...b}},R,e,L)}r.useState,r.useRef,r.useState,r.useRef;var m=e.i(329),p=e.i(58362),x=e.i(25761),g=e.i(44021),v=e.i(22764);let S=(0,e.i(22436).default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var w=e.i(21079),y=e.i(35893),b=e.i(68497),j=e.i(8402),$=e.i(8737),M=e.i(32137),N=e.i(97705),C=e.i(28954),I=e.i(12437);function z(e){return e?(0,C.default)(e).fromNow():"Unknown"}function O(e,t){if(!e||!t)return"";let r=(0,C.default)(e),n=(0,C.default)(t).diff(r);if(n<0)return"";let s=Math.floor(n/864e5),i=Math.floor(n%864e5/36e5);if(0===s&&0===i){let e=Math.floor(n%36e5/6e4);return 0===e?"< 1m":`${e}m`}if(0===s)return`${i}h`;if(s<30)return i>0?`${s}d ${i}h`:`${s}d`;let a=Math.floor(s/30),l=s%30;if(a<12)return l>0?`${a}mo ${l}d`:`${a}mo`;let o=Math.floor(a/12),c=a%12;return c>0?`${o}y ${c}mo`:`${o}y`}C.default.extend(I.default),e.s(["formatDuration",()=>O,"formatRelativeTime",()=>z],45878);let T={specs:[],signature:null,scrollTop:0,activeSpecId:null},k=[],D=new Set,A=new Set,E=new Set;function R(){for(let e of D)e()}function L(e){return D.add(e),()=>{D.delete(e)}}function H(){return T}function B(){return(0,r.useSyncExternalStore)(L,H,()=>T)}function V(){let e=r.useCallback(e=>(A.add(e),()=>{A.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>H().specs,()=>k)}function P(){let e=r.useCallback(e=>(E.add(e),()=>{E.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>H().activeSpecId,()=>null)}function _(e){if(0===e.length)return;let t=e.map(e=>[e.id,e.specNumber??"",e.title??"",e.status??"",e.priority??"",e.updatedAt?new Date(e.updatedAt).getTime():0].join(":")).join("|");if(t!==T.signature)for(let r of(T={...T,specs:e,signature:t},R(),A))r()}function W(e){if(T.activeSpecId!==e)for(let t of(T={...T,activeSpecId:e},R(),E))t()}function Y(e){1>Math.abs(e-T.scrollTop)||(T={...T,scrollTop:e})}function F(){return T.scrollTop}e.s(["getSidebarScrollTop",()=>F,"primeSpecsSidebar",()=>_,"setActiveSidebarSpec",()=>W,"updateSidebarScrollTop",()=>Y,"useSpecsSidebarActiveSpec",()=>P,"useSpecsSidebarSpecs",()=>V,"useSpecsSidebarState",()=>B],22453);let U=r.useLayoutEffect;function q({initialSpecs:e=[],currentSpecId:s,currentSubSpec:i,onSpecHover:a}){let[l,o]=r.useState(""),[c,u]=r.useState("all"),[d,h]=r.useState("all"),[C,I]=r.useState("all"),[O,T]=r.useState(!1),[k,D]=r.useState(()=>"true"===localStorage.getItem("specs-nav-sidebar-collapsed")),[A,E]=r.useState(!1),[R,L]=r.useState(!1),H=r.useRef(null),B=r.useRef(null),_=r.useRef(!1),W=r.useRef(null),q=r.useRef(0),J=r.useRef(!1),Z=r.useRef(!0),K=V(),G=P(),Q=r.useMemo(()=>K.length>0?K:e,[K,e]),X=s||G||"";r.useEffect(()=>{L(!0)},[]),r.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",k?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(k))},[k]),r.useEffect(()=>{E(!1)},[X,i]);let ee=r.useMemo(()=>{let e=Q;if(l){let t=l.toLowerCase();e=e.filter(e=>e.title?.toLowerCase().includes(t)||e.specName.toLowerCase().includes(t)||e.specNumber?.toString().includes(t))}return"all"!==c&&(e=e.filter(e=>e.status===c)),"all"!==d&&(e=e.filter(e=>e.priority===d)),"all"!==C&&(e=e.filter(e=>e.tags?.includes(C))),console.debug(e),e},[Q,l,c,d,C]),et=r.useMemo(()=>{let e=new Set;return Q.forEach(t=>{t.tags?.forEach(t=>e.add(t))}),Array.from(e).sort()},[Q]),er="all"!==c||"all"!==d||"all"!==C,en=r.useMemo(()=>[...ee].sort((e,t)=>(t.specNumber||0)-(e.specNumber||0)),[ee]);U(()=>{let e=null,t=null;q.current=F(),J.current=q.current>0;let r=()=>{let n=W.current?.element;if(!n){e=window.requestAnimationFrame(r);return}_.current||(q.current>0&&(n.scrollTop=q.current),_.current=!0);let s=()=>{null===B.current&&(B.current=window.requestAnimationFrame(()=>{B.current=null,q.current=n.scrollTop,Y(n.scrollTop)}))};n.addEventListener("scroll",s,{passive:!0}),t=()=>{n.removeEventListener("scroll",s)}};return r(),()=>{t&&t(),null!==e&&window.cancelAnimationFrame(e),null!==B.current&&(window.cancelAnimationFrame(B.current),B.current=null)}},[]),U(()=>{if(!Z.current||(Z.current=!1,J.current||!X))return;let e=null,t=()=>{if(J.current)return;if(!_.current||!W.current){e=window.requestAnimationFrame(t);return}let r=en.findIndex(e=>e.id===X);-1!==r&&(J.current=!0,W.current.scrollToRow({index:r,align:"center"}))};return t(),()=>{null!==e&&window.cancelAnimationFrame(e)}},[en,X]),r.useEffect(()=>(window.toggleSpecsSidebar=()=>E(e=>!e),()=>{window.toggleSpecsSidebar=void 0}),[]);let es=r.useCallback(e=>{let{index:r,style:s}=e,l=en[r],o=l.id===X,c=(l.contentMd?(0,M.extractH1Title)(l.contentMd):null)||l.title||l.specName;return(0,t.jsx)("div",{style:s,className:"px-1",children:(0,t.jsx)("div",{className:"mb-0.5",children:(0,t.jsx)("div",{className:"flex items-center gap-0.5",children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(n.default,{ref:o&&!i?H:null,href:`/specs/${l.specNumber||l.id}`,onMouseEnter:()=>a?.(l.specNumber?.toString()||l.id),className:(0,M.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",o?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[l.specNumber&&(0,t.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",l.specNumber.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:"truncate text-xs leading-relaxed",children:c})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[l.status&&(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(b.StatusBadge,{status:l.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(j.TooltipContent,{side:"right",children:(0,b.getStatusLabel)(l.status)})]}),l.priority&&(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(N.PriorityBadge,{priority:l.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(j.TooltipContent,{side:"right",children:(0,N.getPriorityLabel)(l.priority)})]}),"number"==typeof l.subSpecsCount&&l.subSpecsCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",l.subSpecsCount," files"]}),l.updatedAt&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:z(l.updatedAt)})]})]})}),(0,t.jsx)(j.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-semibold",children:c}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:l.specName})]})})]})})})})},[en,X,i,a]),ei=r.useMemo(()=>window.innerHeight-56-180,[]),ea=r.useMemo(()=>r.memo(f),[]);return(0,t.jsxs)(j.TooltipProvider,{delayDuration:700,children:[A&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>E(!1)}),(0,t.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,t.jsxs)("aside",{className:(0,M.cn)("sticky top-14 h-[calc(100vh-3.5rem)] border-r border-border bg-background flex flex-col overflow-hidden transition-all duration-300","hidden lg:flex",R&&k?"lg:w-0 lg:border-r-0":"lg:w-[280px]",A&&"fixed left-0 top-14 z-50 flex w-[280px]"),children:[(0,t.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(y.Button,{variant:O||er?"default":"ghost",size:"sm",onClick:()=>T(!O),className:"h-6 w-6 p-0",children:(0,t.jsx)(S,{className:"h-4 w-4"})})}),(0,t.jsx)(j.TooltipContent,{side:"bottom",children:O?"Hide filters":"Show filters"})]}),(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>E(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,t.jsx)(g.X,{className:"h-4 w-4"})}),(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>D(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,t.jsx)(p.ChevronLeft,{className:"h-4 w-4"})})]})]}),O&&(0,t.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),er&&(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>{u("all"),h("all"),I("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,t.jsxs)($.Select,{value:c,onValueChange:u,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Status"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Status"}),(0,t.jsx)($.SelectItem,{value:"planned",children:"Planned"}),(0,t.jsx)($.SelectItem,{value:"in-progress",children:"In Progress"}),(0,t.jsx)($.SelectItem,{value:"complete",children:"Complete"}),(0,t.jsx)($.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,t.jsxs)($.Select,{value:d,onValueChange:h,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Priority"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Priority"}),(0,t.jsx)($.SelectItem,{value:"low",children:"Low"}),(0,t.jsx)($.SelectItem,{value:"medium",children:"Medium"}),(0,t.jsx)($.SelectItem,{value:"high",children:"High"}),(0,t.jsx)($.SelectItem,{value:"critical",children:"Critical"})]})]}),et.length>0&&(0,t.jsxs)($.Select,{value:C,onValueChange:I,children:[(0,t.jsx)($.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)($.SelectValue,{placeholder:"Tag"})}),(0,t.jsxs)($.SelectContent,{children:[(0,t.jsx)($.SelectItem,{value:"all",children:"All Tags"}),et.map(e=>(0,t.jsx)($.SelectItem,{value:e,children:e},e))]})]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(m.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(w.Input,{placeholder:"Search specs...",value:l,onChange:e=>o(e.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,t.jsx)("div",{className:"flex-1 overflow-hidden",children:0===en.length?(0,t.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,t.jsx)(ea,{listRef:W,defaultHeight:ei,rowCount:en.length,rowHeight:72,overscanCount:5,rowComponent:es,rowProps:{}})})]}),R&&k&&(0,t.jsx)(y.Button,{variant:"ghost",size:"sm",onClick:()=>D(!1),className:"hidden lg:items-center lg:justify-center lg:flex h-6 w-6 p-0 fixed z-50 top-20 -translate-y-1 -translate-x-1/2 left-[calc(var(--main-sidebar-width,240px))] bg-background border",children:(0,t.jsx)(x.ChevronRight,{className:"h-4 w-4"})}),(0,t.jsx)(y.Button,{onClick:()=>E(!0),size:"icon",className:"lg:hidden fixed bottom-6 left-6 h-12 w-12 rounded-full shadow-lg z-40 hover:scale-110 transition-transform","aria-label":"Show specifications list",children:(0,t.jsx)(v.List,{className:"h-5 w-5"})})]})]})}e.s(["SpecsNavSidebar",()=>q],17612)},53213,e=>{"use strict";var t=e.i(90022),r=e.i(17612),n=e.i(32137);function s({className:e,...r}){return(0,t.jsx)("div",{className:(0,n.cn)("animate-pulse rounded-md bg-muted",e),...r})}var i=e.i(22453);function a(){let e=(0,i.useSpecsSidebarState)(),n=e.specs,a=e.activeSpecId||"";return(0,t.jsxs)("div",{className:"flex min-h-[calc(100vh-3.5rem)] w-full min-w-0",children:[(0,t.jsx)(r.SpecsNavSidebar,{initialSpecs:n,currentSpecId:a}),(0,t.jsx)("div",{className:"flex-1 min-w-0 px-4 py-6 sm:px-8 sm:py-10",children:(0,t.jsxs)("div",{className:"space-y-6",children:[(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(s,{className:"h-7 w-56"}),(0,t.jsxs)("div",{className:"flex flex-wrap gap-3",children:[(0,t.jsx)(s,{className:"h-6 w-24"}),(0,t.jsx)(s,{className:"h-6 w-24"}),(0,t.jsx)(s,{className:"h-6 w-20"})]}),(0,t.jsx)(s,{className:"h-4 w-64"})]}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(s,{className:"h-5 w-40"}),(0,t.jsx)(s,{className:"h-32 w-full"})]}),(0,t.jsx)("div",{className:"space-y-4",children:[...Array(6)].map((e,r)=>(0,t.jsx)(s,{className:"h-4 w-full"},r))})]})})]})}e.s(["SpecDetailLoadingShell",()=>a],53213)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,36242,(e,t,r)=>{"use strict";var n=e.r(95635),u={stream:!0};function o(t){var r=e.r(t);return"function"!=typeof r.then||"fulfilled"===r.status?null:(r.then(function(e){r.status="fulfilled",r.value=e},function(e){r.status="rejected",r.reason=e}),r)}var a=new WeakSet,l=new WeakSet;function i(){}function s(t){for(var r=t[1],n=[],u=0;u<r.length;u++){var s=e.L(r[u]);if(l.has(s)||n.push(s),!a.has(s)){var c=l.add.bind(l,s);s.then(c,i),a.add(s)}}return 4===t.length?0===n.length?o(t[0]):Promise.all(n).then(function(){return o(t[0])}):0<n.length?Promise.all(n):null}function c(t){var r=e.r(t[0]);if(4===t.length&&"function"==typeof r.then)if("fulfilled"===r.status)r=r.value;else throw r.reason;return"*"===t[2]?r:""===t[2]?r.__esModule?r.default:r:r[t[2]]}var f=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,d=Symbol.for("react.transitional.element"),p=Symbol.for("react.lazy"),h=Symbol.iterator,v=Symbol.asyncIterator,_=Array.isArray,y=Object.getPrototypeOf,b=Object.prototype,g=new WeakMap;function m(e,t,r){g.has(e)||g.set(e,{id:t,originalBind:e.bind,bound:r})}function E(e,t,r){this.status=e,this.value=t,this.reason=r}function R(e){switch(e.status){case"resolved_model":U(e);break;case"resolved_module":C(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"halted":throw e;default:throw e.reason}}function O(e,t){for(var r=0;r<e.length;r++){var n=e[r];"function"==typeof n?n(t):F(n,t)}}function S(e,t){for(var r=0;r<e.length;r++){var n=e[r];"function"==typeof n?n(t):L(n,t)}}function w(e,t){var r=t.handler.chunk;if(null===r)return null;if(r===e)return t.handler;if(null!==(t=r.value))for(r=0;r<t.length;r++){var n=t[r];if("function"!=typeof n&&null!==(n=w(e,n)))return n}return null}function P(e,t,r){switch(e.status){case"fulfilled":O(t,e.value);break;case"blocked":for(var n=0;n<t.length;n++){var u=t[n];if("function"!=typeof u){var o=w(e,u);if(null!==o)switch(F(u,o.value),t.splice(n,1),n--,null!==r&&-1!==(u=r.indexOf(u))&&r.splice(u,1),e.status){case"fulfilled":O(t,e.value);return;case"rejected":null!==r&&S(r,e.reason);return}}}case"pending":if(e.value)for(n=0;n<t.length;n++)e.value.push(t[n]);else e.value=t;if(e.reason){if(r)for(t=0;t<r.length;t++)e.reason.push(r[t])}else e.reason=r;break;case"rejected":r&&S(r,e.reason)}}function T(e,t,r){"pending"!==t.status&&"blocked"!==t.status?t.reason.error(r):(e=t.reason,t.status="rejected",t.reason=r,null!==e&&S(e,r))}function j(e,t,r){return new E("resolved_model",(r?'{"done":true,"value":':'{"done":false,"value":')+t+"}",e)}function A(e,t,r,n){M(e,t,(n?'{"done":true,"value":':'{"done":false,"value":')+r+"}")}function M(e,t,r){if("pending"!==t.status)t.reason.enqueueModel(r);else{var n=t.value,u=t.reason;t.status="resolved_model",t.value=r,t.reason=e,null!==n&&(U(t),P(t,n,u))}}function k(e,t,r){if("pending"===t.status||"blocked"===t.status){e=t.value;var n=t.reason;t.status="resolved_module",t.value=r,null!==e&&(C(t),P(t,e,n))}}E.prototype=Object.create(Promise.prototype),E.prototype.then=function(e,t){switch(this.status){case"resolved_model":U(this);break;case"resolved_module":C(this)}switch(this.status){case"fulfilled":"function"==typeof e&&e(this.value);break;case"pending":case"blocked":"function"==typeof e&&(null===this.value&&(this.value=[]),this.value.push(e)),"function"==typeof t&&(null===this.reason&&(this.reason=[]),this.reason.push(t));break;case"halted":break;default:"function"==typeof t&&t(this.reason)}};var N=null;function U(e){var t=N;N=null;var r=e.value,n=e.reason;e.status="blocked",e.value=null,e.reason=null;try{var u=JSON.parse(r,n._fromJSON),o=e.value;if(null!==o)for(e.value=null,e.reason=null,r=0;r<o.length;r++){var a=o[r];"function"==typeof a?a(u):F(a,u,e)}if(null!==N){if(N.errored)throw N.reason;if(0<N.deps){N.value=u,N.chunk=e;return}}e.status="fulfilled",e.value=u}catch(t){e.status="rejected",e.reason=t}finally{N=t}}function C(e){try{var t=c(e.value);e.status="fulfilled",e.value=t}catch(t){e.status="rejected",e.reason=t}}function I(e,t){e._closed=!0,e._closedReason=t,e._chunks.forEach(function(r){"pending"===r.status&&T(e,r,t)})}function $(e){return{$$typeof:p,_payload:e,_init:R}}function D(e,t){var r=e._chunks,n=r.get(t);return n||(n=e._closed?new E("rejected",null,e._closedReason):new E("pending",null,null),r.set(t,n)),n}function F(e,t){for(var r=e.response,n=e.handler,u=e.parentObject,o=e.key,a=e.map,l=e.path,i=1;i<l.length;i++){for(;"object"==typeof t&&null!==t&&t.$$typeof===p;)if((t=t._payload)===n.chunk)t=n.value;else{switch(t.status){case"resolved_model":U(t);break;case"resolved_module":C(t)}switch(t.status){case"fulfilled":t=t.value;continue;case"blocked":var s=w(t,e);if(null!==s){t=s.value;continue}case"pending":l.splice(0,i-1),null===t.value?t.value=[e]:t.value.push(e),null===t.reason?t.reason=[e]:t.reason.push(e);return;case"halted":return;default:L(e,t.reason);return}}t=t[l[i]]}for(;"object"==typeof t&&null!==t&&t.$$typeof===p;)if((e=t._payload)===n.chunk)t=n.value;else{switch(e.status){case"resolved_model":U(e);break;case"resolved_module":C(e)}if("fulfilled"===e.status){t=e.value;continue}break}r=a(r,t,u,o),u[o]=r,""===o&&null===n.value&&(n.value=r),u[0]===d&&"object"==typeof n.value&&null!==n.value&&n.value.$$typeof===d&&(u=n.value,"3"===o)&&(u.props=r),n.deps--,0===n.deps&&null!==(o=n.chunk)&&"blocked"===o.status&&(u=o.value,o.status="fulfilled",o.value=n.value,o.reason=n.reason,null!==u&&O(u,n.value))}function L(e,t){var r=e.handler;e=e.response,r.errored||(r.errored=!0,r.value=null,r.reason=t,null!==(r=r.chunk)&&"blocked"===r.status&&T(e,r,t))}function x(e,t,r,n,u,o){if(N){var a=N;a.deps++}else a=N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return t={response:n,handler:a,parentObject:t,key:r,map:u,path:o},null===e.value?e.value=[t]:e.value.push(t),null===e.reason?e.reason=[t]:e.reason.push(t),null}function B(e,t,r,n){if(!e._serverReferenceConfig)return function(e,t){function r(){var e=Array.prototype.slice.call(arguments);return u?"fulfilled"===u.status?t(n,u.value.concat(e)):Promise.resolve(u).then(function(r){return t(n,r.concat(e))}):t(n,e)}var n=e.id,u=e.bound;return m(r,n,u),r}(t,e._callServer);var u=function(e,t){var r="",n=e[t];if(n)r=n.name;else{var u=t.lastIndexOf("#");if(-1!==u&&(r=t.slice(u+1),n=e[t.slice(0,u)]),!n)throw Error('Could not find the module "'+t+'" in the React Server Manifest. This is probably a bug in the React Server Components bundler.')}return n.async?[n.id,n.chunks,r,1]:[n.id,n.chunks,r]}(e._serverReferenceConfig,t.id),o=s(u);if(o)t.bound&&(o=Promise.all([o,t.bound]));else{if(!t.bound)return m(o=c(u),t.id,t.bound),o;o=Promise.resolve(t.bound)}if(N){var a=N;a.deps++}else a=N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1};return o.then(function(){var e=c(u);if(t.bound){var o=t.bound.value.slice(0);o.unshift(null),e=e.bind.apply(e,o)}m(e,t.id,t.bound),r[n]=e,""===n&&null===a.value&&(a.value=e),r[0]===d&&"object"==typeof a.value&&null!==a.value&&a.value.$$typeof===d&&(o=a.value,"3"===n)&&(o.props=e),a.deps--,0===a.deps&&null!==(e=a.chunk)&&"blocked"===e.status&&(o=e.value,e.status="fulfilled",e.value=a.value,null!==o&&O(o,a.value))},function(t){if(!a.errored){a.errored=!0,a.value=null,a.reason=t;var r=a.chunk;null!==r&&"blocked"===r.status&&T(e,r,t)}}),null}function H(e,t,r,n,u){var o=parseInt((t=t.split(":"))[0],16);switch((o=D(e,o)).status){case"resolved_model":U(o);break;case"resolved_module":C(o)}switch(o.status){case"fulfilled":o=o.value;for(var a=1;a<t.length;a++){for(;"object"==typeof o&&null!==o&&o.$$typeof===p;){switch((o=o._payload).status){case"resolved_model":U(o);break;case"resolved_module":C(o)}switch(o.status){case"fulfilled":o=o.value;break;case"blocked":case"pending":return x(o,r,n,e,u,t.slice(a-1));case"halted":return N?(e=N,e.deps++):N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return N?(N.errored=!0,N.value=null,N.reason=o.reason):N={parent:null,chunk:null,value:null,reason:o.reason,deps:0,errored:!0},null}}o=o[t[a]]}for(;"object"==typeof o&&null!==o&&o.$$typeof===p;){switch((t=o._payload).status){case"resolved_model":U(t);break;case"resolved_module":C(t)}if("fulfilled"===t.status){o=t.value;continue}break}return u(e,o,r,n);case"pending":case"blocked":return x(o,r,n,e,u,t);case"halted":return N?(e=N,e.deps++):N={parent:null,chunk:null,value:null,reason:null,deps:1,errored:!1},null;default:return N?(N.errored=!0,N.value=null,N.reason=o.reason):N={parent:null,chunk:null,value:null,reason:o.reason,deps:0,errored:!0},null}}function Y(e,t){return new Map(t)}function G(e,t){return new Set(t)}function K(e,t){return new Blob(t.slice(1),{type:t[0]})}function W(e,t){e=new FormData;for(var r=0;r<t.length;r++)e.append(t[r][0],t[r][1]);return e}function X(e,t){return t[Symbol.iterator]()}function q(e,t){return t}function J(){throw Error('Trying to call a function from "use server" but the callServer option was not implemented in your router runtime.')}function V(e,t,r,n,u,o,a){var l,i=new Map;this._bundlerConfig=e,this._serverReferenceConfig=t,this._moduleLoading=r,this._callServer=void 0!==n?n:J,this._encodeFormAction=u,this._nonce=o,this._chunks=i,this._stringDecoder=new TextDecoder,this._fromJSON=null,this._closed=!1,this._closedReason=null,this._tempRefs=a,this._fromJSON=(l=this,function(e,t){if("string"==typeof t){var r=l,n=this,u=e,o=t;if("$"===o[0]){if("$"===o)return null!==N&&"0"===u&&(N={parent:N,chunk:null,value:null,reason:null,deps:0,errored:!1}),d;switch(o[1]){case"$":return o.slice(1);case"L":return $(r=D(r,n=parseInt(o.slice(2),16)));case"@":return D(r,n=parseInt(o.slice(2),16));case"S":return Symbol.for(o.slice(2));case"F":return H(r,o=o.slice(2),n,u,B);case"T":if(n="$"+o.slice(2),null==(r=r._tempRefs))throw Error("Missing a temporary reference set but the RSC response returned a temporary reference. Pass a temporaryReference option with the set that was used with the reply.");return r.get(n);case"Q":return H(r,o=o.slice(2),n,u,Y);case"W":return H(r,o=o.slice(2),n,u,G);case"B":return H(r,o=o.slice(2),n,u,K);case"K":return H(r,o=o.slice(2),n,u,W);case"Z":return er();case"i":return H(r,o=o.slice(2),n,u,X);case"I":return 1/0;case"-":return"$-0"===o?-0:-1/0;case"N":return NaN;case"u":return;case"D":return new Date(Date.parse(o.slice(2)));case"n":return BigInt(o.slice(2));default:return H(r,o=o.slice(1),n,u,q)}}return o}if("object"==typeof t&&null!==t){if(t[0]===d){if(e={$$typeof:d,type:t[1],key:t[2],ref:null,props:t[3]},null!==N){if(N=(t=N).parent,t.errored)e=$(e=new E("rejected",null,t.reason));else if(0<t.deps){var a=new E("blocked",null,null);t.value=e,t.chunk=a,e=$(a)}}}else e=t;return e}return t})}function Q(e,t,r){var n=(e=e._chunks).get(t);n&&"pending"!==n.status?n.reason.enqueueValue(r):(r=new E("fulfilled",r,null),e.set(t,r))}function z(e,t,r,n){var u=(e=e._chunks).get(t);u?"pending"===u.status&&(t=u.value,u.status="fulfilled",u.value=r,u.reason=n,null!==t&&O(t,u.value)):(r=new E("fulfilled",r,n),e.set(t,r))}function Z(e,t,r){var n=null;r=new ReadableStream({type:r,start:function(e){n=e}});var u=null;z(e,t,r,{enqueueValue:function(e){null===u?n.enqueue(e):u.then(function(){n.enqueue(e)})},enqueueModel:function(t){if(null===u){var r=new E("resolved_model",t,e);U(r),"fulfilled"===r.status?n.enqueue(r.value):(r.then(function(e){return n.enqueue(e)},function(e){return n.error(e)}),u=r)}else{r=u;var o=new E("pending",null,null);o.then(function(e){return n.enqueue(e)},function(e){return n.error(e)}),u=o,r.then(function(){u===o&&(u=null),M(e,o,t)})}},close:function(){if(null===u)n.close();else{var e=u;u=null,e.then(function(){return n.close()})}},error:function(e){if(null===u)n.error(e);else{var t=u;u=null,t.then(function(){return n.error(e)})}}})}function ee(){return this}function et(e,t,r){var n=[],u=!1,o=0,a={};a[v]=function(){var e,t=0;return(e={next:e=function(e){if(void 0!==e)throw Error("Values cannot be passed to next() of AsyncIterables passed to Client Components.");if(t===n.length){if(u)return new E("fulfilled",{done:!0,value:void 0},null);n[t]=new E("pending",null,null)}return n[t++]}})[v]=ee,e},z(e,t,r?a[v]():a,{enqueueValue:function(e){if(o===n.length)n[o]=new E("fulfilled",{done:!1,value:e},null);else{var t=n[o],r=t.value,u=t.reason;t.status="fulfilled",t.value={done:!1,value:e},null!==r&&P(t,r,u)}o++},enqueueModel:function(t){o===n.length?n[o]=j(e,t,!1):A(e,n[o],t,!1),o++},close:function(t){for(u=!0,o===n.length?n[o]=j(e,t,!0):A(e,n[o],t,!0),o++;o<n.length;)A(e,n[o++],'"$undefined"',!0)},error:function(t){for(u=!0,o===n.length&&(n[o]=new E("pending",null,null));o<n.length;)T(e,n[o++],t)}})}function er(){var e=Error("An error occurred in the Server Components render. The specific message is omitted in production builds to avoid leaking sensitive details. A digest property is included on this error instance which may provide additional details about the nature of the error.");return e.stack="Error: "+e.message,e}function en(e,t){for(var r=e.length,n=t.length,u=0;u<r;u++)n+=e[u].byteLength;n=new Uint8Array(n);for(var o=u=0;o<r;o++){var a=e[o];n.set(a,u),u+=a.byteLength}return n.set(t,u),n}function eu(e,t,r,n,u,o){Q(e,t,u=new u((r=0===r.length&&0==n.byteOffset%o?n:en(r,n)).buffer,r.byteOffset,r.byteLength/o))}function eo(e){I(e,Error("Connection closed."))}function ea(e){return new V(null,null,null,e&&e.callServer?e.callServer:void 0,void 0,void 0,e&&e.temporaryReferences?e.temporaryReferences:void 0)}function el(e,t,r){function n(t){I(e,t)}var o={_rowState:0,_rowID:0,_rowTag:0,_rowLength:0,_buffer:[]},a=t.getReader();a.read().then(function t(l){var i=l.value;if(l.done)return r();var c=0,d=o._rowState;l=o._rowID;for(var p=o._rowTag,h=o._rowLength,v=o._buffer,_=i.length;c<_;){var y=-1;switch(d){case 0:58===(y=i[c++])?d=1:l=l<<4|(96<y?y-87:y-48);continue;case 1:84===(d=i[c])||65===d||79===d||111===d||85===d||83===d||115===d||76===d||108===d||71===d||103===d||77===d||109===d||86===d?(p=d,d=2,c++):64<d&&91>d||35===d||114===d||120===d?(p=d,d=3,c++):(p=0,d=3);continue;case 2:44===(y=i[c++])?d=4:h=h<<4|(96<y?y-87:y-48);continue;case 3:y=i.indexOf(10,c);break;case 4:(y=c+h)>i.length&&(y=-1)}var b=i.byteOffset+c;if(-1<y)(function(e,t,r,n,o,a){switch(n){case 65:Q(e,r,en(o,a).buffer);return;case 79:eu(e,r,o,a,Int8Array,1);return;case 111:Q(e,r,0===o.length?a:en(o,a));return;case 85:eu(e,r,o,a,Uint8ClampedArray,1);return;case 83:eu(e,r,o,a,Int16Array,2);return;case 115:eu(e,r,o,a,Uint16Array,2);return;case 76:eu(e,r,o,a,Int32Array,4);return;case 108:eu(e,r,o,a,Uint32Array,4);return;case 71:eu(e,r,o,a,Float32Array,4);return;case 103:eu(e,r,o,a,Float64Array,8);return;case 77:eu(e,r,o,a,BigInt64Array,8);return;case 109:eu(e,r,o,a,BigUint64Array,8);return;case 86:eu(e,r,o,a,DataView,1);return}t=e._stringDecoder;for(var l="",i=0;i<o.length;i++)l+=t.decode(o[i],u);switch(o=l+=t.decode(a),n){case 73:var c=e,d=r,p=o,h=c._chunks,v=h.get(d);p=JSON.parse(p,c._fromJSON);var _=function(e,t){if(e){var r=e[t[0]];if(e=r&&r[t[2]])r=e.name;else{if(!(e=r&&r["*"]))throw Error('Could not find the module "'+t[0]+'" in the React Server Consumer Manifest. This is probably a bug in the React Server Components bundler.');r=t[2]}return 4===t.length?[e.id,e.chunks,r,1]:[e.id,e.chunks,r]}return t}(c._bundlerConfig,p);if(p=s(_)){if(v){var y=v;y.status="blocked"}else y=new E("blocked",null,null),h.set(d,y);p.then(function(){return k(c,y,_)},function(e){return T(c,y,e)})}else v?k(c,v,_):(v=new E("resolved_module",_,null),h.set(d,v));break;case 72:switch(r=o[0],e=JSON.parse(o=o.slice(1),e._fromJSON),o=f.d,r){case"D":o.D(e);break;case"C":"string"==typeof e?o.C(e):o.C(e[0],e[1]);break;case"L":r=e[0],n=e[1],3===e.length?o.L(r,n,e[2]):o.L(r,n);break;case"m":"string"==typeof e?o.m(e):o.m(e[0],e[1]);break;case"X":"string"==typeof e?o.X(e):o.X(e[0],e[1]);break;case"S":"string"==typeof e?o.S(e):o.S(e[0],0===e[1]?void 0:e[1],3===e.length?e[2]:void 0);break;case"M":"string"==typeof e?o.M(e):o.M(e[0],e[1])}break;case 69:a=(n=e._chunks).get(r),o=JSON.parse(o),(t=er()).digest=o.digest,a?T(e,a,t):(e=new E("rejected",null,t),n.set(r,e));break;case 84:(n=(e=e._chunks).get(r))&&"pending"!==n.status?n.reason.enqueueValue(o):(o=new E("fulfilled",o,null),e.set(r,o));break;case 78:case 68:case 74:case 87:throw Error("Failed to read a RSC payload created by a development version of React on the server while using a production version on the client. Always use matching versions on the server and the client.");case 82:Z(e,r,void 0);break;case 114:Z(e,r,"bytes");break;case 88:et(e,r,!1);break;case 120:et(e,r,!0);break;case 67:(r=e._chunks.get(r))&&"fulfilled"===r.status&&r.reason.close(""===o?'"$undefined"':o);break;default:(a=(n=e._chunks).get(r))?M(e,a,o):(e=new E("resolved_model",o,e),n.set(r,e))}})(e,o,l,p,v,h=new Uint8Array(i.buffer,b,y-c)),c=y,3===d&&c++,h=l=p=d=0,v.length=0;else{i=new Uint8Array(i.buffer,b,i.byteLength-c),v.push(i),h-=i.byteLength;break}}return o._rowState=d,o._rowID=l,o._rowTag=p,o._rowLength=h,a.read().then(t).catch(n)}).catch(n)}r.createFromFetch=function(e,t){var r=ea(t);return e.then(function(e){el(r,e.body,eo.bind(null,r))},function(e){I(r,e)}),D(r,0)},r.createFromReadableStream=function(e,t){return el(t=ea(t),e,eo.bind(null,t)),D(t,0)},r.createServerReference=function(e,t){function r(){var r=Array.prototype.slice.call(arguments);return t(e,r)}return m(r,e,null),r},r.createTemporaryReferenceSet=function(){return new Map},r.encodeReply=function(e,t){return new Promise(function(r,n){var u=function(e,t,r,n,u){function o(e,t){t=new Blob([new Uint8Array(t.buffer,t.byteOffset,t.byteLength)]);var r=i++;return null===c&&(c=new FormData),c.append(""+r,t),"$"+e+r.toString(16)}function a(e,t){if(null===t)return null;if("object"==typeof t){switch(t.$$typeof){case d:if(void 0!==r&&-1===e.indexOf(":")){var E,R,O,S,w,P=f.get(this);if(void 0!==P)return r.set(P+":"+e,t),"$T"}throw Error("React Element cannot be passed to Server Functions from the Client without a temporary reference set. Pass a TemporaryReferenceSet to the options.");case p:P=t._payload;var T=t._init;null===c&&(c=new FormData),s++;try{var j=T(P),A=i++,M=l(j,A);return c.append(""+A,M),"$"+A.toString(16)}catch(e){if("object"==typeof e&&null!==e&&"function"==typeof e.then){s++;var k=i++;return P=function(){try{var e=l(t,k),r=c;r.append(""+k,e),s--,0===s&&n(r)}catch(e){u(e)}},e.then(P,P),"$"+k.toString(16)}return u(e),null}finally{s--}}if("function"==typeof t.then){null===c&&(c=new FormData),s++;var N=i++;return t.then(function(e){try{var t=l(e,N);(e=c).append(""+N,t),s--,0===s&&n(e)}catch(e){u(e)}},u),"$@"+N.toString(16)}if(void 0!==(P=f.get(t)))if(m!==t)return P;else m=null;else -1===e.indexOf(":")&&void 0!==(P=f.get(this))&&(e=P+":"+e,f.set(t,e),void 0!==r&&r.set(e,t));if(_(t))return t;if(t instanceof FormData){null===c&&(c=new FormData);var U=c,C=""+(e=i++)+"_";return t.forEach(function(e,t){U.append(C+t,e)}),"$K"+e.toString(16)}if(t instanceof Map)return e=i++,P=l(Array.from(t),e),null===c&&(c=new FormData),c.append(""+e,P),"$Q"+e.toString(16);if(t instanceof Set)return e=i++,P=l(Array.from(t),e),null===c&&(c=new FormData),c.append(""+e,P),"$W"+e.toString(16);if(t instanceof ArrayBuffer)return e=new Blob([t]),P=i++,null===c&&(c=new FormData),c.append(""+P,e),"$A"+P.toString(16);if(t instanceof Int8Array)return o("O",t);if(t instanceof Uint8Array)return o("o",t);if(t instanceof Uint8ClampedArray)return o("U",t);if(t instanceof Int16Array)return o("S",t);if(t instanceof Uint16Array)return o("s",t);if(t instanceof Int32Array)return o("L",t);if(t instanceof Uint32Array)return o("l",t);if(t instanceof Float32Array)return o("G",t);if(t instanceof Float64Array)return o("g",t);if(t instanceof BigInt64Array)return o("M",t);if(t instanceof BigUint64Array)return o("m",t);if(t instanceof DataView)return o("V",t);if("function"==typeof Blob&&t instanceof Blob)return null===c&&(c=new FormData),e=i++,c.append(""+e,t),"$B"+e.toString(16);if(e=null===(E=t)||"object"!=typeof E?null:"function"==typeof(E=h&&E[h]||E["@@iterator"])?E:null)return(P=e.call(t))===t?(e=i++,P=l(Array.from(P),e),null===c&&(c=new FormData),c.append(""+e,P),"$i"+e.toString(16)):Array.from(P);if("function"==typeof ReadableStream&&t instanceof ReadableStream)return function(e){try{var t,r,o,l,f,d,p,h=e.getReader({mode:"byob"})}catch(l){return t=e.getReader(),null===c&&(c=new FormData),r=c,s++,o=i++,t.read().then(function e(l){if(l.done)r.append(""+o,"C"),0==--s&&n(r);else try{var i=JSON.stringify(l.value,a);r.append(""+o,i),t.read().then(e,u)}catch(e){u(e)}},u),"$R"+o.toString(16)}return l=h,null===c&&(c=new FormData),f=c,s++,d=i++,p=[],l.read(new Uint8Array(1024)).then(function e(t){t.done?(t=i++,f.append(""+t,new Blob(p)),f.append(""+d,'"$o'+t.toString(16)+'"'),f.append(""+d,"C"),0==--s&&n(f)):(p.push(t.value),l.read(new Uint8Array(1024)).then(e,u))},u),"$r"+d.toString(16)}(t);if("function"==typeof(e=t[v]))return R=t,O=e.call(t),null===c&&(c=new FormData),S=c,s++,w=i++,R=R===O,O.next().then(function e(t){if(t.done){if(void 0===t.value)S.append(""+w,"C");else try{var r=JSON.stringify(t.value,a);S.append(""+w,"C"+r)}catch(e){u(e);return}0==--s&&n(S)}else try{var o=JSON.stringify(t.value,a);S.append(""+w,o),O.next().then(e,u)}catch(e){u(e)}},u),"$"+(R?"x":"X")+w.toString(16);if((e=y(t))!==b&&(null===e||null!==y(e))){if(void 0===r)throw Error("Only plain objects, and a few built-ins, can be passed to Server Functions. Classes or null prototypes are not supported.");return"$T"}return t}if("string"==typeof t)return"Z"===t[t.length-1]&&this[e]instanceof Date?"$D"+t:e="$"===t[0]?"$"+t:t;if("boolean"==typeof t)return t;if("number"==typeof t)return Number.isFinite(t)?0===t&&-1/0==1/t?"$-0":t:1/0===t?"$Infinity":-1/0===t?"$-Infinity":"$NaN";if(void 0===t)return"$undefined";if("function"==typeof t){if(void 0!==(P=g.get(t)))return e=JSON.stringify({id:P.id,bound:P.bound},a),null===c&&(c=new FormData),P=i++,c.set(""+P,e),"$F"+P.toString(16);if(void 0!==r&&-1===e.indexOf(":")&&void 0!==(P=f.get(this)))return r.set(P+":"+e,t),"$T";throw Error("Client Functions cannot be passed directly to Server Functions. Only Functions passed from the Server can be passed back again.")}if("symbol"==typeof t){if(void 0!==r&&-1===e.indexOf(":")&&void 0!==(P=f.get(this)))return r.set(P+":"+e,t),"$T";throw Error("Symbols cannot be passed to a Server Function without a temporary reference set. Pass a TemporaryReferenceSet to the options.")}if("bigint"==typeof t)return"$n"+t.toString(10);throw Error("Type "+typeof t+" is not supported as an argument to a Server Function.")}function l(e,t){return"object"==typeof e&&null!==e&&(t="$"+t.toString(16),f.set(e,t),void 0!==r&&r.set(t,e)),m=e,JSON.stringify(e,a)}var i=1,s=0,c=null,f=new WeakMap,m=e,E=l(e,0);return null===c?n(E):(c.set("0",E),0===s&&n(c)),function(){0<s&&(s=0,null===c?n(E):n(c))}}(e,0,t&&t.temporaryReferences?t.temporaryReferences:void 0,r,n);if(t&&t.signal){var o=t.signal;if(o.aborted)u(o.reason);else{var a=function(){u(o.reason),o.removeEventListener("abort",a)};o.addEventListener("abort",a)}}})},r.registerServerReference=function(e,t){return m(e,t,null),e}},95851,(e,t,r)=>{"use strict";t.exports=e.r(36242)},42544,(e,t,r)=>{"use strict";t.exports=e.r(95851)},46180,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useUntrackedPathname",{enumerable:!0,get:function(){return o}});let n=e.r(31231),u=e.r(23418);function o(){return!function(){if("undefined"==typeof window){let{workUnitAsyncStorage:t}=e.r(41639),r=t.getStore();if(!r)return!1;switch(r.type){case"prerender":case"prerender-client":case"prerender-ppr":let n=r.fallbackRouteParams;return!!n&&n.size>0}}return!1}()?(0,n.useContext)(u.PathnameContext):null}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},50502,(e,t,r)=>{"use strict";function n(e,t=!0){return e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createHrefFromUrl",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},71239,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={handleHardNavError:function(){return a},useNavFailureHandler:function(){return l}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});e.r(31231);let o=e.r(50502);function a(e){return!!e&&"undefined"!=typeof window&&!!window.next.__pendingUrl&&(0,o.createHrefFromUrl)(new URL(window.location.href))!==(0,o.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function l(){}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},5664,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"HTML_LIMITED_BOT_UA_RE",{enumerable:!0,get:function(){return n}});let n=/[\w-]+-Google|Google-[\w-]+|Chrome-Lighthouse|Slurp|DuckDuckBot|baiduspider|yandex|sogou|bitlybot|tumblr|vkShare|quora link preview|redditbot|ia_archiver|Bingbot|BingPreview|applebot|facebookexternalhit|facebookcatalog|Twitterbot|LinkedInBot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|Yeti|googleweblight/i},89663,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={HTML_LIMITED_BOT_UA_RE:function(){return o.HTML_LIMITED_BOT_UA_RE},HTML_LIMITED_BOT_UA_RE_STRING:function(){return l},getBotType:function(){return c},isBot:function(){return s}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(5664),a=/Googlebot(?!-)|Googlebot$/i,l=o.HTML_LIMITED_BOT_UA_RE.source;function i(e){return o.HTML_LIMITED_BOT_UA_RE.test(e)}function s(e){return a.test(e)||i(e)}function c(e){return a.test(e)?"dom":i(e)?"html":void 0}},31274,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return p}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(81258),a=e.r(90022),l=o._(e.r(31231)),i=e.r(46180),s=e.r(21738);e.r(71239);let c=e.r(99417),f=e.r(89663),d="undefined"!=typeof window&&(0,f.isBot)(window.navigator.userAgent);class p extends l.default.Component{constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}static getDerivedStateFromError(e){if((0,s.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error&&!d?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(c.HandleISRError,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,a.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}}function h({errorComponent:e,errorStyles:t,errorScripts:r,children:n}){let u=(0,i.useUntrackedPathname)();return e?(0,a.jsx)(p,{pathname:u,errorComponent:e,errorStyles:t,errorScripts:r,children:n}):(0,a.jsx)(a.Fragment,{children:n})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},87084,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n,u={ACTION_HMR_REFRESH:function(){return c},ACTION_NAVIGATE:function(){return l},ACTION_REFRESH:function(){return a},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return f},ACTION_SERVER_PATCH:function(){return s},PrefetchKind:function(){return d}};for(var o in u)Object.defineProperty(r,o,{enumerable:!0,get:u[o]});let a="refresh",l="navigate",i="restore",s="server-patch",c="hmr-refresh",f="server-action";var d=((n={}).AUTO="auto",n.FULL="full",n.TEMPORARY="temporary",n);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},4277,(e,t,r)=>{"use strict";function n(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isThenable",{enumerable:!0,get:function(){return n}})},3941,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={dispatchAppRouterAction:function(){return i},useActionQueue:function(){return s}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(44066)._(e.r(31231)),a=e.r(4277),l=null;function i(e){if(null===l)throw Object.defineProperty(Error("Internal Next.js error: Router action dispatched before initialization."),"__NEXT_ERROR_CODE",{value:"E668",enumerable:!1,configurable:!0});l(e)}function s(e){let[t,r]=o.default.useState(e.state);l=t=>e.dispatch(t,r);let n=(0,o.useMemo)(()=>t,[t]);return(0,a.isThenable)(n)?(0,o.use)(n):n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},83767,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"callServer",{enumerable:!0,get:function(){return a}});let n=e.r(31231),u=e.r(87084),o=e.r(3941);async function a(e,t){return new Promise((r,a)=>{(0,n.startTransition)(()=>{(0,o.dispatchAppRouterAction)({type:u.ACTION_SERVER_ACTION,actionId:e,actionArgs:t,resolve:r,reject:a})})})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},13510,(e,t,r)=>{"use strict";let n;Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"findSourceMapURL",{enumerable:!0,get:function(){return n}});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15915,(e,t,r)=>{"use strict";function n(e){return e.startsWith("/")?e:`/${e}`}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"ensureLeadingSlash",{enumerable:!0,get:function(){return n}})},54206,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={normalizeAppPath:function(){return l},normalizeRscURL:function(){return i}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(15915),a=e.r(58032);function l(e){return(0,o.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,a.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:`${e}/${t}`,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},89511,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={INTERCEPTION_ROUTE_MARKERS:function(){return a},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return l}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(54206),a=["(..)(..)","(.)","(..)","(...)"];function l(e){return void 0!==e.split("/").find(e=>a.find(t=>e.startsWith(t)))}function i(e){let t,r,n;for(let u of e.split("/"))if(r=a.find(e=>u.startsWith(e))){[t,n]=e.split(r,2);break}if(!t||!r||!n)throw Object.defineProperty(Error(`Invalid interception route: ${e}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(t=(0,o.normalizeAppPath)(t),r){case"(.)":n="/"===t?`/${n}`:t+"/"+n;break;case"(..)":if("/"===t)throw Object.defineProperty(Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});n=t.split("/").slice(0,-1).concat(n).join("/");break;case"(...)":n="/"+n;break;case"(..)(..)":let u=t.split("/");if(u.length<=2)throw Object.defineProperty(Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});n=u.slice(0,-2).concat(n).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:t,interceptedRoute:n}}},56936,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"matchSegment",{enumerable:!0,get:function(){return n}});let n=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1];("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},33216,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={ROOT_SEGMENT_CACHE_KEY:function(){return l},ROOT_SEGMENT_REQUEST_KEY:function(){return a},appendSegmentCacheKeyPart:function(){return f},appendSegmentRequestKeyPart:function(){return s},convertSegmentPathToStaticExportFilename:function(){return h},createSegmentCacheKeyPart:function(){return c},createSegmentRequestKeyPart:function(){return i}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(58032),a="",l="";function i(e){if("string"==typeof e)return e.startsWith(o.PAGE_SEGMENT_KEY)?o.PAGE_SEGMENT_KEY:"/_not-found"===e?"_not-found":p(e);let t=e[0];return"$"+e[2]+"$"+p(t)}function s(e,t,r){return e+"/"+("children"===t?r:`@${p(t)}/${r}`)}function c(e,t){return"string"==typeof t?e:e+"$"+p(t[1])}function f(e,t,r){return e+"/"+("children"===t?r:`@${p(t)}/${r}`)}let d=/^[a-zA-Z0-9\-_@]+$/;function p(e){return d.test(e)?e:"!"+btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function h(e){return`__next${e.replace(/\//g,".")}.txt`}},15378,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={doesStaticSegmentAppearInURL:function(){return f},getCacheKeyForDynamicParam:function(){return d},getParamValueFromCacheKey:function(){return h},getRenderedPathname:function(){return s},getRenderedSearch:function(){return i},parseDynamicParamFromURLPart:function(){return c},urlSearchParamsToParsedUrlQuery:function(){return v},urlToUrlWithoutFlightMarker:function(){return p}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(58032),a=e.r(33216),l=e.r(18570);function i(e){let t=e.headers.get(l.NEXT_REWRITTEN_QUERY_HEADER);return null!==t?""===t?"":"?"+t:p(new URL(e.url)).search}function s(e){return e.headers.get(l.NEXT_REWRITTEN_PATH_HEADER)??p(new URL(e.url)).pathname}function c(e,t,r){switch(e){case"c":case"ci":return r<t.length?t.slice(r).map(e=>encodeURIComponent(e)):[];case"oc":return r<t.length?t.slice(r).map(e=>encodeURIComponent(e)):null;case"d":case"di":if(r>=t.length)return"";return encodeURIComponent(t[r]);default:return""}}function f(e){return!(e===a.ROOT_SEGMENT_REQUEST_KEY||e.startsWith(o.PAGE_SEGMENT_KEY)||"("===e[0]&&e.endsWith(")"))&&e!==o.DEFAULT_SEGMENT_KEY&&"/_not-found"!==e}function d(e,t){return"string"==typeof e?(0,o.addSearchParamsIfPageSegment)(e,Object.fromEntries(new URLSearchParams(t))):null===e?"":e.join("/")}function p(e){let t=new URL(e);return t.searchParams.delete(l.NEXT_RSC_UNION_QUERY),t}function h(e,t){return"c"===t||"oc"===t?e.split("/"):e}function v(e){let t={};for(let[r,n]of e.entries())void 0===t[r]?t[r]=n:Array.isArray(t[r])?t[r].push(n):t[r]=[t[r],n];return t}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},79577,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={createInitialRSCPayloadFromFallbackPrerender:function(){return s},getFlightDataPartsFromPath:function(){return i},getNextFlightSegmentPath:function(){return c},normalizeFlightData:function(){return f},prepareFlightRouterStateForRequest:function(){return d}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(58032),a=e.r(15378),l=e.r(50502);function i(e){let[t,r,n,u]=e.slice(-4),o=e.slice(0,-4);return{pathToSegment:o.slice(0,-1),segmentPath:o,segment:o[o.length-1]??"",tree:t,seedData:r,head:n,isHeadPartial:u,isRootRender:4===e.length}}function s(e,t){let r=(0,a.getRenderedPathname)(e),n=(0,a.getRenderedSearch)(e),u=(0,l.createHrefFromUrl)(new URL(location.href)),o=t.f[0],i=o[0];return{b:t.b,c:u.split("/"),q:n,i:t.i,f:[[function e(t,r,n,u){let o,l,i=t[0];if("string"==typeof i)o=i,l=(0,a.doesStaticSegmentAppearInURL)(i);else{let e=i[0],t=i[2],s=(0,a.parseDynamicParamFromURLPart)(t,n,u);o=[e,(0,a.getCacheKeyForDynamicParam)(s,r),t],l=!0}let s=l?u+1:u,c=t[1],f={};for(let t in c){let u=c[t];f[t]=e(u,r,n,s)}return[o,f,null,t[3],t[4]]}(i,n,r.split("/").filter(e=>""!==e),0),o[1],o[2],o[2]]],m:t.m,G:t.G,s:t.s,S:t.S}}function c(e){return e.slice(2)}function f(e){return"string"==typeof e?e:e.map(e=>i(e))}function d(e,t){return t?encodeURIComponent(JSON.stringify(e)):encodeURIComponent(JSON.stringify(function e(t){var r,n;let[u,a,l,i,s,c]=t,f="string"==typeof(r=u)&&r.startsWith(o.PAGE_SEGMENT_KEY+"?")?o.PAGE_SEGMENT_KEY:r,d={};for(let[t,r]of Object.entries(a))d[t]=e(r);let p=[f,d,null,(n=i)&&"refresh"!==n?i:null];return void 0!==s&&(p[4]=s),void 0!==c&&(p[5]=c),p}(e)))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},34725,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={getAppBuildId:function(){return l},setAppBuildId:function(){return a}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o="";function a(e){o=e}function l(){return o}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},98168,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={djb2Hash:function(){return o},hexHash:function(){return a}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});function o(e){let t=5381;for(let r=0;r<e.length;r++)t=(t<<5)+t+e.charCodeAt(r)|0;return t>>>0}function a(e){return o(e).toString(36).slice(0,5)}},44905,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"computeCacheBustingSearchParam",{enumerable:!0,get:function(){return u}});let n=e.r(98168);function u(e,t,r,u){return(void 0===e||"0"===e)&&void 0===t&&void 0===r&&void 0===u?"":(0,n.hexHash)([e||"0",t||"0",r||"0",u||"0"].join(","))}},71153,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={setCacheBustingSearchParam:function(){return l},setCacheBustingSearchParamWithHash:function(){return i}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(44905),a=e.r(18570),l=(e,t)=>{i(e,(0,o.computeCacheBustingSearchParam)(t[a.NEXT_ROUTER_PREFETCH_HEADER],t[a.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER],t[a.NEXT_ROUTER_STATE_TREE_HEADER],t[a.NEXT_URL]))},i=(e,t)=>{let r=e.search,n=(r.startsWith("?")?r.slice(1):r).split("&").filter(e=>e&&!e.startsWith(`${a.NEXT_RSC_UNION_QUERY}=`));t.length>0?n.push(`${a.NEXT_RSC_UNION_QUERY}=${t}`):n.push(`${a.NEXT_RSC_UNION_QUERY}`),e.search=n.length?`?${n.join("&")}`:""};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},26852,(e,t,r)=>{"use strict";let n;Object.defineProperty(r,"__esModule",{value:!0});var u={createFetch:function(){return m},createFromNextReadableStream:function(){return E},fetchServerResponse:function(){return g}};for(var o in u)Object.defineProperty(r,o,{enumerable:!0,get:u[o]});let a=e.r(42544),l=e.r(18570),i=e.r(83767),s=e.r(13510),c=e.r(87084),f=e.r(79577),d=e.r(34725),p=e.r(71153),h=e.r(15378),v=a.createFromReadableStream,_=a.createFromFetch;function y(e){return(0,h.urlToUrlWithoutFlightMarker)(new URL(e,location.origin)).toString()}let b=new AbortController;async function g(e,t){let{flightRouterState:r,nextUrl:n,prefetchKind:u}=t,o={[l.RSC_HEADER]:"1",[l.NEXT_ROUTER_STATE_TREE_HEADER]:(0,f.prepareFlightRouterStateForRequest)(r,t.isHmrRefresh)};u===c.PrefetchKind.AUTO&&(o[l.NEXT_ROUTER_PREFETCH_HEADER]="1"),n&&(o[l.NEXT_URL]=n);try{let t=u?u===c.PrefetchKind.TEMPORARY?"high":"low":"auto",r=await m(e,o,t,!0,b.signal),n=(0,h.urlToUrlWithoutFlightMarker)(new URL(r.url)),a=r.redirected?n:e,i=r.headers.get("content-type")||"",s=!!r.headers.get("vary")?.includes(l.NEXT_URL),p=!!r.headers.get(l.NEXT_DID_POSTPONE_HEADER),v=r.headers.get(l.NEXT_ROUTER_STALE_TIME_HEADER),_=null!==v?1e3*parseInt(v,10):-1;if(!i.startsWith(l.RSC_CONTENT_TYPE_HEADER)||!r.ok||!r.body)return e.hash&&(n.hash=e.hash),y(n.toString());let g=r.flightResponse;if(null===g){let e,t=p?(e=r.body.getReader(),new ReadableStream({async pull(t){for(;;){let{done:r,value:n}=await e.read();if(!r){t.enqueue(n);continue}return}}})):r.body;g=E(t,o)}let R=await g;if((0,d.getAppBuildId)()!==R.b)return y(r.url);let O=(0,f.normalizeFlightData)(R.f);if("string"==typeof O)return y(O);return{flightData:O,canonicalUrl:a,renderedSearch:(0,h.getRenderedSearch)(r),couldBeIntercepted:s,prerendered:R.S,postponed:p,staleTime:_,debugInfo:g._debugInfo??null}}catch(t){return b.signal.aborted||console.error(`Failed to fetch RSC payload for ${e}. Falling back to browser navigation.`,t),e.toString()}}async function m(e,t,r,u,o){var a,c;let f=new URL(e);(0,p.setCacheBustingSearchParam)(f,t);let d=fetch(f,{credentials:"same-origin",headers:t,priority:r||void 0,signal:o}),h=u?(a=d,c=t,_(a,{callServer:i.callServer,findSourceMapURL:s.findSourceMapURL,debugChannel:n&&n(c)})):null,v=await d,y=v.redirected,b=new URL(v.url,f);return b.searchParams.delete(l.NEXT_RSC_UNION_QUERY),{url:b.href,redirected:y,ok:v.ok,headers:v.headers,body:v.body,status:v.status,flightResponse:h}}function E(e,t){return v(e,{callServer:i.callServer,findSourceMapURL:s.findSourceMapURL,debugChannel:n&&n(t)})}"undefined"!=typeof window&&(window.addEventListener("pagehide",()=>{b.abort()}),window.addEventListener("pageshow",()=>{b=new AbortController})),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},88454,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"createRouterCacheKey",{enumerable:!0,get:function(){return u}});let n=e.r(58032);function u(e,t=!1){return Array.isArray(e)?`${e[0]}|${e[1]}|${e[2]}`:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},9044,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={RedirectBoundary:function(){return p},RedirectErrorBoundary:function(){return d}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(44066),a=e.r(90022),l=o._(e.r(31231)),i=e.r(1698),s=e.r(65646),c=e.r(66643);function f({redirect:e,reset:t,redirectType:r}){let n=(0,i.useRouter)();return(0,l.useEffect)(()=>{l.default.startTransition(()=>{r===c.RedirectType.push?n.push(e,{}):n.replace(e,{}),t()})},[e,r,t,n]),null}class d extends l.default.Component{constructor(e){super(e),this.state={redirect:null,redirectType:null}}static getDerivedStateFromError(e){if((0,c.isRedirectError)(e))return{redirect:(0,s.getURLFromRedirectError)(e),redirectType:(0,s.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,a.jsx)(f,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}}function p({children:e}){let t=(0,i.useRouter)();return(0,a.jsx)(d,{router:t,children:e})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},7673,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},45442,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={MetadataBoundary:function(){return l},OutletBoundary:function(){return s},RootLayoutBoundary:function(){return c},ViewportBoundary:function(){return i}};for(var u in n)Object.defineProperty(r,u,{enumerable:!0,get:n[u]});let o=e.r(42666),a={[o.METADATA_BOUNDARY_NAME]:function({children:e}){return e},[o.VIEWPORT_BOUNDARY_NAME]:function({children:e}){return e},[o.OUTLET_BOUNDARY_NAME]:function({children:e}){return e},[o.ROOT_LAYOUT_BOUNDARY_NAME]:function({children:e}){return e}},l=a[o.METADATA_BOUNDARY_NAME.slice(0)],i=a[o.VIEWPORT_BOUNDARY_NAME.slice(0)],s=a[o.OUTLET_BOUNDARY_NAME.slice(0)],c=a[o.ROOT_LAYOUT_BOUNDARY_NAME.slice(0)]},1161,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"hasInterceptionRouteInCurrentTree",{enumerable:!0,get:function(){return function e([t,r]){if(Array.isArray(t)&&("di"===t[2]||"ci"===t[2])||"string"==typeof t&&(0,n.isInterceptionRouteAppPath)(t))return!0;if(r){for(let t in r)if(e(r[t]))return!0}return!1}}});let n=e.r(89511);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);