@leanspec/ui 0.2.3 → 0.2.4

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 (187) hide show
  1. package/dist/standalone/packages/web/.next/BUILD_ID +1 -1
  2. package/dist/standalone/packages/web/.next/build-manifest.json +2 -2
  3. package/dist/standalone/packages/web/.next/prerender-manifest.json +3 -3
  4. package/dist/standalone/packages/web/.next/server/app/_global-error.html +2 -2
  5. package/dist/standalone/packages/web/.next/server/app/_global-error.rsc +1 -1
  6. package/dist/standalone/packages/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  7. package/dist/standalone/packages/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  8. package/dist/standalone/packages/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/dist/standalone/packages/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/dist/standalone/packages/web/.next/server/app/_not-found/page.js.nft.json +1 -1
  11. package/dist/standalone/packages/web/.next/server/app/_not-found.html +2 -2
  12. package/dist/standalone/packages/web/.next/server/app/_not-found.rsc +2 -2
  13. package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  14. package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/dist/standalone/packages/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/dist/standalone/packages/web/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  19. package/dist/standalone/packages/web/.next/server/app/api/projects/route.js.nft.json +1 -1
  20. package/dist/standalone/packages/web/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  21. package/dist/standalone/packages/web/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  22. package/dist/standalone/packages/web/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  23. package/dist/standalone/packages/web/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  24. package/dist/standalone/packages/web/.next/server/app/api/stats/route.js.nft.json +1 -1
  25. package/dist/standalone/packages/web/.next/server/app/board/page.js.nft.json +1 -1
  26. package/dist/standalone/packages/web/.next/server/app/board.html +1 -1
  27. package/dist/standalone/packages/web/.next/server/app/board.rsc +2 -2
  28. package/dist/standalone/packages/web/.next/server/app/board.segments/_full.segment.rsc +2 -2
  29. package/dist/standalone/packages/web/.next/server/app/board.segments/_index.segment.rsc +1 -1
  30. package/dist/standalone/packages/web/.next/server/app/board.segments/_tree.segment.rsc +1 -1
  31. package/dist/standalone/packages/web/.next/server/app/board.segments/board/__PAGE__.segment.rsc +1 -1
  32. package/dist/standalone/packages/web/.next/server/app/board.segments/board.segment.rsc +1 -1
  33. package/dist/standalone/packages/web/.next/server/app/page.js.nft.json +1 -1
  34. package/dist/standalone/packages/web/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  35. package/dist/standalone/packages/web/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  36. package/dist/standalone/packages/web/.next/server/app/specs/page.js.nft.json +1 -1
  37. package/dist/standalone/packages/web/.next/server/app/stats/page.js.nft.json +1 -1
  38. package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__2e0f9179._.js +1 -1
  39. package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__577d6d08._.js +1 -1
  40. package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__e54bc4b8._.js +1 -1
  41. package/dist/standalone/packages/web/.next/server/chunks/[root-of-the-server]__f8978f3e._.js +1 -1
  42. package/dist/standalone/packages/web/.next/server/chunks/ssr/[root-of-the-server]__be46bb7c._.js +1 -1
  43. package/dist/standalone/packages/web/.next/server/chunks/ssr/_7dedc302._.js +1 -1
  44. package/dist/standalone/packages/web/.next/server/chunks/ssr/_ad71cd8c._.js +1 -1
  45. package/dist/standalone/packages/web/.next/server/chunks/ssr/_c5a5c652._.js +1 -1
  46. package/dist/standalone/packages/web/.next/server/pages/404.html +2 -2
  47. package/dist/standalone/packages/web/.next/server/pages/500.html +2 -2
  48. package/dist/standalone/packages/web/.next/server/server-reference-manifest.js +1 -1
  49. package/dist/standalone/packages/web/.next/server/server-reference-manifest.json +1 -1
  50. package/dist/{static/chunks/0de258404bcae76f.js → standalone/packages/web/.next/static/chunks/8864b47e107cbe63.js} +1 -1
  51. package/dist/{static/chunks/09ff02250dd56621.js → standalone/packages/web/.next/static/chunks/a2889ecda42c83e7.js} +1 -1
  52. package/dist/standalone/packages/web/.next/static/chunks/c22619397bb8368e.js +1 -0
  53. package/dist/standalone/packages/web/components.json +20 -0
  54. package/dist/standalone/packages/web/drizzle/0000_reflective_thena.sql +59 -0
  55. package/dist/standalone/packages/web/drizzle/0001_fresh_carmella_unuscione.sql +1 -0
  56. package/dist/standalone/packages/web/drizzle/meta/0000_snapshot.json +427 -0
  57. package/dist/standalone/packages/web/drizzle/meta/0001_snapshot.json +436 -0
  58. package/dist/standalone/packages/web/drizzle/meta/_journal.json +20 -0
  59. package/dist/standalone/packages/web/drizzle.config.ts +10 -0
  60. package/dist/standalone/packages/web/eslint.config.mjs +18 -0
  61. package/dist/standalone/packages/web/next.config.ts +7 -0
  62. package/dist/standalone/packages/web/package.json +1 -1
  63. package/dist/standalone/packages/web/postcss.config.mjs +8 -0
  64. package/dist/standalone/packages/web/src/app/api/projects/[id]/specs/route.ts +23 -0
  65. package/dist/standalone/packages/web/src/app/api/projects/route.ts +19 -0
  66. package/dist/standalone/packages/web/src/app/api/revalidate/route.ts +63 -0
  67. package/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.test.ts +51 -0
  68. package/dist/standalone/packages/web/src/app/api/specs/[id]/dependency-graph/route.ts +171 -0
  69. package/dist/standalone/packages/web/src/app/api/specs/[id]/route.ts +36 -0
  70. package/dist/standalone/packages/web/src/app/api/specs/[id]/subspecs/[file]/route.ts +46 -0
  71. package/dist/standalone/packages/web/src/app/api/stats/route.ts +19 -0
  72. package/dist/standalone/packages/web/src/app/board/board-client.tsx +162 -0
  73. package/dist/standalone/packages/web/src/app/board/loading.tsx +43 -0
  74. package/dist/standalone/packages/web/src/app/board/page.tsx +18 -0
  75. package/dist/standalone/packages/web/src/app/dashboard-client.tsx +364 -0
  76. package/dist/standalone/packages/web/src/app/error.tsx +43 -0
  77. package/dist/standalone/packages/web/src/app/globals.css +531 -0
  78. package/dist/standalone/packages/web/src/app/home-client.tsx +277 -0
  79. package/dist/standalone/packages/web/src/app/layout.tsx +70 -0
  80. package/dist/standalone/packages/web/src/app/loading.tsx +87 -0
  81. package/dist/standalone/packages/web/src/app/not-found.tsx +27 -0
  82. package/dist/standalone/packages/web/src/app/page.tsx +18 -0
  83. package/dist/standalone/packages/web/src/app/specs/[id]/loading.tsx +5 -0
  84. package/dist/standalone/packages/web/src/app/specs/[id]/page.tsx +43 -0
  85. package/dist/standalone/packages/web/src/app/specs/page.tsx +18 -0
  86. package/dist/standalone/packages/web/src/app/specs/specs-client.tsx +425 -0
  87. package/dist/standalone/packages/web/src/app/stats/page.tsx +18 -0
  88. package/dist/standalone/packages/web/src/app/stats/stats-client.tsx +283 -0
  89. package/dist/standalone/packages/web/src/components/back-to-top.tsx +46 -0
  90. package/dist/standalone/packages/web/src/components/empty-state.tsx +52 -0
  91. package/dist/standalone/packages/web/src/components/main-sidebar.tsx +175 -0
  92. package/dist/standalone/packages/web/src/components/markdown-link.test.ts +96 -0
  93. package/dist/standalone/packages/web/src/components/markdown-link.tsx +95 -0
  94. package/dist/standalone/packages/web/src/components/navigation.tsx +210 -0
  95. package/dist/standalone/packages/web/src/components/priority-badge.tsx +53 -0
  96. package/dist/standalone/packages/web/src/components/quick-search.tsx +180 -0
  97. package/dist/standalone/packages/web/src/components/skeletons.tsx +119 -0
  98. package/dist/standalone/packages/web/src/components/spec-dependency-graph.tsx +369 -0
  99. package/dist/standalone/packages/web/src/components/spec-detail-client.tsx +372 -0
  100. package/dist/standalone/packages/web/src/components/spec-detail-loading-shell.tsx +42 -0
  101. package/dist/standalone/packages/web/src/components/spec-detail-wrapper.tsx +70 -0
  102. package/dist/standalone/packages/web/src/components/spec-metadata.tsx +136 -0
  103. package/dist/standalone/packages/web/src/components/spec-sidebar.tsx +127 -0
  104. package/dist/standalone/packages/web/src/components/spec-timeline.tsx +186 -0
  105. package/dist/standalone/packages/web/src/components/specs-nav-sidebar.tsx +561 -0
  106. package/dist/standalone/packages/web/src/components/status-badge.tsx +53 -0
  107. package/dist/standalone/packages/web/src/components/sub-spec-tabs.tsx +143 -0
  108. package/dist/standalone/packages/web/src/components/table-of-contents.tsx +130 -0
  109. package/dist/standalone/packages/web/src/components/theme-provider.tsx +11 -0
  110. package/dist/standalone/packages/web/src/components/theme-toggle.tsx +37 -0
  111. package/dist/standalone/packages/web/src/components/ui/avatar.tsx +50 -0
  112. package/dist/standalone/packages/web/src/components/ui/badge.tsx +36 -0
  113. package/dist/standalone/packages/web/src/components/ui/breadcrumb.tsx +110 -0
  114. package/dist/standalone/packages/web/src/components/ui/button.tsx +57 -0
  115. package/dist/standalone/packages/web/src/components/ui/card.tsx +76 -0
  116. package/dist/standalone/packages/web/src/components/ui/command.tsx +153 -0
  117. package/dist/standalone/packages/web/src/components/ui/dialog.tsx +122 -0
  118. package/dist/standalone/packages/web/src/components/ui/input.tsx +24 -0
  119. package/dist/standalone/packages/web/src/components/ui/select.tsx +159 -0
  120. package/dist/standalone/packages/web/src/components/ui/separator.tsx +31 -0
  121. package/dist/standalone/packages/web/src/components/ui/skeleton.tsx +15 -0
  122. package/dist/standalone/packages/web/src/components/ui/tabs.tsx +55 -0
  123. package/dist/standalone/packages/web/src/components/ui/toast.tsx +30 -0
  124. package/dist/standalone/packages/web/src/components/ui/tooltip.tsx +32 -0
  125. package/dist/standalone/packages/web/src/lib/date-utils.ts +76 -0
  126. package/dist/standalone/packages/web/src/lib/db/index.ts +42 -0
  127. package/dist/standalone/packages/web/src/lib/db/migrate.ts +18 -0
  128. package/dist/standalone/packages/web/src/lib/db/queries.ts +114 -0
  129. package/dist/standalone/packages/web/src/lib/db/schema.ts +123 -0
  130. package/dist/standalone/packages/web/src/lib/db/seed.ts +156 -0
  131. package/dist/standalone/packages/web/src/lib/db/service-queries.ts +216 -0
  132. package/dist/standalone/packages/web/src/lib/dependency-graph.ts +105 -0
  133. package/dist/standalone/packages/web/src/lib/specs/service.ts +120 -0
  134. package/dist/standalone/packages/web/src/lib/specs/sources/database-source.ts +94 -0
  135. package/dist/standalone/packages/web/src/lib/specs/sources/filesystem-source.ts +249 -0
  136. package/dist/standalone/packages/web/src/lib/specs/types.ts +55 -0
  137. package/dist/standalone/packages/web/src/lib/stores/specs-sidebar-store.ts +152 -0
  138. package/dist/standalone/packages/web/src/lib/sub-specs.ts +171 -0
  139. package/dist/standalone/packages/web/src/lib/utils.ts +17 -0
  140. package/dist/standalone/packages/web/src/types/specs.ts +18 -0
  141. package/dist/standalone/packages/web/tailwind.config.ts +58 -0
  142. package/dist/standalone/packages/web/tsconfig.json +34 -0
  143. package/dist/standalone/packages/web/vitest.config.ts +14 -0
  144. package/dist/standalone/specs/100-release-process-typecheck-failure/README.md +266 -0
  145. package/dist/standalone/specs/101-sidebar-scroll-position-drift/README.md +100 -0
  146. package/package.json +5 -3
  147. package/dist/BUILD_ID +0 -1
  148. package/dist/static/chunks/a3e649fcddd3d715.js +0 -1
  149. /package/dist/{static/Z_BxkB0KJViCNbULN1S5p → standalone/packages/web/.next/static/DDHAmoL_2Poji-whvFjry}/_buildManifest.js +0 -0
  150. /package/dist/{static/Z_BxkB0KJViCNbULN1S5p → standalone/packages/web/.next/static/DDHAmoL_2Poji-whvFjry}/_clientMiddlewareManifest.json +0 -0
  151. /package/dist/{static/Z_BxkB0KJViCNbULN1S5p → standalone/packages/web/.next/static/DDHAmoL_2Poji-whvFjry}/_ssgManifest.js +0 -0
  152. /package/dist/{static → standalone/packages/web/.next/static}/chunks/0c19c69aa7625475.js +0 -0
  153. /package/dist/{static → standalone/packages/web/.next/static}/chunks/116800b03245a1e5.js +0 -0
  154. /package/dist/{static → standalone/packages/web/.next/static}/chunks/19e80edf527aef5c.js +0 -0
  155. /package/dist/{static → standalone/packages/web/.next/static}/chunks/2ece90370908f56c.js +0 -0
  156. /package/dist/{static → standalone/packages/web/.next/static}/chunks/36fd2dddb486f6bc.js +0 -0
  157. /package/dist/{static → standalone/packages/web/.next/static}/chunks/5c2072ad938de8ed.js +0 -0
  158. /package/dist/{static → standalone/packages/web/.next/static}/chunks/6577fe797a336bab.js +0 -0
  159. /package/dist/{static → standalone/packages/web/.next/static}/chunks/6a05a93ec8fa7b83.js +0 -0
  160. /package/dist/{static → standalone/packages/web/.next/static}/chunks/7f732ea69e643219.js +0 -0
  161. /package/dist/{static → standalone/packages/web/.next/static}/chunks/a02c1f50ff00204f.js +0 -0
  162. /package/dist/{static → standalone/packages/web/.next/static}/chunks/a45464b9776dd88e.js +0 -0
  163. /package/dist/{static → standalone/packages/web/.next/static}/chunks/a6dad97d9634a72d.js +0 -0
  164. /package/dist/{static → standalone/packages/web/.next/static}/chunks/ae04dcd433be6dab.js +0 -0
  165. /package/dist/{static → standalone/packages/web/.next/static}/chunks/b20313408e970968.css +0 -0
  166. /package/dist/{static → standalone/packages/web/.next/static}/chunks/c46095e1a421d93f.js +0 -0
  167. /package/dist/{static → standalone/packages/web/.next/static}/chunks/c48dd4c72d7c5ef4.js +0 -0
  168. /package/dist/{static → standalone/packages/web/.next/static}/chunks/c557ac675be79771.js +0 -0
  169. /package/dist/{static → standalone/packages/web/.next/static}/chunks/dca0c854c59234cd.js +0 -0
  170. /package/dist/{static → standalone/packages/web/.next/static}/chunks/df1731c03abf1aee.css +0 -0
  171. /package/dist/{static → standalone/packages/web/.next/static}/chunks/dfd41488ad062cd5.js +0 -0
  172. /package/dist/{static → standalone/packages/web/.next/static}/chunks/ebd89051637b9a47.js +0 -0
  173. /package/dist/{static → standalone/packages/web/.next/static}/chunks/f3ec9fd77a8618b1.js +0 -0
  174. /package/dist/{static → standalone/packages/web/.next/static}/chunks/turbopack-7450632b40b2e378.js +0 -0
  175. /package/dist/{public → standalone/packages/web/public}/f864aa7e7061c0600e35cf3d879b27cf.txt +0 -0
  176. /package/dist/{public → standalone/packages/web/public}/favicon.ico +0 -0
  177. /package/dist/{public → standalone/packages/web/public}/file.svg +0 -0
  178. /package/dist/{public → standalone/packages/web/public}/github-mark-white.svg +0 -0
  179. /package/dist/{public → standalone/packages/web/public}/github-mark.svg +0 -0
  180. /package/dist/{public → standalone/packages/web/public}/globe.svg +0 -0
  181. /package/dist/{public → standalone/packages/web/public}/icon.svg +0 -0
  182. /package/dist/{public → standalone/packages/web/public}/logo-dark-bg.svg +0 -0
  183. /package/dist/{public → standalone/packages/web/public}/logo-with-bg.svg +0 -0
  184. /package/dist/{public → standalone/packages/web/public}/logo.svg +0 -0
  185. /package/dist/{public → standalone/packages/web/public}/next.svg +0 -0
  186. /package/dist/{public → standalone/packages/web/public}/vercel.svg +0 -0
  187. /package/dist/{public → standalone/packages/web/public}/window.svg +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[35133,(a,b,c)=>{a.e,b.exports=function(){"use strict";var a="millisecond",b="second",c="minute",d="hour",e="week",f="month",g="quarter",h="year",i="date",j="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,l=/\[([^\]]+)]|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,m=function(a,b,c){var d=String(a);return!d||d.length>=b?a:""+Array(b+1-d.length).join(c)+a},n="en",o={};o[n]={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(a){var b=["th","st","nd","rd"],c=a%100;return"["+a+(b[(c-20)%10]||b[c]||b[0])+"]"}};var p="$isDayjsObject",q=function(a){return a instanceof u||!(!a||!a[p])},r=function a(b,c,d){var e;if(!b)return n;if("string"==typeof b){var f=b.toLowerCase();o[f]&&(e=f),c&&(o[f]=c,e=f);var g=b.split("-");if(!e&&g.length>1)return a(g[0])}else{var h=b.name;o[h]=b,e=h}return!d&&e&&(n=e),e||!d&&n},s=function(a,b){if(q(a))return a.clone();var c="object"==typeof b?b:{};return c.date=a,c.args=arguments,new u(c)},t={s:m,z:function(a){var b=-a.utcOffset(),c=Math.abs(b);return(b<=0?"+":"-")+m(Math.floor(c/60),2,"0")+":"+m(c%60,2,"0")},m:function a(b,c){if(b.date()<c.date())return-a(c,b);var d=12*(c.year()-b.year())+(c.month()-b.month()),e=b.clone().add(d,f),g=c-e<0,h=b.clone().add(d+(g?-1:1),f);return+(-(d+(c-e)/(g?e-h:h-e))||0)},a:function(a){return a<0?Math.ceil(a)||0:Math.floor(a)},p:function(j){return({M:f,y:h,w:e,d:"day",D:i,h:d,m:c,s:b,ms:a,Q:g})[j]||String(j||"").toLowerCase().replace(/s$/,"")},u:function(a){return void 0===a}};t.l=r,t.i=q,t.w=function(a,b){return s(a,{locale:b.$L,utc:b.$u,x:b.$x,$offset:b.$offset})};var u=function(){function m(a){this.$L=r(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[p]=!0}var n=m.prototype;return n.parse=function(a){this.$d=function(a){var b=a.date,c=a.utc;if(null===b)return new Date(NaN);if(t.u(b))return new Date;if(b instanceof Date)return new Date(b);if("string"==typeof b&&!/Z$/i.test(b)){var d=b.match(k);if(d){var e=d[2]-1||0,f=(d[7]||"0").substring(0,3);return c?new Date(Date.UTC(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)):new Date(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)}}return new Date(b)}(a),this.init()},n.init=function(){var a=this.$d;this.$y=a.getFullYear(),this.$M=a.getMonth(),this.$D=a.getDate(),this.$W=a.getDay(),this.$H=a.getHours(),this.$m=a.getMinutes(),this.$s=a.getSeconds(),this.$ms=a.getMilliseconds()},n.$utils=function(){return t},n.isValid=function(){return this.$d.toString()!==j},n.isSame=function(a,b){var c=s(a);return this.startOf(b)<=c&&c<=this.endOf(b)},n.isAfter=function(a,b){return s(a)<this.startOf(b)},n.isBefore=function(a,b){return this.endOf(b)<s(a)},n.$g=function(a,b,c){return t.u(a)?this[b]:this.set(c,a)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(a,g){var j=this,k=!!t.u(g)||g,l=t.p(a),m=function(a,b){var c=t.w(j.$u?Date.UTC(j.$y,b,a):new Date(j.$y,b,a),j);return k?c:c.endOf("day")},n=function(a,b){return t.w(j.toDate()[a].apply(j.toDate("s"),(k?[0,0,0,0]:[23,59,59,999]).slice(b)),j)},o=this.$W,p=this.$M,q=this.$D,r="set"+(this.$u?"UTC":"");switch(l){case h:return k?m(1,0):m(31,11);case f:return k?m(1,p):m(0,p+1);case e:var s=this.$locale().weekStart||0,u=(o<s?o+7:o)-s;return m(k?q-u:q+(6-u),p);case"day":case i:return n(r+"Hours",0);case d:return n(r+"Minutes",1);case c:return n(r+"Seconds",2);case b:return n(r+"Milliseconds",3);default:return this.clone()}},n.endOf=function(a){return this.startOf(a,!1)},n.$set=function(e,g){var j,k=t.p(e),l="set"+(this.$u?"UTC":""),m=((j={}).day=l+"Date",j[i]=l+"Date",j[f]=l+"Month",j[h]=l+"FullYear",j[d]=l+"Hours",j[c]=l+"Minutes",j[b]=l+"Seconds",j[a]=l+"Milliseconds",j)[k],n="day"===k?this.$D+(g-this.$W):g;if(k===f||k===h){var o=this.clone().set(i,1);o.$d[m](n),o.init(),this.$d=o.set(i,Math.min(this.$D,o.daysInMonth())).$d}else m&&this.$d[m](n);return this.init(),this},n.set=function(a,b){return this.clone().$set(a,b)},n.get=function(a){return this[t.p(a)]()},n.add=function(a,g){var i,j=this;a=Number(a);var k=t.p(g),l=function(b){var c=s(j);return t.w(c.date(c.date()+Math.round(b*a)),j)};if(k===f)return this.set(f,this.$M+a);if(k===h)return this.set(h,this.$y+a);if("day"===k)return l(1);if(k===e)return l(7);var m=((i={})[c]=6e4,i[d]=36e5,i[b]=1e3,i)[k]||1,n=this.$d.getTime()+a*m;return t.w(n,this)},n.subtract=function(a,b){return this.add(-1*a,b)},n.format=function(a){var b=this,c=this.$locale();if(!this.isValid())return c.invalidDate||j;var d=a||"YYYY-MM-DDTHH:mm:ssZ",e=t.z(this),f=this.$H,g=this.$m,h=this.$M,i=c.weekdays,k=c.months,m=c.meridiem,n=function(a,c,e,f){return a&&(a[c]||a(b,d))||e[c].slice(0,f)},o=function(a){return t.s(f%12||12,a,"0")},p=m||function(a,b,c){var d=a<12?"AM":"PM";return c?d.toLowerCase():d};return d.replace(l,function(a,d){return d||function(a){switch(a){case"YY":return String(b.$y).slice(-2);case"YYYY":return t.s(b.$y,4,"0");case"M":return h+1;case"MM":return t.s(h+1,2,"0");case"MMM":return n(c.monthsShort,h,k,3);case"MMMM":return n(k,h);case"D":return b.$D;case"DD":return t.s(b.$D,2,"0");case"d":return String(b.$W);case"dd":return n(c.weekdaysMin,b.$W,i,2);case"ddd":return n(c.weekdaysShort,b.$W,i,3);case"dddd":return i[b.$W];case"H":return String(f);case"HH":return t.s(f,2,"0");case"h":return o(1);case"hh":return o(2);case"a":return p(f,g,!0);case"A":return p(f,g,!1);case"m":return String(g);case"mm":return t.s(g,2,"0");case"s":return String(b.$s);case"ss":return t.s(b.$s,2,"0");case"SSS":return t.s(b.$ms,3,"0");case"Z":return e}return null}(a)||e.replace(":","")})},n.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},n.diff=function(a,i,j){var k,l=this,m=t.p(i),n=s(a),o=(n.utcOffset()-this.utcOffset())*6e4,p=this-n,q=function(){return t.m(l,n)};switch(m){case h:k=q()/12;break;case f:k=q();break;case g:k=q()/3;break;case e:k=(p-o)/6048e5;break;case"day":k=(p-o)/864e5;break;case d:k=p/36e5;break;case c:k=p/6e4;break;case b:k=p/1e3;break;default:k=p}return j?k:t.a(k)},n.daysInMonth=function(){return this.endOf(f).$D},n.$locale=function(){return o[this.$L]},n.locale=function(a,b){if(!a)return this.$L;var c=this.clone(),d=r(a,b,!0);return d&&(c.$L=d),c},n.clone=function(){return t.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},m}(),v=u.prototype;return s.prototype=v,[["$ms",a],["$s",b],["$m",c],["$H",d],["$W","day"],["$M",f],["$y",h],["$D",i]].forEach(function(a){v[a[1]]=function(b){return this.$g(b,a[0],a[1])}}),s.extend=function(a,b){return a.$i||(a(b,u,s),a.$i=!0),s},s.locale=r,s.isDayjs=q,s.unix=function(a){return s(1e3*a)},s.en=o[n],s.Ls=o,s.p={},s}()},79121,(a,b,c)=>{a.e,b.exports=function(a,b,c){a=a||{};var d=b.prototype,e={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 f(a,b,c,e){return d.fromToBase(a,b,c,e)}c.en.relativeTime=e,d.fromToBase=function(b,d,f,g,h){for(var i,j,k,l=f.$locale().relativeTime||e,m=a.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"}],n=m.length,o=0;o<n;o+=1){var p=m[o];p.d&&(i=g?c(b).diff(f,p.d,!0):f.diff(b,p.d,!0));var q=(a.rounding||Math.round)(Math.abs(i));if(k=i>0,q<=p.r||!p.r){q<=1&&o>0&&(p=m[o-1]);var r=l[p.l];h&&(q=h(""+q)),j="string"==typeof r?r.replace("%d",q):r(q,d,p.l,k);break}}if(d)return j;var s=k?l.future:l.past;return"function"==typeof s?s(j):s.replace("%s",j)},d.to=function(a,b){return f(a,b,this,!0)},d.from=function(a,b){return f(a,b,this)};var g=function(a){return a.$u?c.utc():c()};d.toNow=function(a){return this.to(g(this),a)},d.fromNow=function(a){return this.from(g(this),a)}}},39942,49433,47928,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(1926);let e=c.useEffect;function f(a){if(void 0!==a)switch(typeof a){case"number":return a;case"string":if(a.endsWith("px"))return parseFloat(a)}}let g=null;function h({containerElement:a,direction:b,isRtl:c,scrollOffset:d}){if("horizontal"===b&&c)switch(function(a=!1){if(null===g||a){let a=document.createElement("div"),b=a.style;b.width="50px",b.height="50px",b.overflow="scroll",b.direction="rtl";let c=document.createElement("div"),d=c.style;return d.width="100px",d.height="100px",a.appendChild(c),document.body.appendChild(a),a.scrollLeft>0?g="positive-descending":(a.scrollLeft=1,g=0===a.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(a),g}return g}()){case"negative":return-d;case"positive-descending":if(a){let{clientWidth:b,scrollLeft:c,scrollWidth:d}=a;return d-b-c}}return d}function i(a,b="Assertion error"){if(!a)throw console.error(b),Error(b)}function j(a,b){if(a===b)return!0;if(!!a!=!!b||(i(void 0!==a),i(void 0!==b),Object.keys(a).length!==Object.keys(b).length))return!1;for(let c in a)if(!Object.is(b[c],a[c]))return!1;return!0}function k({cachedBounds:a,itemCount:b,itemSize:c}){if(0===b)return 0;if("number"==typeof c)return b*c;{let c=a.get(0===a.size?0:a.size-1);return i(void 0!==c,"Unexpected bounds cache miss"),b*((c.scrollOffset+c.size)/a.size)}}function l({cachedBounds:a,containerScrollOffset:b,containerSize:c,itemCount:d,overscanCount:e}){let f=d-1,g=0,h=-1,i=0,j=-1,k=0;for(;k<f;){let c=a.get(k);if(c.scrollOffset+c.size>b)break;k++}for(i=Math.max(0,(g=k)-e);k<f;){let d=a.get(k);if(d.scrollOffset+d.size>=b+c)break;k++}return j=Math.min(d-1,(h=Math.min(f,k))+e),g<0&&(g=0,h=-1,i=0,j=-1),{startIndexVisible:g,stopIndexVisible:h,startIndexOverscan:i,stopIndexOverscan:j}}function m(a,b){let{ariaAttributes:c,style:d,...e}=a,{ariaAttributes:f,style:g,...h}=b;return j(c,f)&&j(d,g)&&j(e,h)}function n({children:a,className:d,defaultHeight:g=0,listRef:n,onResize:o,onRowsRendered:p,overscanCount:q=3,rowComponent:r,rowCount:s,rowHeight:t,rowProps:u,tagName:v="div",style:w,...x}){let y=(0,c.useMemo)(()=>u,Object.values(u)),z=(0,c.useMemo)(()=>(0,c.memo)(r,m),[r]),[A,B]=(0,c.useState)(null),C=null!=t&&"object"==typeof t&&"getAverageRowHeight"in t&&"function"==typeof t.getAverageRowHeight,{getCellBounds:D,getEstimatedSize:E,scrollToIndex:F,startIndexOverscan:G,startIndexVisible:H,stopIndexOverscan:I,stopIndexVisible:J}=function({containerElement:a,containerStyle:b,defaultContainerSize:d=0,direction:g,isRtl:m=!1,itemCount:n,itemProps:o,itemSize:p,onResize:q,overscanCount:r}){var s;let t,[u,v]=(0,c.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:w,startIndexOverscan:x,stopIndexVisible:y,stopIndexOverscan:z}={startIndexVisible:Math.min(n-1,u.startIndexVisible),startIndexOverscan:Math.min(n-1,u.startIndexOverscan),stopIndexVisible:Math.min(n-1,u.stopIndexVisible),stopIndexOverscan:Math.min(n-1,u.stopIndexOverscan)},{height:A=d,width:B=d}=function({box:a,defaultHeight:b,defaultWidth:d,disabled:g,element:h,mode:i,style:j}){let{styleHeight:k,styleWidth:l}=(0,c.useMemo)(()=>({styleHeight:f(j?.height),styleWidth:f(j?.width)}),[j?.height,j?.width]),[m,n]=(0,c.useState)({height:b,width:d}),o=g||"only-height"===i&&void 0!==k||"only-width"===i&&void 0!==l||void 0!==k&&void 0!==l;return e(()=>{if(null===h||o)return;let b=new ResizeObserver(a=>{for(let b of a){let{contentRect:a,target:c}=b;h===c&&n(b=>b.height===a.height&&b.width===a.width?b:{height:a.height,width:a.width})}});return b.observe(h,{box:a}),()=>{b?.unobserve(h)}},[a,o,h,k,l]),(0,c.useMemo)(()=>({height:k??m.height,width:l??m.width}),[m,k,l])}({defaultHeight:"vertical"===g?d:void 0,defaultWidth:"horizontal"===g?d:void 0,element:a,mode:"vertical"===g?"only-height":"only-width",style:b}),C=(0,c.useRef)({height:0,width:0}),D="vertical"===g?A:B,E=function({containerSize:a,itemSize:b}){let c;return"string"==typeof b?(i(b.endsWith("%"),`Invalid item size: "${b}"; string values must be percentages (e.g. "100%")`),i(void 0!==a,"Container size must be defined if a percentage item size is specified"),c=a*parseInt(b)/100):c=b,c}({containerSize:D,itemSize:p});(0,c.useLayoutEffect)(()=>{if("function"==typeof q){let a=C.current;(a.height!==A||a.width!==B)&&(q({height:A,width:B},{...a}),a.height=A,a.width=B)}},[A,q,B]);let F=function({itemCount:a,itemProps:b,itemSize:d}){return(0,c.useMemo)(()=>(function({itemCount:a,itemProps:b,itemSize:c}){let d=new Map;return{get(e){for(i(e<a,`Invalid index ${e}`);d.size-1<e;){let a,f=d.size;switch(typeof c){case"function":a=c(f,b);break;case"number":a=c}if(0===f)d.set(f,{size:a,scrollOffset:0});else{let b=d.get(f-1);i(void 0!==b,`Unexpected bounds cache miss for index ${e}`),d.set(f,{scrollOffset:b.scrollOffset+b.size,size:a})}}let f=d.get(e);return i(void 0!==f,`Unexpected bounds cache miss for index ${e}`),f},set(a,b){d.set(a,b)},get size(){return d.size}}})({itemCount:a,itemProps:b,itemSize:d}),[a,b,d])}({itemCount:n,itemProps:o,itemSize:E}),G=(0,c.useCallback)(a=>F.get(a),[F]),H=(0,c.useCallback)(()=>k({cachedBounds:F,itemCount:n,itemSize:E}),[F,n,E]),I=(0,c.useCallback)(b=>l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:b}),containerSize:D,itemCount:n,overscanCount:r}),[F,a,D,g,m,n,r]);return e(()=>{v(I(("vertical"===g?a?.scrollTop:a?.scrollLeft)??0))},[a,g,I]),e(()=>{if(!a)return;let b=()=>{v(b=>{let{scrollLeft:c,scrollTop:d}=a,e=l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:"vertical"===g?d:c}),containerSize:D,itemCount:n,overscanCount:r});return j(e,b)?b:e})};return a.addEventListener("scroll",b),()=>{a.removeEventListener("scroll",b)}},[F,a,D,g,n,r]),{getCellBounds:G,getEstimatedSize:H,scrollToIndex:(s=({align:b="auto",containerScrollOffset:c,index:d})=>{let e=function({align:a,cachedBounds:b,index:c,itemCount:d,itemSize:e,containerScrollOffset:f,containerSize:g}){if(c<0||c>=d)throw RangeError(`Invalid index specified: ${c}`,{cause:`Index ${c} is not within the range of 0 - ${d-1}`});let h=k({cachedBounds:b,itemCount:d,itemSize:e}),i=b.get(c),j=Math.max(0,Math.min(h-g,i.scrollOffset)),l=Math.max(0,i.scrollOffset-g+i.size);switch("smart"===a&&(a=f>=l&&f<=j?"auto":"center"),a){case"start":return j;case"end":return l;case"center":return i.scrollOffset<=g/2?0:i.scrollOffset+i.size/2>=h-g/2?h-g:i.scrollOffset+i.size/2-g/2;default:return f>=l&&f<=j?f:f<l?l:j}}({align:b,cachedBounds:F,containerScrollOffset:c,containerSize:D,index:d,itemCount:n,itemSize:E});if(a){if(e=h({containerElement:a,direction:g,isRtl:m,scrollOffset:e}),"function"!=typeof a.scrollTo){let a=I(e);j(u,a)||v(a)}return e}},t=(0,c.useRef)(()=>{throw Error("Cannot call during render.")}),e(()=>{t.current=s},[s]),(0,c.useCallback)(a=>t.current?.(a),[t])),startIndexOverscan:x,startIndexVisible:w,stopIndexOverscan:z,stopIndexVisible:y}}({containerElement:A,containerStyle:w,defaultContainerSize:g,direction:"vertical",itemCount:s,itemProps:y,itemSize:(0,c.useMemo)(()=>C?a=>t.getRowHeight(a)??t.getAverageRowHeight():t,[C,t]),onResize:o,overscanCount:q});(0,c.useImperativeHandle)(n,()=>({get element(){return A},scrollToRow({align:a="auto",behavior:b="auto",index:c}){let d=F({align:a,containerScrollOffset:A?.scrollTop??0,index:c});"function"==typeof A?.scrollTo&&A.scrollTo({behavior:b,top:d})}}),[A,F]),e(()=>{if(!A)return;let a=Array.from(A.children).filter((a,b)=>{if(a.hasAttribute("aria-hidden"))return!1;let c=`${G+b}`;return a.setAttribute("data-react-window-index",c),!0});if(C)return t.observeRowElements(a)},[A,C,t,G,I]),(0,c.useEffect)(()=>{G>=0&&I>=0&&p&&p({startIndex:H,stopIndex:J},{startIndex:G,stopIndex:I})},[p,G,H,I,J]);let K=(0,c.useMemo)(()=>{let a=[];if(s>0)for(let b=G;b<=I;b++){let d=D(b);a.push((0,c.createElement)(z,{...y,ariaAttributes:{"aria-posinset":b+1,"aria-setsize":s,role:"listitem"},key:b,index:b,style:{position:"absolute",left:0,transform:`translateY(${d.scrollOffset}px)`,height:C?void 0:d.size,width:"100%"}}))}return a},[z,D,C,s,y,G,I]),L=(0,b.jsx)("div",{"aria-hidden":!0,style:{height:E(),width:"100%",zIndex:-1}});return(0,c.createElement)(v,{role:"list",...x,className:d,ref:B,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...w}},K,a,L)}c.useState,c.useRef,c.useState,c.useRef;var o=a.i(93090),p=a.i(29620),q=a.i(41270),r=a.i(14174),s=a.i(30702);let t=(0,a.i(63535).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 u=a.i(55068),v=a.i(97494),w=a.i(78413),x=a.i(1812),y=a.i(75196),z=a.i(39465),A=a.i(36858),B=a.i(35133),C=a.i(79121);function D(a){return a?(0,B.default)(a).fromNow():"Unknown"}function E(a,b){if(!a||!b)return"";let c=(0,B.default)(a),d=(0,B.default)(b).diff(c);if(d<0)return"";let e=Math.floor(d/864e5),f=Math.floor(d%864e5/36e5);if(0===e&&0===f){let a=Math.floor(d%36e5/6e4);return 0===a?"< 1m":`${a}m`}if(0===e)return`${f}h`;if(e<30)return f>0?`${e}d ${f}h`:`${e}d`;let g=Math.floor(e/30),h=e%30;if(g<12)return h>0?`${g}mo ${h}d`:`${g}mo`;let i=Math.floor(g/12),j=g%12;return j>0?`${i}y ${j}mo`:`${i}y`}B.default.extend(C.default),a.s(["formatDuration",()=>E,"formatRelativeTime",()=>D],49433);let F={specs:[],signature:null,scrollTop:0,activeSpecId:null},G=new Set;function H(){for(let a of G)a()}function I(a){return G.add(a),()=>{G.delete(a)}}function J(){return F}function K(){return(0,c.useSyncExternalStore)(I,J,()=>F)}function L(a){if(0===a.length)return;let b=a.map(a=>[a.id,a.specNumber??"",a.title??"",a.status??"",a.priority??"",a.updatedAt?new Date(a.updatedAt).getTime():0].join(":")).join("|");b!==F.signature&&(F={...F,specs:a,signature:b},H())}function M(a){F.activeSpecId!==a&&(F={...F,activeSpecId:a},H())}function N(a){1>Math.abs(a-F.scrollTop)||(F={...F,scrollTop:a},H())}function O({initialSpecs:a=[],currentSpecId:e,currentSubSpec:f,onSpecHover:g}){let[h,i]=c.useState(""),[j,k]=c.useState("all"),[l,m]=c.useState("all"),[B,C]=c.useState("all"),[E,F]=c.useState(!1),[G,H]=c.useState(()=>!1),[I,J]=c.useState(!1),[L,M]=c.useState(!1),O=c.useRef(null),P=c.useRef(null),Q=c.useRef(null),R=K(),S=R.specs.length>0?R.specs:a,T=e||R.activeSpecId||"",U=R.scrollTop;c.useEffect(()=>{M(!0)},[]),c.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",G?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(G))},[G]),c.useEffect(()=>{J(!1)},[T,f]),c.useLayoutEffect(()=>{P.current&&Math.abs(P.current.scrollTop-U)>1&&(P.current.scrollTop=U)},[U]),c.useEffect(()=>{},[]),c.useEffect(()=>{if(O.current){let a=O.current,b=a.closest(".overflow-y-auto");if(b){let c=a.getBoundingClientRect(),d=b.getBoundingClientRect();c.top>=d.top&&c.bottom<=d.bottom||a.scrollIntoView({behavior:"smooth",block:"center"})}}},[e,f]);let V=c.useMemo(()=>{let a=S;if(h){let b=h.toLowerCase();a=a.filter(a=>a.title?.toLowerCase().includes(b)||a.specName.toLowerCase().includes(b)||a.specNumber?.toString().includes(b))}return"all"!==j&&(a=a.filter(a=>a.status===j)),"all"!==l&&(a=a.filter(a=>a.priority===l)),"all"!==B&&(a=a.filter(a=>a.tags?.includes(B))),a},[S,h,j,l,B]),W=c.useMemo(()=>{let a=new Set;return S.forEach(b=>{b.tags?.forEach(b=>a.add(b))}),Array.from(a).sort()},[S]),X="all"!==j||"all"!==l||"all"!==B,Y=c.useMemo(()=>[...V].sort((a,b)=>(b.specNumber||0)-(a.specNumber||0)),[V]),Z=c.useCallback(()=>{Q.current||(Q.current=window.requestAnimationFrame(()=>{Q.current=null,P.current&&N(P.current.scrollTop)}))},[]),$=c.useCallback(a=>{let{index:c,style:e}=a,h=Y[c],i=h.id===T,j=(h.contentMd?(0,z.extractH1Title)(h.contentMd):null)||h.title||h.specName;return(0,b.jsx)("div",{style:e,className:"px-1",children:(0,b.jsx)("div",{className:"mb-0.5",children:(0,b.jsx)("div",{className:"flex items-center gap-0.5",children:(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)(d.default,{ref:i&&!f?O:null,href:`/specs/${h.specNumber||h.id}`,onMouseEnter:()=>g?.(h.specNumber?.toString()||h.id),className:(0,z.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",i?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[h.specNumber&&(0,b.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",h.specNumber.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate text-xs leading-relaxed",children:j})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[h.status&&(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(w.StatusBadge,{status:h.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(x.TooltipContent,{side:"right",children:(0,w.getStatusLabel)(h.status)})]}),h.priority&&(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(A.PriorityBadge,{priority:h.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(x.TooltipContent,{side:"right",children:(0,A.getPriorityLabel)(h.priority)})]}),h.updatedAt&&(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:D(h.updatedAt)})]})]})}),(0,b.jsx)(x.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"font-semibold",children:j}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:h.specName})]})})]})})})})},[Y,T,f,g]),_=c.useMemo(()=>600,[]),aa=c.useMemo(()=>Y.findIndex(a=>a.id===T),[Y,T]),ab=c.useRef(null);return c.useEffect(()=>{ab.current&&aa>=0&&ab.current.scrollToRow({index:aa,align:"center",behavior:"smooth"})},[aa]),(0,b.jsxs)(x.TooltipProvider,{delayDuration:700,children:[I&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>J(!1)}),(0,b.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,b.jsxs)("aside",{className:(0,z.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",L&&G?"lg:w-0 lg:border-r-0":"lg:w-[280px]",I&&"fixed left-0 top-14 z-50 flex w-[280px]"),children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(v.Button,{variant:E||X?"default":"ghost",size:"sm",onClick:()=>F(!E),className:"h-6 w-6 p-0",children:(0,b.jsx)(t,{className:"h-4 w-4"})})}),(0,b.jsx)(x.TooltipContent,{side:"bottom",children:E?"Hide filters":"Show filters"})]}),(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>J(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,b.jsx)(r.X,{className:"h-4 w-4"})}),(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>H(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,b.jsx)(p.ChevronLeft,{className:"h-4 w-4"})})]})]}),E&&(0,b.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),X&&(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>{k("all"),m("all"),C("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,b.jsxs)(y.Select,{value:j,onValueChange:k,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(y.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(y.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(y.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(y.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(y.Select,{value:l,onValueChange:m,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(y.SelectItem,{value:"low",children:"Low"}),(0,b.jsx)(y.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(y.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(y.SelectItem,{value:"critical",children:"Critical"})]})]}),W.length>0&&(0,b.jsxs)(y.Select,{value:B,onValueChange:C,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Tag"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Tags"}),W.map(a=>(0,b.jsx)(y.SelectItem,{value:a,children:a},a))]})]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(o.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(u.Input,{placeholder:"Search specs...",value:h,onChange:a=>i(a.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,b.jsx)("div",{ref:P,className:"flex-1 overflow-y-auto overflow-x-hidden",onScroll:Z,children:0===Y.length?(0,b.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,b.jsx)(n,{listRef:ab,defaultHeight:_,rowCount:Y.length,rowHeight:72,overscanCount:5,rowComponent:$,rowProps:{}})})]}),L&&G&&(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>H(!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,b.jsx)(q.ChevronRight,{className:"h-4 w-4"})}),(0,b.jsx)(v.Button,{onClick:()=>J(!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,b.jsx)(s.List,{className:"h-5 w-5"})})]})]})}a.s(["primeSpecsSidebar",()=>L,"setActiveSidebarSpec",()=>M,"updateSidebarScrollTop",()=>N,"useSpecsSidebarState",()=>K],47928),a.s(["SpecsNavSidebar",()=>O],39942)}];
