@ms-cloudpack/overlay 0.19.3 → 0.19.5

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.
@@ -1,2 +1,2 @@
1
- export const __webpack_id__=132;export const __webpack_ids__=[132];export const __webpack_modules__={132:(n,e,t)=>{t.r(e),t.d(e,{StatusDialog:()=>Q,default:()=>K});var r=t(48),a=t(645),o=t(104),s=t.n(o),i=t(15),l=t(606),c=t.n(l),d=t(607),u=t.n(d),A=t(437),p=t.n(A),h=t(750),g=t.n(h),x=t(994),C=t.n(x),b=t(415),m=t.n(b),f=t(181),B={};B.styleTagTransform=m(),B.setAttributes=g(),B.insert=p().bind(null,"head"),B.domAPI=u(),B.insertStyleElement=C(),c()(f.default,B);const v=f.default&&f.default.locals?f.default.locals:void 0;var k=t(91);const E=["ori","rollup","webpack","rspack","esbuild"],w=n=>{const{item:e,inputPath:t,index:a,type:o}=n,{location:i,notes:l=[]}=e,c=E.includes(e.source)?`${e.source} bundler`:`cloudpack ${e.source}`;return(0,r.jsxs)("div",{class:v.root,children:[(0,r.jsx)("div",{class:s()(v.statusBar,"warning"===o&&v.warning)}),(0,r.jsxs)("div",{class:v.content,children:[(0,r.jsxs)("div",{class:v.titleArea,children:[a+1,". ",(0,r.jsx)(y,{loc:i,inputPath:t})," (via: ",c,")"]}),(0,r.jsx)("pre",{class:v.text,children:j(e.text)}),l.length>0&&(0,r.jsxs)("details",{children:[(0,r.jsx)("summary",{children:"Expand for more details"}),(0,r.jsx)("ul",{children:l.map(((n,e)=>(0,r.jsx)("li",{children:n.location&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(y,{loc:n.location,inputPath:t}),(0,r.jsx)("br",{}),(0,r.jsx)("pre",{class:v.text,children:j(n.text)})]})},e)))})]})]})]})};function j(n){return n.replace(/\x1b\[[\d;]+(m|[AKB]\b)/g,"")}const y=n=>{const{loc:e,inputPath:t}=n,a=(0,i.useCloudpack)();if(!e)return"(path unavailable)";const o=[e.file,e.line,e.column].filter((n=>void 0!==n)).join(":");return t?(0,r.jsx)(k.Button,{variant:"link",onClick:()=>{t&&a.openCodeEditor.mutate({rootPath:t,relativePath:e.file,line:e.line,column:e.column})},children:o}):o};var P=t(545);function R(n){return"pending"===n.status?"Running":[`Completed in ${n.durationMilliseconds}ms`,n.errors?.length&&`${n.errors.length} error${n.errors.length>1?"s":""}`,n.warnings?.length&&`${n.warnings.length} warning${n.warnings.length>1?"s":""}`].filter(Boolean).join(", ")}const D=n=>{const{task:e}=n,{name:t,warnings:a=[],errors:o=[],inputPath:s,outputPath:l}=e,c=(0,i.useCloudpack)(),d=n=>{c.openFilePath.mutate({rootPath:n})},u=()=>{s&&c.openCodeEditor.mutate({rootPath:s,relativePath:"package.json"})};return(0,r.jsx)(P.ResultsAccordion,{name:t||"<unknown>",index:n.index,result:o.length?"error":a.length?"warning":"success",headerEndContent:R(e),headerCommands:(0,r.jsx)(k.Button,{variant:"iconOnly",iconName:"refresh",onClick:()=>{s&&c.restartTask.mutate({id:e.id,inputPath:s})},title:"Re-bundle this package","aria-label":"Re-bundle this package"}),getContent:()=>(0,r.jsxs)(r.Fragment,{children:[s?(0,r.jsx)(P.ResultsAccordionContent,{itemName:"Input path",itemValue:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.Button,{variant:"link",onClick:()=>d(s),children:s})," ","(",(0,r.jsx)(k.Button,{variant:"link",onClick:u,children:"package.json"}),")"]})}):"No input path found for bundle task. This is a Cloudpack bug. Please report it.",l&&(0,r.jsx)(P.ResultsAccordionContent,{itemName:"Output path",itemValue:(0,r.jsx)(k.Button,{variant:"link",onClick:()=>d(l),children:l})}),o.length>0&&(0,r.jsx)(P.ResultsAccordionContent,{title:"Errors",children:o.map(((n,e)=>(0,r.jsx)(w,{type:"error",item:n,inputPath:s,index:e},e)))}),a.length>0&&(0,r.jsx)(P.ResultsAccordionContent,{title:"Warnings",children:a.map(((n,e)=>(0,r.jsx)(w,{type:"warning",item:n,inputPath:s,index:e},e)))})]})})};var S=t(279),T=t(920);const _=({searchFilter:n,issuesOnly:e})=>{let t=((()=>{const n=(0,i.useCloudpack)(),[e,t]=(0,a.useState)({tasks:[]});return(0,a.useEffect)((()=>{const e=n?.onDataChanged.subscribe(S.taskListSource,{onData:n=>{t(n)}});return()=>{e.unsubscribe()}}),[n]),e})().tasks||[]).sort(I);return n&&(n=n.toLowerCase(),t=t.filter((({name:e})=>n&&e?.toLowerCase().includes(n)))),e&&(t=t.filter((({errors:n,warnings:e})=>n?.length||e?.length))),(0,r.jsx)("div",{class:T.default.root,children:t.map(((n,e)=>(0,r.jsx)(D,{index:e,task:n},n.name)))})};function I(n,e){const t="pending"===n.status?1:0,r="pending"===e.status?1:0;if(t!==r)return t>r?-1:1;const a=n.errors?.length||0,o=e.errors?.length||0;return a!==o?a>o?-1:1:void 0===n.name&&void 0===e.name?n.id<e.id?-1:1:void 0===n.name?1:void 0===e.name||n.name<e.name?-1:1}var z=t(475),F=t(533),O={};O.styleTagTransform=m(),O.setAttributes=g(),O.insert=p().bind(null,"head"),O.domAPI=u(),O.insertStyleElement=C(),c()(F.default,O);const N=F.default&&F.default.locals?F.default.locals:void 0,X=n=>{const{value:e,onInput:t,style:a}=n;return(0,r.jsx)("input",{type:"text","aria-label":"Search",placeholder:"Search",class:N.searchbox,style:a,onInput:t,value:e})};var M=t(116);const Q=({onClose:n})=>{const e=(0,i.useCloudpack)(),[t,o]=(0,a.useState)(""),[s,l]=(0,a.useState)(!1),c=(0,a.useCallback)((n=>{n.preventDefault(),o(n.target.value)}),[]);return(0,r.jsx)(z.Dialog,{title:"Cloudpack bundle results",id:M.elementIds.statusDialogRoot,draggable:!0,onClose:n,commands:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.Button,{variant:"primary",iconName:"refresh",onClick:()=>{e.restartAllTasks.mutate()},children:"Re-bundle all packages"}),(0,r.jsx)(k.Button,{onClick:()=>{l((n=>!n))},children:s?"Show all packages":"Show packages with issues"}),(0,r.jsx)(X,{value:t,onInput:c,style:{marginLeft:"auto"}})]}),children:(0,r.jsx)(_,{searchFilter:t,issuesOnly:s})})},K=Q},181:(n,e,t)=>{t.d(e,{default:()=>i});var r=t(25),a=t.n(r),o=t(191),s=t.n(o)()(a());s.push([n.id,".Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.RsdQpgzZbI9fI4mSfjJX.EcBSTvORlKqFlDbz3mr9 {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.NUKs26I_j0KAivvaQbz4 {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/TaskResultItem.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,oCAAoC;AACtC;;AAEA,gCAAgC;AAChC;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,+BAA+B;EAC/B,kDAAkD;AACpD;AACA;EACE,iCAAiC;EACjC,oDAAoD;AACtD;;AAEA,kCAAkC;AAClC;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA,+BAA+B;AAC/B;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA,2BAA2B;AAC3B;EACE,qBAAqB;EACrB,qBAAqB;EACrB,+BAA+B;EAC/B,mEAAmE;EACnE,kBAAkB;EAClB,sCAAsC;EACtC,gBAAgB;AAClB",sourcesContent:[".root {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.statusBar {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.statusBar.warning {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.content {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.titleArea {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.text {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n"],sourceRoot:""}]),s.locals={root:"Rl6XMfFcB4M4Sp5RJbh8",statusBar:"RsdQpgzZbI9fI4mSfjJX",warning:"EcBSTvORlKqFlDbz3mr9",content:"oaWQstIJN1TotKTOLcwX",titleArea:"NUKs26I_j0KAivvaQbz4",text:"qXRXiNO7j_FMkOf4b1Hi"};const i=s},533:(n,e,t)=>{t.d(e,{default:()=>i});var r=t(25),a=t.n(r),o=t(191),s=t.n(o)()(a());s.push([n.id,".VVonEYuUEQsjEgbwvMfP {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.VVonEYuUEQsjEgbwvMfP:focus-visible {\n outline: var(--cp-outline);\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/Searchbox.module.css"],names:[],mappings:"AAAA;EACE,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,+BAA+B;EAC/B,uBAAuB;EACvB,kBAAkB;EAClB,gDAAgD;EAChD,kCAAkC;EAClC,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,0BAA0B;AAC5B",sourcesContent:[".searchbox {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.searchbox:focus-visible {\n outline: var(--cp-outline);\n}\n"],sourceRoot:""}]),s.locals={searchbox:"VVonEYuUEQsjEgbwvMfP"};const i=s}};
1
+ export const __webpack_id__=132;export const __webpack_ids__=[132];export const __webpack_modules__={132:(n,e,t)=>{t.r(e),t.d(e,{StatusDialog:()=>Q,default:()=>K});var r=t(48),a=t(645),o=t(104),s=t.n(o),i=t(15),l=t(606),c=t.n(l),d=t(607),u=t.n(d),A=t(437),p=t.n(A),h=t(750),g=t.n(h),x=t(994),C=t.n(x),b=t(415),m=t.n(b),f=t(181),B={};B.styleTagTransform=m(),B.setAttributes=g(),B.insert=p().bind(null,"head"),B.domAPI=u(),B.insertStyleElement=C(),c()(f.default,B);const v=f.default&&f.default.locals?f.default.locals:void 0;var k=t(91);const E=["ori","rollup","webpack","rspack","esbuild"],w=n=>{const{item:e,inputPath:t,index:a,type:o}=n,{location:i,notes:l=[]}=e,c=E.includes(e.source)?`${e.source} bundler`:`cloudpack ${e.source}`;return(0,r.jsxs)("div",{class:v.root,children:[(0,r.jsx)("div",{class:s()(v.statusBar,"warning"===o&&v.warning)}),(0,r.jsxs)("div",{class:v.content,children:[(0,r.jsxs)("div",{class:v.titleArea,children:[a+1,". ",(0,r.jsx)(y,{loc:i,inputPath:t})," (via: ",c,")"]}),(0,r.jsx)("pre",{class:v.text,children:j(e.text)}),l.length>0&&(0,r.jsxs)("details",{children:[(0,r.jsx)("summary",{children:"Expand for more details"}),(0,r.jsx)("ul",{children:l.map(((n,e)=>(0,r.jsxs)("li",{children:[n.location&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(y,{loc:n.location,inputPath:t}),(0,r.jsx)("br",{})]}),n.text&&(0,r.jsx)("pre",{class:v.text,children:j(n.text)})]},e)))})]})]})]})};function j(n){return n.replace(/\x1b\[[\d;]+(m|[AKB]\b)/g,"")}const y=n=>{const{loc:e,inputPath:t}=n,a=(0,i.useCloudpack)();if(!e)return"(path unavailable)";const o=[e.file,e.line,e.column].filter((n=>void 0!==n)).join(":");return!t||/[?!]/.test(o)?o:(0,r.jsx)(k.Button,{variant:"link",onClick:()=>{t&&a.openCodeEditor.mutate({rootPath:t,relativePath:e.file,line:e.line,column:e.column})},children:o})};var P=t(545);function R(n){return"pending"===n.status?"Running":[`Completed in ${n.durationMilliseconds}ms`,n.errors?.length&&`${n.errors.length} error${n.errors.length>1?"s":""}`,n.warnings?.length&&`${n.warnings.length} warning${n.warnings.length>1?"s":""}`].filter(Boolean).join(", ")}const D=n=>{const{task:e}=n,{name:t,warnings:a=[],errors:o=[],inputPath:s,outputPath:l}=e,c=(0,i.useCloudpack)(),d=n=>{c.openFilePath.mutate({rootPath:n})},u=()=>{s&&c.openCodeEditor.mutate({rootPath:s,relativePath:"package.json"})};return(0,r.jsx)(P.ResultsAccordion,{name:t||"<unknown>",index:n.index,result:o.length?"error":a.length?"warning":"success",headerEndContent:R(e),headerCommands:(0,r.jsx)(k.Button,{variant:"iconOnly",iconName:"refresh",onClick:()=>{s&&c.restartTask.mutate({id:e.id,inputPath:s})},title:"Re-bundle this package","aria-label":"Re-bundle this package"}),getContent:()=>(0,r.jsxs)(r.Fragment,{children:[s?(0,r.jsx)(P.ResultsAccordionContent,{itemName:"Input path",itemValue:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.Button,{variant:"link",onClick:()=>d(s),children:s})," ","(",(0,r.jsx)(k.Button,{variant:"link",onClick:u,children:"package.json"}),")"]})}):"No input path found for bundle task. This is a Cloudpack bug. Please report it.",l&&(0,r.jsx)(P.ResultsAccordionContent,{itemName:"Output path",itemValue:(0,r.jsx)(k.Button,{variant:"link",onClick:()=>d(l),children:l})}),o.length>0&&(0,r.jsx)(P.ResultsAccordionContent,{title:"Errors",children:o.map(((n,e)=>(0,r.jsx)(w,{type:"error",item:n,inputPath:s,index:e},e)))}),a.length>0&&(0,r.jsx)(P.ResultsAccordionContent,{title:"Warnings",children:a.map(((n,e)=>(0,r.jsx)(w,{type:"warning",item:n,inputPath:s,index:e},e)))})]})})};var S=t(279),T=t(920);const _=({searchFilter:n,issuesOnly:e})=>{let t=((()=>{const n=(0,i.useCloudpack)(),[e,t]=(0,a.useState)({tasks:[]});return(0,a.useEffect)((()=>{const e=n?.onDataChanged.subscribe(S.taskListSource,{onData:n=>{t(n)}});return()=>{e.unsubscribe()}}),[n]),e})().tasks||[]).sort(I);return n&&(n=n.toLowerCase(),t=t.filter((({name:e})=>n&&e?.toLowerCase().includes(n)))),e&&(t=t.filter((({errors:n,warnings:e})=>n?.length||e?.length))),(0,r.jsx)("div",{class:T.default.root,children:t.map(((n,e)=>(0,r.jsx)(D,{index:e,task:n},n.name)))})};function I(n,e){const t="pending"===n.status?1:0,r="pending"===e.status?1:0;if(t!==r)return t>r?-1:1;const a=n.errors?.length||0,o=e.errors?.length||0;return a!==o?a>o?-1:1:void 0===n.name&&void 0===e.name?n.id<e.id?-1:1:void 0===n.name?1:void 0===e.name||n.name<e.name?-1:1}var z=t(475),F=t(533),O={};O.styleTagTransform=m(),O.setAttributes=g(),O.insert=p().bind(null,"head"),O.domAPI=u(),O.insertStyleElement=C(),c()(F.default,O);const N=F.default&&F.default.locals?F.default.locals:void 0,X=n=>{const{value:e,onInput:t,style:a}=n;return(0,r.jsx)("input",{type:"text","aria-label":"Search",placeholder:"Search",class:N.searchbox,style:a,onInput:t,value:e})};var M=t(116);const Q=({onClose:n})=>{const e=(0,i.useCloudpack)(),[t,o]=(0,a.useState)(""),[s,l]=(0,a.useState)(!1),c=(0,a.useCallback)((n=>{n.preventDefault(),o(n.target.value)}),[]);return(0,r.jsx)(z.Dialog,{title:"Cloudpack bundle results",id:M.elementIds.statusDialogRoot,draggable:!0,onClose:n,commands:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(k.Button,{variant:"primary",iconName:"refresh",onClick:()=>{e.restartAllTasks.mutate()},children:"Re-bundle all packages"}),(0,r.jsx)(k.Button,{onClick:()=>{l((n=>!n))},children:s?"Show all packages":"Show packages with issues"}),(0,r.jsx)(X,{value:t,onInput:c,style:{marginLeft:"auto"}})]}),children:(0,r.jsx)(_,{searchFilter:t,issuesOnly:s})})},K=Q},181:(n,e,t)=>{t.d(e,{default:()=>i});var r=t(25),a=t.n(r),o=t(191),s=t.n(o)()(a());s.push([n.id,".Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.RsdQpgzZbI9fI4mSfjJX.EcBSTvORlKqFlDbz3mr9 {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.NUKs26I_j0KAivvaQbz4 {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/TaskResultItem.module.css"],names:[],mappings:"AAAA;EACE,aAAa;EACb,oCAAoC;AACtC;;AAEA,gCAAgC;AAChC;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,+BAA+B;EAC/B,kDAAkD;AACpD;AACA;EACE,iCAAiC;EACjC,oDAAoD;AACtD;;AAEA,kCAAkC;AAClC;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA,+BAA+B;AAC/B;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA,2BAA2B;AAC3B;EACE,qBAAqB;EACrB,qBAAqB;EACrB,+BAA+B;EAC/B,mEAAmE;EACnE,kBAAkB;EAClB,sCAAsC;EACtC,gBAAgB;AAClB",sourcesContent:[".root {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.statusBar {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.statusBar.warning {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.content {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.titleArea {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.text {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n"],sourceRoot:""}]),s.locals={root:"Rl6XMfFcB4M4Sp5RJbh8",statusBar:"RsdQpgzZbI9fI4mSfjJX",warning:"EcBSTvORlKqFlDbz3mr9",content:"oaWQstIJN1TotKTOLcwX",titleArea:"NUKs26I_j0KAivvaQbz4",text:"qXRXiNO7j_FMkOf4b1Hi"};const i=s},533:(n,e,t)=>{t.d(e,{default:()=>i});var r=t(25),a=t.n(r),o=t(191),s=t.n(o)()(a());s.push([n.id,".VVonEYuUEQsjEgbwvMfP {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.VVonEYuUEQsjEgbwvMfP:focus-visible {\n outline: var(--cp-outline);\n}\n","",{version:3,sources:["webpack://./src/components/StatusDialog/Searchbox.module.css"],names:[],mappings:"AAAA;EACE,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,+BAA+B;EAC/B,uBAAuB;EACvB,kBAAkB;EAClB,gDAAgD;EAChD,kCAAkC;EAClC,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,0BAA0B;AAC5B",sourcesContent:[".searchbox {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.searchbox:focus-visible {\n outline: var(--cp-outline);\n}\n"],sourceRoot:""}]),s.locals={searchbox:"VVonEYuUEQsjEgbwvMfP"};const i=s}};
2
2
  //# sourceMappingURL=132.chunk.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"132.chunk.js","mappings":"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","sources":["webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css?58ec","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskStatus.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskList.tsx","webpack://@ms-cloudpack/overlay/./src/components/CloudpackProvider/useStatusDetails.ts","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.module.css?3e72","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/StatusDialog.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.module.css"],"sourcesContent":["\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./TaskResultItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./TaskResultItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import type { BundleMessage, BundleMessageLocation } from '@ms-cloudpack/common-types';\nimport type { FunctionComponent } from 'preact';\nimport cx from 'classnames';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport styles from './TaskResultItem.module.css';\nimport { Button } from '../Button/Button.js';\n\nexport interface TaskResultItemProps {\n item: BundleMessage;\n inputPath: string | undefined;\n /** 0-based index (will be adjusted for display) */\n index: number;\n type: 'error' | 'warning';\n}\n\n/**\n * Current and possible future bundler names, just to help with a friendlier error message\n * (we can't access the authoritative list from the bundler package here)\n */\nconst bundlerNames = ['ori', 'rollup', 'webpack', 'rspack', 'esbuild'];\n\n/**\n * Error or warning item in the details of a task/bundle result.\n */\nexport const TaskResultItem: FunctionComponent<TaskResultItemProps> = (props) => {\n const { item, inputPath, index, type } = props;\n const { location: loc, notes = [] } = item;\n\n // Update the message source to be more user-friendly. Usually it's either a bundler name,\n // or some internal of cloudpack, and since the user might not know about the different bundlers\n // and certainly doesn't know about cloudpack internals, a bit of context is helpful.\n const friendlySource = bundlerNames.includes(item.source) ? `${item.source} bundler` : `cloudpack ${item.source}`;\n\n return (\n <div class={styles.root}>\n <div class={cx(styles.statusBar, type === 'warning' && styles.warning)}></div>\n <div class={styles.content}>\n <div class={styles.titleArea}>\n {index + 1}. <ItemLocation loc={loc} inputPath={inputPath} /> (via: {friendlySource})\n </div>\n <pre class={styles.text}>{stripAnsi(item.text)}</pre>\n {notes.length > 0 && (\n // Formatting here might not be ideal, but messages very rarely have notes\n <details>\n <summary>Expand for more details</summary>\n <ul>\n {notes.map((note, i) => (\n <li key={i}>\n {note.location && (\n <>\n <ItemLocation loc={note.location} inputPath={inputPath} />\n <br />\n <pre class={styles.text}>{stripAnsi(note.text)}</pre>\n </>\n )}\n </li>\n ))}\n </ul>\n </details>\n )}\n </div>\n </div>\n );\n};\n\n/**\n * Remove ANSI codes from a string. (This is duplicated from `task-reporter` to avoid needing\n * browser support in that package, since the implementation is trivial.)\n */\nfunction stripAnsi(text: string): string {\n // eslint-disable-next-line no-control-regex -- supposed to match a control character\n return text.replace(/\\x1b\\[[\\d;]+(m|[AKB]\\b)/g, '');\n}\n\n/**\n * Return a link-button to open the source file, or a placeholder if the location is undefined.\n */\nconst ItemLocation: FunctionComponent<{ loc: BundleMessageLocation | undefined; inputPath: string | undefined }> = (\n props,\n) => {\n const { loc, inputPath } = props;\n const cloudpack = useCloudpack();\n\n if (!loc) {\n return '(path unavailable)';\n }\n\n const locationString = [loc.file, loc.line, loc.column].filter((val) => val !== undefined).join(':');\n if (!inputPath) {\n return locationString;\n }\n\n const openSource = (): void => {\n if (!inputPath) return;\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: loc.file,\n line: loc.line,\n column: loc.column,\n });\n };\n\n return (\n <Button variant=\"link\" onClick={openSource}>\n {locationString}\n </Button>\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\nimport { TaskResultItem } from './TaskResultItem.js';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\nimport {\n ResultsAccordion,\n ResultsAccordionContent,\n type ResultsAccordionProps,\n} from '../ResultsAccordion/ResultsAccordion.js';\n\nexport interface TaskStatusProps extends Pick<ResultsAccordionProps, 'index'> {\n task: TaskDescription;\n}\n\nfunction getCompletion(task: TaskDescription): string {\n if (task.status === 'pending') {\n return 'Running';\n }\n return [\n `Completed in ${task.durationMilliseconds}ms`,\n task.errors?.length && `${task.errors.length} error${task.errors.length > 1 ? 's' : ''}`,\n task.warnings?.length && `${task.warnings.length} warning${task.warnings.length > 1 ? 's' : ''}`,\n ]\n .filter(Boolean)\n .join(', ');\n}\n\n/**\n * Item (collapsible section) in the list of bundle task results in the StatusDialog.\n */\nexport const TaskStatus: FunctionComponent<TaskStatusProps> = (props) => {\n const { task } = props;\n const { name, warnings = [], errors = [], inputPath, outputPath } = task;\n const cloudpack = useCloudpack();\n\n const openPath = (rootPath: string) => void cloudpack.openFilePath.mutate({ rootPath });\n\n const openPackageJson = (): void => {\n if (!inputPath) return; // the button won't be shown in this case\n\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: 'package.json',\n });\n };\n\n const restartTask = (): void => {\n if (!inputPath) return;\n\n void cloudpack.restartTask.mutate({ id: task.id, inputPath });\n };\n\n // This callback prevents rendering thousands of bundle result details unnecessarily.\n // It could be further optimized with useMemo etc if it's an actual performance issue.\n const getContent = () => (\n <>\n {inputPath ? (\n <ResultsAccordionContent\n itemName=\"Input path\"\n itemValue={\n <>\n <Button variant=\"link\" onClick={() => openPath(inputPath)}>\n {inputPath}\n </Button>{' '}\n (\n <Button variant=\"link\" onClick={openPackageJson}>\n package.json\n </Button>\n )\n </>\n }\n />\n ) : (\n 'No input path found for bundle task. This is a Cloudpack bug. Please report it.'\n )}\n {outputPath && (\n <ResultsAccordionContent\n itemName=\"Output path\"\n itemValue={\n <Button variant=\"link\" onClick={() => openPath(outputPath)}>\n {outputPath}\n </Button>\n }\n />\n )}\n {errors.length > 0 && (\n <ResultsAccordionContent title=\"Errors\">\n {errors.map((item, index) => (\n <TaskResultItem type=\"error\" key={index} item={item} inputPath={inputPath} index={index} />\n ))}\n </ResultsAccordionContent>\n )}\n {warnings.length > 0 && (\n <ResultsAccordionContent title=\"Warnings\">\n {warnings.map((item, index) => (\n <TaskResultItem type=\"warning\" key={index} item={item} inputPath={inputPath} index={index} />\n ))}\n </ResultsAccordionContent>\n )}\n </>\n );\n\n return (\n <ResultsAccordion\n name={name || '<unknown>'}\n index={props.index}\n result={errors.length ? 'error' : warnings.length ? 'warning' : 'success'}\n headerEndContent={getCompletion(task)}\n headerCommands={\n <Button\n variant=\"iconOnly\"\n iconName=\"refresh\"\n onClick={restartTask}\n title=\"Re-bundle this package\"\n aria-label=\"Re-bundle this package\"\n />\n }\n getContent={getContent}\n />\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport { TaskStatus } from './TaskStatus.js';\nimport { useStatusDetails } from '../CloudpackProvider/useStatusDetails.js';\nimport styles from './TaskList.module.css';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\n\nexport interface TaskListProps {\n searchFilter?: string;\n issuesOnly?: boolean;\n}\n\nexport const TaskList: FunctionComponent<TaskListProps> = ({ searchFilter, issuesOnly }) => {\n const details = useStatusDetails();\n const tasks = (details.tasks || []).sort(sortTasks);\n\n let filteredTasks = tasks;\n if (searchFilter) {\n searchFilter = searchFilter.toLowerCase();\n filteredTasks = filteredTasks.filter(({ name }) => searchFilter && name?.toLowerCase().includes(searchFilter));\n }\n if (issuesOnly) {\n filteredTasks = filteredTasks.filter(({ errors, warnings }) => errors?.length || warnings?.length);\n }\n\n return (\n <div class={styles.root}>\n {filteredTasks.map((task, index) => (\n <TaskStatus key={task.name} index={index} task={task} />\n ))}\n </div>\n );\n};\n\n/**\n * Really the server should be sorting. Get stuff out of the browser.\n */\nfunction sortTasks(a: TaskDescription, b: TaskDescription): number {\n const aStatus = a.status === 'pending' ? 1 : 0;\n const bStatus = b.status === 'pending' ? 1 : 0;\n\n if (aStatus !== bStatus) {\n return aStatus > bStatus ? -1 : 1;\n }\n\n const aErrors = a.errors?.length || 0;\n const bErrors = b.errors?.length || 0;\n\n if (aErrors !== bErrors) {\n return aErrors > bErrors ? -1 : 1;\n }\n\n if (a.name === undefined && b.name === undefined) {\n return a.id < b.id ? -1 : 1;\n } else if (a.name === undefined) {\n return 1;\n } else if (b.name === undefined) {\n return -1;\n }\n\n return a.name < b.name ? -1 : 1;\n}\n","import { useEffect, useState } from 'preact/hooks';\nimport { useCloudpack } from './CloudpackProvider.js';\nimport { taskListSource, type TaskList } from '@ms-cloudpack/api-server/browser';\n\nexport const useStatusDetails = (): TaskList => {\n const cloudpack = useCloudpack();\n const [details, setDetails] = useState<TaskList>({ tasks: [] });\n\n useEffect(() => {\n const subscription = cloudpack?.onDataChanged.subscribe(taskListSource, {\n onData: (data) => {\n setDetails(data as TaskList);\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [cloudpack]);\n\n return details;\n};\n","\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./Searchbox.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./Searchbox.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import type { FunctionComponent } from 'preact';\nimport type { InputHTMLAttributes } from 'preact/compat';\nimport styles from './Searchbox.module.css';\n\nexport interface SearchboxProps\n extends Required<Pick<InputHTMLAttributes, 'onInput'>>,\n Pick<InputHTMLAttributes, 'style'> {\n value: string;\n}\n\nexport const Searchbox: FunctionComponent<SearchboxProps> = (props) => {\n const { value, onInput, style } = props;\n return (\n <input\n type=\"text\"\n aria-label=\"Search\"\n placeholder=\"Search\"\n class={styles.searchbox}\n style={style}\n onInput={onInput}\n value={value}\n />\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport { useCallback, useState } from 'preact/hooks';\nimport { TaskList } from './TaskList.js';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\nimport { Dialog } from '../Dialog/Dialog.js';\nimport { Searchbox, type SearchboxProps } from './Searchbox.js';\nimport { elementIds } from '../../constants.js';\n\nexport interface StatusDialogProps {\n onClose: () => void;\n}\n\nexport const StatusDialog: FunctionComponent<StatusDialogProps> = ({ onClose }) => {\n const cloudpack = useCloudpack();\n const [searchFilter, setSearchFilter] = useState('');\n const [issuesOnly, setIssuesOnly] = useState(false);\n\n const handleSearchChange = useCallback<SearchboxProps['onInput']>((event) => {\n event.preventDefault();\n setSearchFilter((event.target as HTMLInputElement).value);\n }, []);\n\n const restartAllTasks = () => void cloudpack.restartAllTasks.mutate();\n\n const toggleIssuesOnly = () => void setIssuesOnly((value) => !value);\n\n return (\n <Dialog\n title=\"Cloudpack bundle results\"\n id={elementIds.statusDialogRoot}\n draggable\n onClose={onClose}\n commands={\n <>\n <Button variant=\"primary\" iconName=\"refresh\" onClick={restartAllTasks}>\n Re-bundle all packages\n </Button>\n <Button onClick={toggleIssuesOnly}>{issuesOnly ? 'Show all packages' : 'Show packages with issues'}</Button>\n {/* Align the search box to the right */}\n <Searchbox value={searchFilter} onInput={handleSearchChange} style={{ marginLeft: 'auto' }} />\n </>\n }\n >\n <TaskList searchFilter={searchFilter} issuesOnly={issuesOnly} />\n </Dialog>\n );\n};\n\nexport default StatusDialog;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.RsdQpgzZbI9fI4mSfjJX.EcBSTvORlKqFlDbz3mr9 {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.NUKs26I_j0KAivvaQbz4 {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/TaskResultItem.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;EACb,oCAAoC;AACtC;;AAEA,gCAAgC;AAChC;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,+BAA+B;EAC/B,kDAAkD;AACpD;AACA;EACE,iCAAiC;EACjC,oDAAoD;AACtD;;AAEA,kCAAkC;AAClC;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA,+BAA+B;AAC/B;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA,2BAA2B;AAC3B;EACE,qBAAqB;EACrB,qBAAqB;EACrB,+BAA+B;EAC/B,mEAAmE;EACnE,kBAAkB;EAClB,sCAAsC;EACtC,gBAAgB;AAClB\",\"sourcesContent\":[\".root {\\n display: flex;\\n background: var(--cp-neutralLighter);\\n}\\n\\n/* left border color indicator */\\n.statusBar {\\n flex-shrink: 0;\\n border-radius: 4px;\\n width: 4px;\\n background: var(--cp-errorDark);\\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\\n}\\n.statusBar.warning {\\n background: var(--cp-warningDark);\\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\\n}\\n\\n/* everything but the status bar */\\n.content {\\n padding: 8px;\\n display: flex;\\n flex-grow: 1;\\n overflow: hidden;\\n flex-direction: column;\\n}\\n\\n/* file path and error source */\\n.titleArea {\\n padding: 4px 0;\\n font-weight: 500;\\n}\\n\\n/* pre with error details */\\n.text {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n color: var(--cp-neutralPrimary);\\n /* monospace fonts tend to have very tight line-height by default */\\n line-height: 1.5em;\\n /* they also tend to be rather large */\\n font-size: 0.9em;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": `Rl6XMfFcB4M4Sp5RJbh8`,\n\t\"statusBar\": `RsdQpgzZbI9fI4mSfjJX`,\n\t\"warning\": `EcBSTvORlKqFlDbz3mr9`,\n\t\"content\": `oaWQstIJN1TotKTOLcwX`,\n\t\"titleArea\": `NUKs26I_j0KAivvaQbz4`,\n\t\"text\": `qXRXiNO7j_FMkOf4b1Hi`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.VVonEYuUEQsjEgbwvMfP {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.VVonEYuUEQsjEgbwvMfP:focus-visible {\n outline: var(--cp-outline);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/Searchbox.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,+BAA+B;EAC/B,uBAAuB;EACvB,kBAAkB;EAClB,gDAAgD;EAChD,kCAAkC;EAClC,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,0BAA0B;AAC5B\",\"sourcesContent\":[\".searchbox {\\n font-size: 14px;\\n font-weight: 400;\\n box-shadow: none;\\n padding: 0px 8px;\\n box-sizing: border-box;\\n color: var(--cp-neutralPrimary);\\n background-color: white;\\n border-radius: 2px;\\n /* This should match the default button border */\\n border: 1px solid var(--cp-border);\\n height: 32px;\\n min-width: 160px;\\n}\\n.searchbox:focus-visible {\\n outline: var(--cp-outline);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"searchbox\": `VVonEYuUEQsjEgbwvMfP`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","bundlerNames","TaskResultItem","props","item","inputPath","index","type","location","loc","notes","friendlySource","includes","source","div","class","styles","root","cx","statusBar","warning","content","titleArea","ItemLocation","pre","text","stripAnsi","length","details","summary","ul","map","note","i","li","br","replace","cloudpack","useCloudpack","locationString","file","line","column","filter","val","join","Button","variant","onClick","openCodeEditor","mutate","rootPath","relativePath","getCompletion","task","status","durationMilliseconds","errors","warnings","Boolean","TaskStatus","name","outputPath","openPath","openFilePath","openPackageJson","ResultsAccordion","result","headerEndContent","headerCommands","iconName","restartTask","id","title","aria-label","getContent","ResultsAccordionContent","itemName","itemValue","TaskList","searchFilter","issuesOnly","filteredTasks","setDetails","useState","tasks","useEffect","subscription","onDataChanged","subscribe","taskListSource","onData","data","unsubscribe","useStatusDetails","sort","sortTasks","toLowerCase","a","b","aStatus","bStatus","aErrors","bErrors","Searchbox","value","onInput","style","input","placeholder","searchbox","StatusDialog","onClose","setSearchFilter","setIssuesOnly","handleSearchChange","useCallback","event","preventDefault","target","Dialog","elementIds","statusDialogRoot","draggable","commands","restartAllTasks","marginLeft","___CSS_LOADER_EXPORT___","push","module"],"sourceRoot":""}
