@leanspec/ui 0.2.5-dev.20251119032109 → 0.2.5-dev.20251120015656

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 (150) hide show
  1. package/.next/standalone/node_modules/.pnpm/tiktoken@1.0.22/node_modules/tiktoken/tiktoken_bg.wasm +0 -0
  2. package/.next/standalone/packages/ui/.next/BUILD_ID +1 -1
  3. package/.next/standalone/packages/ui/.next/app-path-routes-manifest.json +1 -0
  4. package/.next/standalone/packages/ui/.next/build-manifest.json +2 -2
  5. package/.next/standalone/packages/ui/.next/prerender-manifest.json +3 -3
  6. package/.next/standalone/packages/ui/.next/routes-manifest.json +8 -0
  7. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js +1 -1
  8. package/.next/standalone/packages/ui/.next/server/app/_global-error/page.js.nft.json +1 -1
  9. package/.next/standalone/packages/ui/.next/server/app/_global-error.html +2 -2
  10. package/.next/standalone/packages/ui/.next/server/app/_global-error.rsc +1 -1
  11. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  12. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  14. package/.next/standalone/packages/ui/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  15. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js +2 -2
  16. package/.next/standalone/packages/ui/.next/server/app/_not-found/page.js.nft.json +1 -1
  17. package/.next/standalone/packages/ui/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/packages/ui/.next/server/app/_not-found.html +2 -2
  19. package/.next/standalone/packages/ui/.next/server/app/_not-found.rsc +16 -16
  20. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_full.segment.rsc +16 -16
  21. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
  22. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
  23. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
  24. package/.next/standalone/packages/ui/.next/server/app/_not-found.segments/_tree.segment.rsc +5 -5
  25. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js +1 -1
  26. package/.next/standalone/packages/ui/.next/server/app/api/projects/[id]/specs/route.js.nft.json +1 -1
  27. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js +1 -1
  28. package/.next/standalone/packages/ui/.next/server/app/api/projects/route.js.nft.json +1 -1
  29. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js +1 -1
  30. package/.next/standalone/packages/ui/.next/server/app/api/revalidate/route.js.nft.json +1 -1
  31. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js +1 -1
  32. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/dependency-graph/route.js.nft.json +1 -1
  33. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js +1 -1
  34. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/route.js.nft.json +1 -1
  35. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/app-paths-manifest.json +3 -0
  36. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/build-manifest.json +11 -0
  37. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route/server-reference-manifest.json +4 -0
  38. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js +7 -0
  39. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.map +5 -0
  40. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route.js.nft.json +1 -0
  41. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/status/route_client-reference-manifest.js +2 -0
  42. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js +1 -1
  43. package/.next/standalone/packages/ui/.next/server/app/api/specs/[id]/subspecs/[file]/route.js.nft.json +1 -1
  44. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js +1 -1
  45. package/.next/standalone/packages/ui/.next/server/app/api/stats/route.js.nft.json +1 -1
  46. package/.next/standalone/packages/ui/.next/server/app/page.js +2 -2
  47. package/.next/standalone/packages/ui/.next/server/app/page.js.nft.json +1 -1
  48. package/.next/standalone/packages/ui/.next/server/app/page_client-reference-manifest.js +1 -1
  49. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js +2 -2
  50. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page.js.nft.json +1 -1
  51. package/.next/standalone/packages/ui/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
  52. package/.next/standalone/packages/ui/.next/server/app/specs/page.js +2 -2
  53. package/.next/standalone/packages/ui/.next/server/app/specs/page.js.nft.json +1 -1
  54. package/.next/standalone/packages/ui/.next/server/app/specs/page_client-reference-manifest.js +1 -1
  55. package/.next/standalone/packages/ui/.next/server/app/stats/page.js +2 -2
  56. package/.next/standalone/packages/ui/.next/server/app/stats/page.js.nft.json +1 -1
  57. package/.next/standalone/packages/ui/.next/server/app/stats/page_client-reference-manifest.js +1 -1
  58. package/.next/standalone/packages/ui/.next/server/app-paths-manifest.json +1 -0
  59. package/.next/standalone/packages/ui/.next/server/chunks/730ea_ui__next-internal_server_app_api_specs_[id]_status_route_actions_5d700407.js +3 -0
  60. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__d1d92c7c._.js → [root-of-the-server]__175bef84._.js} +2 -2
  61. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__3971eae5._.js +3 -0
  62. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__6bca1621._.js +3 -0
  63. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__87a3475a._.js +3 -0
  64. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9f0f4c0b._.js +3 -0
  65. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__c1c9f5f5._.js +3 -0
  66. package/.next/standalone/packages/ui/.next/server/chunks/{[root-of-the-server]__e09ce4bf._.js → [root-of-the-server]__c6689757._.js} +2 -2
  67. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__cd1fb0a2._.js +4 -0
  68. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__e2071b2e._.js +3 -0
  69. package/.next/standalone/packages/ui/.next/server/chunks/e0876_tiktoken_3efea2dc._.js +3 -0
  70. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__1d0c2012._.js +1 -1
  71. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__c65aedd0._.js → [root-of-the-server]__299c81cc._.js} +2 -2
  72. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__b3633d6e._.js → [root-of-the-server]__41f5b5c0._.js} +2 -2
  73. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__a9d7fd42._.js → [root-of-the-server]__5ca2e973._.js} +2 -2
  74. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__7f55abaa._.js +1 -1
  75. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__b2fe773d._.js +3 -0
  76. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__e79a982a._.js +7 -0
  77. package/.next/standalone/packages/ui/.next/server/chunks/ssr/{[root-of-the-server]__6e89d129._.js → [root-of-the-server]__ff03fc1e._.js} +2 -2
  78. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_000dd317._.js +1 -1
  79. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_6cd9a5e0._.js +3 -0
  80. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b483c9fe._.js +3 -0
  81. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_b5040d31._.js +5 -0
  82. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_e1889307._.js +3 -0
  83. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_app_specs_specs-client_tsx_0bb8f8f8._.js +3 -0
  84. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_specs-nav-sidebar_tsx_8237ed13._.js +3 -0
  85. package/.next/standalone/packages/ui/.next/server/pages/404.html +2 -2
  86. package/.next/standalone/packages/ui/.next/server/pages/500.html +2 -2
  87. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.js +1 -1
  88. package/.next/standalone/packages/ui/.next/server/server-reference-manifest.json +1 -1
  89. package/.next/standalone/packages/ui/.next/static/chunks/093ea4b175adb770.js +1 -0
  90. package/.next/standalone/packages/ui/.next/static/chunks/{f2151fb88f8fc70a.js → 3fc323b284db714f.js} +1 -1
  91. package/.next/standalone/packages/ui/.next/static/chunks/5f97d665a4d9dc62.js +3 -0
  92. package/.next/standalone/packages/ui/.next/static/chunks/9b7b7024c39c5f99.js +1 -0
  93. package/.next/standalone/packages/ui/.next/static/chunks/c61cbb6a0ba3b6ab.js +1 -0
  94. package/.next/standalone/packages/ui/.next/static/chunks/cff894805981b496.css +1 -0
  95. package/.next/standalone/packages/ui/.next/static/chunks/d79bf953f0dfb650.js +1 -0
  96. package/.next/standalone/packages/ui/.next/static/chunks/e50fb8d0b728cd35.js +5 -0
  97. package/.next/standalone/packages/ui/.next/static/chunks/e6e238dbf1d3e740.js +1 -0
  98. package/.next/standalone/packages/ui/package.json +1 -1
  99. package/.next/standalone/packages/ui/src/app/api/specs/[id]/status/route.ts +122 -0
  100. package/.next/standalone/packages/ui/src/app/globals.css +10 -0
  101. package/.next/standalone/packages/ui/src/app/specs/page.tsx +2 -2
  102. package/.next/standalone/packages/ui/src/app/specs/specs-client.tsx +489 -214
  103. package/.next/standalone/packages/ui/src/lib/db/service-queries.ts +23 -0
  104. package/.next/standalone/packages/ui/src/lib/specs/sources/filesystem-source.ts +46 -6
  105. package/.next/standalone/packages/ui/tsconfig.json +2 -1
  106. package/.next/standalone/packages/ui/tsconfig.tsbuildinfo +1 -1
  107. package/.next/standalone/packages/ui/vitest.config.ts +1 -0
  108. package/.next/static/chunks/093ea4b175adb770.js +1 -0
  109. package/.next/static/chunks/{f2151fb88f8fc70a.js → 3fc323b284db714f.js} +1 -1
  110. package/.next/static/chunks/5f97d665a4d9dc62.js +3 -0
  111. package/.next/static/chunks/9b7b7024c39c5f99.js +1 -0
  112. package/.next/static/chunks/c61cbb6a0ba3b6ab.js +1 -0
  113. package/.next/static/chunks/cff894805981b496.css +1 -0
  114. package/.next/static/chunks/d79bf953f0dfb650.js +1 -0
  115. package/.next/static/chunks/e50fb8d0b728cd35.js +5 -0
  116. package/.next/static/chunks/e6e238dbf1d3e740.js +1 -0
  117. package/package.json +1 -1
  118. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__15e8a946._.js +0 -3
  119. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__47b8cab4._.js +0 -3
  120. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__9fda1bdb._.js +0 -3
  121. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__a2c55ffb._.js +0 -3
  122. package/.next/standalone/packages/ui/.next/server/chunks/[root-of-the-server]__d4193584._.js +0 -3
  123. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__68015eee._.js +0 -3
  124. package/.next/standalone/packages/ui/.next/server/chunks/ssr/[root-of-the-server]__8ae28367._.js +0 -7
  125. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_a527620e._.js +0 -3
  126. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_d7e4bd50._.js +0 -5
  127. package/.next/standalone/packages/ui/.next/server/chunks/ssr/_f8b2190a._.js +0 -3
  128. package/.next/standalone/packages/ui/.next/server/chunks/ssr/packages_ui_src_components_ui_input_tsx_190a7701._.js +0 -3
  129. package/.next/standalone/packages/ui/.next/static/chunks/16b2f4261d3a374a.css +0 -1
  130. package/.next/standalone/packages/ui/.next/static/chunks/17ac52d909def83e.js +0 -1
  131. package/.next/standalone/packages/ui/.next/static/chunks/3385e291c49e782d.js +0 -1
  132. package/.next/standalone/packages/ui/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  133. package/.next/standalone/packages/ui/.next/static/chunks/88f695d32910a4ac.js +0 -1
  134. package/.next/standalone/packages/ui/.next/static/chunks/dde5d8bddd7fbfcf.js +0 -1
  135. package/.next/standalone/packages/ui/.next/static/chunks/e237e00fd3a84178.js +0 -3
  136. package/.next/standalone/packages/ui/.next/static/chunks/ee4245fe6ba3d6d3.js +0 -5
  137. package/.next/static/chunks/16b2f4261d3a374a.css +0 -1
  138. package/.next/static/chunks/17ac52d909def83e.js +0 -1
  139. package/.next/static/chunks/3385e291c49e782d.js +0 -1
  140. package/.next/static/chunks/5057c3e1e7e13ca3.js +0 -1
  141. package/.next/static/chunks/88f695d32910a4ac.js +0 -1
  142. package/.next/static/chunks/dde5d8bddd7fbfcf.js +0 -1
  143. package/.next/static/chunks/e237e00fd3a84178.js +0 -3
  144. package/.next/static/chunks/ee4245fe6ba3d6d3.js +0 -5
  145. /package/.next/standalone/packages/ui/.next/static/{uj2-H8ytNCFa611gjl5uE → aJb7D9JtV_zRcRPZ0yHNE}/_buildManifest.js +0 -0
  146. /package/.next/standalone/packages/ui/.next/static/{uj2-H8ytNCFa611gjl5uE → aJb7D9JtV_zRcRPZ0yHNE}/_clientMiddlewareManifest.json +0 -0
  147. /package/.next/standalone/packages/ui/.next/static/{uj2-H8ytNCFa611gjl5uE → aJb7D9JtV_zRcRPZ0yHNE}/_ssgManifest.js +0 -0
  148. /package/.next/static/{uj2-H8ytNCFa611gjl5uE → aJb7D9JtV_zRcRPZ0yHNE}/_buildManifest.js +0 -0
  149. /package/.next/static/{uj2-H8ytNCFa611gjl5uE → aJb7D9JtV_zRcRPZ0yHNE}/_clientMiddlewareManifest.json +0 -0
  150. /package/.next/static/{uj2-H8ytNCFa611gjl5uE → aJb7D9JtV_zRcRPZ0yHNE}/_ssgManifest.js +0 -0