1
+ module.exports=[35133,(a,b,c)=>{a.e,b.exports=function(){"use strict";var a="millisecond",b="second",c="minute",d="hour",e="week",f="month",g="quarter",h="year",i="date",j="Invalid Date",k=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,l=/\[([^\]]+)]|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,m=function(a,b,c){var d=String(a);return!d||d.length>=b?a:""+Array(b+1-d.length).join(c)+a},n="en",o={};o[n]={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(a){var b=["th","st","nd","rd"],c=a%100;return"["+a+(b[(c-20)%10]||b[c]||b[0])+"]"}};var p="$isDayjsObject",q=function(a){return a instanceof u||!(!a||!a[p])},r=function a(b,c,d){var e;if(!b)return n;if("string"==typeof b){var f=b.toLowerCase();o[f]&&(e=f),c&&(o[f]=c,e=f);var g=b.split("-");if(!e&&g.length>1)return a(g[0])}else{var h=b.name;o[h]=b,e=h}return!d&&e&&(n=e),e||!d&&n},s=function(a,b){if(q(a))return a.clone();var c="object"==typeof b?b:{};return c.date=a,c.args=arguments,new u(c)},t={s:m,z:function(a){var b=-a.utcOffset(),c=Math.abs(b);return(b<=0?"+":"-")+m(Math.floor(c/60),2,"0")+":"+m(c%60,2,"0")},m:function a(b,c){if(b.date()<c.date())return-a(c,b);var d=12*(c.year()-b.year())+(c.month()-b.month()),e=b.clone().add(d,f),g=c-e<0,h=b.clone().add(d+(g?-1:1),f);return+(-(d+(c-e)/(g?e-h:h-e))||0)},a:function(a){return a<0?Math.ceil(a)||0:Math.floor(a)},p:function(j){return({M:f,y:h,w:e,d:"day",D:i,h:d,m:c,s:b,ms:a,Q:g})[j]||String(j||"").toLowerCase().replace(/s$/,"")},u:function(a){return void 0===a}};t.l=r,t.i=q,t.w=function(a,b){return s(a,{locale:b.$L,utc:b.$u,x:b.$x,$offset:b.$offset})};var u=function(){function m(a){this.$L=r(a.locale,null,!0),this.parse(a),this.$x=this.$x||a.x||{},this[p]=!0}var n=m.prototype;return n.parse=function(a){this.$d=function(a){var b=a.date,c=a.utc;if(null===b)return new Date(NaN);if(t.u(b))return new Date;if(b instanceof Date)return new Date(b);if("string"==typeof b&&!/Z$/i.test(b)){var d=b.match(k);if(d){var e=d[2]-1||0,f=(d[7]||"0").substring(0,3);return c?new Date(Date.UTC(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)):new Date(d[1],e,d[3]||1,d[4]||0,d[5]||0,d[6]||0,f)}}return new Date(b)}(a),this.init()},n.init=function(){var a=this.$d;this.$y=a.getFullYear(),this.$M=a.getMonth(),this.$D=a.getDate(),this.$W=a.getDay(),this.$H=a.getHours(),this.$m=a.getMinutes(),this.$s=a.getSeconds(),this.$ms=a.getMilliseconds()},n.$utils=function(){return t},n.isValid=function(){return this.$d.toString()!==j},n.isSame=function(a,b){var c=s(a);return this.startOf(b)<=c&&c<=this.endOf(b)},n.isAfter=function(a,b){return s(a)<this.startOf(b)},n.isBefore=function(a,b){return this.endOf(b)<s(a)},n.$g=function(a,b,c){return t.u(a)?this[b]:this.set(c,a)},n.unix=function(){return Math.floor(this.valueOf()/1e3)},n.valueOf=function(){return this.$d.getTime()},n.startOf=function(a,g){var j=this,k=!!t.u(g)||g,l=t.p(a),m=function(a,b){var c=t.w(j.$u?Date.UTC(j.$y,b,a):new Date(j.$y,b,a),j);return k?c:c.endOf("day")},n=function(a,b){return t.w(j.toDate()[a].apply(j.toDate("s"),(k?[0,0,0,0]:[23,59,59,999]).slice(b)),j)},o=this.$W,p=this.$M,q=this.$D,r="set"+(this.$u?"UTC":"");switch(l){case h:return k?m(1,0):m(31,11);case f:return k?m(1,p):m(0,p+1);case e:var s=this.$locale().weekStart||0,u=(o<s?o+7:o)-s;return m(k?q-u:q+(6-u),p);case"day":case i:return n(r+"Hours",0);case d:return n(r+"Minutes",1);case c:return n(r+"Seconds",2);case b:return n(r+"Milliseconds",3);default:return this.clone()}},n.endOf=function(a){return this.startOf(a,!1)},n.$set=function(e,g){var j,k=t.p(e),l="set"+(this.$u?"UTC":""),m=((j={}).day=l+"Date",j[i]=l+"Date",j[f]=l+"Month",j[h]=l+"FullYear",j[d]=l+"Hours",j[c]=l+"Minutes",j[b]=l+"Seconds",j[a]=l+"Milliseconds",j)[k],n="day"===k?this.$D+(g-this.$W):g;if(k===f||k===h){var o=this.clone().set(i,1);o.$d[m](n),o.init(),this.$d=o.set(i,Math.min(this.$D,o.daysInMonth())).$d}else m&&this.$d[m](n);return this.init(),this},n.set=function(a,b){return this.clone().$set(a,b)},n.get=function(a){return this[t.p(a)]()},n.add=function(a,g){var i,j=this;a=Number(a);var k=t.p(g),l=function(b){var c=s(j);return t.w(c.date(c.date()+Math.round(b*a)),j)};if(k===f)return this.set(f,this.$M+a);if(k===h)return this.set(h,this.$y+a);if("day"===k)return l(1);if(k===e)return l(7);var m=((i={})[c]=6e4,i[d]=36e5,i[b]=1e3,i)[k]||1,n=this.$d.getTime()+a*m;return t.w(n,this)},n.subtract=function(a,b){return this.add(-1*a,b)},n.format=function(a){var b=this,c=this.$locale();if(!this.isValid())return c.invalidDate||j;var d=a||"YYYY-MM-DDTHH:mm:ssZ",e=t.z(this),f=this.$H,g=this.$m,h=this.$M,i=c.weekdays,k=c.months,m=c.meridiem,n=function(a,c,e,f){return a&&(a[c]||a(b,d))||e[c].slice(0,f)},o=function(a){return t.s(f%12||12,a,"0")},p=m||function(a,b,c){var d=a<12?"AM":"PM";return c?d.toLowerCase():d};return d.replace(l,function(a,d){return d||function(a){switch(a){case"YY":return String(b.$y).slice(-2);case"YYYY":return t.s(b.$y,4,"0");case"M":return h+1;case"MM":return t.s(h+1,2,"0");case"MMM":return n(c.monthsShort,h,k,3);case"MMMM":return n(k,h);case"D":return b.$D;case"DD":return t.s(b.$D,2,"0");case"d":return String(b.$W);case"dd":return n(c.weekdaysMin,b.$W,i,2);case"ddd":return n(c.weekdaysShort,b.$W,i,3);case"dddd":return i[b.$W];case"H":return String(f);case"HH":return t.s(f,2,"0");case"h":return o(1);case"hh":return o(2);case"a":return p(f,g,!0);case"A":return p(f,g,!1);case"m":return String(g);case"mm":return t.s(g,2,"0");case"s":return String(b.$s);case"ss":return t.s(b.$s,2,"0");case"SSS":return t.s(b.$ms,3,"0");case"Z":return e}return null}(a)||e.replace(":","")})},n.utcOffset=function(){return-(15*Math.round(this.$d.getTimezoneOffset()/15))},n.diff=function(a,i,j){var k,l=this,m=t.p(i),n=s(a),o=(n.utcOffset()-this.utcOffset())*6e4,p=this-n,q=function(){return t.m(l,n)};switch(m){case h:k=q()/12;break;case f:k=q();break;case g:k=q()/3;break;case e:k=(p-o)/6048e5;break;case"day":k=(p-o)/864e5;break;case d:k=p/36e5;break;case c:k=p/6e4;break;case b:k=p/1e3;break;default:k=p}return j?k:t.a(k)},n.daysInMonth=function(){return this.endOf(f).$D},n.$locale=function(){return o[this.$L]},n.locale=function(a,b){if(!a)return this.$L;var c=this.clone(),d=r(a,b,!0);return d&&(c.$L=d),c},n.clone=function(){return t.w(this.$d,this)},n.toDate=function(){return new Date(this.valueOf())},n.toJSON=function(){return this.isValid()?this.toISOString():null},n.toISOString=function(){return this.$d.toISOString()},n.toString=function(){return this.$d.toUTCString()},m}(),v=u.prototype;return s.prototype=v,[["$ms",a],["$s",b],["$m",c],["$H",d],["$W","day"],["$M",f],["$y",h],["$D",i]].forEach(function(a){v[a[1]]=function(b){return this.$g(b,a[0],a[1])}}),s.extend=function(a,b){return a.$i||(a(b,u,s),a.$i=!0),s},s.locale=r,s.isDayjs=q,s.unix=function(a){return s(1e3*a)},s.en=o[n],s.Ls=o,s.p={},s}()},79121,(a,b,c)=>{a.e,b.exports=function(a,b,c){a=a||{};var d=b.prototype,e={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 f(a,b,c,e){return d.fromToBase(a,b,c,e)}c.en.relativeTime=e,d.fromToBase=function(b,d,f,g,h){for(var i,j,k,l=f.$locale().relativeTime||e,m=a.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"}],n=m.length,o=0;o<n;o+=1){var p=m[o];p.d&&(i=g?c(b).diff(f,p.d,!0):f.diff(b,p.d,!0));var q=(a.rounding||Math.round)(Math.abs(i));if(k=i>0,q<=p.r||!p.r){q<=1&&o>0&&(p=m[o-1]);var r=l[p.l];h&&(q=h(""+q)),j="string"==typeof r?r.replace("%d",q):r(q,d,p.l,k);break}}if(d)return j;var s=k?l.future:l.past;return"function"==typeof s?s(j):s.replace("%s",j)},d.to=function(a,b){return f(a,b,this,!0)},d.from=function(a,b){return f(a,b,this)};var g=function(a){return a.$u?c.utc():c()};d.toNow=function(a){return this.to(g(this),a)},d.fromNow=function(a){return this.from(g(this),a)}}},39942,49433,47928,a=>{"use strict";var b=a.i(40352),c=a.i(36883),d=a.i(1926);let e=c.useEffect;function f(a){if(void 0!==a)switch(typeof a){case"number":return a;case"string":if(a.endsWith("px"))return parseFloat(a)}}let g=null;function h({containerElement:a,direction:b,isRtl:c,scrollOffset:d}){if("horizontal"===b&&c)switch(function(a=!1){if(null===g||a){let a=document.createElement("div"),b=a.style;b.width="50px",b.height="50px",b.overflow="scroll",b.direction="rtl";let c=document.createElement("div"),d=c.style;return d.width="100px",d.height="100px",a.appendChild(c),document.body.appendChild(a),a.scrollLeft>0?g="positive-descending":(a.scrollLeft=1,g=0===a.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(a),g}return g}()){case"negative":return-d;case"positive-descending":if(a){let{clientWidth:b,scrollLeft:c,scrollWidth:d}=a;return d-b-c}}return d}function i(a,b="Assertion error"){if(!a)throw console.error(b),Error(b)}function j(a,b){if(a===b)return!0;if(!!a!=!!b||(i(void 0!==a),i(void 0!==b),Object.keys(a).length!==Object.keys(b).length))return!1;for(let c in a)if(!Object.is(b[c],a[c]))return!1;return!0}function k({cachedBounds:a,itemCount:b,itemSize:c}){if(0===b)return 0;if("number"==typeof c)return b*c;{let c=a.get(0===a.size?0:a.size-1);return i(void 0!==c,"Unexpected bounds cache miss"),b*((c.scrollOffset+c.size)/a.size)}}function l({cachedBounds:a,containerScrollOffset:b,containerSize:c,itemCount:d,overscanCount:e}){let f=d-1,g=0,h=-1,i=0,j=-1,k=0;for(;k<f;){let c=a.get(k);if(c.scrollOffset+c.size>b)break;k++}for(i=Math.max(0,(g=k)-e);k<f;){let d=a.get(k);if(d.scrollOffset+d.size>=b+c)break;k++}return j=Math.min(d-1,(h=Math.min(f,k))+e),g<0&&(g=0,h=-1,i=0,j=-1),{startIndexVisible:g,stopIndexVisible:h,startIndexOverscan:i,stopIndexOverscan:j}}function m(a,b){let{ariaAttributes:c,style:d,...e}=a,{ariaAttributes:f,style:g,...h}=b;return j(c,f)&&j(d,g)&&j(e,h)}function n({children:a,className:d,defaultHeight:g=0,listRef:n,onResize:o,onRowsRendered:p,overscanCount:q=3,rowComponent:r,rowCount:s,rowHeight:t,rowProps:u,tagName:v="div",style:w,...x}){let y=(0,c.useMemo)(()=>u,Object.values(u)),z=(0,c.useMemo)(()=>(0,c.memo)(r,m),[r]),[A,B]=(0,c.useState)(null),C=null!=t&&"object"==typeof t&&"getAverageRowHeight"in t&&"function"==typeof t.getAverageRowHeight,{getCellBounds:D,getEstimatedSize:E,scrollToIndex:F,startIndexOverscan:G,startIndexVisible:H,stopIndexOverscan:I,stopIndexVisible:J}=function({containerElement:a,containerStyle:b,defaultContainerSize:d=0,direction:g,isRtl:m=!1,itemCount:n,itemProps:o,itemSize:p,onResize:q,overscanCount:r}){var s;let t,[u,v]=(0,c.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:w,startIndexOverscan:x,stopIndexVisible:y,stopIndexOverscan:z}={startIndexVisible:Math.min(n-1,u.startIndexVisible),startIndexOverscan:Math.min(n-1,u.startIndexOverscan),stopIndexVisible:Math.min(n-1,u.stopIndexVisible),stopIndexOverscan:Math.min(n-1,u.stopIndexOverscan)},{height:A=d,width:B=d}=function({box:a,defaultHeight:b,defaultWidth:d,disabled:g,element:h,mode:i,style:j}){let{styleHeight:k,styleWidth:l}=(0,c.useMemo)(()=>({styleHeight:f(j?.height),styleWidth:f(j?.width)}),[j?.height,j?.width]),[m,n]=(0,c.useState)({height:b,width:d}),o=g||"only-height"===i&&void 0!==k||"only-width"===i&&void 0!==l||void 0!==k&&void 0!==l;return e(()=>{if(null===h||o)return;let b=new ResizeObserver(a=>{for(let b of a){let{contentRect:a,target:c}=b;h===c&&n(b=>b.height===a.height&&b.width===a.width?b:{height:a.height,width:a.width})}});return b.observe(h,{box:a}),()=>{b?.unobserve(h)}},[a,o,h,k,l]),(0,c.useMemo)(()=>({height:k??m.height,width:l??m.width}),[m,k,l])}({defaultHeight:"vertical"===g?d:void 0,defaultWidth:"horizontal"===g?d:void 0,element:a,mode:"vertical"===g?"only-height":"only-width",style:b}),C=(0,c.useRef)({height:0,width:0}),D="vertical"===g?A:B,E=function({containerSize:a,itemSize:b}){let c;return"string"==typeof b?(i(b.endsWith("%"),`Invalid item size: "${b}"; string values must be percentages (e.g. "100%")`),i(void 0!==a,"Container size must be defined if a percentage item size is specified"),c=a*parseInt(b)/100):c=b,c}({containerSize:D,itemSize:p});(0,c.useLayoutEffect)(()=>{if("function"==typeof q){let a=C.current;(a.height!==A||a.width!==B)&&(q({height:A,width:B},{...a}),a.height=A,a.width=B)}},[A,q,B]);let F=function({itemCount:a,itemProps:b,itemSize:d}){return(0,c.useMemo)(()=>(function({itemCount:a,itemProps:b,itemSize:c}){let d=new Map;return{get(e){for(i(e<a,`Invalid index ${e}`);d.size-1<e;){let a,f=d.size;switch(typeof c){case"function":a=c(f,b);break;case"number":a=c}if(0===f)d.set(f,{size:a,scrollOffset:0});else{let b=d.get(f-1);i(void 0!==b,`Unexpected bounds cache miss for index ${e}`),d.set(f,{scrollOffset:b.scrollOffset+b.size,size:a})}}let f=d.get(e);return i(void 0!==f,`Unexpected bounds cache miss for index ${e}`),f},set(a,b){d.set(a,b)},get size(){return d.size}}})({itemCount:a,itemProps:b,itemSize:d}),[a,b,d])}({itemCount:n,itemProps:o,itemSize:E}),G=(0,c.useCallback)(a=>F.get(a),[F]),H=(0,c.useCallback)(()=>k({cachedBounds:F,itemCount:n,itemSize:E}),[F,n,E]),I=(0,c.useCallback)(b=>l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:b}),containerSize:D,itemCount:n,overscanCount:r}),[F,a,D,g,m,n,r]);return e(()=>{v(I(("vertical"===g?a?.scrollTop:a?.scrollLeft)??0))},[a,g,I]),e(()=>{if(!a)return;let b=()=>{v(b=>{let{scrollLeft:c,scrollTop:d}=a,e=l({cachedBounds:F,containerScrollOffset:h({containerElement:a,direction:g,isRtl:m,scrollOffset:"vertical"===g?d:c}),containerSize:D,itemCount:n,overscanCount:r});return j(e,b)?b:e})};return a.addEventListener("scroll",b),()=>{a.removeEventListener("scroll",b)}},[F,a,D,g,n,r]),{getCellBounds:G,getEstimatedSize:H,scrollToIndex:(s=({align:b="auto",containerScrollOffset:c,index:d})=>{let e=function({align:a,cachedBounds:b,index:c,itemCount:d,itemSize:e,containerScrollOffset:f,containerSize:g}){if(c<0||c>=d)throw RangeError(`Invalid index specified: ${c}`,{cause:`Index ${c} is not within the range of 0 - ${d-1}`});let h=k({cachedBounds:b,itemCount:d,itemSize:e}),i=b.get(c),j=Math.max(0,Math.min(h-g,i.scrollOffset)),l=Math.max(0,i.scrollOffset-g+i.size);switch("smart"===a&&(a=f>=l&&f<=j?"auto":"center"),a){case"start":return j;case"end":return l;case"center":return i.scrollOffset<=g/2?0:i.scrollOffset+i.size/2>=h-g/2?h-g:i.scrollOffset+i.size/2-g/2;default:return f>=l&&f<=j?f:f<l?l:j}}({align:b,cachedBounds:F,containerScrollOffset:c,containerSize:D,index:d,itemCount:n,itemSize:E});if(a){if(e=h({containerElement:a,direction:g,isRtl:m,scrollOffset:e}),"function"!=typeof a.scrollTo){let a=I(e);j(u,a)||v(a)}return e}},t=(0,c.useRef)(()=>{throw Error("Cannot call during render.")}),e(()=>{t.current=s},[s]),(0,c.useCallback)(a=>t.current?.(a),[t])),startIndexOverscan:x,startIndexVisible:w,stopIndexOverscan:z,stopIndexVisible:y}}({containerElement:A,containerStyle:w,defaultContainerSize:g,direction:"vertical",itemCount:s,itemProps:y,itemSize:(0,c.useMemo)(()=>C?a=>t.getRowHeight(a)??t.getAverageRowHeight():t,[C,t]),onResize:o,overscanCount:q});(0,c.useImperativeHandle)(n,()=>({get element(){return A},scrollToRow({align:a="auto",behavior:b="auto",index:c}){let d=F({align:a,containerScrollOffset:A?.scrollTop??0,index:c});"function"==typeof A?.scrollTo&&A.scrollTo({behavior:b,top:d})}}),[A,F]),e(()=>{if(!A)return;let a=Array.from(A.children).filter((a,b)=>{if(a.hasAttribute("aria-hidden"))return!1;let c=`${G+b}`;return a.setAttribute("data-react-window-index",c),!0});if(C)return t.observeRowElements(a)},[A,C,t,G,I]),(0,c.useEffect)(()=>{G>=0&&I>=0&&p&&p({startIndex:H,stopIndex:J},{startIndex:G,stopIndex:I})},[p,G,H,I,J]);let K=(0,c.useMemo)(()=>{let a=[];if(s>0)for(let b=G;b<=I;b++){let d=D(b);a.push((0,c.createElement)(z,{...y,ariaAttributes:{"aria-posinset":b+1,"aria-setsize":s,role:"listitem"},key:b,index:b,style:{position:"absolute",left:0,transform:`translateY(${d.scrollOffset}px)`,height:C?void 0:d.size,width:"100%"}}))}return a},[z,D,C,s,y,G,I]),L=(0,b.jsx)("div",{"aria-hidden":!0,style:{height:E(),width:"100%",zIndex:-1}});return(0,c.createElement)(v,{role:"list",...x,className:d,ref:B,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...w}},K,a,L)}c.useState,c.useRef,c.useState,c.useRef;var o=a.i(93090),p=a.i(29620),q=a.i(41270),r=a.i(14174),s=a.i(30702);let t=(0,a.i(63535).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 u=a.i(55068),v=a.i(97494),w=a.i(78413),x=a.i(1812),y=a.i(75196),z=a.i(39465),A=a.i(36858),B=a.i(35133),C=a.i(79121);function D(a){return a?(0,B.default)(a).fromNow():"Unknown"}function E(a,b){if(!a||!b)return"";let c=(0,B.default)(a),d=(0,B.default)(b).diff(c);if(d<0)return"";let e=Math.floor(d/864e5),f=Math.floor(d%864e5/36e5);if(0===e&&0===f){let a=Math.floor(d%36e5/6e4);return 0===a?"< 1m":`${a}m`}if(0===e)return`${f}h`;if(e<30)return f>0?`${e}d ${f}h`:`${e}d`;let g=Math.floor(e/30),h=e%30;if(g<12)return h>0?`${g}mo ${h}d`:`${g}mo`;let i=Math.floor(g/12),j=g%12;return j>0?`${i}y ${j}mo`:`${i}y`}B.default.extend(C.default),a.s(["formatDuration",()=>E,"formatRelativeTime",()=>D],49433);let F={specs:[],signature:null,scrollTop:0,activeSpecId:null},G=[],H=new Set,I=new Set,J=new Set;function K(){for(let a of H)a()}function L(a){return H.add(a),()=>{H.delete(a)}}function M(){return F}function N(){return(0,c.useSyncExternalStore)(L,M,()=>F)}function O(){let a=c.useCallback(a=>(I.add(a),()=>{I.delete(a)}),[]);return(0,c.useSyncExternalStore)(a,()=>M().specs,()=>G)}function P(){let a=c.useCallback(a=>(J.add(a),()=>{J.delete(a)}),[]);return(0,c.useSyncExternalStore)(a,()=>M().activeSpecId,()=>null)}function Q(a){if(0===a.length)return;let b=a.map(a=>[a.id,a.specNumber??"",a.title??"",a.status??"",a.priority??"",a.updatedAt?new Date(a.updatedAt).getTime():0].join(":")).join("|");if(b!==F.signature)for(let c of(F={...F,specs:a,signature:b},K(),I))c()}function R(a){if(F.activeSpecId!==a)for(let b of(F={...F,activeSpecId:a},K(),J))b()}a.s(["primeSpecsSidebar",()=>Q,"setActiveSidebarSpec",()=>R,"useSpecsSidebarActiveSpec",()=>P,"useSpecsSidebarSpecs",()=>O,"useSpecsSidebarState",()=>N],47928);let S=c.useEffect;function T({initialSpecs:a=[],currentSpecId:e,currentSubSpec:f,onSpecHover:g}){let[h,i]=c.useState(""),[j,k]=c.useState("all"),[l,m]=c.useState("all"),[B,C]=c.useState("all"),[E,F]=c.useState(!1),[G,H]=c.useState(()=>!1),[I,J]=c.useState(!1),[K,L]=c.useState(!1),M=c.useRef(null);c.useRef(null),c.useRef(!1);let N=c.useRef(null);c.useRef(0),c.useRef(!1),c.useRef(!0);let Q=O(),R=P(),T=c.useMemo(()=>Q.length>0?Q:a,[Q,a]),U=e||R||"";c.useEffect(()=>{L(!0)},[]),c.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",G?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(G))},[G]),c.useEffect(()=>{J(!1)},[U,f]);let V=c.useMemo(()=>{let a=T;if(h){let b=h.toLowerCase();a=a.filter(a=>a.title?.toLowerCase().includes(b)||a.specName.toLowerCase().includes(b)||a.specNumber?.toString().includes(b))}return"all"!==j&&(a=a.filter(a=>a.status===j)),"all"!==l&&(a=a.filter(a=>a.priority===l)),"all"!==B&&(a=a.filter(a=>a.tags?.includes(B))),console.debug(a),a},[T,h,j,l,B]),W=c.useMemo(()=>{let a=new Set;return T.forEach(b=>{b.tags?.forEach(b=>a.add(b))}),Array.from(a).sort()},[T]),X="all"!==j||"all"!==l||"all"!==B,Y=c.useMemo(()=>[...V].sort((a,b)=>(b.specNumber||0)-(a.specNumber||0)),[V]);S(()=>{},[]),S(()=>{},[Y,U]),c.useEffect(()=>{},[]);let Z=c.useCallback(a=>{let{index:c,style:e}=a,h=Y[c],i=h.id===U,j=(h.contentMd?(0,z.extractH1Title)(h.contentMd):null)||h.title||h.specName;return(0,b.jsx)("div",{style:e,className:"px-1",children:(0,b.jsx)("div",{className:"mb-0.5",children:(0,b.jsx)("div",{className:"flex items-center gap-0.5",children:(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsxs)(d.default,{ref:i&&!f?M:null,href:`/specs/${h.specNumber||h.id}`,onMouseEnter:()=>g?.(h.specNumber?.toString()||h.id),className:(0,z.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",i?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,b.jsxs)("div",{className:"flex items-center gap-1.5",children:[h.specNumber&&(0,b.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",h.specNumber.toString().padStart(3,"0")]}),(0,b.jsx)("span",{className:"truncate text-xs leading-relaxed",children:j})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[h.status&&(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(w.StatusBadge,{status:h.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(x.TooltipContent,{side:"right",children:(0,w.getStatusLabel)(h.status)})]}),h.priority&&(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)("div",{children:(0,b.jsx)(A.PriorityBadge,{priority:h.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,b.jsx)(x.TooltipContent,{side:"right",children:(0,A.getPriorityLabel)(h.priority)})]}),"number"==typeof h.subSpecsCount&&h.subSpecsCount>0&&(0,b.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",h.subSpecsCount," files"]}),h.updatedAt&&(0,b.jsx)("span",{className:"text-[10px] text-muted-foreground",children:D(h.updatedAt)})]})]})}),(0,b.jsx)(x.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,b.jsxs)("div",{className:"space-y-1",children:[(0,b.jsx)("div",{className:"font-semibold",children:j}),(0,b.jsx)("div",{className:"text-xs text-muted-foreground",children:h.specName})]})})]})})})})},[Y,U,f,g]),$=c.useMemo(()=>600,[]),_=c.useMemo(()=>c.memo(n),[]);return(0,b.jsxs)(x.TooltipProvider,{delayDuration:700,children:[I&&(0,b.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>J(!1)}),(0,b.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,b.jsxs)("aside",{className:(0,z.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",K&&G?"lg:w-0 lg:border-r-0":"lg:w-[280px]",I&&"fixed left-0 top-14 z-50 flex w-[280px]"),children:[(0,b.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,b.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,b.jsxs)("div",{className:"flex items-center gap-1",children:[(0,b.jsxs)(x.Tooltip,{children:[(0,b.jsx)(x.TooltipTrigger,{asChild:!0,children:(0,b.jsx)(v.Button,{variant:E||X?"default":"ghost",size:"sm",onClick:()=>F(!E),className:"h-6 w-6 p-0",children:(0,b.jsx)(t,{className:"h-4 w-4"})})}),(0,b.jsx)(x.TooltipContent,{side:"bottom",children:E?"Hide filters":"Show filters"})]}),(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>J(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,b.jsx)(r.X,{className:"h-4 w-4"})}),(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>H(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,b.jsx)(p.ChevronLeft,{className:"h-4 w-4"})})]})]}),E&&(0,b.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,b.jsxs)("div",{className:"flex items-center justify-between",children:[(0,b.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),X&&(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>{k("all"),m("all"),C("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,b.jsxs)(y.Select,{value:j,onValueChange:k,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Status"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Status"}),(0,b.jsx)(y.SelectItem,{value:"planned",children:"Planned"}),(0,b.jsx)(y.SelectItem,{value:"in-progress",children:"In Progress"}),(0,b.jsx)(y.SelectItem,{value:"complete",children:"Complete"}),(0,b.jsx)(y.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,b.jsxs)(y.Select,{value:l,onValueChange:m,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Priority"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Priority"}),(0,b.jsx)(y.SelectItem,{value:"low",children:"Low"}),(0,b.jsx)(y.SelectItem,{value:"medium",children:"Medium"}),(0,b.jsx)(y.SelectItem,{value:"high",children:"High"}),(0,b.jsx)(y.SelectItem,{value:"critical",children:"Critical"})]})]}),W.length>0&&(0,b.jsxs)(y.Select,{value:B,onValueChange:C,children:[(0,b.jsx)(y.SelectTrigger,{className:"h-8 text-xs",children:(0,b.jsx)(y.SelectValue,{placeholder:"Tag"})}),(0,b.jsxs)(y.SelectContent,{children:[(0,b.jsx)(y.SelectItem,{value:"all",children:"All Tags"}),W.map(a=>(0,b.jsx)(y.SelectItem,{value:a,children:a},a))]})]})]}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(o.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,b.jsx)(u.Input,{placeholder:"Search specs...",value:h,onChange:a=>i(a.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,b.jsx)("div",{className:"flex-1 overflow-hidden",children:0===Y.length?(0,b.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,b.jsx)(_,{listRef:N,defaultHeight:$,rowCount:Y.length,rowHeight:72,overscanCount:5,rowComponent:Z,rowProps:{}})})]}),K&&G&&(0,b.jsx)(v.Button,{variant:"ghost",size:"sm",onClick:()=>H(!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,b.jsx)(q.ChevronRight,{className:"h-4 w-4"})}),(0,b.jsx)(v.Button,{onClick:()=>J(!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,b.jsx)(s.List,{className:"h-5 w-5"})})]})]})}a.s(["SpecsNavSidebar",()=>T],39942)}];
2
2
 
3
3
  //# sourceMappingURL=_ad71cd8c._.js.map
@@ -1,6 +1,6 @@
1
1
  module.exports=[67055,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"ReadonlyURLSearchParams",{enumerable:!0,get:function(){return e}});class d extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class e extends URLSearchParams{append(){throw new d}delete(){throw new d}set(){throw new d}sort(){throw new d}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},29224,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"RedirectStatusCode",{enumerable:!0,get:function(){return e}});var d,e=((d={})[d.SeeOther=303]="SeeOther",d[d.TemporaryRedirect=307]="TemporaryRedirect",d[d.PermanentRedirect=308]="PermanentRedirect",d);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},24699,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={REDIRECT_ERROR_CODE:function(){return h},RedirectType:function(){return i},isRedirectError:function(){return j}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(29224),h="NEXT_REDIRECT";var i=((d={}).push="push",d.replace="replace",d);function j(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let b=a.digest.split(";"),[c,d]=b,e=b.slice(2,-2).join(";"),f=Number(b.at(-2));return c===h&&("replace"===d||"push"===d)&&"string"==typeof e&&!isNaN(f)&&f in g.RedirectStatusCode}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},48553,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={getRedirectError:function(){return i},getRedirectStatusCodeFromError:function(){return n},getRedirectTypeFromError:function(){return m},getURLFromRedirectError:function(){return l},permanentRedirect:function(){return k},redirect:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(29224),g=a.r(24699),h=a.r(20635).actionAsyncStorage;function i(a,b,c=f.RedirectStatusCode.TemporaryRedirect){let d=Object.defineProperty(Error(g.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return d.digest=`${g.REDIRECT_ERROR_CODE};${b};${a};${c};`,d}function j(a,b){throw i(a,b??=h?.getStore()?.isAction?g.RedirectType.push:g.RedirectType.replace,f.RedirectStatusCode.TemporaryRedirect)}function k(a,b=g.RedirectType.replace){throw i(a,b,f.RedirectStatusCode.PermanentRedirect)}function l(a){return(0,g.isRedirectError)(a)?a.digest.split(";").slice(2,-2).join(";"):null}function m(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return a.digest.split(";",2)[1]}function n(a){if(!(0,g.isRedirectError)(a))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(a.digest.split(";").at(-2))}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},70167,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={HTTPAccessErrorStatus:function(){return f},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return h},getAccessFallbackErrorTypeByStatus:function(){return k},getAccessFallbackHTTPStatus:function(){return j},isHTTPAccessFallbackError:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},g=new Set(Object.values(f)),h="NEXT_HTTP_ERROR_FALLBACK";function i(a){if("object"!=typeof a||null===a||!("digest"in a)||"string"!=typeof a.digest)return!1;let[b,c]=a.digest.split(";");return b===h&&g.has(Number(c))}function j(a){return Number(a.digest.split(";")[1])}function k(a){switch(a){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},3006,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"notFound",{enumerable:!0,get:function(){return f}});let d=a.r(70167),e=`${d.HTTP_ERROR_FALLBACK_ERROR_CODE};404`;function f(){let a=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw a.digest=e,a}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},51544,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"forbidden",{enumerable:!0,get:function(){return d}}),a.r(70167).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},14431,(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unauthorized",{enumerable:!0,get:function(){return d}}),a.r(70167).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},4012,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={isHangingPromiseRejectionError:function(){return f},makeDevtoolsIOAwarePromise:function(){return l},makeHangingPromise:function(){return j}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});function f(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===g}let g="HANGING_PROMISE_REJECTION";class h extends Error{constructor(a,b){super(`During prerendering, ${b} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${b} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "${a}".`),this.route=a,this.expression=b,this.digest=g}}let i=new WeakMap;function j(a,b,c){if(a.aborted)return Promise.reject(new h(b,c));{let d=new Promise((d,e)=>{let f=e.bind(null,new h(b,c)),g=i.get(a);if(g)g.push(f);else{let b=[f];i.set(a,b),a.addEventListener("abort",()=>{for(let a=0;a<b.length;a++)b[a]()},{once:!0})}});return d.catch(k),d}}function k(){}function l(a,b,c){return b.stagedRendering?b.stagedRendering.delayUntilStage(c,void 0,a):new Promise(b=>{setTimeout(()=>{b(a)},0)})}},61190,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isPostpone",{enumerable:!0,get:function(){return e}});let d=Symbol.for("react.postpone");function e(a){return"object"==typeof a&&null!==a&&a.$$typeof===d}},70634,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={BailoutToCSRError:function(){return g},isBailoutToCSRError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="BAILOUT_TO_CLIENT_SIDE_RENDERING";class g extends Error{constructor(a){super(`Bail out to client-side rendering: ${a}`),this.reason=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&a.digest===f}},83458,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"isNextRouterError",{enumerable:!0,get:function(){return f}});let d=a.r(70167),e=a.r(24699);function f(a){return(0,e.isRedirectError)(a)||(0,d.isHTTPAccessFallbackError)(a)}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},98274,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={DynamicServerError:function(){return g},isDynamicServerError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="DYNAMIC_SERVER_USAGE";class g extends Error{constructor(a){super(`Dynamic server usage: ${a}`),this.description=a,this.digest=f}}function h(a){return"object"==typeof a&&null!==a&&"digest"in a&&"string"==typeof a.digest&&a.digest===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},21912,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={StaticGenBailoutError:function(){return g},isStaticGenBailoutError:function(){return h}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="NEXT_STATIC_GEN_BAILOUT";class g extends Error{constructor(...a){super(...a),this.code=f}}function h(a){return"object"==typeof a&&null!==a&&"code"in a&&a.code===f}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},88793,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={METADATA_BOUNDARY_NAME:function(){return f},OUTLET_BOUNDARY_NAME:function(){return h},ROOT_LAYOUT_BOUNDARY_NAME:function(){return i},VIEWPORT_BOUNDARY_NAME:function(){return g}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f="__next_metadata_boundary__",g="__next_viewport_boundary__",h="__next_outlet_boundary__",i="__next_root_layout_boundary__"},48702,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={atLeastOneTask:function(){return h},scheduleImmediate:function(){return g},scheduleOnNextTick:function(){return f},waitAtLeastOneReactRenderTask:function(){return i}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a=>{Promise.resolve().then(()=>{process.nextTick(a)})},g=a=>{setImmediate(a)};function h(){return new Promise(a=>g(a))}function i(){return new Promise(a=>setImmediate(a))}},91399,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"InvariantError",{enumerable:!0,get:function(){return d}});class d extends Error{constructor(a,b){super(`Invariant: ${a.endsWith(".")?a:a+"."} This is a bug in Next.js.`,b),this.name="InvariantError"}}},29092,(a,b,c)=>{"use strict";function d(){let a,b,c=new Promise((c,d)=>{a=c,b=d});return{resolve:a,reject:b,promise:c}}Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"createPromiseWithResolvers",{enumerable:!0,get:function(){return d}})},27903,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e={RenderStage:function(){return i},StagedRenderingController:function(){return j}};for(var f in e)Object.defineProperty(c,f,{enumerable:!0,get:e[f]});let g=a.r(91399),h=a.r(29092);var i=((d={})[d.Static=1]="Static",d[d.Runtime=2]="Runtime",d[d.Dynamic=3]="Dynamic",d);class j{constructor(a=null){this.abortSignal=a,this.currentStage=1,this.runtimeStagePromise=(0,h.createPromiseWithResolvers)(),this.dynamicStagePromise=(0,h.createPromiseWithResolvers)(),a&&a.addEventListener("abort",()=>{let{reason:b}=a;this.currentStage<2&&(this.runtimeStagePromise.promise.catch(k),this.runtimeStagePromise.reject(b)),this.currentStage<3&&(this.dynamicStagePromise.promise.catch(k),this.dynamicStagePromise.reject(b))},{once:!0})}advanceStage(a){!(this.currentStage>=a)&&(this.currentStage=a,a>=2&&this.runtimeStagePromise.resolve(),a>=3&&this.dynamicStagePromise.resolve())}getStagePromise(a){switch(a){case 2:return this.runtimeStagePromise.promise;case 3:return this.dynamicStagePromise.promise;default:throw Object.defineProperty(new g.InvariantError(`Invalid render stage: ${a}`),"__NEXT_ERROR_CODE",{value:"E881",enumerable:!1,configurable:!0})}}waitForStage(a){return this.getStagePromise(a)}delayUntilStage(a,b,c){var d,e,f;let g,h=(d=this.getStagePromise(a),e=b,f=c,g=new Promise((a,b)=>{d.then(a.bind(null,f),b)}),void 0!==e&&(g.displayName=e),g);return this.abortSignal&&h.catch(k),h}}function k(){}},97043,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d,e,f={Postpone:function(){return D},PreludeState:function(){return Z},abortAndThrowOnSynchronousRequestDataAccess:function(){return C},abortOnSynchronousPlatformIOAccess:function(){return A},accessedDynamicData:function(){return L},annotateDynamicAccess:function(){return Q},consumeDynamicAccess:function(){return M},createDynamicTrackingState:function(){return t},createDynamicValidationState:function(){return u},createHangingInputAbortSignal:function(){return P},createRenderInBrowserAbortSignal:function(){return O},delayUntilRuntimeStage:function(){return aa},formatDynamicAPIAccesses:function(){return N},getFirstDynamicReason:function(){return v},isDynamicPostpone:function(){return G},isPrerenderInterruptedError:function(){return K},logDisallowedDynamicError:function(){return $},markCurrentScopeAsDynamic:function(){return w},postponeWithTracking:function(){return E},throwIfDisallowedDynamic:function(){return _},throwToInterruptStaticGeneration:function(){return x},trackAllowedDynamicAccess:function(){return Y},trackDynamicDataInDynamicRender:function(){return y},trackSynchronousPlatformIOAccessInDev:function(){return B},useDynamicRouteParams:function(){return R},useDynamicSearchParams:function(){return S}};for(var g in f)Object.defineProperty(c,g,{enumerable:!0,get:f[g]});let h=(d=a.r(32428))&&d.__esModule?d:{default:d},i=a.r(98274),j=a.r(21912),k=a.r(32319),l=a.r(56704),m=a.r(4012),n=a.r(88793),o=a.r(48702),p=a.r(70634),q=a.r(91399),r=a.r(27903),s="function"==typeof h.default.unstable_postpone;function t(a){return{isDebugDynamicAccesses:a,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function u(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function v(a){var b;return null==(b=a.dynamicAccesses[0])?void 0:b.expression}function w(a,b,c){if(b)switch(b.type){case"cache":case"unstable-cache":case"private-cache":return}if(!a.forceDynamic&&!a.forceStatic){if(a.dynamicShouldError)throw Object.defineProperty(new j.StaticGenBailoutError(`Route ${a.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${c}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(b)switch(b.type){case"prerender-ppr":return E(a.route,c,b.dynamicTracking);case"prerender-legacy":b.revalidate=0;let d=Object.defineProperty(new i.DynamicServerError(`Route ${a.route} couldn't be rendered statically because it used ${c}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw a.dynamicUsageDescription=c,a.dynamicUsageStack=d.stack,d}}}function x(a,b,c){let d=Object.defineProperty(new i.DynamicServerError(`Route ${b.route} couldn't be rendered statically because it used \`${a}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.revalidate=0,b.dynamicUsageDescription=a,b.dynamicUsageStack=d.stack,d}function y(a){switch(a.type){case"cache":case"unstable-cache":case"private-cache":return}}function z(a,b,c){let d=J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`);c.controller.abort(d);let e=c.dynamicTracking;e&&e.dynamicAccesses.push({stack:e.isDebugDynamicAccesses?Error().stack:void 0,expression:b})}function A(a,b,c,d){let e=d.dynamicTracking;z(a,b,d),e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}function B(a){a.stagedRendering&&a.stagedRendering.advanceStage(r.RenderStage.Dynamic)}function C(a,b,c,d){if(!1===d.controller.signal.aborted){z(a,b,d);let e=d.dynamicTracking;e&&null===e.syncDynamicErrorWithStack&&(e.syncDynamicErrorWithStack=c)}throw J(`Route ${a} needs to bail out of prerendering at this point because it used ${b}.`)}function D({reason:a,route:b}){let c=k.workUnitAsyncStorage.getStore();E(b,a,c&&"prerender-ppr"===c.type?c.dynamicTracking:null)}function E(a,b,c){(function(){if(!s)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:b}),h.default.unstable_postpone(F(a,b))}function F(a,b){return`Route ${a} needs to bail out of prerendering at this point because it used ${b}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function G(a){return"object"==typeof a&&null!==a&&"string"==typeof a.message&&H(a.message)}function H(a){return a.includes("needs to bail out of prerendering at this point because it used")&&a.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===H(F("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let I="NEXT_PRERENDER_INTERRUPTED";function J(a){let b=Object.defineProperty(Error(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return b.digest=I,b}function K(a){return"object"==typeof a&&null!==a&&a.digest===I&&"name"in a&&"message"in a&&a instanceof Error}function L(a){return a.length>0}function M(a,b){return a.dynamicAccesses.push(...b.dynamicAccesses),a.dynamicAccesses}function N(a){return a.filter(a=>"string"==typeof a.stack&&a.stack.length>0).map(({expression:a,stack:b})=>(b=b.split("\n").slice(4).filter(a=>!(a.includes("node_modules/next/")||a.includes(" (<anonymous>)")||a.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${a}:
2
2
  ${b}`))}function O(){let a=new AbortController;return a.abort(Object.defineProperty(new p.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),a.signal}function P(a){switch(a.type){case"prerender":case"prerender-runtime":let b=new AbortController;if(a.cacheSignal)a.cacheSignal.inputReady().then(()=>{b.abort()});else{let c=(0,k.getRuntimeStagePromise)(a);c?c.then(()=>(0,o.scheduleOnNextTick)(()=>b.abort())):(0,o.scheduleOnNextTick)(()=>b.abort())}return b.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function Q(a,b){let c=b.dynamicTracking;c&&c.dynamicAccesses.push({stack:c.isDebugDynamicAccesses?Error().stack:void 0,expression:a})}function R(a){let b=l.workAsyncStorage.getStore(),c=k.workUnitAsyncStorage.getStore();if(b&&c)switch(c.type){case"prerender-client":case"prerender":{let d=c.fallbackRouteParams;d&&d.size>0&&h.default.use((0,m.makeHangingPromise)(c.renderSignal,b.route,a));break}case"prerender-ppr":{let d=c.fallbackRouteParams;if(d&&d.size>0)return E(b.route,a,c.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called during a runtime prerender. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}function S(a){let b=l.workAsyncStorage.getStore(),c=k.workUnitAsyncStorage.getStore();if(b)switch(!c&&(0,k.throwForMissingRequestStore)(a),c.type){case"prerender-client":h.default.use((0,m.makeHangingPromise)(c.renderSignal,b.route,a));break;case"prerender-legacy":case"prerender-ppr":if(b.forceStatic)return;throw Object.defineProperty(new p.BailoutToCSRError(a),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called from a Server Component. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E795",enumerable:!1,configurable:!0});case"cache":case"unstable-cache":case"private-cache":throw Object.defineProperty(new q.InvariantError(`\`${a}\` was called inside a cache scope. Next.js should be preventing ${a} from being included in server components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0});case"request":return}}let T=/\n\s+at Suspense \(<anonymous>\)/,U=RegExp(`\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6) \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ${n.ROOT_LAYOUT_BOUNDARY_NAME} \\([^\\n]*\\)`),V=RegExp(`\\n\\s+at ${n.METADATA_BOUNDARY_NAME}[\\n\\s]`),W=RegExp(`\\n\\s+at ${n.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),X=RegExp(`\\n\\s+at ${n.OUTLET_BOUNDARY_NAME}[\\n\\s]`);function Y(a,b,c,d){if(!X.test(b)){if(V.test(b)){c.hasDynamicMetadata=!0;return}if(W.test(b)){c.hasDynamicViewport=!0;return}if(U.test(b)){c.hasAllowedDynamic=!0,c.hasSuspenseAboveBody=!0;return}else if(T.test(b)){c.hasAllowedDynamic=!0;return}else{var e,f;let g;if(d.syncDynamicErrorWithStack)return void c.dynamicErrors.push(d.syncDynamicErrorWithStack);let h=(e=`Route "${a.route}": Uncached data was accessed outside of <Suspense>. This delays the entire page from rendering, resulting in a slow user experience. Learn more: https://nextjs.org/docs/messages/blocking-route`,f=b,(g=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})).stack=g.name+": "+e+f,g);return void c.dynamicErrors.push(h)}}}var Z=((e={})[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e);function $(a,b){console.error(b),a.dev||(a.hasReadableErrorStacks?console.error(`To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.`):console.error(`To get a more detailed stack trace and pinpoint the issue, try one of the following:
3
3
  - Start the app in development mode by running \`next dev\`, then open "${a.route}" in your browser to investigate the error.
4
- - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function _(a,b,c,d){if(d.syncDynamicErrorWithStack)throw $(a,d.syncDynamicErrorWithStack),new j.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)$(a,d[b]);throw new j.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new j.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new j.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new j.StaticGenBailoutError}function aa(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}},90619,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(4012),e=a.r(61190),f=a.r(70634),g=a.r(83458),h=a.r(97043),i=a.r(98274);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},13623,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(90619).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},79596,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return h.RedirectType},forbidden:function(){return j.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return k.unauthorized},unstable_isUnrecognizedActionError:function(){return m},unstable_rethrow:function(){return l.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(67055),g=a.r(48553),h=a.r(24699),i=a.r(3006),j=a.r(51544),k=a.r(14431),l=a.r(13623);function m(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},24154,a=>{"use strict";let b=(0,a.i(45804).registerClientReference)(function(){throw Error("Attempted to call SpecDetailWrapper() from the server but SpecDetailWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/web/src/components/spec-detail-wrapper.tsx <module evaluation>","SpecDetailWrapper");a.s(["SpecDetailWrapper",0,b])},1129,a=>{"use strict";let b=(0,a.i(45804).registerClientReference)(function(){throw Error("Attempted to call SpecDetailWrapper() from the server but SpecDetailWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/web/src/components/spec-detail-wrapper.tsx","SpecDetailWrapper");a.s(["SpecDetailWrapper",0,b])},694,a=>{"use strict";a.i(24154);var b=a.i(1129);a.n(b)},4638,a=>{"use strict";var b=a.i(37843),c=a.i(79596),d=a.i(77630),e=a.i(694);async function f({params:a,searchParams:f}){let{id:g}=await a,{subspec:h}=await f,[i,j]=await Promise.all([(0,d.getSpecById)(g),(0,d.getSpecs)()]);return i||(0,c.notFound)(),(0,b.jsx)(e.SpecDetailWrapper,{spec:i,allSpecs:j,currentSubSpec:h})}a.s(["default",()=>f,"dynamicParams",0,!0,"revalidate",0,60],4638)}];
4
+ - Rerun the production build with \`next build --debug-prerender\` to generate better stack traces.`))}function _(a,b,c,d){if(d.syncDynamicErrorWithStack)throw $(a,d.syncDynamicErrorWithStack),new j.StaticGenBailoutError;if(0!==b){if(c.hasSuspenseAboveBody)return;let d=c.dynamicErrors;if(d.length>0){for(let b=0;b<d.length;b++)$(a,d[b]);throw new j.StaticGenBailoutError}if(c.hasDynamicViewport)throw console.error(`Route "${a.route}" has a \`generateViewport\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport`),new j.StaticGenBailoutError;if(1===b)throw console.error(`Route "${a.route}" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.`),new j.StaticGenBailoutError}else if(!1===c.hasAllowedDynamic&&c.hasDynamicMetadata)throw console.error(`Route "${a.route}" has a \`generateMetadata\` that depends on Request data (\`cookies()\`, etc...) or uncached external data (\`fetch(...)\`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata`),new j.StaticGenBailoutError}function aa(a,b){return a.runtimeStagePromise?a.runtimeStagePromise.then(()=>b):b}},90619,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return function a(b){if((0,g.isNextRouterError)(b)||(0,f.isBailoutToCSRError)(b)||(0,i.isDynamicServerError)(b)||(0,h.isDynamicPostpone)(b)||(0,e.isPostpone)(b)||(0,d.isHangingPromiseRejectionError)(b)||(0,h.isPrerenderInterruptedError)(b))throw b;b instanceof Error&&"cause"in b&&a(b.cause)}}});let d=a.r(4012),e=a.r(61190),f=a.r(70634),g=a.r(83458),h=a.r(97043),i=a.r(98274);("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},13623,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"unstable_rethrow",{enumerable:!0,get:function(){return d}});let d=a.r(90619).unstable_rethrow;("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},79596,(a,b,c)=>{"use strict";Object.defineProperty(c,"__esModule",{value:!0});var d={ReadonlyURLSearchParams:function(){return f.ReadonlyURLSearchParams},RedirectType:function(){return h.RedirectType},forbidden:function(){return j.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return g.permanentRedirect},redirect:function(){return g.redirect},unauthorized:function(){return k.unauthorized},unstable_isUnrecognizedActionError:function(){return m},unstable_rethrow:function(){return l.unstable_rethrow}};for(var e in d)Object.defineProperty(c,e,{enumerable:!0,get:d[e]});let f=a.r(67055),g=a.r(48553),h=a.r(24699),i=a.r(3006),j=a.r(51544),k=a.r(14431),l=a.r(13623);function m(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof c.default||"object"==typeof c.default&&null!==c.default)&&void 0===c.default.__esModule&&(Object.defineProperty(c.default,"__esModule",{value:!0}),Object.assign(c.default,c),b.exports=c.default)},24154,a=>{"use strict";let b=(0,a.i(45804).registerClientReference)(function(){throw Error("Attempted to call SpecDetailWrapper() from the server but SpecDetailWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/web/src/components/spec-detail-wrapper.tsx <module evaluation>","SpecDetailWrapper");a.s(["SpecDetailWrapper",0,b])},1129,a=>{"use strict";let b=(0,a.i(45804).registerClientReference)(function(){throw Error("Attempted to call SpecDetailWrapper() from the server but SpecDetailWrapper is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"[project]/packages/web/src/components/spec-detail-wrapper.tsx","SpecDetailWrapper");a.s(["SpecDetailWrapper",0,b])},694,a=>{"use strict";a.i(24154);var b=a.i(1129);a.n(b)},4638,a=>{"use strict";var b=a.i(37843),c=a.i(79596),d=a.i(77630),e=a.i(694);async function f({params:a,searchParams:f}){let{id:g}=await a,{subspec:h}=await f,[i,j]=await Promise.all([(0,d.getSpecById)(g),(0,d.getSpecsWithSubSpecCount)()]);return i||(0,c.notFound)(),(0,b.jsx)(e.SpecDetailWrapper,{spec:i,allSpecs:j,currentSubSpec:h})}a.s(["default",()=>f,"dynamicParams",0,!0,"revalidate",0,60],4638)}];
5
5
 
6
6
  //# sourceMappingURL=_c5a5c652._.js.map