@nivora/matrix 0.3.12 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +10 -7
- package/.next/build-manifest.json +6 -6
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +251 -6
- package/.next/routes-manifest.json +20 -0
- package/.next/server/app/_global-error/page.js +2 -2
- package/.next/server/app/_global-error/page.js.nft.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +2 -2
- package/.next/server/app/_global-error.rsc +7 -7
- package/.next/server/app/_global-error.segments/_full.segment.rsc +7 -7
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_head.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_index.segment.rsc +3 -3
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page.js +2 -2
- package/.next/server/app/_not-found/page.js.nft.json +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +11 -11
- package/.next/server/app/_not-found.segments/_full.segment.rsc +11 -11
- package/.next/server/app/_not-found.segments/_head.segment.rsc +4 -4
- package/.next/server/app/_not-found.segments/_index.segment.rsc +6 -6
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/.next/server/app/favicon.ico/route.js +1 -1
- package/.next/server/app/favicon.ico/route.js.nft.json +1 -1
- package/.next/server/app/matrix/page.js +2 -2
- package/.next/server/app/matrix/page.js.nft.json +1 -1
- package/.next/server/app/matrix/page_client-reference-manifest.js +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page.js.nft.json +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/releases/[id]/page.js +7 -245
- package/.next/server/app/releases/[id]/page.js.nft.json +1 -1
- package/.next/server/app/releases/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/releases/page.js +2 -240
- package/.next/server/app/releases/page.js.nft.json +1 -1
- package/.next/server/app/releases/page_client-reference-manifest.js +1 -1
- package/.next/server/app/specs/[id]/page.js +2 -2
- package/.next/server/app/specs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/specs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/archive/page.js +1 -1
- package/.next/server/app/traceability/archive/page.js.nft.json +1 -1
- package/.next/server/app/traceability/archive/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/design/[id]/page.js +2 -0
- package/.next/server/app/traceability/design/[id]/page.js.nft.json +1 -0
- package/.next/server/app/traceability/design/[id]/page_client-reference-manifest.js +1 -0
- package/.next/server/app/traceability/design/new/page.js +2 -0
- package/.next/server/app/traceability/design/new/page.js.nft.json +1 -0
- package/.next/server/app/traceability/design/new/page_client-reference-manifest.js +1 -0
- package/.next/server/app/traceability/design/page.js +2 -0
- package/.next/server/app/traceability/design/page.js.nft.json +1 -0
- package/.next/server/app/traceability/design/page_client-reference-manifest.js +1 -0
- package/.next/server/app/traceability/fs/[id]/page.js +3 -3
- package/.next/server/app/traceability/fs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/fs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/fs/page.js +2 -2
- package/.next/server/app/traceability/fs/page.js.nft.json +1 -1
- package/.next/server/app/traceability/fs/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/page.js +2 -2
- package/.next/server/app/traceability/page.js.nft.json +1 -1
- package/.next/server/app/traceability/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/risk/[id]/page.js +1 -1
- package/.next/server/app/traceability/risk/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/risk/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/risk/page.js +2 -2
- package/.next/server/app/traceability/risk/page.js.nft.json +1 -1
- package/.next/server/app/traceability/risk/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/urs/[id]/page.js +2 -2
- package/.next/server/app/traceability/urs/[id]/page.js.nft.json +1 -1
- package/.next/server/app/traceability/urs/[id]/page_client-reference-manifest.js +1 -1
- package/.next/server/app/traceability/urs/page.js +1 -1
- package/.next/server/app/traceability/urs/page.js.nft.json +1 -1
- package/.next/server/app/traceability/urs/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +10 -7
- package/.next/server/chunks/1001.js +41 -0
- package/.next/server/chunks/1030.js +1 -0
- package/.next/server/chunks/1058.js +1 -0
- package/.next/server/chunks/120.js +1 -0
- package/.next/server/chunks/1205.js +1 -0
- package/.next/server/chunks/1272.js +1 -0
- package/.next/server/chunks/1361.js +62 -0
- package/.next/server/chunks/1687.js +1 -0
- package/.next/server/chunks/2002.js +262 -0
- package/.next/server/chunks/2146.js +1 -0
- package/.next/server/chunks/{476.js → 2160.js} +2 -2
- package/.next/server/chunks/2325.js +60 -0
- package/.next/server/chunks/2590.js +60 -0
- package/.next/server/chunks/3274.js +136 -0
- package/.next/server/chunks/{445.js → 3445.js} +1 -1
- package/.next/server/chunks/3504.js +1 -0
- package/.next/server/chunks/3870.js +1 -0
- package/.next/server/chunks/4322.js +43 -0
- package/.next/server/chunks/4379.js +5 -0
- package/.next/server/chunks/4405.js +63 -0
- package/.next/server/chunks/4643.js +1 -0
- package/.next/server/chunks/4694.js +55 -0
- package/.next/server/chunks/4696.js +1 -0
- package/.next/server/chunks/4977.js +1 -0
- package/.next/server/chunks/515.js +1 -0
- package/.next/server/chunks/{658.js → 5352.js} +63 -2
- package/.next/server/chunks/5460.js +201 -0
- package/.next/server/chunks/549.js +1 -0
- package/.next/server/chunks/5899.js +36 -0
- package/.next/server/chunks/5935.js +24 -0
- package/.next/server/chunks/5943.js +93 -0
- package/.next/server/chunks/6164.js +1 -0
- package/.next/server/chunks/6265.js +1 -0
- package/.next/server/chunks/6346.js +1 -0
- package/.next/server/chunks/6542.js +148 -0
- package/.next/server/chunks/6589.js +24 -0
- package/.next/server/chunks/6658.js +236 -0
- package/.next/server/chunks/6980.js +1 -0
- package/.next/server/chunks/7135.js +1 -0
- package/.next/server/chunks/720.js +1 -0
- package/.next/server/chunks/7307.js +1 -0
- package/.next/server/chunks/7390.js +1 -0
- package/.next/server/chunks/7391.js +1 -0
- package/.next/server/chunks/{471.js → 7471.js} +1 -1
- package/.next/server/chunks/7919.js +4 -0
- package/.next/server/chunks/{907.js → 7954.js} +44 -2
- package/.next/server/chunks/802.js +131 -0
- package/.next/server/chunks/8142.js +1 -0
- package/.next/server/chunks/8167.js +1 -0
- package/.next/server/chunks/8212.js +174 -0
- package/.next/server/chunks/8350.js +215 -0
- package/.next/server/chunks/8664.js +1 -0
- package/.next/server/chunks/8734.js +59 -0
- package/.next/server/chunks/8818.js +29 -0
- package/.next/server/chunks/8921.js +56 -0
- package/.next/server/chunks/9109.js +1 -0
- package/.next/server/chunks/9252.js +1 -0
- package/.next/server/chunks/9285.js +166 -0
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +2 -2
- package/.next/server/server-reference-manifest.js +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/server/webpack-runtime.js +1 -1
- package/.next/static/chunks/0dbeb660-d1591a6fb5c3509e.js +53 -0
- package/.next/static/chunks/1157-41840e6b30f8aab3.js +1 -0
- package/.next/static/chunks/1371.e9c049ff15fa0424.js +24 -0
- package/.next/static/chunks/1436.fef85767a2db3d69.js +1 -0
- package/.next/static/chunks/1455.4b25458cc615feec.js +1 -0
- package/.next/static/chunks/1633.5050d8d1007aa587.js +1 -0
- package/.next/static/chunks/1816.a66aacf78a1f2b9e.js +1 -0
- package/.next/static/chunks/213-b6da81c7f9f1689d.js +1 -0
- package/.next/static/chunks/2594-b6da81c7f9f1689d.js +1 -0
- package/.next/static/chunks/2765.8adcf70b75e6aeef.js +4 -0
- package/.next/static/chunks/288.eec78353ed692c58.js +1 -0
- package/.next/static/chunks/2947.f836f6410050c641.js +56 -0
- package/.next/static/chunks/2951.8c1f9418d93f794e.js +1 -0
- package/.next/static/chunks/2cdb6380.d41c2c1792d85cbd.js +136 -0
- package/.next/static/chunks/3164.23a30fb4d0160788.js +1 -0
- package/.next/static/chunks/3197.d8e82b560a160022.js +1 -0
- package/.next/static/chunks/3242.bb0fe7b7913ef780.js +262 -0
- package/.next/static/chunks/3398.dcb200a913a6c354.js +59 -0
- package/.next/static/chunks/3477.ec9165cd3e012b87.js +1 -0
- package/.next/static/chunks/3619.14ab2b037411c8dd.js +1 -0
- package/.next/static/chunks/3794-81fca6cc7041ced6.js +2 -0
- package/.next/static/chunks/4016-8b4d5706a552f32e.js +60 -0
- package/.next/static/chunks/4410.667e7a91b32268d8.js +1 -0
- package/.next/static/chunks/448.00c3a4af8c45f64c.js +1 -0
- package/.next/static/chunks/4631.fb52c10c618eda8d.js +166 -0
- package/.next/static/chunks/4839.47666b4d0dd6793d.js +63 -0
- package/.next/static/chunks/4bd1b696-1400c1b9494d4acb.js +1 -0
- package/.next/static/chunks/5176.4f4e736e3be7cf15.js +55 -0
- package/.next/static/chunks/5290.d0e93eb9d345026e.js +174 -0
- package/.next/static/chunks/5838.5c3810ae9f41fb2d.js +148 -0
- package/.next/static/chunks/6034.4c6801c982ca9779.js +1 -0
- package/.next/static/chunks/6173.85c05df7afadd80f.js +1 -0
- package/.next/static/chunks/6257.4802e493b197340d.js +5 -0
- package/.next/static/chunks/628.38b81cd56aaf4cf1.js +1 -0
- package/.next/static/chunks/6454.7f2f7cf37c6cb691.js +29 -0
- package/.next/static/chunks/6971.ffe28a433af5503c.js +1 -0
- package/.next/static/chunks/7048.fae262ca1df0ad90.js +215 -0
- package/.next/static/chunks/7465.55e7c3c6cc146535.js +93 -0
- package/.next/static/chunks/7874.574b3fc13af99551.js +1 -0
- package/.next/static/chunks/8037.c5f9113a6cb1dbb7.js +1 -0
- package/.next/static/chunks/8284.b907c17d2a294557.js +43 -0
- package/.next/static/chunks/8365.9b15b21e000887e5.js +36 -0
- package/.next/static/chunks/8486.357508328aef1d93.js +131 -0
- package/.next/static/chunks/8500-27e7d9770d119ae1.js +1 -0
- package/.next/static/chunks/8776-c5f9302cd8f68651.js +149 -0
- package/.next/static/chunks/8801.d7e8d3b47b8cec0f.js +1 -0
- package/.next/static/chunks/8863.b065187bd644df7b.js +60 -0
- package/.next/static/chunks/8904.c3becf8cf19ec1eb.js +1 -0
- package/.next/static/chunks/90542734.d84bb73ebd95167a.js +1 -0
- package/.next/static/chunks/9133.c96e717400860724.js +24 -0
- package/.next/static/chunks/9203.577b14724e972a55.js +62 -0
- package/.next/static/chunks/9536.0478cfe5e9cfc9d5.js +1 -0
- package/.next/static/chunks/991.718b573be77108f0.js +1 -0
- package/.next/static/chunks/app/_global-error/page-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/app/_not-found/page-193559d8ddda5268.js +1 -0
- package/.next/static/chunks/app/layout-9e89a157ef4bea50.js +1 -0
- package/.next/static/chunks/app/matrix/page-30ba744d4792b0b1.js +1 -0
- package/.next/static/chunks/app/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/releases/[id]/{page-6230a07f6e8c9f23.js → page-123fbaa896b5feb8.js} +2 -2
- package/.next/static/chunks/app/releases/page-d12603efbeced6fb.js +1 -0
- package/.next/static/chunks/app/specs/[id]/page-6c3f0a93d0102219.js +1 -0
- package/.next/static/chunks/app/traceability/archive/page-357abb519c1bfcab.js +1 -0
- package/.next/static/chunks/app/traceability/design/[id]/page-daa33c88e02d9251.js +1 -0
- package/.next/static/chunks/app/traceability/design/new/page-9e6d6307a049b872.js +1 -0
- package/.next/static/chunks/app/traceability/design/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/traceability/fs/[id]/page-f6bbc2035b739563.js +7 -0
- package/.next/static/chunks/app/traceability/fs/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/traceability/layout-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/app/traceability/page-24a203b49af0c6ce.js +1 -0
- package/.next/static/chunks/app/traceability/risk/[id]/page-e2d5a5957837beed.js +1 -0
- package/.next/static/chunks/app/traceability/risk/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/app/traceability/urs/[id]/page-acd764c05e9a7128.js +1 -0
- package/.next/static/chunks/app/traceability/urs/page-3f11d63c52c3e248.js +1 -0
- package/.next/static/chunks/d3ac728e.4b57bd9bce7cd3c1.js +1 -0
- package/.next/static/chunks/framework-d7945a8ad0653f37.js +1 -0
- package/.next/static/chunks/main-app-341bfb00b20e150e.js +1 -0
- package/.next/static/chunks/main-d9b455c88e68699e.js +5 -0
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-feea5487bf2c221c.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-e3669dc4b4461f82.js +1 -0
- package/.next/static/chunks/webpack-4a58517ee75edeb0.js +1 -0
- package/.next/static/css/{2693864a24fbccd0.css → cdae95cc512ce762.css} +1 -1
- package/.next/static/vaGX_2eRDDB98z7pyX6er/_buildManifest.js +1 -0
- package/bin/cli.js +29 -0
- package/package.json +2 -1
- package/.next/server/chunks/352.js +0 -1
- package/.next/server/chunks/390.js +0 -1
- package/.next/server/chunks/391.js +0 -1
- package/.next/server/chunks/733.js +0 -32
- package/.next/server/chunks/821.js +0 -1
- package/.next/server/chunks/870.js +0 -1
- package/.next/static/ELYfmsCGy7GuuiGH2cFLn/_buildManifest.js +0 -1
- package/.next/static/chunks/444-1331cf1713bba53d.js +0 -1
- package/.next/static/chunks/4bd1b696-67e30520d621c4dd.js +0 -1
- package/.next/static/chunks/500-b84d19d842172eba.js +0 -1
- package/.next/static/chunks/594-41cff04930a1423e.js +0 -1
- package/.next/static/chunks/692.c2bb854f5d78c149.js +0 -1
- package/.next/static/chunks/794-9353bb3ab9a73e90.js +0 -2
- package/.next/static/chunks/app/_global-error/page-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/app/_not-found/page-90fe62e7982fba87.js +0 -1
- package/.next/static/chunks/app/layout-0f51af36ad0921db.js +0 -1
- package/.next/static/chunks/app/matrix/page-b2418abb52a7acd8.js +0 -1
- package/.next/static/chunks/app/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/app/releases/page-888a9033446031e8.js +0 -1
- package/.next/static/chunks/app/specs/[id]/page-9f5688d1e93ae4d1.js +0 -1
- package/.next/static/chunks/app/traceability/archive/page-544eb2053bc31ad7.js +0 -1
- package/.next/static/chunks/app/traceability/fs/[id]/page-84bad96512599c17.js +0 -7
- package/.next/static/chunks/app/traceability/fs/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/app/traceability/layout-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/app/traceability/page-11103f39281e68c4.js +0 -1
- package/.next/static/chunks/app/traceability/risk/[id]/page-56b430a30cf92a59.js +0 -1
- package/.next/static/chunks/app/traceability/risk/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/app/traceability/urs/[id]/page-11e1f447c7333110.js +0 -1
- package/.next/static/chunks/app/traceability/urs/page-b6683055d30b04b4.js +0 -1
- package/.next/static/chunks/framework-d7de93249215fb06.js +0 -1
- package/.next/static/chunks/main-17e3a04cf2f94dca.js +0 -5
- package/.next/static/chunks/main-app-6d93e914b4a54c7e.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/app-error-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/forbidden-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/global-error-ebbdf863aa6a4349.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/not-found-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/next/dist/client/components/builtin/unauthorized-435048b8215f07c0.js +0 -1
- package/.next/static/chunks/webpack-9a7fa060b199dfb3.js +0 -1
- /package/.next/static/{ELYfmsCGy7GuuiGH2cFLn → vaGX_2eRDDB98z7pyX6er}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9133],{9133:(e,t,a)=>{a.d(t,{diagram:()=>b});var l=a(65258),r=a(41128),s=a(58075),i=a(36211),n=a(29790),o=a(90428),c=a(32165),d=a(88863),p=a(63595),h=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=o.SV,this.getAccTitle=o.iN,this.setDiagramTitle=o.ke,this.getDiagramTitle=o.ab,this.getAccDescription=o.m7,this.setAccDescription=o.EI}static{(0,c.K2)(this,"TreeMapDB")}getNodes(){return this.nodes}getConfig(){let e=o.UI,t=(0,o.zj)();return(0,n.$t)({...e.treemap,...t.treemap??{}})}addNode(e,t){this.nodes.push(e),this.levels.set(e,t),0===t&&(this.outerNodes.push(e),this.root??=e)}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){let a=this.classes.get(e)??{id:e,styles:[],textStyles:[]},l=t.replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/§§§/g,",").split(";");l&&l.forEach(e=>{(0,s.KX)(e)&&(a?.textStyles?a.textStyles.push(e):a.textStyles=[e]),a?.styles?a.styles.push(e):a.styles=[e]}),this.classes.set(e,a)}getClasses(){return this.classes}getStylesForClass(e){return this.classes.get(e)?.styles??[]}clear(){(0,o.IU)(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}};function m(e){if(!e.length)return[];let t=[],a=[];return e.forEach(e=>{let l={name:e.name,children:"Leaf"===e.type?void 0:[]};for(l.classSelector=e?.classSelector,e?.cssCompiledStyles&&(l.cssCompiledStyles=[e.cssCompiledStyles]),"Leaf"===e.type&&void 0!==e.value&&(l.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(l);else{let e=a[a.length-1].node;e.children?e.children.push(l):e.children=[l]}"Leaf"!==e.type&&a.push({node:l,level:e.level})}),t}(0,c.K2)(m,"buildHierarchy");var y=(0,c.K2)((e,t)=>{(0,i.S)(e,t);let a=[];for(let a of e.TreemapRows??[])"ClassDefStatement"===a.$type&&t.addClass(a.className??"",a.styleText??"");for(let l of e.TreemapRows??[]){let e=l.item;if(!e)continue;let r=l.indent?parseInt(l.indent):0,s=f(e),i=e.classSelector?t.getStylesForClass(e.classSelector):[],n=i.length>0?i.join(";"):void 0,o={level:r,name:s,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:n};a.push(o)}let l=m(a),r=(0,c.K2)((e,a)=>{for(let l of e)t.addNode(l,a),l.children&&l.children.length>0&&r(l.children,a+1)},"addNodesRecursively");r(l,0)},"populate"),f=(0,c.K2)(e=>e.name?String(e.name):"","getItemName"),u={parser:{yy:void 0},parse:(0,c.K2)(async e=>{try{let t=d.qg,a=await t("treemap",e);c.Rm.debug("Treemap AST:",a);let l=u.parser?.yy;if(!(l instanceof h))throw Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");y(a,l)}catch(e){throw c.Rm.error("Error parsing treemap:",e),e}},"parse")},S=(0,c.K2)((e,t,a,i)=>{let n,d=i.db,h=d.getConfig(),m=h.padding??10,y=d.getDiagramTitle(),f=d.getRoot(),{themeVariables:u}=(0,o.zj)();if(!f)return;let S=30*!!y,g=(0,l.D)(t),x=h.nodeWidth?10*h.nodeWidth:960,b=h.nodeHeight?10*h.nodeHeight:500,$=b+S;g.attr("viewBox",`0 0 ${x} ${$}`),(0,o.a$)(g,$,x,h.useMaxWidth);try{let e=h.valueFormat||",";if("$0,0"===e)n=(0,c.K2)(e=>"$"+(0,p.GPZ)(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){let t=/\.\d+/.exec(e),a=t?t[0]:"";n=(0,c.K2)(e=>"$"+(0,p.GPZ)(","+a)(e),"valueFormat")}else if(e.startsWith("$")){let t=e.substring(1);n=(0,c.K2)(e=>"$"+(0,p.GPZ)(t||"")(e),"valueFormat")}else n=(0,p.GPZ)(e)}catch(e){c.Rm.error("Error creating format function:",e),n=(0,p.GPZ)(",")}let v=(0,p.UMr)().range(["transparent",u.cScale0,u.cScale1,u.cScale2,u.cScale3,u.cScale4,u.cScale5,u.cScale6,u.cScale7,u.cScale8,u.cScale9,u.cScale10,u.cScale11]),C=(0,p.UMr)().range(["transparent",u.cScalePeer0,u.cScalePeer1,u.cScalePeer2,u.cScalePeer3,u.cScalePeer4,u.cScalePeer5,u.cScalePeer6,u.cScalePeer7,u.cScalePeer8,u.cScalePeer9,u.cScalePeer10,u.cScalePeer11]),w=(0,p.UMr)().range([u.cScaleLabel0,u.cScaleLabel1,u.cScaleLabel2,u.cScaleLabel3,u.cScaleLabel4,u.cScaleLabel5,u.cScaleLabel6,u.cScaleLabel7,u.cScaleLabel8,u.cScaleLabel9,u.cScaleLabel10,u.cScaleLabel11]);y&&g.append("text").attr("x",x/2).attr("y",S/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(y);let L=g.append("g").attr("transform",`translate(0, ${S})`).attr("class","treemapContainer"),k=(0,p.Sk5)(f).sum(e=>e.value??0).sort((e,t)=>(t.value??0)-(e.value??0)),T=(0,p.hkb)().size([x,b]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(m).paddingLeft(e=>e.children&&e.children.length>0?10:0).paddingRight(e=>e.children&&e.children.length>0?10:0).paddingBottom(e=>e.children&&e.children.length>0?10:0).round(!0)(k),M=T.descendants().filter(e=>e.children&&e.children.length>0),P=L.selectAll(".treemapSection").data(M).enter().append("g").attr("class","treemapSection").attr("transform",e=>`translate(${e.x0},${e.y0})`);P.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),P.append("clipPath").attr("id",(e,a)=>`clip-section-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),P.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>`treemapSection section${t}`).attr("fill",e=>v(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>C(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";let t=(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),P.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("style",e=>0===e.depth?"display: none;":"dominant-baseline: middle; font-size: 12px; fill:"+w(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).each(function(e){if(0===e.depth)return;let t=(0,p.Ltv)(this),a=e.data.name;t.text(a);let l=e.x1-e.x0,r=Math.max(15,!1!==h.showValues&&e.value?l-10-30-10-6:l-6-6),s=t.node();if(s.getComputedTextLength()>r){let e=a;for(;e.length>0;){if(0===(e=a.substring(0,e.length-1)).length){t.text("..."),s.getComputedTextLength()>r&&t.text("");break}if(t.text(e+"..."),s.getComputedTextLength()<=r)break}}}),!1!==h.showValues&&P.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?n(e.value):"").attr("font-style","italic").attr("style",e=>0===e.depth?"display: none;":"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+w(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:"));let z=T.leaves(),F=L.selectAll(".treemapLeafGroup").data(z).enter().append("g").attr("class",(e,t)=>`treemapNode treemapLeafGroup leaf${t}${e.data.classSelector?` ${e.data.classSelector}`:""}x`).attr("transform",e=>`translate(${e.x0},${e.y0})`);F.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?v(e.parent.data.name):v(e.data.name)).attr("style",e=>(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?v(e.parent.data.name):v(e.data.name)).attr("stroke-width",3),F.append("clipPath").attr("id",(e,a)=>`clip-${t}-${a}`).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4)),F.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+w(e.data.name)+";"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.data.name).each(function(e){let t=(0,p.Ltv)(this),a=e.x1-e.x0,l=e.y1-e.y0,r=t.node(),s=a-8,i=l-8;if(s<10||i<10)return void t.style("display","none");let n=parseInt(t.style("font-size"),10);for(;r.getComputedTextLength()>s&&n>8;)n--,t.style("font-size",`${n}px`);let o=Math.max(6,Math.min(28,Math.round(.6*n))),c=n+2+o;for(;c>i&&n>8&&(!((o=Math.max(6,Math.min(28,Math.round(.6*--n))))<6)||8!==n);)t.style("font-size",`${n}px`),c=n+2+o;t.style("font-size",`${n}px`),(r.getComputedTextLength()>s||n<8||i<n)&&t.style("display","none")}),!1!==h.showValues&&F.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+w(e.data.name)+";"+(0,s.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>`url(#clip-${t}-${a})`).text(e=>e.value?n(e.value):"").each(function(e){let t=(0,p.Ltv)(this),a=this.parentNode;if(!a)return void t.style("display","none");let l=(0,p.Ltv)(a).select(".treemapLabel");if(l.empty()||"none"===l.style("display"))return void t.style("display","none");let r=parseFloat(l.style("font-size")),s=Math.max(6,Math.min(28,Math.round(.6*r)));t.style("font-size",`${s}px`);let i=(e.y1-e.y0)/2+r/2+2;t.attr("y",i);let n=e.x1-e.x0,o=e.y1-e.y0;t.node().getComputedTextLength()>n-8||i+s>o-4||s<6?t.style("display","none"):t.style("display",null)});let K=h.diagramPadding??8;(0,r.P)(g,K,"flowchart",h?.useMaxWidth||!1)},"draw"),g=(0,c.K2)(function(e,t){return t.db.getClasses()},"getClasses"),x={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelColor:"black",labelFontSize:"12px",valueFontSize:"10px",valueColor:"black",titleColor:"black",titleFontSize:"14px"},b={parser:u,get db(){return new h},renderer:{draw:S,getClasses:g},styles:(0,c.K2)(({treemap:e}={})=>{let t=(0,n.$t)(x,e);return`
|
|
2
|
+
.treemapNode.section {
|
|
3
|
+
stroke: ${t.sectionStrokeColor};
|
|
4
|
+
stroke-width: ${t.sectionStrokeWidth};
|
|
5
|
+
fill: ${t.sectionFillColor};
|
|
6
|
+
}
|
|
7
|
+
.treemapNode.leaf {
|
|
8
|
+
stroke: ${t.leafStrokeColor};
|
|
9
|
+
stroke-width: ${t.leafStrokeWidth};
|
|
10
|
+
fill: ${t.leafFillColor};
|
|
11
|
+
}
|
|
12
|
+
.treemapLabel {
|
|
13
|
+
fill: ${t.labelColor};
|
|
14
|
+
font-size: ${t.labelFontSize};
|
|
15
|
+
}
|
|
16
|
+
.treemapValue {
|
|
17
|
+
fill: ${t.valueColor};
|
|
18
|
+
font-size: ${t.valueFontSize};
|
|
19
|
+
}
|
|
20
|
+
.treemapTitle {
|
|
21
|
+
fill: ${t.titleColor};
|
|
22
|
+
font-size: ${t.titleFontSize};
|
|
23
|
+
}
|
|
24
|
+
`},"getStyles")}},36211:(e,t,a)=>{function l(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}a.d(t,{S:()=>l}),(0,a(32165).K2)(l,"populateCommonDb")},41128:(e,t,a)=>{a.d(t,{P:()=>s});var l=a(90428),r=a(32165),s=(0,r.K2)((e,t,a,s)=>{e.attr("class",a);let{width:o,height:c,x:d,y:p}=i(e,t);(0,l.a$)(e,c,o,s);let h=n(d,p,o,c,t);e.attr("viewBox",h),r.Rm.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),i=(0,r.K2)((e,t)=>{let a=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:a.width+2*t,height:a.height+2*t,x:a.x,y:a.y}},"calculateDimensionsWithPadding"),n=(0,r.K2)((e,t,a,l,r)=>`${e-r} ${t-r} ${a} ${l}`,"createViewBox")}}]);
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9203],{29203:(t,e,i)=>{let n;i.d(e,{diagram:()=>S});var s=i(66777),r=i(41128),o=i(8769);i(51048),i(83290),i(91050),i(70097),i(58075),i(86645),i(29790);var a=i(90428),c=i(32165);let h="undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto),l=new Uint8Array(16),d=[];for(let t=0;t<256;++t)d.push((t+256).toString(16).slice(1));let g=function(t,e,i){if(h&&!e&&!t)return h();let s=(t=t||{}).random??t.rng?.()??function(){if(!n){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");n=crypto.getRandomValues.bind(crypto)}return n(l)}();if(s.length<16)throw Error("Random bytes length must be >= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,e){if((i=i||0)<0||i+16>e.length)throw RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let t=0;t<16;++t)e[i+t]=s[t];return e}return function(t,e=0){return(d[t[e+0]]+d[t[e+1]]+d[t[e+2]]+d[t[e+3]]+"-"+d[t[e+4]]+d[t[e+5]]+"-"+d[t[e+6]]+d[t[e+7]]+"-"+d[t[e+8]]+d[t[e+9]]+"-"+d[t[e+10]]+d[t[e+11]]+d[t[e+12]]+d[t[e+13]]+d[t[e+14]]+d[t[e+15]]).toLowerCase()}(s)};var u=i(6424),p=i(99507),y=i(68195),m=function(){var t=(0,c.K2)(function(t,e,i,n){for(i=i||{},n=t.length;n--;i[t[n]]=e);return i},"o"),e=[1,4],i=[1,13],n=[1,12],s=[1,15],r=[1,16],o=[1,20],a=[1,19],h=[6,7,8],l=[1,26],d=[1,24],g=[1,25],u=[6,7,11],p=[1,6,13,15,16,19,22],y=[1,33],m=[1,34],f=[1,6,7,11,13,15,16,19,22],_={trace:(0,c.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,MINDMAP:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,ICON:15,CLASS:16,nodeWithId:17,nodeWithoutId:18,NODE_DSTART:19,NODE_DESCR:20,NODE_DEND:21,NODE_ID:22,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"MINDMAP",11:"EOF",13:"SPACELIST",15:"ICON",16:"CLASS",19:"NODE_DSTART",20:"NODE_DESCR",21:"NODE_DEND",22:"NODE_ID"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[18,3],[17,1],[17,4]],performAction:(0,c.K2)(function(t,e,i,n,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return n;case 8:n.getLogger().trace("Stop NL ");break;case 9:n.getLogger().trace("Stop EOF ");break;case 11:n.getLogger().trace("Stop NL2 ");break;case 12:n.getLogger().trace("Stop EOF2 ");break;case 15:n.getLogger().info("Node: ",r[a].id),n.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 16:n.getLogger().trace("Icon: ",r[a]),n.decorateNode({icon:r[a]});break;case 17:case 21:n.decorateNode({class:r[a]});break;case 18:n.getLogger().trace("SPACELIST");break;case 19:n.getLogger().trace("Node: ",r[a].id),n.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 20:n.decorateNode({icon:r[a]});break;case 25:n.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:n.getType(r[a-2],r[a])};break;case 26:this.$={id:r[a],descr:r[a],type:n.nodeType.DEFAULT};break;case 27:n.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:n.getType(r[a-2],r[a])}}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:i,7:[1,10],9:9,12:11,13:n,14:14,15:s,16:r,17:17,18:18,19:o,22:a},t(h,[2,3]),{1:[2,2]},t(h,[2,4]),t(h,[2,5]),{1:[2,6],6:i,12:21,13:n,14:14,15:s,16:r,17:17,18:18,19:o,22:a},{6:i,9:22,12:11,13:n,14:14,15:s,16:r,17:17,18:18,19:o,22:a},{6:l,7:d,10:23,11:g},t(u,[2,22],{17:17,18:18,14:27,15:[1,28],16:[1,29],19:o,22:a}),t(u,[2,18]),t(u,[2,19]),t(u,[2,20]),t(u,[2,21]),t(u,[2,23]),t(u,[2,24]),t(u,[2,26],{19:[1,30]}),{20:[1,31]},{6:l,7:d,10:32,11:g},{1:[2,7],6:i,12:21,13:n,14:14,15:s,16:r,17:17,18:18,19:o,22:a},t(p,[2,14],{7:y,11:m}),t(f,[2,8]),t(f,[2,9]),t(f,[2,10]),t(u,[2,15]),t(u,[2,16]),t(u,[2,17]),{20:[1,35]},{21:[1,36]},t(p,[2,13],{7:y,11:m}),t(f,[2,11]),t(f,[2,12]),{21:[1,37]},t(u,[2,25]),t(u,[2,27])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,c.K2)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,c.K2)(function(t){var e=this,i=[0],n=[],s=[null],r=[],o=this.table,a="",h=0,l=0,d=0,g=r.slice.call(arguments,1),u=Object.create(this.lexer),p={};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p[y]=this.yy[y]);u.setInput(t,p),p.lexer=u,p.parser=this,void 0===u.yylloc&&(u.yylloc={});var m=u.yylloc;r.push(m);var f=u.options&&u.options.ranges;function _(){var t;return"number"!=typeof(t=n.pop()||u.lex()||1)&&(t instanceof Array&&(t=(n=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.parseError?this.parseError=p.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K2)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,c.K2)(_,"lex");for(var E,b,S,N,k,L,D,x,v,I={};;){if(S=i[i.length-1],this.defaultActions[S]?N=this.defaultActions[S]:(null==E&&(E=_()),N=o[S]&&o[S][E]),void 0===N||!N.length||!N[0]){var T="";for(L in v=[],o[S])this.terminals_[L]&&L>2&&v.push("'"+this.terminals_[L]+"'");T=u.showPosition?"Parse error on line "+(h+1)+":\n"+u.showPosition()+"\nExpecting "+v.join(", ")+", got '"+(this.terminals_[E]||E)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==E?"end of input":"'"+(this.terminals_[E]||E)+"'"),this.parseError(T,{text:u.match,token:this.terminals_[E]||E,line:u.yylineno,loc:m,expected:v})}if(N[0]instanceof Array&&N.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+E);switch(N[0]){case 1:i.push(E),s.push(u.yytext),r.push(u.yylloc),i.push(N[1]),E=null,b?(E=b,b=null):(l=u.yyleng,a=u.yytext,h=u.yylineno,m=u.yylloc,d>0&&d--);break;case 2:if(D=this.productions_[N[1]][1],I.$=s[s.length-D],I._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},f&&(I._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(k=this.performAction.apply(I,[a,l,h,p,N[1],s,r].concat(g))))return k;D&&(i=i.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),i.push(this.productions_[N[1]][0]),s.push(I.$),r.push(I._$),x=o[i[i.length-2]][i[i.length-1]],i.push(x);break;case 3:return!0}}return!0},"parse")};function E(){this.yy={}}return _.lexer={EOF:1,parseError:(0,c.K2)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,c.K2)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,c.K2)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,c.K2)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var n=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===n.length?this.yylloc.first_column:0)+n[n.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K2)(function(){return this._more=!0,this},"more"),reject:(0,c.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,c.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,c.K2)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,c.K2)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,c.K2)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,c.K2)(function(t,e){var i,n,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(n=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=n.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:n?n[n.length-1].length-n[n.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var r in s)this[r]=s[r];return!1},"test_match"),next:(0,c.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,n,s=this._currentRules(),r=0;r<s.length;r++)if((i=this._input.match(this.rules[s[r]]))&&(!e||i[0].length>e[0].length)){if(e=i,n=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,s[r])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[n]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,c.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,c.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,c.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,c.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,c.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,c.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K2)(function(t,e,i,n){switch(i){case 0:return t.getLogger().trace("Found comment",e.yytext),6;case 1:return 8;case 2:this.begin("CLASS");break;case 3:return this.popState(),16;case 4:case 23:case 26:this.popState();break;case 5:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 6:return t.getLogger().trace("SPACELINE"),6;case 7:return 7;case 8:return 15;case 9:t.getLogger().trace("end icon"),this.popState();break;case 10:return t.getLogger().trace("Exploding node"),this.begin("NODE"),19;case 11:return t.getLogger().trace("Cloud"),this.begin("NODE"),19;case 12:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),19;case 13:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),19;case 14:case 15:case 16:case 17:return this.begin("NODE"),19;case 18:return 13;case 19:return 22;case 20:return 11;case 21:this.begin("NSTR2");break;case 22:return"NODE_DESCR";case 24:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 25:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 27:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 28:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 29:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 30:case 33:case 34:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 31:case 32:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 35:case 36:return t.getLogger().trace("Long description:",e.yytext),20}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:mindmap\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{CLASS:{rules:[3,4],inclusive:!1},ICON:{rules:[8,9],inclusive:!1},NSTR2:{rules:[22,23],inclusive:!1},NSTR:{rules:[25,26],inclusive:!1},NODE:{rules:[21,24,27,28,29,30,31,32,33,34,35,36],inclusive:!1},INITIAL:{rules:[0,1,2,5,6,7,10,11,12,13,14,15,16,17,18,19,20],inclusive:!0}}},(0,c.K2)(E,"Parser"),E.prototype=_,_.Parser=E,new E}();m.parser=m;var f={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},_=class{constructor(){this.nodes=[],this.count=0,this.elements={},this.getLogger=this.getLogger.bind(this),this.nodeType=f,this.clear(),this.getType=this.getType.bind(this),this.getElementById=this.getElementById.bind(this),this.getParent=this.getParent.bind(this),this.getMindmap=this.getMindmap.bind(this),this.addNode=this.addNode.bind(this),this.decorateNode=this.decorateNode.bind(this)}static{(0,c.K2)(this,"MindmapDB")}clear(){this.nodes=[],this.count=0,this.elements={},this.baseLevel=void 0}getParent(t){for(let e=this.nodes.length-1;e>=0;e--)if(this.nodes[e].level<t)return this.nodes[e];return null}getMindmap(){return this.nodes.length>0?this.nodes[0]:null}addNode(t,e,i,n){c.Rm.info("addNode",t,e,i,n);let s=!1;0===this.nodes.length?(this.baseLevel=t,t=0,s=!0):void 0!==this.baseLevel&&(t-=this.baseLevel,s=!1);let r=(0,a.D7)(),o=r.mindmap?.padding??a.UI.mindmap.padding;switch(n){case this.nodeType.ROUNDED_RECT:case this.nodeType.RECT:case this.nodeType.HEXAGON:o*=2}let h={id:this.count++,nodeId:(0,a.jZ)(e,r),level:t,descr:(0,a.jZ)(i,r),type:n,children:[],width:r.mindmap?.maxNodeWidth??a.UI.mindmap.maxNodeWidth,padding:o,isRoot:s},l=this.getParent(t);if(l)l.children.push(h),this.nodes.push(h);else if(s)this.nodes.push(h);else throw Error(`There can be only one root. No parent could be found for ("${h.descr}")`)}getType(t,e){switch(c.Rm.debug("In get type",t,e),t){case"[":return this.nodeType.RECT;case"(":return")"===e?this.nodeType.ROUNDED_RECT:this.nodeType.CLOUD;case"((":return this.nodeType.CIRCLE;case")":return this.nodeType.CLOUD;case"))":return this.nodeType.BANG;case"{{":return this.nodeType.HEXAGON;default:return this.nodeType.DEFAULT}}setElementForId(t,e){this.elements[t]=e}getElementById(t){return this.elements[t]}decorateNode(t){if(!t)return;let e=(0,a.D7)(),i=this.nodes[this.nodes.length-1];t.icon&&(i.icon=(0,a.jZ)(t.icon,e)),t.class&&(i.class=(0,a.jZ)(t.class,e))}type2Str(t){switch(t){case this.nodeType.DEFAULT:return"no-border";case this.nodeType.RECT:return"rect";case this.nodeType.ROUNDED_RECT:return"rounded-rect";case this.nodeType.CIRCLE:return"circle";case this.nodeType.CLOUD:return"cloud";case this.nodeType.BANG:return"bang";case this.nodeType.HEXAGON:return"hexgon";default:return"no-border"}}assignSections(t,e){if(0===t.level?t.section=void 0:t.section=e,t.children)for(let[i,n]of t.children.entries()){let s=0===t.level?i:e;this.assignSections(n,s)}}flattenNodes(t,e){let i=["mindmap-node"];!0===t.isRoot?i.push("section-root","section--1"):void 0!==t.section&&i.push(`section-${t.section}`),t.class&&i.push(t.class);let n=i.join(" "),s=(0,c.K2)(t=>{switch(t){case f.CIRCLE:return"mindmapCircle";case f.RECT:return"rect";case f.ROUNDED_RECT:return"rounded";case f.CLOUD:return"cloud";case f.BANG:return"bang";case f.HEXAGON:return"hexagon";case f.DEFAULT:return"defaultMindmapNode";case f.NO_BORDER:default:return"rect"}},"getShapeFromType"),r={id:t.id.toString(),domId:"node_"+t.id.toString(),label:t.descr,isGroup:!1,shape:s(t.type),width:t.width,height:t.height??0,padding:t.padding,cssClasses:n,cssStyles:[],look:"default",icon:t.icon,x:t.x,y:t.y,level:t.level,nodeId:t.nodeId,type:t.type,section:t.section};if(e.push(r),t.children)for(let i of t.children)this.flattenNodes(i,e)}generateEdges(t,e){if(t.children)for(let i of t.children){let n="edge";void 0!==i.section&&(n+=` section-edge-${i.section}`);let s=t.level+1;n+=` edge-depth-${s}`;let r={id:`edge_${t.id}_${i.id}`,start:t.id.toString(),end:i.id.toString(),type:"normal",curve:"basis",thickness:"normal",look:"default",classes:n,depth:t.level,section:i.section};e.push(r),this.generateEdges(i,e)}}getData(){let t=this.getMindmap(),e=(0,a.D7)();if(void 0!==(0,a.TM)().layout||(e.layout="cose-bilkent"),!t)return{nodes:[],edges:[],config:e};c.Rm.debug("getData: mindmapRoot",t,e),this.assignSections(t);let i=[],n=[];this.flattenNodes(t,i),this.generateEdges(t,n),c.Rm.debug(`getData: processed ${i.length} nodes and ${n.length} edges`);let s=new Map;for(let t of i)s.set(t.id,{shape:t.shape,width:t.width,height:t.height,padding:t.padding});return{nodes:i,edges:n,config:e,rootNode:t,markers:["point"],direction:"TB",nodeSpacing:50,rankSpacing:50,shapes:Object.fromEntries(s),type:"mindmap",diagramId:"mindmap-"+g()}}getLogger(){return c.Rm}},E=(0,c.K2)(async(t,e,i,n)=>{c.Rm.debug("Rendering mindmap diagram\n"+t);let h=n.db,l=h.getData(),d=(0,s.A)(e,l.config.securityLevel);l.type=n.type,l.layoutAlgorithm=(0,o.q7)(l.config.layout,{fallback:"cose-bilkent"}),l.diagramId=e,h.getMindmap()&&(l.nodes.forEach(t=>{"rounded"===t.shape?(t.radius=15,t.taper=15,t.stroke="none",t.width=0,t.padding=15):"circle"===t.shape?t.padding=10:"rect"===t.shape&&(t.width=0,t.padding=10)}),await (0,o.XX)(l,d),(0,r.P)(d,l.config.mindmap?.padding??a.UI.mindmap.padding,"mindmapDiagram",l.config.mindmap?.useMaxWidth??a.UI.mindmap.useMaxWidth))},"draw"),b=(0,c.K2)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,u.A)(t["lineColor"+e])?t["lineColor"+e]=(0,p.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,y.A)(t["lineColor"+e],20);for(let i=0;i<t.THEME_COLOR_LIMIT;i++){let n=""+(17-3*i);e+=`
|
|
2
|
+
.section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {
|
|
3
|
+
fill: ${t["cScale"+i]};
|
|
4
|
+
}
|
|
5
|
+
.section-${i-1} text {
|
|
6
|
+
fill: ${t["cScaleLabel"+i]};
|
|
7
|
+
}
|
|
8
|
+
.node-icon-${i-1} {
|
|
9
|
+
font-size: 40px;
|
|
10
|
+
color: ${t["cScaleLabel"+i]};
|
|
11
|
+
}
|
|
12
|
+
.section-edge-${i-1}{
|
|
13
|
+
stroke: ${t["cScale"+i]};
|
|
14
|
+
}
|
|
15
|
+
.edge-depth-${i-1}{
|
|
16
|
+
stroke-width: ${n};
|
|
17
|
+
}
|
|
18
|
+
.section-${i-1} line {
|
|
19
|
+
stroke: ${t["cScaleInv"+i]} ;
|
|
20
|
+
stroke-width: 3;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.disabled, .disabled circle, .disabled text {
|
|
24
|
+
fill: lightgray;
|
|
25
|
+
}
|
|
26
|
+
.disabled text {
|
|
27
|
+
fill: #efefef;
|
|
28
|
+
}
|
|
29
|
+
`}return e},"genSections"),S={get db(){return new _},renderer:{draw:E},parser:m,styles:(0,c.K2)(t=>`
|
|
30
|
+
.edge {
|
|
31
|
+
stroke-width: 3;
|
|
32
|
+
}
|
|
33
|
+
${b(t)}
|
|
34
|
+
.section-root rect, .section-root path, .section-root circle, .section-root polygon {
|
|
35
|
+
fill: ${t.git0};
|
|
36
|
+
}
|
|
37
|
+
.section-root text {
|
|
38
|
+
fill: ${t.gitBranchLabel0};
|
|
39
|
+
}
|
|
40
|
+
.section-root span {
|
|
41
|
+
color: ${t.gitBranchLabel0};
|
|
42
|
+
}
|
|
43
|
+
.section-2 span {
|
|
44
|
+
color: ${t.gitBranchLabel0};
|
|
45
|
+
}
|
|
46
|
+
.icon-container {
|
|
47
|
+
height:100%;
|
|
48
|
+
display: flex;
|
|
49
|
+
justify-content: center;
|
|
50
|
+
align-items: center;
|
|
51
|
+
}
|
|
52
|
+
.edge {
|
|
53
|
+
fill: none;
|
|
54
|
+
}
|
|
55
|
+
.mindmap-node-label {
|
|
56
|
+
dy: 1em;
|
|
57
|
+
alignment-baseline: middle;
|
|
58
|
+
text-anchor: middle;
|
|
59
|
+
dominant-baseline: middle;
|
|
60
|
+
text-align: center;
|
|
61
|
+
}
|
|
62
|
+
`,"getStyles")}},41128:(t,e,i)=>{i.d(e,{P:()=>r});var n=i(90428),s=i(32165),r=(0,s.K2)((t,e,i,r)=>{t.attr("class",i);let{width:c,height:h,x:l,y:d}=o(t,e);(0,n.a$)(t,h,c,r);let g=a(l,d,c,h,e);t.attr("viewBox",g),s.Rm.debug(`viewBox configured: ${g} with padding: ${e}`)},"setupViewPortForSVG"),o=(0,s.K2)((t,e)=>{let i=t.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:i.width+2*e,height:i.height+2*e,x:i.x,y:i.y}},"calculateDimensionsWithPadding"),a=(0,s.K2)((t,e,i,n,s)=>`${t-s} ${e-s} ${i} ${n}`,"createViewBox")},66777:(t,e,i)=>{i.d(e,{A:()=>r});var n=i(32165),s=i(63595),r=(0,n.K2)((t,e)=>{let i;return"sandbox"===e&&(i=(0,s.Ltv)("#i"+t)),("sandbox"===e?(0,s.Ltv)(i.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select(`[id="${t}"]`)},"getDiagramElement")}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9536],{19536:(e,t,n)=>{n.r(t),n.d(t,{render:()=>A});var r=n(51048);n(83290);var i=n(91050),a=n(70097);n(58075),n(86645),n(29790);var d=n(90428),o=n(32165),s=n(31455),l=n(94630),g=n(27427),c=n(49820);function f(e){var t,n,r={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:(t=e,c.A(t.nodes(),function(e){var n=t.node(e),r=t.parent(e),i={v:e};return l.A(n)||(i.value=n),l.A(r)||(i.parent=r),i})),edges:(n=e,c.A(n.edges(),function(e){var t=n.edge(e),r={v:e.v,w:e.w};return l.A(e.name)||(r.name=e.name),l.A(t)||(r.value=t),r}))};return l.A(e.graph())||(r.value=g.A(e.graph())),r}n(17641);var h=n(92821),p=new Map,u=new Map,m=new Map,w=(0,o.K2)(()=>{u.clear(),m.clear(),p.clear()},"clear"),R=(0,o.K2)((e,t)=>{let n=u.get(t)||[];return o.Rm.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),v=(0,o.K2)((e,t)=>{let n=u.get(t)||[];return o.Rm.info("Descendants of ",t," is ",n),o.Rm.info("Edge is ",e),e.v!==t&&e.w!==t&&(n?n.includes(e.v)||R(e.v,t)||R(e.w,t)||n.includes(e.w):(o.Rm.debug("Tilt, ",t,",not in descendants"),!1))},"edgeInCluster"),y=(0,o.K2)((e,t,n,r)=>{o.Rm.warn("Copying children of ",e,"root",r,"data",t.node(e),r);let i=t.children(e)||[];e!==r&&i.push(e),o.Rm.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(i=>{if(t.children(i).length>0)y(i,t,n,r);else{let a=t.node(i);o.Rm.info("cp ",i," to ",r," with parent ",e),n.setNode(i,a),r!==t.parent(i)&&(o.Rm.warn("Setting parent",i,t.parent(i)),n.setParent(i,t.parent(i))),e!==r&&i!==e?(o.Rm.debug("Setting parent",i,e),n.setParent(i,e)):(o.Rm.info("In copy ",e,"root",r,"data",t.node(e),r),o.Rm.debug("Not Setting parent for node=",i,"cluster!==rootId",e!==r,"node!==clusterId",i!==e));let d=t.edges(i);o.Rm.debug("Copying Edges",d),d.forEach(i=>{o.Rm.info("Edge",i);let a=t.edge(i.v,i.w,i.name);o.Rm.info("Edge data",a,r);try{v(i,r)?(o.Rm.info("Copying as ",i.v,i.w,a,i.name),n.setEdge(i.v,i.w,a,i.name),o.Rm.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):o.Rm.info("Skipping copy of edge ",i.v,"--\x3e",i.w," rootId: ",r," clusterId:",e)}catch(e){o.Rm.error(e)}})}o.Rm.debug("Removing node",i),t.removeNode(i)})},"copy"),X=(0,o.K2)((e,t)=>{let n=t.children(e),r=[...n];for(let i of n)m.set(i,e),r=[...r,...X(i,t)];return r},"extractDescendants"),E=(0,o.K2)((e,t,n)=>{let r=e.edges().filter(e=>e.v===t||e.w===t),i=e.edges().filter(e=>e.v===n||e.w===n),a=r.map(e=>({v:e.v===t?n:e.v,w:e.w===t?t:e.w})),d=i.map(e=>({v:e.v,w:e.w}));return a.filter(e=>d.some(t=>e.v===t.v&&e.w===t.w))},"findCommonEdges"),N=(0,o.K2)((e,t,n)=>{let r,i=t.children(e);if(o.Rm.trace("Searching children of id ",e,i),i.length<1)return e;for(let e of i){let i=N(e,t,n),a=E(t,n,i);if(i)if(!(a.length>0))return i;else r=i}return r},"findNonClusterChild"),b=(0,o.K2)(e=>p.has(e)&&p.get(e).externalConnections&&p.has(e)?p.get(e).id:e,"getAnchorId"),C=(0,o.K2)((e,t)=>{if(!e||t>10)return void o.Rm.debug("Opting out, no graph ");for(let t of(o.Rm.debug("Opting in, graph "),e.nodes().forEach(function(t){e.children(t).length>0&&(o.Rm.warn("Cluster identified",t," Replacement id in edges: ",N(t,e,t)),u.set(t,X(t,e)),p.set(t,{id:N(t,e,t),clusterData:e.node(t)}))}),e.nodes().forEach(function(t){let n=e.children(t),r=e.edges();n.length>0?(o.Rm.debug("Cluster identified",t,u),r.forEach(e=>{R(e.v,t)^R(e.w,t)&&(o.Rm.warn("Edge: ",e," leaves cluster ",t),o.Rm.warn("Descendants of XXX ",t,": ",u.get(t)),p.get(t).externalConnections=!0)})):o.Rm.debug("Not a cluster ",t,u)}),p.keys())){let n=p.get(t).id,r=e.parent(n);r!==t&&p.has(r)&&!p.get(r).externalConnections&&(p.get(t).id=r)}e.edges().forEach(function(t){let n=e.edge(t);o.Rm.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(t)),o.Rm.warn("Edge "+t.v+" -> "+t.w+": "+JSON.stringify(e.edge(t)));let r=t.v,i=t.w;if(o.Rm.warn("Fix XXX",p,"ids:",t.v,t.w,"Translating: ",p.get(t.v)," --- ",p.get(t.w)),p.get(t.v)||p.get(t.w)){if(o.Rm.warn("Fixing and trying - removing XXX",t.v,t.w,t.name),r=b(t.v),i=b(t.w),e.removeEdge(t.v,t.w,t.name),r!==t.v){let i=e.parent(r);p.get(i).externalConnections=!0,n.fromCluster=t.v}if(i!==t.w){let r=e.parent(i);p.get(r).externalConnections=!0,n.toCluster=t.w}o.Rm.warn("Fix Replacing with XXX",r,i,t.name),e.setEdge(r,i,n,t.name)}}),o.Rm.warn("Adjusted Graph",f(e)),S(e,0),o.Rm.trace(p)},"adjustClustersAndEdges"),S=(0,o.K2)((e,t)=>{if(o.Rm.warn("extractor - ",t,f(e),e.children("D")),t>10)return void o.Rm.error("Bailing out");let n=e.nodes(),r=!1;for(let t of n){let n=e.children(t);r=r||n.length>0}if(!r)return void o.Rm.debug("Done, no node has children",e.nodes());for(let r of(o.Rm.debug("Nodes = ",n,t),n))if(o.Rm.debug("Extracting node",r,p,p.has(r)&&!p.get(r).externalConnections,!e.parent(r),e.node(r),e.children("D")," Depth ",t),p.has(r))if(!p.get(r).externalConnections&&e.children(r)&&e.children(r).length>0){o.Rm.warn("Cluster without external connections, without a parent and with children",r,t);let n="TB"===e.graph().rankdir?"LR":"TB";p.get(r)?.clusterData?.dir&&(n=p.get(r).clusterData.dir,o.Rm.warn("Fixing dir",p.get(r).clusterData.dir,n));let i=new h.T({multigraph:!0,compound:!0}).setGraph({rankdir:n,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});o.Rm.warn("Old graph before copy",f(e)),y(r,e,i,r),e.setNode(r,{clusterNode:!0,id:r,clusterData:p.get(r).clusterData,label:p.get(r).label,graph:i}),o.Rm.warn("New graph after copy node: (",r,")",f(i)),o.Rm.debug("Old graph after copy",f(e))}else o.Rm.warn("Cluster ** ",r," **not meeting the criteria !externalConnections:",!p.get(r).externalConnections," no parent: ",!e.parent(r)," children ",e.children(r)&&e.children(r).length>0,e.children("D"),t),o.Rm.debug(p);else o.Rm.debug("Not a cluster",r,t);for(let r of(n=e.nodes(),o.Rm.warn("New list of nodes",n),n)){let n=e.node(r);o.Rm.warn(" Now next level",r,n),n?.clusterNode&&S(n.graph,t+1)}},"extractor"),x=(0,o.K2)((e,t)=>{if(0===t.length)return[];let n=Object.assign([],t);return t.forEach(t=>{let r=e.children(t),i=x(e,r);n=[...n,...i]}),n},"sorter"),I=(0,o.K2)(e=>x(e,e.children()),"sortNodesByHierarchy"),D=(0,o.K2)(async(e,t,n,d,l,g)=>{o.Rm.warn("Graph in recursive render:XAX",f(t),l);let c=t.graph().rankdir;o.Rm.trace("Dir in recursive render - dir:",c);let h=e.insert("g").attr("class","root");t.nodes()?o.Rm.info("Recursive render XXX",t.nodes()):o.Rm.info("No nodes found for",t),t.edges().length>0&&o.Rm.info("Recursive edges",t.edge(t.edges()[0]));let u=h.insert("g").attr("class","clusters"),m=h.insert("g").attr("class","edgePaths"),w=h.insert("g").attr("class","edgeLabels"),R=h.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(e){let r=t.node(e);if(void 0!==l){let n=JSON.parse(JSON.stringify(l.clusterData));o.Rm.trace("Setting data for parent cluster XXX\n Node.id = ",e,"\n data=",n.height,"\nParent cluster",l.height),t.setNode(l.id,n),t.parent(e)||(o.Rm.trace("Setting parent",e,l.id),t.setParent(e,l.id,n))}if(o.Rm.info("(Insert) Node XXX"+e+": "+JSON.stringify(t.node(e))),r?.clusterNode){o.Rm.info("Cluster identified XBX",e,r.width,t.node(e));let{ranksep:a,nodesep:s}=t.graph();r.graph.setGraph({...r.graph.graph(),ranksep:a+25,nodesep:s});let l=await D(R,r.graph,n,d,t.node(e),g),c=l.elem;(0,i.lC)(r,c),r.diff=l.diff||0,o.Rm.info("New compound node after recursive render XAX",e,"width",r.width,"height",r.height),(0,i.U7)(c,r)}else t.children(e).length>0?(o.Rm.trace("Cluster - the non recursive path XBX",e,r.id,r,r.width,"Graph:",t),o.Rm.trace(N(r.id,t)),p.set(r.id,{id:N(r.id,t),node:r})):(o.Rm.trace("Node - the non recursive path XAX",e,R,t.node(e),c),await (0,i.on)(R,t.node(e),{config:g,dir:c}))}));let v=(0,o.K2)(async()=>{let e=t.edges().map(async function(e){let n=t.edge(e.v,e.w,e.name);o.Rm.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(e)),o.Rm.info("Edge "+e.v+" -> "+e.w+": ",e," ",JSON.stringify(t.edge(e))),o.Rm.info("Fix",p,"ids:",e.v,e.w,"Translating: ",p.get(e.v),p.get(e.w)),await (0,r.jP)(w,n)});await Promise.all(e)},"processEdges");await v(),o.Rm.info("Graph before layout:",JSON.stringify(f(t))),o.Rm.info("############################################# XXX"),o.Rm.info("### Layout ### XXX"),o.Rm.info("############################################# XXX"),(0,s.Zp)(t),o.Rm.info("Graph after layout:",JSON.stringify(f(t)));let y=0,{subGraphTitleTotalMargin:X}=(0,a.O)(g);return await Promise.all(I(t).map(async function(e){let n=t.node(e);if(o.Rm.info("Position XBX => "+e+": ("+n.x,","+n.y,") width: ",n.width," height: ",n.height),n?.clusterNode)n.y+=X,o.Rm.info("A tainted cluster node XBX1",e,n.id,n.width,n.height,n.x,n.y,t.parent(e)),p.get(n.id).node=n,(0,i.U_)(n);else if(t.children(e).length>0){o.Rm.info("A pure cluster node XBX1",e,n.id,n.x,n.y,n.width,n.height,t.parent(e)),n.height+=X,t.node(n.parentId);let r=n?.padding/2||0,a=n?.labelBBox?.height||0;o.Rm.debug("OffsetY",a-r||0,"labelHeight",a,"halfPadding",r),await (0,i.U)(u,n),p.get(n.id).node=n}else{let e=t.node(n.parentId);n.y+=X/2,o.Rm.info("A regular node XBX1 - using the padding",n.id,"parent",n.parentId,n.width,n.height,n.x,n.y,"offsetY",n.offsetY,"parent",e,e?.offsetY,n),(0,i.U_)(n)}})),t.edges().forEach(function(e){let i=t.edge(e);o.Rm.info("Edge "+e.v+" -> "+e.w+": "+JSON.stringify(i),i),i.points.forEach(e=>e.y+=X/2);let a=t.node(e.v);var s=t.node(e.w);let l=(0,r.Jo)(m,i,p,n,a,s,d);(0,r.T_)(i,l)}),t.nodes().forEach(function(e){let n=t.node(e);o.Rm.info(e,n.type,n.diff),n.isGroup&&(y=n.diff)}),o.Rm.warn("Returning from recursive render XAX",h,y),{elem:h,diff:y}},"recursiveRender"),A=(0,o.K2)(async(e,t)=>{let n=new h.T({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=t.select("g");(0,r.g0)(a,e.markers,e.type,e.diagramId),(0,i.gh)(),(0,r.IU)(),(0,i.IU)(),w(),e.nodes.forEach(e=>{n.setNode(e.id,{...e}),e.parentId&&n.setParent(e.id,e.parentId)}),o.Rm.debug("Edges:",e.edges),e.edges.forEach(e=>{if(e.start===e.end){let t=e.start,r=t+"---"+t+"---1",i=t+"---"+t+"---2",a=n.node(t);n.setNode(r,{domId:r,id:r,parentId:a.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(r,a.parentId),n.setNode(i,{domId:i,id:i,parentId:a.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(i,a.parentId);let d=structuredClone(e),o=structuredClone(e),s=structuredClone(e);d.label="",d.arrowTypeEnd="none",d.id=t+"-cyclic-special-1",o.arrowTypeStart="none",o.arrowTypeEnd="none",o.id=t+"-cyclic-special-mid",s.label="",a.isGroup&&(d.fromCluster=t,s.toCluster=t),s.id=t+"-cyclic-special-2",s.arrowTypeStart="none",n.setEdge(t,r,d,t+"-cyclic-special-0"),n.setEdge(r,i,o,t+"-cyclic-special-1"),n.setEdge(i,t,s,t+"-cyc<lic-special-2")}else n.setEdge(e.start,e.end,{...e},e.id)}),o.Rm.warn("Graph at first:",JSON.stringify(f(n))),C(n),o.Rm.warn("Graph after XAX:",JSON.stringify(f(n)));let s=(0,d.D7)();await D(a,n,e.type,e.diagramId,void 0,s)},"render")},27427:(e,t,n)=>{n.d(t,{A:()=>i});var r=n(96380);let i=function(e){return(0,r.A)(e,4)}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[991],{40991:(t,e,i)=>{i.d(e,{diagram:()=>I});var a=i(90428),n=i(32165),s=i(63595),r=function(){var t=(0,n.K2)(function(t,e,i,a){for(i=i||{},a=t.length;a--;i[t[a]]=e);return i},"o"),e=[1,3],i=[1,4],a=[1,5],s=[1,6],r=[1,7],l=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],o=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[55,56,57],c=[2,36],d=[1,37],u=[1,36],x=[1,38],g=[1,35],f=[1,43],p=[1,41],y=[1,14],m=[1,23],T=[1,18],_=[1,19],q=[1,20],A=[1,21],b=[1,22],k=[1,24],S=[1,25],F=[1,26],P=[1,27],C=[1,28],v=[1,29],L=[1,32],I=[1,33],E=[1,34],D=[1,39],z=[1,40],K=[1,42],U=[1,44],w=[1,62],N=[1,61],R=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],B=[1,65],$=[1,66],W=[1,67],O=[1,68],Q=[1,69],X=[1,70],M=[1,71],Y=[1,72],H=[1,73],j=[1,74],G=[1,75],Z=[1,76],V=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],tt=[1,91],te=[1,92],ti=[1,99],ta=[1,93],tn=[1,96],ts=[1,94],tr=[1,95],tl=[1,97],to=[1,98],th=[1,102],tc=[10,55,56,57],td=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],tu={trace:(0,n.K2)(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,n.K2)(function(t,e,i,a,n,s,r){var l=s.length-1;switch(n){case 23:case 68:this.$=s[l];break;case 24:case 69:this.$=s[l-1]+""+s[l];break;case 26:this.$=s[l-1]+s[l];break;case 27:this.$=[s[l].trim()];break;case 28:s[l-2].push(s[l].trim()),this.$=s[l-2];break;case 29:this.$=s[l-4],a.addClass(s[l-2],s[l]);break;case 37:this.$=[];break;case 42:this.$=s[l].trim(),a.setDiagramTitle(this.$);break;case 43:this.$=s[l].trim(),a.setAccTitle(this.$);break;case 44:case 45:this.$=s[l].trim(),a.setAccDescription(this.$);break;case 46:a.addSection(s[l].substr(8)),this.$=s[l].substr(8);break;case 47:a.addPoint(s[l-3],"",s[l-1],s[l],[]);break;case 48:a.addPoint(s[l-4],s[l-3],s[l-1],s[l],[]);break;case 49:a.addPoint(s[l-4],"",s[l-2],s[l-1],s[l]);break;case 50:a.addPoint(s[l-5],s[l-4],s[l-2],s[l-1],s[l]);break;case 51:a.setXAxisLeftText(s[l-2]),a.setXAxisRightText(s[l]);break;case 52:s[l-1].text+=" ⟶ ",a.setXAxisLeftText(s[l-1]);break;case 53:a.setXAxisLeftText(s[l]);break;case 54:a.setYAxisBottomText(s[l-2]),a.setYAxisTopText(s[l]);break;case 55:s[l-1].text+=" ⟶ ",a.setYAxisBottomText(s[l-1]);break;case 56:a.setYAxisBottomText(s[l]);break;case 57:a.setQuadrant1Text(s[l]);break;case 58:a.setQuadrant2Text(s[l]);break;case 59:a.setQuadrant3Text(s[l]);break;case 60:a.setQuadrant4Text(s[l]);break;case 64:case 66:this.$={text:s[l],type:"text"};break;case 65:this.$={text:s[l-1].text+""+s[l],type:s[l-1].type};break;case 67:this.$={text:s[l],type:"markdown"}}},"anonymous"),table:[{18:e,26:1,27:2,28:i,55:a,56:s,57:r},{1:[3]},{18:e,26:8,27:2,28:i,55:a,56:s,57:r},{18:e,26:9,27:2,28:i,55:a,56:s,57:r},t(l,[2,33],{29:10}),t(o,[2,61]),t(o,[2,62]),t(o,[2,63]),{1:[2,30]},{1:[2,31]},t(h,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:u,10:x,12:g,13:f,14:p,18:y,25:m,35:T,37:_,39:q,41:A,42:b,48:k,50:S,51:F,52:P,53:C,54:v,60:L,61:I,63:E,64:D,65:z,66:K,67:U}),t(l,[2,34]),{27:45,55:a,56:s,57:r},t(h,[2,37]),t(h,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:u,10:x,12:g,13:f,14:p,18:y,25:m,35:T,37:_,39:q,41:A,42:b,48:k,50:S,51:F,52:P,53:C,54:v,60:L,61:I,63:E,64:D,65:z,66:K,67:U}),t(h,[2,39]),t(h,[2,40]),t(h,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(h,[2,45]),t(h,[2,46]),{18:[1,50]},{4:d,5:u,10:x,12:g,13:f,14:p,43:51,58:31,60:L,61:I,63:E,64:D,65:z,66:K,67:U},{4:d,5:u,10:x,12:g,13:f,14:p,43:52,58:31,60:L,61:I,63:E,64:D,65:z,66:K,67:U},{4:d,5:u,10:x,12:g,13:f,14:p,43:53,58:31,60:L,61:I,63:E,64:D,65:z,66:K,67:U},{4:d,5:u,10:x,12:g,13:f,14:p,43:54,58:31,60:L,61:I,63:E,64:D,65:z,66:K,67:U},{4:d,5:u,10:x,12:g,13:f,14:p,43:55,58:31,60:L,61:I,63:E,64:D,65:z,66:K,67:U},{4:d,5:u,10:x,12:g,13:f,14:p,43:56,58:31,60:L,61:I,63:E,64:D,65:z,66:K,67:U},{4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,44:[1,57],47:[1,58],58:60,59:59,63:E,64:D,65:z,66:K,67:U},t(R,[2,64]),t(R,[2,66]),t(R,[2,67]),t(R,[2,70]),t(R,[2,71]),t(R,[2,72]),t(R,[2,73]),t(R,[2,74]),t(R,[2,75]),t(R,[2,76]),t(R,[2,77]),t(R,[2,78]),t(R,[2,79]),t(R,[2,80]),t(l,[2,35]),t(h,[2,38]),t(h,[2,42]),t(h,[2,43]),t(h,[2,44]),{3:64,4:B,5:$,6:W,7:O,8:Q,9:X,10:M,11:Y,12:H,13:j,14:G,15:Z,21:63},t(h,[2,53],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,49:[1,77],63:E,64:D,65:z,66:K,67:U}),t(h,[2,56],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,49:[1,78],63:E,64:D,65:z,66:K,67:U}),t(h,[2,57],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:K,67:U}),t(h,[2,58],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:K,67:U}),t(h,[2,59],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:K,67:U}),t(h,[2,60],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:K,67:U}),{45:[1,79]},{44:[1,80]},t(R,[2,65]),t(R,[2,81]),t(R,[2,82]),t(R,[2,83]),{3:82,4:B,5:$,6:W,7:O,8:Q,9:X,10:M,11:Y,12:H,13:j,14:G,15:Z,18:[1,81]},t(V,[2,23]),t(V,[2,1]),t(V,[2,2]),t(V,[2,3]),t(V,[2,4]),t(V,[2,5]),t(V,[2,6]),t(V,[2,7]),t(V,[2,8]),t(V,[2,9]),t(V,[2,10]),t(V,[2,11]),t(V,[2,12]),t(h,[2,52],{58:31,43:83,4:d,5:u,10:x,12:g,13:f,14:p,60:L,61:I,63:E,64:D,65:z,66:K,67:U}),t(h,[2,55],{58:31,43:84,4:d,5:u,10:x,12:g,13:f,14:p,60:L,61:I,63:E,64:D,65:z,66:K,67:U}),{46:[1,85]},{45:[1,86]},{4:J,5:tt,6:te,8:ti,11:ta,13:tn,16:89,17:ts,18:tr,19:tl,20:to,22:88,23:87},t(V,[2,24]),t(h,[2,51],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:K,67:U}),t(h,[2,54],{59:59,58:60,4:d,5:u,8:w,10:x,12:g,13:f,14:p,18:N,63:E,64:D,65:z,66:K,67:U}),t(h,[2,47],{22:88,16:89,23:100,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to}),{46:[1,101]},t(h,[2,29],{10:th}),t(tc,[2,27],{16:103,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to}),t(td,[2,25]),t(td,[2,13]),t(td,[2,14]),t(td,[2,15]),t(td,[2,16]),t(td,[2,17]),t(td,[2,18]),t(td,[2,19]),t(td,[2,20]),t(td,[2,21]),t(td,[2,22]),t(h,[2,49],{10:th}),t(h,[2,48],{22:88,16:89,23:104,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to}),{4:J,5:tt,6:te,8:ti,11:ta,13:tn,16:89,17:ts,18:tr,19:tl,20:to,22:105},t(td,[2,26]),t(h,[2,50],{10:th}),t(tc,[2,28],{16:103,4:J,5:tt,6:te,8:ti,11:ta,13:tn,17:ts,18:tr,19:tl,20:to})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,n.K2)(function(t,e){if(e.recoverable)this.trace(t);else{var i=Error(t);throw i.hash=e,i}},"parseError"),parse:(0,n.K2)(function(t){var e=this,i=[0],a=[],s=[null],r=[],l=this.table,o="",h=0,c=0,d=0,u=r.slice.call(arguments,1),x=Object.create(this.lexer),g={};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(g[f]=this.yy[f]);x.setInput(t,g),g.lexer=x,g.parser=this,void 0===x.yylloc&&(x.yylloc={});var p=x.yylloc;r.push(p);var y=x.options&&x.options.ranges;function m(){var t;return"number"!=typeof(t=a.pop()||x.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof g.parseError?this.parseError=g.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,n.K2)(function(t){i.length=i.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,n.K2)(m,"lex");for(var T,_,q,A,b,k,S,F,P,C={};;){if(q=i[i.length-1],this.defaultActions[q]?A=this.defaultActions[q]:(null==T&&(T=m()),A=l[q]&&l[q][T]),void 0===A||!A.length||!A[0]){var v="";for(k in P=[],l[q])this.terminals_[k]&&k>2&&P.push("'"+this.terminals_[k]+"'");v=x.showPosition?"Parse error on line "+(h+1)+":\n"+x.showPosition()+"\nExpecting "+P.join(", ")+", got '"+(this.terminals_[T]||T)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==T?"end of input":"'"+(this.terminals_[T]||T)+"'"),this.parseError(v,{text:x.match,token:this.terminals_[T]||T,line:x.yylineno,loc:p,expected:P})}if(A[0]instanceof Array&&A.length>1)throw Error("Parse Error: multiple actions possible at state: "+q+", token: "+T);switch(A[0]){case 1:i.push(T),s.push(x.yytext),r.push(x.yylloc),i.push(A[1]),T=null,_?(T=_,_=null):(c=x.yyleng,o=x.yytext,h=x.yylineno,p=x.yylloc,d>0&&d--);break;case 2:if(S=this.productions_[A[1]][1],C.$=s[s.length-S],C._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},y&&(C._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),void 0!==(b=this.performAction.apply(C,[o,c,h,g,A[1],s,r].concat(u))))return b;S&&(i=i.slice(0,-1*S*2),s=s.slice(0,-1*S),r=r.slice(0,-1*S)),i.push(this.productions_[A[1]][0]),s.push(C.$),r.push(C._$),F=l[i[i.length-2]][i[i.length-1]],i.push(F);break;case 3:return!0}}return!0},"parse")};function tx(){this.yy={}}return tu.lexer={EOF:1,parseError:(0,n.K2)(function(t,e){if(this.yy.parser)this.yy.parser.parseError(t,e);else throw Error(t)},"parseError"),setInput:(0,n.K2)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,n.K2)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,n.K2)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,n.K2)(function(){return this._more=!0,this},"more"),reject:(0,n.K2)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,n.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,n.K2)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,n.K2)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,n.K2)(function(){var t=this.pastInput(),e=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,n.K2)(function(t,e){var i,a,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack)for(var s in n)this[s]=n[s];return!1},"test_match"),next:(0,n.K2)(function(){if(this.done)return this.EOF;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var t,e,i,a,n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(!this._backtrack)return!1;e=!1;continue}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,n.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,n.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,n.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,n.K2)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,n.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,n.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,n.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,n.K2)(function(t,e,i,a){switch(i){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}},(0,n.K2)(tx,"Parser"),tx.prototype=tu,tu.Parser=tx,new tx}();r.parser=r;var l=(0,a.P$)(),o=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}static{(0,n.K2)(this,"QuadrantBuilder")}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:a.UI.quadrantChart?.chartWidth||500,chartWidth:a.UI.quadrantChart?.chartHeight||500,titlePadding:a.UI.quadrantChart?.titlePadding||10,titleFontSize:a.UI.quadrantChart?.titleFontSize||20,quadrantPadding:a.UI.quadrantChart?.quadrantPadding||5,xAxisLabelPadding:a.UI.quadrantChart?.xAxisLabelPadding||5,yAxisLabelPadding:a.UI.quadrantChart?.yAxisLabelPadding||5,xAxisLabelFontSize:a.UI.quadrantChart?.xAxisLabelFontSize||16,yAxisLabelFontSize:a.UI.quadrantChart?.yAxisLabelFontSize||16,quadrantLabelFontSize:a.UI.quadrantChart?.quadrantLabelFontSize||16,quadrantTextTopPadding:a.UI.quadrantChart?.quadrantTextTopPadding||5,pointTextPadding:a.UI.quadrantChart?.pointTextPadding||5,pointLabelFontSize:a.UI.quadrantChart?.pointLabelFontSize||12,pointRadius:a.UI.quadrantChart?.pointRadius||5,xAxisPosition:a.UI.quadrantChart?.xAxisPosition||"top",yAxisPosition:a.UI.quadrantChart?.yAxisPosition||"left",quadrantInternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantInternalBorderStrokeWidth||1,quadrantExternalBorderStrokeWidth:a.UI.quadrantChart?.quadrantExternalBorderStrokeWidth||2}}getDefaultThemeConfig(){return{quadrant1Fill:l.quadrant1Fill,quadrant2Fill:l.quadrant2Fill,quadrant3Fill:l.quadrant3Fill,quadrant4Fill:l.quadrant4Fill,quadrant1TextFill:l.quadrant1TextFill,quadrant2TextFill:l.quadrant2TextFill,quadrant3TextFill:l.quadrant3TextFill,quadrant4TextFill:l.quadrant4TextFill,quadrantPointFill:l.quadrantPointFill,quadrantPointTextFill:l.quadrantPointTextFill,quadrantXAxisTextFill:l.quadrantXAxisTextFill,quadrantYAxisTextFill:l.quadrantYAxisTextFill,quadrantTitleFill:l.quadrantTitleFill,quadrantInternalBorderStrokeFill:l.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:l.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,n.Rm.info("clear called")}setData(t){this.data={...this.data,...t}}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){n.Rm.trace("setConfig called with: ",t),this.config={...this.config,...t}}setThemeConfig(t){n.Rm.trace("setThemeConfig called with: ",t),this.themeConfig={...this.themeConfig,...t}}calculateSpace(t,e,i,a){let n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,l={left:"left"===this.config.yAxisPosition&&i?r:0,right:"right"===this.config.yAxisPosition&&i?r:0},o=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?o:0},c=this.config.quadrantPadding+l.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-l.left-l.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:l,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,e,i,a){let{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:l,quadrantLeft:o,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=!!this.data.xAxisRightText,x=!!this.data.yAxisTopText,g=[];return this.data.xAxisLeftText&&e&&g.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&g.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:o+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+l+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&g.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+l-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&g.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+o+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),g}getQuadrants(t){let{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=e,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:i,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s,width:n,height:i,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(let t of r)t.text.x=t.x+t.width/2,0===this.data.points.length?(t.text.y=t.y+t.height/2,t.text.horizontalPos="middle"):(t.text.y=t.y+this.config.quadrantTextTopPadding,t.text.horizontalPos="top");return r}getQuadrantPoints(t){let{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:a,quadrantTop:n,quadrantWidth:r}=e,l=(0,s.m4Y)().domain([0,1]).range([a,r+a]),o=(0,s.m4Y)().domain([0,1]).range([i+n,n]);return this.data.points.map(t=>{let e=this.classes.get(t.className);return e&&(t={...e,...t}),{x:l(t.x),y:o(t.y),fill:t.color??this.themeConfig.quadrantPointFill,radius:t.radius??this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:l(t.x),y:o(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:t.strokeColor??this.themeConfig.quadrantPointFill,strokeWidth:t.strokeWidth??"0px"}})}getBorders(t){let e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:l,quadrantWidth:o}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l,x2:s+o+e,y2:l},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+o,y1:l+e,x2:s+o,y2:l+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:l+n,x2:s+o+e,y2:l+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:l+e,x2:s,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:l+e,x2:s+r,y2:l+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:l+a,x2:s+o-e,y2:l+a}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){let t=this.config.showXAxis&&!!(this.data.xAxisLeftText||this.data.xAxisRightText),e=this.config.showYAxis&&!!(this.data.yAxisTopText||this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}},h=class extends Error{static{(0,n.K2)(this,"InvalidStyleError")}constructor(t,e,i){super(`value for ${t} ${e} is invalid, please use a valid ${i}`),this.name="InvalidStyleError"}};function c(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function d(t){return!/^\d+$/.test(t)}function u(t){return!/^\d+px$/.test(t)}(0,n.K2)(c,"validateHexCode"),(0,n.K2)(d,"validateNumber"),(0,n.K2)(u,"validateSizeInPixels");var x=(0,a.D7)();function g(t){return(0,a.jZ)(t.trim(),x)}(0,n.K2)(g,"textSanitizer");var f=new o;function p(t){f.setData({quadrant1Text:g(t.text)})}function y(t){f.setData({quadrant2Text:g(t.text)})}function m(t){f.setData({quadrant3Text:g(t.text)})}function T(t){f.setData({quadrant4Text:g(t.text)})}function _(t){f.setData({xAxisLeftText:g(t.text)})}function q(t){f.setData({xAxisRightText:g(t.text)})}function A(t){f.setData({yAxisTopText:g(t.text)})}function b(t){f.setData({yAxisBottomText:g(t.text)})}function k(t){let e={};for(let i of t){let[t,a]=i.trim().split(/\s*:\s*/);if("radius"===t){if(d(a))throw new h(t,a,"number");e.radius=parseInt(a)}else if("color"===t){if(c(a))throw new h(t,a,"hex code");e.color=a}else if("stroke-color"===t){if(c(a))throw new h(t,a,"hex code");e.strokeColor=a}else if("stroke-width"===t){if(u(a))throw new h(t,a,"number of pixels (eg. 10px)");e.strokeWidth=a}else throw Error(`style named ${t} is not supported.`)}return e}function S(t,e,i,a,n){let s=k(n);f.addPoints([{x:i,y:a,text:g(t.text),className:e,...s}])}function F(t,e){f.addClass(t,k(e))}function P(t){f.setConfig({chartWidth:t})}function C(t){f.setConfig({chartHeight:t})}function v(){let{themeVariables:t,quadrantChart:e}=(0,a.D7)();return e&&f.setConfig(e),f.setThemeConfig({quadrant1Fill:t.quadrant1Fill,quadrant2Fill:t.quadrant2Fill,quadrant3Fill:t.quadrant3Fill,quadrant4Fill:t.quadrant4Fill,quadrant1TextFill:t.quadrant1TextFill,quadrant2TextFill:t.quadrant2TextFill,quadrant3TextFill:t.quadrant3TextFill,quadrant4TextFill:t.quadrant4TextFill,quadrantPointFill:t.quadrantPointFill,quadrantPointTextFill:t.quadrantPointTextFill,quadrantXAxisTextFill:t.quadrantXAxisTextFill,quadrantYAxisTextFill:t.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:t.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:t.quadrantInternalBorderStrokeFill,quadrantTitleFill:t.quadrantTitleFill}),f.setData({titleText:(0,a.ab)()}),f.build()}(0,n.K2)(p,"setQuadrant1Text"),(0,n.K2)(y,"setQuadrant2Text"),(0,n.K2)(m,"setQuadrant3Text"),(0,n.K2)(T,"setQuadrant4Text"),(0,n.K2)(_,"setXAxisLeftText"),(0,n.K2)(q,"setXAxisRightText"),(0,n.K2)(A,"setYAxisTopText"),(0,n.K2)(b,"setYAxisBottomText"),(0,n.K2)(k,"parseStyles"),(0,n.K2)(S,"addPoint"),(0,n.K2)(F,"addClass"),(0,n.K2)(P,"setWidth"),(0,n.K2)(C,"setHeight"),(0,n.K2)(v,"getQuadrantData");var L={setWidth:P,setHeight:C,setQuadrant1Text:p,setQuadrant2Text:y,setQuadrant3Text:m,setQuadrant4Text:T,setXAxisLeftText:_,setXAxisRightText:q,setYAxisTopText:A,setYAxisBottomText:b,parseStyles:k,addPoint:S,addClass:F,getQuadrantData:v,clear:(0,n.K2)(function(){f.clear(),(0,a.IU)()},"clear"),setAccTitle:a.SV,getAccTitle:a.iN,setDiagramTitle:a.ke,getDiagramTitle:a.ab,getAccDescription:a.m7,setAccDescription:a.EI},I={parser:r,db:L,renderer:{draw:(0,n.K2)((t,e,i,r)=>{let l;function o(t){return"top"===t?"hanging":"middle"}function h(t){return"left"===t?"start":"middle"}function c(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,n.K2)(o,"getDominantBaseLine"),(0,n.K2)(h,"getTextAnchor"),(0,n.K2)(c,"getTransformation");let d=(0,a.D7)();n.Rm.debug("Rendering quadrant chart\n"+t);let u=d.securityLevel;"sandbox"===u&&(l=(0,s.Ltv)("#i"+e));let x=("sandbox"===u?(0,s.Ltv)(l.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select(`[id="${e}"]`),g=x.append("g").attr("class","main"),f=d.quadrantChart?.chartWidth??500,p=d.quadrantChart?.chartHeight??500;(0,a.a$)(x,p,f,d.quadrantChart?.useMaxWidth??!0),x.attr("viewBox","0 0 "+f+" "+p),r.db.setHeight(p),r.db.setWidth(f);let y=r.db.getQuadrantData(),m=g.append("g").attr("class","quadrants"),T=g.append("g").attr("class","border"),_=g.append("g").attr("class","data-points"),q=g.append("g").attr("class","labels"),A=g.append("g").attr("class","title");y.title&&A.append("text").attr("x",0).attr("y",0).attr("fill",y.title.fill).attr("font-size",y.title.fontSize).attr("dominant-baseline",o(y.title.horizontalPos)).attr("text-anchor",h(y.title.verticalPos)).attr("transform",c(y.title)).text(y.title.text),y.borderLines&&T.selectAll("line").data(y.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);let b=m.selectAll("g.quadrant").data(y.quadrants).enter().append("g").attr("class","quadrant");b.append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill),b.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>o(t.text.horizontalPos)).attr("text-anchor",t=>h(t.text.verticalPos)).attr("transform",t=>c(t.text)).text(t=>t.text.text),q.selectAll("g.label").data(y.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>o(t.horizontalPos)).attr("text-anchor",t=>h(t.verticalPos)).attr("transform",t=>c(t));let k=_.selectAll("g.data-point").data(y.points).enter().append("g").attr("class","data-point");k.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeColor).attr("stroke-width",t=>t.strokeWidth),k.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>o(t.text.horizontalPos)).attr("text-anchor",t=>h(t.text.verticalPos)).attr("transform",t=>c(t.text))},"draw")},styles:(0,n.K2)(()=>"","styles")}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4896,6819,6988,7851,8167,8885],{84441:()=>{}},_=>{_.O(0,[8441,3794,7358],()=>_(_.s=84441)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9492],{9541:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=l(95155),n=l(35949),o=function(){return(0,r.jsx)("html",{children:(0,r.jsx)("body",{children:(0,r.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})})})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},35949:(e,t,l)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}});let r=l(95155),n=l(37356);function o({status:e,message:t}){return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("title",{children:`${e}: ${t}`}),(0,r.jsx)("div",{style:n.styles.error,children:(0,r.jsxs)("div",{children:[(0,r.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,r.jsx)("h1",{className:"next-error-h1",style:n.styles.h1,children:e}),(0,r.jsx)("div",{style:n.styles.desc,children:(0,r.jsx)("h2",{style:n.styles.h2,children:t})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},37356:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"styles",{enumerable:!0,get:function(){return l}});let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},87202:(e,t,l)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return l(9541)}])}},e=>{e.O(0,[8441,3794,7358],()=>e(e.s=87202)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{51743:()=>{},69967:(e,t,n)=>{Promise.resolve().then(n.t.bind(n,98500,23)),Promise.resolve().then(n.t.bind(n,51743,23)),Promise.resolve().then(n.bind(n,81864))},73321:(e,t,n)=>{"use strict";var r=n(74645);n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useRouter")&&n.d(t,{useRouter:function(){return r.useRouter}})},81864:(e,t,n)=>{"use strict";n.d(t,{NavSection:()=>o});var r=n(95155),s=n(12115),a=n(98500),l=n.n(a),i=n(73321);function o({label:e,icon:t,storageKey:n,items:a}){let o=(0,i.usePathname)(),[c,h]=(0,s.useState)(!0);(0,s.useEffect)(()=>{let e=localStorage.getItem(`nav-${n}`);null!==e&&h("true"===e)},[n]);let u=a.some(e=>o.startsWith(e.href));return(0,r.jsxs)("li",{children:[(0,r.jsxs)("button",{onClick:()=>{let e=!c;h(e),localStorage.setItem(`nav-${n}`,String(e))},className:"nav-link",style:{width:"100%",display:"flex",alignItems:"center",justifyContent:"space-between",background:u?"var(--bg-hover)":"transparent",border:"none",cursor:"pointer"},children:[(0,r.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,r.jsx)("span",{children:t}),(0,r.jsx)("span",{children:e})]}),(0,r.jsx)("span",{style:{fontSize:"0.625rem",transition:"transform 0.2s",transform:c?"rotate(180deg)":"rotate(0deg)"},children:"▼"})]}),c&&(0,r.jsx)("ul",{style:{listStyle:"none",padding:0,margin:0},children:a.map(e=>{let t=o===e.href||"/traceability"!==e.href&&o.startsWith(e.href);return(0,r.jsx)("li",{children:(0,r.jsxs)(l(),{href:e.href,className:"nav-link",style:{paddingLeft:"2.5rem",fontSize:"0.875rem",background:t?"var(--bg-hover)":"transparent"},children:[(0,r.jsx)("span",{children:e.icon}),(0,r.jsx)("span",{children:e.label})]})},e.href)})})]})}}},e=>{e.O(0,[3334,8500,8441,3794,7358],()=>e(e.s=69967)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9258],{9928:(e,r,s)=>{Promise.resolve().then(s.bind(s,82716))},82716:(e,r,s)=>{"use strict";s.d(r,{MatrixClient:()=>p});var t=s(95155),a=s(12115),i=s(98500),n=s.n(i);function o(e,r){return r&&e?e.split(RegExp(`(${r})`,"gi")).map((e,s)=>e.toLowerCase()===r.toLowerCase()?(0,t.jsx)("mark",{style:{background:"var(--warning)",color:"black",padding:"0 2px",borderRadius:"2px"},children:e},s):e):e}function l({row:e,search:r,gridTemplate:s}){let[i,l]=(0,a.useState)(!1);return[...new Map(e.fsItems.flatMap(({risks:e})=>e).map(e=>[e.id,e])).values()],(0,t.jsxs)("div",{style:{borderBottom:"1px solid var(--border)"},children:[(0,t.jsxs)("div",{onClick:()=>l(!i),style:{display:"grid",gridTemplateColumns:`24px ${s}`,gap:"0.5rem",padding:"0.6rem 1rem",cursor:"pointer",alignItems:"center",background:i?"var(--bg-hover)":"transparent",fontSize:"0.8125rem"},children:[(0,t.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--text-secondary)"},children:i?"▼":"▶"}),(0,t.jsx)(n(),{href:`/specs/${e.urs.id}`,onClick:e=>e.stopPropagation(),style:{textDecoration:"none"},children:(0,t.jsx)("code",{style:{fontWeight:600,color:"var(--success)"},children:o(e.urs.id,r)})}),(0,t.jsx)("span",{style:{color:"var(--text-primary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:o(e.urs.title,r)}),(0,t.jsx)("span",{className:`badge ${"approved"===e.urs.status?"badge-success":"badge-warning"}`,style:{fontSize:"0.65rem",padding:"0.15rem 0.4rem"},children:e.urs.status}),(0,t.jsx)("span",{className:"badge",style:{fontSize:"0.65rem",padding:"0.15rem 0.4rem",background:{critical:"#ef4444",high:"#f97316",medium:"#eab308",low:"#22c55e"}[e.urs.priority]||"#6b7280",color:"white"},children:e.urs.priority}),(0,t.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--text-secondary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.urs.category||"-"}),(0,t.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--text-secondary)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.urs.owner?.split(" ")[0]||"-"}),(0,t.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--text-secondary)"},children:e.urs.created_at||"-"}),(0,t.jsx)("span",{className:"badge",style:{fontSize:"0.65rem",padding:"0.15rem 0.4rem",background:"rgba(245, 158, 11, 0.15)",color:"var(--warning)",minWidth:"24px",textAlign:"right",display:"inline-block"},children:e.fsItems.length}),(0,t.jsx)("span",{className:"badge badge-success",style:{fontSize:"0.65rem",padding:"0.15rem 0.4rem",minWidth:"28px",textAlign:"right",display:"inline-block"},children:e.coverage.scenarioCount})]}),i&&(0,t.jsx)("div",{style:{padding:"1rem",paddingLeft:"2.5rem",background:"var(--bg-hover)",borderTop:"1px solid var(--border)"},children:e.fsItems.map(({fs:e,risks:s})=>(0,t.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,t.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem",marginBottom:"0.5rem"},children:[(0,t.jsx)("div",{style:{width:"3px",height:"20px",background:"var(--warning)",borderRadius:"2px"}}),(0,t.jsx)(n(),{href:`/specs/${e.id}`,style:{textDecoration:"none"},children:(0,t.jsx)("code",{style:{fontWeight:600,color:"var(--warning)",fontSize:"0.875rem"},children:e.id})}),(0,t.jsx)("span",{style:{color:"var(--text-secondary)",fontSize:"0.8125rem"},children:e.title}),s.map(e=>(0,t.jsx)(n(),{href:`/specs/${e.id}`,style:{textDecoration:"none"},children:(0,t.jsx)("span",{className:"badge",style:{fontSize:"0.65rem",background:"rgba(249, 115, 22, 0.15)",color:"#f97316"},children:e.id})},e.id))]}),(0,t.jsx)("div",{style:{marginLeft:"0.75rem",display:"grid",gap:"0.25rem"},children:e.scenarios.map((s,a)=>(0,t.jsxs)(n(),{href:`/specs/${e.id}?scenario=${encodeURIComponent(s.name)}`,style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.4rem 0.6rem",borderRadius:"4px",background:"var(--bg-card)",textDecoration:"none",color:"var(--text-primary)",fontSize:"0.8125rem"},children:[(0,t.jsx)("span",{style:{color:"var(--accent)"},children:"\uD83E\uDDEA"}),(0,t.jsx)("span",{children:o(s.name,r)})]},a))})]},e.id))})]})}function d({scenario:e,search:r}){let[s,i]=(0,a.useState)(!1);return(0,t.jsxs)("div",{style:{border:"1px solid var(--border)",borderRadius:"8px",background:"var(--bg-card)",overflow:"hidden"},children:[(0,t.jsxs)("div",{onClick:()=>i(!s),style:{padding:"0.75rem 1rem",cursor:"pointer",display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,t.jsx)("span",{style:{fontSize:"0.75rem"},children:s?"▼":"▶"}),(0,t.jsx)("span",{style:{color:"var(--accent)"},children:"\uD83E\uDDEA"}),(0,t.jsx)("span",{style:{fontWeight:500},children:o(e.name,r)}),(0,t.jsxs)("div",{style:{marginLeft:"auto",display:"flex",gap:"0.5rem"},children:[(0,t.jsx)(n(),{href:`/specs/${e.fsId}`,onClick:e=>e.stopPropagation(),style:{textDecoration:"none"},children:(0,t.jsx)("span",{className:"badge",style:{background:"rgba(245, 158, 11, 0.15)",color:"var(--warning)"},children:e.fsId})}),e.ursIds.map(e=>(0,t.jsx)(n(),{href:`/specs/${e}`,onClick:e=>e.stopPropagation(),style:{textDecoration:"none"},children:(0,t.jsx)("span",{className:"badge badge-success",children:e})},e)),e.riskIds.map(e=>(0,t.jsx)(n(),{href:`/specs/${e}`,onClick:e=>e.stopPropagation(),style:{textDecoration:"none"},children:(0,t.jsx)("span",{className:"badge",style:{background:"rgba(249, 115, 22, 0.15)",color:"#f97316"},children:e})},e))]})]}),s&&(0,t.jsxs)("div",{style:{padding:"0.75rem 1rem",borderTop:"1px solid var(--border)",background:"var(--bg-hover)"},children:[(0,t.jsx)("div",{style:{fontFamily:"monospace",fontSize:"0.8125rem",lineHeight:1.6},children:e.steps.map((e,s)=>(0,t.jsx)("div",{style:{color:e.startsWith("Given")?"#a78bfa":e.startsWith("When")?"#60a5fa":e.startsWith("Then")?"#34d399":"var(--text-secondary)"},children:o(e,r)},s))}),e.tags.length>0&&(0,t.jsxs)("div",{style:{marginTop:"0.75rem",fontSize:"0.75rem",color:"var(--text-secondary)"},children:["Tags: ",e.tags.join(" ")]})]})]})}let c=[{key:"id",label:"URS",width:"90px"},{key:"title",label:"Title",width:"1fr"},{key:"status",label:"Status",width:"80px"},{key:"priority",label:"Priority",width:"80px"},{key:"category",label:"Category",width:"90px"},{key:"owner",label:"Owner",width:"90px"},{key:"created",label:"Created",width:"90px"},{key:"fs",label:"FS",width:"50px"},{key:"tests",label:"Tests",width:"60px"}];function p({matrix:e,scenarios:r}){let[s,i]=(0,a.useState)(""),[n,o]=(0,a.useState)("matrix"),[p,m]=(0,a.useState)("id"),[g,h]=(0,a.useState)("asc"),x=s.toLowerCase(),u=(0,a.useMemo)(()=>e.filter(e=>!!(!s||e.urs.id.toLowerCase().includes(x)||e.urs.title.toLowerCase().includes(x)||e.urs.status?.toLowerCase().includes(x)||e.urs.category?.toLowerCase().includes(x)||e.urs.owner?.toLowerCase().includes(x)||e.fsItems.some(({fs:e})=>e.id.toLowerCase().includes(x)||e.title.toLowerCase().includes(x))||e.fsItems.some(({risks:e})=>e.some(e=>e.id.toLowerCase().includes(x)))||e.fsItems.some(({fs:e})=>e.scenarios.some(e=>e.name.toLowerCase().includes(x))))),[e,s,x]),y=(0,a.useMemo)(()=>{let e=[...u];return e.sort((e,r)=>{let s="",t="";switch(p){case"id":s=e.urs.id,t=r.urs.id;break;case"title":s=e.urs.title,t=r.urs.title;break;case"status":s=e.urs.status||"",t=r.urs.status||"";break;case"priority":let a={critical:0,high:1,medium:2,low:3};s=a[e.urs.priority]??9,t=a[r.urs.priority]??9;break;case"category":s=e.urs.category||"",t=r.urs.category||"";break;case"owner":s=e.urs.owner||"",t=r.urs.owner||"";break;case"created":s=e.urs.created_at||"",t=r.urs.created_at||"";break;case"fs":s=e.fsItems.length,t=r.fsItems.length;break;case"tests":s=e.coverage.scenarioCount,t=r.coverage.scenarioCount}return"number"==typeof s&&"number"==typeof t?"asc"===g?s-t:t-s:"asc"===g?String(s).localeCompare(String(t)):String(t).localeCompare(String(s))}),e},[u,p,g]),b=r.filter(e=>!s||e.name.toLowerCase().includes(x)||e.fsId.toLowerCase().includes(x)||e.ursIds.some(e=>e.toLowerCase().includes(x))||e.steps.some(e=>e.toLowerCase().includes(x))),v=c.map(e=>e.width).join(" ");return(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:"1rem",alignItems:"center"},children:[(0,t.jsx)("input",{type:"text",value:s,onChange:e=>i(e.target.value),placeholder:"\uD83D\uDD0D Search everything: URS, FS, scenarios, risks...",style:{flex:1,padding:"0.75rem 1rem",background:"var(--bg-hover)",border:"1px solid var(--border)",borderRadius:"8px",color:"var(--text-primary)",fontSize:"1rem"}}),s&&(0,t.jsx)("button",{onClick:()=>i(""),className:"btn",style:{background:"var(--bg-hover)"},children:"Clear"})]}),s&&(0,t.jsxs)("div",{style:{marginTop:"0.75rem",fontSize:"0.875rem",color:"var(--text-secondary)"},children:["Found: ",(0,t.jsx)("strong",{children:y.length})," URS, ",(0,t.jsx)("strong",{children:b.length})," scenarios"]})]}),(0,t.jsxs)("div",{style:{display:"flex",gap:"0.5rem",marginBottom:"1rem"},children:[(0,t.jsxs)("button",{onClick:()=>o("matrix"),className:`btn ${"matrix"===n?"btn-primary":""}`,style:"matrix"!==n?{background:"var(--bg-hover)"}:{},children:["\uD83D\uDCCA Traceability (",y.length,")"]}),(0,t.jsxs)("button",{onClick:()=>o("scenarios"),className:`btn ${"scenarios"===n?"btn-primary":""}`,style:"scenarios"!==n?{background:"var(--bg-hover)"}:{},children:["\uD83E\uDDEA Scenarios (",b.length,")"]})]}),"matrix"===n&&(0,t.jsxs)("div",{className:"card",style:{padding:0,overflow:"hidden"},children:[(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:`24px ${v}`,gap:"0.5rem",padding:"0.75rem 1rem",background:"var(--bg-hover)",borderBottom:"1px solid var(--border)",fontSize:"0.75rem",fontWeight:600,color:"var(--text-secondary)"},children:[(0,t.jsx)("span",{}),c.map(e=>(0,t.jsxs)("button",{onClick:()=>{var r;p===(r=e.key)?h(e=>"asc"===e?"desc":"asc"):(m(r),h("asc"))},style:{background:"none",border:"none",color:p===e.key?"var(--accent)":"var(--text-secondary)",cursor:"pointer",textAlign:"left",padding:0,fontWeight:600,fontSize:"0.75rem",display:"flex",alignItems:"center",gap:"0.25rem"},children:[e.label,p===e.key&&(0,t.jsx)("span",{children:"asc"===g?"↑":"↓"})]},e.key))]}),0===y.length?(0,t.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"var(--text-secondary)"},children:"No results"}):(0,t.jsx)("div",{children:y.map(e=>(0,t.jsx)(l,{row:e,search:x,gridTemplate:v},e.urs.id))})]}),"scenarios"===n&&(0,t.jsx)("div",{className:"card",children:0===b.length?(0,t.jsx)("div",{style:{textAlign:"center",padding:"2rem",color:"var(--text-secondary)"},children:"No scenarios"}):(0,t.jsx)("div",{style:{display:"grid",gap:"0.75rem"},children:b.map((e,r)=>(0,t.jsx)(d,{scenario:e,search:x},`${e.fsId}-${r}`))})})]})}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=9928)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409,1252,4505,5200,8974],{42318:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,98500,23))}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=42318)),_N_E=e.O()}]);
|
package/.next/static/chunks/app/releases/[id]/{page-6230a07f6e8c9f23.js → page-123fbaa896b5feb8.js}
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[41],{
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[41],{9339:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={callServer:function(){return a.callServer},createServerReference:function(){return n.createServerReference},findSourceMapURL:function(){return l.findSourceMapURL}};for(var i in s)Object.defineProperty(r,i,{enumerable:!0,get:s[i]});let a=t(77304),l=t(4060),n=t(77197)},64926:(e,r,t)=>{Promise.resolve().then(t.bind(t,83348))},83348:(e,r,t)=>{"use strict";t.d(r,{ReleaseDetailClient:()=>h});var s=t(95155),i=t(12115),a=t(98500),l=t.n(a),n=t(9339);let d=(0,n.createServerReference)("6066fbdd9590694147a61dd2d0610d4a17a743ab71",n.callServer,void 0,n.findSourceMapURL,"updateReleaseAction"),o=(0,n.createServerReference)("601c134e991ba9cc3f4991d149387cd3dbab14be08",n.callServer,void 0,n.findSourceMapURL,"tagFSToReleaseAction"),c=(0,n.createServerReference)("60cc042fd5ebbf890d842c608810ef217e88314812",n.callServer,void 0,n.findSourceMapURL,"untagFSFromReleaseAction"),m=(0,n.createServerReference)("40bab5840684a73e69c20467b67d6a4585adfe42b2",n.callServer,void 0,n.findSourceMapURL,"createDefectAction"),p=(0,n.createServerReference)("40fb944e52eed131b7e20fca4aabd664fd62eaabd4",n.callServer,void 0,n.findSourceMapURL,"loadTestRunAction");function h({release:e,taggedFS:r,availableFS:t,testRuns:a,defects:n}){let[h,g]=(0,i.useState)(!1),[x,u]=(0,i.useState)(!1),[v,y]=(0,i.useState)([]),[f,j]=(0,i.useState)(null),[b,S]=(0,i.useState)({}),[N,C]=(0,i.useState)(null),[k,R]=(0,i.useState)(new Set),[w,B]=(0,i.useState)({isOpen:!1}),[_,L]=(0,i.useState)({title:"",description:"",status:"open"}),[z,D]=(0,i.useState)({titleError:!1,descriptionError:!1}),[W,E]=(0,i.useTransition)(),[F,T]=(0,i.useState)({version:e.version,name:e.name,status:e.status,notes:e.notes||""}),I=(e,r,t)=>{B({isOpen:!0,testResultId:e,fsId:r,scenarioName:t}),L({title:t?`Defect: ${t} failure`:"",description:t?`Failure in ${r} - ${t}.
|
|
2
2
|
|
|
3
3
|
Root Cause:
|
|
4
4
|
|
|
5
|
-
Mitigation:`:"",status:"open"})},A={planning:{bg:"rgba(168, 85, 247, 0.1)",color:"#a855f7"},testing:{bg:"rgba(59, 130, 246, 0.1)",color:"#3b82f6"},released:{bg:"rgba(34, 197, 94, 0.1)",color:"#22c55e"}}[e.status];return(0,s.jsxs)("div",{style:{maxWidth:"1200px",margin:"0 auto",padding:"2rem"},children:[(0,s.jsx)("div",{style:{marginBottom:"1.5rem"},children:(0,s.jsx)(l(),{href:"/releases",style:{color:"var(--text-secondary)",textDecoration:"none"},children:"← Back to Releases"})}),(0,s.jsxs)("header",{style:{marginBottom:"2rem"},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem",marginBottom:"0.5rem"},children:[(0,s.jsxs)("code",{style:{fontSize:"1.5rem",fontWeight:700,color:A.color},children:[" ",e.id," "]}),(0,s.jsxs)("span",{style:{fontSize:"1.25rem",fontWeight:600},children:["v",e.version]}),(0,s.jsx)("span",{className:"badge",style:{background:A.bg,color:A.color,padding:"0.5rem 1rem"},children:e.status}),(0,s.jsx)("button",{onClick:()=>g(!h),className:"btn btn-primary",style:{marginLeft:"auto"},children:h?"Cancel":"✏️ Edit"})]}),(0,s.jsx)("h1",{style:{fontSize:"2rem",fontWeight:700},children:e.name}),(0,s.jsxs)("p",{style:{color:"var(--text-secondary)"},children:["Created ",e.created_at,e.released_at&&` • Released ${e.released_at}`]})]}),h&&(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,s.jsx)("h2",{className:"card-title",children:"Edit Release"}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 2fr 1fr",gap:"1rem",marginBottom:"1rem"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Version"}),(0,s.jsx)("input",{type:"text",value:F.version,onChange:e=>T({...F,version:e.target.value}),className:"input"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Name"}),(0,s.jsx)("input",{type:"text",value:F.name,onChange:e=>T({...F,name:e.target.value}),className:"input"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Status"}),(0,s.jsxs)("select",{value:F.status,onChange:e=>T({...F,status:e.target.value}),className:"input",children:[(0,s.jsx)("option",{value:"planning",children:"Planning"}),(0,s.jsx)("option",{value:"testing",children:"Testing"}),(0,s.jsx)("option",{value:"released",children:"Released"})]})]})]}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Notes"}),(0,s.jsx)("textarea",{value:F.notes,onChange:e=>T({...F,notes:e.target.value}),rows:3,className:"input",style:{resize:"vertical"}})]}),(0,s.jsx)("button",{onClick:()=>{E(async()=>{await d(e.id,F),g(!1)})},className:"btn btn-primary",disabled:W,children:W?"Saving...":"Save Changes"})]}),e.notes&&!h&&(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,s.jsx)("h2",{className:"card-title",children:"\uD83D\uDCDD Notes"}),(0,s.jsx)("p",{style:{color:"var(--text-secondary)",whiteSpace:"pre-wrap"},children:e.notes})]}),(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem",borderLeft:"4px solid var(--error)"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"},children:[(0,s.jsxs)("h2",{className:"card-title",children:["\uD83D\uDEA8 Defects & Deviations (",n.length,")"]}),(0,s.jsx)("button",{className:"btn",onClick:()=>I(),children:"+ Log Defect"})]}),0===n.length?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"No defects logged. Any failed tests must be resolved or logged as a defect."}):(0,s.jsx)("div",{style:{display:"grid",gap:"0.75rem"},children:n.map(e=>(0,s.jsxs)("div",{style:{padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px",borderLeft:"open"===e.status?"3px solid red":"3px solid green"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"0.5rem"},children:[(0,s.jsxs)("div",{style:{fontWeight:600},children:[e.id,": ",e.title]}),(0,s.jsx)("div",{className:"badge",style:{background:"open"===e.status?"rgba(239, 68, 68, 0.1)":"rgba(34, 197, 94, 0.1)",color:"open"===e.status?"var(--error)":"var(--success)"},children:e.status.toUpperCase()})]}),(0,s.jsx)("div",{style:{fontSize:"0.875rem",color:"var(--text-secondary)",whiteSpace:"pre-wrap"},children:e.description}),e.test_result_id&&(0,s.jsxs)("div",{style:{marginTop:"0.5rem",fontSize:"0.75rem",color:"var(--warning)"},children:["Linked to failed test result #",e.test_result_id]})]},e.id))})]}),(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"},children:[(0,s.jsxs)("h2",{className:"card-title",style:{margin:0},children:["⚙️ Features (",r.length,")"]}),(0,s.jsx)("button",{onClick:()=>u(!0),className:"btn",disabled:0===t.length,children:"+ Add Features"})]}),x&&(0,s.jsxs)("div",{style:{marginBottom:"1rem",padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,s.jsx)("div",{style:{marginBottom:"0.5rem",fontWeight:500},children:"Select features to add:"}),(0,s.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"0.5rem",marginBottom:"1rem"},children:t.map(e=>(0,s.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:"0.5rem",cursor:"pointer"},children:[(0,s.jsx)("input",{type:"checkbox",checked:v.includes(e.id),onChange:r=>{r.target.checked?y([...v,e.id]):y(v.filter(r=>r!==e.id))}}),(0,s.jsx)("code",{style:{color:"var(--warning)"},children:e.id}),(0,s.jsx)("span",{children:e.title})]},e.id))}),(0,s.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,s.jsx)("button",{onClick:()=>{u(!1),y([])},className:"btn",children:"Cancel"}),(0,s.jsx)("button",{onClick:()=>{0!==v.length&&E(async()=>{await o(e.id,v),u(!1),y([])})},className:"btn btn-primary",disabled:W||0===v.length,children:W?"Adding...":`Add ${v.length} Feature${1!==v.length?"s":""}`})]})]}),0===r.length?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"No features tagged yet. Add features to track them in this release."}):(0,s.jsx)("div",{style:{display:"grid",gap:"0.5rem"},children:r.map(r=>(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"0.75rem 1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,s.jsxs)(l(),{href:`/specs/${r.id}`,style:{flex:1,textDecoration:"none"},children:[(0,s.jsx)("code",{style:{fontWeight:600,color:"var(--warning)",marginRight:"0.75rem"},children:r.id}),(0,s.jsx)("span",{style:{color:"var(--text-primary)"},children:r.title}),(0,s.jsxs)("span",{style:{marginLeft:"0.75rem",color:"var(--text-secondary)",fontSize:"0.875rem"},children:[r.scenario_count," scenarios"]})]}),(0,s.jsx)("button",{onClick:()=>{var t;return t=r.id,void E(async()=>{await c(e.id,t)})},className:"btn",style:{padding:"0.25rem 0.5rem",fontSize:"0.75rem"},disabled:W,children:"\xd7"})]},r.id))})]}),(0,s.jsxs)("div",{className:"card",children:[(0,s.jsxs)("h2",{className:"card-title",children:["\uD83E\uDDEA Test Runs (",a.length,")"]}),0===a.length?(0,s.jsxs)("p",{style:{color:"var(--text-secondary)"},children:["No test runs yet. Import Cucumber results: ",(0,s.jsxs)("code",{children:["matrix release import-results results.json -r ",e.id]})]}):(0,s.jsx)("div",{style:{display:"grid",gap:"0.75rem"},children:a.map(e=>{let r=e.total>0?e.passed/e.total*100:0,t=f===e.id,i=async()=>{if(t)return void j(null);if(j(e.id),!b[e.id]){C(e.id);let r=await p(e.id);r&&S(t=>({...t,[e.id]:r.results})),C(null)}},a=b[e.id]||[],d=a.reduce((e,r)=>(e[r.fs_id]||(e[r.fs_id]=[]),e[r.fs_id].push(r),e),{});return(0,s.jsxs)("div",{style:{padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"pointer"},onClick:i,children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{fontWeight:600,marginBottom:"0.25rem"},children:[e.failed>0?"❌":"✅"," Run #",e.id," ",t?"\uD83D\uDD3D":"▶"]}),(0,s.jsxs)("div",{style:{fontSize:"0.875rem",color:"var(--text-secondary)"},children:[e.run_date," • ",e.source]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"1rem",textAlign:"center"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontWeight:700,color:"var(--success)"},children:e.passed}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Passed"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontWeight:700,color:"var(--error)"},children:e.failed}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Failed"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{fontWeight:700,color:100===r?"var(--success)":r>=80?"var(--warning)":"var(--error)"},children:[r.toFixed(0),"%"]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Pass Rate"})]})]})]}),t&&(0,s.jsx)("div",{style:{marginTop:"1rem",paddingTop:"1rem",borderTop:"1px solid var(--border)"},children:N===e.id?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"Loading results..."}):0===a.length?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"No individual results recorded for this run."}):(0,s.jsx)("div",{style:{display:"grid",gap:"1rem"},children:Object.entries(d).map(([e,r])=>(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontWeight:600,marginBottom:"0.5rem",color:"var(--warning)"},children:(0,s.jsx)(l(),{href:`/specs/${e}`,style:{color:"inherit",textDecoration:"none"},children:e})}),(0,s.jsx)("div",{style:{display:"grid",gap:"0.25rem",paddingLeft:"1rem"},children:r.map(r=>{let t,i="passed"===r.status?"✅":"failed"===r.status?"❌":"⏭️";"passed"===r.status||r.status;let a=(t=r.id,n.some(e=>e.test_result_id===t)),l=r.error_message&&"failed"===r.status,d=k.has(r.id);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.25rem 0"},children:[(0,s.jsx)("span",{children:i}),(0,s.jsx)("span",{style:{flex:1},children:r.scenario_name}),null!=r.duration_ms&&(0,s.jsxs)("span",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:[r.duration_ms,"ms"]}),"failed"===r.status&&!a&&(0,s.jsx)("button",{className:"btn",style:{padding:"0.25rem 0.5rem",fontSize:"0.75rem"},onClick:t=>{t.stopPropagation(),I(r.id,e,r.scenario_name)},children:"Log Defect"}),"failed"===r.status&&a&&(0,s.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--warning)"},children:"Defect Logged"}),l&&(0,s.jsx)("button",{className:"btn",style:{padding:"0.15rem 0.35rem",fontSize:"0.7rem"},onClick:e=>{var t;e.stopPropagation(),t=r.id,R(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},children:d?"▲ Hide Error":"▼ Show Error"})]}),l&&d&&(0,s.jsx)("div",{style:{marginLeft:"1.5rem",padding:"0.5rem",background:"rgba(239, 68, 68, 0.1)",borderRadius:"4px",fontSize:"0.8rem",fontFamily:"monospace",whiteSpace:"pre-wrap",color:"var(--error)",marginBottom:"0.5rem"},children:r.error_message})]},r.id)})})]},e))})})]},e.id)})})]}),w.isOpen&&(0,s.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:100},children:(0,s.jsxs)("div",{className:"card",style:{width:"500px",maxWidth:"90%"},children:[(0,s.jsx)("h2",{className:"card-title",children:"Log Defect / Deviation"}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"0.5rem"},children:["Title ",(0,s.jsx)("span",{style:{color:"var(--error)"},children:"*"})]}),(0,s.jsx)("input",{className:"input",value:_.title,onChange:e=>{L({..._,title:e.target.value}),e.target.value&&D(e=>({...e,titleError:!1}))},placeholder:"Defect summary",style:z.titleError?{borderColor:"var(--error)",boxShadow:"0 0 0 2px rgba(239, 68, 68, 0.2)"}:{}}),z.titleError&&(0,s.jsx)("div",{style:{color:"var(--error)",fontSize:"0.75rem",marginTop:"0.25rem"},children:"Title is required"})]}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"0.5rem"},children:["Description & Root Cause ",(0,s.jsx)("span",{style:{color:"var(--error)"},children:"*"})]}),(0,s.jsx)("textarea",{className:"input",rows:5,value:_.description,onChange:e=>{L({..._,description:e.target.value}),e.target.value&&D(e=>({...e,descriptionError:!1}))},placeholder:"Describe the failure, root cause, and why it is acceptable (if deviating) or mitigation plan.",style:z.descriptionError?{borderColor:"var(--error)",boxShadow:"0 0 0 2px rgba(239, 68, 68, 0.2)"}:{}}),z.descriptionError&&(0,s.jsx)("div",{style:{color:"var(--error)",fontSize:"0.75rem",marginTop:"0.25rem"},children:"Description is required"})]}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsx)("label",{style:{display:"block",marginBottom:"0.5rem"},children:"Status"}),(0,s.jsxs)("select",{className:"input",value:_.status,onChange:e=>L({..._,status:e.target.value}),children:[(0,s.jsx)("option",{value:"open",children:"Open (Needs Fix)"}),(0,s.jsx)("option",{value:"resolved",children:"Resolved (Fixed)"}),(0,s.jsx)("option",{value:"accepted",children:"Accepted (Permanent Deviation)"})]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"flex-end"},children:[(0,s.jsx)("button",{className:"btn",onClick:()=>{B({isOpen:!1}),D({titleError:!1,descriptionError:!1})},children:"Cancel"}),(0,s.jsx)("button",{className:"btn btn-primary",onClick:()=>{let r=!_.title.trim(),t=!_.description.trim();r||t?D({titleError:r,descriptionError:t}):E(async()=>{try{await m({releaseId:e.id,testResultId:w.testResultId,title:_.title,description:_.description,status:_.status}),B({isOpen:!1}),L({title:"",description:"",status:"open"})}catch(e){console.error("Failed to create defect:",e),alert("Failed to create defect. Check console for details.")}})},disabled:W,children:W?"Logging...":"Log Defect"})]})]})})]})}},9339:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={callServer:function(){return a.callServer},createServerReference:function(){return n.createServerReference},findSourceMapURL:function(){return l.findSourceMapURL}};for(var i in s)Object.defineProperty(r,i,{enumerable:!0,get:s[i]});let a=t(7304),l=t(4060),n=t(7197)}},e=>{e.O(0,[500,441,794,358],()=>e(e.s=4926)),_N_E=e.O()}]);
|
|
5
|
+
Mitigation:`:"",status:"open"})},A={planning:{bg:"rgba(168, 85, 247, 0.1)",color:"#a855f7"},testing:{bg:"rgba(59, 130, 246, 0.1)",color:"#3b82f6"},released:{bg:"rgba(34, 197, 94, 0.1)",color:"#22c55e"}}[e.status];return(0,s.jsxs)("div",{style:{maxWidth:"1200px",margin:"0 auto",padding:"2rem"},children:[(0,s.jsx)("div",{style:{marginBottom:"1.5rem"},children:(0,s.jsx)(l(),{href:"/releases",style:{color:"var(--text-secondary)",textDecoration:"none"},children:"← Back to Releases"})}),(0,s.jsxs)("header",{style:{marginBottom:"2rem"},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem",marginBottom:"0.5rem"},children:[(0,s.jsxs)("code",{style:{fontSize:"1.5rem",fontWeight:700,color:A.color},children:[" ",e.id," "]}),(0,s.jsxs)("span",{style:{fontSize:"1.25rem",fontWeight:600},children:["v",e.version]}),(0,s.jsx)("span",{className:"badge",style:{background:A.bg,color:A.color,padding:"0.5rem 1rem"},children:e.status}),(0,s.jsx)("button",{onClick:()=>g(!h),className:"btn btn-primary",style:{marginLeft:"auto"},children:h?"Cancel":"✏️ Edit"})]}),(0,s.jsx)("h1",{style:{fontSize:"2rem",fontWeight:700},children:e.name}),(0,s.jsxs)("p",{style:{color:"var(--text-secondary)"},children:["Created ",e.created_at,e.released_at&&` • Released ${e.released_at}`]})]}),h&&(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,s.jsx)("h2",{className:"card-title",children:"Edit Release"}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 2fr 1fr",gap:"1rem",marginBottom:"1rem"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Version"}),(0,s.jsx)("input",{type:"text",value:F.version,onChange:e=>T({...F,version:e.target.value}),className:"input"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Name"}),(0,s.jsx)("input",{type:"text",value:F.name,onChange:e=>T({...F,name:e.target.value}),className:"input"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Status"}),(0,s.jsxs)("select",{value:F.status,onChange:e=>T({...F,status:e.target.value}),className:"input",children:[(0,s.jsx)("option",{value:"planning",children:"Planning"}),(0,s.jsx)("option",{value:"testing",children:"Testing"}),(0,s.jsx)("option",{value:"released",children:"Released"})]})]})]}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsx)("label",{style:{display:"block",fontWeight:500,marginBottom:"0.5rem"},children:"Notes"}),(0,s.jsx)("textarea",{value:F.notes,onChange:e=>T({...F,notes:e.target.value}),rows:3,className:"input",style:{resize:"vertical"}})]}),(0,s.jsx)("button",{onClick:()=>{E(async()=>{await d(e.id,F),g(!1)})},className:"btn btn-primary",disabled:W,children:W?"Saving...":"Save Changes"})]}),e.notes&&!h&&(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,s.jsx)("h2",{className:"card-title",children:"\uD83D\uDCDD Notes"}),(0,s.jsx)("p",{style:{color:"var(--text-secondary)",whiteSpace:"pre-wrap"},children:e.notes})]}),(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem",borderLeft:"4px solid var(--error)"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"},children:[(0,s.jsxs)("h2",{className:"card-title",children:["\uD83D\uDEA8 Defects & Deviations (",n.length,")"]}),(0,s.jsx)("button",{className:"btn",onClick:()=>I(),children:"+ Log Defect"})]}),0===n.length?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"No defects logged. Any failed tests must be resolved or logged as a defect."}):(0,s.jsx)("div",{style:{display:"grid",gap:"0.75rem"},children:n.map(e=>(0,s.jsxs)("div",{style:{padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px",borderLeft:"open"===e.status?"3px solid red":"3px solid green"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",marginBottom:"0.5rem"},children:[(0,s.jsxs)("div",{style:{fontWeight:600},children:[e.id,": ",e.title]}),(0,s.jsx)("div",{className:"badge",style:{background:"open"===e.status?"rgba(239, 68, 68, 0.1)":"rgba(34, 197, 94, 0.1)",color:"open"===e.status?"var(--error)":"var(--success)"},children:e.status.toUpperCase()})]}),(0,s.jsx)("div",{style:{fontSize:"0.875rem",color:"var(--text-secondary)",whiteSpace:"pre-wrap"},children:e.description}),e.test_result_id&&(0,s.jsxs)("div",{style:{marginTop:"0.5rem",fontSize:"0.75rem",color:"var(--warning)"},children:["Linked to failed test result #",e.test_result_id]})]},e.id))})]}),(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"},children:[(0,s.jsxs)("h2",{className:"card-title",style:{margin:0},children:["⚙️ Features (",r.length,")"]}),(0,s.jsx)("button",{onClick:()=>u(!0),className:"btn",disabled:0===t.length,children:"+ Add Features"})]}),x&&(0,s.jsxs)("div",{style:{marginBottom:"1rem",padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,s.jsx)("div",{style:{marginBottom:"0.5rem",fontWeight:500},children:"Select features to add:"}),(0,s.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"0.5rem",marginBottom:"1rem"},children:t.map(e=>(0,s.jsxs)("label",{style:{display:"flex",alignItems:"center",gap:"0.5rem",cursor:"pointer"},children:[(0,s.jsx)("input",{type:"checkbox",checked:v.includes(e.id),onChange:r=>{r.target.checked?y([...v,e.id]):y(v.filter(r=>r!==e.id))}}),(0,s.jsx)("code",{style:{color:"var(--warning)"},children:e.id}),(0,s.jsx)("span",{children:e.title})]},e.id))}),(0,s.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,s.jsx)("button",{onClick:()=>{u(!1),y([])},className:"btn",children:"Cancel"}),(0,s.jsx)("button",{onClick:()=>{0!==v.length&&E(async()=>{await o(e.id,v),u(!1),y([])})},className:"btn btn-primary",disabled:W||0===v.length,children:W?"Adding...":`Add ${v.length} Feature${1!==v.length?"s":""}`})]})]}),0===r.length?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"No features tagged yet. Add features to track them in this release."}):(0,s.jsx)("div",{style:{display:"grid",gap:"0.5rem"},children:r.map(r=>(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",padding:"0.75rem 1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,s.jsxs)(l(),{href:`/specs/${r.id}`,style:{flex:1,textDecoration:"none"},children:[(0,s.jsx)("code",{style:{fontWeight:600,color:"var(--warning)",marginRight:"0.75rem"},children:r.id}),(0,s.jsx)("span",{style:{color:"var(--text-primary)"},children:r.title}),(0,s.jsxs)("span",{style:{marginLeft:"0.75rem",color:"var(--text-secondary)",fontSize:"0.875rem"},children:[r.scenario_count," scenarios"]})]}),(0,s.jsx)("button",{onClick:()=>{var t;return t=r.id,void E(async()=>{await c(e.id,t)})},className:"btn",style:{padding:"0.25rem 0.5rem",fontSize:"0.75rem"},disabled:W,children:"\xd7"})]},r.id))})]}),(0,s.jsxs)("div",{className:"card",children:[(0,s.jsxs)("h2",{className:"card-title",children:["\uD83E\uDDEA Test Runs (",a.length,")"]}),0===a.length?(0,s.jsxs)("p",{style:{color:"var(--text-secondary)"},children:["No test runs yet. Import Cucumber results: ",(0,s.jsxs)("code",{children:["matrix release import-results results.json -r ",e.id]})]}):(0,s.jsx)("div",{style:{display:"grid",gap:"0.75rem"},children:a.map(e=>{let r=e.total>0?e.passed/e.total*100:0,t=f===e.id,i=async()=>{if(t)return void j(null);if(j(e.id),!b[e.id]){C(e.id);let r=await p(e.id);r&&S(t=>({...t,[e.id]:r.results})),C(null)}},a=b[e.id]||[],d=a.reduce((e,r)=>(e[r.fs_id]||(e[r.fs_id]=[]),e[r.fs_id].push(r),e),{});return(0,s.jsxs)("div",{style:{padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"pointer"},onClick:i,children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{fontWeight:600,marginBottom:"0.25rem"},children:[e.failed>0?"❌":"✅"," Run #",e.id," ",t?"\uD83D\uDD3D":"▶"]}),(0,s.jsxs)("div",{style:{fontSize:"0.875rem",color:"var(--text-secondary)"},children:[e.run_date," • ",e.source]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"1rem",textAlign:"center"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontWeight:700,color:"var(--success)"},children:e.passed}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Passed"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontWeight:700,color:"var(--error)"},children:e.failed}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Failed"})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{fontWeight:700,color:100===r?"var(--success)":r>=80?"var(--warning)":"var(--error)"},children:[r.toFixed(0),"%"]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Pass Rate"})]})]})]}),t&&(0,s.jsx)("div",{style:{marginTop:"1rem",paddingTop:"1rem",borderTop:"1px solid var(--border)"},children:N===e.id?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"Loading results..."}):0===a.length?(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"No individual results recorded for this run."}):(0,s.jsx)("div",{style:{display:"grid",gap:"1rem"},children:Object.entries(d).map(([e,r])=>(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontWeight:600,marginBottom:"0.5rem",color:"var(--warning)"},children:(0,s.jsx)(l(),{href:`/specs/${e}`,style:{color:"inherit",textDecoration:"none"},children:e})}),(0,s.jsx)("div",{style:{display:"grid",gap:"0.25rem",paddingLeft:"1rem"},children:r.map(r=>{let t,i="passed"===r.status?"✅":"failed"===r.status?"❌":"⏭️";"passed"===r.status||r.status;let a=(t=r.id,n.some(e=>e.test_result_id===t)),l=r.error_message&&"failed"===r.status,d=k.has(r.id);return(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.5rem",padding:"0.25rem 0"},children:[(0,s.jsx)("span",{children:i}),(0,s.jsx)("span",{style:{flex:1},children:r.scenario_name}),null!=r.duration_ms&&(0,s.jsxs)("span",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:[r.duration_ms,"ms"]}),"failed"===r.status&&!a&&(0,s.jsx)("button",{className:"btn",style:{padding:"0.25rem 0.5rem",fontSize:"0.75rem"},onClick:t=>{t.stopPropagation(),I(r.id,e,r.scenario_name)},children:"Log Defect"}),"failed"===r.status&&a&&(0,s.jsx)("span",{style:{fontSize:"0.75rem",color:"var(--warning)"},children:"Defect Logged"}),l&&(0,s.jsx)("button",{className:"btn",style:{padding:"0.15rem 0.35rem",fontSize:"0.7rem"},onClick:e=>{var t;e.stopPropagation(),t=r.id,R(e=>{let r=new Set(e);return r.has(t)?r.delete(t):r.add(t),r})},children:d?"▲ Hide Error":"▼ Show Error"})]}),l&&d&&(0,s.jsx)("div",{style:{marginLeft:"1.5rem",padding:"0.5rem",background:"rgba(239, 68, 68, 0.1)",borderRadius:"4px",fontSize:"0.8rem",fontFamily:"monospace",whiteSpace:"pre-wrap",color:"var(--error)",marginBottom:"0.5rem"},children:r.error_message})]},r.id)})})]},e))})})]},e.id)})})]}),w.isOpen&&(0,s.jsx)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,background:"rgba(0,0,0,0.5)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:100},children:(0,s.jsxs)("div",{className:"card",style:{width:"500px",maxWidth:"90%"},children:[(0,s.jsx)("h2",{className:"card-title",children:"Log Defect / Deviation"}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"0.5rem"},children:["Title ",(0,s.jsx)("span",{style:{color:"var(--error)"},children:"*"})]}),(0,s.jsx)("input",{className:"input",value:_.title,onChange:e=>{L({..._,title:e.target.value}),e.target.value&&D(e=>({...e,titleError:!1}))},placeholder:"Defect summary",style:z.titleError?{borderColor:"var(--error)",boxShadow:"0 0 0 2px rgba(239, 68, 68, 0.2)"}:{}}),z.titleError&&(0,s.jsx)("div",{style:{color:"var(--error)",fontSize:"0.75rem",marginTop:"0.25rem"},children:"Title is required"})]}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsxs)("label",{style:{display:"block",marginBottom:"0.5rem"},children:["Description & Root Cause ",(0,s.jsx)("span",{style:{color:"var(--error)"},children:"*"})]}),(0,s.jsx)("textarea",{className:"input",rows:5,value:_.description,onChange:e=>{L({..._,description:e.target.value}),e.target.value&&D(e=>({...e,descriptionError:!1}))},placeholder:"Describe the failure, root cause, and why it is acceptable (if deviating) or mitigation plan.",style:z.descriptionError?{borderColor:"var(--error)",boxShadow:"0 0 0 2px rgba(239, 68, 68, 0.2)"}:{}}),z.descriptionError&&(0,s.jsx)("div",{style:{color:"var(--error)",fontSize:"0.75rem",marginTop:"0.25rem"},children:"Description is required"})]}),(0,s.jsxs)("div",{style:{marginBottom:"1rem"},children:[(0,s.jsx)("label",{style:{display:"block",marginBottom:"0.5rem"},children:"Status"}),(0,s.jsxs)("select",{className:"input",value:_.status,onChange:e=>L({..._,status:e.target.value}),children:[(0,s.jsx)("option",{value:"open",children:"Open (Needs Fix)"}),(0,s.jsx)("option",{value:"resolved",children:"Resolved (Fixed)"}),(0,s.jsx)("option",{value:"accepted",children:"Accepted (Permanent Deviation)"})]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"0.5rem",justifyContent:"flex-end"},children:[(0,s.jsx)("button",{className:"btn",onClick:()=>{B({isOpen:!1}),D({titleError:!1,descriptionError:!1})},children:"Cancel"}),(0,s.jsx)("button",{className:"btn btn-primary",onClick:()=>{let r=!_.title.trim(),t=!_.description.trim();r||t?D({titleError:r,descriptionError:t}):E(async()=>{try{await m({releaseId:e.id,testResultId:w.testResultId,title:_.title,description:_.description,status:_.status}),B({isOpen:!1}),L({title:"",description:"",status:"open"})}catch(e){console.error("Failed to create defect:",e),alert("Failed to create defect. Check console for details.")}})},disabled:W,children:W?"Logging...":"Log Defect"})]})]})})]})}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=64926)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4549],{9339:(e,r,t)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var s={callServer:function(){return n.callServer},createServerReference:function(){return o.createServerReference},findSourceMapURL:function(){return i.findSourceMapURL}};for(var a in s)Object.defineProperty(r,a,{enumerable:!0,get:s[a]});let n=t(77304),i=t(4060),o=t(77197)},35985:(e,r,t)=>{"use strict";t.d(r,{ReleasesClient:()=>d});var s=t(95155),a=t(12115),n=t(98500),i=t.n(n),o=t(9339);let l=(0,o.createServerReference)("40b934f198e792b1ad986e36da3a74debe1848780a",o.callServer,void 0,o.findSourceMapURL,"createReleaseAction");function d({releases:e}){let[r,t]=(0,a.useState)(!1),[n,i]=(0,a.useState)(""),[o,d]=(0,a.useState)(""),[m,x]=(0,a.useState)(""),[g,h]=(0,a.useTransition)();return(0,s.jsxs)("div",{style:{maxWidth:"1200px",margin:"0 auto",padding:"2rem"},children:[(0,s.jsx)("header",{style:{marginBottom:"2rem"},children:(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h1",{style:{fontSize:"2rem",fontWeight:700,marginBottom:"0.5rem"},children:"\uD83D\uDCE6 Releases"}),(0,s.jsx)("p",{style:{color:"var(--text-secondary)"},children:"Manage releases, track test execution, and compare changes"})]}),(0,s.jsx)("button",{onClick:()=>t(!0),className:"btn btn-primary",children:"+ New Release"})]})}),r&&(0,s.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1.5rem",paddingBottom:"1rem",borderBottom:"1px solid var(--border)"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("h2",{style:{margin:0,fontSize:"1.25rem",fontWeight:600},children:"\uD83D\uDCE6 New Release"}),(0,s.jsx)("p",{style:{margin:"0.25rem 0 0",color:"var(--text-secondary)",fontSize:"0.875rem"},children:"Create a new release to track features and test results"})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"0.75rem"},children:[(0,s.jsx)("button",{onClick:()=>t(!1),disabled:g,style:{padding:"0.75rem 1.5rem",background:"transparent",border:"1px solid var(--border)",borderRadius:"10px",color:"var(--text-secondary)",cursor:"pointer",fontWeight:600},children:"Cancel"}),(0,s.jsx)("button",{onClick:()=>{h(async()=>{await l({version:n,name:o,notes:m||void 0}),t(!1),i(""),d(""),x("")})},disabled:g||!n||!o,style:{padding:"0.75rem 1.5rem",fontSize:"0.9375rem",fontWeight:600,borderRadius:"10px",border:"none",cursor:!g&&n&&o?"pointer":"not-allowed",background:!g&&n&&o?"linear-gradient(135deg, var(--gradient-start), var(--gradient-end))":"var(--bg-hover)",color:!g&&n&&o?"white":"var(--text-secondary)",boxShadow:!g&&n&&o?"0 4px 12px rgba(99, 102, 241, 0.25)":"none"},children:g?"\uD83D\uDCBE Creating...":"\uD83D\uDCBE Create Release"})]})]}),(0,s.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"200px 1fr",gap:"1.5rem",marginBottom:"1.5rem"},children:[(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{style:{display:"block",fontWeight:500,fontSize:"0.875rem",marginBottom:"0.5rem",color:"var(--text-primary)"},children:["Version ",(0,s.jsx)("span",{style:{color:"var(--accent)",fontSize:"0.75rem"},children:"Required"})]}),(0,s.jsx)("input",{type:"text",value:n,onChange:e=>i(e.target.value),placeholder:"e.g., 1.0.0",style:{width:"100%",padding:"0.875rem 1rem",fontSize:"0.9375rem",background:"var(--bg-secondary)",border:"1px solid var(--border)",borderRadius:"10px",color:"var(--text-primary)",outline:"none"}})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{style:{display:"block",fontWeight:500,fontSize:"0.875rem",marginBottom:"0.5rem",color:"var(--text-primary)"},children:["Name ",(0,s.jsx)("span",{style:{color:"var(--accent)",fontSize:"0.75rem"},children:"Required"})]}),(0,s.jsx)("input",{type:"text",value:o,onChange:e=>d(e.target.value),placeholder:"e.g., Initial Release, MVP, Feature Update",style:{width:"100%",padding:"0.875rem 1rem",fontSize:"0.9375rem",background:"var(--bg-secondary)",border:"1px solid var(--border)",borderRadius:"10px",color:"var(--text-primary)",outline:"none"}})]})]}),(0,s.jsxs)("div",{children:[(0,s.jsxs)("label",{style:{display:"block",fontWeight:500,fontSize:"0.875rem",marginBottom:"0.5rem",color:"var(--text-primary)"},children:["Release Notes ",(0,s.jsx)("span",{style:{color:"var(--text-secondary)",fontSize:"0.8125rem",fontWeight:400},children:"— optional"})]}),(0,s.jsx)("textarea",{value:m,onChange:e=>x(e.target.value),placeholder:"What's changing in this release...",rows:4,style:{width:"100%",padding:"0.875rem 1rem",fontSize:"0.9375rem",background:"var(--bg-secondary)",border:"1px solid var(--border)",borderRadius:"10px",color:"var(--text-primary)",outline:"none",resize:"vertical",fontFamily:"inherit"}})]})]}),0===e.length?(0,s.jsxs)("div",{className:"card",style:{textAlign:"center",padding:"3rem"},children:[(0,s.jsx)("p",{style:{fontSize:"3rem",marginBottom:"1rem"},children:"\uD83D\uDCE6"}),(0,s.jsx)("h2",{style:{marginBottom:"0.5rem"},children:"No Releases Yet"}),(0,s.jsx)("p",{style:{color:"var(--text-secondary)",marginBottom:"1rem"},children:"Create your first release to start tracking features and test results."}),(0,s.jsx)("button",{onClick:()=>t(!0),className:"btn btn-primary",children:"Create First Release"})]}):(0,s.jsx)("div",{style:{display:"grid",gap:"1rem"},children:e.map(e=>(0,s.jsx)(c,{release:e},e.id))})]})}function c({release:e}){let r={planning:{bg:"rgba(168, 85, 247, 0.1)",color:"#a855f7"},testing:{bg:"rgba(59, 130, 246, 0.1)",color:"#3b82f6"},released:{bg:"rgba(34, 197, 94, 0.1)",color:"#22c55e"}}[e.status];return(0,s.jsx)(i(),{href:`/releases/${e.id}`,style:{textDecoration:"none"},children:(0,s.jsx)("div",{className:"card",style:{borderLeft:`4px solid ${r.color}`,transition:"transform 0.15s, box-shadow 0.15s",cursor:"pointer"},children:(0,s.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"flex-start"},children:[(0,s.jsxs)("div",{style:{flex:1},children:[(0,s.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem",marginBottom:"0.5rem"},children:[(0,s.jsx)("code",{style:{fontSize:"1.25rem",fontWeight:700,color:r.color},children:e.id}),(0,s.jsxs)("span",{style:{fontSize:"1rem",fontWeight:600,color:"var(--text-primary)"},children:["v",e.version]}),(0,s.jsx)("span",{className:"badge",style:{background:r.bg,color:r.color},children:e.status})]}),(0,s.jsx)("h3",{style:{fontSize:"1.125rem",fontWeight:600,marginBottom:"0.5rem",color:"var(--text-primary)"},children:e.name}),(0,s.jsxs)("p",{style:{fontSize:"0.875rem",color:"var(--text-secondary)"},children:["Created ",e.created_at,e.released_at&&` • Released ${e.released_at}`]})]}),(0,s.jsxs)("div",{style:{display:"flex",gap:"1.5rem",textAlign:"center"},children:[(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontSize:"1.5rem",fontWeight:700,color:"var(--warning)"},children:e.fs_count}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Features"})]}),(0,s.jsxs)("div",{children:[(0,s.jsx)("div",{style:{fontSize:"1.5rem",fontWeight:700,color:"var(--accent)"},children:e.test_runs}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Test Runs"})]}),null!==e.latest_pass_rate&&(0,s.jsxs)("div",{children:[(0,s.jsxs)("div",{style:{fontSize:"1.5rem",fontWeight:700,color:100===e.latest_pass_rate?"var(--success)":e.latest_pass_rate>=80?"var(--warning)":"var(--error)"},children:[e.latest_pass_rate.toFixed(0),"%"]}),(0,s.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)"},children:"Pass Rate"})]})]})]})})})}},65411:(e,r,t)=>{Promise.resolve().then(t.bind(t,35985))}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=65411)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5385],{9339:(e,t,a)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={callServer:function(){return s.callServer},createServerReference:function(){return n.createServerReference},findSourceMapURL:function(){return l.findSourceMapURL}};for(var i in r)Object.defineProperty(t,i,{enumerable:!0,get:r[i]});let s=a(77304),l=a(4060),n=a(77197)},60550:(e,t,a)=>{"use strict";a.d(t,{ScenarioList:()=>l});var r=a(95155),i=a(12115);function s({scenario:e,isHighlighted:t}){return(0,r.jsxs)("div",{style:{padding:"1rem",background:t?"rgba(96, 165, 250, 0.1)":"var(--bg-hover)",borderRadius:"8px",border:t?"2px solid var(--accent)":"1px solid var(--border)"},children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem",marginBottom:"0.75rem"},children:[(0,r.jsx)("span",{style:{color:"var(--accent)"},children:"\uD83E\uDDEA"}),(0,r.jsx)("span",{style:{fontWeight:600},children:e.name}),e.tags.length>0&&(0,r.jsx)("span",{style:{marginLeft:"auto",fontSize:"0.75rem",color:"var(--text-secondary)"},children:e.tags.join(" ")})]}),(0,r.jsx)("div",{style:{fontFamily:"monospace",fontSize:"0.8125rem",lineHeight:1.6},children:e.steps.map((e,t)=>{var a;return(0,r.jsx)("div",{style:{color:(a=e).startsWith("Given")?"#a78bfa":a.startsWith("When")?"#60a5fa":a.startsWith("Then")?"#34d399":"var(--text-secondary)"},children:e},t)})})]})}function l({scenarios:e,highlightScenario:t}){let a=(0,i.useRef)(null);return(0,i.useEffect)(()=>{t&&a.current&&setTimeout(()=>{a.current?.scrollIntoView({behavior:"smooth",block:"center"})},100)},[t]),(0,r.jsx)("div",{style:{display:"grid",gap:"0.75rem"},children:e.map((e,i)=>{let l=t===e.name;return(0,r.jsx)("div",{ref:l?a:void 0,children:(0,r.jsx)(s,{scenario:e,isHighlighted:l})},i)})})}a(98500)},76164:(e,t,a)=>{Promise.resolve().then(a.t.bind(a,98500,23)),Promise.resolve().then(a.bind(a,90837)),Promise.resolve().then(a.bind(a,60550)),Promise.resolve().then(a.bind(a,98052))},90837:(e,t,a)=>{"use strict";a.d(t,{RiskDetailClient:()=>d});var r=a(95155),i=a(12115),s=a(98500),l=a.n(s),n=a(9339);let c=(0,n.createServerReference)("608e2757bd2dc4c2dc40752fe777d9b81bdf92935d",n.callServer,void 0,n.findSourceMapURL,"updateRiskAction");function d({risk:e,linkedFS:t}){let[a,s]=(0,i.useState)(!1),[n,d]=(0,i.useTransition)(),[m,h]=(0,i.useState)({title:e.title,status:e.status,category:e.category,impact:e.impact,probability:e.probability,risk_level:e.risk_level,residual_risk:e.residual_risk}),u=e.title.includes("(Undefined)");return(0,r.jsxs)("div",{children:[(0,r.jsxs)("header",{className:"page-header",children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem",marginBottom:"0.5rem",flexWrap:"wrap"},children:[(0,r.jsx)("code",{style:{fontSize:"1.5rem",fontWeight:700,color:"#f97316",background:"rgba(249, 115, 22, 0.1)",padding:"0.5rem 1rem",borderRadius:"8px"},children:e.id}),a?(0,r.jsx)(({value:e,onChange:t,options:i})=>a?(0,r.jsx)("select",{value:e,onChange:e=>t(e.target.value),className:"input",children:i.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))}):(0,r.jsx)("span",{style:{textTransform:"capitalize"},children:e}),{value:m.status,onChange:e=>h({...m,status:e}),options:[{value:"draft",label:"Draft"},{value:"review",label:"Review"},{value:"approved",label:"Approved"}]}):(0,r.jsx)("span",{className:`badge ${"approved"===e.status?"badge-success":"badge-warning"}`,children:m.status}),(0,r.jsx)(p,{level:m.risk_level}),u&&!a&&(0,r.jsx)("span",{className:"badge",style:{background:"rgba(239, 68, 68, 0.2)",color:"var(--error)"},children:"Needs Definition"}),(0,r.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:"0.5rem"},children:a?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{onClick:()=>{h({title:e.title,status:e.status,category:e.category,impact:e.impact,probability:e.probability,risk_level:e.risk_level,residual_risk:e.residual_risk}),s(!1)},className:"btn",disabled:n,children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{d(async()=>{await c(e.id,m),s(!1)})},className:"btn btn-primary",disabled:n,children:n?"Saving...":"\uD83D\uDCBE Save"})]}):(0,r.jsx)("button",{onClick:()=>s(!0),className:"btn btn-primary",children:"✏️ Edit"})})]}),a?(0,r.jsx)("input",{type:"text",value:m.title,onChange:e=>h({...m,title:e.target.value}),className:"input",style:{fontSize:"1.5rem",fontWeight:700,width:"100%",marginBottom:"0.5rem"}}):(0,r.jsx)("h1",{className:"page-title",children:m.title}),(0,r.jsxs)("p",{className:"page-subtitle",children:["Risk Assessment • Category: ",a?(0,r.jsx)("input",{type:"text",value:m.category,onChange:e=>h({...m,category:e.target.value}),className:"input",style:{width:"200px",display:"inline-block"}}):m.category," • GAMP Category ",e.gamp_category]})]}),u&&!a&&(0,r.jsx)("div",{className:"card",style:{marginBottom:"1.5rem",background:"rgba(239, 68, 68, 0.1)",borderLeft:"4px solid var(--error)"},children:(0,r.jsxs)("p",{style:{margin:0,color:"var(--error)"},children:["⚠️ This Risk was auto-created from FS references. Click ",(0,r.jsx)("strong",{children:"Edit"})," to define its details."]})}),(0,r.jsx)("div",{className:"card",style:{marginBottom:"1.5rem"},children:(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"repeat(4, 1fr)",gap:"1rem"},children:[(0,r.jsx)(o,{label:"Impact",value:m.impact,isEditing:a,onChange:e=>h({...m,impact:e}),options:["low","medium","high","critical"]}),(0,r.jsx)(o,{label:"Probability",value:m.probability,isEditing:a,onChange:e=>h({...m,probability:e}),options:["low","medium","high"]}),(0,r.jsx)(o,{label:"Risk Level",value:m.risk_level,isEditing:a,onChange:e=>h({...m,risk_level:e}),options:["low","medium","high","critical"]}),(0,r.jsx)(o,{label:"Residual Risk",value:m.residual_risk,isEditing:a,onChange:e=>h({...m,residual_risk:e}),options:["acceptable","unacceptable","pending"]})]})}),(0,r.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,r.jsx)("h2",{className:"card-title",children:"⚙️ Linked Functional Specifications"}),(0,r.jsx)("div",{style:{display:"flex",gap:"0.5rem",flexWrap:"wrap"},children:t.map(e=>(0,r.jsx)(l(),{href:`/specs/${e.id}`,children:(0,r.jsxs)("span",{className:"badge",style:{background:"rgba(245, 158, 11, 0.15)",color:"var(--warning)",padding:"0.5rem 1rem"},children:[e.id," - ",e.title]})},e.id))})]}),(0,r.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,r.jsx)("h2",{className:"card-title",children:"\uD83D\uDD34 Identified Risks"}),0===e.risks.length?(0,r.jsx)("p",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:"No risks defined yet"}):(0,r.jsx)("div",{style:{display:"grid",gap:"0.5rem"},children:e.risks.map((e,t)=>(0,r.jsxs)("div",{style:{padding:"0.75rem 1rem",background:"var(--bg-hover)",borderRadius:"6px",display:"flex",alignItems:"center",gap:"1rem"},children:[(0,r.jsx)("code",{style:{fontWeight:600,color:"#f97316"},children:e.id}),(0,r.jsx)("span",{style:{flex:1,color:"var(--text-secondary)"},children:e.description}),(0,r.jsx)(p,{level:e.impact,small:!0})]},t))})]}),(0,r.jsxs)("div",{className:"card",children:[(0,r.jsx)("h2",{className:"card-title",children:"\uD83D\uDEE1️ Mitigations"}),0===e.mitigations.length?(0,r.jsx)("p",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:"No mitigations defined yet"}):(0,r.jsxs)("table",{className:"table",children:[(0,r.jsx)("thead",{children:(0,r.jsxs)("tr",{children:[(0,r.jsx)("th",{children:"Risk"}),(0,r.jsx)("th",{children:"Control"}),(0,r.jsx)("th",{children:"Test"})]})}),(0,r.jsx)("tbody",{children:e.mitigations.map((e,t)=>(0,r.jsxs)("tr",{children:[(0,r.jsx)("td",{children:(0,r.jsx)("code",{children:e.risk_id})}),(0,r.jsx)("td",{children:e.control}),(0,r.jsx)("td",{style:{color:"var(--text-secondary)"},children:e.test})]},t))})]})]})]})}function o({label:e,value:t,isEditing:a,onChange:i,options:s}){let l=m(t);return(0,r.jsxs)("div",{style:{textAlign:"center",padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px"},children:[(0,r.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)",marginBottom:"0.25rem"},children:e}),a?(0,r.jsx)("select",{value:t,onChange:e=>i(e.target.value),className:"input",style:{width:"100%",textAlign:"center"},children:s.map(e=>(0,r.jsx)("option",{value:e,style:{textTransform:"capitalize"},children:e},e))}):(0,r.jsx)("div",{style:{fontSize:"1.25rem",fontWeight:700,color:l,textTransform:"capitalize"},children:t})]})}function p({level:e,small:t}){let a=m(e);return(0,r.jsx)("span",{className:"badge",style:{background:`${a}20`,color:a,padding:t?"0.25rem 0.5rem":"0.5rem 1rem",fontSize:t?"0.75rem":"0.875rem",textTransform:"capitalize"},children:e})}function m(e){switch(e){case"critical":case"unacceptable":return"#dc2626";case"high":return"#f97316";case"medium":case"pending":return"#eab308";case"low":case"acceptable":return"#22c55e";default:return"var(--text-secondary)"}}},98052:(e,t,a)=>{"use strict";a.d(t,{URSDetailClient:()=>d});var r=a(95155),i=a(12115),s=a(98500),l=a.n(s),n=a(9339);let c=(0,n.createServerReference)("60a3f2bfed879b985cacbcb17569d272cb7855160d",n.callServer,void 0,n.findSourceMapURL,"updateURSAction");function d({urs:e,linkedFS:t,linkedRisks:a}){let[s,n]=(0,i.useState)(!1),[d,p]=(0,i.useTransition)(),[m,h]=(0,i.useState)({title:e.title,status:e.status,priority:e.priority,owner:e.owner,category:e.category,business_need:e.business_need,intended_use:e.intended_use,acceptance_criteria:e.acceptance_criteria}),u=e.title.includes("(Undefined)"),g=({value:e,onChange:t,multiline:a,placeholder:i})=>s?a?(0,r.jsx)("textarea",{value:e,onChange:e=>t(e.target.value),rows:4,className:"input",style:{width:"100%",resize:"vertical"}}):(0,r.jsx)("input",{type:"text",value:e,onChange:e=>t(e.target.value),className:"input",style:{width:"100%"}}):(0,r.jsx)("span",{style:{whiteSpace:"pre-wrap",color:"var(--text-secondary)",fontStyle:e?"normal":"italic"},children:e||i||"Not defined"}),x=({value:e,onChange:t,options:a})=>s?(0,r.jsx)("select",{value:e,onChange:e=>t(e.target.value),className:"input",children:a.map(e=>(0,r.jsx)("option",{value:e.value,children:e.label},e.value))}):(0,r.jsx)("span",{style:{textTransform:"capitalize"},children:e});return(0,r.jsxs)("div",{children:[(0,r.jsxs)("header",{className:"page-header",children:[(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"1rem",marginBottom:"0.5rem",flexWrap:"wrap"},children:[(0,r.jsx)("code",{style:{fontSize:"1.5rem",fontWeight:700,color:"var(--success)",background:"rgba(16, 185, 129, 0.1)",padding:"0.5rem 1rem",borderRadius:"8px"},children:e.id}),s?(0,r.jsx)(x,{value:m.status,onChange:e=>h({...m,status:e}),options:[{value:"draft",label:"Draft"},{value:"review",label:"Review"},{value:"approved",label:"Approved"}]}):(0,r.jsx)("span",{className:`badge ${"approved"===e.status?"badge-success":"badge-warning"}`,children:m.status}),s?(0,r.jsx)(x,{value:m.priority,onChange:e=>h({...m,priority:e}),options:[{value:"critical",label:"Critical"},{value:"high",label:"High"},{value:"medium",label:"Medium"},{value:"low",label:"Low"}]}):(0,r.jsx)("span",{className:"badge",style:{background:"var(--bg-hover)"},children:m.priority}),u&&!s&&(0,r.jsx)("span",{className:"badge",style:{background:"rgba(239, 68, 68, 0.2)",color:"var(--error)"},children:"Needs Definition"}),(0,r.jsx)("div",{style:{marginLeft:"auto",display:"flex",gap:"0.5rem"},children:s?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("button",{onClick:()=>{h({title:e.title,status:e.status,priority:e.priority,owner:e.owner,category:e.category,business_need:e.business_need,intended_use:e.intended_use,acceptance_criteria:e.acceptance_criteria}),n(!1)},className:"btn",disabled:d,children:"Cancel"}),(0,r.jsx)("button",{onClick:()=>{p(async()=>{await c(e.id,m),n(!1)})},className:"btn btn-primary",disabled:d,children:d?"Saving...":"\uD83D\uDCBE Save"})]}):(0,r.jsx)("button",{onClick:()=>n(!0),className:"btn btn-primary",children:"✏️ Edit"})})]}),s?(0,r.jsx)("input",{type:"text",value:m.title,onChange:e=>h({...m,title:e.target.value}),className:"input",style:{fontSize:"1.5rem",fontWeight:700,width:"100%",marginBottom:"0.5rem"}}):(0,r.jsx)("h1",{className:"page-title",children:m.title}),(0,r.jsxs)("p",{className:"page-subtitle",children:["User Requirement Specification • Owner: ",s?(0,r.jsx)("input",{type:"text",value:m.owner,onChange:e=>h({...m,owner:e.target.value}),className:"input",style:{width:"200px",display:"inline-block"}}):m.owner]})]}),u&&!s&&(0,r.jsx)("div",{className:"card",style:{marginBottom:"1.5rem",background:"rgba(239, 68, 68, 0.1)",borderLeft:"4px solid var(--error)"},children:(0,r.jsxs)("p",{style:{margin:0,color:"var(--error)"},children:["⚠️ This URS was auto-created from FS references. Click ",(0,r.jsx)("strong",{children:"Edit"})," to define its details."]})}),(0,r.jsxs)("div",{className:"card",style:{marginBottom:"1.5rem"},children:[(0,r.jsx)("h2",{className:"card-title",children:"\uD83D\uDD17 Traceability"}),(0,r.jsxs)("div",{style:{display:"flex",gap:"2rem",flexWrap:"wrap"},children:[(0,r.jsx)(o,{label:"Functional Specs",count:t.length,color:"var(--warning)"}),(0,r.jsx)(o,{label:"Test Scenarios",count:t.reduce((e,t)=>e+t.scenarios.length,0),color:"var(--accent)"}),(0,r.jsx)(o,{label:"Risk Assessments",count:a.length,color:"#f97316"})]})]}),(0,r.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"1.5rem"},children:[(0,r.jsxs)("div",{className:"card",children:[(0,r.jsx)("h2",{className:"card-title",children:"\uD83D\uDCCB Business Need"}),(0,r.jsx)("div",{style:{lineHeight:1.7},children:(0,r.jsx)(g,{value:m.business_need,onChange:e=>h({...m,business_need:e}),multiline:!0,placeholder:"Not defined"})})]}),(0,r.jsxs)("div",{className:"card",children:[(0,r.jsx)("h2",{className:"card-title",children:"\uD83C\uDFAF Intended Use"}),(0,r.jsx)("div",{style:{lineHeight:1.7},children:(0,r.jsx)(g,{value:m.intended_use,onChange:e=>h({...m,intended_use:e}),multiline:!0,placeholder:"Not defined"})})]})]}),(0,r.jsxs)("div",{className:"card",style:{marginTop:"1.5rem"},children:[(0,r.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:"1rem"},children:[(0,r.jsx)("h2",{className:"card-title",style:{margin:0},children:"✅ Acceptance Criteria"}),s&&(0,r.jsx)("button",{onClick:()=>h({...m,acceptance_criteria:[...m.acceptance_criteria,""]}),className:"btn",style:{padding:"0.25rem 0.75rem"},children:"+ Add"})]}),0===m.acceptance_criteria.length?(0,r.jsx)("p",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:"No acceptance criteria defined"}):s?(0,r.jsx)("div",{style:{display:"grid",gap:"0.5rem"},children:m.acceptance_criteria.map((e,t)=>(0,r.jsxs)("div",{style:{display:"flex",gap:"0.5rem"},children:[(0,r.jsx)("input",{type:"text",value:e,onChange:e=>{let a=[...m.acceptance_criteria];a[t]=e.target.value,h({...m,acceptance_criteria:a})},className:"input",style:{flex:1},placeholder:`Criterion ${t+1}`}),(0,r.jsx)("button",{onClick:()=>h({...m,acceptance_criteria:m.acceptance_criteria.filter((e,a)=>a!==t)}),className:"btn",style:{padding:"0.5rem"},children:"\xd7"})]},t))}):(0,r.jsx)("ul",{style:{margin:0,paddingLeft:"1.5rem"},children:m.acceptance_criteria.map((e,t)=>(0,r.jsx)("li",{style:{marginBottom:"0.5rem",color:"var(--text-secondary)"},children:e},t))})]}),(0,r.jsxs)("div",{className:"card",style:{marginTop:"1.5rem"},children:[(0,r.jsx)("h2",{className:"card-title",children:"⚙️ Linked Functional Specifications"}),0===t.length?(0,r.jsx)("p",{style:{color:"var(--text-secondary)"},children:"No FS linked yet"}):(0,r.jsx)("div",{style:{display:"grid",gap:"1rem"},children:t.map(e=>(0,r.jsx)(l(),{href:`/specs/${e.id}`,style:{textDecoration:"none"},children:(0,r.jsx)("div",{style:{padding:"1rem",background:"var(--bg-hover)",borderRadius:"8px",borderLeft:"4px solid var(--warning)"},children:(0,r.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"0.75rem"},children:[(0,r.jsx)("code",{style:{fontWeight:600,color:"var(--warning)"},children:e.id}),(0,r.jsx)("span",{style:{color:"var(--text-primary)"},children:e.title}),(0,r.jsxs)("span",{className:"badge badge-success",style:{marginLeft:"auto"},children:[e.scenario_count," tests"]})]})})},e.id))})]})]})}function o({label:e,count:t,color:a}){return(0,r.jsxs)("div",{children:[(0,r.jsx)("div",{style:{fontSize:"0.75rem",color:"var(--text-secondary)",marginBottom:"0.25rem"},children:e}),(0,r.jsx)("div",{style:{fontSize:"1.5rem",fontWeight:700,color:a},children:t})]})}}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=76164)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[551],{33480:(e,t,r)=>{Promise.resolve().then(r.bind(r,84547))},38942:(e,t,r)=>{"use strict";r.d(t,{R:()=>o});var i=r(95155),s=r(39092),n=r.n(s);function a({isOpen:e,onClose:t,children:r,width:s="500px"}){return e?(0,i.jsxs)("div",{style:{position:"fixed",top:0,left:0,right:0,bottom:0,zIndex:1e3,display:"flex",alignItems:"center",justifyContent:"center",backdropFilter:"blur(4px)",background:"rgba(0, 0, 0, 0.5)",animation:"fadeIn 0.2s ease-out"},className:"jsx-5d567d25508aa188",children:[(0,i.jsx)("div",{onClick:e=>e.stopPropagation(),style:{background:"var(--bg-primary)",borderRadius:"12px",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04)",width:s,maxWidth:"90%",maxHeight:"90vh",overflow:"auto",border:"1px solid var(--border)",animation:"slideUp 0.2s ease-out"},className:"jsx-5d567d25508aa188",children:r}),(0,i.jsx)(n(),{id:"5d567d25508aa188",children:"@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideUp{from{opacity:0;transform:scale(.95)translatey(10px)}to{opacity:1;transform:scale(1)translatey(0)}}"})]}):null}function o({isOpen:e,onClose:t,onConfirm:r,title:s,message:n,confirmLabel:o="Confirm",cancelLabel:l="Cancel",isDangerous:d=!1}){return(0,i.jsx)(a,{isOpen:e,onClose:t,width:"400px",children:(0,i.jsxs)("div",{style:{padding:"1.5rem"},children:[(0,i.jsx)("h3",{style:{margin:"0 0 0.5rem 0",fontSize:"1.25rem",fontWeight:600},children:s}),(0,i.jsx)("p",{style:{margin:"0 0 1.5rem 0",color:"var(--text-secondary)",lineHeight:1.5},children:n}),(0,i.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"0.75rem"},children:[(0,i.jsx)("button",{onClick:t,className:"btn",style:{background:"transparent",border:"1px solid var(--border)",color:"var(--text-primary)"},children:l}),(0,i.jsx)("button",{onClick:()=>{r(),t()},className:"btn",style:{background:d?"var(--error)":"var(--accent)",color:"white",border:"none",fontWeight:600},children:o})]})]})})}r(12115)},63300:(e,t,r)=>{"use strict";r.d(t,{I:()=>s});var i=r(9339);let s=(0,i.createServerReference)("4078a4e606822165a15256680bc2edac795d55c9cf",i.callServer,void 0,i.findSourceMapURL,"restoreRiskAction")},63434:(e,t,r)=>{"use strict";r.d(t,{Z:()=>s});var i=r(9339);let s=(0,i.createServerReference)("400ae09657b1491c520c461e4cc528537deaccbee9",i.callServer,void 0,i.findSourceMapURL,"restoreURSAction")},84547:(e,t,r)=>{"use strict";r.d(t,{ArchiveClient:()=>x});var i=r(95155),s=r(12115),n=r(98500),a=r.n(n),o=r(73321),l=r(63434),d=r(93161),c=r(63300),h=r(38942);function x({urs:e,fs:t,risks:r}){let n=(0,o.useRouter)(),[x,p]=(0,s.useState)(null),m=async()=>{x&&("urs"===x.type?await (0,l.Z)(x.id):"fs"===x.type?await (0,d.m)(x.id):"risk"===x.type&&await (0,c.I)(x.id),n.refresh(),p(null))};return(0,i.jsxs)("div",{children:[(0,i.jsxs)("header",{className:"page-header",style:{marginBottom:"2rem",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("h1",{className:"page-title",children:"Archive"}),(0,i.jsx)("p",{className:"page-subtitle",children:"View and restore soft-deleted items"})]}),(0,i.jsx)(a(),{href:"/traceability",className:"btn",children:"Back to Matrix"})]}),(0,i.jsxs)("div",{style:{display:"grid",gap:"2rem"},children:[(0,i.jsxs)("section",{children:[(0,i.jsxs)("h2",{style:{fontSize:"1.25rem",fontWeight:600,marginBottom:"1rem"},children:["User Requirements (",e.length,")"]}),0===e.length?(0,i.jsx)("p",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:"No archived requirements"}):(0,i.jsx)("div",{className:"card",style:{padding:0,overflow:"hidden"},children:e.map(e=>(0,i.jsxs)("div",{style:{padding:"1rem",borderBottom:"1px solid var(--border)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(a(),{href:`/traceability/urs/${e.id}`,style:{textDecoration:"none",color:"inherit"},children:(0,i.jsxs)("div",{style:{fontWeight:600,cursor:"pointer",":hover":{textDecoration:"underline"}},children:[e.id,": ",e.title]})}),(0,i.jsx)("div",{style:{fontSize:"0.875rem",color:"var(--text-secondary)"},children:"Archived"})]}),(0,i.jsx)("button",{onClick:()=>p({id:e.id,type:"urs"}),className:"btn",children:"Restore"})]},e.id))})]}),(0,i.jsxs)("section",{children:[(0,i.jsxs)("h2",{style:{fontSize:"1.25rem",fontWeight:600,marginBottom:"1rem"},children:["Functional Specifications (",t.length,")"]}),0===t.length?(0,i.jsx)("p",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:"No archived specifications"}):(0,i.jsx)("div",{className:"card",style:{padding:0,overflow:"hidden"},children:t.map(e=>(0,i.jsxs)("div",{style:{padding:"1rem",borderBottom:"1px solid var(--border)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(a(),{href:`/traceability/fs/${e.id}`,style:{textDecoration:"none",color:"inherit"},children:(0,i.jsxs)("div",{style:{fontWeight:600,cursor:"pointer"},children:[e.id,": ",e.title]})}),(0,i.jsx)("div",{style:{fontSize:"0.875rem",color:"var(--text-secondary)"},children:e.file_path})]}),(0,i.jsx)("button",{onClick:()=>p({id:e.id,type:"fs"}),className:"btn",children:"Restore"})]},e.id))})]}),(0,i.jsxs)("section",{children:[(0,i.jsxs)("h2",{style:{fontSize:"1.25rem",fontWeight:600,marginBottom:"1rem"},children:["Risk Assessments (",r.length,")"]}),0===r.length?(0,i.jsx)("p",{style:{color:"var(--text-secondary)",fontStyle:"italic"},children:"No archived risks"}):(0,i.jsx)("div",{className:"card",style:{padding:0,overflow:"hidden"},children:r.map(e=>(0,i.jsxs)("div",{style:{padding:"1rem",borderBottom:"1px solid var(--border)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,i.jsxs)("div",{children:[(0,i.jsx)(a(),{href:`/traceability/risk/${e.id}`,style:{textDecoration:"none",color:"inherit"},children:(0,i.jsxs)("div",{style:{fontWeight:600,cursor:"pointer"},children:[e.id,": ",e.title]})}),(0,i.jsxs)("div",{style:{fontSize:"0.875rem",color:"var(--text-secondary)"},children:["Category: ",e.category]})]}),(0,i.jsx)("button",{onClick:()=>p({id:e.id,type:"risk"}),className:"btn",children:"Restore"})]},e.id))})]})]}),(0,i.jsx)(h.R,{isOpen:!!x,onClose:()=>p(null),onConfirm:m,title:"Restore Item",message:`Are you sure you want to restore ${x?.id}? It will appear in the main lists again.`,confirmLabel:"Restore"})]})}},93161:(e,t,r)=>{"use strict";r.d(t,{m:()=>s});var i=r(9339);let s=(0,i.createServerReference)("401b0641d1b14dfb225c9767bb0d3a05e0ffb921d9",i.callServer,void 0,i.findSourceMapURL,"restoreFSAction")}},e=>{e.O(0,[8500,2594,8441,3794,7358],()=>e(e.s=33480)),_N_E=e.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3789],{},_=>{_.O(0,[590,1157,8776,4016,8441,3794,7358],()=>_(_.s=4016)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7328],{},_=>{_.O(0,[590,1157,8776,4016,8441,3794,7358],()=>_(_.s=4016)),_N_E=_.O()}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409,1252,4505,5200,8974],{42318:(e,s,_)=>{Promise.resolve().then(_.t.bind(_,98500,23))}},e=>{e.O(0,[8500,8441,3794,7358],()=>e(e.s=42318)),_N_E=e.O()}]);
|