1
+ {"version":3,"file":"132.chunk.js","mappings":"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","sources":["webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css?58ec","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskStatus.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskList.tsx","webpack://@ms-cloudpack/overlay/./src/components/CloudpackProvider/useStatusDetails.ts","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.module.css?3e72","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/StatusDialog.tsx","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/TaskResultItem.module.css","webpack://@ms-cloudpack/overlay/./src/components/StatusDialog/Searchbox.module.css"],"sourcesContent":["\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./TaskResultItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./TaskResultItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import type { BundleMessage, BundleMessageLocation } from '@ms-cloudpack/common-types';\nimport type { FunctionComponent } from 'preact';\nimport cx from 'classnames';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport styles from './TaskResultItem.module.css';\nimport { Button } from '../Button/Button.js';\n\nexport interface TaskResultItemProps {\n item: BundleMessage;\n inputPath: string | undefined;\n /** 0-based index (will be adjusted for display) */\n index: number;\n type: 'error' | 'warning';\n}\n\n/**\n * Current and possible future bundler names, just to help with a friendlier error message\n * (we can't access the authoritative list from the bundler package here)\n */\nconst bundlerNames = ['ori', 'rollup', 'webpack', 'rspack', 'esbuild'];\n\n/**\n * Error or warning item in the details of a task/bundle result.\n */\nexport const TaskResultItem: FunctionComponent<TaskResultItemProps> = (props) => {\n const { item, inputPath, index, type } = props;\n const { location: loc, notes = [] } = item;\n\n // Update the message source to be more user-friendly. Usually it's either a bundler name,\n // or some internal of cloudpack, and since the user might not know about the different bundlers\n // and certainly doesn't know about cloudpack internals, a bit of context is helpful.\n const friendlySource = bundlerNames.includes(item.source) ? `${item.source} bundler` : `cloudpack ${item.source}`;\n\n return (\n <div class={styles.root}>\n <div class={cx(styles.statusBar, type === 'warning' && styles.warning)}></div>\n <div class={styles.content}>\n <div class={styles.titleArea}>\n {index + 1}. <ItemLocation loc={loc} inputPath={inputPath} /> (via: {friendlySource})\n </div>\n <pre class={styles.text}>{stripAnsi(item.text)}</pre>\n {notes.length > 0 && (\n // Formatting here might not be ideal, but messages very rarely have notes\n <details>\n <summary>Expand for more details</summary>\n <ul>\n {notes.map((note, i) => (\n <li key={i}>\n {note.location && (\n <>\n <ItemLocation loc={note.location} inputPath={inputPath} />\n <br />\n </>\n )}\n {note.text && <pre class={styles.text}>{stripAnsi(note.text)}</pre>}\n </li>\n ))}\n </ul>\n </details>\n )}\n </div>\n </div>\n );\n};\n\n/**\n * Remove ANSI codes from a string. (This is duplicated from `task-reporter` to avoid needing\n * browser support in that package, since the implementation is trivial.)\n */\nfunction stripAnsi(text: string): string {\n // eslint-disable-next-line no-control-regex -- supposed to match a control character\n return text.replace(/\\x1b\\[[\\d;]+(m|[AKB]\\b)/g, '');\n}\n\n/**\n * Return a link-button to open the source file, or a placeholder if the location is undefined.\n */\nconst ItemLocation: FunctionComponent<{ loc: BundleMessageLocation | undefined; inputPath: string | undefined }> = (\n props,\n) => {\n const { loc, inputPath } = props;\n const cloudpack = useCloudpack();\n\n if (!loc) {\n return '(path unavailable)';\n }\n\n const locationString = [loc.file, loc.line, loc.column].filter((val) => val !== undefined).join(':');\n // Don't make it clickable if we don't know the root path, or if the file path contains\n // webpack loader stuff. A real example:\n // ../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[5].oneOf[0].use[1]!../../node_modules/.store/sass-loader-virtual-65ccb5bf2d/package/dist/cjs.js!./src/cssTest/example4.global.scss\n if (!inputPath || /[?!]/.test(locationString)) {\n return locationString;\n }\n\n const openSource = (): void => {\n if (!inputPath) return;\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: loc.file,\n line: loc.line,\n column: loc.column,\n });\n };\n\n return (\n <Button variant=\"link\" onClick={openSource}>\n {locationString}\n </Button>\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\nimport { TaskResultItem } from './TaskResultItem.js';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\nimport {\n ResultsAccordion,\n ResultsAccordionContent,\n type ResultsAccordionProps,\n} from '../ResultsAccordion/ResultsAccordion.js';\n\nexport interface TaskStatusProps extends Pick<ResultsAccordionProps, 'index'> {\n task: TaskDescription;\n}\n\nfunction getCompletion(task: TaskDescription): string {\n if (task.status === 'pending') {\n return 'Running';\n }\n return [\n `Completed in ${task.durationMilliseconds}ms`,\n task.errors?.length && `${task.errors.length} error${task.errors.length > 1 ? 's' : ''}`,\n task.warnings?.length && `${task.warnings.length} warning${task.warnings.length > 1 ? 's' : ''}`,\n ]\n .filter(Boolean)\n .join(', ');\n}\n\n/**\n * Item (collapsible section) in the list of bundle task results in the StatusDialog.\n */\nexport const TaskStatus: FunctionComponent<TaskStatusProps> = (props) => {\n const { task } = props;\n const { name, warnings = [], errors = [], inputPath, outputPath } = task;\n const cloudpack = useCloudpack();\n\n const openPath = (rootPath: string) => void cloudpack.openFilePath.mutate({ rootPath });\n\n const openPackageJson = (): void => {\n if (!inputPath) return; // the button won't be shown in this case\n\n void cloudpack.openCodeEditor.mutate({\n rootPath: inputPath,\n relativePath: 'package.json',\n });\n };\n\n const restartTask = (): void => {\n if (!inputPath) return;\n\n void cloudpack.restartTask.mutate({ id: task.id, inputPath });\n };\n\n // This callback prevents rendering thousands of bundle result details unnecessarily.\n // It could be further optimized with useMemo etc if it's an actual performance issue.\n const getContent = () => (\n <>\n {inputPath ? (\n <ResultsAccordionContent\n itemName=\"Input path\"\n itemValue={\n <>\n <Button variant=\"link\" onClick={() => openPath(inputPath)}>\n {inputPath}\n </Button>{' '}\n (\n <Button variant=\"link\" onClick={openPackageJson}>\n package.json\n </Button>\n )\n </>\n }\n />\n ) : (\n 'No input path found for bundle task. This is a Cloudpack bug. Please report it.'\n )}\n {outputPath && (\n <ResultsAccordionContent\n itemName=\"Output path\"\n itemValue={\n <Button variant=\"link\" onClick={() => openPath(outputPath)}>\n {outputPath}\n </Button>\n }\n />\n )}\n {errors.length > 0 && (\n <ResultsAccordionContent title=\"Errors\">\n {errors.map((item, index) => (\n <TaskResultItem type=\"error\" key={index} item={item} inputPath={inputPath} index={index} />\n ))}\n </ResultsAccordionContent>\n )}\n {warnings.length > 0 && (\n <ResultsAccordionContent title=\"Warnings\">\n {warnings.map((item, index) => (\n <TaskResultItem type=\"warning\" key={index} item={item} inputPath={inputPath} index={index} />\n ))}\n </ResultsAccordionContent>\n )}\n </>\n );\n\n return (\n <ResultsAccordion\n name={name || '<unknown>'}\n index={props.index}\n result={errors.length ? 'error' : warnings.length ? 'warning' : 'success'}\n headerEndContent={getCompletion(task)}\n headerCommands={\n <Button\n variant=\"iconOnly\"\n iconName=\"refresh\"\n onClick={restartTask}\n title=\"Re-bundle this package\"\n aria-label=\"Re-bundle this package\"\n />\n }\n getContent={getContent}\n />\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport { TaskStatus } from './TaskStatus.js';\nimport { useStatusDetails } from '../CloudpackProvider/useStatusDetails.js';\nimport styles from './TaskList.module.css';\nimport type { TaskDescription } from '@ms-cloudpack/api-server/browser';\n\nexport interface TaskListProps {\n searchFilter?: string;\n issuesOnly?: boolean;\n}\n\nexport const TaskList: FunctionComponent<TaskListProps> = ({ searchFilter, issuesOnly }) => {\n const details = useStatusDetails();\n const tasks = (details.tasks || []).sort(sortTasks);\n\n let filteredTasks = tasks;\n if (searchFilter) {\n searchFilter = searchFilter.toLowerCase();\n filteredTasks = filteredTasks.filter(({ name }) => searchFilter && name?.toLowerCase().includes(searchFilter));\n }\n if (issuesOnly) {\n filteredTasks = filteredTasks.filter(({ errors, warnings }) => errors?.length || warnings?.length);\n }\n\n return (\n <div class={styles.root}>\n {filteredTasks.map((task, index) => (\n <TaskStatus key={task.name} index={index} task={task} />\n ))}\n </div>\n );\n};\n\n/**\n * Really the server should be sorting. Get stuff out of the browser.\n */\nfunction sortTasks(a: TaskDescription, b: TaskDescription): number {\n const aStatus = a.status === 'pending' ? 1 : 0;\n const bStatus = b.status === 'pending' ? 1 : 0;\n\n if (aStatus !== bStatus) {\n return aStatus > bStatus ? -1 : 1;\n }\n\n const aErrors = a.errors?.length || 0;\n const bErrors = b.errors?.length || 0;\n\n if (aErrors !== bErrors) {\n return aErrors > bErrors ? -1 : 1;\n }\n\n if (a.name === undefined && b.name === undefined) {\n return a.id < b.id ? -1 : 1;\n } else if (a.name === undefined) {\n return 1;\n } else if (b.name === undefined) {\n return -1;\n }\n\n return a.name < b.name ? -1 : 1;\n}\n","import { useEffect, useState } from 'preact/hooks';\nimport { useCloudpack } from './CloudpackProvider.js';\nimport { taskListSource, type TaskList } from '@ms-cloudpack/api-server/browser';\n\nexport const useStatusDetails = (): TaskList => {\n const cloudpack = useCloudpack();\n const [details, setDetails] = useState<TaskList>({ tasks: [] });\n\n useEffect(() => {\n const subscription = cloudpack?.onDataChanged.subscribe(taskListSource, {\n onData: (data) => {\n setDetails(data as TaskList);\n },\n });\n\n return () => {\n subscription.unsubscribe();\n };\n }, [cloudpack]);\n\n return details;\n};\n","\n import API from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/.store/style-loader-virtual-bd73274477/package/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./Searchbox.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/cjs.js??ruleSet[1].rules[0].oneOf[1].use[1]!./Searchbox.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import type { FunctionComponent } from 'preact';\nimport type { InputHTMLAttributes } from 'preact/compat';\nimport styles from './Searchbox.module.css';\n\nexport interface SearchboxProps\n extends Required<Pick<InputHTMLAttributes, 'onInput'>>,\n Pick<InputHTMLAttributes, 'style'> {\n value: string;\n}\n\nexport const Searchbox: FunctionComponent<SearchboxProps> = (props) => {\n const { value, onInput, style } = props;\n return (\n <input\n type=\"text\"\n aria-label=\"Search\"\n placeholder=\"Search\"\n class={styles.searchbox}\n style={style}\n onInput={onInput}\n value={value}\n />\n );\n};\n","import type { FunctionComponent } from 'preact';\nimport { useCallback, useState } from 'preact/hooks';\nimport { TaskList } from './TaskList.js';\nimport { useCloudpack } from '../CloudpackProvider/CloudpackProvider.js';\nimport { Button } from '../Button/Button.js';\nimport { Dialog } from '../Dialog/Dialog.js';\nimport { Searchbox, type SearchboxProps } from './Searchbox.js';\nimport { elementIds } from '../../constants.js';\n\nexport interface StatusDialogProps {\n onClose: () => void;\n}\n\nexport const StatusDialog: FunctionComponent<StatusDialogProps> = ({ onClose }) => {\n const cloudpack = useCloudpack();\n const [searchFilter, setSearchFilter] = useState('');\n const [issuesOnly, setIssuesOnly] = useState(false);\n\n const handleSearchChange = useCallback<SearchboxProps['onInput']>((event) => {\n event.preventDefault();\n setSearchFilter((event.target as HTMLInputElement).value);\n }, []);\n\n const restartAllTasks = () => void cloudpack.restartAllTasks.mutate();\n\n const toggleIssuesOnly = () => void setIssuesOnly((value) => !value);\n\n return (\n <Dialog\n title=\"Cloudpack bundle results\"\n id={elementIds.statusDialogRoot}\n draggable\n onClose={onClose}\n commands={\n <>\n <Button variant=\"primary\" iconName=\"refresh\" onClick={restartAllTasks}>\n Re-bundle all packages\n </Button>\n <Button onClick={toggleIssuesOnly}>{issuesOnly ? 'Show all packages' : 'Show packages with issues'}</Button>\n {/* Align the search box to the right */}\n <Searchbox value={searchFilter} onInput={handleSearchChange} style={{ marginLeft: 'auto' }} />\n </>\n }\n >\n <TaskList searchFilter={searchFilter} issuesOnly={issuesOnly} />\n </Dialog>\n );\n};\n\nexport default StatusDialog;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.Rl6XMfFcB4M4Sp5RJbh8 {\n display: flex;\n background: var(--cp-neutralLighter);\n}\n\n/* left border color indicator */\n.RsdQpgzZbI9fI4mSfjJX {\n flex-shrink: 0;\n border-radius: 4px;\n width: 4px;\n background: var(--cp-errorDark);\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\n}\n.RsdQpgzZbI9fI4mSfjJX.EcBSTvORlKqFlDbz3mr9 {\n background: var(--cp-warningDark);\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\n}\n\n/* everything but the status bar */\n.oaWQstIJN1TotKTOLcwX {\n padding: 8px;\n display: flex;\n flex-grow: 1;\n overflow: hidden;\n flex-direction: column;\n}\n\n/* file path and error source */\n.NUKs26I_j0KAivvaQbz4 {\n padding: 4px 0;\n font-weight: 500;\n}\n\n/* pre with error details */\n.qXRXiNO7j_FMkOf4b1Hi {\n word-wrap: break-word;\n white-space: pre-wrap;\n color: var(--cp-neutralPrimary);\n /* monospace fonts tend to have very tight line-height by default */\n line-height: 1.5em;\n /* they also tend to be rather large */\n font-size: 0.9em;\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/TaskResultItem.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,aAAa;EACb,oCAAoC;AACtC;;AAEA,gCAAgC;AAChC;EACE,cAAc;EACd,kBAAkB;EAClB,UAAU;EACV,+BAA+B;EAC/B,kDAAkD;AACpD;AACA;EACE,iCAAiC;EACjC,oDAAoD;AACtD;;AAEA,kCAAkC;AAClC;EACE,YAAY;EACZ,aAAa;EACb,YAAY;EACZ,gBAAgB;EAChB,sBAAsB;AACxB;;AAEA,+BAA+B;AAC/B;EACE,cAAc;EACd,gBAAgB;AAClB;;AAEA,2BAA2B;AAC3B;EACE,qBAAqB;EACrB,qBAAqB;EACrB,+BAA+B;EAC/B,mEAAmE;EACnE,kBAAkB;EAClB,sCAAsC;EACtC,gBAAgB;AAClB\",\"sourcesContent\":[\".root {\\n display: flex;\\n background: var(--cp-neutralLighter);\\n}\\n\\n/* left border color indicator */\\n.statusBar {\\n flex-shrink: 0;\\n border-radius: 4px;\\n width: 4px;\\n background: var(--cp-errorDark);\\n box-shadow: 2px 0 4px 0 var(--cp-errorTransparent);\\n}\\n.statusBar.warning {\\n background: var(--cp-warningDark);\\n box-shadow: 2px 0 4px 0 var(--cp-warningTransparent);\\n}\\n\\n/* everything but the status bar */\\n.content {\\n padding: 8px;\\n display: flex;\\n flex-grow: 1;\\n overflow: hidden;\\n flex-direction: column;\\n}\\n\\n/* file path and error source */\\n.titleArea {\\n padding: 4px 0;\\n font-weight: 500;\\n}\\n\\n/* pre with error details */\\n.text {\\n word-wrap: break-word;\\n white-space: pre-wrap;\\n color: var(--cp-neutralPrimary);\\n /* monospace fonts tend to have very tight line-height by default */\\n line-height: 1.5em;\\n /* they also tend to be rather large */\\n font-size: 0.9em;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"root\": `Rl6XMfFcB4M4Sp5RJbh8`,\n\t\"statusBar\": `RsdQpgzZbI9fI4mSfjJX`,\n\t\"warning\": `EcBSTvORlKqFlDbz3mr9`,\n\t\"content\": `oaWQstIJN1TotKTOLcwX`,\n\t\"titleArea\": `NUKs26I_j0KAivvaQbz4`,\n\t\"text\": `qXRXiNO7j_FMkOf4b1Hi`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/.store/css-loader-virtual-bfb2cc7933/package/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.VVonEYuUEQsjEgbwvMfP {\n font-size: 14px;\n font-weight: 400;\n box-shadow: none;\n padding: 0px 8px;\n box-sizing: border-box;\n color: var(--cp-neutralPrimary);\n background-color: white;\n border-radius: 2px;\n /* This should match the default button border */\n border: 1px solid var(--cp-border);\n height: 32px;\n min-width: 160px;\n}\n.VVonEYuUEQsjEgbwvMfP:focus-visible {\n outline: var(--cp-outline);\n}\n`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/StatusDialog/Searchbox.module.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,eAAe;EACf,gBAAgB;EAChB,gBAAgB;EAChB,gBAAgB;EAChB,sBAAsB;EACtB,+BAA+B;EAC/B,uBAAuB;EACvB,kBAAkB;EAClB,gDAAgD;EAChD,kCAAkC;EAClC,YAAY;EACZ,gBAAgB;AAClB;AACA;EACE,0BAA0B;AAC5B\",\"sourcesContent\":[\".searchbox {\\n font-size: 14px;\\n font-weight: 400;\\n box-shadow: none;\\n padding: 0px 8px;\\n box-sizing: border-box;\\n color: var(--cp-neutralPrimary);\\n background-color: white;\\n border-radius: 2px;\\n /* This should match the default button border */\\n border: 1px solid var(--cp-border);\\n height: 32px;\\n min-width: 160px;\\n}\\n.searchbox:focus-visible {\\n outline: var(--cp-outline);\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"searchbox\": `VVonEYuUEQsjEgbwvMfP`\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","undefined","bundlerNames","TaskResultItem","props","item","inputPath","index","type","location","loc","notes","friendlySource","includes","source","div","class","styles","root","cx","statusBar","warning","content","titleArea","ItemLocation","pre","text","stripAnsi","length","details","summary","ul","map","note","i","li","br","replace","cloudpack","useCloudpack","locationString","file","line","column","filter","val","join","test","Button","variant","onClick","openCodeEditor","mutate","rootPath","relativePath","getCompletion","task","status","durationMilliseconds","errors","warnings","Boolean","TaskStatus","name","outputPath","openPath","openFilePath","openPackageJson","ResultsAccordion","result","headerEndContent","headerCommands","iconName","restartTask","id","title","aria-label","getContent","ResultsAccordionContent","itemName","itemValue","TaskList","searchFilter","issuesOnly","filteredTasks","setDetails","useState","tasks","useEffect","subscription","onDataChanged","subscribe","taskListSource","onData","data","unsubscribe","useStatusDetails","sort","sortTasks","toLowerCase","a","b","aStatus","bStatus","aErrors","bErrors","Searchbox","value","onInput","style","input","placeholder","searchbox","StatusDialog","onClose","setSearchFilter","setIssuesOnly","handleSearchChange","useCallback","event","preventDefault","target","Dialog","elementIds","statusDialogRoot","draggable","commands","restartAllTasks","marginLeft","___CSS_LOADER_EXPORT___","push","module"],"sourceRoot":""}