@@ -9,6 +9,7 @@ export default defineConfig({
9
9
  resolve: {
10
10
  alias: {
11
11
  '@': path.resolve(__dirname, './src'),
12
+ '@cli': path.resolve(__dirname, '../cli/src'),
12
13
  },
13
14
  },
14
15
  });
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,22764,e=>{"use strict";let t=(0,e.i(22436).default)("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]);e.s(["List",()=>t],22764)},96026,e=>{"use strict";let t=(0,e.i(22436).default)("trending-up",[["path",{d:"M16 7h6v6",key:"box55l"}],["path",{d:"m22 7-8.5 8.5-5-5L2 17",key:"1t1m79"}]]);e.s(["TrendingUp",()=>t],96026)},30885,35389,e=>{"use strict";var t=e.i(22436);let r=(0,t.default)("git-branch",[["line",{x1:"6",x2:"6",y1:"3",y2:"15",key:"17qcm7"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M18 9a9 9 0 0 1-9 9",key:"n2h4wq"}]]);e.s(["GitBranch",()=>r],30885);let n=(0,t.default)("maximize-2",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]]);e.s(["Maximize2",()=>n],35389)},70305,(e,t,r)=>{"use strict";var n=e.r(31231),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},s=n.useState,l=n.useEffect,a=n.useLayoutEffect,o=n.useDebugValue;function c(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!i(e,r)}catch(e){return!0}}var u="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),n=s({inst:{value:r,getSnapshot:t}}),i=n[0].inst,u=n[1];return a(function(){i.value=r,i.getSnapshot=t,c(i)&&u({inst:i})},[e,r,t]),l(function(){return c(i)&&u({inst:i}),e(function(){c(i)&&u({inst:i})})},[e]),o(r),r};r.useSyncExternalStore=void 0!==n.useSyncExternalStore?n.useSyncExternalStore:u},34960,(e,t,r)=>{"use strict";t.exports=e.r(70305)},21665,(e,t,r)=>{"use strict";var n=e.r(31231),i=e.r(34960),s="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},l=i.useSyncExternalStore,a=n.useRef,o=n.useEffect,c=n.useMemo,u=n.useDebugValue;r.useSyncExternalStoreWithSelector=function(e,t,r,n,i){var d=a(null);if(null===d.current){var f={hasValue:!1,value:null};d.current=f}else f=d.current;var h=l(e,(d=c(function(){function e(e){if(!o){if(o=!0,l=e,e=n(e),void 0!==i&&f.hasValue){var t=f.value;if(i(t,e))return a=t}return a=e}if(t=a,s(l,e))return t;var r=n(e);return void 0!==i&&i(t,r)?(l=e,t):(l=e,a=r)}var l,a,o=!1,c=void 0===r?null:r;return[function(){return e(t())},null===c?void 0:function(){return e(c())}]},[t,r,n,i]))[0],d[1]);return o(function(){f.hasValue=!0,f.value=h},[h]),u(h),h}},96177,(e,t,r)=>{"use strict";t.exports=e.r(21665)},42541,e=>{"use strict";e.s(["default",0,function(e,t){return e*=1,t*=1,function(r){return e*(1-r)+t*r}}])},61610,21137,e=>{"use strict";function t(e,t,r){e.prototype=t.prototype=r,r.constructor=e}function r(e,t){var r=Object.create(e.prototype);for(var n in t)r[n]=t[n];return r}function n(){}var i="\\s*([+-]?\\d+)\\s*",s="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*",l="\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*",a=/^#([0-9a-f]{3,8})$/,o=RegExp(`^rgb\\(${i},${i},${i}\\)$`),c=RegExp(`^rgb\\(${l},${l},${l}\\)$`),u=RegExp(`^rgba\\(${i},${i},${i},${s}\\)$`),d=RegExp(`^rgba\\(${l},${l},${l},${s}\\)$`),f=RegExp(`^hsl\\(${s},${l},${l}\\)$`),h=RegExp(`^hsla\\(${s},${l},${l},${s}\\)$`),x={aliceblue:0xf0f8ff,antiquewhite:0xfaebd7,aqua:65535,aquamarine:8388564,azure:0xf0ffff,beige:0xf5f5dc,bisque:0xffe4c4,black:0,blanchedalmond:0xffebcd,blue:255,blueviolet:9055202,brown:0xa52a2a,burlywood:0xdeb887,cadetblue:6266528,chartreuse:8388352,chocolate:0xd2691e,coral:0xff7f50,cornflowerblue:6591981,cornsilk:0xfff8dc,crimson:0xdc143c,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:0xb8860b,darkgray:0xa9a9a9,darkgreen:25600,darkgrey:0xa9a9a9,darkkhaki:0xbdb76b,darkmagenta:9109643,darkolivegreen:5597999,darkorange:0xff8c00,darkorchid:0x9932cc,darkred:9109504,darksalmon:0xe9967a,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:0xff1493,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:0xb22222,floralwhite:0xfffaf0,forestgreen:2263842,fuchsia:0xff00ff,gainsboro:0xdcdcdc,ghostwhite:0xf8f8ff,gold:0xffd700,goldenrod:0xdaa520,gray:8421504,green:32768,greenyellow:0xadff2f,grey:8421504,honeydew:0xf0fff0,hotpink:0xff69b4,indianred:0xcd5c5c,indigo:4915330,ivory:0xfffff0,khaki:0xf0e68c,lavender:0xe6e6fa,lavenderblush:0xfff0f5,lawngreen:8190976,lemonchiffon:0xfffacd,lightblue:0xadd8e6,lightcoral:0xf08080,lightcyan:0xe0ffff,lightgoldenrodyellow:0xfafad2,lightgray:0xd3d3d3,lightgreen:9498256,lightgrey:0xd3d3d3,lightpink:0xffb6c1,lightsalmon:0xffa07a,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:0xb0c4de,lightyellow:0xffffe0,lime:65280,limegreen:3329330,linen:0xfaf0e6,magenta:0xff00ff,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:0xba55d3,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:0xc71585,midnightblue:1644912,mintcream:0xf5fffa,mistyrose:0xffe4e1,moccasin:0xffe4b5,navajowhite:0xffdead,navy:128,oldlace:0xfdf5e6,olive:8421376,olivedrab:7048739,orange:0xffa500,orangered:0xff4500,orchid:0xda70d6,palegoldenrod:0xeee8aa,palegreen:0x98fb98,paleturquoise:0xafeeee,palevioletred:0xdb7093,papayawhip:0xffefd5,peachpuff:0xffdab9,peru:0xcd853f,pink:0xffc0cb,plum:0xdda0dd,powderblue:0xb0e0e6,purple:8388736,rebeccapurple:6697881,red:0xff0000,rosybrown:0xbc8f8f,royalblue:4286945,saddlebrown:9127187,salmon:0xfa8072,sandybrown:0xf4a460,seagreen:3050327,seashell:0xfff5ee,sienna:0xa0522d,silver:0xc0c0c0,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:0xfffafa,springgreen:65407,steelblue:4620980,tan:0xd2b48c,teal:32896,thistle:0xd8bfd8,tomato:0xff6347,turquoise:4251856,violet:0xee82ee,wheat:0xf5deb3,white:0xffffff,whitesmoke:0xf5f5f5,yellow:0xffff00,yellowgreen:0x9acd32};function m(){return this.rgb().formatHex()}function g(){return this.rgb().formatRgb()}function p(e){var t,r;return e=(e+"").trim().toLowerCase(),(t=a.exec(e))?(r=t[1].length,t=parseInt(t[1],16),6===r?b(t):3===r?new w(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===r?v(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===r?v(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=o.exec(e))?new w(t[1],t[2],t[3],1):(t=c.exec(e))?new w(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=u.exec(e))?v(t[1],t[2],t[3],t[4]):(t=d.exec(e))?v(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=f.exec(e))?z(t[1],t[2]/100,t[3]/100,1):(t=h.exec(e))?z(t[1],t[2]/100,t[3]/100,t[4]):x.hasOwnProperty(e)?b(x[e]):"transparent"===e?new w(NaN,NaN,NaN,0):null}function b(e){return new w(e>>16&255,e>>8&255,255&e,1)}function v(e,t,r,n){return n<=0&&(e=t=r=NaN),new w(e,t,r,n)}function y(e,t,r,i){var s;return 1==arguments.length?((s=e)instanceof n||(s=p(s)),s)?new w((s=s.rgb()).r,s.g,s.b,s.opacity):new w:new w(e,t,r,null==i?1:i)}function w(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}function S(){return`#${C(this.r)}${C(this.g)}${C(this.b)}`}function j(){let e=N(this.opacity);return`${1===e?"rgb(":"rgba("}${k(this.r)}, ${k(this.g)}, ${k(this.b)}${1===e?")":`, ${e})`}`}function N(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function k(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function C(e){return((e=k(e))<16?"0":"")+e.toString(16)}function z(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new M(e,t,r,n)}function I(e){if(e instanceof M)return new M(e.h,e.s,e.l,e.opacity);if(e instanceof n||(e=p(e)),!e)return new M;if(e instanceof M)return e;var t=(e=e.rgb()).r/255,r=e.g/255,i=e.b/255,s=Math.min(t,r,i),l=Math.max(t,r,i),a=NaN,o=l-s,c=(l+s)/2;return o?(a=t===l?(r-i)/o+(r<i)*6:r===l?(i-t)/o+2:(t-r)/o+4,o/=c<.5?l+s:2-l-s,a*=60):o=c>0&&c<1?0:a,new M(a,o,c,e.opacity)}function M(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}function $(e){return(e=(e||0)%360)<0?e+360:e}function E(e){return Math.max(0,Math.min(1,e||0))}function O(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}t(n,p,{copy(e){return Object.assign(new this.constructor,this,e)},displayable(){return this.rgb().displayable()},hex:m,formatHex:m,formatHex8:function(){return this.rgb().formatHex8()},formatHsl:function(){return I(this).formatHsl()},formatRgb:g,toString:g}),t(w,y,r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new w(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new w(k(this.r),k(this.g),k(this.b),N(this.opacity))},displayable(){return -.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:S,formatHex:S,formatHex8:function(){return`#${C(this.r)}${C(this.g)}${C(this.b)}${C((isNaN(this.opacity)?1:this.opacity)*255)}`},formatRgb:j,toString:j})),t(M,function(e,t,r,n){return 1==arguments.length?I(e):new M(e,t,r,null==n?1:n)},r(n,{brighter(e){return e=null==e?1.4285714285714286:Math.pow(1.4285714285714286,e),new M(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=null==e?.7:Math.pow(.7,e),new M(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,i=2*r-n;return new w(O(e>=240?e-240:e+120,i,n),O(e,i,n),O(e<120?e+240:e-120,i,n),this.opacity)},clamp(){return new M($(this.h),E(this.s),E(this.l),N(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){let e=N(this.opacity);return`${1===e?"hsl(":"hsla("}${$(this.h)}, ${100*E(this.s)}%, ${100*E(this.l)}%${1===e?")":`, ${e})`}`}})),e.s(["default",()=>p,"rgb",()=>y],21137),e.s(["color",()=>p],61610)},77075,e=>{"use strict";var t=e.i(42541);e.s(["interpolateNumber",()=>t.default])},45665,81503,e=>{"use strict";var t=e.i(21137);function r(e,t,r,n,i){var s=e*e,l=s*e;return((1-3*e+3*s-l)*t+(4-6*s+3*l)*r+(1+3*e+3*s-3*l)*n+l*i)/6}let n=e=>()=>e;function i(e,t){var r=t-e;return r?function(t){return e+t*r}:n(isNaN(e)?t:e)}e.s(["default",0,n],81503);let s=function e(r){var s,l=1==(s=+r)?i:function(e,t){var r,i,l;return t-e?(r=e,i=t,r=Math.pow(r,l=s),i=Math.pow(i,l)-r,l=1/l,function(e){return Math.pow(r+e*i,l)}):n(isNaN(e)?t:e)};function a(e,r){var n=l((e=(0,t.rgb)(e)).r,(r=(0,t.rgb)(r)).r),s=l(e.g,r.g),a=l(e.b,r.b),o=i(e.opacity,r.opacity);return function(t){return e.r=n(t),e.g=s(t),e.b=a(t),e.opacity=o(t),e+""}}return a.gamma=e,a}(1);function l(e){return function(r){var n,i,s=r.length,l=Array(s),a=Array(s),o=Array(s);for(n=0;n<s;++n)i=(0,t.rgb)(r[n]),l[n]=i.r||0,a[n]=i.g||0,o[n]=i.b||0;return l=e(l),a=e(a),o=e(o),i.opacity=1,function(e){return i.r=l(e),i.g=a(e),i.b=o(e),i+""}}}l(function(e){var t=e.length-1;return function(n){var i=n<=0?n=0:n>=1?(n=1,t-1):Math.floor(n*t),s=e[i],l=e[i+1],a=i>0?e[i-1]:2*s-l,o=i<t-1?e[i+2]:2*l-s;return r((n-i/t)*t,a,s,l,o)}}),l(function(e){var t=e.length;return function(n){var i=Math.floor(((n%=1)<0?++n:n)*t),s=e[(i+t-1)%t],l=e[i%t],a=e[(i+1)%t],o=e[(i+2)%t];return r((n-i/t)*t,s,l,a,o)}}),e.s(["default",0,s],45665)},47483,e=>{"use strict";var t=e.i(42541),r=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,n=RegExp(r.source,"g");e.s(["default",0,function(e,i){var s,l,a,o,c,u=r.lastIndex=n.lastIndex=0,d=-1,f=[],h=[];for(e+="",i+="";(a=r.exec(e))&&(o=n.exec(i));)(c=o.index)>u&&(c=i.slice(u,c),f[d]?f[d]+=c:f[++d]=c),(a=a[0])===(o=o[0])?f[d]?f[d]+=o:f[++d]=o:(f[++d]=null,h.push({i:d,x:(0,t.default)(a,o)})),u=n.lastIndex;return u<i.length&&(c=i.slice(u),f[d]?f[d]+=c:f[++d]=c),f.length<2?h[0]?(s=h[0].x,function(e){return s(e)+""}):(l=i,function(){return l}):(i=h.length,function(e){for(var t,r=0;r<i;++r)f[(t=h[r]).i]=t.x(e);return f.join("")})}])},17612,22453,e=>{"use strict";var t=e.i(90022),r=e.i(31231),n=e.i(87985);let i="u">typeof window?r.useLayoutEffect:r.useEffect;function s(e){if(void 0!==e)switch(typeof e){case"number":return e;case"string":if(e.endsWith("px"))return parseFloat(e)}}let l=null;function a({containerElement:e,direction:t,isRtl:r,scrollOffset:n}){if("horizontal"===t&&r)switch(function(e=!1){if(null===l||e){let e=document.createElement("div"),t=e.style;t.width="50px",t.height="50px",t.overflow="scroll",t.direction="rtl";let r=document.createElement("div"),n=r.style;return n.width="100px",n.height="100px",e.appendChild(r),document.body.appendChild(e),e.scrollLeft>0?l="positive-descending":(e.scrollLeft=1,l=0===e.scrollLeft?"negative":"positive-ascending"),document.body.removeChild(e),l}return l}()){case"negative":return-n;case"positive-descending":if(e){let{clientWidth:t,scrollLeft:r,scrollWidth:n}=e;return n-t-r}}return n}function o(e,t="Assertion error"){if(!e)throw console.error(t),Error(t)}function c(e,t){if(e===t)return!0;if(!!e!=!!t||(o(void 0!==e),o(void 0!==t),Object.keys(e).length!==Object.keys(t).length))return!1;for(let r in e)if(!Object.is(t[r],e[r]))return!1;return!0}function u({cachedBounds:e,itemCount:t,itemSize:r}){if(0===t)return 0;if("number"==typeof r)return t*r;{let r=e.get(0===e.size?0:e.size-1);return o(void 0!==r,"Unexpected bounds cache miss"),t*((r.scrollOffset+r.size)/e.size)}}function d({cachedBounds:e,containerScrollOffset:t,containerSize:r,itemCount:n,overscanCount:i}){let s=n-1,l=0,a=-1,o=0,c=-1,u=0;for(;u<s;){let r=e.get(u);if(r.scrollOffset+r.size>t)break;u++}for(o=Math.max(0,(l=u)-i);u<s;){let n=e.get(u);if(n.scrollOffset+n.size>=t+r)break;u++}return c=Math.min(n-1,(a=Math.min(s,u))+i),l<0&&(l=0,a=-1,o=0,c=-1),{startIndexVisible:l,stopIndexVisible:a,startIndexOverscan:o,stopIndexOverscan:c}}function f(e,t){let{ariaAttributes:r,style:n,...i}=e,{ariaAttributes:s,style:l,...a}=t;return c(r,s)&&c(n,l)&&c(i,a)}function h({children:e,className:n,defaultHeight:l=0,listRef:h,onResize:x,onRowsRendered:m,overscanCount:g=3,rowComponent:p,rowCount:b,rowHeight:v,rowProps:y,tagName:w="div",style:S,...j}){let N=(0,r.useMemo)(()=>y,Object.values(y)),k=(0,r.useMemo)(()=>(0,r.memo)(p,f),[p]),[C,z]=(0,r.useState)(null),I=null!=v&&"object"==typeof v&&"getAverageRowHeight"in v&&"function"==typeof v.getAverageRowHeight,{getCellBounds:M,getEstimatedSize:$,scrollToIndex:E,startIndexOverscan:O,startIndexVisible:T,stopIndexOverscan:R,stopIndexVisible:A}=function({containerElement:e,containerStyle:t,defaultContainerSize:n=0,direction:l,isRtl:f=!1,itemCount:h,itemProps:x,itemSize:m,onResize:g,overscanCount:p}){var b;let v,[y,w]=(0,r.useState)({startIndexVisible:0,startIndexOverscan:0,stopIndexVisible:-1,stopIndexOverscan:-1}),{startIndexVisible:S,startIndexOverscan:j,stopIndexVisible:N,stopIndexOverscan:k}={startIndexVisible:Math.min(h-1,y.startIndexVisible),startIndexOverscan:Math.min(h-1,y.startIndexOverscan),stopIndexVisible:Math.min(h-1,y.stopIndexVisible),stopIndexOverscan:Math.min(h-1,y.stopIndexOverscan)},{height:C=n,width:z=n}=function({box:e,defaultHeight:t,defaultWidth:n,disabled:l,element:a,mode:o,style:c}){let{styleHeight:u,styleWidth:d}=(0,r.useMemo)(()=>({styleHeight:s(c?.height),styleWidth:s(c?.width)}),[c?.height,c?.width]),[f,h]=(0,r.useState)({height:t,width:n}),x=l||"only-height"===o&&void 0!==u||"only-width"===o&&void 0!==d||void 0!==u&&void 0!==d;return i(()=>{if(null===a||x)return;let t=new ResizeObserver(e=>{for(let t of e){let{contentRect:e,target:r}=t;a===r&&h(t=>t.height===e.height&&t.width===e.width?t:{height:e.height,width:e.width})}});return t.observe(a,{box:e}),()=>{t?.unobserve(a)}},[e,x,a,u,d]),(0,r.useMemo)(()=>({height:u??f.height,width:d??f.width}),[f,u,d])}({defaultHeight:"vertical"===l?n:void 0,defaultWidth:"horizontal"===l?n:void 0,element:e,mode:"vertical"===l?"only-height":"only-width",style:t}),I=(0,r.useRef)({height:0,width:0}),M="vertical"===l?C:z,$=function({containerSize:e,itemSize:t}){let r;return"string"==typeof t?(o(t.endsWith("%"),`Invalid item size: "${t}"; string values must be percentages (e.g. "100%")`),o(void 0!==e,"Container size must be defined if a percentage item size is specified"),r=e*parseInt(t)/100):r=t,r}({containerSize:M,itemSize:m});(0,r.useLayoutEffect)(()=>{if("function"==typeof g){let e=I.current;(e.height!==C||e.width!==z)&&(g({height:C,width:z},{...e}),e.height=C,e.width=z)}},[C,g,z]);let E=function({itemCount:e,itemProps:t,itemSize:n}){return(0,r.useMemo)(()=>(function({itemCount:e,itemProps:t,itemSize:r}){let n=new Map;return{get(i){for(o(i<e,`Invalid index ${i}`);n.size-1<i;){let e,s=n.size;switch(typeof r){case"function":e=r(s,t);break;case"number":e=r}if(0===s)n.set(s,{size:e,scrollOffset:0});else{let t=n.get(s-1);o(void 0!==t,`Unexpected bounds cache miss for index ${i}`),n.set(s,{scrollOffset:t.scrollOffset+t.size,size:e})}}let s=n.get(i);return o(void 0!==s,`Unexpected bounds cache miss for index ${i}`),s},set(e,t){n.set(e,t)},get size(){return n.size}}})({itemCount:e,itemProps:t,itemSize:n}),[e,t,n])}({itemCount:h,itemProps:x,itemSize:$}),O=(0,r.useCallback)(e=>E.get(e),[E]),T=(0,r.useCallback)(()=>u({cachedBounds:E,itemCount:h,itemSize:$}),[E,h,$]),R=(0,r.useCallback)(t=>d({cachedBounds:E,containerScrollOffset:a({containerElement:e,direction:l,isRtl:f,scrollOffset:t}),containerSize:M,itemCount:h,overscanCount:p}),[E,e,M,l,f,h,p]);return i(()=>{w(R(("vertical"===l?e?.scrollTop:e?.scrollLeft)??0))},[e,l,R]),i(()=>{if(!e)return;let t=()=>{w(t=>{let{scrollLeft:r,scrollTop:n}=e,i=d({cachedBounds:E,containerScrollOffset:a({containerElement:e,direction:l,isRtl:f,scrollOffset:"vertical"===l?n:r}),containerSize:M,itemCount:h,overscanCount:p});return c(i,t)?t:i})};return e.addEventListener("scroll",t),()=>{e.removeEventListener("scroll",t)}},[E,e,M,l,h,p]),{getCellBounds:O,getEstimatedSize:T,scrollToIndex:(b=({align:t="auto",containerScrollOffset:r,index:n})=>{let i=function({align:e,cachedBounds:t,index:r,itemCount:n,itemSize:i,containerScrollOffset:s,containerSize:l}){if(r<0||r>=n)throw RangeError(`Invalid index specified: ${r}`,{cause:`Index ${r} is not within the range of 0 - ${n-1}`});let a=u({cachedBounds:t,itemCount:n,itemSize:i}),o=t.get(r),c=Math.max(0,Math.min(a-l,o.scrollOffset)),d=Math.max(0,o.scrollOffset-l+o.size);switch("smart"===e&&(e=s>=d&&s<=c?"auto":"center"),e){case"start":return c;case"end":return d;case"center":return o.scrollOffset<=l/2?0:o.scrollOffset+o.size/2>=a-l/2?a-l:o.scrollOffset+o.size/2-l/2;default:return s>=d&&s<=c?s:s<d?d:c}}({align:t,cachedBounds:E,containerScrollOffset:r,containerSize:M,index:n,itemCount:h,itemSize:$});if(e){if(i=a({containerElement:e,direction:l,isRtl:f,scrollOffset:i}),"function"!=typeof e.scrollTo){let e=R(i);c(y,e)||w(e)}return i}},v=(0,r.useRef)(()=>{throw Error("Cannot call during render.")}),i(()=>{v.current=b},[b]),(0,r.useCallback)(e=>v.current?.(e),[v])),startIndexOverscan:j,startIndexVisible:S,stopIndexOverscan:k,stopIndexVisible:N}}({containerElement:C,containerStyle:S,defaultContainerSize:l,direction:"vertical",itemCount:b,itemProps:N,itemSize:(0,r.useMemo)(()=>I?e=>v.getRowHeight(e)??v.getAverageRowHeight():v,[I,v]),onResize:x,overscanCount:g});(0,r.useImperativeHandle)(h,()=>({get element(){return C},scrollToRow({align:e="auto",behavior:t="auto",index:r}){let n=E({align:e,containerScrollOffset:C?.scrollTop??0,index:r});"function"==typeof C?.scrollTo&&C.scrollTo({behavior:t,top:n})}}),[C,E]),i(()=>{if(!C)return;let e=Array.from(C.children).filter((e,t)=>{if(e.hasAttribute("aria-hidden"))return!1;let r=`${O+t}`;return e.setAttribute("data-react-window-index",r),!0});if(I)return v.observeRowElements(e)},[C,I,v,O,R]),(0,r.useEffect)(()=>{O>=0&&R>=0&&m&&m({startIndex:T,stopIndex:A},{startIndex:O,stopIndex:R})},[m,O,T,R,A]);let H=(0,r.useMemo)(()=>{let e=[];if(b>0)for(let t=O;t<=R;t++){let n=M(t);e.push((0,r.createElement)(k,{...N,ariaAttributes:{"aria-posinset":t+1,"aria-setsize":b,role:"listitem"},key:t,index:t,style:{position:"absolute",left:0,transform:`translateY(${n.scrollOffset}px)`,height:I?void 0:n.size,width:"100%"}}))}return e},[k,M,I,b,N,O,R]),L=(0,t.jsx)("div",{"aria-hidden":!0,style:{height:$(),width:"100%",zIndex:-1}});return(0,r.createElement)(w,{role:"list",...j,className:n,ref:z,style:{position:"relative",maxHeight:"100%",flexGrow:1,overflowY:"auto",...S}},H,e,L)}r.useState,r.useRef,r.useState,r.useRef;var x=e.i(329),m=e.i(58362),g=e.i(25761),p=e.i(44021),b=e.i(22764);let v=(0,e.i(22436).default)("funnel",[["path",{d:"M10 20a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341L21.74 4.67A1 1 0 0 0 21 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14z",key:"sc7q7i"}]]);var y=e.i(21079),w=e.i(35893),S=e.i(68497),j=e.i(8402),N=e.i(8737),k=e.i(32137),C=e.i(97705),z=e.i(45878);let I={specs:[],signature:null,scrollTop:0,activeSpecId:null},M=[],$=new Set,E=new Set,O=new Set;function T(){for(let e of $)e()}function R(e){return $.add(e),()=>{$.delete(e)}}function A(){return I}function H(){return(0,r.useSyncExternalStore)(R,A,()=>I)}function L(){let e=r.useCallback(e=>(E.add(e),()=>{E.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>A().specs,()=>M)}function V(){let e=r.useCallback(e=>(O.add(e),()=>{O.delete(e)}),[]);return(0,r.useSyncExternalStore)(e,()=>A().activeSpecId,()=>null)}function B(e){if(0===e.length)return;let t=e.map(e=>[e.id,e.specNumber??"",e.title??"",e.status??"",e.priority??"",e.updatedAt?new Date(e.updatedAt).getTime():0].join(":")).join("|");if(t!==I.signature)for(let r of(I={...I,specs:e,signature:t},T(),E))r()}function P(e){if(I.activeSpecId!==e)for(let t of(I={...I,activeSpecId:e},T(),O))t()}function q(e){1>Math.abs(e-I.scrollTop)||(I={...I,scrollTop:e})}function W(){return I.scrollTop}e.s(["getSidebarScrollTop",()=>W,"primeSpecsSidebar",()=>B,"setActiveSidebarSpec",()=>P,"updateSidebarScrollTop",()=>q,"useSpecsSidebarActiveSpec",()=>V,"useSpecsSidebarSpecs",()=>L,"useSpecsSidebarState",()=>H],22453);let F=r.useLayoutEffect;function U({initialSpecs:e=[],currentSpecId:i,currentSubSpec:s,onSpecHover:l}){let[a,o]=r.useState(""),[c,u]=r.useState("all"),[d,f]=r.useState("all"),[I,M]=r.useState("all"),[$,E]=r.useState(!1),[O,T]=r.useState(()=>"true"===localStorage.getItem("specs-nav-sidebar-collapsed")),[R,A]=r.useState(!1),[H,B]=r.useState(!1),P=r.useRef(null),U=r.useRef(null),D=r.useRef(!1),G=r.useRef(null),K=r.useRef(0),Y=r.useRef(!1),X=r.useRef(!0),J=L(),Q=V(),Z=r.useMemo(()=>J.length>0?J:e,[J,e]),_=i||Q||"";r.useEffect(()=>{B(!0)},[]),r.useEffect(()=>{document.documentElement.style.setProperty("--specs-nav-sidebar-width",O?"0px":"280px"),localStorage.setItem("specs-nav-sidebar-collapsed",String(O))},[O]),r.useEffect(()=>{A(!1)},[_,s]);let ee=r.useMemo(()=>{let e=Z;if(a){let t=a.toLowerCase();e=e.filter(e=>e.title?.toLowerCase().includes(t)||e.specName.toLowerCase().includes(t)||e.specNumber?.toString().includes(t))}return"all"!==c&&(e=e.filter(e=>e.status===c)),"all"!==d&&(e=e.filter(e=>e.priority===d)),"all"!==I&&(e=e.filter(e=>e.tags?.includes(I))),console.debug(e),e},[Z,a,c,d,I]),et=r.useMemo(()=>{let e=new Set;return Z.forEach(t=>{t.tags?.forEach(t=>e.add(t))}),Array.from(e).sort()},[Z]),er="all"!==c||"all"!==d||"all"!==I,en=r.useMemo(()=>[...ee].sort((e,t)=>(t.specNumber||0)-(e.specNumber||0)),[ee]);F(()=>{let e=null,t=null;K.current=W(),Y.current=K.current>0;let r=()=>{let n=G.current?.element;if(!n){e=window.requestAnimationFrame(r);return}D.current||(K.current>0&&(n.scrollTop=K.current),D.current=!0);let i=()=>{null===U.current&&(U.current=window.requestAnimationFrame(()=>{U.current=null,K.current=n.scrollTop,q(n.scrollTop)}))};n.addEventListener("scroll",i,{passive:!0}),t=()=>{n.removeEventListener("scroll",i)}};return r(),()=>{t&&t(),null!==e&&window.cancelAnimationFrame(e),null!==U.current&&(window.cancelAnimationFrame(U.current),U.current=null)}},[]),F(()=>{if(!X.current||(X.current=!1,Y.current||!_))return;let e=null,t=()=>{if(Y.current)return;if(!D.current||!G.current){e=window.requestAnimationFrame(t);return}let r=en.findIndex(e=>e.id===_);-1!==r&&(Y.current=!0,G.current.scrollToRow({index:r,align:"center"}))};return t(),()=>{null!==e&&window.cancelAnimationFrame(e)}},[en,_]),r.useEffect(()=>(window.toggleSpecsSidebar=()=>A(e=>!e),()=>{window.toggleSpecsSidebar=void 0}),[]);let ei=r.useCallback(e=>{let{index:r,style:i}=e,a=en[r],o=a.id===_,c=(a.contentMd?(0,k.extractH1Title)(a.contentMd):null)||a.title||a.specName;return(0,t.jsx)("div",{style:i,className:"px-1",children:(0,t.jsx)("div",{className:"mb-0.5",children:(0,t.jsx)("div",{className:"flex items-center gap-0.5",children:(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsxs)(n.default,{ref:o&&!s?P:null,href:`/specs/${a.specNumber||a.id}`,onMouseEnter:()=>l?.(a.specNumber?.toString()||a.id),className:(0,k.cn)("w-full flex flex-col gap-1 p-1.5 rounded-md text-sm transition-colors",o?"bg-accent text-accent-foreground font-medium":"hover:bg-accent/50"),children:[(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[a.specNumber&&(0,t.jsxs)("span",{className:"text-xs font-mono text-muted-foreground shrink-0",children:["#",a.specNumber.toString().padStart(3,"0")]}),(0,t.jsx)("span",{className:"truncate text-xs leading-relaxed",children:c})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[a.status&&(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(S.StatusBadge,{status:a.status,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(j.TooltipContent,{side:"right",children:(0,S.getStatusLabel)(a.status)})]}),a.priority&&(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("div",{children:(0,t.jsx)(C.PriorityBadge,{priority:a.priority,iconOnly:!0,className:"text-[10px] scale-90"})})}),(0,t.jsx)(j.TooltipContent,{side:"right",children:(0,C.getPriorityLabel)(a.priority)})]}),"number"==typeof a.subSpecsCount&&a.subSpecsCount>0&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:["+",a.subSpecsCount," files"]}),a.updatedAt&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground",children:(0,z.formatRelativeTime)(a.updatedAt)})]})]})}),(0,t.jsx)(j.TooltipContent,{side:"right",className:"max-w-[300px]",children:(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("div",{className:"font-semibold",children:c}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:a.specName})]})})]})})})})},[en,_,s,l]),es=r.useMemo(()=>window.innerHeight-56-180,[]),el=r.useMemo(()=>r.memo(h),[]);return(0,t.jsxs)(j.TooltipProvider,{delayDuration:700,children:[R&&(0,t.jsx)("div",{className:"fixed inset-0 bg-black/50 z-40 lg:hidden",onClick:()=>A(!1)}),(0,t.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,t.jsxs)("aside",{className:(0,k.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",H&&O?"lg:w-0 lg:border-r-0":"lg:w-[280px]",R&&"fixed left-0 top-14 z-50 flex w-[280px]"),children:[(0,t.jsxs)("div",{className:"p-4 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between mb-3",children:[(0,t.jsx)("h2",{className:"font-semibold text-sm",children:"Specifications"}),(0,t.jsxs)("div",{className:"flex items-center gap-1",children:[(0,t.jsxs)(j.Tooltip,{children:[(0,t.jsx)(j.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(w.Button,{variant:$||er?"default":"ghost",size:"sm",onClick:()=>E(!$),className:"h-6 w-6 p-0",children:(0,t.jsx)(v,{className:"h-4 w-4"})})}),(0,t.jsx)(j.TooltipContent,{side:"bottom",children:$?"Hide filters":"Show filters"})]}),(0,t.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:()=>A(!1),className:"h-6 w-6 p-0 lg:hidden",children:(0,t.jsx)(p.X,{className:"h-4 w-4"})}),(0,t.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:()=>T(!0),className:"h-6 w-6 p-0 hidden lg:flex lg:items-center lg:justify-center",children:(0,t.jsx)(m.ChevronLeft,{className:"h-4 w-4"})})]})]}),$&&(0,t.jsxs)("div",{className:"space-y-2 mb-3 pb-3 border-b border-border",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("span",{className:"text-xs font-medium text-muted-foreground",children:"Filters"}),er&&(0,t.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:()=>{u("all"),f("all"),M("all")},className:"h-5 text-xs px-2 py-0",children:"Clear"})]}),(0,t.jsxs)(N.Select,{value:c,onValueChange:u,children:[(0,t.jsx)(N.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)(N.SelectValue,{placeholder:"Status"})}),(0,t.jsxs)(N.SelectContent,{children:[(0,t.jsx)(N.SelectItem,{value:"all",children:"All Status"}),(0,t.jsx)(N.SelectItem,{value:"planned",children:"Planned"}),(0,t.jsx)(N.SelectItem,{value:"in-progress",children:"In Progress"}),(0,t.jsx)(N.SelectItem,{value:"complete",children:"Complete"}),(0,t.jsx)(N.SelectItem,{value:"archived",children:"Archived"})]})]}),(0,t.jsxs)(N.Select,{value:d,onValueChange:f,children:[(0,t.jsx)(N.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)(N.SelectValue,{placeholder:"Priority"})}),(0,t.jsxs)(N.SelectContent,{children:[(0,t.jsx)(N.SelectItem,{value:"all",children:"All Priority"}),(0,t.jsx)(N.SelectItem,{value:"low",children:"Low"}),(0,t.jsx)(N.SelectItem,{value:"medium",children:"Medium"}),(0,t.jsx)(N.SelectItem,{value:"high",children:"High"}),(0,t.jsx)(N.SelectItem,{value:"critical",children:"Critical"})]})]}),et.length>0&&(0,t.jsxs)(N.Select,{value:I,onValueChange:M,children:[(0,t.jsx)(N.SelectTrigger,{className:"h-8 text-xs",children:(0,t.jsx)(N.SelectValue,{placeholder:"Tag"})}),(0,t.jsxs)(N.SelectContent,{children:[(0,t.jsx)(N.SelectItem,{value:"all",children:"All Tags"}),et.map(e=>(0,t.jsx)(N.SelectItem,{value:e,children:e},e))]})]})]}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(x.Search,{className:"absolute left-2 top-2.5 h-4 w-4 text-muted-foreground"}),(0,t.jsx)(y.Input,{placeholder:"Search specs...",value:a,onChange:e=>o(e.target.value),className:"pl-8 h-9 border-border"})]})]}),(0,t.jsx)("div",{className:"flex-1 overflow-hidden",children:0===en.length?(0,t.jsx)("div",{className:"text-center py-8 text-sm text-muted-foreground",children:"No specs found"}):(0,t.jsx)(el,{listRef:G,defaultHeight:es,rowCount:en.length,rowHeight:72,overscanCount:5,rowComponent:ei,rowProps:{}})})]}),H&&O&&(0,t.jsx)(w.Button,{variant:"ghost",size:"sm",onClick:()=>T(!1),className:"hidden lg:items-center lg:justify-center lg:flex h-6 w-6 p-0 fixed z-50 top-20 -translate-y-1 -translate-x-1/2 left-[calc(var(--main-sidebar-width,240px))] bg-background border",children:(0,t.jsx)(g.ChevronRight,{className:"h-4 w-4"})}),(0,t.jsx)(w.Button,{onClick:()=>A(!0),size:"icon",className:"lg:hidden fixed bottom-6 left-6 h-12 w-12 rounded-full shadow-lg z-40 hover:scale-110 transition-transform","aria-label":"Show specifications list",children:(0,t.jsx)(b.List,{className:"h-5 w-5"})})]})]})}e.s(["SpecsNavSidebar",()=>U],17612)}]);